A paper introducing jMetalPy is available at: https://doi.org/10.1016/j.swevo.2019.100598
You can install the latest version of jMetalPy with pip
,
pip install jmetalpy # or "jmetalpy[distributed]"
Notes on installing with pip
jMetalPy includes features for parallel and distributed computing based on pySpark and Dask.
These (extra) dependencies are not automatically installed when running pip
, which only comprises the core functionality of the framework (enough for most users):
pip install jmetalpy
This is the equivalent of running:
pip install "jmetalpy[core]"
Other supported commands are listed next:
pip install "jmetalpy[docs]" # Install requirements for building docs
pip install "jmetalpy[distributed]" # Install requirements for parallel/distributed computing
pip install "jmetalpy[complete]" # Install all requirements
Examples of configuring and running all the included algorithms are located in the documentation.
from jmetal.algorithm.multiobjective import NSGAII
from jmetal.operator import SBXCrossover, PolynomialMutation
from jmetal.problem import ZDT1
from jmetal.util.termination_criterion import StoppingByEvaluations
problem = ZDT1()
algorithm = NSGAII(
problem=problem,
population_size=100,
offspring_population_size=100,
mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables, distribution_index=20),
crossover=SBXCrossover(probability=1.0, distribution_index=20),
termination_criterion=StoppingByEvaluations(max_evaluations=25000)
)
algorithm.run()
We can then proceed to explore the results:
from