/jMetalPy

A framework for multi-objective optimization with metaheuristics

Primary LanguagePythonMIT LicenseMIT


jMetalPy

jMetalPy: Python version of the jMetal framework

Build Status Read the Docs PyPI License PyPI Python version

Table of Contents

Installation

To download jMetalPy just clone the Git repository hosted in GitHub:

$ git clone https://github.com/jMetal/jMetalPy.git
$ python setup.py install

Alternatively, you can install it with pip:

$ pip install jmetalpy

Usage

Examples of configuring and running all the included algorithms are located in the docs.

Features

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.
  • Laboratory: Experiment class for performing studies.
  • Graphics: Pareto front plotting for problems with two or more objectives (as scatter plot/parallel coordinates).


Scatter plot 2D
Scatter plot 3D
Parallel coordinates

License

This project is licensed under the terms of the MIT - see the LICENSE file for details.