Skip to content
Go to file


jMetal project Web site

Build Status Documentation Status

jMetal is a Java-based framework for multi-objective optimization with metaheuristics. The current stable version is 5.10 (, which is based on the description of jMetal 5 included in the paper "Redesigning the jMetal Multi-Objective Optimization Framework" (, presented at GECCO 2015.

The current development version (5.11-SNAPSHOT) is a Maven project structured in seven subprojects:

Sub-project Contents
jmetal-core Core classes
jmetal-solution Solution encodings
jmetal-algorithm Algorithm implementations
jmetal-problem Benchmark problems
jmetal-example Examples
jmetal-lab Experimentation and visualization
jmetal-experimental New features in development
jmetal-parallel Parallel extensions

The most recent documentation is hosted in (the old documentation site is located in

Comments and suggestions are very welcome.


  • [9/14/2020] New jmetal-auto sub-module. It contains asynchronous versions of a genetic algorithm and NSGA-II, and a synchronous evaluator based on Apache Spark.
  • [7/23/2020] The former jmetal-auto sub-project and the stuff related to using a component-based evolutionary template have been moved to a new sub-project called jmetal-experimental, which is intended to explore new features that can be consolidated in the project in the future.
  • [7/21/2020] jMetal 5.10 has been released.
  • [7/15/2020] Automatic generation of HTML pages. summarizing the results of experimental studies. Contributed by Javier Pérez Abad.
  • [7/14/2020] New experiment component: GenerateFriedmanHolmTestTables. Contributed by Javier Pérez Abad.
  • [3/19/2020] New quality indicator: NormalizedHypervolume.
  • [3/19/2020] The jMetal project adopts Java 11.
  • [2/11/2020] All the files containing Pareto front approximations and weight vectors have been moved to the resources folder, located in root project directory.
You can’t perform that action at this time.