Skip to content

Commit 95835ec

Browse files
authored
Merge pull request #30 from jMetal/develop
Minor release 0.5.1
2 parents 4bf1d8a + 4ec8db1 commit 95835ec

55 files changed

Lines changed: 1054 additions & 741 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.travis.yml

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,12 @@ language: python
22
python: '3.6'
33
install: pip install -r requirements.txt
44
script: python -m unittest discover
5-
branches:
6-
only:
7-
- master
8-
- "/.*/"
95
deploy:
106
provider: pypi
117
skip_cleanup: true
12-
user: ajnebro
8+
user: benhid
139
distributions: sdist bdist_wheel
1410
password:
15-
secure: 19ogotJW3NnZNB0oiurGtSjwWFmX7qEbu7UL9ZDuPNOGToOFcNFq6o8zAUD18+rS+mZ+X5uEQOt3By0s9b1dd6pwvl7kQVj6rWyU4DLc94tVeRPqHMVItfY0t97/m/wtauxBsieVhEt7PFmqKXL90HKuBqZkrpbYd0f+6xlXCqQFbjiSTnRv2BFvpA90TxC70U7PRDF+PwjCcrkSMpj/EyR/V0CMsbMNi4zVmXXLWstneTkYgt2989CPu7MQaQXnryRqd3HUk5FSdLdoam29Gk8wrp9Q+Ah64wnCMyS4QbIEEPB1ZMlzsQLOo5OwcTMAdBxN4WPyIgeOaZDuUmni8guVf1U5f9UKds7nBf7eDiR5J+LD94ZPV3ukU2NPflCjnJNjzZpCCBS74XvupLmejwKX6qAfRKnlqdhjllRPcw36wr1zdVRj2ZIs5dlztFE+A9ZfP3qwyUXaIRtoQ2PQsjmN5VYz63al5yC6ncpvYj7Rql6VTG9TMNCRdLG91b+6EabPF+d0yZwLVi+qvmcR0WMsbRxvxSdaaxiZQxKgh/lMZ1eHB53d1W2qpTWHtXjEVD6id4KB+WN022CtjulYgFejpLHyYzJDqELFWfScsmX2e2tPeIGNuuXaQw/TIdnUWoSHDQ1AhXMVYyr1sHgwa+vh08jkINk3EkZFBnh9rN4=
11+
secure: pkZQushcLk4eEq06foPEesrrtzxJz907zrDHJghTR5/OLaJ3JrhASG7sa5s1xRwWjAYpf8GWgZsUbM6YGe+r7EASoQ4VdbGZEaTYJCS0AkBawqe7K0KjX2llkgXdHRerTRoFe50mrxA5atE2kVsmaP1ZD0oZ8HzBcTmQbFy7/ljWLnVsyCgczTFHiSfLAdL1MPy1emGAPz6BtMV18b8GLdwBl2KzKVDWi1PwE/l5eG01YoaPT8Eq+/Sy3ZRg8Nx+jdr6D+/1jVNb3SChy27B4kC1EmaCcSwnUg9cGhjziAf6wfEr48+7ZfhEKHTSsJbeRRoDMrAk8f68inuXp627LaUPOBXQsItNwNwRZGfP1LnvoZUbVbEEm2fT6viRLHR1P4LqJcka/6JVD3UgobTvv4sTTaIReeIRJtWe+ofHL2PA+nLi1oRuFcexKfohjyOhreYbJ0jp9O/hWyM5Lak1yEb1CWUuiNy69VMxwm0i00uSyoTZD0LNf/0BBjbFZ02TxHlkKj+LXzI8IiBhhNWY7nRVAJi/MVow14KKmmpk+Qo+dnv+sS7r1zhiEr01akdsLH+3+cfu7K9lJNkhSG2ayoBOe/lKxxOw4G3D+Nm/mNL+Pu38WlmulWdMwbPdHDKmuBzzA2ADsnDIb5BoPwFDvghTbYBA8Slaum35CW/2yzA=
1612
on:
1713
branch: master

CONTRIBUTING.md

Lines changed: 0 additions & 27 deletions
This file was deleted.

README.md

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
- [Installation](#installation)
1515
- [Usage](#usage)
1616
- [Features](#features)
17-
- [Contributing](#contributing)
1817
- [License](#license)
1918

2019
## Installation
@@ -33,18 +32,22 @@ $ pip install jmetalpy
3332
Examples of configuring and running all the included algorithms are located [in the docs](https://jmetalpy.readthedocs.io/en/latest/examples.html).
3433

3534
## Features
36-
The current release of jMetalPy (v0.5.0) contains the following components:
37-
38-
* Algorithms: random search, NSGA-II, SMPSO, SMPSO/RP
39-
* Problems: ZDT1-6, DTLZ1-2, unconstrained (Kursawe, Fonseca, Schaffer, Viennet2), constrained (Srinivas, Tanaka).
40-
* Encodings: real, binary
41-
* Operators: selection (binary tournament, ranking and crowding distance, random, nary random, best solution), crossover (single-point, SBX), mutation (bit-blip, polynomial, uniform, random)
42-
* Quality indicators: hypervolume
43-
* Density estimator: crowding distance
44-
* Graphics: 2D/3D plotting in real-time
45-
46-
## Contributing
47-
Please read [CONTRIBUTING](CONTRIBUTING.md) for details on how to contribute to the project.
35+
The current release of jMetalPy (v0.5.1) contains the following components:
36+
37+
* Algorithms: random search, NSGA-II, SMPSO, SMPSO/RP.
38+
* Benchmark problems: ZDT1-6, DTLZ1-2, unconstrained (Kursawe, Fonseca, Schaffer, Viennet2), constrained (Srinivas, Tanaka).
39+
* Encodings: real, binary.
40+
* Operators: selection (binary tournament, ranking and crowding distance, random, nary random, best solution), crossover (single-point, SBX), mutation (bit-blip, polynomial, uniform, random).
41+
* Quality indicators: hypervolume.
42+
* Density estimator: crowding distance.
43+
* Graphics: Pareto front plotting (2 or more objectives).
44+
* Laboratory: Experiment class for performing studies.
45+
46+
<p align="center">
47+
<br/>
48+
<img src=docs/source/visualization.png alt="Visualization">
49+
<br/>
50+
</p>
4851

4952
## License
5053
This project is licensed under the terms of the MIT - see the [LICENSE](LICENSE) file for details.

docs/source/NSGAII-ZDT1.png

-51.5 KB
Binary file not shown.

docs/source/about.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@ References
77
--------------------------------
88

99
1. J.J. Durillo, A.J. Nebro jMetal: a Java Framework for Multi-Objective Optimization. Advances in Engineering Software 42 (2011) 760-771.
10-
2. A.J. Nebro, J.J. Durillo, M. Vergne Redesigning the jMetal Multi-Objective Optimization Framework. GECCO (Companion) 2015, pp: 1093-1100. July 2015.
10+
2. A.J. Nebro, J.J. Durillo, M. Vergne Redesigning the jMetal Multi-Objective Optimization Framework. GECCO (Companion) 2015, pp: 1093-1100. July 2015.
11+
3. Nebro A.J. et al. (2018) Extending the Speed-Constrained Multi-objective PSO (SMPSO) with Reference Point Based Preference Articulation. In: Auger A., Fonseca C., Lourenço N., Machado P., Paquete L., Whitley D. (eds) Parallel Problem Solving from Nature – PPSN XV. PPSN 2018. Lecture Notes in Computer Science, vol 11101. Springer, Cham

docs/source/api/jmetal.util.rst

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,6 @@
11
Utils
22
===================
33

4-
Front file
5-
-----------------------------
6-
7-
.. automodule:: jmetal.util.front_file
8-
:members:
9-
:undoc-members:
10-
:show-inheritance:
11-
124
Graphic
135
--------------------------
146

docs/source/conf.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@
1919
# http://blog.rtwilson.com/how-to-make-your-sphinx-documentation-compile-with-readthedocs-when-youre-using-numpy-and-scipy/
2020
import mock
2121

22-
MOCK_MODULES = ['numpy', 'dask', 'dask.distributed', 'tqdm', 'bokeh', 'bokeh.embed', 'bokeh.front', 'bokeh.client',
23-
'bokeh.io', 'bokeh.layouts','bokeh.models','bokeh.plotting', 'bokeh.resources',
24-
'mpl_toolkits', 'mpl_toolkits.mplot3d', 'matplotlib', 'matplotlib.pyplot', 'matplotlib.axes']
22+
MOCK_MODULES = ['numpy', 'pandas',
23+
'tqdm',
24+
'plotly', 'plotly.offline',
25+
'matplotlib', 'matplotlib.pyplot', 'mpl_toolkits', 'mpl_toolkits.mplot3d']
2526
for mod_name in MOCK_MODULES:
2627
sys.modules[mod_name] = mock.Mock()
2728

docs/source/examples.rst

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
1-
Examples
2-
==============
1+
Getting started
2+
==================
33

44
.. toctree::
55
:maxdepth: 2
66
:caption: Algorithms:
77

8-
runner/nsgaii
9-
runner/smpso
8+
examples/nsgaii
9+
examples/smpso
1010

1111
.. toctree::
1212
:maxdepth: 2
1313
:caption: Further configuration:
1414

15-
runner/observer
15+
examples/observer
16+
examples/experiment
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
Experiments
2+
========================
3+
4+
This is an example of an experimental study based on solving two problems of the ZDT family with two versions of the same algorithm (NSGAII).
5+
The hypervolume indicator is used for performance assessment.
6+
7+
.. code-block:: python
8+
9+
# Configure experiment
10+
problem_list = [ZDT1(), ZDT2()]
11+
algorithm_list = []
12+
13+
for problem in problem_list:
14+
algorithm_list.append(
15+
('NSGAII_A',
16+
NSGAII(
17+
problem=problem,
18+
population_size=100,
19+
max_evaluations=25000,
20+
mutation=NullMutation(),
21+
crossover=SBX(probability=1.0, distribution_index=20),
22+
selection=BinaryTournamentSelection(comparator=RankingAndCrowdingDistanceComparator())
23+
))
24+
)
25+
algorithm_list.append(
26+
('NSGAII_B',
27+
NSGAII(
28+
problem=problem,
29+
population_size=100,
30+
max_evaluations=25000,
31+
mutation=Polynomial(probability=1.0 / problem.number_of_variables, distribution_index=20),
32+
crossover=SBX(probability=1.0, distribution_index=20),
33+
selection=BinaryTournamentSelection(comparator=RankingAndCrowdingDistanceComparator())
34+
))
35+
)
36+
37+
study = Experiment(algorithm_list, n_runs=2)
38+
study.run()
39+
40+
# Compute quality indicators
41+
metric_list = [HyperVolume(reference_point=[1, 1])]
42+
43+
print(study.compute_metrics(metric_list))

docs/source/examples/nsgaii.rst

Lines changed: 104 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)