summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-15 04:37:38 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-15 04:37:38 +0000
commitcc71da3acfeb2d6d5604237283d5490a70f6a585 (patch)
tree712f39f7131fdf04e9f0ab37f3e0329f9ae971db
parent8f8daaf9af9174a19604ce0a4715e86755cc2f8a (diff)
automatic import of python-jmetalpy
-rw-r--r--.gitignore1
-rw-r--r--python-jmetalpy.spec485
-rw-r--r--sources1
3 files changed, 487 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..fd2ecde 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/jmetalpy-1.6.0.tar.gz
diff --git a/python-jmetalpy.spec b/python-jmetalpy.spec
new file mode 100644
index 0000000..1b6390a
--- /dev/null
+++ b/python-jmetalpy.spec
@@ -0,0 +1,485 @@
+%global _empty_manifest_terminate_build 0
+Name: python-jmetalpy
+Version: 1.6.0
+Release: 1
+Summary: Python version of the jMetal framework
+License: MIT
+URL: https://github.com/jMetal/jMetalPy
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/b7/29/ab3d41a6c5318ba8a438ad301e463ca1faa381c39f5c53871c86d3dfc504/jmetalpy-1.6.0.tar.gz
+BuildArch: noarch
+
+Requires: python3-tqdm
+Requires: python3-numpy
+Requires: python3-pandas
+Requires: python3-plotly
+Requires: python3-matplotlib
+Requires: python3-scipy
+Requires: python3-statsmodels
+Requires: python3-dask[complete]
+Requires: python3-distributed
+Requires: python3-pyspark
+Requires: python3-isort
+Requires: python3-black
+Requires: python3-mypy
+Requires: python3-mockito
+Requires: python3-PyHamcrest
+Requires: python3-isort
+Requires: python3-black
+Requires: python3-mypy
+Requires: python3-dask[complete]
+Requires: python3-distributed
+Requires: python3-pyspark
+Requires: python3-mockito
+Requires: python3-PyHamcrest
+
+%description
+![jMetalPy](docs/source/jmetalpy.png)
+
+[![CI](https://github.com/jMetal/jMetalPy/actions/workflows/ci.yml/badge.svg)](https://github.com/jMetal/jMetalPy/actions/workflows/ci.yml)
+[![PyPI Python version](https://img.shields.io/pypi/pyversions/jMetalPy.svg)]()
+[![DOI](https://img.shields.io/badge/DOI-10.1016%2Fj.swevo.2019.100598-blue)](https://doi.org/10.1016/j.swevo.2019.100598)
+[![PyPI License](https://img.shields.io/pypi/l/jMetalPy.svg)]()
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
+
+A paper introducing jMetalPy is available at: https://doi.org/10.1016/j.swevo.2019.100598
+
+### Table of Contents
+- [Installation](#installation)
+- [Usage](#hello-world-)
+- [Features](#features)
+- [Changelog](#changelog)
+- [License](#license)
+
+## Installation
+
+You can install the latest version of jMetalPy with `pip`,
+
+```console
+pip install jmetalpy # or "jmetalpy[distributed]"
+```
+
+<details><summary><b>Notes on installing with <tt>pip</tt></b></summary>
+<p>
+
+jMetalPy includes features for parallel and distributed computing based on [pySpark](https://spark.apache.org/docs/latest/api/python/index.html) and [Dask](https://dask.org/).
+
+These (extra) dependencies are *not* automatically installed when running `pip`, which only comprises the core functionality of the framework (enough for most users):
+
+```console
+pip install jmetalpy
+```
+
+This is the equivalent of running:
+
+```console
+pip install "jmetalpy[core]"
+```
+
+Other supported commands are listed next:
+
+```console
+pip install "jmetalpy[dev]" # Install requirements for development
+pip install "jmetalpy[distributed]" # Install requirements for parallel/distributed computing
+pip install "jmetalpy[complete]" # Install all requirements
+```
+
+</p>
+</details>
+
+## Hello, world! 👋
+
+Examples of configuring and running all the included algorithms are located [in the documentation](https://jmetal.github.io/jMetalPy/multiobjective.algorithms.html).
+
+```python
+from jmetal.algorithm.multiobjective import NSGAII
+from jmetal.operator import SBXCrossover, PolynomialMutation
+from jmetal.problem import ZDT1
+from jmetal.util.termination_criterion import StoppingByEvaluations
+
+problem = ZDT1()
+
+algorithm = NSGAII(
+ problem=problem,
+ population_size=100,
+ offspring_population_size=100,
+ mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables, distribution_index=20),
+ crossover=SBXCrossover(probability=1.0, distribution_index=20),
+ termination_criterion=StoppingByEvaluations(max_evaluations=25000)
+)
+
+algorithm.run()
+```
+
+We can then proceed to explore the results:
+
+```python
+from jmetal.util.solution import get_non_dominated_solutions, print_function_values_to_file, \
+ print_variables_to_file
+
+front = get_non_dominated_solutions(algorithm.get_result())
+
+# save to files
+print_function_values_to_file(front, 'FUN.NSGAII.ZDT1')
+print_variables_to_file(front, 'VAR.NSGAII.ZDT1')
+```
+
+Or visualize the Pareto front approximation produced by the algorithm:
+
+```python
+from jmetal.lab.visualization import Plot
+
+plot_front = Plot(title='Pareto front approximation', axis_labels=['x', 'y'])
+plot_front.plot(front, label='NSGAII-ZDT1', filename='NSGAII-ZDT1', format='png')
+```
+
+<img src=docs/source/_static/NSGAII-ZDT1.png width=450 alt="Pareto front approximation">
+
+## Features
+The current release of jMetalPy (v1.5.7) contains the following components:
+
+* Algorithms: local search, genetic algorithm, evolution strategy, simulated annealing, random search, NSGA-II, NSGA-III, SMPSO, OMOPSO, MOEA/D, MOEA/D-DRA, MOEA/D-IEpsilon, GDE3, SPEA2, HYPE, IBEA. Preference articulation-based algorithms (G-NSGA-II, G-GDE3, G-SPEA2, SMPSO/RP); Dynamic versions of NSGA-II, SMPSO, and GDE3.
+* Parallel computing based on Apache Spark and Dask.
+* Benchmark problems: ZDT1-6, DTLZ1-2, FDA, LZ09, LIR-CMOP, unconstrained (Kursawe, Fonseca, Schaffer, Viennet2), constrained (Srinivas, Tanaka).
+* Encodings: real, binary, permutations.
+* Operators: selection (binary tournament, ranking and crowding distance, random, nary random, best solution), crossover (single-point, SBX), mutation (bit-blip, polynomial, uniform, random).
+* Quality indicators: hypervolume, additive epsilon, GD, IGD.
+* Pareto front approximation plotting in real-time, static or interactive.
+* Experiment class for performing studies either alone or alongside [jMetal](https://github.com/jMetal/jMetal).
+* Pairwise and multiple hypothesis testing for statistical analysis, including several frequentist and Bayesian testing methods, critical distance plots and posterior diagrams.
+
+| ![Scatter plot 2D](docs/source/_static/2D.gif) | ![Scatter plot 3D](docs/source/_static/3D.gif) |
+|-------------- | ---------------- |
+| ![Parallel coordinates](docs/source/_static/p-c.gif) | ![Interactive chord plot](docs/source/_static/chordplot.gif) |
+
+## Changelog
+
+* [v1.6.0] Refactor class Problem, the single-objective genetic algorithm can solve constrained problems, performance improvements in NSGA-II, generation of Latex tables summarizing the results of the Wilcoxon rank sum test, added a notebook folder with examples.
+* [v1.5.7] Use of linters for catching errors and formatters to fix style, minor bug fixes.
+* [v1.5.6] Removed warnings when using Python 3.8.
+* [v1.5.5] Minor bug fixes.
+* [v1.5.4] Refactored quality indicators to accept numpy array as input parameter.
+* [v1.5.4] Added [CompositeSolution](https://github.com/jMetal/jMetalPy/blob/master/jmetal/core/solution.py#L111) class to support mixed combinatorial problems. [#69](https://github.com/jMetal/jMetalPy/issues/69)
+
+## License
+
+This project is licensed under the terms of the MIT - see the [LICENSE](LICENSE) file for details.
+
+
+%package -n python3-jmetalpy
+Summary: Python version of the jMetal framework
+Provides: python-jmetalpy
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-jmetalpy
+![jMetalPy](docs/source/jmetalpy.png)
+
+[![CI](https://github.com/jMetal/jMetalPy/actions/workflows/ci.yml/badge.svg)](https://github.com/jMetal/jMetalPy/actions/workflows/ci.yml)
+[![PyPI Python version](https://img.shields.io/pypi/pyversions/jMetalPy.svg)]()
+[![DOI](https://img.shields.io/badge/DOI-10.1016%2Fj.swevo.2019.100598-blue)](https://doi.org/10.1016/j.swevo.2019.100598)
+[![PyPI License](https://img.shields.io/pypi/l/jMetalPy.svg)]()
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
+
+A paper introducing jMetalPy is available at: https://doi.org/10.1016/j.swevo.2019.100598
+
+### Table of Contents
+- [Installation](#installation)
+- [Usage](#hello-world-)
+- [Features](#features)
+- [Changelog](#changelog)
+- [License](#license)
+
+## Installation
+
+You can install the latest version of jMetalPy with `pip`,
+
+```console
+pip install jmetalpy # or "jmetalpy[distributed]"
+```
+
+<details><summary><b>Notes on installing with <tt>pip</tt></b></summary>
+<p>
+
+jMetalPy includes features for parallel and distributed computing based on [pySpark](https://spark.apache.org/docs/latest/api/python/index.html) and [Dask](https://dask.org/).
+
+These (extra) dependencies are *not* automatically installed when running `pip`, which only comprises the core functionality of the framework (enough for most users):
+
+```console
+pip install jmetalpy
+```
+
+This is the equivalent of running:
+
+```console
+pip install "jmetalpy[core]"
+```
+
+Other supported commands are listed next:
+
+```console
+pip install "jmetalpy[dev]" # Install requirements for development
+pip install "jmetalpy[distributed]" # Install requirements for parallel/distributed computing
+pip install "jmetalpy[complete]" # Install all requirements
+```
+
+</p>
+</details>
+
+## Hello, world! 👋
+
+Examples of configuring and running all the included algorithms are located [in the documentation](https://jmetal.github.io/jMetalPy/multiobjective.algorithms.html).
+
+```python
+from jmetal.algorithm.multiobjective import NSGAII
+from jmetal.operator import SBXCrossover, PolynomialMutation
+from jmetal.problem import ZDT1
+from jmetal.util.termination_criterion import StoppingByEvaluations
+
+problem = ZDT1()
+
+algorithm = NSGAII(
+ problem=problem,
+ population_size=100,
+ offspring_population_size=100,
+ mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables, distribution_index=20),
+ crossover=SBXCrossover(probability=1.0, distribution_index=20),
+ termination_criterion=StoppingByEvaluations(max_evaluations=25000)
+)
+
+algorithm.run()
+```
+
+We can then proceed to explore the results:
+
+```python
+from jmetal.util.solution import get_non_dominated_solutions, print_function_values_to_file, \
+ print_variables_to_file
+
+front = get_non_dominated_solutions(algorithm.get_result())
+
+# save to files
+print_function_values_to_file(front, 'FUN.NSGAII.ZDT1')
+print_variables_to_file(front, 'VAR.NSGAII.ZDT1')
+```
+
+Or visualize the Pareto front approximation produced by the algorithm:
+
+```python
+from jmetal.lab.visualization import Plot
+
+plot_front = Plot(title='Pareto front approximation', axis_labels=['x', 'y'])
+plot_front.plot(front, label='NSGAII-ZDT1', filename='NSGAII-ZDT1', format='png')
+```
+
+<img src=docs/source/_static/NSGAII-ZDT1.png width=450 alt="Pareto front approximation">
+
+## Features
+The current release of jMetalPy (v1.5.7) contains the following components:
+
+* Algorithms: local search, genetic algorithm, evolution strategy, simulated annealing, random search, NSGA-II, NSGA-III, SMPSO, OMOPSO, MOEA/D, MOEA/D-DRA, MOEA/D-IEpsilon, GDE3, SPEA2, HYPE, IBEA. Preference articulation-based algorithms (G-NSGA-II, G-GDE3, G-SPEA2, SMPSO/RP); Dynamic versions of NSGA-II, SMPSO, and GDE3.
+* Parallel computing based on Apache Spark and Dask.
+* Benchmark problems: ZDT1-6, DTLZ1-2, FDA, LZ09, LIR-CMOP, unconstrained (Kursawe, Fonseca, Schaffer, Viennet2), constrained (Srinivas, Tanaka).
+* Encodings: real, binary, permutations.
+* Operators: selection (binary tournament, ranking and crowding distance, random, nary random, best solution), crossover (single-point, SBX), mutation (bit-blip, polynomial, uniform, random).
+* Quality indicators: hypervolume, additive epsilon, GD, IGD.
+* Pareto front approximation plotting in real-time, static or interactive.
+* Experiment class for performing studies either alone or alongside [jMetal](https://github.com/jMetal/jMetal).
+* Pairwise and multiple hypothesis testing for statistical analysis, including several frequentist and Bayesian testing methods, critical distance plots and posterior diagrams.
+
+| ![Scatter plot 2D](docs/source/_static/2D.gif) | ![Scatter plot 3D](docs/source/_static/3D.gif) |
+|-------------- | ---------------- |
+| ![Parallel coordinates](docs/source/_static/p-c.gif) | ![Interactive chord plot](docs/source/_static/chordplot.gif) |
+
+## Changelog
+
+* [v1.6.0] Refactor class Problem, the single-objective genetic algorithm can solve constrained problems, performance improvements in NSGA-II, generation of Latex tables summarizing the results of the Wilcoxon rank sum test, added a notebook folder with examples.
+* [v1.5.7] Use of linters for catching errors and formatters to fix style, minor bug fixes.
+* [v1.5.6] Removed warnings when using Python 3.8.
+* [v1.5.5] Minor bug fixes.
+* [v1.5.4] Refactored quality indicators to accept numpy array as input parameter.
+* [v1.5.4] Added [CompositeSolution](https://github.com/jMetal/jMetalPy/blob/master/jmetal/core/solution.py#L111) class to support mixed combinatorial problems. [#69](https://github.com/jMetal/jMetalPy/issues/69)
+
+## License
+
+This project is licensed under the terms of the MIT - see the [LICENSE](LICENSE) file for details.
+
+
+%package help
+Summary: Development documents and examples for jmetalpy
+Provides: python3-jmetalpy-doc
+%description help
+![jMetalPy](docs/source/jmetalpy.png)
+
+[![CI](https://github.com/jMetal/jMetalPy/actions/workflows/ci.yml/badge.svg)](https://github.com/jMetal/jMetalPy/actions/workflows/ci.yml)
+[![PyPI Python version](https://img.shields.io/pypi/pyversions/jMetalPy.svg)]()
+[![DOI](https://img.shields.io/badge/DOI-10.1016%2Fj.swevo.2019.100598-blue)](https://doi.org/10.1016/j.swevo.2019.100598)
+[![PyPI License](https://img.shields.io/pypi/l/jMetalPy.svg)]()
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
+
+A paper introducing jMetalPy is available at: https://doi.org/10.1016/j.swevo.2019.100598
+
+### Table of Contents
+- [Installation](#installation)
+- [Usage](#hello-world-)
+- [Features](#features)
+- [Changelog](#changelog)
+- [License](#license)
+
+## Installation
+
+You can install the latest version of jMetalPy with `pip`,
+
+```console
+pip install jmetalpy # or "jmetalpy[distributed]"
+```
+
+<details><summary><b>Notes on installing with <tt>pip</tt></b></summary>
+<p>
+
+jMetalPy includes features for parallel and distributed computing based on [pySpark](https://spark.apache.org/docs/latest/api/python/index.html) and [Dask](https://dask.org/).
+
+These (extra) dependencies are *not* automatically installed when running `pip`, which only comprises the core functionality of the framework (enough for most users):
+
+```console
+pip install jmetalpy
+```
+
+This is the equivalent of running:
+
+```console
+pip install "jmetalpy[core]"
+```
+
+Other supported commands are listed next:
+
+```console
+pip install "jmetalpy[dev]" # Install requirements for development
+pip install "jmetalpy[distributed]" # Install requirements for parallel/distributed computing
+pip install "jmetalpy[complete]" # Install all requirements
+```
+
+</p>
+</details>
+
+## Hello, world! 👋
+
+Examples of configuring and running all the included algorithms are located [in the documentation](https://jmetal.github.io/jMetalPy/multiobjective.algorithms.html).
+
+```python
+from jmetal.algorithm.multiobjective import NSGAII
+from jmetal.operator import SBXCrossover, PolynomialMutation
+from jmetal.problem import ZDT1
+from jmetal.util.termination_criterion import StoppingByEvaluations
+
+problem = ZDT1()
+
+algorithm = NSGAII(
+ problem=problem,
+ population_size=100,
+ offspring_population_size=100,
+ mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables, distribution_index=20),
+ crossover=SBXCrossover(probability=1.0, distribution_index=20),
+ termination_criterion=StoppingByEvaluations(max_evaluations=25000)
+)
+
+algorithm.run()
+```
+
+We can then proceed to explore the results:
+
+```python
+from jmetal.util.solution import get_non_dominated_solutions, print_function_values_to_file, \
+ print_variables_to_file
+
+front = get_non_dominated_solutions(algorithm.get_result())
+
+# save to files
+print_function_values_to_file(front, 'FUN.NSGAII.ZDT1')
+print_variables_to_file(front, 'VAR.NSGAII.ZDT1')
+```
+
+Or visualize the Pareto front approximation produced by the algorithm:
+
+```python
+from jmetal.lab.visualization import Plot
+
+plot_front = Plot(title='Pareto front approximation', axis_labels=['x', 'y'])
+plot_front.plot(front, label='NSGAII-ZDT1', filename='NSGAII-ZDT1', format='png')
+```
+
+<img src=docs/source/_static/NSGAII-ZDT1.png width=450 alt="Pareto front approximation">
+
+## Features
+The current release of jMetalPy (v1.5.7) contains the following components:
+
+* Algorithms: local search, genetic algorithm, evolution strategy, simulated annealing, random search, NSGA-II, NSGA-III, SMPSO, OMOPSO, MOEA/D, MOEA/D-DRA, MOEA/D-IEpsilon, GDE3, SPEA2, HYPE, IBEA. Preference articulation-based algorithms (G-NSGA-II, G-GDE3, G-SPEA2, SMPSO/RP); Dynamic versions of NSGA-II, SMPSO, and GDE3.
+* Parallel computing based on Apache Spark and Dask.
+* Benchmark problems: ZDT1-6, DTLZ1-2, FDA, LZ09, LIR-CMOP, unconstrained (Kursawe, Fonseca, Schaffer, Viennet2), constrained (Srinivas, Tanaka).
+* Encodings: real, binary, permutations.
+* Operators: selection (binary tournament, ranking and crowding distance, random, nary random, best solution), crossover (single-point, SBX), mutation (bit-blip, polynomial, uniform, random).
+* Quality indicators: hypervolume, additive epsilon, GD, IGD.
+* Pareto front approximation plotting in real-time, static or interactive.
+* Experiment class for performing studies either alone or alongside [jMetal](https://github.com/jMetal/jMetal).
+* Pairwise and multiple hypothesis testing for statistical analysis, including several frequentist and Bayesian testing methods, critical distance plots and posterior diagrams.
+
+| ![Scatter plot 2D](docs/source/_static/2D.gif) | ![Scatter plot 3D](docs/source/_static/3D.gif) |
+|-------------- | ---------------- |
+| ![Parallel coordinates](docs/source/_static/p-c.gif) | ![Interactive chord plot](docs/source/_static/chordplot.gif) |
+
+## Changelog
+
+* [v1.6.0] Refactor class Problem, the single-objective genetic algorithm can solve constrained problems, performance improvements in NSGA-II, generation of Latex tables summarizing the results of the Wilcoxon rank sum test, added a notebook folder with examples.
+* [v1.5.7] Use of linters for catching errors and formatters to fix style, minor bug fixes.
+* [v1.5.6] Removed warnings when using Python 3.8.
+* [v1.5.5] Minor bug fixes.
+* [v1.5.4] Refactored quality indicators to accept numpy array as input parameter.
+* [v1.5.4] Added [CompositeSolution](https://github.com/jMetal/jMetalPy/blob/master/jmetal/core/solution.py#L111) class to support mixed combinatorial problems. [#69](https://github.com/jMetal/jMetalPy/issues/69)
+
+## License
+
+This project is licensed under the terms of the MIT - see the [LICENSE](LICENSE) file for details.
+
+
+%prep
+%autosetup -n jmetalpy-1.6.0
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-jmetalpy -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 1.6.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..6031518
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+dfa2c42e060b51438da917657267e983 jmetalpy-1.6.0.tar.gz