├── .github
└── workflows
│ └── ci.yml
├── .gitignore
├── LICENSE
├── Makefile
├── README.md
├── docs
├── .buildinfo
├── .nojekyll
├── _images
│ ├── api_algorithm_multiobjective_eas_gde3_5_0.png
│ ├── api_algorithm_multiobjective_eas_gde3_preference_5_0.png
│ ├── api_algorithm_multiobjective_eas_hype_5_0.png
│ ├── api_algorithm_multiobjective_eas_ibea_5_0.png
│ ├── api_algorithm_multiobjective_eas_mocell_5_0.png
│ ├── api_algorithm_multiobjective_eas_moead_5_0.png
│ ├── api_algorithm_multiobjective_eas_nsgaii_5_0.png
│ ├── api_algorithm_multiobjective_eas_nsgaii_preference_5_0.png
│ ├── api_algorithm_multiobjective_eas_spea2_5_0.png
│ ├── api_algorithm_multiobjective_psos_omopso_5_0.png
│ ├── api_algorithm_multiobjective_psos_smpso_5_0.png
│ └── api_algorithm_multiobjective_psos_smpso_preference_5_0.png
├── _modules
│ ├── index.html
│ └── jmetal
│ │ ├── algorithm
│ │ ├── multiobjective
│ │ │ ├── gde3.html
│ │ │ ├── hype.html
│ │ │ ├── ibea.html
│ │ │ ├── mocell.html
│ │ │ ├── moead.html
│ │ │ ├── nsgaii.html
│ │ │ ├── nsgaiii.html
│ │ │ ├── omopso.html
│ │ │ ├── smpso.html
│ │ │ └── spea2.html
│ │ └── singleobjective
│ │ │ ├── evolution_strategy.html
│ │ │ ├── genetic_algorithm.html
│ │ │ ├── local_search.html
│ │ │ └── simulated_annealing.html
│ │ ├── core
│ │ ├── observer.html
│ │ └── problem.html
│ │ ├── lab
│ │ ├── experiment.html
│ │ ├── statistical_test
│ │ │ ├── apv_procedures.html
│ │ │ ├── bayesian.html
│ │ │ ├── critical_distance.html
│ │ │ └── functions.html
│ │ └── visualization
│ │ │ ├── chord_plot.html
│ │ │ ├── interactive.html
│ │ │ ├── plotting.html
│ │ │ ├── posterior.html
│ │ │ └── streaming.html
│ │ ├── operator
│ │ ├── crossover.html
│ │ ├── mutation.html
│ │ └── selection.html
│ │ ├── problem
│ │ ├── multiobjective
│ │ │ ├── constrained.html
│ │ │ ├── dtlz.html
│ │ │ ├── fda.html
│ │ │ ├── lircmop.html
│ │ │ ├── lz09.html
│ │ │ ├── unconstrained.html
│ │ │ └── zdt.html
│ │ └── singleobjective
│ │ │ ├── knapsack.html
│ │ │ ├── tsp.html
│ │ │ └── unconstrained.html
│ │ └── util
│ │ ├── evaluator.html
│ │ └── observer.html
├── _sources
│ ├── about.rst.txt
│ ├── api
│ │ ├── algorithm
│ │ │ ├── multiobjective
│ │ │ │ ├── ea.rst.txt
│ │ │ │ ├── eas
│ │ │ │ │ ├── gde3.ipynb.txt
│ │ │ │ │ ├── gde3_dynamic.ipynb.txt
│ │ │ │ │ ├── gde3_preference.ipynb.txt
│ │ │ │ │ ├── hype.ipynb.txt
│ │ │ │ │ ├── ibea.ipynb.txt
│ │ │ │ │ ├── mocell.ipynb.txt
│ │ │ │ │ ├── moead.ipynb.txt
│ │ │ │ │ ├── nsgaii.ipynb.txt
│ │ │ │ │ ├── nsgaii_distributed.ipynb.txt
│ │ │ │ │ ├── nsgaii_dynamic.ipynb.txt
│ │ │ │ │ ├── nsgaii_preference.ipynb.txt
│ │ │ │ │ ├── nsgaiii.ipynb.txt
│ │ │ │ │ └── spea2.ipynb.txt
│ │ │ │ ├── pso.rst.txt
│ │ │ │ └── psos
│ │ │ │ │ ├── omopso.ipynb.txt
│ │ │ │ │ ├── smpso.ipynb.txt
│ │ │ │ │ ├── smpso_dynamic.ipynb.txt
│ │ │ │ │ └── smpso_preference.ipynb.txt
│ │ │ └── singleobjective
│ │ │ │ ├── evolution.strategy.rst.txt
│ │ │ │ ├── genetic.algorithm.rst.txt
│ │ │ │ ├── local.search.rst.txt
│ │ │ │ └── simulated.annealing.rst.txt
│ │ ├── jmetal.lab.statistical_test.rst.txt
│ │ ├── operator
│ │ │ ├── crossover.rst.txt
│ │ │ ├── mutation.rst.txt
│ │ │ └── selection.rst.txt
│ │ └── problem
│ │ │ ├── multiobjective.rst.txt
│ │ │ └── singleobjective.rst.txt
│ ├── contributing.rst.txt
│ ├── index.rst.txt
│ ├── multiobjective.algorithms.rst.txt
│ ├── operators.rst.txt
│ ├── problems.rst.txt
│ ├── singleobjective.algorithms.rst.txt
│ ├── tutorials.rst.txt
│ └── tutorials
│ │ ├── evaluator.rst.txt
│ │ ├── experiment.rst.txt
│ │ ├── observer.rst.txt
│ │ ├── problem.rst.txt
│ │ ├── statistics.rst.txt
│ │ └── visualization.rst.txt
├── _static
│ ├── 2D.gif
│ ├── 3D.gif
│ ├── NSGAII-ZDT1.png
│ ├── basic.css
│ ├── chordplot.gif
│ ├── css
│ │ ├── bootstrap-grid.css
│ │ ├── bootstrap-grid.css.map
│ │ ├── bootstrap-grid.min.css
│ │ ├── bootstrap-grid.min.css.map
│ │ ├── bootstrap-reboot.css
│ │ ├── bootstrap-reboot.css.map
│ │ ├── bootstrap-reboot.min.css
│ │ ├── bootstrap-reboot.min.css.map
│ │ ├── bootstrap.css
│ │ ├── bootstrap.css.map
│ │ ├── bootstrap.min.css
│ │ └── bootstrap.min.css.map
│ ├── custom.css
│ ├── doctools.js
│ ├── documentation_options.js
│ ├── file.png
│ ├── fonts
│ │ ├── glyphicons-halflings-regular.eot
│ │ ├── glyphicons-halflings-regular.svg
│ │ ├── glyphicons-halflings-regular.ttf
│ │ ├── glyphicons-halflings-regular.woff
│ │ ├── open-sans
│ │ │ ├── fonts
│ │ │ │ ├── OpenSans-Bold-webfont.eot
│ │ │ │ ├── OpenSans-Bold-webfont.svg
│ │ │ │ ├── OpenSans-Bold-webfont.ttf
│ │ │ │ ├── OpenSans-Bold-webfont.woff
│ │ │ │ ├── OpenSans-BoldItalic-webfont.eot
│ │ │ │ ├── OpenSans-BoldItalic-webfont.svg
│ │ │ │ ├── OpenSans-BoldItalic-webfont.ttf
│ │ │ │ ├── OpenSans-BoldItalic-webfont.woff
│ │ │ │ ├── OpenSans-ExtraBold-webfont.eot
│ │ │ │ ├── OpenSans-ExtraBold-webfont.svg
│ │ │ │ ├── OpenSans-ExtraBold-webfont.ttf
│ │ │ │ ├── OpenSans-ExtraBold-webfont.woff
│ │ │ │ ├── OpenSans-ExtraBoldItalic-webfont.eot
│ │ │ │ ├── OpenSans-ExtraBoldItalic-webfont.svg
│ │ │ │ ├── OpenSans-ExtraBoldItalic-webfont.ttf
│ │ │ │ ├── OpenSans-ExtraBoldItalic-webfont.woff
│ │ │ │ ├── OpenSans-Italic-webfont.eot
│ │ │ │ ├── OpenSans-Italic-webfont.svg
│ │ │ │ ├── OpenSans-Italic-webfont.ttf
│ │ │ │ ├── OpenSans-Italic-webfont.woff
│ │ │ │ ├── OpenSans-Light-webfont.eot
│ │ │ │ ├── OpenSans-Light-webfont.svg
│ │ │ │ ├── OpenSans-Light-webfont.ttf
│ │ │ │ ├── OpenSans-Light-webfont.woff
│ │ │ │ ├── OpenSans-LightItalic-webfont.eot
│ │ │ │ ├── OpenSans-LightItalic-webfont.svg
│ │ │ │ ├── OpenSans-LightItalic-webfont.ttf
│ │ │ │ ├── OpenSans-LightItalic-webfont.woff
│ │ │ │ ├── OpenSans-Regular-webfont.eot
│ │ │ │ ├── OpenSans-Regular-webfont.svg
│ │ │ │ ├── OpenSans-Regular-webfont.ttf
│ │ │ │ ├── OpenSans-Regular-webfont.woff
│ │ │ │ ├── OpenSans-Semibold-webfont.eot
│ │ │ │ ├── OpenSans-Semibold-webfont.svg
│ │ │ │ ├── OpenSans-Semibold-webfont.ttf
│ │ │ │ ├── OpenSans-Semibold-webfont.woff
│ │ │ │ ├── OpenSans-SemiboldItalic-webfont.eot
│ │ │ │ ├── OpenSans-SemiboldItalic-webfont.svg
│ │ │ │ ├── OpenSans-SemiboldItalic-webfont.ttf
│ │ │ │ └── OpenSans-SemiboldItalic-webfont.woff
│ │ │ └── stylesheet.css
│ │ └── source-serif-pro
│ │ │ ├── EOT
│ │ │ ├── SourceSerifPro-Black.eot
│ │ │ ├── SourceSerifPro-Bold.eot
│ │ │ ├── SourceSerifPro-ExtraLight.eot
│ │ │ ├── SourceSerifPro-Light.eot
│ │ │ ├── SourceSerifPro-Regular.eot
│ │ │ └── SourceSerifPro-Semibold.eot
│ │ │ ├── LICENSE.txt
│ │ │ ├── OTF
│ │ │ ├── SourceSerifPro-Black.otf
│ │ │ ├── SourceSerifPro-Bold.otf
│ │ │ ├── SourceSerifPro-ExtraLight.otf
│ │ │ ├── SourceSerifPro-Light.otf
│ │ │ ├── SourceSerifPro-Regular.otf
│ │ │ └── SourceSerifPro-Semibold.otf
│ │ │ ├── README.md
│ │ │ ├── ReadMe.html
│ │ │ ├── SourceSerifProReadMe.html
│ │ │ ├── TTF
│ │ │ ├── SourceSerifPro-Black.ttf
│ │ │ ├── SourceSerifPro-Bold.ttf
│ │ │ ├── SourceSerifPro-ExtraLight.ttf
│ │ │ ├── SourceSerifPro-Light.ttf
│ │ │ ├── SourceSerifPro-Regular.ttf
│ │ │ └── SourceSerifPro-Semibold.ttf
│ │ │ ├── WOFF
│ │ │ ├── OTF
│ │ │ │ ├── SourceSerifPro-Black.otf.woff
│ │ │ │ ├── SourceSerifPro-Bold.otf.woff
│ │ │ │ ├── SourceSerifPro-ExtraLight.otf.woff
│ │ │ │ ├── SourceSerifPro-Light.otf.woff
│ │ │ │ ├── SourceSerifPro-Regular.otf.woff
│ │ │ │ └── SourceSerifPro-Semibold.otf.woff
│ │ │ └── TTF
│ │ │ │ ├── SourceSerifPro-Black.ttf.woff
│ │ │ │ ├── SourceSerifPro-Bold.ttf.woff
│ │ │ │ ├── SourceSerifPro-ExtraLight.ttf.woff
│ │ │ │ ├── SourceSerifPro-Light.ttf.woff
│ │ │ │ ├── SourceSerifPro-Regular.ttf.woff
│ │ │ │ └── SourceSerifPro-Semibold.ttf.woff
│ │ │ ├── bower.json
│ │ │ └── source-serif-pro.css
│ ├── guzzle.css
│ ├── jmetalpy.png
│ ├── jquery.js
│ ├── jquery.min.map
│ ├── js
│ │ ├── bootstrap.bundle.js
│ │ ├── bootstrap.bundle.js.map
│ │ ├── bootstrap.bundle.min.js
│ │ ├── bootstrap.bundle.min.js.map
│ │ ├── bootstrap.js
│ │ ├── bootstrap.js.map
│ │ ├── bootstrap.min.js
│ │ └── bootstrap.min.js.map
│ ├── language_data.js
│ ├── minus.png
│ ├── nbsphinx-broken-thumbnail.svg
│ ├── nbsphinx-code-cells.css
│ ├── nbsphinx-gallery.css
│ ├── nbsphinx-no-thumbnail.svg
│ ├── p-c.gif
│ ├── plus.png
│ ├── pygments.css
│ ├── searchtools.js
│ └── sphinx_highlight.js
├── about.html
├── api
│ ├── algorithm
│ │ ├── multiobjective
│ │ │ ├── ea.html
│ │ │ ├── eas
│ │ │ │ ├── gde3.html
│ │ │ │ ├── gde3.ipynb
│ │ │ │ ├── gde3_dynamic.html
│ │ │ │ ├── gde3_dynamic.ipynb
│ │ │ │ ├── gde3_preference.html
│ │ │ │ ├── gde3_preference.ipynb
│ │ │ │ ├── hype.html
│ │ │ │ ├── hype.ipynb
│ │ │ │ ├── ibea.html
│ │ │ │ ├── ibea.ipynb
│ │ │ │ ├── mocell.html
│ │ │ │ ├── mocell.ipynb
│ │ │ │ ├── moead.html
│ │ │ │ ├── moead.ipynb
│ │ │ │ ├── nsgaii.html
│ │ │ │ ├── nsgaii.ipynb
│ │ │ │ ├── nsgaii_distributed.html
│ │ │ │ ├── nsgaii_distributed.ipynb
│ │ │ │ ├── nsgaii_dynamic.html
│ │ │ │ ├── nsgaii_dynamic.ipynb
│ │ │ │ ├── nsgaii_preference.html
│ │ │ │ ├── nsgaii_preference.ipynb
│ │ │ │ ├── nsgaiii.html
│ │ │ │ ├── nsgaiii.ipynb
│ │ │ │ ├── spea2.html
│ │ │ │ └── spea2.ipynb
│ │ │ ├── pso.html
│ │ │ └── psos
│ │ │ │ ├── omopso.html
│ │ │ │ ├── omopso.ipynb
│ │ │ │ ├── smpso.html
│ │ │ │ ├── smpso.ipynb
│ │ │ │ ├── smpso_dynamic.html
│ │ │ │ ├── smpso_dynamic.ipynb
│ │ │ │ ├── smpso_preference.html
│ │ │ │ └── smpso_preference.ipynb
│ │ └── singleobjective
│ │ │ ├── evolution.strategy.html
│ │ │ ├── genetic.algorithm.html
│ │ │ ├── local.search.html
│ │ │ └── simulated.annealing.html
│ ├── jmetal.lab.statistical_test.html
│ ├── operator
│ │ ├── crossover.html
│ │ ├── mutation.html
│ │ └── selection.html
│ └── problem
│ │ ├── multiobjective.html
│ │ └── singleobjective.html
├── contributing.html
├── genindex.html
├── index.html
├── multiobjective.algorithms.html
├── objects.inv
├── operators.html
├── problems.html
├── py-modindex.html
├── search.html
├── searchindex.js
├── singleobjective.algorithms.html
├── source
│ ├── _static
│ │ ├── 2D.gif
│ │ ├── 3D.gif
│ │ ├── NSGAII-ZDT1.png
│ │ ├── chordplot.gif
│ │ ├── custom.css
│ │ ├── jmetalpy.png
│ │ └── p-c.gif
│ ├── _templates
│ │ └── guzzle
│ │ │ ├── comments.html
│ │ │ ├── globaltoc.html
│ │ │ ├── layout.html
│ │ │ ├── localtoc.html
│ │ │ ├── logo-text.html
│ │ │ ├── search.html
│ │ │ ├── searchbox.html
│ │ │ ├── static
│ │ │ ├── css
│ │ │ │ ├── bootstrap-grid.css
│ │ │ │ ├── bootstrap-grid.css.map
│ │ │ │ ├── bootstrap-grid.min.css
│ │ │ │ ├── bootstrap-grid.min.css.map
│ │ │ │ ├── bootstrap-reboot.css
│ │ │ │ ├── bootstrap-reboot.css.map
│ │ │ │ ├── bootstrap-reboot.min.css
│ │ │ │ ├── bootstrap-reboot.min.css.map
│ │ │ │ ├── bootstrap.css
│ │ │ │ ├── bootstrap.css.map
│ │ │ │ ├── bootstrap.min.css
│ │ │ │ └── bootstrap.min.css.map
│ │ │ ├── fonts
│ │ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ │ ├── glyphicons-halflings-regular.svg
│ │ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ │ ├── glyphicons-halflings-regular.woff
│ │ │ │ ├── open-sans
│ │ │ │ │ ├── fonts
│ │ │ │ │ │ ├── OpenSans-Bold-webfont.eot
│ │ │ │ │ │ ├── OpenSans-Bold-webfont.svg
│ │ │ │ │ │ ├── OpenSans-Bold-webfont.ttf
│ │ │ │ │ │ ├── OpenSans-Bold-webfont.woff
│ │ │ │ │ │ ├── OpenSans-BoldItalic-webfont.eot
│ │ │ │ │ │ ├── OpenSans-BoldItalic-webfont.svg
│ │ │ │ │ │ ├── OpenSans-BoldItalic-webfont.ttf
│ │ │ │ │ │ ├── OpenSans-BoldItalic-webfont.woff
│ │ │ │ │ │ ├── OpenSans-ExtraBold-webfont.eot
│ │ │ │ │ │ ├── OpenSans-ExtraBold-webfont.svg
│ │ │ │ │ │ ├── OpenSans-ExtraBold-webfont.ttf
│ │ │ │ │ │ ├── OpenSans-ExtraBold-webfont.woff
│ │ │ │ │ │ ├── OpenSans-ExtraBoldItalic-webfont.eot
│ │ │ │ │ │ ├── OpenSans-ExtraBoldItalic-webfont.svg
│ │ │ │ │ │ ├── OpenSans-ExtraBoldItalic-webfont.ttf
│ │ │ │ │ │ ├── OpenSans-ExtraBoldItalic-webfont.woff
│ │ │ │ │ │ ├── OpenSans-Italic-webfont.eot
│ │ │ │ │ │ ├── OpenSans-Italic-webfont.svg
│ │ │ │ │ │ ├── OpenSans-Italic-webfont.ttf
│ │ │ │ │ │ ├── OpenSans-Italic-webfont.woff
│ │ │ │ │ │ ├── OpenSans-Light-webfont.eot
│ │ │ │ │ │ ├── OpenSans-Light-webfont.svg
│ │ │ │ │ │ ├── OpenSans-Light-webfont.ttf
│ │ │ │ │ │ ├── OpenSans-Light-webfont.woff
│ │ │ │ │ │ ├── OpenSans-LightItalic-webfont.eot
│ │ │ │ │ │ ├── OpenSans-LightItalic-webfont.svg
│ │ │ │ │ │ ├── OpenSans-LightItalic-webfont.ttf
│ │ │ │ │ │ ├── OpenSans-LightItalic-webfont.woff
│ │ │ │ │ │ ├── OpenSans-Regular-webfont.eot
│ │ │ │ │ │ ├── OpenSans-Regular-webfont.svg
│ │ │ │ │ │ ├── OpenSans-Regular-webfont.ttf
│ │ │ │ │ │ ├── OpenSans-Regular-webfont.woff
│ │ │ │ │ │ ├── OpenSans-Semibold-webfont.eot
│ │ │ │ │ │ ├── OpenSans-Semibold-webfont.svg
│ │ │ │ │ │ ├── OpenSans-Semibold-webfont.ttf
│ │ │ │ │ │ ├── OpenSans-Semibold-webfont.woff
│ │ │ │ │ │ ├── OpenSans-SemiboldItalic-webfont.eot
│ │ │ │ │ │ ├── OpenSans-SemiboldItalic-webfont.svg
│ │ │ │ │ │ ├── OpenSans-SemiboldItalic-webfont.ttf
│ │ │ │ │ │ └── OpenSans-SemiboldItalic-webfont.woff
│ │ │ │ │ └── stylesheet.css
│ │ │ │ └── source-serif-pro
│ │ │ │ │ ├── EOT
│ │ │ │ │ ├── SourceSerifPro-Black.eot
│ │ │ │ │ ├── SourceSerifPro-Bold.eot
│ │ │ │ │ ├── SourceSerifPro-ExtraLight.eot
│ │ │ │ │ ├── SourceSerifPro-Light.eot
│ │ │ │ │ ├── SourceSerifPro-Regular.eot
│ │ │ │ │ └── SourceSerifPro-Semibold.eot
│ │ │ │ │ ├── LICENSE.txt
│ │ │ │ │ ├── OTF
│ │ │ │ │ ├── SourceSerifPro-Black.otf
│ │ │ │ │ ├── SourceSerifPro-Bold.otf
│ │ │ │ │ ├── SourceSerifPro-ExtraLight.otf
│ │ │ │ │ ├── SourceSerifPro-Light.otf
│ │ │ │ │ ├── SourceSerifPro-Regular.otf
│ │ │ │ │ └── SourceSerifPro-Semibold.otf
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── ReadMe.html
│ │ │ │ │ ├── SourceSerifProReadMe.html
│ │ │ │ │ ├── TTF
│ │ │ │ │ ├── SourceSerifPro-Black.ttf
│ │ │ │ │ ├── SourceSerifPro-Bold.ttf
│ │ │ │ │ ├── SourceSerifPro-ExtraLight.ttf
│ │ │ │ │ ├── SourceSerifPro-Light.ttf
│ │ │ │ │ ├── SourceSerifPro-Regular.ttf
│ │ │ │ │ └── SourceSerifPro-Semibold.ttf
│ │ │ │ │ ├── WOFF
│ │ │ │ │ ├── OTF
│ │ │ │ │ │ ├── SourceSerifPro-Black.otf.woff
│ │ │ │ │ │ ├── SourceSerifPro-Bold.otf.woff
│ │ │ │ │ │ ├── SourceSerifPro-ExtraLight.otf.woff
│ │ │ │ │ │ ├── SourceSerifPro-Light.otf.woff
│ │ │ │ │ │ ├── SourceSerifPro-Regular.otf.woff
│ │ │ │ │ │ └── SourceSerifPro-Semibold.otf.woff
│ │ │ │ │ └── TTF
│ │ │ │ │ │ ├── SourceSerifPro-Black.ttf.woff
│ │ │ │ │ │ ├── SourceSerifPro-Bold.ttf.woff
│ │ │ │ │ │ ├── SourceSerifPro-ExtraLight.ttf.woff
│ │ │ │ │ │ ├── SourceSerifPro-Light.ttf.woff
│ │ │ │ │ │ ├── SourceSerifPro-Regular.ttf.woff
│ │ │ │ │ │ └── SourceSerifPro-Semibold.ttf.woff
│ │ │ │ │ ├── bower.json
│ │ │ │ │ └── source-serif-pro.css
│ │ │ ├── guzzle.css_t
│ │ │ ├── jquery.js
│ │ │ ├── jquery.min.map
│ │ │ └── js
│ │ │ │ ├── bootstrap.bundle.js
│ │ │ │ ├── bootstrap.bundle.js.map
│ │ │ │ ├── bootstrap.bundle.min.js
│ │ │ │ ├── bootstrap.bundle.min.js.map
│ │ │ │ ├── bootstrap.js
│ │ │ │ ├── bootstrap.js.map
│ │ │ │ ├── bootstrap.min.js
│ │ │ │ └── bootstrap.min.js.map
│ │ │ └── theme.conf
│ ├── about.rst
│ ├── api
│ │ ├── algorithm
│ │ │ ├── multiobjective
│ │ │ │ ├── ea.rst
│ │ │ │ ├── eas
│ │ │ │ │ ├── gde3.ipynb
│ │ │ │ │ ├── gde3_dynamic.ipynb
│ │ │ │ │ ├── gde3_preference.ipynb
│ │ │ │ │ ├── hype.ipynb
│ │ │ │ │ ├── ibea.ipynb
│ │ │ │ │ ├── mocell.ipynb
│ │ │ │ │ ├── moead.ipynb
│ │ │ │ │ ├── nsgaii.ipynb
│ │ │ │ │ ├── nsgaii_distributed.ipynb
│ │ │ │ │ ├── nsgaii_dynamic.ipynb
│ │ │ │ │ ├── nsgaii_preference.ipynb
│ │ │ │ │ ├── nsgaiii.ipynb
│ │ │ │ │ └── spea2.ipynb
│ │ │ │ ├── pso.rst
│ │ │ │ └── psos
│ │ │ │ │ ├── omopso.ipynb
│ │ │ │ │ ├── smpso.ipynb
│ │ │ │ │ ├── smpso_dynamic.ipynb
│ │ │ │ │ └── smpso_preference.ipynb
│ │ │ └── singleobjective
│ │ │ │ ├── evolution.strategy.rst
│ │ │ │ ├── genetic.algorithm.rst
│ │ │ │ ├── local.search.rst
│ │ │ │ └── simulated.annealing.rst
│ │ ├── jmetal.lab.statistical_test.rst
│ │ ├── operator
│ │ │ ├── crossover.rst
│ │ │ ├── mutation.rst
│ │ │ └── selection.rst
│ │ └── problem
│ │ │ ├── multiobjective.rst
│ │ │ └── singleobjective.rst
│ ├── conf.py
│ ├── contributing.rst
│ ├── index.rst
│ ├── jmetalpy.png
│ ├── multiobjective.algorithms.rst
│ ├── operators.rst
│ ├── problems.rst
│ ├── singleobjective.algorithms.rst
│ ├── tutorials.rst
│ └── tutorials
│ │ ├── evaluator.rst
│ │ ├── experiment.rst
│ │ ├── observer.rst
│ │ ├── problem.rst
│ │ ├── statistics.rst
│ │ └── visualization.rst
├── tutorials.html
└── tutorials
│ ├── evaluator.html
│ ├── experiment.html
│ ├── observer.html
│ ├── problem.html
│ ├── statistics.html
│ └── visualization.html
├── examples
├── __init__.py
├── experiment
│ ├── QualityIndicatorSummary.csv
│ ├── __init__.py
│ ├── comparison.py
│ ├── generateKolmogorovSmirnovLatexTables.py
│ ├── generateMedianAndWilcoxonLatexTables.py
│ └── statistical_analysis.py
├── multiobjective
│ ├── __init__.py
│ ├── gde3
│ │ ├── __init__.py
│ │ ├── dynamic_gde3.py
│ │ ├── gde3_spark_evaluator.py
│ │ ├── gde3_zdt1.py
│ │ └── ggde3_zdt2.py
│ ├── hype
│ │ ├── __init__.py
│ │ └── hype_zdt1.py
│ ├── ibea
│ │ ├── __init__.py
│ │ └── ibea_zdt1.py
│ ├── mocell
│ │ ├── __init__.py
│ │ └── mocell_zdt1.py
│ ├── moead
│ │ ├── __init__.py
│ │ ├── moead_dtlz2.py
│ │ ├── moead_iepsilon_lircmop1.py
│ │ ├── moead_lz09.py
│ │ └── moeaddra_lz09.py
│ ├── nsgaii
│ │ ├── __init__.py
│ │ ├── distributed_nsgaii_with_dask.py
│ │ ├── distributed_nsgaii_with_dask_evaluator.py
│ │ ├── distributed_nsgaii_with_spark_evaluator.py
│ │ ├── dynamic_nsgaii_solving_fda2.py
│ │ ├── gnsgaii_solving_zdt2_with_reference_point.py
│ │ ├── nsgaii_defining_schaffer_problem_on_the_fly.py
│ │ ├── nsgaii_defining_srinivas_problem_on_the_fly.py
│ │ ├── nsgaii_solving_ZDT5.py
│ │ ├── nsgaii_solving_binary_problem.py
│ │ ├── nsgaii_solving_constrained_srinivas_problem.py
│ │ ├── nsgaii_solving_contrained_problem.py
│ │ ├── nsgaii_solving_mixed_encoding_problem.py
│ │ ├── nsgaii_ssp.py
│ │ ├── nsgaii_standard_settings.py
│ │ ├── nsgaii_standard_settings_with_real_time_plotting.py
│ │ ├── nsgaii_steady_state.py
│ │ ├── nsgaii_steady_state_with_real_time_plotting.py
│ │ └── parallel_nsgaii_with_multiprocess_evaluator.py
│ ├── nsgaiii
│ │ ├── __init__.py
│ │ └── nsgaiii_dtlz2.py
│ ├── omopso
│ │ ├── __init__.py
│ │ ├── omopso_spark_evaluator.py
│ │ └── omopso_zdt1.py
│ ├── preferences
│ │ ├── __init__.py
│ │ ├── ggde3_zdt2.py
│ │ └── gnsgaii_solving_zdt2_with_reference_point.py
│ ├── random_search
│ │ ├── __init__.py
│ │ └── random_search_zdt1.py
│ ├── smpso
│ │ ├── __init__.py
│ │ ├── dynamic_smpso.py
│ │ ├── smpso_schaffer_on_the_fly.py
│ │ ├── smpso_spark_evaluator.py
│ │ ├── smpso_srinivas.py
│ │ ├── smpso_srinivas_on_the_fly.py
│ │ ├── smpso_tanaka.py
│ │ ├── smpso_zdt4.py
│ │ └── smpsorp_zdt4.py
│ └── spea2
│ │ ├── __init__.py
│ │ ├── gspea2_zdt1.py
│ │ ├── spea2_dtlz1.py
│ │ └── spea2_zdt1.py
└── singleobjective
│ ├── __init__.py
│ ├── evolution_strategy
│ ├── __init__.py
│ ├── evolution_strategy_binary.py
│ ├── evolution_strategy_float.py
│ └── evolution_strategy_permutation.py
│ ├── gde3
│ ├── __init__.py
│ └── gde3_single_objective.py
│ ├── genetic_algorithm
│ ├── __init__.py
│ ├── generational_genetic_algorithm_binary.py
│ ├── generational_genetic_algorithm_float.py
│ ├── generational_genetic_algorithm_tsp.py
│ ├── generational_genetic_algorithm_tsp_with_contraints.py
│ ├── steady_state_genetic_algorithm.py
│ └── steady_state_genetic_algorithm_with_knapsack_problem.py
│ ├── local_search
│ ├── __init__.py
│ ├── local_search_binary.py
│ └── local_search_float.py
│ ├── nsgaii
│ ├── __init__.py
│ ├── nsgaii_single_objective_binary.py
│ └── nsgaii_single_objective_float.py
│ └── simulated_annealing
│ ├── __init__.py
│ ├── simulated_annealing_binary.py
│ ├── simulated_annealing_float.py
│ └── simulated_annealing_permutation.py
├── mypy.ini
├── notebooks
├── NSGAIINotebook.ipynb
└── SolvingConstrainedProblems.ipynb
├── pyproject.toml
├── resources
├── Knapsack_instances
│ ├── KnapsackInstance_1000_0_8.kp
│ ├── KnapsackInstance_1000_1_20.kp
│ ├── KnapsackInstance_1000_2_32.kp
│ ├── KnapsackInstance_1000_3_44.kp
│ ├── KnapsackInstance_1000_4_56.kp
│ ├── KnapsackInstance_1000_5_68.kp
│ ├── KnapsackInstance_1000_6_80.kp
│ ├── KnapsackInstance_1000_7_92.kp
│ ├── KnapsackInstance_1000_8_104.kp
│ ├── KnapsackInstance_1000_9_116.kp
│ ├── KnapsackInstance_100_0_3.kp
│ ├── KnapsackInstance_100_1_15.kp
│ ├── KnapsackInstance_100_2_27.kp
│ ├── KnapsackInstance_100_3_39.kp
│ ├── KnapsackInstance_100_4_51.kp
│ ├── KnapsackInstance_100_5_63.kp
│ ├── KnapsackInstance_100_6_75.kp
│ ├── KnapsackInstance_100_7_87.kp
│ ├── KnapsackInstance_100_8_99.kp
│ ├── KnapsackInstance_100_9_110.kp
│ ├── KnapsackInstance_200_0_4.kp
│ ├── KnapsackInstance_200_1_16.kp
│ ├── KnapsackInstance_200_2_28.kp
│ ├── KnapsackInstance_200_3_40.kp
│ ├── KnapsackInstance_200_4_52.kp
│ ├── KnapsackInstance_200_5_64.kp
│ ├── KnapsackInstance_200_6_76.kp
│ ├── KnapsackInstance_200_7_88.kp
│ ├── KnapsackInstance_200_8_100.kp
│ ├── KnapsackInstance_200_9_112.kp
│ ├── KnapsackInstance_5000_0_10.kp
│ ├── KnapsackInstance_5000_1_22.kp
│ ├── KnapsackInstance_5000_2_34.kp
│ ├── KnapsackInstance_5000_3_46.kp
│ ├── KnapsackInstance_5000_4_58.kp
│ ├── KnapsackInstance_5000_5_70.kp
│ ├── KnapsackInstance_5000_6_82.kp
│ ├── KnapsackInstance_5000_7_94.kp
│ ├── KnapsackInstance_5000_8_106.kp
│ ├── KnapsackInstance_5000_9_118.kp
│ ├── KnapsackInstance_500_0_7.kp
│ ├── KnapsackInstance_500_1_19.kp
│ ├── KnapsackInstance_500_2_31.kp
│ ├── KnapsackInstance_500_3_43.kp
│ ├── KnapsackInstance_500_4_55.kp
│ ├── KnapsackInstance_500_5_67.kp
│ ├── KnapsackInstance_500_6_79.kp
│ ├── KnapsackInstance_500_7_91.kp
│ ├── KnapsackInstance_500_8_103.kp
│ ├── KnapsackInstance_500_9_114.kp
│ ├── KnapsackInstance_50_0_0.kp
│ ├── KnapsackInstance_50_1_12.kp
│ ├── KnapsackInstance_50_2_24.kp
│ ├── KnapsackInstance_50_3_36.kp
│ ├── KnapsackInstance_50_4_48.kp
│ ├── KnapsackInstance_50_5_60.kp
│ ├── KnapsackInstance_50_6_72.kp
│ ├── KnapsackInstance_50_7_84.kp
│ ├── KnapsackInstance_50_8_96.kp
│ └── KnapsackInstance_50_9_108.kp
├── MOEAD_weights
│ ├── W2D_1000.dat
│ ├── W2D_300.dat
│ ├── W2D_400.dat
│ ├── W2D_500.dat
│ ├── W2D_600.dat
│ ├── W2D_800.dat
│ ├── W3D_100.dat
│ ├── W3D_1000.dat
│ ├── W3D_1200.dat
│ ├── W3D_300.dat
│ ├── W3D_500.dat
│ ├── W3D_600.dat
│ ├── W3D_800.dat
│ ├── W3D_91.dat
│ ├── W5D_1000.dat
│ ├── W5D_1200.dat
│ ├── W5D_1500.dat
│ ├── W5D_1800.dat
│ ├── W5D_2000.dat
│ └── W5D_2500.dat
├── TSP_instances
│ ├── kroA100.opt.tour
│ ├── kroA100.tsp
│ └── test.tsp
└── reference_front
│ ├── Ahmad2017.pf
│ ├── Chen2015.pf
│ ├── DTLZ1.2D.pf
│ ├── DTLZ1.3D.pf
│ ├── DTLZ1.4D.pf
│ ├── DTLZ1.6D.pf
│ ├── DTLZ1.8D.pf
│ ├── DTLZ1.pf
│ ├── DTLZ2.2D.pf
│ ├── DTLZ2.3D.pf
│ ├── DTLZ2.4D.pf
│ ├── DTLZ2.6D.pf
│ ├── DTLZ2.8D.pf
│ ├── DTLZ3.2D.pf
│ ├── DTLZ3.3D.pf
│ ├── DTLZ3.4D.pf
│ ├── DTLZ3.6D.pf
│ ├── DTLZ3.8D.pf
│ ├── DTLZ4.2D.pf
│ ├── DTLZ4.3D.pf
│ ├── DTLZ4.4D.pf
│ ├── DTLZ4.6D.pf
│ ├── DTLZ4.8D.pf
│ ├── DTLZ5.2D.pf
│ ├── DTLZ5.3D.pf
│ ├── DTLZ6.2D.pf
│ ├── DTLZ6.3D.pf
│ ├── DTLZ7.2D.pf
│ ├── DTLZ7.3D.pf
│ ├── DTLZ7.4D.pf
│ ├── DTLZ7.6D.pf
│ ├── DTLZ7.8D.pf
│ ├── Ganesan2013.pf
│ ├── Gao2020.pf
│ ├── Goel2007.pf
│ ├── Kursawe.pf
│ ├── LIRCMOP1.pf
│ ├── LIRCMOP10.pf
│ ├── LIRCMOP11.pf
│ ├── LIRCMOP12.pf
│ ├── LIRCMOP13.pf
│ ├── LIRCMOP14.pf
│ ├── LIRCMOP2.pf
│ ├── LIRCMOP3.pf
│ ├── LIRCMOP4.pf
│ ├── LIRCMOP5.pf
│ ├── LIRCMOP6.pf
│ ├── LIRCMOP7.pf
│ ├── LIRCMOP8.pf
│ ├── LIRCMOP9.pf
│ ├── LZ09_F1.pf
│ ├── LZ09_F2.pf
│ ├── LZ09_F3.pf
│ ├── LZ09_F4.pf
│ ├── LZ09_F5.pf
│ ├── LZ09_F6.pf
│ ├── LZ09_F7.pf
│ ├── LZ09_F8.pf
│ ├── LZ09_F9.pf
│ ├── Liao2008.pf
│ ├── Padhi2016.pf
│ ├── Schaffer.pf
│ ├── Srinivas.pf
│ ├── Subasi2016.pf
│ ├── Tanaka.pf
│ ├── UF1.pf
│ ├── UF10.pf
│ ├── UF2.pf
│ ├── UF3.pf
│ ├── UF4.pf
│ ├── UF5.pf
│ ├── UF6.pf
│ ├── UF7.pf
│ ├── UF8.pf
│ ├── UF9.pf
│ ├── Vaidyanathan2004.pf
│ ├── Viennet2.pf
│ ├── Viennet3.pf
│ ├── Xu2020.pf
│ ├── ZDT1.pf
│ ├── ZDT2.pf
│ ├── ZDT3.pf
│ ├── ZDT4.pf
│ └── ZDT6.pf
├── src
└── jmetal
│ ├── __init__.py
│ ├── algorithm
│ ├── __init__.py
│ ├── multiobjective
│ │ ├── __init__.py
│ │ ├── gde3.py
│ │ ├── hype.py
│ │ ├── ibea.py
│ │ ├── mocell.py
│ │ ├── moead.py
│ │ ├── nsgaii.py
│ │ ├── nsgaiii.py
│ │ ├── omopso.py
│ │ ├── random_search.py
│ │ ├── smpso.py
│ │ └── spea2.py
│ └── singleobjective
│ │ ├── __init__.py
│ │ ├── evolution_strategy.py
│ │ ├── genetic_algorithm.py
│ │ ├── local_search.py
│ │ └── simulated_annealing.py
│ ├── config.py
│ ├── core
│ ├── __init__.py
│ ├── algorithm.py
│ ├── observer.py
│ ├── operator.py
│ ├── problem.py
│ ├── quality_indicator.py
│ └── solution.py
│ ├── lab
│ ├── __init__.py
│ ├── experiment.py
│ ├── statistical_test
│ │ ├── __init__.py
│ │ ├── apv_procedures.py
│ │ ├── bayesian.py
│ │ ├── critical_distance.py
│ │ └── functions.py
│ └── visualization
│ │ ├── __init__.py
│ │ ├── chord_plot.py
│ │ ├── interactive.py
│ │ ├── plotting.py
│ │ ├── posterior.py
│ │ └── streaming.py
│ ├── logger.py
│ ├── operator
│ ├── __init__.py
│ ├── crossover.py
│ ├── mutation.py
│ └── selection.py
│ ├── problem
│ ├── __init__.py
│ ├── multiobjective
│ │ ├── __init__.py
│ │ ├── constrained.py
│ │ ├── dtlz.py
│ │ ├── fda.py
│ │ ├── lircmop.py
│ │ ├── lz09.py
│ │ ├── rwa.py
│ │ ├── uf.py
│ │ ├── unconstrained.py
│ │ └── zdt.py
│ └── singleobjective
│ │ ├── __init__.py
│ │ ├── knapsack.py
│ │ ├── tsp.py
│ │ └── unconstrained.py
│ └── util
│ ├── __init__.py
│ ├── aggregation_function.py
│ ├── archive.py
│ ├── ckecking.py
│ ├── comparator.py
│ ├── constraint_handling.py
│ ├── density_estimator.py
│ ├── distance.py
│ ├── evaluator.py
│ ├── generator.py
│ ├── neighborhood.py
│ ├── observable.py
│ ├── observer.py
│ ├── point.py
│ ├── ranking.py
│ ├── replacement.py
│ ├── solution.py
│ └── termination_criterion.py
└── tests
├── algorithm
├── __init__.py
└── ittest_algorithm.py
├── core
├── ZDT1.pf
├── __init__.py
├── test_observable.py
├── test_operator.py
├── test_problem.py
├── test_quality_indicator.py
└── test_solution.py
├── operator
├── test_crossover.py
├── test_mutation.py
└── test_selection.py
├── problem
├── multiobjective
│ ├── __init__.py
│ ├── test_constrained.py
│ ├── test_dtlz.py
│ ├── test_lz09.py
│ ├── test_rwa.py
│ ├── test_unconstrained.py
│ └── test_zdt.py
└── singleobjective
│ ├── __init__.py
│ ├── test_knapsack.py
│ └── test_unconstrained.py
└── util
├── __init__.py
├── test_aggregation_function.py
├── test_archive.py
├── test_checking.py
├── test_comparator.py
├── test_constraint_handling.py
├── test_density_estimator.py
├── test_distance.py
├── test_evaluator.py
├── test_neighborhood.py
├── test_point.py
├── test_ranking.py
└── test_replacement.py
/.github/workflows/ci.yml:
--------------------------------------------------------------------------------
1 | name: CI
2 |
3 | on:
4 | workflow_dispatch:
5 | push:
6 | branches:
7 | - main
8 | - develop
9 | pull_request:
10 | branches:
11 | - main
12 | - develop
13 |
14 | jobs:
15 | test:
16 | runs-on: ubuntu-latest
17 | strategy:
18 | matrix:
19 | python-version: [ "3.9", "3.10", "3.11" ]
20 | steps:
21 | - uses: actions/checkout@v4
22 | - name: Install Python ${{ matrix.py }}
23 | uses: actions/setup-python@v4
24 | with:
25 | python-version: ${{ matrix.py }}
26 | - name: Get full Python version
27 | shell: bash
28 | run: echo {name}=$(python -c "import sys; print('-'.join(str(v) for v in sys.version_info))") >> $GITHUB_OUTPUT
29 | #run: echo ::set-output name=version::$(python -c "import sys; print('-'.join(str(v) for v in sys.version_info))")
30 | - name: Install dependencies
31 | shell: bash
32 | run: |
33 | python -m pip install --upgrade pip
34 | python -m pip install -e .[test]
35 | - name: Test with pytest
36 | shell: bash
37 | run: |
38 | pip install pytest
39 | pytest
40 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .idea
2 | __pycache__
3 | build
4 | dist
5 | .vscode
6 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 Antonio J. Nebro
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | # Minimal makefile for Sphinx documentation
2 | #
3 |
4 | # You can set these variables from the command line.
5 | SPHINXOPTS =
6 | SPHINXBUILD = sphinx-build
7 | SPHINXPROJ = jMetalPy
8 | SOURCEDIR = docs/source
9 | BUILDDIR = build
10 |
11 | # Put it first so that "make" without argument is like "make help".
12 | help:
13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
14 |
15 | .PHONY: help Makefile
16 |
17 | # "make github" option to build gh-pages
18 | github:
19 | @make html
20 | @cp -a $(BUILDDIR)/html/. docs
21 | @rm -r $(BUILDDIR)
22 |
23 | # Catch-all target: route all unknown targets to Sphinx using the new
24 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
25 | %: Makefile
26 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
27 | cp -R $(BUILDDIR)/html/* docs
28 |
29 |
--------------------------------------------------------------------------------
/docs/.buildinfo:
--------------------------------------------------------------------------------
1 | # Sphinx build info version 1
2 | # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3 | config: 4b780489226086b8db31ab45dede2a32
4 | tags: 645f666f9bcd5a90fca523b33c5a78b7
5 |
--------------------------------------------------------------------------------
/docs/.nojekyll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/.nojekyll
--------------------------------------------------------------------------------
/docs/_images/api_algorithm_multiobjective_eas_gde3_5_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_images/api_algorithm_multiobjective_eas_gde3_5_0.png
--------------------------------------------------------------------------------
/docs/_images/api_algorithm_multiobjective_eas_gde3_preference_5_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_images/api_algorithm_multiobjective_eas_gde3_preference_5_0.png
--------------------------------------------------------------------------------
/docs/_images/api_algorithm_multiobjective_eas_hype_5_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_images/api_algorithm_multiobjective_eas_hype_5_0.png
--------------------------------------------------------------------------------
/docs/_images/api_algorithm_multiobjective_eas_ibea_5_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_images/api_algorithm_multiobjective_eas_ibea_5_0.png
--------------------------------------------------------------------------------
/docs/_images/api_algorithm_multiobjective_eas_mocell_5_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_images/api_algorithm_multiobjective_eas_mocell_5_0.png
--------------------------------------------------------------------------------
/docs/_images/api_algorithm_multiobjective_eas_moead_5_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_images/api_algorithm_multiobjective_eas_moead_5_0.png
--------------------------------------------------------------------------------
/docs/_images/api_algorithm_multiobjective_eas_nsgaii_5_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_images/api_algorithm_multiobjective_eas_nsgaii_5_0.png
--------------------------------------------------------------------------------
/docs/_images/api_algorithm_multiobjective_eas_nsgaii_preference_5_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_images/api_algorithm_multiobjective_eas_nsgaii_preference_5_0.png
--------------------------------------------------------------------------------
/docs/_images/api_algorithm_multiobjective_eas_spea2_5_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_images/api_algorithm_multiobjective_eas_spea2_5_0.png
--------------------------------------------------------------------------------
/docs/_images/api_algorithm_multiobjective_psos_omopso_5_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_images/api_algorithm_multiobjective_psos_omopso_5_0.png
--------------------------------------------------------------------------------
/docs/_images/api_algorithm_multiobjective_psos_smpso_5_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_images/api_algorithm_multiobjective_psos_smpso_5_0.png
--------------------------------------------------------------------------------
/docs/_images/api_algorithm_multiobjective_psos_smpso_preference_5_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_images/api_algorithm_multiobjective_psos_smpso_preference_5_0.png
--------------------------------------------------------------------------------
/docs/_sources/about.rst.txt:
--------------------------------------------------------------------------------
1 | About
2 | ==============
3 |
4 | jMetalPy is being developed by `Antonio J. Nebro `_, full professor at the University of Málaga.
5 |
6 | Cite us
7 | ------------------------
8 |
9 | .. code-block:: LaTeX
10 |
11 | @article{BENITEZHIDALGO2019100598,
12 | title = "jMetalPy: A Python framework for multi-objective optimization with metaheuristics",
13 | journal = "Swarm and Evolutionary Computation",
14 | pages = "100598",
15 | year = "2019",
16 | issn = "2210-6502",
17 | doi = "https://doi.org/10.1016/j.swevo.2019.100598",
18 | url = "http://www.sciencedirect.com/science/article/pii/S2210650219301397",
19 | author = "Antonio Benítez-Hidalgo and Antonio J. Nebro and José García-Nieto and Izaskun Oregi and Javier Del Ser",
20 | keywords = "Multi-objective optimization, Metaheuristics, Software framework, Python, Statistical analysis, Visualization",
21 | }
22 |
23 | References
24 | ------------------------
25 |
26 | 1. J.J. Durillo, A.J. Nebro jMetal: a Java Framework for Multi-Objective Optimization. Advances in Engineering Software 42 (2011) 760-771.
27 | 2. A.J. Nebro, J.J. Durillo, M. Vergne Redesigning the jMetal Multi-Objective Optimization Framework. GECCO (Companion) 2015, pp: 1093-1100. July 2015.
28 | 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/_sources/api/algorithm/multiobjective/ea.rst.txt:
--------------------------------------------------------------------------------
1 | Evolutionary Algorithms
2 | =======================
3 |
4 | .. toctree::
5 | :maxdepth: 1
6 | :caption: Multi-objective evolutionary algorithms:
7 |
8 | eas/gde3
9 | eas/hype
10 | eas/ibea
11 | eas/mocell
12 | eas/moead
13 | eas/nsgaii
14 | eas/nsgaiii
15 | eas/spea2
16 |
--------------------------------------------------------------------------------
/docs/_sources/api/algorithm/multiobjective/eas/nsgaiii.ipynb.txt:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "raw",
5 | "metadata": {
6 | "raw_mimetype": "text/restructuredtext"
7 | },
8 | "source": [
9 | ".. _nb_nsgaiii:"
10 | ]
11 | },
12 | {
13 | "cell_type": "markdown",
14 | "metadata": {},
15 | "source": [
16 | "## NSGA-III"
17 | ]
18 | },
19 | {
20 | "cell_type": "markdown",
21 | "metadata": {},
22 | "source": [
23 | "### API"
24 | ]
25 | },
26 | {
27 | "cell_type": "raw",
28 | "metadata": {
29 | "pycharm": {
30 | "is_executing": false,
31 | "name": "#%% raw\n"
32 | },
33 | "raw_mimetype": "text/restructuredtext"
34 | },
35 | "source": [
36 | ".. autoclass:: jmetal.algorithm.multiobjective.nsgaiii.NSGAIII\n",
37 | " :members:\n",
38 | " :undoc-members:\n",
39 | " :show-inheritance:\n"
40 | ]
41 | }
42 | ],
43 | "metadata": {
44 | "celltoolbar": "Raw Cell Format",
45 | "kernelspec": {
46 | "display_name": "Python 3",
47 | "language": "python",
48 | "name": "python3"
49 | },
50 | "language_info": {
51 | "codemirror_mode": {
52 | "name": "ipython",
53 | "version": 3
54 | },
55 | "file_extension": ".py",
56 | "mimetype": "text/x-python",
57 | "name": "python",
58 | "nbconvert_exporter": "python",
59 | "pygments_lexer": "ipython3",
60 | "version": "3.7.3"
61 | },
62 | "pycharm": {
63 | "stem_cell": {
64 | "cell_type": "raw",
65 | "source": [],
66 | "metadata": {
67 | "collapsed": false
68 | }
69 | }
70 | }
71 | },
72 | "nbformat": 4,
73 | "nbformat_minor": 1
74 | }
75 |
--------------------------------------------------------------------------------
/docs/_sources/api/algorithm/multiobjective/pso.rst.txt:
--------------------------------------------------------------------------------
1 | PSO Algorithms
2 | =======================
3 |
4 | .. toctree::
5 | :maxdepth: 1
6 | :caption: Multi-objective particle swarm optimization algorithms:
7 |
8 | psos/omopso
9 | psos/smpso
--------------------------------------------------------------------------------
/docs/_sources/api/algorithm/singleobjective/evolution.strategy.rst.txt:
--------------------------------------------------------------------------------
1 | Evolution Strategy
2 | -----------------------------------------------------------
3 |
4 | .. automodule:: jmetal.algorithm.singleobjective.evolution_strategy
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 | :exclude-members: R
9 |
--------------------------------------------------------------------------------
/docs/_sources/api/algorithm/singleobjective/genetic.algorithm.rst.txt:
--------------------------------------------------------------------------------
1 | Genetic Algorithm
2 | ----------------------------------------------------------
3 |
4 | .. automodule:: jmetal.algorithm.singleobjective.genetic_algorithm
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 | :exclude-members: R
9 |
--------------------------------------------------------------------------------
/docs/_sources/api/algorithm/singleobjective/local.search.rst.txt:
--------------------------------------------------------------------------------
1 | Local Search
2 | -----------------------------------------------------
3 |
4 | .. automodule:: jmetal.algorithm.singleobjective.local_search
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 | :exclude-members: R
9 |
--------------------------------------------------------------------------------
/docs/_sources/api/algorithm/singleobjective/simulated.annealing.rst.txt:
--------------------------------------------------------------------------------
1 | Simulated annealing
2 | ------------------------------------------------------------
3 |
4 | .. automodule:: jmetal.algorithm.singleobjective.simulated_annealing
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 | :exclude-members: R
9 |
--------------------------------------------------------------------------------
/docs/_sources/api/jmetal.lab.statistical_test.rst.txt:
--------------------------------------------------------------------------------
1 | jmetal.lab.statistical\_test package
2 | ====================================
3 |
4 | Submodules
5 | ----------
6 |
7 | jmetal.lab.statistical\_test.apv\_procedures module
8 | ---------------------------------------------------
9 |
10 | .. automodule:: jmetal.lab.statistical_test.apv_procedures
11 | :members:
12 | :undoc-members:
13 | :show-inheritance:
14 |
15 | jmetal.lab.statistical\_test.bayesian module
16 | --------------------------------------------
17 |
18 | .. automodule:: jmetal.lab.statistical_test.bayesian
19 | :members:
20 | :undoc-members:
21 | :show-inheritance:
22 |
23 | jmetal.lab.statistical\_test.critical\_distance module
24 | ------------------------------------------------------
25 |
26 | .. automodule:: jmetal.lab.statistical_test.critical_distance
27 | :members:
28 | :undoc-members:
29 | :show-inheritance:
30 |
31 | jmetal.lab.statistical\_test.functions module
32 | ---------------------------------------------
33 |
34 | .. automodule:: jmetal.lab.statistical_test.functions
35 | :members:
36 | :undoc-members:
37 | :show-inheritance:
38 |
39 |
40 | Module contents
41 | ---------------
42 |
43 | .. automodule:: jmetal.lab.statistical_test
44 | :members:
45 | :undoc-members:
46 | :show-inheritance:
47 |
--------------------------------------------------------------------------------
/docs/_sources/api/operator/crossover.rst.txt:
--------------------------------------------------------------------------------
1 | Crossover
2 | =======================
3 |
4 | .. automodule:: jmetal.operator.crossover
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 |
--------------------------------------------------------------------------------
/docs/_sources/api/operator/mutation.rst.txt:
--------------------------------------------------------------------------------
1 | Mutation
2 | =======================
3 |
4 | .. automodule:: jmetal.operator.mutation
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
--------------------------------------------------------------------------------
/docs/_sources/api/operator/selection.rst.txt:
--------------------------------------------------------------------------------
1 | Selection
2 | =======================
3 |
4 | .. automodule:: jmetal.operator.selection
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 |
--------------------------------------------------------------------------------
/docs/_sources/api/problem/multiobjective.rst.txt:
--------------------------------------------------------------------------------
1 | Multi-objective problems
2 | =====================================
3 |
4 | Constrained
5 | ------------------------------------------------
6 |
7 | .. automodule:: jmetal.problem.multiobjective.constrained
8 | :members:
9 | :undoc-members:
10 | :show-inheritance:
11 |
12 | Unconstrained
13 | --------------------------------------------------
14 |
15 | .. automodule:: jmetal.problem.multiobjective.unconstrained
16 | :members:
17 | :undoc-members:
18 | :show-inheritance:
19 |
20 | ZDT
21 | ----------------------------------------
22 |
23 | .. automodule:: jmetal.problem.multiobjective.zdt
24 | :members:
25 | :undoc-members:
26 | :show-inheritance:
27 |
28 | DTLZ
29 | -----------------------------------------
30 |
31 | .. automodule:: jmetal.problem.multiobjective.dtlz
32 | :members:
33 | :undoc-members:
34 | :show-inheritance:
35 |
36 | FDA
37 | ----------------------------------------
38 |
39 | .. automodule:: jmetal.problem.multiobjective.fda
40 | :members:
41 | :undoc-members:
42 | :show-inheritance:
43 |
44 | LIRCMOP
45 | --------------------------------------------
46 |
47 | .. automodule:: jmetal.problem.multiobjective.lircmop
48 | :members:
49 | :undoc-members:
50 | :show-inheritance:
51 |
52 | LZ09
53 | -----------------------------------------
54 |
55 | .. automodule:: jmetal.problem.multiobjective.lz09
56 | :members:
57 | :undoc-members:
58 | :show-inheritance:
59 |
--------------------------------------------------------------------------------
/docs/_sources/api/problem/singleobjective.rst.txt:
--------------------------------------------------------------------------------
1 | Single-objective problems
2 | ======================================
3 |
4 | Unconstrained
5 | ---------------------------------------------------
6 |
7 | .. automodule:: jmetal.problem.singleobjective.unconstrained
8 | :members:
9 | :undoc-members:
10 | :show-inheritance:
11 |
12 | Knapsack
13 | ----------------------------------------------
14 |
15 | .. automodule:: jmetal.problem.singleobjective.knapsack
16 | :members:
17 | :undoc-members:
18 | :show-inheritance:
19 |
20 | TSP
21 | -----------------------------------------
22 |
23 | .. automodule:: jmetal.problem.singleobjective.tsp
24 | :members:
25 | :undoc-members:
26 | :show-inheritance:
27 |
--------------------------------------------------------------------------------
/docs/_sources/multiobjective.algorithms.rst.txt:
--------------------------------------------------------------------------------
1 | Multi-objective algorithms
2 | ================================================
3 |
4 | .. toctree::
5 | :maxdepth: 2
6 | :caption: List of multi-objective algorithms:
7 |
8 | api/algorithm/multiobjective/ea
9 | api/algorithm/multiobjective/pso
--------------------------------------------------------------------------------
/docs/_sources/operators.rst.txt:
--------------------------------------------------------------------------------
1 | Operators
2 | ================================================
3 |
4 | .. toctree::
5 | :maxdepth: 2
6 | :caption: List of genetic operators:
7 |
8 | api/operator/crossover
9 | api/operator/mutation
10 | api/operator/selection
--------------------------------------------------------------------------------
/docs/_sources/problems.rst.txt:
--------------------------------------------------------------------------------
1 | Problems
2 | ==================
3 |
4 | .. toctree::
5 | :maxdepth: 2
6 | :caption: Benchmarking problems:
7 |
8 | api/problem/multiobjective
9 | api/problem/singleobjective
--------------------------------------------------------------------------------
/docs/_sources/singleobjective.algorithms.rst.txt:
--------------------------------------------------------------------------------
1 | Single-objective algorithms
2 | ================================================
3 |
4 | .. toctree::
5 | :maxdepth: 2
6 | :caption: List of single-objective algorithms:
7 |
8 | api/algorithm/singleobjective/evolution.strategy
9 | api/algorithm/singleobjective/genetic.algorithm
10 | api/algorithm/singleobjective/local.search
11 | api/algorithm/singleobjective/simulated.annealing
--------------------------------------------------------------------------------
/docs/_sources/tutorials.rst.txt:
--------------------------------------------------------------------------------
1 | Getting started
2 | ==================
3 |
4 | .. toctree::
5 | :maxdepth: 1
6 | :caption: First steps:
7 |
8 | tutorials/problem
9 | tutorials/observer
10 | tutorials/evaluator
11 | tutorials/visualization
12 |
13 | .. toctree::
14 | :maxdepth: 1
15 | :caption: Laboratory:
16 |
17 | tutorials/experiment
18 | tutorials/statistics
19 |
--------------------------------------------------------------------------------
/docs/_sources/tutorials/statistics.rst.txt:
--------------------------------------------------------------------------------
1 | Statistical analysis
2 | ========================
3 |
4 | ToDo
--------------------------------------------------------------------------------
/docs/_static/2D.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/2D.gif
--------------------------------------------------------------------------------
/docs/_static/3D.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/3D.gif
--------------------------------------------------------------------------------
/docs/_static/NSGAII-ZDT1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/NSGAII-ZDT1.png
--------------------------------------------------------------------------------
/docs/_static/chordplot.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/chordplot.gif
--------------------------------------------------------------------------------
/docs/_static/custom.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-size: 13px;
3 | }
4 |
5 | h1 {
6 | font-size: 30px;
7 | }
8 |
9 | h2 {
10 | font-size: 24px;
11 | }
12 |
13 | h3 {
14 | font-size: 20px;
15 | }
16 |
17 | p {
18 | margin: 10px 0 10px;
19 | }
20 |
21 | code, pre, tt {
22 | font-size: 12px;
23 | padding: 10px 0 10px 0;
24 | }
25 |
26 | pre {
27 | padding: 10px 0 10px 20px;
28 | }
29 |
30 | blockquote {
31 | font-size: 13px;
32 | }
33 |
34 | .sidebar-toc {
35 | font-size: 13px;
36 | }
37 |
38 | .admonition {
39 | margin: 20px 0;
40 | padding: 10px 20px;
41 | }
42 |
43 | .admonition-title {
44 | font-size: 13px;
45 | margin: 10px 0 5px;
46 | }
47 |
48 |
49 | /* THEME COLOR */
50 |
51 | h1 {
52 | background-color: #F9F9F9;
53 | border-bottom: 1px solid #F9F9F9;
54 | }
55 |
56 | a {
57 | color: #0C0C0C;
58 | }
59 |
60 | a > code {
61 | color: #8D1A38;
62 | }
63 |
64 | a:hover {
65 | color: #0C0C0C;
66 | }
67 |
68 | .text-logo {
69 | background-color: #0C0C0C;
70 | }
71 |
72 | .sidebar-toc ul li a:hover {
73 | background-color: #0C0C0C;
74 | }
75 |
76 | a.btn-outline {
77 | color: #0C0C0C;
78 | border-color: #0C0C0C;
79 | }
80 |
81 | a:hover.btn-outline {
82 | color: #0C0C0C;
83 | }
--------------------------------------------------------------------------------
/docs/_static/documentation_options.js:
--------------------------------------------------------------------------------
1 | const DOCUMENTATION_OPTIONS = {
2 | VERSION: '1.7.0',
3 | LANGUAGE: 'en',
4 | COLLAPSE_INDEX: false,
5 | BUILDER: 'html',
6 | FILE_SUFFIX: '.html',
7 | LINK_SUFFIX: '.html',
8 | HAS_SOURCE: true,
9 | SOURCELINK_SUFFIX: '.txt',
10 | NAVIGATION_WITH_KEYS: false,
11 | SHOW_SEARCH_SUMMARY: true,
12 | ENABLE_SEARCH_SHORTCUTS: true,
13 | };
--------------------------------------------------------------------------------
/docs/_static/file.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/file.png
--------------------------------------------------------------------------------
/docs/_static/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/docs/_static/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/docs/_static/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-Bold-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-Bold-webfont.eot
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-Bold-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-Bold-webfont.ttf
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-Bold-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-Bold-webfont.woff
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-BoldItalic-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-BoldItalic-webfont.eot
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-BoldItalic-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-BoldItalic-webfont.ttf
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-BoldItalic-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-BoldItalic-webfont.woff
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-ExtraBold-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-ExtraBold-webfont.eot
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-ExtraBold-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-ExtraBold-webfont.ttf
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-ExtraBold-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-ExtraBold-webfont.woff
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-ExtraBoldItalic-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-ExtraBoldItalic-webfont.eot
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-ExtraBoldItalic-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-ExtraBoldItalic-webfont.ttf
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-ExtraBoldItalic-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-ExtraBoldItalic-webfont.woff
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-Italic-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-Italic-webfont.eot
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-Italic-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-Italic-webfont.ttf
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-Italic-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-Italic-webfont.woff
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-Light-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-Light-webfont.eot
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-Light-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-Light-webfont.ttf
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-Light-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-Light-webfont.woff
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-LightItalic-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-LightItalic-webfont.eot
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-LightItalic-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-LightItalic-webfont.ttf
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-LightItalic-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-LightItalic-webfont.woff
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-Regular-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-Regular-webfont.eot
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-Regular-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-Regular-webfont.ttf
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-Regular-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-Regular-webfont.woff
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-Semibold-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-Semibold-webfont.eot
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-Semibold-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-Semibold-webfont.ttf
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-Semibold-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-Semibold-webfont.woff
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-SemiboldItalic-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-SemiboldItalic-webfont.eot
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-SemiboldItalic-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-SemiboldItalic-webfont.ttf
--------------------------------------------------------------------------------
/docs/_static/fonts/open-sans/fonts/OpenSans-SemiboldItalic-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/open-sans/fonts/OpenSans-SemiboldItalic-webfont.woff
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/EOT/SourceSerifPro-Black.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/EOT/SourceSerifPro-Black.eot
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/EOT/SourceSerifPro-Bold.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/EOT/SourceSerifPro-Bold.eot
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/EOT/SourceSerifPro-ExtraLight.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/EOT/SourceSerifPro-ExtraLight.eot
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/EOT/SourceSerifPro-Light.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/EOT/SourceSerifPro-Light.eot
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/EOT/SourceSerifPro-Regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/EOT/SourceSerifPro-Regular.eot
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/EOT/SourceSerifPro-Semibold.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/EOT/SourceSerifPro-Semibold.eot
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/OTF/SourceSerifPro-Black.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/OTF/SourceSerifPro-Black.otf
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/OTF/SourceSerifPro-Bold.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/OTF/SourceSerifPro-Bold.otf
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/OTF/SourceSerifPro-ExtraLight.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/OTF/SourceSerifPro-ExtraLight.otf
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/OTF/SourceSerifPro-Light.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/OTF/SourceSerifPro-Light.otf
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/OTF/SourceSerifPro-Regular.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/OTF/SourceSerifPro-Regular.otf
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/OTF/SourceSerifPro-Semibold.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/OTF/SourceSerifPro-Semibold.otf
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/README.md:
--------------------------------------------------------------------------------
1 | # Source Serif Pro
2 |
3 | Source Serif Pro is a set of OpenType fonts to complement the [Source Sans Pro](https://github.com/adobe-fonts/source-sans-pro) family.
4 | In addition to a functional OpenType font, this open source project provides all of the source files that were used to build this OpenType font by using the AFDKO makeotf tool.
5 |
6 | ## Installation instructions
7 |
8 | * [Mac OS X](http://support.apple.com/kb/HT2509)
9 | * [Windows](http://windows.microsoft.com/en-us/windows-vista/install-or-uninstall-fonts)
10 | * [Linux/Unix-based systems](https://github.com/adobe-fonts/source-code-pro/issues/17#issuecomment-8967116)
11 |
12 | ## Getting Involved
13 |
14 | Send suggestions for changes to the Source Serif OpenType font project maintainer, [Frank Grießhammer](mailto:opensourcefonts@adobe.com?subject=[GitHub] Source Serif Pro), for consideration.
15 |
16 | ## Further information
17 |
18 | For information about the design and background of Source Serif, please refer to the [official font readme file](http://htmlpreview.github.io/?https://github.com/adobe-fonts/source-serif-pro/blob/master/SourceSerifProReadMe.html).
19 |
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/TTF/SourceSerifPro-Black.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/TTF/SourceSerifPro-Black.ttf
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/TTF/SourceSerifPro-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/TTF/SourceSerifPro-Bold.ttf
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/TTF/SourceSerifPro-ExtraLight.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/TTF/SourceSerifPro-ExtraLight.ttf
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/TTF/SourceSerifPro-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/TTF/SourceSerifPro-Light.ttf
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/TTF/SourceSerifPro-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/TTF/SourceSerifPro-Regular.ttf
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/TTF/SourceSerifPro-Semibold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/TTF/SourceSerifPro-Semibold.ttf
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/WOFF/OTF/SourceSerifPro-Black.otf.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/WOFF/OTF/SourceSerifPro-Black.otf.woff
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/WOFF/OTF/SourceSerifPro-Bold.otf.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/WOFF/OTF/SourceSerifPro-Bold.otf.woff
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/WOFF/OTF/SourceSerifPro-ExtraLight.otf.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/WOFF/OTF/SourceSerifPro-ExtraLight.otf.woff
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/WOFF/OTF/SourceSerifPro-Light.otf.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/WOFF/OTF/SourceSerifPro-Light.otf.woff
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/WOFF/OTF/SourceSerifPro-Regular.otf.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/WOFF/OTF/SourceSerifPro-Regular.otf.woff
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/WOFF/OTF/SourceSerifPro-Semibold.otf.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/WOFF/OTF/SourceSerifPro-Semibold.otf.woff
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/WOFF/TTF/SourceSerifPro-Black.ttf.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/WOFF/TTF/SourceSerifPro-Black.ttf.woff
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/WOFF/TTF/SourceSerifPro-Bold.ttf.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/WOFF/TTF/SourceSerifPro-Bold.ttf.woff
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/WOFF/TTF/SourceSerifPro-ExtraLight.ttf.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/WOFF/TTF/SourceSerifPro-ExtraLight.ttf.woff
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/WOFF/TTF/SourceSerifPro-Light.ttf.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/WOFF/TTF/SourceSerifPro-Light.ttf.woff
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/WOFF/TTF/SourceSerifPro-Regular.ttf.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/WOFF/TTF/SourceSerifPro-Regular.ttf.woff
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/WOFF/TTF/SourceSerifPro-Semibold.ttf.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/fonts/source-serif-pro/WOFF/TTF/SourceSerifPro-Semibold.ttf.woff
--------------------------------------------------------------------------------
/docs/_static/fonts/source-serif-pro/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "source-serif-pro",
3 | "version": "1.014",
4 | "main": "source-serif-pro.css",
5 | "homepage": "https://github.com/adobe-fonts/source-serif-pro",
6 | "repository": {
7 | "type": "git",
8 | "url": "https://github.com/adobe-fonts/source-serif-pro.git"
9 | },
10 | "authors": [
11 | { "name": "Frank Grießhammer" }
12 | ],
13 | "description": "Source Serif Pro font family by Adobe",
14 | "license": "SIL OFL 1.1"
15 | }
16 |
--------------------------------------------------------------------------------
/docs/_static/jmetalpy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/jmetalpy.png
--------------------------------------------------------------------------------
/docs/_static/minus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/minus.png
--------------------------------------------------------------------------------
/docs/_static/nbsphinx-gallery.css:
--------------------------------------------------------------------------------
1 | .nbsphinx-gallery {
2 | display: grid;
3 | grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
4 | gap: 5px;
5 | margin-top: 1em;
6 | margin-bottom: 1em;
7 | }
8 |
9 | .nbsphinx-gallery > a {
10 | padding: 5px;
11 | border: 1px dotted currentColor;
12 | border-radius: 2px;
13 | text-align: center;
14 | }
15 |
16 | .nbsphinx-gallery > a:hover {
17 | border-style: solid;
18 | }
19 |
20 | .nbsphinx-gallery img {
21 | max-width: 100%;
22 | max-height: 100%;
23 | }
24 |
25 | .nbsphinx-gallery > a > div:first-child {
26 | display: flex;
27 | align-items: start;
28 | justify-content: center;
29 | height: 120px;
30 | margin-bottom: 5px;
31 | }
32 |
--------------------------------------------------------------------------------
/docs/_static/p-c.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/p-c.gif
--------------------------------------------------------------------------------
/docs/_static/plus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/_static/plus.png
--------------------------------------------------------------------------------
/docs/api/algorithm/multiobjective/eas/nsgaiii.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "raw",
5 | "metadata": {
6 | "raw_mimetype": "text/restructuredtext"
7 | },
8 | "source": [
9 | ".. _nb_nsgaiii:"
10 | ]
11 | },
12 | {
13 | "cell_type": "markdown",
14 | "metadata": {},
15 | "source": [
16 | "## NSGA-III"
17 | ]
18 | },
19 | {
20 | "cell_type": "markdown",
21 | "metadata": {},
22 | "source": [
23 | "### API"
24 | ]
25 | },
26 | {
27 | "cell_type": "raw",
28 | "metadata": {
29 | "pycharm": {
30 | "is_executing": false,
31 | "name": "#%% raw\n"
32 | },
33 | "raw_mimetype": "text/restructuredtext"
34 | },
35 | "source": [
36 | ".. autoclass:: jmetal.algorithm.multiobjective.nsgaiii.NSGAIII\n",
37 | " :members:\n",
38 | " :undoc-members:\n",
39 | " :show-inheritance:\n"
40 | ]
41 | }
42 | ],
43 | "metadata": {
44 | "celltoolbar": "Raw Cell Format",
45 | "kernelspec": {
46 | "display_name": "Python 3",
47 | "language": "python",
48 | "name": "python3"
49 | },
50 | "language_info": {
51 | "codemirror_mode": {
52 | "name": "ipython",
53 | "version": 3
54 | },
55 | "file_extension": ".py",
56 | "mimetype": "text/x-python",
57 | "name": "python",
58 | "nbconvert_exporter": "python",
59 | "pygments_lexer": "ipython3",
60 | "version": "3.7.3"
61 | },
62 | "pycharm": {
63 | "stem_cell": {
64 | "cell_type": "raw",
65 | "metadata": {
66 | "collapsed": false
67 | },
68 | "source": []
69 | }
70 | }
71 | },
72 | "nbformat": 4,
73 | "nbformat_minor": 1
74 | }
75 |
--------------------------------------------------------------------------------
/docs/objects.inv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/objects.inv
--------------------------------------------------------------------------------
/docs/source/_static/2D.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_static/2D.gif
--------------------------------------------------------------------------------
/docs/source/_static/3D.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_static/3D.gif
--------------------------------------------------------------------------------
/docs/source/_static/NSGAII-ZDT1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_static/NSGAII-ZDT1.png
--------------------------------------------------------------------------------
/docs/source/_static/chordplot.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_static/chordplot.gif
--------------------------------------------------------------------------------
/docs/source/_static/custom.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-size: 13px;
3 | }
4 |
5 | h1 {
6 | font-size: 30px;
7 | }
8 |
9 | h2 {
10 | font-size: 24px;
11 | }
12 |
13 | h3 {
14 | font-size: 20px;
15 | }
16 |
17 | p {
18 | margin: 10px 0 10px;
19 | }
20 |
21 | code, pre, tt {
22 | font-size: 12px;
23 | padding: 10px 0 10px 0;
24 | }
25 |
26 | pre {
27 | padding: 10px 0 10px 20px;
28 | }
29 |
30 | blockquote {
31 | font-size: 13px;
32 | }
33 |
34 | .sidebar-toc {
35 | font-size: 13px;
36 | }
37 |
38 | .admonition {
39 | margin: 20px 0;
40 | padding: 10px 20px;
41 | }
42 |
43 | .admonition-title {
44 | font-size: 13px;
45 | margin: 10px 0 5px;
46 | }
47 |
48 |
49 | /* THEME COLOR */
50 |
51 | h1 {
52 | background-color: #F9F9F9;
53 | border-bottom: 1px solid #F9F9F9;
54 | }
55 |
56 | a {
57 | color: #0C0C0C;
58 | }
59 |
60 | a > code {
61 | color: #8D1A38;
62 | }
63 |
64 | a:hover {
65 | color: #0C0C0C;
66 | }
67 |
68 | .text-logo {
69 | background-color: #0C0C0C;
70 | }
71 |
72 | .sidebar-toc ul li a:hover {
73 | background-color: #0C0C0C;
74 | }
75 |
76 | a.btn-outline {
77 | color: #0C0C0C;
78 | border-color: #0C0C0C;
79 | }
80 |
81 | a:hover.btn-outline {
82 | color: #0C0C0C;
83 | }
--------------------------------------------------------------------------------
/docs/source/_static/jmetalpy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_static/jmetalpy.png
--------------------------------------------------------------------------------
/docs/source/_static/p-c.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_static/p-c.gif
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/comments.html:
--------------------------------------------------------------------------------
1 | {% if theme_disqus_comments_shortname %}
2 |
16 | {% endif %}
17 |
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/globaltoc.html:
--------------------------------------------------------------------------------
1 |
2 |
15 |
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/localtoc.html:
--------------------------------------------------------------------------------
1 | {%- if display_toc %}
2 |
10 | {%- endif %}
11 |
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/logo-text.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
11 |
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/searchbox.html:
--------------------------------------------------------------------------------
1 | {%- if pagename != "search" %}
2 |
15 | {%- endif %}
16 |
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Bold-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Bold-webfont.eot
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Bold-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Bold-webfont.ttf
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Bold-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Bold-webfont.woff
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-BoldItalic-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-BoldItalic-webfont.eot
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-BoldItalic-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-BoldItalic-webfont.ttf
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-BoldItalic-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-BoldItalic-webfont.woff
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-ExtraBold-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-ExtraBold-webfont.eot
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-ExtraBold-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-ExtraBold-webfont.ttf
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-ExtraBold-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-ExtraBold-webfont.woff
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-ExtraBoldItalic-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-ExtraBoldItalic-webfont.eot
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-ExtraBoldItalic-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-ExtraBoldItalic-webfont.ttf
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-ExtraBoldItalic-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-ExtraBoldItalic-webfont.woff
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Italic-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Italic-webfont.eot
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Italic-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Italic-webfont.ttf
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Italic-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Italic-webfont.woff
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Light-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Light-webfont.eot
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Light-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Light-webfont.ttf
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Light-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Light-webfont.woff
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-LightItalic-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-LightItalic-webfont.eot
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-LightItalic-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-LightItalic-webfont.ttf
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-LightItalic-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-LightItalic-webfont.woff
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Regular-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Regular-webfont.eot
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Regular-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Regular-webfont.ttf
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Regular-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Regular-webfont.woff
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Semibold-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Semibold-webfont.eot
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Semibold-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Semibold-webfont.ttf
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Semibold-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-Semibold-webfont.woff
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-SemiboldItalic-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-SemiboldItalic-webfont.eot
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-SemiboldItalic-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-SemiboldItalic-webfont.ttf
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-SemiboldItalic-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/open-sans/fonts/OpenSans-SemiboldItalic-webfont.woff
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/EOT/SourceSerifPro-Black.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/EOT/SourceSerifPro-Black.eot
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/EOT/SourceSerifPro-Bold.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/EOT/SourceSerifPro-Bold.eot
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/EOT/SourceSerifPro-ExtraLight.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/EOT/SourceSerifPro-ExtraLight.eot
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/EOT/SourceSerifPro-Light.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/EOT/SourceSerifPro-Light.eot
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/EOT/SourceSerifPro-Regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/EOT/SourceSerifPro-Regular.eot
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/EOT/SourceSerifPro-Semibold.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/EOT/SourceSerifPro-Semibold.eot
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/OTF/SourceSerifPro-Black.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/OTF/SourceSerifPro-Black.otf
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/OTF/SourceSerifPro-Bold.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/OTF/SourceSerifPro-Bold.otf
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/OTF/SourceSerifPro-ExtraLight.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/OTF/SourceSerifPro-ExtraLight.otf
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/OTF/SourceSerifPro-Light.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/OTF/SourceSerifPro-Light.otf
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/OTF/SourceSerifPro-Regular.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/OTF/SourceSerifPro-Regular.otf
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/OTF/SourceSerifPro-Semibold.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/OTF/SourceSerifPro-Semibold.otf
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/README.md:
--------------------------------------------------------------------------------
1 | # Source Serif Pro
2 |
3 | Source Serif Pro is a set of OpenType fonts to complement the [Source Sans Pro](https://github.com/adobe-fonts/source-sans-pro) family.
4 | In addition to a functional OpenType font, this open source project provides all of the source files that were used to build this OpenType font by using the AFDKO makeotf tool.
5 |
6 | ## Installation instructions
7 |
8 | * [Mac OS X](http://support.apple.com/kb/HT2509)
9 | * [Windows](http://windows.microsoft.com/en-us/windows-vista/install-or-uninstall-fonts)
10 | * [Linux/Unix-based systems](https://github.com/adobe-fonts/source-code-pro/issues/17#issuecomment-8967116)
11 |
12 | ## Getting Involved
13 |
14 | Send suggestions for changes to the Source Serif OpenType font project maintainer, [Frank Grießhammer](mailto:opensourcefonts@adobe.com?subject=[GitHub] Source Serif Pro), for consideration.
15 |
16 | ## Further information
17 |
18 | For information about the design and background of Source Serif, please refer to the [official font readme file](http://htmlpreview.github.io/?https://github.com/adobe-fonts/source-serif-pro/blob/master/SourceSerifProReadMe.html).
19 |
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/TTF/SourceSerifPro-Black.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/TTF/SourceSerifPro-Black.ttf
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/TTF/SourceSerifPro-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/TTF/SourceSerifPro-Bold.ttf
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/TTF/SourceSerifPro-ExtraLight.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/TTF/SourceSerifPro-ExtraLight.ttf
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/TTF/SourceSerifPro-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/TTF/SourceSerifPro-Light.ttf
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/TTF/SourceSerifPro-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/TTF/SourceSerifPro-Regular.ttf
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/TTF/SourceSerifPro-Semibold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/TTF/SourceSerifPro-Semibold.ttf
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/WOFF/OTF/SourceSerifPro-Black.otf.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/WOFF/OTF/SourceSerifPro-Black.otf.woff
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/WOFF/OTF/SourceSerifPro-Bold.otf.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/WOFF/OTF/SourceSerifPro-Bold.otf.woff
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/WOFF/OTF/SourceSerifPro-ExtraLight.otf.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/WOFF/OTF/SourceSerifPro-ExtraLight.otf.woff
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/WOFF/OTF/SourceSerifPro-Light.otf.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/WOFF/OTF/SourceSerifPro-Light.otf.woff
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/WOFF/OTF/SourceSerifPro-Regular.otf.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/WOFF/OTF/SourceSerifPro-Regular.otf.woff
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/WOFF/OTF/SourceSerifPro-Semibold.otf.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/WOFF/OTF/SourceSerifPro-Semibold.otf.woff
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/WOFF/TTF/SourceSerifPro-Black.ttf.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/WOFF/TTF/SourceSerifPro-Black.ttf.woff
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/WOFF/TTF/SourceSerifPro-Bold.ttf.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/WOFF/TTF/SourceSerifPro-Bold.ttf.woff
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/WOFF/TTF/SourceSerifPro-ExtraLight.ttf.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/WOFF/TTF/SourceSerifPro-ExtraLight.ttf.woff
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/WOFF/TTF/SourceSerifPro-Light.ttf.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/WOFF/TTF/SourceSerifPro-Light.ttf.woff
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/WOFF/TTF/SourceSerifPro-Regular.ttf.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/WOFF/TTF/SourceSerifPro-Regular.ttf.woff
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/WOFF/TTF/SourceSerifPro-Semibold.ttf.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/_templates/guzzle/static/fonts/source-serif-pro/WOFF/TTF/SourceSerifPro-Semibold.ttf.woff
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/static/fonts/source-serif-pro/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "source-serif-pro",
3 | "version": "1.014",
4 | "main": "source-serif-pro.css",
5 | "homepage": "https://github.com/adobe-fonts/source-serif-pro",
6 | "repository": {
7 | "type": "git",
8 | "url": "https://github.com/adobe-fonts/source-serif-pro.git"
9 | },
10 | "authors": [
11 | { "name": "Frank Grießhammer" }
12 | ],
13 | "description": "Source Serif Pro font family by Adobe",
14 | "license": "SIL OFL 1.1"
15 | }
16 |
--------------------------------------------------------------------------------
/docs/source/_templates/guzzle/theme.conf:
--------------------------------------------------------------------------------
1 | [theme]
2 |
3 | inherit = basic
4 | stylesheet = guzzle.css
5 |
6 | [options]
7 |
8 | # Set to an html template to load custom HTML for the homepage
9 | index_template =
10 |
11 | # Set the name of the project to appear in the left sidebar.
12 | project_nav_name =
13 |
14 | # Set the logo of the project to appear in the left sidebar
15 | project_nav_logo =
16 |
17 | # Path to a touch icon
18 | touch_icon =
19 |
20 | # Set this value to enable Disqus comments
21 | disqus_comments_shortname =
22 |
23 | # Set to enable google analytics
24 | google_analytics_account =
25 |
26 | # Specify a base_url used to generate sitemap.xml links. If not specified, then
27 | # no sitemap will be built.
28 | base_url =
29 |
30 | # Allow a separate homepage from the "master_doc"
31 | homepage =
32 |
33 | # Allow the project link to be overwritten to a custom URL.
34 | projectlink =
35 |
36 | # The maximum depth of the global TOC; set it to -1 to allow unlimited depth
37 | globaltoc_depth = 2
38 |
39 | # If true, TOC entries that are not ancestors of the current page are collapsed
40 | globaltoc_collapse = true
41 |
42 | # If true, the global TOC tree will also contain hidden entries
43 | globaltoc_includehidden = true
44 |
--------------------------------------------------------------------------------
/docs/source/about.rst:
--------------------------------------------------------------------------------
1 | About
2 | ==============
3 |
4 | jMetalPy is being developed by `Antonio J. Nebro `_, full professor at the University of Málaga.
5 |
6 | Cite us
7 | ------------------------
8 |
9 | .. code-block:: LaTeX
10 |
11 | @article{BENITEZHIDALGO2019100598,
12 | title = "jMetalPy: A Python framework for multi-objective optimization with metaheuristics",
13 | journal = "Swarm and Evolutionary Computation",
14 | pages = "100598",
15 | year = "2019",
16 | issn = "2210-6502",
17 | doi = "https://doi.org/10.1016/j.swevo.2019.100598",
18 | url = "http://www.sciencedirect.com/science/article/pii/S2210650219301397",
19 | author = "Antonio Benítez-Hidalgo and Antonio J. Nebro and José García-Nieto and Izaskun Oregi and Javier Del Ser",
20 | keywords = "Multi-objective optimization, Metaheuristics, Software framework, Python, Statistical analysis, Visualization",
21 | }
22 |
23 | References
24 | ------------------------
25 |
26 | 1. J.J. Durillo, A.J. Nebro jMetal: a Java Framework for Multi-Objective Optimization. Advances in Engineering Software 42 (2011) 760-771.
27 | 2. A.J. Nebro, J.J. Durillo, M. Vergne Redesigning the jMetal Multi-Objective Optimization Framework. GECCO (Companion) 2015, pp: 1093-1100. July 2015.
28 | 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/algorithm/multiobjective/ea.rst:
--------------------------------------------------------------------------------
1 | Evolutionary Algorithms
2 | =======================
3 |
4 | .. toctree::
5 | :maxdepth: 1
6 | :caption: Multi-objective evolutionary algorithms:
7 |
8 | eas/gde3
9 | eas/hype
10 | eas/ibea
11 | eas/mocell
12 | eas/moead
13 | eas/nsgaii
14 | eas/nsgaiii
15 | eas/spea2
16 |
--------------------------------------------------------------------------------
/docs/source/api/algorithm/multiobjective/eas/nsgaiii.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "raw",
5 | "metadata": {
6 | "raw_mimetype": "text/restructuredtext"
7 | },
8 | "source": [
9 | ".. _nb_nsgaiii:"
10 | ]
11 | },
12 | {
13 | "cell_type": "markdown",
14 | "metadata": {},
15 | "source": [
16 | "## NSGA-III"
17 | ]
18 | },
19 | {
20 | "cell_type": "markdown",
21 | "metadata": {},
22 | "source": [
23 | "### API"
24 | ]
25 | },
26 | {
27 | "cell_type": "raw",
28 | "metadata": {
29 | "pycharm": {
30 | "is_executing": false,
31 | "name": "#%% raw\n"
32 | },
33 | "raw_mimetype": "text/restructuredtext"
34 | },
35 | "source": [
36 | ".. autoclass:: jmetal.algorithm.multiobjective.nsgaiii.NSGAIII\n",
37 | " :members:\n",
38 | " :undoc-members:\n",
39 | " :show-inheritance:\n"
40 | ]
41 | }
42 | ],
43 | "metadata": {
44 | "celltoolbar": "Raw Cell Format",
45 | "kernelspec": {
46 | "display_name": "Python 3",
47 | "language": "python",
48 | "name": "python3"
49 | },
50 | "language_info": {
51 | "codemirror_mode": {
52 | "name": "ipython",
53 | "version": 3
54 | },
55 | "file_extension": ".py",
56 | "mimetype": "text/x-python",
57 | "name": "python",
58 | "nbconvert_exporter": "python",
59 | "pygments_lexer": "ipython3",
60 | "version": "3.7.3"
61 | },
62 | "pycharm": {
63 | "stem_cell": {
64 | "cell_type": "raw",
65 | "source": [],
66 | "metadata": {
67 | "collapsed": false
68 | }
69 | }
70 | }
71 | },
72 | "nbformat": 4,
73 | "nbformat_minor": 1
74 | }
75 |
--------------------------------------------------------------------------------
/docs/source/api/algorithm/multiobjective/pso.rst:
--------------------------------------------------------------------------------
1 | PSO Algorithms
2 | =======================
3 |
4 | .. toctree::
5 | :maxdepth: 1
6 | :caption: Multi-objective particle swarm optimization algorithms:
7 |
8 | psos/omopso
9 | psos/smpso
--------------------------------------------------------------------------------
/docs/source/api/algorithm/singleobjective/evolution.strategy.rst:
--------------------------------------------------------------------------------
1 | Evolution Strategy
2 | -----------------------------------------------------------
3 |
4 | .. automodule:: jmetal.algorithm.singleobjective.evolution_strategy
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 | :exclude-members: R
9 |
--------------------------------------------------------------------------------
/docs/source/api/algorithm/singleobjective/genetic.algorithm.rst:
--------------------------------------------------------------------------------
1 | Genetic Algorithm
2 | ----------------------------------------------------------
3 |
4 | .. automodule:: jmetal.algorithm.singleobjective.genetic_algorithm
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 | :exclude-members: R
9 |
--------------------------------------------------------------------------------
/docs/source/api/algorithm/singleobjective/local.search.rst:
--------------------------------------------------------------------------------
1 | Local Search
2 | -----------------------------------------------------
3 |
4 | .. automodule:: jmetal.algorithm.singleobjective.local_search
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 | :exclude-members: R
9 |
--------------------------------------------------------------------------------
/docs/source/api/algorithm/singleobjective/simulated.annealing.rst:
--------------------------------------------------------------------------------
1 | Simulated annealing
2 | ------------------------------------------------------------
3 |
4 | .. automodule:: jmetal.algorithm.singleobjective.simulated_annealing
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 | :exclude-members: R
9 |
--------------------------------------------------------------------------------
/docs/source/api/jmetal.lab.statistical_test.rst:
--------------------------------------------------------------------------------
1 | jmetal.lab.statistical\_test package
2 | ====================================
3 |
4 | Submodules
5 | ----------
6 |
7 | jmetal.lab.statistical\_test.apv\_procedures module
8 | ---------------------------------------------------
9 |
10 | .. automodule:: jmetal.lab.statistical_test.apv_procedures
11 | :members:
12 | :undoc-members:
13 | :show-inheritance:
14 |
15 | jmetal.lab.statistical\_test.bayesian module
16 | --------------------------------------------
17 |
18 | .. automodule:: jmetal.lab.statistical_test.bayesian
19 | :members:
20 | :undoc-members:
21 | :show-inheritance:
22 |
23 | jmetal.lab.statistical\_test.critical\_distance module
24 | ------------------------------------------------------
25 |
26 | .. automodule:: jmetal.lab.statistical_test.critical_distance
27 | :members:
28 | :undoc-members:
29 | :show-inheritance:
30 |
31 | jmetal.lab.statistical\_test.functions module
32 | ---------------------------------------------
33 |
34 | .. automodule:: jmetal.lab.statistical_test.functions
35 | :members:
36 | :undoc-members:
37 | :show-inheritance:
38 |
39 |
40 | Module contents
41 | ---------------
42 |
43 | .. automodule:: jmetal.lab.statistical_test
44 | :members:
45 | :undoc-members:
46 | :show-inheritance:
47 |
--------------------------------------------------------------------------------
/docs/source/api/operator/crossover.rst:
--------------------------------------------------------------------------------
1 | Crossover
2 | =======================
3 |
4 | .. automodule:: jmetal.operator.crossover
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 |
--------------------------------------------------------------------------------
/docs/source/api/operator/mutation.rst:
--------------------------------------------------------------------------------
1 | Mutation
2 | =======================
3 |
4 | .. automodule:: jmetal.operator.mutation
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
--------------------------------------------------------------------------------
/docs/source/api/operator/selection.rst:
--------------------------------------------------------------------------------
1 | Selection
2 | =======================
3 |
4 | .. automodule:: jmetal.operator.selection
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 |
--------------------------------------------------------------------------------
/docs/source/api/problem/multiobjective.rst:
--------------------------------------------------------------------------------
1 | Multi-objective problems
2 | =====================================
3 |
4 | Constrained
5 | ------------------------------------------------
6 |
7 | .. automodule:: jmetal.problem.multiobjective.constrained
8 | :members:
9 | :undoc-members:
10 | :show-inheritance:
11 |
12 | Unconstrained
13 | --------------------------------------------------
14 |
15 | .. automodule:: jmetal.problem.multiobjective.unconstrained
16 | :members:
17 | :undoc-members:
18 | :show-inheritance:
19 |
20 | ZDT
21 | ----------------------------------------
22 |
23 | .. automodule:: jmetal.problem.multiobjective.zdt
24 | :members:
25 | :undoc-members:
26 | :show-inheritance:
27 |
28 | DTLZ
29 | -----------------------------------------
30 |
31 | .. automodule:: jmetal.problem.multiobjective.dtlz
32 | :members:
33 | :undoc-members:
34 | :show-inheritance:
35 |
36 | FDA
37 | ----------------------------------------
38 |
39 | .. automodule:: jmetal.problem.multiobjective.fda
40 | :members:
41 | :undoc-members:
42 | :show-inheritance:
43 |
44 | LIRCMOP
45 | --------------------------------------------
46 |
47 | .. automodule:: jmetal.problem.multiobjective.lircmop
48 | :members:
49 | :undoc-members:
50 | :show-inheritance:
51 |
52 | LZ09
53 | -----------------------------------------
54 |
55 | .. automodule:: jmetal.problem.multiobjective.lz09
56 | :members:
57 | :undoc-members:
58 | :show-inheritance:
59 |
--------------------------------------------------------------------------------
/docs/source/api/problem/singleobjective.rst:
--------------------------------------------------------------------------------
1 | Single-objective problems
2 | ======================================
3 |
4 | Unconstrained
5 | ---------------------------------------------------
6 |
7 | .. automodule:: jmetal.problem.singleobjective.unconstrained
8 | :members:
9 | :undoc-members:
10 | :show-inheritance:
11 |
12 | Knapsack
13 | ----------------------------------------------
14 |
15 | .. automodule:: jmetal.problem.singleobjective.knapsack
16 | :members:
17 | :undoc-members:
18 | :show-inheritance:
19 |
20 | TSP
21 | -----------------------------------------
22 |
23 | .. automodule:: jmetal.problem.singleobjective.tsp
24 | :members:
25 | :undoc-members:
26 | :show-inheritance:
27 |
--------------------------------------------------------------------------------
/docs/source/jmetalpy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/docs/source/jmetalpy.png
--------------------------------------------------------------------------------
/docs/source/multiobjective.algorithms.rst:
--------------------------------------------------------------------------------
1 | Multi-objective algorithms
2 | ================================================
3 |
4 | .. toctree::
5 | :maxdepth: 2
6 | :caption: List of multi-objective algorithms:
7 |
8 | api/algorithm/multiobjective/ea
9 | api/algorithm/multiobjective/pso
--------------------------------------------------------------------------------
/docs/source/operators.rst:
--------------------------------------------------------------------------------
1 | Operators
2 | ================================================
3 |
4 | .. toctree::
5 | :maxdepth: 2
6 | :caption: List of genetic operators:
7 |
8 | api/operator/crossover
9 | api/operator/mutation
10 | api/operator/selection
--------------------------------------------------------------------------------
/docs/source/problems.rst:
--------------------------------------------------------------------------------
1 | Problems
2 | ==================
3 |
4 | .. toctree::
5 | :maxdepth: 2
6 | :caption: Benchmarking problems:
7 |
8 | api/problem/multiobjective
9 | api/problem/singleobjective
--------------------------------------------------------------------------------
/docs/source/singleobjective.algorithms.rst:
--------------------------------------------------------------------------------
1 | Single-objective algorithms
2 | ================================================
3 |
4 | .. toctree::
5 | :maxdepth: 2
6 | :caption: List of single-objective algorithms:
7 |
8 | api/algorithm/singleobjective/evolution.strategy
9 | api/algorithm/singleobjective/genetic.algorithm
10 | api/algorithm/singleobjective/local.search
11 | api/algorithm/singleobjective/simulated.annealing
--------------------------------------------------------------------------------
/docs/source/tutorials.rst:
--------------------------------------------------------------------------------
1 | Getting started
2 | ==================
3 |
4 | .. toctree::
5 | :maxdepth: 1
6 | :caption: First steps:
7 |
8 | tutorials/problem
9 | tutorials/observer
10 | tutorials/evaluator
11 | tutorials/visualization
12 |
13 | .. toctree::
14 | :maxdepth: 1
15 | :caption: Laboratory:
16 |
17 | tutorials/experiment
18 | tutorials/statistics
19 |
--------------------------------------------------------------------------------
/docs/source/tutorials/statistics.rst:
--------------------------------------------------------------------------------
1 | Statistical analysis
2 | ========================
3 |
4 | ToDo
--------------------------------------------------------------------------------
/examples/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/examples/__init__.py
--------------------------------------------------------------------------------
/examples/experiment/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/examples/experiment/__init__.py
--------------------------------------------------------------------------------
/examples/experiment/generateKolmogorovSmirnovLatexTables.py:
--------------------------------------------------------------------------------
1 | from jmetal.lab.experiment import (
2 | generate_kolmogorov_smirnov_latex_tables,
3 | )
4 |
5 | if __name__ == "__main__":
6 | """
7 | Generate Latex tables with the results of the Kolmogorov-Smirnov test. The last algorithm is considered as
8 | the reference algorithm, and the cells include a symbol with the p-value < 0.05.
9 | """
10 | generate_kolmogorov_smirnov_latex_tables(filename="QualityIndicatorSummary.csv")
11 |
--------------------------------------------------------------------------------
/examples/experiment/generateMedianAndWilcoxonLatexTables.py:
--------------------------------------------------------------------------------
1 | from jmetal.lab.experiment import (
2 | generate_median_and_wilcoxon_latex_tables,
3 | )
4 |
5 | if __name__ == "__main__":
6 | """
7 | Generate Latex tables including medians and IQRs. Additionally, the last algorithm is considered as the reference
8 | algorithm, and the cells include a symbol indicating whether the differences with the reference algorithm
9 | are significant or not according to the Wilcoxon rank sum test.
10 | """
11 | generate_median_and_wilcoxon_latex_tables(filename="QualityIndicatorSummary.csv")
12 |
--------------------------------------------------------------------------------
/examples/multiobjective/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/examples/multiobjective/__init__.py
--------------------------------------------------------------------------------
/examples/multiobjective/gde3/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/examples/multiobjective/gde3/__init__.py
--------------------------------------------------------------------------------
/examples/multiobjective/gde3/dynamic_gde3.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective.gde3 import DynamicGDE3
2 | from jmetal.problem.multiobjective.fda import FDA2
3 | from jmetal.util.observable import TimeCounter
4 | from jmetal.util.observer import PlotFrontToFileObserver, WriteFrontToFileObserver
5 | from jmetal.util.termination_criterion import StoppingByEvaluations
6 |
7 | if __name__ == "__main__":
8 | problem = FDA2()
9 |
10 | time_counter = TimeCounter(delay=1)
11 | time_counter.observable.register(problem)
12 | time_counter.start()
13 |
14 | algorithm = DynamicGDE3(
15 | problem=problem,
16 | population_size=100,
17 | cr=0.5,
18 | f=0.5,
19 | termination_criterion=StoppingByEvaluations(max_evaluations=500),
20 | )
21 |
22 | algorithm.observable.register(observer=PlotFrontToFileObserver("dynamic_front_vis"))
23 | algorithm.observable.register(observer=WriteFrontToFileObserver("dynamic_front"))
24 |
25 | algorithm.run()
26 |
--------------------------------------------------------------------------------
/examples/multiobjective/gde3/gde3_spark_evaluator.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective.gde3 import GDE3
2 | from jmetal.problem.multiobjective.zdt import ZDT1Modified
3 | from jmetal.util.evaluator import SparkEvaluator
4 | from jmetal.util.solution import print_function_values_to_file, print_variables_to_file
5 | from jmetal.util.termination_criterion import StoppingByEvaluations
6 |
7 | if __name__ == "__main__":
8 | problem = ZDT1Modified()
9 |
10 | algorithm = GDE3(
11 | problem=problem,
12 | population_size=10,
13 | cr=0.5,
14 | f=0.5,
15 | termination_criterion=StoppingByEvaluations(max_evaluations=100),
16 | population_evaluator=SparkEvaluator(),
17 | )
18 |
19 | algorithm.run()
20 | front = algorithm.result()
21 |
22 | # Save results to file
23 | print_function_values_to_file(front, "FUN." + algorithm.get_name() + "." + problem.name())
24 | print_variables_to_file(front, "VAR." + algorithm.get_name() + "." + problem.name())
25 |
26 | print(f"Algorithm (continuous problem): {algorithm.get_name()}")
27 | print(f"Problem: {problem.name()}")
28 | print(f"Computing time: {algorithm.total_computing_time}")
29 |
--------------------------------------------------------------------------------
/examples/multiobjective/gde3/gde3_zdt1.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective.gde3 import GDE3
2 | from jmetal.problem import ZDT1
3 | from jmetal.util.solution import (
4 | print_function_values_to_file,
5 | print_variables_to_file,
6 | read_solutions,
7 | )
8 | from jmetal.util.termination_criterion import StoppingByKeyboard
9 |
10 | if __name__ == "__main__":
11 | problem = ZDT1()
12 | problem.reference_front = read_solutions(filename="resources/reference_front/ZDT1.pf")
13 |
14 | algorithm = GDE3(problem=problem, population_size=100, cr=0.5, f=0.5, termination_criterion=StoppingByKeyboard())
15 |
16 | algorithm.run()
17 | front = algorithm.result()
18 |
19 | # Save results to file
20 | print_function_values_to_file(front, "FUN." + algorithm.label)
21 | print_variables_to_file(front, "VAR." + algorithm.label)
22 |
23 | print(f"Algorithm: {algorithm.get_name()}")
24 | print(f"Problem: {problem.name()}")
25 | print(f"Computing time: {algorithm.total_computing_time}")
26 |
--------------------------------------------------------------------------------
/examples/multiobjective/gde3/ggde3_zdt2.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective.gde3 import GDE3
2 | from jmetal.problem import ZDT2
3 | from jmetal.util.comparator import GDominanceComparator
4 | from jmetal.util.solution import (
5 | print_function_values_to_file,
6 | print_variables_to_file,
7 | read_solutions,
8 | )
9 | from jmetal.util.termination_criterion import StoppingByEvaluations
10 |
11 | if __name__ == "__main__":
12 | problem = ZDT2()
13 | problem.reference_front = read_solutions(filename="resources/reference_front/ZDT2.pf")
14 |
15 | max_evaluations = 25000
16 | reference_point = [0.2, 0.5]
17 |
18 | algorithm = GDE3(
19 | problem=problem,
20 | population_size=100,
21 | cr=0.5,
22 | f=0.5,
23 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations),
24 | dominance_comparator=GDominanceComparator(reference_point),
25 | )
26 |
27 | algorithm.run()
28 | front = algorithm.result()
29 |
30 | # Save results to file
31 | print_function_values_to_file(front, "FUN." + algorithm.label)
32 | print_variables_to_file(front, "VAR." + algorithm.label)
33 |
34 | print(f"Algorithm: {algorithm.get_name()}")
35 | print(f"Problem: {problem.name()}")
36 | print(f"Computing time: {algorithm.total_computing_time}")
37 |
--------------------------------------------------------------------------------
/examples/multiobjective/hype/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/examples/multiobjective/hype/__init__.py
--------------------------------------------------------------------------------
/examples/multiobjective/hype/hype_zdt1.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective.hype import HYPE
2 | from jmetal.core.solution import FloatSolution
3 | from jmetal.operator.crossover import SBXCrossover
4 | from jmetal.operator.mutation import PolynomialMutation
5 | from jmetal.problem import ZDT1
6 | from jmetal.util.solution import (
7 | print_function_values_to_file,
8 | print_variables_to_file,
9 | read_solutions,
10 | )
11 | from jmetal.util.termination_criterion import StoppingByEvaluations
12 |
13 | if __name__ == "__main__":
14 | problem = ZDT1()
15 | problem.reference_front = read_solutions(filename="resources/reference_front/ZDT1.pf")
16 |
17 | reference_point = FloatSolution(
18 | [0],
19 | [1],
20 | problem.number_of_objectives(),
21 | )
22 | reference_point.objectives = [1.0, 1.0] # Mandatory for HYPE
23 |
24 | algorithm = HYPE(
25 | problem=problem,
26 | reference_point=reference_point,
27 | population_size=100,
28 | offspring_population_size=100,
29 | mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables(), distribution_index=20),
30 | crossover=SBXCrossover(probability=1.0, distribution_index=20),
31 | termination_criterion=StoppingByEvaluations(25000),
32 | )
33 |
34 | algorithm.run()
35 | front = algorithm.result()
36 |
37 | # Save results to file
38 | print_function_values_to_file(front, "FUN." + algorithm.label)
39 | print_variables_to_file(front, "VAR." + algorithm.label)
40 |
41 | print(f"Algorithm: {algorithm.get_name()}")
42 | print(f"Problem: {problem.name()}")
43 | print(f"Computing time: {algorithm.total_computing_time}")
44 |
--------------------------------------------------------------------------------
/examples/multiobjective/ibea/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/examples/multiobjective/ibea/__init__.py
--------------------------------------------------------------------------------
/examples/multiobjective/ibea/ibea_zdt1.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective.ibea import IBEA
2 | from jmetal.operator.crossover import SBXCrossover
3 | from jmetal.operator.mutation import PolynomialMutation
4 | from jmetal.problem import ZDT1
5 | from jmetal.util.solution import (
6 | print_function_values_to_file,
7 | print_variables_to_file,
8 | read_solutions,
9 | )
10 | from jmetal.util.termination_criterion import StoppingByEvaluations
11 |
12 | if __name__ == "__main__":
13 | problem = ZDT1()
14 | problem.reference_front = read_solutions(filename="resources/reference_front/ZDT1.pf")
15 |
16 | algorithm = IBEA(
17 | problem=problem,
18 | kappa=1.0,
19 | population_size=100,
20 | offspring_population_size=100,
21 | mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables(), distribution_index=20),
22 | crossover=SBXCrossover(probability=1.0, distribution_index=20),
23 | termination_criterion=StoppingByEvaluations(max_evaluations=25000),
24 | )
25 |
26 | algorithm.run()
27 | front = algorithm.result()
28 |
29 | # Save results to file
30 | print_function_values_to_file(front, "FUN." + algorithm.label)
31 | print_variables_to_file(front, "VAR." + algorithm.label)
32 |
33 | print(f"Algorithm: {algorithm.get_name()}")
34 | print(f"Problem: {problem.name()}")
35 | print(f"Computing time: {algorithm.total_computing_time}")
36 |
--------------------------------------------------------------------------------
/examples/multiobjective/mocell/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/examples/multiobjective/mocell/__init__.py
--------------------------------------------------------------------------------
/examples/multiobjective/mocell/mocell_zdt1.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective.mocell import MOCell
2 | from jmetal.operator.crossover import SBXCrossover
3 | from jmetal.operator.mutation import PolynomialMutation
4 | from jmetal.problem import ZDT1
5 | from jmetal.util.archive import CrowdingDistanceArchive
6 | from jmetal.util.neighborhood import C9
7 | from jmetal.util.solution import (
8 | print_function_values_to_file,
9 | print_variables_to_file,
10 | read_solutions,
11 | )
12 | from jmetal.util.termination_criterion import StoppingByEvaluations
13 |
14 | if __name__ == "__main__":
15 | problem = ZDT1()
16 | problem.reference_front = read_solutions(filename="resources/reference_front/ZDT1.pf")
17 |
18 | max_evaluations = 25000
19 | algorithm = MOCell(
20 | problem=problem,
21 | population_size=100,
22 | neighborhood=C9(10, 10),
23 | archive=CrowdingDistanceArchive(100),
24 | mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables(), distribution_index=20),
25 | crossover=SBXCrossover(probability=1.0, distribution_index=20),
26 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations),
27 | )
28 |
29 | algorithm.run()
30 | front = algorithm.result()
31 |
32 | # Save results to file
33 | print_function_values_to_file(front, "FUN." + algorithm.label)
34 | print_variables_to_file(front, "VAR." + algorithm.label)
35 |
36 | print(f"Algorithm: {algorithm.get_name()}")
37 | print(f"Problem: {problem.name()}")
38 | print(f"Computing time: {algorithm.total_computing_time}")
39 |
--------------------------------------------------------------------------------
/examples/multiobjective/moead/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/examples/multiobjective/moead/__init__.py
--------------------------------------------------------------------------------
/examples/multiobjective/nsgaii/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/examples/multiobjective/nsgaii/__init__.py
--------------------------------------------------------------------------------
/examples/multiobjective/nsgaii/distributed_nsgaii_with_dask.py:
--------------------------------------------------------------------------------
1 | from dask.distributed import Client
2 | from distributed import LocalCluster
3 |
4 | from jmetal.algorithm.multiobjective.nsgaii import DistributedNSGAII
5 | from jmetal.operator.crossover import SBXCrossover
6 | from jmetal.operator.mutation import PolynomialMutation
7 | from jmetal.problem.multiobjective.zdt import ZDT1Modified
8 | from jmetal.util.termination_criterion import StoppingByEvaluations
9 |
10 | """
11 | Distributed (asynchronous) version of NSGA-II using Dask.
12 | """
13 |
14 | if __name__ == "__main__":
15 | problem = ZDT1Modified()
16 |
17 | # setup Dask client
18 | client = Client(LocalCluster(n_workers=10))
19 |
20 | ncores = sum(client.ncores().values())
21 | print(f"{ncores} cores available")
22 |
23 | # creates the algorithm
24 | max_evaluations = 25000
25 |
26 | algorithm = DistributedNSGAII(
27 | problem=problem,
28 | population_size=100,
29 | mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables(), distribution_index=20),
30 | crossover=SBXCrossover(probability=1.0, distribution_index=20),
31 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations),
32 | number_of_cores=ncores,
33 | client=client,
34 | )
35 |
36 | algorithm.run()
37 | front = algorithm.result()
38 |
39 | print(f"Algorithm: {algorithm.get_name()}")
40 | print(f"Problem: {problem.name()}")
41 | print(f"Computing time: {algorithm.total_computing_time}")
42 |
--------------------------------------------------------------------------------
/examples/multiobjective/nsgaii/distributed_nsgaii_with_dask_evaluator.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective.nsgaii import NSGAII
2 | from jmetal.operator.crossover import SBXCrossover
3 | from jmetal.operator.mutation import PolynomialMutation
4 | from jmetal.problem.multiobjective.zdt import ZDT1Modified
5 | from jmetal.util.evaluator import DaskEvaluator
6 | from jmetal.util.solution import print_function_values_to_file, print_variables_to_file
7 | from jmetal.util.termination_criterion import StoppingByEvaluations
8 |
9 | """
10 | Distributed (synchronous) version of NSGA-II using Dask.
11 | """
12 | if __name__ == "__main__":
13 | problem = ZDT1Modified()
14 |
15 | max_evaluations = 100
16 |
17 | algorithm = NSGAII(
18 | problem=problem,
19 | population_size=100,
20 | offspring_population_size=100,
21 | mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables(), distribution_index=20),
22 | crossover=SBXCrossover(probability=1.0, distribution_index=20),
23 | population_evaluator=DaskEvaluator(number_of_cores=8),
24 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations),
25 | )
26 |
27 | algorithm.run()
28 | front = algorithm.result()
29 |
30 | # Save results to file
31 | print_function_values_to_file(front, "FUN." + algorithm.label)
32 | print_variables_to_file(front, "VAR." + algorithm.label)
33 |
34 | print(f"Algorithm: {algorithm.get_name()}")
35 | print(f"Problem: {problem.name()}")
36 | print(f"Computing time: {algorithm.total_computing_time}")
37 |
--------------------------------------------------------------------------------
/examples/multiobjective/nsgaii/distributed_nsgaii_with_spark_evaluator.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective.nsgaii import NSGAII
2 | from jmetal.operator.crossover import SBXCrossover
3 | from jmetal.operator.mutation import PolynomialMutation
4 | from jmetal.problem.multiobjective.zdt import ZDT1Modified
5 | from jmetal.util.evaluator import SparkEvaluator
6 | from jmetal.util.solution import print_function_values_to_file, print_variables_to_file
7 | from jmetal.util.termination_criterion import StoppingByEvaluations
8 |
9 | """
10 | Distributed (synchronous) version of NSGA-II using Apache Spark.
11 | """
12 |
13 | if __name__ == "__main__":
14 | problem = ZDT1Modified()
15 |
16 | max_evaluations = 100
17 |
18 | algorithm = NSGAII(
19 | problem=problem,
20 | population_size=10,
21 | offspring_population_size=10,
22 | mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables, distribution_index=20),
23 | crossover=SBXCrossover(probability=1.0, distribution_index=20),
24 | population_evaluator=SparkEvaluator(),
25 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations),
26 | )
27 |
28 | algorithm.run()
29 | front = algorithm.result()
30 |
31 | # Save results to file
32 | print_function_values_to_file(front, "FUN." + algorithm.label)
33 | print_variables_to_file(front, "VAR." + algorithm.label)
34 |
35 | print(f"Algorithm: {algorithm.get_name()}")
36 | print(f"Problem: {problem.get_name()}")
37 | print(f"Computing time: {algorithm.total_computing_time}")
38 |
--------------------------------------------------------------------------------
/examples/multiobjective/nsgaii/dynamic_nsgaii_solving_fda2.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective.nsgaii import DynamicNSGAII
2 | from jmetal.operator.crossover import SBXCrossover
3 | from jmetal.operator.mutation import PolynomialMutation
4 | from jmetal.problem.multiobjective.fda import FDA2
5 | from jmetal.util.observable import TimeCounter
6 | from jmetal.util.observer import PlotFrontToFileObserver, WriteFrontToFileObserver
7 | from jmetal.util.termination_criterion import StoppingByEvaluations
8 |
9 | if __name__ == "__main__":
10 | problem = FDA2()
11 |
12 | time_counter = TimeCounter(delay=1)
13 | time_counter.observable.register(problem)
14 | time_counter.start()
15 |
16 | max_evaluations = 25000
17 | algorithm = DynamicNSGAII(
18 | problem=problem,
19 | population_size=100,
20 | offspring_population_size=100,
21 | mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables, distribution_index=20),
22 | crossover=SBXCrossover(probability=1.0, distribution_index=20),
23 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations),
24 | )
25 |
26 | algorithm.observable.register(observer=PlotFrontToFileObserver("dynamic_front_vis"))
27 | algorithm.observable.register(observer=WriteFrontToFileObserver("dynamic_front"))
28 |
29 | algorithm.run()
30 |
--------------------------------------------------------------------------------
/examples/multiobjective/nsgaii/nsgaii_solving_ZDT5.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective.nsgaii import NSGAII
2 | from jmetal.operator.crossover import SPXCrossover
3 | from jmetal.operator.mutation import BitFlipMutation
4 | from jmetal.problem import ZDT5
5 | from jmetal.util.solution import print_function_values_to_file, print_variables_to_file
6 | from jmetal.util.termination_criterion import StoppingByEvaluations
7 |
8 | """
9 | Program to configure and run the NSGA-II algorithm configured to solve a binary problem, OneZeroMax, which is
10 | multiobjective version of the ONE_MAX problem where the numbers of 1s and 0s have to be maximized at the same time.
11 | """
12 |
13 | if __name__ == "__main__":
14 | problem = ZDT5()
15 |
16 | max_evaluations = 30000
17 | algorithm = NSGAII(
18 | problem=problem,
19 | population_size=100,
20 | offspring_population_size=100,
21 | mutation=BitFlipMutation(probability=1.0 / problem.total_number_of_bits()),
22 | crossover=SPXCrossover(probability=1.0),
23 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations),
24 | )
25 |
26 | algorithm.run()
27 | front = algorithm.result()
28 |
29 | # Save results to file
30 | print_function_values_to_file(front, "FUN." + algorithm.label)
31 | print_variables_to_file(front, "VAR." + algorithm.label)
32 |
33 | print(f"Algorithm: {algorithm.get_name()}")
34 | print(f"Problem: {problem.name()}")
35 | print(f"Computing time: {algorithm.total_computing_time}")
36 |
--------------------------------------------------------------------------------
/examples/multiobjective/nsgaii/nsgaii_solving_binary_problem.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective.nsgaii import NSGAII
2 | from jmetal.operator.crossover import SPXCrossover
3 | from jmetal.operator.mutation import BitFlipMutation
4 | from jmetal.problem.multiobjective.unconstrained import OneZeroMax
5 | from jmetal.util.solution import print_function_values_to_file, print_variables_to_file
6 | from jmetal.util.termination_criterion import StoppingByEvaluations
7 |
8 | """
9 | Program to configure and run the NSGA-II algorithm configured to solve a binary problem, OneZeroMax, which is
10 | multiobjective version of the ONE_MAX problem where the numbers of 1s and 0s have to be maximized at the same time.
11 | """
12 |
13 | if __name__ == "__main__":
14 | binary_string_length = 512
15 | problem = OneZeroMax(binary_string_length)
16 |
17 | max_evaluations = 30000
18 | algorithm = NSGAII(
19 | problem=problem,
20 | population_size=100,
21 | offspring_population_size=100,
22 | mutation=BitFlipMutation(probability=1.0 / binary_string_length),
23 | crossover=SPXCrossover(probability=1.0),
24 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations),
25 | )
26 |
27 | algorithm.run()
28 | front = algorithm.result()
29 |
30 | # Save results to file
31 | print_function_values_to_file(front, "FUN." + algorithm.label)
32 | print_variables_to_file(front, "VAR." + algorithm.label)
33 |
34 | print(f"Algorithm: {algorithm.get_name()}")
35 | print(f"Problem: {problem.name()}")
36 | print(f"Computing time: {algorithm.total_computing_time}")
37 |
--------------------------------------------------------------------------------
/examples/multiobjective/nsgaii/nsgaii_solving_constrained_srinivas_problem.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective import NSGAII
2 | from jmetal.operator.crossover import SBXCrossover
3 | from jmetal.operator.mutation import PolynomialMutation
4 | from jmetal.problem import Srinivas
5 | from jmetal.util.comparator import DominanceWithConstraintsComparator
6 | from jmetal.util.solution import (
7 | print_function_values_to_file,
8 | print_variables_to_file,
9 | )
10 | from jmetal.util.termination_criterion import StoppingByEvaluations
11 |
12 | if __name__ == "__main__":
13 | problem = Srinivas()
14 |
15 | max_evaluations = 25000
16 | algorithm = NSGAII(
17 | problem=problem,
18 | population_size=100,
19 | offspring_population_size=100,
20 | mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables(), distribution_index=20),
21 | crossover=SBXCrossover(probability=1.0, distribution_index=20),
22 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations),
23 | dominance_comparator=DominanceWithConstraintsComparator(),
24 | )
25 |
26 | algorithm.run()
27 | front = algorithm.result()
28 |
29 | # Save results to file
30 | print_function_values_to_file(front, "FUN." + algorithm.label)
31 | print_variables_to_file(front, "VAR." + algorithm.label)
32 |
33 | print(f"Algorithm: {algorithm.get_name()}")
34 | print(f"Problem: {problem.name()}")
35 | print(f"Computing time: {algorithm.total_computing_time}")
36 |
--------------------------------------------------------------------------------
/examples/multiobjective/nsgaii/nsgaii_standard_settings.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective.nsgaii import NSGAII
2 | from jmetal.operator.crossover import SBXCrossover
3 | from jmetal.operator.mutation import PolynomialMutation
4 | from jmetal.problem import ZDT4
5 | from jmetal.util.solution import (
6 | get_non_dominated_solutions,
7 | print_function_values_to_file,
8 | print_variables_to_file, read_solutions,
9 | )
10 | from jmetal.util.termination_criterion import StoppingByEvaluations
11 |
12 | """
13 | Program to configure and run the NSGA-II algorithm configured with standard settings.
14 | """
15 | if __name__ == "__main__":
16 | problem = ZDT4()
17 |
18 | problem.reference_front = read_solutions(filename="resources/reference_front/ZDT4.pf")
19 |
20 | max_evaluations = 25000
21 | algorithm = NSGAII(
22 | problem=problem,
23 | population_size=100,
24 | offspring_population_size=100,
25 | mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables(), distribution_index=20),
26 | crossover=SBXCrossover(probability=1.0, distribution_index=20),
27 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations),
28 | )
29 |
30 | algorithm.run()
31 |
32 | front = get_non_dominated_solutions(algorithm.result())
33 |
34 | # Save results to file
35 | print_function_values_to_file(front, "FUN." + algorithm.label)
36 | print_variables_to_file(front, "VAR." + algorithm.label)
37 |
38 | print(f"Algorithm: {algorithm.get_name()}")
39 | print(f"Problem: {problem.name()}")
40 | print(f"Computing time: {algorithm.total_computing_time}")
41 |
--------------------------------------------------------------------------------
/examples/multiobjective/nsgaii/nsgaii_steady_state.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective.nsgaii import NSGAII
2 | from jmetal.operator.crossover import SBXCrossover
3 | from jmetal.operator.mutation import PolynomialMutation
4 | from jmetal.problem import ZDT1
5 | from jmetal.util.solution import (
6 | get_non_dominated_solutions,
7 | print_function_values_to_file,
8 | print_variables_to_file,
9 | read_solutions,
10 | )
11 | from jmetal.util.termination_criterion import StoppingByEvaluations
12 |
13 | """
14 | Program to configure and run a steady-state version of the NSGA-II algorithm (configured with standard settings).
15 | """
16 |
17 | if __name__ == "__main__":
18 | problem = ZDT1()
19 | problem.reference_front = read_solutions(filename="resources/reference_front/ZDT1.pf")
20 |
21 | max_evaluations = 25000
22 | algorithm = NSGAII(
23 | problem=problem,
24 | population_size=100,
25 | offspring_population_size=1,
26 | mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables(), distribution_index=20),
27 | crossover=SBXCrossover(probability=1.0, distribution_index=20),
28 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations),
29 | )
30 |
31 | algorithm.run()
32 | front = get_non_dominated_solutions(algorithm.result())
33 |
34 | # Save results to file
35 | print_function_values_to_file(front, "FUN." + algorithm.label)
36 | print_variables_to_file(front, "VAR." + algorithm.label)
37 |
38 | print(f"Algorithm: {algorithm.get_name()}")
39 | print(f"Problem: {problem.name()}")
40 | print(f"Computing time: {algorithm.total_computing_time}")
41 |
--------------------------------------------------------------------------------
/examples/multiobjective/nsgaii/parallel_nsgaii_with_multiprocess_evaluator.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective.nsgaii import NSGAII
2 | from jmetal.operator.crossover import SBXCrossover
3 | from jmetal.operator.mutation import PolynomialMutation
4 | from jmetal.problem.multiobjective.zdt import ZDT1Modified
5 | from jmetal.util.evaluator import MultiprocessEvaluator
6 | from jmetal.util.solution import print_function_values_to_file, print_variables_to_file
7 | from jmetal.util.termination_criterion import StoppingByEvaluations
8 |
9 | if __name__ == "__main__":
10 | problem = ZDT1Modified()
11 |
12 | max_evaluations = 100
13 |
14 | algorithm = NSGAII(
15 | population_evaluator=MultiprocessEvaluator(8),
16 | problem=problem,
17 | population_size=10,
18 | offspring_population_size=10,
19 | mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables(), distribution_index=20),
20 | crossover=SBXCrossover(probability=1.0, distribution_index=20),
21 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations),
22 | )
23 |
24 | algorithm.run()
25 | front = algorithm.result()
26 |
27 | # Save results to file
28 | print_function_values_to_file(front, "FUN." + algorithm.label)
29 | print_variables_to_file(front, "VAR." + algorithm.label)
30 |
31 | print(f"Algorithm: {algorithm.get_name()}")
32 | print(f"Problem: {problem.name()}")
33 | print(f"Computing time: {algorithm.total_computing_time}")
34 |
--------------------------------------------------------------------------------
/examples/multiobjective/nsgaiii/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/examples/multiobjective/nsgaiii/__init__.py
--------------------------------------------------------------------------------
/examples/multiobjective/nsgaiii/nsgaiii_dtlz2.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective.nsgaiii import (
2 | NSGAIII,
3 | UniformReferenceDirectionFactory,
4 | )
5 | from jmetal.operator.crossover import SBXCrossover
6 | from jmetal.operator.mutation import PolynomialMutation
7 | from jmetal.problem import DTLZ2
8 | from jmetal.util.solution import (
9 | get_non_dominated_solutions,
10 | print_function_values_to_file,
11 | print_variables_to_file,
12 | read_solutions,
13 | )
14 | from jmetal.util.termination_criterion import StoppingByEvaluations
15 |
16 | if __name__ == "__main__":
17 | problem = DTLZ2()
18 | reference_front = read_solutions(filename="resources/reference_front/DTLZ2.3D.pf")
19 |
20 | max_evaluations = 25000
21 |
22 | algorithm = NSGAIII(
23 | problem=problem,
24 | population_size=92,
25 | reference_directions=UniformReferenceDirectionFactory(3, n_points=91),
26 | mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables(), distribution_index=20),
27 | crossover=SBXCrossover(probability=1.0, distribution_index=30),
28 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations),
29 | )
30 |
31 | algorithm.run()
32 | front = get_non_dominated_solutions(algorithm.result())
33 |
34 | # Save results to file
35 | print_function_values_to_file(front, "FUN." + algorithm.label)
36 | print_variables_to_file(front, "VAR." + algorithm.label)
37 |
38 | print(f"Algorithm: {algorithm.get_name()}")
39 | print(f"Problem: {problem.name()}")
40 | print(f"Computing time: {algorithm.total_computing_time}")
41 |
--------------------------------------------------------------------------------
/examples/multiobjective/omopso/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/examples/multiobjective/omopso/__init__.py
--------------------------------------------------------------------------------
/examples/multiobjective/preferences/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/examples/multiobjective/preferences/__init__.py
--------------------------------------------------------------------------------
/examples/multiobjective/random_search/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/examples/multiobjective/random_search/__init__.py
--------------------------------------------------------------------------------
/examples/multiobjective/random_search/random_search_zdt1.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective.random_search import RandomSearch
2 | from jmetal.problem import ZDT1
3 | from jmetal.util.solution import (
4 | print_function_values_to_file,
5 | print_variables_to_file,
6 | )
7 | from jmetal.util.termination_criterion import StoppingByEvaluations
8 |
9 | if __name__ == "__main__":
10 | problem = ZDT1()
11 |
12 | max_evaluations = 1000
13 | algorithm = RandomSearch(
14 | problem=problem,
15 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations)
16 | )
17 |
18 | algorithm.run()
19 | front = algorithm.result()
20 |
21 | # Save results to file
22 | print_function_values_to_file(front, "FUN." + algorithm.label)
23 | print_variables_to_file(front, "VAR." + algorithm.label)
24 |
25 | print(f"Algorithm: {algorithm.get_name()}")
26 | print(f"Problem: {problem.name()}")
27 | print(f"Computing time: {algorithm.total_computing_time}")
28 |
--------------------------------------------------------------------------------
/examples/multiobjective/smpso/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/examples/multiobjective/smpso/__init__.py
--------------------------------------------------------------------------------
/examples/multiobjective/smpso/dynamic_smpso.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective.smpso import DynamicSMPSO
2 | from jmetal.operator.mutation import PolynomialMutation
3 | from jmetal.problem.multiobjective.fda import FDA2
4 | from jmetal.util.archive import CrowdingDistanceArchive
5 | from jmetal.util.observable import TimeCounter
6 | from jmetal.util.observer import PlotFrontToFileObserver, WriteFrontToFileObserver
7 | from jmetal.util.termination_criterion import StoppingByEvaluations
8 |
9 | if __name__ == "__main__":
10 | problem = FDA2()
11 |
12 | time_counter = TimeCounter(delay=15)
13 | time_counter.observable.register(problem)
14 | time_counter.start()
15 |
16 | max_evaluations = 25000
17 | algorithm = DynamicSMPSO(
18 | problem=problem,
19 | swarm_size=100,
20 | mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables, distribution_index=20),
21 | leaders=CrowdingDistanceArchive(100),
22 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations),
23 | )
24 |
25 | algorithm.observable.register(observer=PlotFrontToFileObserver("dynamic_front_vis"))
26 | algorithm.observable.register(observer=WriteFrontToFileObserver("dynamic_front"))
27 |
28 | algorithm.run()
29 |
30 | print(f"Algorithm: {algorithm.get_name()}")
31 | print(f"Problem: {problem.get_name()}")
32 | print(f"Computing time: {algorithm.total_computing_time}")
33 |
--------------------------------------------------------------------------------
/examples/multiobjective/smpso/smpso_schaffer_on_the_fly.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective.smpso import SMPSO
2 | from jmetal.core.problem import OnTheFlyFloatProblem
3 | from jmetal.operator.mutation import PolynomialMutation
4 | from jmetal.util.archive import CrowdingDistanceArchive
5 | from jmetal.util.solution import print_function_values_to_file, print_variables_to_file
6 | from jmetal.util.termination_criterion import StoppingByEvaluations
7 |
8 | if __name__ == "__main__":
9 | # Defining problem Schaffer on the fly
10 |
11 | def f1(x: [float]):
12 | return x[0] * x[0]
13 |
14 | def f2(x: [float]):
15 | return (x[0] - 2) * (x[0] - 2)
16 |
17 | problem = OnTheFlyFloatProblem()
18 | problem.set_name("Schaffer").add_variable(-10000.0, 10000.0).add_function(f1).add_function(f2)
19 |
20 | max_evaluations = 25000
21 |
22 | algorithm = SMPSO(
23 | problem=problem,
24 | swarm_size=100,
25 | mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables(), distribution_index=20),
26 | leaders=CrowdingDistanceArchive(100),
27 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations),
28 | )
29 |
30 | algorithm.run()
31 | front = algorithm.result()
32 |
33 | # Save results to file
34 | print_function_values_to_file(front, "FUN." + algorithm.label)
35 | print_variables_to_file(front, "VAR." + algorithm.label)
36 |
37 | print(f"Algorithm: {algorithm.get_name()}")
38 | print(f"Problem: {problem.name()}")
39 | print(f"Computing time: {algorithm.total_computing_time}")
40 |
--------------------------------------------------------------------------------
/examples/multiobjective/smpso/smpso_spark_evaluator.py:
--------------------------------------------------------------------------------
1 |
2 | from jmetal.algorithm.multiobjective.smpso import SMPSO
3 | from jmetal.operator.mutation import PolynomialMutation
4 | from jmetal.util.archive import CrowdingDistanceArchive
5 | from jmetal.util.evaluator import SparkEvaluator
6 | from jmetal.util.solution import (
7 | print_function_values_to_file,
8 | print_variables_to_file,
9 | read_solutions,
10 | )
11 | from jmetal.util.termination_criterion import StoppingByEvaluations
12 |
13 | from src.jmetal.problem.multiobjective.zdt import ZDT1Modified
14 |
15 | if __name__ == "__main__":
16 | problem = ZDT1Modified()
17 | problem.reference_front = read_solutions(filename="resources/reference_front/ZDT1.pf")
18 |
19 | max_evaluations = 100
20 | algorithm = SMPSO(
21 | problem=problem,
22 | swarm_size=10,
23 | mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables(), distribution_index=20),
24 | leaders=CrowdingDistanceArchive(10),
25 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations),
26 | swarm_evaluator=SparkEvaluator(),
27 | )
28 |
29 | algorithm.run()
30 | front = algorithm.result()
31 |
32 | # Save results to file
33 | print_function_values_to_file(front, "FUN." + algorithm.get_name() + "." + problem.get_name())
34 | print_variables_to_file(front, "VAR." + algorithm.get_name() + "." + problem.get_name())
35 |
36 | print(f"Algorithm: {algorithm.get_name()}")
37 | print(f"Problem: {problem.name()}")
38 | print(f"Computing time: {algorithm.total_computing_time}")
39 |
--------------------------------------------------------------------------------
/examples/multiobjective/smpso/smpso_srinivas.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective.smpso import SMPSO
2 | from jmetal.operator.mutation import PolynomialMutation
3 | from jmetal.problem import Srinivas
4 | from jmetal.util.archive import CrowdingDistanceArchive
5 | from jmetal.util.solution import print_function_values_to_file, print_variables_to_file
6 | from jmetal.util.solution import read_solutions
7 | from jmetal.util.termination_criterion import StoppingByEvaluations
8 |
9 | if __name__ == '__main__':
10 | problem = Srinivas()
11 | problem.reference_front = read_solutions(filename='resources/reference_front/Srinivas.pf')
12 |
13 | max_evaluations = 25000
14 | algorithm = SMPSO(
15 | problem=problem,
16 | swarm_size=100,
17 | mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables(), distribution_index=20),
18 | leaders=CrowdingDistanceArchive(100),
19 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations)
20 | )
21 |
22 | algorithm.run()
23 | front = algorithm.result()
24 |
25 | # Save results to file
26 | print_function_values_to_file(front, 'FUN.' + algorithm.label)
27 | print_variables_to_file(front, 'VAR.'+ algorithm.label)
28 |
29 | print(f'Algorithm: ${algorithm.get_name()}')
30 | print(f'Problem: ${problem.name()}')
31 | print(f'Computing time: ${algorithm.total_computing_time}')
32 |
--------------------------------------------------------------------------------
/examples/multiobjective/smpso/smpso_tanaka.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective.smpso import SMPSO
2 | from jmetal.operator.mutation import PolynomialMutation
3 | from jmetal.problem import Tanaka
4 | from jmetal.util.archive import CrowdingDistanceArchive
5 | from jmetal.util.comparator import DominanceWithConstraintsComparator
6 | from jmetal.util.solution import (
7 | print_function_values_to_file,
8 | print_variables_to_file,
9 | read_solutions,
10 | )
11 | from jmetal.util.termination_criterion import StoppingByEvaluations
12 |
13 | if __name__ == "__main__":
14 | problem = Tanaka()
15 | reference_front = read_solutions(filename="resources/reference_front/Tanaka.pf")
16 |
17 | max_evaluations = 25000
18 | algorithm = SMPSO(
19 | problem=problem,
20 | swarm_size=100,
21 | mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables(), distribution_index=20),
22 | leaders=CrowdingDistanceArchive(100, dominance_comparator = DominanceWithConstraintsComparator()),
23 | dominance_comparator=DominanceWithConstraintsComparator(),
24 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations),
25 | )
26 |
27 | algorithm.run()
28 | front = algorithm.result()
29 |
30 | # Save results to file
31 | print_function_values_to_file(front, "FUN." + algorithm.label)
32 | print_variables_to_file(front, "VAR." + algorithm.label)
33 |
34 | print(f"Algorithm: {algorithm.get_name()}")
35 | print(f"Problem: {problem.name()}")
36 | print(f"Computing time: {algorithm.total_computing_time}")
37 |
--------------------------------------------------------------------------------
/examples/multiobjective/smpso/smpso_zdt4.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective.smpso import SMPSO
2 | from jmetal.operator.mutation import PolynomialMutation
3 | from jmetal.problem import ZDT4
4 | from jmetal.util.archive import CrowdingDistanceArchive
5 | from jmetal.util.solution import (
6 | print_function_values_to_file,
7 | print_variables_to_file,
8 | )
9 | from jmetal.util.termination_criterion import StoppingByEvaluations
10 |
11 | if __name__ == "__main__":
12 | problem = ZDT4()
13 |
14 | max_evaluations = 25000
15 | algorithm = SMPSO(
16 | problem=problem,
17 | swarm_size=100,
18 | mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables(), distribution_index=20),
19 | leaders=CrowdingDistanceArchive(100),
20 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations),
21 | )
22 |
23 | algorithm.run()
24 | front = algorithm.result()
25 |
26 | # Save results to file
27 | print_function_values_to_file(front, "FUN." + algorithm.label)
28 | print_variables_to_file(front, "VAR." + algorithm.label)
29 |
30 | print(f"Algorithm: {algorithm.get_name()}")
31 | print(f"Problem: {problem.name()}")
32 | print(f"Computing time: {algorithm.total_computing_time}")
33 |
--------------------------------------------------------------------------------
/examples/multiobjective/spea2/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/examples/multiobjective/spea2/__init__.py
--------------------------------------------------------------------------------
/examples/multiobjective/spea2/gspea2_zdt1.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective.spea2 import SPEA2
2 | from jmetal.operator.crossover import SBXCrossover
3 | from jmetal.operator.mutation import PolynomialMutation
4 | from jmetal.problem import ZDT1
5 | from jmetal.util.comparator import GDominanceComparator
6 | from jmetal.util.solution import (
7 | print_function_values_to_file,
8 | print_variables_to_file,
9 | )
10 | from jmetal.util.termination_criterion import StoppingByEvaluations
11 |
12 | if __name__ == "__main__":
13 | problem = ZDT1()
14 |
15 | reference_point = [0.4, 0.6]
16 |
17 | max_evaluations = 25000
18 | algorithm = SPEA2(
19 | problem=problem,
20 | population_size=40,
21 | offspring_population_size=40,
22 | mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables(), distribution_index=20),
23 | crossover=SBXCrossover(probability=1.0, distribution_index=20),
24 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations),
25 | dominance_comparator=GDominanceComparator(reference_point),
26 | )
27 |
28 | algorithm.run()
29 | front = algorithm.result()
30 |
31 | # Save results to file
32 | print_function_values_to_file(front, "FUN." + algorithm.label)
33 | print_variables_to_file(front, "VAR." + algorithm.label)
34 |
35 | print(f"Algorithm: {algorithm.get_name()}")
36 | print(f"Problem: {problem.name()}")
37 | print(f"Computing time: {algorithm.total_computing_time}")
38 |
--------------------------------------------------------------------------------
/examples/multiobjective/spea2/spea2_dtlz1.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective.spea2 import SPEA2
2 | from jmetal.operator.crossover import SBXCrossover
3 | from jmetal.operator.mutation import PolynomialMutation
4 | from jmetal.problem import DTLZ2
5 | from jmetal.util.solution import (
6 | print_function_values_to_file,
7 | print_variables_to_file,
8 | )
9 | from jmetal.util.termination_criterion import StoppingByEvaluations
10 |
11 | if __name__ == "__main__":
12 | problem = DTLZ2()
13 |
14 | max_evaluations = 20000
15 | algorithm = SPEA2(
16 | problem=problem,
17 | population_size=20,
18 | offspring_population_size=20,
19 | mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables(), distribution_index=20),
20 | crossover=SBXCrossover(probability=1.0, distribution_index=20),
21 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations),
22 | )
23 |
24 | algorithm.run()
25 | front = algorithm.result()
26 |
27 | # Save results to file
28 | print_function_values_to_file(front, "FUN." + algorithm.label)
29 | print_variables_to_file(front, "VAR." + algorithm.label)
30 |
31 | print(f"Algorithm: {algorithm.get_name()}")
32 | print(f"Problem: {problem.name()}")
33 | print(f"Computing time: {algorithm.total_computing_time}")
34 |
--------------------------------------------------------------------------------
/examples/multiobjective/spea2/spea2_zdt1.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective.spea2 import SPEA2
2 | from jmetal.operator.crossover import SBXCrossover
3 | from jmetal.operator.mutation import PolynomialMutation
4 | from jmetal.problem import ZDT1
5 | from jmetal.util.solution import (
6 | print_function_values_to_file,
7 | print_variables_to_file,
8 | )
9 | from jmetal.util.termination_criterion import StoppingByEvaluations
10 |
11 | if __name__ == "__main__":
12 | problem = ZDT1()
13 |
14 | max_evaluations = 20000
15 | algorithm = SPEA2(
16 | problem=problem,
17 | population_size=40,
18 | offspring_population_size=40,
19 | mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables(), distribution_index=20),
20 | crossover=SBXCrossover(probability=1.0, distribution_index=20),
21 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations),
22 | )
23 |
24 | algorithm.run()
25 | front = algorithm.result()
26 |
27 | # Save results to file
28 | print_function_values_to_file(front, "FUN." + algorithm.label)
29 | print_variables_to_file(front, "VAR." + algorithm.label)
30 |
31 | print(f"Algorithm: {algorithm.get_name()}")
32 | print(f"Problem: {problem.name()}")
33 | print(f"Computing time: {algorithm.total_computing_time}")
34 |
--------------------------------------------------------------------------------
/examples/singleobjective/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/examples/singleobjective/__init__.py
--------------------------------------------------------------------------------
/examples/singleobjective/evolution_strategy/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/examples/singleobjective/evolution_strategy/__init__.py
--------------------------------------------------------------------------------
/examples/singleobjective/evolution_strategy/evolution_strategy_binary.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.singleobjective.evolution_strategy import EvolutionStrategy
2 | from jmetal.operator.mutation import BitFlipMutation
3 | from jmetal.problem import OneMax
4 | from jmetal.util.termination_criterion import StoppingByEvaluations
5 |
6 | if __name__ == "__main__":
7 | problem = OneMax(number_of_bits=512)
8 |
9 | algorithm = EvolutionStrategy(
10 | problem=problem,
11 | mu=1,
12 | lambda_=10,
13 | mutation=BitFlipMutation(probability=1.0 / problem.number_of_bits),
14 | elitist=True,
15 | termination_criterion=StoppingByEvaluations(max_evaluations=25000),
16 | )
17 |
18 | algorithm.run()
19 | result = algorithm.result()
20 |
21 | print("Algorithm: " + algorithm.get_name())
22 | print("Problem: " + problem.get_name())
23 | print("Solution: " + str(result.variables[0]))
24 | print("Fitness: " + str(result.objectives[0]))
25 | print("Computing time: " + str(algorithm.total_computing_time))
26 |
--------------------------------------------------------------------------------
/examples/singleobjective/evolution_strategy/evolution_strategy_float.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.singleobjective.evolution_strategy import EvolutionStrategy
2 | from jmetal.operator.mutation import PolynomialMutation
3 | from jmetal.problem import Sphere
4 | from jmetal.util.termination_criterion import StoppingByEvaluations
5 |
6 | if __name__ == "__main__":
7 | problem = Sphere(number_of_variables=10)
8 |
9 | algorithm = EvolutionStrategy(
10 | problem=problem,
11 | mu=10,
12 | lambda_=10,
13 | elitist=True,
14 | mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables()),
15 | termination_criterion=StoppingByEvaluations(max_evaluations=25000),
16 | )
17 |
18 | algorithm.run()
19 | result = algorithm.result()
20 |
21 | print("Algorithm: " + algorithm.get_name())
22 | print("Problem: " + problem.name())
23 | print("Solution: " + str(result.variables[0]))
24 | print("Fitness: " + str(result.objectives[0]))
25 | print("Computing time: " + str(algorithm.total_computing_time))
26 |
--------------------------------------------------------------------------------
/examples/singleobjective/evolution_strategy/evolution_strategy_permutation.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.singleobjective.evolution_strategy import EvolutionStrategy
2 | from jmetal.operator.mutation import PermutationSwapMutation
3 | from jmetal.problem.singleobjective.tsp import TSP
4 | from jmetal.util.termination_criterion import StoppingByTime
5 |
6 | if __name__ == "__main__":
7 | problem = TSP(instance="resources/TSP_instances/kroA100.tsp")
8 |
9 | print(f"Solving TSP problem with {problem.number_of_cities} cities.")
10 |
11 | algorithm = EvolutionStrategy(
12 | problem=problem,
13 | mu=1,
14 | lambda_=10,
15 | mutation=PermutationSwapMutation(1.0 / problem.number_of_cities),
16 | elitist=False,
17 | termination_criterion=StoppingByTime(10),
18 | )
19 |
20 | algorithm.run()
21 | result = algorithm.result()
22 |
23 | print(f"Algorithm: {algorithm.get_name()}")
24 | print(f"Solution: {result.variables}")
25 | print(f"The shortest path length: {result.objectives[0]}")
26 | print(f"Computing time: {algorithm.total_computing_time}")
27 | print(f"Number of evaluations: {algorithm.evaluations}")
28 |
--------------------------------------------------------------------------------
/examples/singleobjective/gde3/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/examples/singleobjective/gde3/__init__.py
--------------------------------------------------------------------------------
/examples/singleobjective/gde3/gde3_single_objective.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective.gde3 import GDE3
2 | from jmetal.problem.singleobjective.unconstrained import Rastrigin
3 | from jmetal.util.solution import print_function_values_to_file, print_variables_to_file
4 | from jmetal.util.termination_criterion import StoppingByEvaluations
5 |
6 | if __name__ == "__main__":
7 | problem = Rastrigin(10)
8 |
9 | algorithm = GDE3(
10 | problem=problem, population_size=100, cr=0.5, f=0.5, termination_criterion=StoppingByEvaluations(100000)
11 | )
12 |
13 | algorithm.run()
14 | front = algorithm.result()
15 |
16 | # Save results to file
17 | print_function_values_to_file(front, "FUN." + algorithm.get_name() + "." + problem.get_name())
18 | print_variables_to_file(front, "VAR." + algorithm.get_name() + "." + problem.get_name())
19 |
20 | print("Algorithm (continuous problem): " + algorithm.get_name())
21 | print("Problem: " + problem.get_name())
22 | print("Computing time: " + str(algorithm.total_computing_time))
23 |
--------------------------------------------------------------------------------
/examples/singleobjective/genetic_algorithm/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/examples/singleobjective/genetic_algorithm/__init__.py
--------------------------------------------------------------------------------
/examples/singleobjective/genetic_algorithm/generational_genetic_algorithm_binary.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.singleobjective.genetic_algorithm import GeneticAlgorithm
2 | from jmetal.operator.crossover import SPXCrossover
3 | from jmetal.operator.mutation import BitFlipMutation
4 | from jmetal.problem import OneMax
5 | from jmetal.util.observer import PrintObjectivesObserver
6 | from jmetal.util.termination_criterion import StoppingByEvaluations
7 |
8 | if __name__ == "__main__":
9 | problem = OneMax(number_of_bits=512)
10 |
11 | algorithm = GeneticAlgorithm(
12 | problem=problem,
13 | population_size=40,
14 | offspring_population_size=40,
15 | mutation=BitFlipMutation(1.0 / problem.total_number_of_bits()),
16 | crossover=SPXCrossover(1.0),
17 | termination_criterion=StoppingByEvaluations(max_evaluations=20000),
18 | )
19 |
20 | algorithm.observable.register(observer=PrintObjectivesObserver(100))
21 |
22 | algorithm.run()
23 | result = algorithm.result()
24 |
25 | print("Algorithm: {}".format(algorithm.get_name()))
26 | print("Problem: {}".format(problem.name()))
27 | print("Solution: " + result.get_binary_string())
28 | print("Fitness: " + str(result.objectives[0]))
29 | print("Computing time: {}".format(algorithm.total_computing_time))
30 |
--------------------------------------------------------------------------------
/examples/singleobjective/genetic_algorithm/generational_genetic_algorithm_float.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.singleobjective.genetic_algorithm import GeneticAlgorithm
2 | from jmetal.operator.crossover import SBXCrossover
3 | from jmetal.operator.mutation import PolynomialMutation
4 | from jmetal.problem.singleobjective.unconstrained import Rastrigin
5 | from jmetal.util.termination_criterion import StoppingByEvaluations
6 |
7 | if __name__ == "__main__":
8 | problem = Rastrigin(10)
9 |
10 | algorithm = GeneticAlgorithm(
11 | problem=problem,
12 | population_size=100,
13 | offspring_population_size=1,
14 | mutation=PolynomialMutation(1.0 / problem.number_of_variables(), 20.0),
15 | crossover=SBXCrossover(0.9, 5.0),
16 | termination_criterion=StoppingByEvaluations(max_evaluations=150000),
17 | )
18 |
19 | algorithm.run()
20 | result = algorithm.result()
21 |
22 | print("Algorithm: {}".format(algorithm.get_name()))
23 | print("Problem: {}".format(problem.name()))
24 | print("Solution: {}".format(result.variables))
25 | print("Fitness: {}".format(result.objectives[0]))
26 | print("Computing time: {}".format(algorithm.total_computing_time))
27 |
--------------------------------------------------------------------------------
/examples/singleobjective/genetic_algorithm/generational_genetic_algorithm_tsp.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.singleobjective.genetic_algorithm import GeneticAlgorithm
2 | from jmetal.operator.crossover import PMXCrossover
3 | from jmetal.operator.mutation import PermutationSwapMutation
4 | from jmetal.problem.singleobjective.tsp import TSP
5 | from jmetal.util.observer import PrintObjectivesObserver
6 | from jmetal.util.termination_criterion import StoppingByEvaluations
7 |
8 | if __name__ == "__main__":
9 | problem = TSP(instance="resources/TSP_instances/kroA100.tsp")
10 |
11 | print("Cities: ", problem.number_of_variables())
12 |
13 | algorithm = GeneticAlgorithm(
14 | problem=problem,
15 | population_size=100,
16 | offspring_population_size=100,
17 | mutation=PermutationSwapMutation(1.0 / problem.number_of_variables()),
18 | crossover=PMXCrossover(0.8),
19 | termination_criterion=StoppingByEvaluations(max_evaluations=250000),
20 | )
21 |
22 | algorithm.observable.register(observer=PrintObjectivesObserver(5000))
23 |
24 | algorithm.run()
25 | result = algorithm.result()
26 |
27 | print("Algorithm: {}".format(algorithm.get_name()))
28 | print("Problem: {}".format(problem.name()))
29 | print("Solution: {}".format(result.variables))
30 | print("Fitness: {}".format(result.objectives[0]))
31 | print("Computing time: {}".format(algorithm.total_computing_time))
32 |
--------------------------------------------------------------------------------
/examples/singleobjective/genetic_algorithm/steady_state_genetic_algorithm_with_knapsack_problem.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.singleobjective.genetic_algorithm import GeneticAlgorithm
2 | from jmetal.operator.crossover import SPXCrossover
3 | from jmetal.operator.mutation import BitFlipMutation
4 | from jmetal.operator.selection import BinaryTournamentSelection
5 | from jmetal.problem.singleobjective.knapsack import Knapsack
6 | from jmetal.util.termination_criterion import StoppingByEvaluations
7 |
8 | if __name__ == "__main__":
9 | problem = Knapsack(from_file=True, filename="resources/Knapsack_instances/KnapsackInstance_50_0_0.kp")
10 |
11 | algorithm = GeneticAlgorithm(
12 | problem=problem,
13 | population_size=100,
14 | offspring_population_size=1,
15 | mutation=BitFlipMutation(probability=0.1),
16 | crossover=SPXCrossover(probability=0.8),
17 | selection=BinaryTournamentSelection(),
18 | termination_criterion=StoppingByEvaluations(max_evaluations=25000),
19 | )
20 |
21 | algorithm.run()
22 | subset = algorithm.result()
23 |
24 | print("Algorithm: {}".format(algorithm.get_name()))
25 | print("Problem: {}".format(problem.name()))
26 | print("Solution: {}".format(subset.variables))
27 | print("Fitness: {}".format(-subset.objectives[0]))
28 | print("Computing time: {}".format(algorithm.total_computing_time))
29 | print(f"Problem Maximum Capacity: {problem.capacity}")
30 |
--------------------------------------------------------------------------------
/examples/singleobjective/local_search/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/examples/singleobjective/local_search/__init__.py
--------------------------------------------------------------------------------
/examples/singleobjective/local_search/local_search_binary.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.singleobjective.local_search import LocalSearch
2 | from jmetal.operator.mutation import BitFlipMutation
3 | from jmetal.problem import OneMax
4 | from jmetal.util.observer import PrintObjectivesObserver
5 | from jmetal.util.solution import print_function_values_to_file, print_variables_to_file
6 | from jmetal.util.termination_criterion import StoppingByEvaluations
7 |
8 | if __name__ == "__main__":
9 | problem = OneMax(number_of_bits=512)
10 |
11 | max_evaluations = 10000
12 | algorithm = LocalSearch(
13 | problem=problem,
14 | mutation=BitFlipMutation(probability=1.0 / problem.total_number_of_bits()),
15 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations),
16 | )
17 |
18 | algorithm.observable.register(observer=PrintObjectivesObserver(100))
19 |
20 | algorithm.run()
21 | result = algorithm.result()
22 |
23 | # Save results to file
24 | print_function_values_to_file(result, "FUN." + algorithm.get_name() + "." + problem.name())
25 | print_variables_to_file(result, "VAR." + algorithm.get_name() + "." + problem.name())
26 |
27 | print("Algorithm: " + algorithm.get_name())
28 | print("Problem: " + problem.name())
29 | print("Solution: " + result.get_binary_string())
30 | print("Fitness: " + str(result.objectives[0]))
31 | print("Computing time: " + str(algorithm.total_computing_time))
32 |
--------------------------------------------------------------------------------
/examples/singleobjective/local_search/local_search_float.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.singleobjective.local_search import LocalSearch
2 | from jmetal.operator.mutation import PolynomialMutation
3 | from jmetal.problem.singleobjective.unconstrained import Rastrigin
4 | from jmetal.util.solution import print_function_values_to_file, print_variables_to_file
5 | from jmetal.util.termination_criterion import StoppingByEvaluations
6 |
7 | if __name__ == "__main__":
8 | problem = Rastrigin(10)
9 |
10 | max_evaluations = 100000
11 |
12 | algorithm = LocalSearch(
13 | problem=problem,
14 | mutation=PolynomialMutation(1.0 / problem.number_of_variables(), 20.0),
15 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations),
16 | )
17 |
18 | algorithm.run()
19 | result = algorithm.result()
20 |
21 | # Save results to file
22 | print_function_values_to_file(result, "FUN." + algorithm.get_name() + "." + problem.name())
23 | print_variables_to_file(result, "VAR." + algorithm.get_name() + "." + problem.name())
24 |
25 | print("Algorithm: " + algorithm.get_name())
26 | print("Problem: " + problem.name())
27 | print("Solution: " + str(result.variables))
28 | print("Fitness: " + str(result.objectives[0]))
29 | print("Computing time: " + str(algorithm.total_computing_time))
30 |
--------------------------------------------------------------------------------
/examples/singleobjective/nsgaii/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/examples/singleobjective/nsgaii/__init__.py
--------------------------------------------------------------------------------
/examples/singleobjective/nsgaii/nsgaii_single_objective_binary.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective.nsgaii import NSGAII
2 | from jmetal.operator.crossover import SPXCrossover
3 | from jmetal.operator.mutation import BitFlipMutation
4 | from jmetal.problem import OneMax
5 | from jmetal.util.comparator import DominanceComparator
6 | from jmetal.util.observer import ProgressBarObserver
7 | from jmetal.util.solution import print_function_values_to_file, print_variables_to_file
8 | from jmetal.util.termination_criterion import StoppingByEvaluations
9 |
10 | if __name__ == "__main__":
11 | binary_string_length = 512
12 | problem = OneMax(binary_string_length)
13 |
14 | max_evaluations = 20000
15 |
16 | algorithm = NSGAII(
17 | problem=problem,
18 | population_size=100,
19 | offspring_population_size=100,
20 | mutation=BitFlipMutation(probability=1.0 / binary_string_length),
21 | crossover=SPXCrossover(probability=1.0),
22 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations),
23 | dominance_comparator=DominanceComparator(),
24 | )
25 |
26 | algorithm.observable.register(observer=ProgressBarObserver(max=max_evaluations))
27 |
28 | algorithm.run()
29 | front = algorithm.result()
30 |
31 | # Save results to file
32 | print_function_values_to_file(front, "FUN." + algorithm.get_name() + "-" + problem.get_name())
33 | print_variables_to_file(front, "VAR." + algorithm.get_name() + "-" + problem.get_name())
34 |
35 | print("Algorithm (continuous problem): " + algorithm.get_name())
36 | print("Problem: " + problem.get_name())
37 | print("Computing time: " + str(algorithm.total_computing_time))
38 |
--------------------------------------------------------------------------------
/examples/singleobjective/nsgaii/nsgaii_single_objective_float.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.multiobjective.nsgaii import NSGAII
2 | from jmetal.operator.crossover import SBXCrossover
3 | from jmetal.operator.mutation import PolynomialMutation
4 | from jmetal.problem.singleobjective.unconstrained import Rastrigin
5 | from jmetal.util.comparator import DominanceComparator
6 | from jmetal.util.solution import print_function_values_to_file, print_variables_to_file
7 | from jmetal.util.termination_criterion import StoppingByEvaluations
8 |
9 | if __name__ == "__main__":
10 | problem = Rastrigin(10)
11 |
12 | max_evaluations = 50000
13 | algorithm = NSGAII(
14 | problem=problem,
15 | population_size=100,
16 | offspring_population_size=100,
17 | mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables(), distribution_index=20.0),
18 | crossover=SBXCrossover(probability=0.9, distribution_index=20.0),
19 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations),
20 | dominance_comparator=DominanceComparator(),
21 | )
22 |
23 | algorithm.run()
24 | front = algorithm.result()
25 |
26 | # Save results to file
27 | print_function_values_to_file(front, "FUN." + algorithm.get_name() + "-" + problem.name())
28 | print_variables_to_file(front, "VAR." + algorithm.get_name() + "-" + problem.name())
29 |
30 | print("Algorithm (continuous problem): " + algorithm.get_name())
31 | print("Problem: " + problem.name())
32 | print("Computing time: " + str(algorithm.total_computing_time))
33 |
--------------------------------------------------------------------------------
/examples/singleobjective/simulated_annealing/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/examples/singleobjective/simulated_annealing/__init__.py
--------------------------------------------------------------------------------
/examples/singleobjective/simulated_annealing/simulated_annealing_binary.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.singleobjective.simulated_annealing import SimulatedAnnealing
2 | from jmetal.operator.mutation import BitFlipMutation
3 | from jmetal.problem import OneMax
4 | from jmetal.util.solution import print_function_values_to_file, print_variables_to_file
5 | from jmetal.util.termination_criterion import StoppingByEvaluations
6 |
7 | if __name__ == "__main__":
8 | problem = OneMax(number_of_bits=512)
9 |
10 | max_evaluations = 10000
11 |
12 | algorithm = SimulatedAnnealing(
13 | problem=problem,
14 | mutation=BitFlipMutation(probability=1.0 / problem.total_number_of_bits()),
15 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations),
16 | )
17 |
18 | algorithm.run()
19 | result = algorithm.result()
20 |
21 | # Save results to file
22 | print_function_values_to_file(result, "FUN." + algorithm.get_name() + "." + problem.name())
23 | print_variables_to_file(result, "VAR." + algorithm.get_name() + "." + problem.name())
24 |
25 | print("Algorithm: " + algorithm.get_name())
26 | print("Problem: " + problem.name())
27 | print("Solution: " + result.get_binary_string())
28 | print("Fitness: " + str(result.objectives[0]))
29 | print("Computing time: " + str(algorithm.total_computing_time))
30 |
--------------------------------------------------------------------------------
/examples/singleobjective/simulated_annealing/simulated_annealing_float.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.singleobjective.simulated_annealing import SimulatedAnnealing
2 | from jmetal.operator.mutation import PolynomialMutation
3 | from jmetal.problem.singleobjective.unconstrained import Rastrigin
4 | from jmetal.util.solution import print_function_values_to_file, print_variables_to_file
5 | from jmetal.util.termination_criterion import StoppingByEvaluations
6 |
7 | if __name__ == "__main__":
8 | problem = Rastrigin(10)
9 |
10 | max_evaluations = 100000
11 |
12 | algorithm = SimulatedAnnealing(
13 | problem=problem,
14 | mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables(), distribution_index=20.0),
15 | termination_criterion=StoppingByEvaluations(max_evaluations=max_evaluations),
16 | )
17 |
18 | algorithm.run()
19 | result = algorithm.result()
20 |
21 | # Save results to file
22 | print_function_values_to_file(result, "FUN." + algorithm.get_name() + "." + problem.name())
23 | print_variables_to_file(result, "VAR." + algorithm.get_name() + "." + problem.name())
24 |
25 | print("Algorithm: " + algorithm.get_name())
26 | print("Problem: " + problem.name())
27 | print("Solution: " + str(result.variables[0]))
28 | print("Fitness: " + str(result.objectives[0]))
29 | print("Computing time: " + str(algorithm.total_computing_time))
30 |
--------------------------------------------------------------------------------
/examples/singleobjective/simulated_annealing/simulated_annealing_permutation.py:
--------------------------------------------------------------------------------
1 | from jmetal.algorithm.singleobjective.simulated_annealing import SimulatedAnnealing
2 | from jmetal.operator.mutation import ScrambleMutation
3 | from jmetal.problem import TSP
4 | from jmetal.util.termination_criterion import StoppingByTime
5 |
6 | if __name__ == "__main__":
7 | problem = TSP(instance="resources/TSP_instances/kroA100.tsp")
8 |
9 | print(f"Solving TSP problem with {problem.number_of_cities} cities.")
10 |
11 | algorithm = SimulatedAnnealing(
12 | problem=problem,
13 | mutation=ScrambleMutation(probability=1.0 / problem.number_of_cities),
14 | termination_criterion=StoppingByTime(max_seconds=10),
15 | )
16 |
17 | algorithm.run()
18 | result = algorithm.result()
19 |
20 | print(f"Algorithm: {algorithm.get_name()}")
21 | print(f"Solution: {result.variables}")
22 | print(f"The shortest path length: {str(result.objectives[0])}")
23 | print(f"Computing time: {str(algorithm.total_computing_time)}")
24 | print(f"Problem evaluations: {str(algorithm.evaluations)}")
25 |
--------------------------------------------------------------------------------
/mypy.ini:
--------------------------------------------------------------------------------
1 | [mypy]
2 | check_untyped_defs = True
3 | ignore_errors = False
4 | ignore_missing_imports = True
5 | warn_redundant_casts = True
6 | warn_unused_ignores = True
7 | warn_unreachable = True
8 | warn_unused_configs = True
9 | pretty = True
10 |
11 | [mypy-*.test.*]
12 | ignore_errors = True
--------------------------------------------------------------------------------
/resources/Knapsack_instances/KnapsackInstance_100_0_3.kp:
--------------------------------------------------------------------------------
1 | 100
2 | 272441
3 |
4 | 3899 5074
5 | 9710 119
6 | 8917 1262
7 | 2137 1772
8 | 6062 9827
9 | 9895 8775
10 | 7767 515
11 | 9517 3234
12 | 1074 6684
13 | 9923 4778
14 | 216 4316
15 | 7688 2560
16 | 4250 696
17 | 9025 5568
18 | 3840 5142
19 | 3142 5902
20 | 7705 2267
21 | 8864 6190
22 | 9006 6173
23 | 7805 7544
24 | 6507 8521
25 | 2468 6328
26 | 3800 9760
27 | 2485 9163
28 | 8572 1681
29 | 6389 8308
30 | 249 4445
31 | 1050 7065
32 | 2612 3894
33 | 9685 4934
34 | 702 7168
35 | 4936 4231
36 | 509 8539
37 | 4415 4965
38 | 7746 8986
39 | 9745 5553
40 | 6351 188
41 | 6995 6803
42 | 6472 9503
43 | 9453 5159
44 | 7285 329
45 | 2198 6169
46 | 5989 9654
47 | 1597 2184
48 | 588 985
49 | 2228 5447
50 | 8109 7640
51 | 3556 5783
52 | 4227 5777
53 | 7147 9976
54 | 4933 4570
55 | 6901 8021
56 | 8311 364
57 | 6323 9657
58 | 9405 993
59 | 5750 349
60 | 8751 6049
61 | 9586 4115
62 | 6678 7477
63 | 9573 4893
64 | 3808 9711
65 | 5518 9855
66 | 470 5244
67 | 4583 2907
68 | 9926 5964
69 | 2673 3036
70 | 5348 5123
71 | 8877 6049
72 | 9371 9759
73 | 9325 4328
74 | 1706 4922
75 | 3460 6180
76 | 9397 1719
77 | 4376 442
78 | 4669 9327
79 | 2039 2154
80 | 1040 5080
81 | 7898 8193
82 | 7922 3647
83 | 1451 4414
84 | 5638 3911
85 | 1092 5371
86 | 6726 3071
87 | 2471 7131
88 | 330 1590
89 | 4816 1669
90 | 6999 9843
91 | 6803 5276
92 | 1949 5469
93 | 725 3678
94 | 9913 7184
95 | 737 2774
96 | 6190 1310
97 | 9608 5517
98 | 5423 3573
99 | 9026 9313
100 | 4573 7391
101 | 8281 4434
102 | 3866 3687
103 | 591 1982
104 |
--------------------------------------------------------------------------------
/resources/Knapsack_instances/KnapsackInstance_100_1_15.kp:
--------------------------------------------------------------------------------
1 | 100
2 | 242766
3 |
4 | 3424 706
5 | 191 8198
6 | 8542 1011
7 | 593 7774
8 | 2589 1339
9 | 3915 9333
10 | 277 7575
11 | 901 3798
12 | 2413 9722
13 | 6018 7359
14 | 3928 4189
15 | 1920 1392
16 | 5540 147
17 | 7641 925
18 | 5829 5458
19 | 4598 6223
20 | 6428 7105
21 | 4315 5691
22 | 5642 917
23 | 3746 4954
24 | 3382 9756
25 | 5820 7302
26 | 5135 5108
27 | 3661 8987
28 | 5008 507
29 | 8379 7062
30 | 6889 6310
31 | 3792 247
32 | 9457 5704
33 | 7464 6365
34 | 6880 8489
35 | 8022 47
36 | 1294 2358
37 | 7555 4113
38 | 9252 4087
39 | 5898 8176
40 | 7198 8399
41 | 9333 5424
42 | 5164 5323
43 | 7383 3995
44 | 6638 9616
45 | 1079 5158
46 | 8033 8060
47 | 308 5222
48 | 3207 42
49 | 2299 9911
50 | 8749 5823
51 | 2822 3689
52 | 285 5572
53 | 4696 968
54 | 8684 2822
55 | 8110 8283
56 | 2486 1774
57 | 1637 9435
58 | 1905 6540
59 | 6478 5486
60 | 777 2110
61 | 1206 5500
62 | 7679 1609
63 | 9093 5164
64 | 4847 5630
65 | 6578 7511
66 | 8226 8975
67 | 3808 7934
68 | 2937 9371
69 | 8908 1991
70 | 8194 6455
71 | 5797 9521
72 | 1284 76
73 | 3855 1643
74 | 5081 2548
75 | 5100 7569
76 | 2696 2619
77 | 5215 3211
78 | 6339 9484
79 | 7808 8919
80 | 5508 9012
81 | 7235 5279
82 | 1216 6043
83 | 4464 6648
84 | 7774 3827
85 | 2329 9128
86 | 1891 8526
87 | 8069 1905
88 | 6387 8685
89 | 6163 7650
90 | 253 9621
91 | 4261 2564
92 | 1513 5551
93 | 4706 7530
94 | 1053 9905
95 | 678 9285
96 | 7384 6682
97 | 974 469
98 | 4179 4464
99 | 2595 5522
100 | 8191 2129
101 | 9258 4473
102 | 7881 5852
103 | 8167 3060
104 |
--------------------------------------------------------------------------------
/resources/Knapsack_instances/KnapsackInstance_100_2_27.kp:
--------------------------------------------------------------------------------
1 | 100
2 | 245200
3 |
4 | 7863 943
5 | 4542 6110
6 | 4686 3108
7 | 3218 4853
8 | 1212 1591
9 | 1072 527
10 | 4169 9211
11 | 8841 6929
12 | 5457 6728
13 | 4144 7547
14 | 6101 57
15 | 6602 2961
16 | 3004 5763
17 | 4061 239
18 | 3930 3117
19 | 8048 3717
20 | 1169 6242
21 | 9389 3143
22 | 1290 5397
23 | 6967 6287
24 | 6847 1029
25 | 864 5651
26 | 7201 696
27 | 5730 3006
28 | 199 1025
29 | 7840 1284
30 | 4145 4825
31 | 2254 3814
32 | 5536 2249
33 | 9995 7576
34 | 3727 9910
35 | 8590 7824
36 | 2310 1680
37 | 1618 3809
38 | 6422 9747
39 | 4949 6038
40 | 616 4594
41 | 8692 498
42 | 1392 8044
43 | 2789 2643
44 | 7530 5117
45 | 2485 8765
46 | 4343 7659
47 | 8853 3504
48 | 835 7163
49 | 2833 4981
50 | 247 3334
51 | 7407 8346
52 | 2478 2462
53 | 5675 5441
54 | 9406 9316
55 | 9416 952
56 | 6813 3716
57 | 1065 2048
58 | 5045 7690
59 | 7172 9963
60 | 7662 9963
61 | 5779 1299
62 | 208 4000
63 | 5914 7107
64 | 2572 5209
65 | 4349 5017
66 | 2912 716
67 | 7914 2068
68 | 5856 1696
69 | 8462 6564
70 | 1008 1423
71 | 8477 6135
72 | 4084 3345
73 | 2785 2719
74 | 3408 8943
75 | 8015 333
76 | 9105 3071
77 | 1499 7275
78 | 5482 828
79 | 5544 9507
80 | 938 9791
81 | 6441 8538
82 | 5632 7273
83 | 1873 9862
84 | 4948 831
85 | 4168 3636
86 | 9108 4593
87 | 1351 8854
88 | 4913 3321
89 | 7481 1545
90 | 7594 9150
91 | 4666 9804
92 | 8409 8950
93 | 1923 7269
94 | 9599 5991
95 | 369 5402
96 | 4669 8233
97 | 3549 3416
98 | 7826 6421
99 | 9082 3126
100 | 8891 2651
101 | 1982 139
102 | 64 5729
103 | 9709 3943
104 |
--------------------------------------------------------------------------------
/resources/Knapsack_instances/KnapsackInstance_100_3_39.kp:
--------------------------------------------------------------------------------
1 | 100
2 | 239724
3 |
4 | 3439 790
5 | 4255 1696
6 | 6315 1899
7 | 425 1746
8 | 3196 7521
9 | 3614 9091
10 | 6482 7434
11 | 9219 5838
12 | 88 4364
13 | 4173 3340
14 | 5835 2054
15 | 2922 5189
16 | 445 3024
17 | 4817 4841
18 | 1208 8707
19 | 6001 1101
20 | 142 1420
21 | 1769 7579
22 | 6945 1089
23 | 5699 4740
24 | 6917 444
25 | 1592 8793
26 | 6417 1583
27 | 8411 3058
28 | 9511 3396
29 | 4912 6239
30 | 4375 2451
31 | 1092 8171
32 | 7540 2056
33 | 7059 5584
34 | 4219 2387
35 | 9466 3475
36 | 5254 7278
37 | 9263 3312
38 | 9 5381
39 | 746 5562
40 | 3081 9402
41 | 7881 7334
42 | 6242 6104
43 | 5133 914
44 | 4632 7849
45 | 6349 3879
46 | 5752 7563
47 | 7845 5574
48 | 2226 293
49 | 8696 9865
50 | 7073 6352
51 | 1159 8593
52 | 2827 9357
53 | 4878 1256
54 | 4728 4546
55 | 3859 3558
56 | 1625 45
57 | 6512 8517
58 | 7742 8269
59 | 8405 5801
60 | 1445 475
61 | 6838 6028
62 | 555 6765
63 | 269 3714
64 | 6853 1444
65 | 70 9234
66 | 9923 7847
67 | 9441 979
68 | 9676 2195
69 | 6203 8501
70 | 2075 658
71 | 9102 4438
72 | 3624 4606
73 | 1933 9236
74 | 8876 1405
75 | 7226 7257
76 | 3322 9242
77 | 8465 978
78 | 3719 2036
79 | 3956 2134
80 | 2148 5256
81 | 8881 4046
82 | 1465 5028
83 | 8010 5305
84 | 5423 1739
85 | 8341 4922
86 | 4607 4615
87 | 3567 8410
88 | 8210 7895
89 | 3104 1970
90 | 9562 2421
91 | 2335 591
92 | 2943 1251
93 | 2814 5648
94 | 5928 3313
95 | 5269 8713
96 | 4681 3765
97 | 2930 2776
98 | 651 4441
99 | 1987 6206
100 | 3458 22
101 | 9264 8438
102 | 1036 267
103 | 3641 309
104 |
--------------------------------------------------------------------------------
/resources/Knapsack_instances/KnapsackInstance_100_4_51.kp:
--------------------------------------------------------------------------------
1 | 100
2 | 283519
3 |
4 | 3990 7888
5 | 8229 2407
6 | 9049 9011
7 | 2654 6919
8 | 4032 2925
9 | 3792 1843
10 | 9050 4885
11 | 4192 7608
12 | 6511 185
13 | 8984 2569
14 | 7596 6903
15 | 8981 1268
16 | 8578 9133
17 | 5611 8306
18 | 9603 8205
19 | 5902 4641
20 | 6337 9484
21 | 4550 9718
22 | 6618 7169
23 | 125 7315
24 | 1867 7830
25 | 465 6250
26 | 8830 276
27 | 4231 4576
28 | 534 2290
29 | 7828 6564
30 | 2911 6601
31 | 5690 6323
32 | 4911 5199
33 | 6017 5243
34 | 7358 6579
35 | 3167 9357
36 | 483 5401
37 | 7179 9055
38 | 2753 7499
39 | 7703 6697
40 | 210 8377
41 | 993 9702
42 | 1741 5316
43 | 9702 7838
44 | 1764 9936
45 | 2865 2042
46 | 8999 90
47 | 7606 2146
48 | 266 6420
49 | 7119 3531
50 | 6799 6762
51 | 3292 4274
52 | 6060 874
53 | 1836 6405
54 | 7944 9194
55 | 9008 5382
56 | 2927 802
57 | 9658 8672
58 | 5870 4488
59 | 7379 543
60 | 8115 5312
61 | 1927 51
62 | 8502 4743
63 | 7208 7405
64 | 170 1185
65 | 7112 9824
66 | 8842 7933
67 | 670 8756
68 | 7773 9050
69 | 8397 2318
70 | 8836 5709
71 | 1633 4492
72 | 8581 1303
73 | 5030 7953
74 | 8708 8256
75 | 7539 9669
76 | 449 31
77 | 5367 3955
78 | 6892 7132
79 | 8660 3046
80 | 1430 1760
81 | 9589 9304
82 | 9505 173
83 | 6696 8686
84 | 9188 2620
85 | 4560 9521
86 | 3685 7823
87 | 7686 2206
88 | 9608 2534
89 | 7934 8575
90 | 3492 8823
91 | 8854 6708
92 | 878 6848
93 | 5287 3370
94 | 7617 8007
95 | 5042 887
96 | 8775 7514
97 | 9758 7520
98 | 7264 6644
99 | 3325 1232
100 | 9036 9032
101 | 5774 754
102 | 4825 1929
103 | 4142 4842
104 |
--------------------------------------------------------------------------------
/resources/Knapsack_instances/KnapsackInstance_100_5_63.kp:
--------------------------------------------------------------------------------
1 | 100
2 | 230260
3 |
4 | 7294 6519
5 | 7279 7749
6 | 4819 1417
7 | 4145 1032
8 | 7935 9990
9 | 1427 7807
10 | 6336 6005
11 | 1287 7167
12 | 1236 2572
13 | 3318 3833
14 | 4765 7916
15 | 1212 4228
16 | 5030 2954
17 | 985 5766
18 | 3645 6126
19 | 2097 9674
20 | 5377 8809
21 | 3848 1407
22 | 4486 6854
23 | 9816 4935
24 | 495 2890
25 | 548 6731
26 | 9777 7507
27 | 2672 854
28 | 3733 9048
29 | 9104 8998
30 | 7011 4343
31 | 7069 6678
32 | 5915 908
33 | 7984 8116
34 | 3377 6067
35 | 1729 6025
36 | 525 6746
37 | 588 5957
38 | 5594 7899
39 | 5402 7569
40 | 1926 6506
41 | 359 1395
42 | 9468 2310
43 | 2795 8046
44 | 175 229
45 | 6461 7296
46 | 7172 9836
47 | 835 5234
48 | 6068 3856
49 | 1001 2997
50 | 6044 4987
51 | 849 6940
52 | 5699 9857
53 | 6924 1262
54 | 1222 1939
55 | 4137 4002
56 | 8866 6717
57 | 8723 586
58 | 1137 4607
59 | 3285 5874
60 | 8217 7333
61 | 3694 5196
62 | 9399 8278
63 | 6717 6477
64 | 7466 500
65 | 2606 8877
66 | 692 9995
67 | 5994 1577
68 | 3516 6238
69 | 6593 2723
70 | 5586 4923
71 | 8839 5714
72 | 2540 5180
73 | 4829 3527
74 | 7813 3321
75 | 1988 1398
76 | 6946 440
77 | 2196 3019
78 | 5918 7286
79 | 2145 5583
80 | 2100 6788
81 | 5037 3288
82 | 774 9129
83 | 8085 6194
84 | 3952 6952
85 | 604 9237
86 | 1733 9483
87 | 6786 9205
88 | 2932 3028
89 | 6487 6274
90 | 4803 4384
91 | 8196 9748
92 | 8321 9775
93 | 8910 7278
94 | 4126 4490
95 | 1668 6260
96 | 9656 3544
97 | 7817 778
98 | 516 8435
99 | 3644 5041
100 | 5682 4179
101 | 9527 1082
102 | 208 5584
103 | 8863 7057
104 |
--------------------------------------------------------------------------------
/resources/Knapsack_instances/KnapsackInstance_100_6_75.kp:
--------------------------------------------------------------------------------
1 | 100
2 | 261028
3 |
4 | 7387 6066
5 | 9582 9227
6 | 7154 2161
7 | 7445 9237
8 | 683 471
9 | 8423 6538
10 | 7745 8246
11 | 5664 9209
12 | 1640 4714
13 | 5194 3200
14 | 1373 5812
15 | 4116 7352
16 | 4499 3093
17 | 8136 2344
18 | 5697 8700
19 | 9940 4047
20 | 7959 631
21 | 4392 6986
22 | 6697 7227
23 | 451 5433
24 | 6197 7916
25 | 8872 3437
26 | 9380 112
27 | 7583 7149
28 | 3255 5804
29 | 2158 1350
30 | 3220 5922
31 | 2352 2543
32 | 4951 2494
33 | 8073 4130
34 | 9783 3466
35 | 2761 4181
36 | 7589 7989
37 | 294 7022
38 | 5039 8166
39 | 990 9018
40 | 1151 3047
41 | 911 6294
42 | 4428 2425
43 | 5307 6640
44 | 3190 2010
45 | 950 5640
46 | 1478 4036
47 | 6770 3563
48 | 1953 217
49 | 5037 8756
50 | 5942 5892
51 | 8560 8234
52 | 1876 7819
53 | 7638 4598
54 | 4783 7707
55 | 4779 3553
56 | 9263 6055
57 | 3462 2246
58 | 4019 8908
59 | 6161 5631
60 | 78 7361
61 | 436 659
62 | 4984 3421
63 | 5309 6407
64 | 7290 4468
65 | 4852 5021
66 | 308 540
67 | 8640 2581
68 | 2574 1195
69 | 9044 6287
70 | 8977 3879
71 | 7210 5353
72 | 160 2887
73 | 4432 9220
74 | 9124 8446
75 | 5206 377
76 | 3070 3075
77 | 5801 7682
78 | 4256 8455
79 | 7039 5944
80 | 8182 5626
81 | 8043 3039
82 | 2004 5502
83 | 6517 8523
84 | 4285 2508
85 | 5987 867
86 | 8433 925
87 | 8432 6087
88 | 7565 3163
89 | 5722 4479
90 | 1595 2814
91 | 4631 9841
92 | 6332 2579
93 | 6460 3305
94 | 5450 2973
95 | 295 6152
96 | 8279 1956
97 | 8734 8626
98 | 7952 4826
99 | 5364 7808
100 | 6032 7007
101 | 6723 3354
102 | 9888 2572
103 | 1251 1224
104 |
--------------------------------------------------------------------------------
/resources/Knapsack_instances/KnapsackInstance_100_7_87.kp:
--------------------------------------------------------------------------------
1 | 100
2 | 238249
3 |
4 | 2392 8151
5 | 3100 3377
6 | 8857 5716
7 | 1675 5090
8 | 4602 3659
9 | 5496 8916
10 | 8902 5917
11 | 5371 9447
12 | 2007 715
13 | 5959 6111
14 | 251 7146
15 | 4524 5417
16 | 6315 891
17 | 1467 3062
18 | 8139 9824
19 | 8421 5317
20 | 1141 2751
21 | 3293 6797
22 | 4103 3226
23 | 3072 6938
24 | 9116 4887
25 | 1335 5741
26 | 5009 7747
27 | 466 2617
28 | 4568 2520
29 | 6858 4734
30 | 9757 6557
31 | 7102 4442
32 | 5315 3121
33 | 7387 9684
34 | 3389 8112
35 | 5687 4144
36 | 3199 2890
37 | 9756 1909
38 | 7865 4588
39 | 9446 1859
40 | 9481 9109
41 | 4836 7612
42 | 584 1034
43 | 4930 9521
44 | 1720 5639
45 | 4686 7056
46 | 5626 1674
47 | 257 4553
48 | 9550 1352
49 | 4320 1446
50 | 7754 8061
51 | 9751 7650
52 | 903 4878
53 | 994 182
54 | 8740 1946
55 | 1900 2954
56 | 999 3982
57 | 5030 2387
58 | 7963 3156
59 | 3267 1590
60 | 7036 5822
61 | 4559 288
62 | 296 7308
63 | 9077 4864
64 | 5212 3052
65 | 2093 444
66 | 6262 7110
67 | 4700 9124
68 | 4954 1905
69 | 6386 5719
70 | 3835 3586
71 | 9364 6786
72 | 3777 6821
73 | 5715 9224
74 | 4016 9749
75 | 5463 4898
76 | 3158 8921
77 | 1852 354
78 | 699 9832
79 | 4166 4211
80 | 4822 2980
81 | 6036 8193
82 | 3579 611
83 | 3683 4036
84 | 8867 6224
85 | 6971 1879
86 | 4993 3053
87 | 2499 1251
88 | 6782 6784
89 | 8383 1282
90 | 4088 5155
91 | 9993 519
92 | 5387 3445
93 | 624 7941
94 | 3421 2131
95 | 5758 1211
96 | 2354 5327
97 | 492 3232
98 | 9804 9018
99 | 217 1719
100 | 2098 3622
101 | 8525 9971
102 | 23 4281
103 | 612 6987
104 |
--------------------------------------------------------------------------------
/resources/Knapsack_instances/KnapsackInstance_100_8_99.kp:
--------------------------------------------------------------------------------
1 | 100
2 | 237289
3 |
4 | 6619 9191
5 | 6239 5229
6 | 3279 8178
7 | 9822 3833
8 | 2930 4221
9 | 3773 1921
10 | 4071 5927
11 | 2184 3047
12 | 1419 1187
13 | 4115 8213
14 | 6277 4714
15 | 8697 183
16 | 8825 9596
17 | 1472 782
18 | 8017 5529
19 | 3269 3545
20 | 6909 6177
21 | 9641 6539
22 | 3551 5518
23 | 6128 6544
24 | 6359 6324
25 | 3484 6785
26 | 2495 6079
27 | 7561 8756
28 | 2933 1519
29 | 9289 2970
30 | 5552 616
31 | 1360 6112
32 | 8663 6531
33 | 1439 7275
34 | 7685 3772
35 | 5184 5103
36 | 6597 3704
37 | 699 5090
38 | 4414 1733
39 | 9142 5144
40 | 125 3582
41 | 6967 4092
42 | 3339 6285
43 | 5940 4856
44 | 8755 7179
45 | 1325 1313
46 | 7571 7174
47 | 8498 6900
48 | 3246 4198
49 | 9921 1142
50 | 7581 8244
51 | 841 4802
52 | 5858 5253
53 | 2116 7817
54 | 3537 8737
55 | 2635 2086
56 | 7238 4208
57 | 9756 7061
58 | 2911 4766
59 | 8245 6707
60 | 2884 2612
61 | 608 4626
62 | 1799 6209
63 | 382 9901
64 | 2805 7210
65 | 7762 3187
66 | 6866 6224
67 | 1330 5519
68 | 6971 3239
69 | 1410 5659
70 | 2342 71
71 | 5076 5822
72 | 93 4840
73 | 6244 3167
74 | 5402 2813
75 | 2226 4276
76 | 8576 6828
77 | 6641 3789
78 | 3290 6689
79 | 908 5662
80 | 3465 6552
81 | 7258 60
82 | 4221 1841
83 | 8937 8220
84 | 6621 8713
85 | 2071 3318
86 | 5797 22
87 | 7802 8555
88 | 915 5088
89 | 2146 2743
90 | 9825 8375
91 | 2465 7277
92 | 9963 3364
93 | 6690 4324
94 | 2038 6830
95 | 1581 7669
96 | 1946 9182
97 | 2354 8701
98 | 4850 9928
99 | 2854 4711
100 | 2911 3282
101 | 6716 338
102 | 2385 1723
103 | 3401 5039
104 |
--------------------------------------------------------------------------------
/resources/Knapsack_instances/KnapsackInstance_100_9_110.kp:
--------------------------------------------------------------------------------
1 | 100
2 | 23664
3 |
4 | 957 319
5 | 398 966
6 | 814 401
7 | 842 438
8 | 615 536
9 | 254 891
10 | 422 35
11 | 494 332
12 | 731 438
13 | 281 93
14 | 654 84
15 | 556 89
16 | 706 505
17 | 77 540
18 | 558 174
19 | 427 971
20 | 514 987
21 | 324 187
22 | 764 951
23 | 42 554
24 | 120 114
25 | 836 36
26 | 527 974
27 | 935 19
28 | 83 135
29 | 155 813
30 | 453 133
31 | 648 724
32 | 14 153
33 | 542 668
34 | 914 897
35 | 436 120
36 | 973 621
37 | 605 699
38 | 813 570
39 | 678 716
40 | 237 302
41 | 285 866
42 | 296 63
43 | 372 530
44 | 373 82
45 | 520 868
46 | 111 243
47 | 417 517
48 | 954 600
49 | 572 818
50 | 796 76
51 | 897 13
52 | 469 46
53 | 281 747
54 | 931 207
55 | 925 739
56 | 697 12
57 | 905 686
58 | 131 58
59 | 200 326
60 | 265 140
61 | 421 566
62 | 484 124
63 | 234 85
64 | 182 342
65 | 463 982
66 | 231 871
67 | 875 4
68 | 87 684
69 | 507 107
70 | 340 8
71 | 338 504
72 | 256 73
73 | 169 844
74 | 314 345
75 | 144 193
76 | 208 471
77 | 843 466
78 | 806 406
79 | 975 552
80 | 280 880
81 | 911 739
82 | 184 279
83 | 4 651
84 | 611 460
85 | 274 254
86 | 761 279
87 | 145 834
88 | 13 175
89 | 475 536
90 | 412 240
91 | 207 939
92 | 217 642
93 | 500 951
94 | 520 625
95 | 462 831
96 | 329 499
97 | 647 642
98 | 746 568
99 | 527 758
100 | 965 510
101 | 515 297
102 | 378 977
103 | 46 212
104 |
--------------------------------------------------------------------------------
/resources/Knapsack_instances/KnapsackInstance_50_0_0.kp:
--------------------------------------------------------------------------------
1 | 50
2 | 13629
3 |
4 | 865 445
5 | 395 324
6 | 777 626
7 | 912 656
8 | 431 935
9 | 42 210
10 | 266 990
11 | 989 566
12 | 524 489
13 | 498 454
14 | 415 887
15 | 941 534
16 | 803 267
17 | 850 64
18 | 311 825
19 | 992 941
20 | 489 562
21 | 367 938
22 | 598 15
23 | 914 96
24 | 930 737
25 | 224 861
26 | 517 409
27 | 143 728
28 | 289 845
29 | 144 804
30 | 774 685
31 | 98 641
32 | 634 2
33 | 819 627
34 | 257 506
35 | 932 848
36 | 546 889
37 | 723 342
38 | 830 250
39 | 617 748
40 | 924 334
41 | 151 721
42 | 318 892
43 | 102 65
44 | 748 196
45 | 76 940
46 | 921 582
47 | 871 228
48 | 701 245
49 | 339 823
50 | 484 991
51 | 574 146
52 | 104 823
53 | 363 557
54 |
--------------------------------------------------------------------------------
/resources/Knapsack_instances/KnapsackInstance_50_1_12.kp:
--------------------------------------------------------------------------------
1 | 50
2 | 11987
3 |
4 | 486 522
5 | 276 229
6 | 674 94
7 | 542 434
8 | 683 970
9 | 359 455
10 | 147 116
11 | 391 677
12 | 12 434
13 | 384 995
14 | 495 139
15 | 281 553
16 | 659 321
17 | 830 904
18 | 472 637
19 | 708 572
20 | 886 168
21 | 616 1000
22 | 234 714
23 | 572 907
24 | 2 53
25 | 678 569
26 | 640 176
27 | 149 520
28 | 451 836
29 | 377 86
30 | 167 411
31 | 348 623
32 | 928 429
33 | 216 685
34 | 61 611
35 | 591 481
36 | 839 489
37 | 205 624
38 | 77 394
39 | 526 555
40 | 704 32
41 | 839 657
42 | 346 744
43 | 698 85
44 | 415 991
45 | 818 197
46 | 863 1000
47 | 90 807
48 | 20 680
49 | 941 268
50 | 63 365
51 | 840 964
52 | 937 372
53 | 678 887
54 |
--------------------------------------------------------------------------------
/resources/Knapsack_instances/KnapsackInstance_50_2_24.kp:
--------------------------------------------------------------------------------
1 | 50
2 | 13178
3 |
4 | 730 313
5 | 393 77
6 | 860 556
7 | 597 665
8 | 187 376
9 | 224 677
10 | 172 916
11 | 199 35
12 | 174 947
13 | 687 219
14 | 699 324
15 | 94 348
16 | 723 917
17 | 776 761
18 | 155 72
19 | 826 319
20 | 724 100
21 | 291 252
22 | 742 682
23 | 945 611
24 | 785 819
25 | 14 157
26 | 452 839
27 | 479 869
28 | 887 502
29 | 739 881
30 | 651 291
31 | 119 273
32 | 29 576
33 | 530 761
34 | 173 281
35 | 982 947
36 | 504 203
37 | 757 96
38 | 866 591
39 | 455 507
40 | 699 804
41 | 312 158
42 | 512 669
43 | 976 147
44 | 88 333
45 | 704 492
46 | 779 203
47 | 261 687
48 | 864 619
49 | 627 998
50 | 162 803
51 | 698 135
52 | 335 488
53 | 984 518
54 |
--------------------------------------------------------------------------------
/resources/Knapsack_instances/KnapsackInstance_50_3_36.kp:
--------------------------------------------------------------------------------
1 | 50
2 | 12057
3 |
4 | 337 333
5 | 60 731
6 | 22 908
7 | 983 563
8 | 821 173
9 | 941 4
10 | 932 609
11 | 809 395
12 | 292 923
13 | 897 507
14 | 81 142
15 | 1 776
16 | 515 902
17 | 643 223
18 | 181 428
19 | 254 919
20 | 276 381
21 | 748 823
22 | 669 214
23 | 443 889
24 | 374 507
25 | 574 956
26 | 275 952
27 | 556 745
28 | 80 771
29 | 590 963
30 | 418 263
31 | 848 626
32 | 502 38
33 | 400 242
34 | 354 642
35 | 775 520
36 | 826 474
37 | 406 666
38 | 911 520
39 | 250 304
40 | 402 464
41 | 172 745
42 | 127 87
43 | 527 867
44 | 510 241
45 | 719 310
46 | 784 209
47 | 209 582
48 | 537 172
49 | 302 182
50 | 189 66
51 | 504 743
52 | 723 246
53 | 608 383
54 |
--------------------------------------------------------------------------------
/resources/Knapsack_instances/KnapsackInstance_50_4_48.kp:
--------------------------------------------------------------------------------
1 | 50
2 | 11920
3 |
4 | 562 346
5 | 324 98
6 | 136 862
7 | 571 245
8 | 729 279
9 | 548 272
10 | 310 664
11 | 813 15
12 | 961 959
13 | 518 903
14 | 198 585
15 | 732 921
16 | 781 290
17 | 447 647
18 | 170 142
19 | 159 361
20 | 990 669
21 | 827 448
22 | 895 180
23 | 674 205
24 | 111 412
25 | 505 815
26 | 665 835
27 | 226 868
28 | 224 802
29 | 781 623
30 | 524 284
31 | 570 28
32 | 871 376
33 | 521 100
34 | 159 296
35 | 484 587
36 | 223 299
37 | 29 604
38 | 76 509
39 | 434 714
40 | 66 120
41 | 136 798
42 | 511 118
43 | 689 232
44 | 167 151
45 | 974 338
46 | 132 484
47 | 58 548
48 | 715 680
49 | 562 327
50 | 299 801
51 | 959 441
52 | 348 114
53 | 716 793
54 |
--------------------------------------------------------------------------------
/resources/Knapsack_instances/KnapsackInstance_50_5_60.kp:
--------------------------------------------------------------------------------
1 | 50
2 | 12354
3 |
4 | 316 154
5 | 291 21
6 | 592 978
7 | 158 581
8 | 272 225
9 | 236 302
10 | 828 803
11 | 496 248
12 | 479 560
13 | 907 282
14 | 341 68
15 | 999 964
16 | 919 228
17 | 43 132
18 | 812 725
19 | 943 924
20 | 881 263
21 | 95 925
22 | 682 853
23 | 879 209
24 | 190 750
25 | 158 850
26 | 400 889
27 | 48 201
28 | 246 593
29 | 655 662
30 | 813 992
31 | 922 125
32 | 10 513
33 | 423 327
34 | 810 829
35 | 744 506
36 | 171 376
37 | 134 386
38 | 314 90
39 | 640 846
40 | 644 538
41 | 815 663
42 | 692 99
43 | 153 35
44 | 525 26
45 | 611 572
46 | 570 739
47 | 832 94
48 | 604 84
49 | 50 180
50 | 615 874
51 | 577 400
52 | 111 708
53 | 310 323
54 |
--------------------------------------------------------------------------------
/resources/Knapsack_instances/KnapsackInstance_50_6_72.kp:
--------------------------------------------------------------------------------
1 | 50
2 | 11857
3 |
4 | 76 500
5 | 801 651
6 | 609 255
7 | 757 359
8 | 191 608
9 | 353 510
10 | 716 714
11 | 558 190
12 | 635 308
13 | 384 965
14 | 315 418
15 | 758 928
16 | 735 868
17 | 702 586
18 | 614 344
19 | 133 158
20 | 1000 465
21 | 720 977
22 | 712 896
23 | 352 222
24 | 239 43
25 | 390 57
26 | 147 338
27 | 649 429
28 | 28 63
29 | 709 387
30 | 827 75
31 | 228 871
32 | 467 941
33 | 829 151
34 | 14 306
35 | 458 63
36 | 71 990
37 | 791 453
38 | 303 501
39 | 94 43
40 | 518 886
41 | 326 679
42 | 744 554
43 | 19 500
44 | 894 566
45 | 427 896
46 | 905 935
47 | 261 958
48 | 276 402
49 | 356 240
50 | 380 124
51 | 226 806
52 | 383 853
53 | 873 512
54 |
--------------------------------------------------------------------------------
/resources/Knapsack_instances/KnapsackInstance_50_7_84.kp:
--------------------------------------------------------------------------------
1 | 50
2 | 12879
3 |
4 | 750 111
5 | 291 13
6 | 936 248
7 | 794 208
8 | 39 926
9 | 501 433
10 | 5 139
11 | 535 300
12 | 678 721
13 | 327 116
14 | 854 279
15 | 202 124
16 | 472 929
17 | 511 749
18 | 875 105
19 | 565 558
20 | 773 76
21 | 758 477
22 | 376 566
23 | 624 31
24 | 154 150
25 | 558 781
26 | 970 794
27 | 775 801
28 | 735 746
29 | 268 726
30 | 539 493
31 | 479 26
32 | 409 729
33 | 913 618
34 | 917 645
35 | 744 668
36 | 339 139
37 | 618 903
38 | 225 562
39 | 129 610
40 | 677 631
41 | 962 948
42 | 485 195
43 | 45 162
44 | 526 271
45 | 831 190
46 | 46 327
47 | 153 902
48 | 48 377
49 | 512 551
50 | 542 316
51 | 704 155
52 | 299 981
53 | 549 828
54 |
--------------------------------------------------------------------------------
/resources/Knapsack_instances/KnapsackInstance_50_8_96.kp:
--------------------------------------------------------------------------------
1 | 50
2 | 12420
3 |
4 | 380 63
5 | 323 128
6 | 930 449
7 | 690 518
8 | 406 847
9 | 947 218
10 | 211 382
11 | 99 70
12 | 838 138
13 | 350 604
14 | 777 764
15 | 48 117
16 | 716 966
17 | 908 567
18 | 23 875
19 | 171 796
20 | 418 310
21 | 659 852
22 | 323 578
23 | 90 672
24 | 262 266
25 | 348 259
26 | 366 703
27 | 283 821
28 | 135 950
29 | 517 199
30 | 828 797
31 | 12 444
32 | 865 419
33 | 591 789
34 | 490 610
35 | 558 50
36 | 495 283
37 | 456 888
38 | 326 520
39 | 250 365
40 | 706 851
41 | 860 665
42 | 355 605
43 | 543 661
44 | 931 435
45 | 961 417
46 | 903 96
47 | 936 758
48 | 819 609
49 | 931 601
50 | 525 208
51 | 332 718
52 | 29 478
53 | 169 968
54 |
--------------------------------------------------------------------------------
/resources/Knapsack_instances/KnapsackInstance_50_9_108.kp:
--------------------------------------------------------------------------------
1 | 50
2 | 12418
3 |
4 | 134 741
5 | 733 340
6 | 836 666
7 | 87 966
8 | 902 243
9 | 678 207
10 | 395 524
11 | 746 778
12 | 284 984
13 | 388 502
14 | 201 219
15 | 994 24
16 | 83 994
17 | 307 71
18 | 220 496
19 | 185 940
20 | 207 924
21 | 729 787
22 | 875 906
23 | 326 578
24 | 196 115
25 | 115 416
26 | 195 191
27 | 87 970
28 | 951 348
29 | 573 241
30 | 940 710
31 | 433 450
32 | 105 751
33 | 547 645
34 | 331 11
35 | 675 362
36 | 881 812
37 | 400 804
38 | 219 796
39 | 643 187
40 | 901 234
41 | 709 613
42 | 628 372
43 | 663 565
44 | 935 184
45 | 57 28
46 | 764 236
47 | 741 811
48 | 578 599
49 | 834 810
50 | 459 495
51 | 35 873
52 | 354 502
53 | 827 196
54 |
--------------------------------------------------------------------------------
/resources/TSP_instances/kroA100.opt.tour:
--------------------------------------------------------------------------------
1 | NAME : kroA100.opt.tour
2 | COMMENT : Optimum tour for kroA100 (21282)
3 | TYPE : TOUR
4 | DIMENSION : 100
5 | TOUR_SECTION
6 | 1
7 | 47
8 | 93
9 | 28
10 | 67
11 | 58
12 | 61
13 | 51
14 | 87
15 | 25
16 | 81
17 | 69
18 | 64
19 | 40
20 | 54
21 | 2
22 | 44
23 | 50
24 | 73
25 | 68
26 | 85
27 | 82
28 | 95
29 | 13
30 | 76
31 | 33
32 | 37
33 | 5
34 | 52
35 | 78
36 | 96
37 | 39
38 | 30
39 | 48
40 | 100
41 | 41
42 | 71
43 | 14
44 | 3
45 | 43
46 | 46
47 | 29
48 | 34
49 | 83
50 | 55
51 | 7
52 | 9
53 | 57
54 | 20
55 | 12
56 | 27
57 | 86
58 | 35
59 | 62
60 | 60
61 | 77
62 | 23
63 | 98
64 | 91
65 | 45
66 | 32
67 | 11
68 | 15
69 | 17
70 | 59
71 | 74
72 | 21
73 | 72
74 | 10
75 | 84
76 | 36
77 | 99
78 | 38
79 | 24
80 | 18
81 | 79
82 | 53
83 | 88
84 | 16
85 | 94
86 | 22
87 | 70
88 | 66
89 | 26
90 | 65
91 | 4
92 | 97
93 | 56
94 | 80
95 | 31
96 | 89
97 | 42
98 | 8
99 | 92
100 | 75
101 | 19
102 | 90
103 | 49
104 | 6
105 | 63
106 | -1
107 | EOF
108 |
--------------------------------------------------------------------------------
/resources/TSP_instances/test.tsp:
--------------------------------------------------------------------------------
1 | NAME: test
2 | TYPE: TSP
3 | COMMENT: 4-city test problem
4 | DIMENSION: 4
5 | EDGE_WEIGHT_TYPE : EUC_2D
6 | NODE_COORD_SECTION
7 | 1 1 1
8 | 2 2 2
9 | 3 3 3
10 | 4 4 4
11 | EOF
--------------------------------------------------------------------------------
/resources/reference_front/LIRCMOP11.pf:
--------------------------------------------------------------------------------
1 | 1.3965359e+00 1.5909903e-01
2 | 1.0429825e+00 5.1265242e-01
3 | 6.8942911e-01 8.6620581e-01
4 | 3.3587572e-01 1.2197592e+00
5 | 1.0606602e-02 1.6015969e+00
6 | 0.0000000e+00 2.1910000e+00
7 | 1.8730000e+00 0.0000000e+00
8 |
--------------------------------------------------------------------------------
/resources/reference_front/LIRCMOP12.pf:
--------------------------------------------------------------------------------
1 | 2.0329320e+00 8.8388348e-02
2 | 1.6793786e+00 4.4194174e-01
3 | 1.3258252e+00 7.9549513e-01
4 | 9.7227182e-01 1.1490485e+00
5 | 6.1871843e-01 1.5026019e+00
6 | 2.6516504e-01 1.8561553e+00
7 | 0.0000000e+00 2.2580000e+00
8 | 2.5690000e+00 0.0000000e+00
9 |
--------------------------------------------------------------------------------
/resources/reference_front/UF5.pf:
--------------------------------------------------------------------------------
1 | 0.0000000e+000 1.0000000e+000
2 | 5.0000000e-002 9.5000000e-001
3 | 1.0000000e-001 9.0000000e-001
4 | 1.5000000e-001 8.5000000e-001
5 | 2.0000000e-001 8.0000000e-001
6 | 2.5000000e-001 7.5000000e-001
7 | 3.0000000e-001 7.0000000e-001
8 | 3.5000000e-001 6.5000000e-001
9 | 4.0000000e-001 6.0000000e-001
10 | 4.5000000e-001 5.5000000e-001
11 | 5.0000000e-001 5.0000000e-001
12 | 5.5000000e-001 4.5000000e-001
13 | 6.0000000e-001 4.0000000e-001
14 | 6.5000000e-001 3.5000000e-001
15 | 7.0000000e-001 3.0000000e-001
16 | 7.5000000e-001 2.5000000e-001
17 | 8.0000000e-001 2.0000000e-001
18 | 8.5000000e-001 1.5000000e-001
19 | 9.0000000e-001 1.0000000e-001
20 | 9.5000000e-001 5.0000000e-002
21 | 1.0000000e+000 0.0000000e+000
22 |
--------------------------------------------------------------------------------
/src/jmetal/__init__.py:
--------------------------------------------------------------------------------
1 | from jmetal import algorithm, core, operator, problem
2 | from jmetal.logger import configure_logging
3 |
4 | configure_logging()
5 |
6 | __all__ = ["core", "algorithm", "operator", "problem"]
7 | __version__ = "1.6.0"
8 |
--------------------------------------------------------------------------------
/src/jmetal/algorithm/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/src/jmetal/algorithm/__init__.py
--------------------------------------------------------------------------------
/src/jmetal/algorithm/multiobjective/__init__.py:
--------------------------------------------------------------------------------
1 | from .gde3 import GDE3, DynamicGDE3
2 | from .hype import HYPE
3 | from .ibea import IBEA
4 | from .mocell import MOCell
5 | from .moead import MOEAD, MOEAD_DRA, MOEADIEpsilon
6 | from .nsgaii import NSGAII, DistributedNSGAII, DynamicNSGAII
7 | from .omopso import OMOPSO
8 | from .random_search import RandomSearch
9 | from .smpso import SMPSO, SMPSORP, DynamicSMPSO
10 | from .spea2 import SPEA2
11 |
--------------------------------------------------------------------------------
/src/jmetal/algorithm/singleobjective/__init__.py:
--------------------------------------------------------------------------------
1 | from .evolution_strategy import EvolutionStrategy
2 | from .genetic_algorithm import GeneticAlgorithm
3 | from .local_search import LocalSearch
4 | from .simulated_annealing import SimulatedAnnealing
5 |
--------------------------------------------------------------------------------
/src/jmetal/config.py:
--------------------------------------------------------------------------------
1 | from jmetal.core.observer import Observable
2 | from jmetal.operator.mutation import BitFlipMutation, PolynomialMutation
3 | from jmetal.util.comparator import DominanceComparator
4 | from jmetal.util.evaluator import Evaluator, SequentialEvaluator
5 | from jmetal.util.generator import RandomGenerator
6 | from jmetal.util.observable import DefaultObservable
7 | from jmetal.util.termination_criterion import StoppingByEvaluations
8 |
9 |
10 | class _Store:
11 | @property
12 | def default_observable(self) -> Observable:
13 | return DefaultObservable()
14 |
15 | @property
16 | def default_evaluator(self) -> Evaluator:
17 | return SequentialEvaluator()
18 |
19 | @property
20 | def default_generator(self):
21 | return RandomGenerator()
22 |
23 | @property
24 | def default_termination_criteria(self):
25 | return StoppingByEvaluations(max_evaluations=25000)
26 |
27 | @property
28 | def default_comparator(self):
29 | return DominanceComparator()
30 |
31 | @property
32 | def default_mutation(self):
33 | return {"real": PolynomialMutation(probability=0.15, distribution_index=20), "binary": BitFlipMutation(0.15)}
34 |
35 |
36 | store = _Store()
37 |
--------------------------------------------------------------------------------
/src/jmetal/core/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/src/jmetal/core/__init__.py
--------------------------------------------------------------------------------
/src/jmetal/core/observer.py:
--------------------------------------------------------------------------------
1 | from abc import ABC, abstractmethod
2 |
3 | """
4 | .. module:: Observable
5 | :platform: Unix, Windows
6 | :synopsis: Implementation of the observer-observable pattern.
7 |
8 | .. moduleauthor:: Antonio J. Nebro
9 | """
10 |
11 |
12 | class Observer(ABC):
13 | @abstractmethod
14 | def update(self, *args, **kwargs):
15 | """Update method."""
16 | pass
17 |
18 |
19 | class Observable(ABC):
20 | @abstractmethod
21 | def register(self, observer):
22 | pass
23 |
24 | @abstractmethod
25 | def deregister(self, observer):
26 | pass
27 |
28 | @abstractmethod
29 | def deregister_all(self):
30 | pass
31 |
32 | @abstractmethod
33 | def notify_all(self, *args, **kwargs):
34 | pass
35 |
--------------------------------------------------------------------------------
/src/jmetal/lab/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/src/jmetal/lab/__init__.py
--------------------------------------------------------------------------------
/src/jmetal/lab/statistical_test/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/src/jmetal/lab/statistical_test/__init__.py
--------------------------------------------------------------------------------
/src/jmetal/lab/visualization/__init__.py:
--------------------------------------------------------------------------------
1 | from jmetal.lab.statistical_test.critical_distance import CDplot
2 |
3 | from .interactive import InteractivePlot
4 | from .plotting import Plot
5 | from .posterior import plot_posterior
6 | from .streaming import StreamingPlot
7 |
8 | __all__ = ["Plot", "InteractivePlot", "StreamingPlot", "CDplot", "plot_posterior"]
9 |
--------------------------------------------------------------------------------
/src/jmetal/logger.py:
--------------------------------------------------------------------------------
1 | import logging.config
2 |
3 |
4 | def configure_logging():
5 | DEFAULT_LOGGING_CONFIG = {
6 | "version": 1,
7 | "disable_existing_loggers": False,
8 | "formatters": {
9 | "basic": {
10 | "format": "[%(asctime)s] [%(name)s] [%(levelname)s] %(message)s",
11 | }
12 | },
13 | "handlers": {
14 | "console": {
15 | "formatter": "basic",
16 | "class": "logging.StreamHandler",
17 | "stream": "ext://sys.stderr",
18 | }
19 | },
20 | "loggers": {
21 | "jmetal": {"handlers": ["console"], "level": "DEBUG"},
22 | },
23 | }
24 |
25 | logging.config.dictConfig(DEFAULT_LOGGING_CONFIG)
26 |
27 |
28 | def get_logger(module):
29 | return logging.getLogger(module)
30 |
--------------------------------------------------------------------------------
/src/jmetal/operator/__init__.py:
--------------------------------------------------------------------------------
1 | """
2 | from .crossover import (
3 | CXCrossover,
4 | DifferentialEvolutionCrossover,
5 | NullCrossover,
6 | PMXCrossover,
7 | SBXCrossover,
8 | SPXCrossover,
9 | IntegerSBXCrossover,
10 | )
11 | from .mutation import (
12 | BitFlipMutation,
13 | IntegerPolynomialMutation,
14 | NullMutation,
15 | PermutationSwapMutation,
16 | PolynomialMutation,
17 | ScrambleMutation,
18 | SimpleRandomMutation,
19 | UniformMutation,
20 | )
21 | from .selection import (
22 | BestSolutionSelection,
23 | BinaryTournament2Selection,
24 | BinaryTournamentSelection,
25 | NaryRandomSolutionSelection,
26 | RandomSolutionSelection,
27 | RankingAndCrowdingDistanceSelection,
28 | RouletteWheelSelection,
29 | )
30 |
31 | __all__ = [
32 | "NullCrossover",
33 | "SBXCrossover",
34 | "SPXCrossover",
35 | "DifferentialEvolutionCrossover",
36 | "PMXCrossover",
37 | "CXCrossover",
38 | "NullMutation",
39 | "BitFlipMutation",
40 | "PolynomialMutation",
41 | "IntegerPolynomialMutation",
42 | "UniformMutation",
43 | "SimpleRandomMutation",
44 | "ScrambleMutation",
45 | "PermutationSwapMutation",
46 | "RouletteWheelSelection",
47 | "BestSolutionSelection",
48 | "BinaryTournamentSelection",
49 | "BinaryTournament2Selection",
50 | "RandomSolutionSelection",
51 | "NaryRandomSolutionSelection",
52 | "RankingAndCrowdingDistanceSelection",
53 | ]
54 |
55 | """
--------------------------------------------------------------------------------
/src/jmetal/problem/__init__.py:
--------------------------------------------------------------------------------
1 | from .multiobjective.constrained import Srinivas, Tanaka
2 | from .multiobjective.dtlz import *
3 | from .multiobjective.lz09 import LZ09_F2
4 | from .multiobjective.unconstrained import Fonseca, Kursawe, Schaffer, Viennet2
5 | from .multiobjective.zdt import ZDT1, ZDT2, ZDT3, ZDT4, ZDT5, ZDT6
6 | from .singleobjective.tsp import TSP
7 | from .singleobjective.unconstrained import OneMax, Sphere
8 |
9 | __all__ = [
10 | "Srinivas",
11 | "Tanaka",
12 | "Kursawe",
13 | "Fonseca",
14 | "Schaffer",
15 | "Viennet2",
16 | "DTLZ1",
17 | "DTLZ2",
18 | "DTLZ3",
19 | "DTLZ4",
20 | "DTLZ5",
21 | "DTLZ6",
22 | "DTLZ7",
23 | "ZDT1",
24 | "ZDT2",
25 | "ZDT3",
26 | "ZDT4",
27 | "ZDT5",
28 | "ZDT6",
29 | "LZ09_F2",
30 | "OneMax",
31 | "Sphere",
32 | "TSP",
33 | ]
34 |
--------------------------------------------------------------------------------
/src/jmetal/problem/multiobjective/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/src/jmetal/problem/multiobjective/__init__.py
--------------------------------------------------------------------------------
/src/jmetal/problem/singleobjective/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/src/jmetal/problem/singleobjective/__init__.py
--------------------------------------------------------------------------------
/src/jmetal/util/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/src/jmetal/util/__init__.py
--------------------------------------------------------------------------------
/src/jmetal/util/constraint_handling.py:
--------------------------------------------------------------------------------
1 | from jmetal.core.solution import Solution
2 | from jmetal.util.ckecking import Check
3 |
4 |
5 | def is_feasible(solution: Solution) -> bool:
6 | """
7 | Returns a boolean value concerning the feasibility of a solution
8 | :param solution:
9 | :return: true if the solution is feasible; false otherwise
10 | """
11 | return number_of_violated_constraints(solution) == 0
12 |
13 |
14 | def number_of_violated_constraints(solution: Solution) -> int:
15 | """
16 | Returns the number of violated constraints of a solution
17 | :param solution:
18 | :return:
19 | """
20 | return sum([1 for _ in solution.constraints if _ < 0])
21 |
22 |
23 | def overall_constraint_violation_degree(solution: Solution) -> float:
24 | """
25 | Returns the constraint violation degree of a solution, which is the sum of the constraint values that are not zero
26 | :param solution:
27 | :return:
28 | """
29 | return sum([value for value in solution.constraints if value < 0])
30 |
31 |
32 | def feasibility_ratio(solutions: [Solution]):
33 | """
34 | Returns the percentage of feasible solutions in a solution list
35 | :param solutions:
36 | :return:
37 | """
38 | Check.that(len(solutions) > 0, "The solution list is empty")
39 |
40 | return sum(1 for solution in solutions if is_feasible(solution)) / len(solutions)
41 |
--------------------------------------------------------------------------------
/src/jmetal/util/distance.py:
--------------------------------------------------------------------------------
1 | from abc import ABC, abstractmethod
2 |
3 | import numpy
4 | from scipy.spatial import distance
5 |
6 | """
7 | .. module:: distance
8 | :platform: Unix, Windows
9 | :synopsis: implementation of distances between entities
10 |
11 | .. moduleauthor:: Antonio J. Nebro
12 | """
13 |
14 |
15 | class Distance(ABC):
16 | @abstractmethod
17 | def get_distance(self, element1, element2) -> float:
18 | pass
19 |
20 |
21 | class EuclideanDistance(Distance):
22 | def get_distance(self, list1: [], list2: []):
23 | return distance.euclidean(list1, list2)
24 |
25 |
26 | class CosineDistance(Distance):
27 | def __init__(self, reference_point: []):
28 | self.reference_point = reference_point
29 |
30 | def get_distance(self, list1: [], list2: []):
31 | total = sum(
32 | numpy.multiply(
33 | [(x - r) for x, r in zip(list1, self.reference_point)],
34 | [(y - r) for y, r in zip(list2, self.reference_point)],
35 | )
36 | )
37 |
38 | a = distance.cosine(
39 | [x - y for x, y in zip(list1, self.reference_point)], [x - y for x, y in zip(list2, self.reference_point)]
40 | )
41 |
42 | b = total / (
43 | self.__sum_of_distances_to_reference_point(list1) * self.__sum_of_distances_to_reference_point(list2)
44 | )
45 |
46 | return b
47 |
48 | def __sum_of_distances_to_reference_point(self, l: []):
49 | return sum([pow(x - y, 2.0) for x, y in zip(l, self.reference_point)])
50 |
--------------------------------------------------------------------------------
/src/jmetal/util/generator.py:
--------------------------------------------------------------------------------
1 | import copy
2 | from abc import ABC, abstractmethod
3 | from typing import Generic, List, TypeVar
4 |
5 | from jmetal.core.problem import Problem
6 | from jmetal.core.solution import Solution
7 |
8 | R = TypeVar("R")
9 |
10 | """
11 | .. module:: generator
12 | :platform: Unix, Windows
13 | :synopsis: Population generators implementation.
14 |
15 | .. moduleauthor:: Antonio Benítez-Hidalgo
16 | """
17 |
18 |
19 | class Generator(Generic[R], ABC):
20 | @abstractmethod
21 | def new(self, problem: Problem) -> R:
22 | pass
23 |
24 |
25 | class RandomGenerator(Generator):
26 | def new(self, problem: Problem):
27 | return problem.create_solution()
28 |
29 |
30 | class InjectorGenerator(Generator):
31 | def __init__(self, solutions: List[Solution]):
32 | super(InjectorGenerator, self).__init__()
33 | self.population = copy.deepcopy(solutions)
34 |
35 | def new(self, problem: Problem):
36 | if len(self.population) > 0:
37 | # If we have more solutions to inject, return one from the list
38 | return self.population.pop()
39 | else:
40 | # Otherwise generate a new solution
41 | solution = problem.create_solution()
42 |
43 | return solution
44 |
--------------------------------------------------------------------------------
/src/jmetal/util/observable.py:
--------------------------------------------------------------------------------
1 | import logging
2 | import threading
3 | import time
4 |
5 | from jmetal.core.observer import Observable, Observer
6 |
7 | LOGGER = logging.getLogger("jmetal")
8 |
9 | """
10 | .. module:: observable
11 | :platform: Unix, Windows
12 | :synopsis: Implementation of observable entities (using delegation)
13 | .. moduleauthor:: Antonio J. Nebro
14 | """
15 |
16 |
17 | class DefaultObservable(Observable):
18 | def __init__(self):
19 | self.observers = []
20 |
21 | def register(self, observer: Observer):
22 | if observer not in self.observers:
23 | self.observers.append(observer)
24 |
25 | def deregister(self, observer: Observer):
26 | if observer in self.observers:
27 | self.observers.remove(observer)
28 |
29 | def deregister_all(self):
30 | if self.observers:
31 | del self.observers[:]
32 |
33 | def notify_all(self, *args, **kwargs):
34 | for observer in self.observers:
35 | observer.update(*args, **kwargs)
36 |
37 |
38 | class TimeCounter(threading.Thread):
39 | def __init__(self, delay: int, observable: Observable = DefaultObservable()):
40 | super(TimeCounter, self).__init__()
41 | self.observable = observable
42 | self.delay = delay
43 |
44 | def run(self):
45 | counter = 0
46 | observable_data = {}
47 |
48 | while True:
49 | time.sleep(self.delay)
50 |
51 | observable_data["COUNTER"] = counter
52 | self.observable.notify_all(**observable_data)
53 |
54 | counter += 1
55 |
--------------------------------------------------------------------------------
/src/jmetal/util/point.py:
--------------------------------------------------------------------------------
1 | from abc import ABC, abstractmethod
2 |
3 | """
4 | .. module:: point
5 | :platform: Unix, Windows
6 | :synopsis: implementation of points of n-dimensions (e.g, ideal point, nadir point, etc.
7 |
8 | .. moduleauthor:: Antonio J. Nebro
9 | """
10 |
11 |
12 | class Point(ABC):
13 | @abstractmethod
14 | def update(self, vector: []) -> None:
15 | pass
16 |
17 |
18 | class IdealPoint(Point):
19 | def __init__(self, dimension: int):
20 | self.point = dimension * [float("inf")]
21 |
22 | def update(self, vector: []) -> None:
23 | self.point = [y if x > y else x for x, y in zip(self.point, vector)]
24 |
--------------------------------------------------------------------------------
/tests/algorithm/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/tests/algorithm/__init__.py
--------------------------------------------------------------------------------
/tests/core/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/tests/core/__init__.py
--------------------------------------------------------------------------------
/tests/core/test_operator.py:
--------------------------------------------------------------------------------
1 | import unittest
2 |
3 | from jmetal.core.operator import Crossover, Mutation
4 |
5 |
6 | class FakeMutation(Mutation):
7 | """
8 | Fake class used only for testing purposes.
9 | """
10 |
11 | def __init__(self, probability: float):
12 | super(FakeMutation, self).__init__(probability=probability)
13 |
14 |
15 | class FakeCrossover(Crossover):
16 | """
17 | Fake class used only for testing purposes.
18 | """
19 |
20 | def __init__(self, probability: float):
21 | super(FakeCrossover, self).__init__(probability=probability)
22 |
23 |
24 | class OperatorTestCase(unittest.TestCase):
25 | def test_should_mutation_constructor_raises_an_exception_is_probability_is_negative(self) -> None:
26 | with self.assertRaises(Exception):
27 | FakeMutation(-1)
28 |
29 | def test_should_mutation_constructor_raises_an_exception_is_probability_is_higher_than_one(self) -> None:
30 | with self.assertRaises(Exception):
31 | FakeMutation(1.1)
32 |
33 | def test_should_crossover_constructor_raises_an_exception_is_probability_is_negative(self) -> None:
34 | with self.assertRaises(Exception):
35 | FakeCrossover(-1)
36 |
37 | def test_should_crossover_constructor_raises_an_exception_is_probability_is_higher_than_one(self) -> None:
38 | with self.assertRaises(Exception):
39 | FakeCrossover(1.1)
40 |
41 |
42 | if __name__ == "__main__":
43 | unittest.main()
44 |
--------------------------------------------------------------------------------
/tests/problem/multiobjective/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/tests/problem/multiobjective/__init__.py
--------------------------------------------------------------------------------
/tests/problem/singleobjective/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/tests/problem/singleobjective/__init__.py
--------------------------------------------------------------------------------
/tests/util/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jMetal/jMetalPy/c7c0450171b614e0a45c12c494dead6a768c4585/tests/util/__init__.py
--------------------------------------------------------------------------------
/tests/util/test_aggregation_function.py:
--------------------------------------------------------------------------------
1 | import unittest
2 |
3 | from jmetal.util.aggregation_function import WeightedSum
4 |
5 |
6 | class WeightedSumTestCases(unittest.TestCase):
7 | def test_should_aggregative_sum_work_properly_with_2D_vectors(self) -> None:
8 | aggregative_function = WeightedSum()
9 |
10 | self.assertEqual(1.5, aggregative_function.compute([1.5, 2.9], [1.0, 0.0]))
11 | self.assertEqual(2.9, aggregative_function.compute([1.5, 2.9], [0.0, 1.0]))
12 | self.assertEqual(1.5 / 2.0 + 2.9 / 2.0, aggregative_function.compute([1.5, 2.9], [0.5, 0.5]))
13 |
14 |
15 | if __name__ == "__main__":
16 | unittest.main()
17 |
--------------------------------------------------------------------------------
/tests/util/test_checking.py:
--------------------------------------------------------------------------------
1 | import unittest
2 |
3 | from jmetal.util.ckecking import (
4 | Check,
5 | InvalidConditionException,
6 | InvalidProbabilityValueException,
7 | NoneParameterException,
8 | ValueOutOfRangeException,
9 | )
10 |
11 |
12 | class CheckingTestCases(unittest.TestCase):
13 | def test_should_is_not_null_raise_an_exception(self) -> None:
14 | with self.assertRaises(NoneParameterException):
15 | Check.is_not_none(None)
16 |
17 | def test_should_is_valid_probability_raise_an_exception_if_the_value_is_negative(self) -> None:
18 | with self.assertRaises(InvalidProbabilityValueException):
19 | Check.probability_is_valid(-1.0)
20 |
21 | def test_should_is_valid_probability_raise_an_exception_if_the_value_is_higher_than_one(self) -> None:
22 | with self.assertRaises(InvalidProbabilityValueException):
23 | Check.probability_is_valid(1.1)
24 |
25 | def test_should_is_value_in_range_raise_an_exception_if_the_value_is_lower_than_the_lower_bound(self) -> None:
26 | with self.assertRaises(ValueOutOfRangeException):
27 | Check.value_is_in_range(2, 3, 5)
28 |
29 | def test_should_is_value_in_range_raise_an_exception_if_the_value_is_higher_than_the_upper_bound(self) -> None:
30 | with self.assertRaises(ValueOutOfRangeException):
31 | Check.value_is_in_range(7, 3, 5)
32 |
33 | def test_should_that_raise_an_exception_if_the_expression_is_false(self) -> None:
34 | with self.assertRaises(InvalidConditionException):
35 | Check.that(False, "The expression is false")
36 |
37 |
38 | if __name__ == "__main__":
39 | unittest.main()
40 |
--------------------------------------------------------------------------------
/tests/util/test_point.py:
--------------------------------------------------------------------------------
1 | import unittest
2 |
3 | from jmetal.util.point import IdealPoint
4 |
5 |
6 | class IdealPointTestCases(unittest.TestCase):
7 | def test_should_constructor_create_a_correctly_initialized_point(self) -> None:
8 | point = IdealPoint(2)
9 |
10 | self.assertEqual(2, len(point.point))
11 | self.assertEqual(2 * [float("inf")], point.point)
12 |
13 | def test_should_update_with_one_point_work_properly(self) -> None:
14 | point = IdealPoint(3)
15 |
16 | vector = [2.2, -1.5, 3.5]
17 | point.update(vector)
18 |
19 | self.assertEqual(vector, point.point)
20 |
21 | def test_should_update_with_two_solutions_work_properly(self) -> None:
22 | point = IdealPoint(2)
23 |
24 | vector1 = [0.0, 1.0]
25 | vector2 = [1.0, 0.0]
26 |
27 | point.update(vector1)
28 | point.update(vector2)
29 |
30 | self.assertEqual([0.0, 0.0], point.point)
31 |
32 | def test_should_update_with_three_solutions_work_properly(self) -> None:
33 | point = IdealPoint(3)
34 |
35 | point.update([3.0, 1.0, 2.0])
36 | point.update([0.2, 4.0, 5.5])
37 | point.update([5.0, 6.0, 1.5])
38 |
39 | self.assertEqual([0.2, 1.0, 1.5], point.point)
40 |
41 |
42 | if __name__ == "__main__":
43 | unittest.main()
44 |
--------------------------------------------------------------------------------