jMetalPy: Python version of the jMetal framework


Documentation is WIP!! Some information may be missing.

Installation steps

Via pip:

$ pip install jmetalpy

Via Github:

$ git clone
$ pip install -r requirements.txt
$ python install


The current release of jMetalPy (v0.5.1) contains the following components:

  • Algorithms: random search, NSGA-II, SMPSO, SMPSO/RP
  • Benchmark problems: ZDT1-6, DTLZ1-2, unconstrained (Kursawe, Fonseca, Schaffer, Viennet2), constrained (Srinivas, Tanaka).
  • Encodings: real, binary
  • Operators: selection (binary tournament, ranking and crowding distance, random, nary random, best solution), crossover (single-point, SBX), mutation (bit-blip, polynomial, uniform, random)
  • Quality indicators: hypervolume
  • Density estimator: crowding distance
  • Graphics: Pareto front plotting (2 or more objectives)
  • Laboratory: Experiment class for performing studies.