Jeneticsis designed with a clear separation of the several concepts of the algorithm, e.g. Gene, Chromosome, Genotype, Phenotype, Population and fitness Function. Jenetics allows you to minimize and maximize the given fitness function without tweaking it. In contrast to other GA implementations, the library uses the concept of an evolution stream (EvolutionStream) for executing the evolution steps. Since the EvolutionStream implements the Java Stream interface, it works smoothly with the rest of the Java Stream API
Opt4J is an open source Java-based framework for evolutionary computation. It contains a set of (multi-objective) optimization algorithms such as evolutionary algorithms (including SPEA2 and NSGA2), differential evolution, particle swarm optimization, and simulated annealing. The benchmarks that are included comprise ZDT, DTLZ, WFG, and the knapsack problem.
MATLAB® Optimization with TOMLAB
The TOMLAB Optimization Environment is a powerful optimization platform and modeling language for solving applied optimization problems in MATLAB. TOMLAB provides a wide range of optimization toolboxes, features, and services for your solution process. Read more about TOMLAB >>
jMetal stands for Metaheuristic Algorithms in Java, and it is an object-oriented Java-based framework for multi-objective optimization with metaheuristics.
- Multi-objective algoritms: NSGA-II (variants: ssNSGAII, NSGAIIadaptive, NSGAIIrandom), SPEA2, PAES, PESA-II, OMOPSO, MOCell, AbYSS, MOEA/D, Densea, CellDE, GDE3, FastPGA, IBEA, SMPSO, SMPSOhv, SMS-EMOA, dMOPSO, WASFGA, GWASFGA
- Single-objective algoritms: genetic algorithm (variants: generational, steady-state, synchronous cellular, asynchronous cellular), evolution strategy (variants: elitist or mu+lambda, non-elitist or mu, lambda), PSO, DE, CMA-ES
- Parallel algorithms: pNSGAII, pSMPSO, pMOEAD, pgGA
- Included problems:
Problem families: ZDT, DTLZ, WFG, CEC2009, LZ09
Classical problems: Kursawe, Fonseca, Schaffer
Constrained problems: Srinivas, Tanaka, Osyczka2, Constr_Ex, Golinski, Water
Combinatorial problems: multi-objective TSP, multi-objective QAP
- Quality indicators: hypervolume, spread, generational distance, inverted generational distance, additive epsilon, R2, WFG hypervolume
- Variable representations: binary, real, binary-coded real, integer, permutation, mixed encoding (real+binary, int+real).
JGAP 是一款用Java编写的遗传算法包，由sourceforce上开发而来。它提供了基本的遗传算法，你可以使用它来解决一些适合用遗传算法解决的问题。而且它给出了很多例子程序， (pronounced “jay-gap”) is a Genetic Algorithms and Genetic Programming component provided as a Java framework.
- The MOEA Framework aims to provide a comprehensive collection of algorithms and tools for single and multiobjective optimization
- The MOEA Framework is a free and open source Java library for developing and experimenting with multiobjective evolutionary algorithms (MOEAs) and other general-purpose single and multiobjective optimization algorithms. The MOEA Framework supports genetic algorithms, differential evolution, particle swarm optimization, genetic programming, grammatical evolution, and more. A number of algorithms are provided out-of-the-box, including NSGA-II, NSGA-III, ε-MOEA, GDE3, PAES, PESA2, SPEA2, IBEA, SMS-EMOA, SMPSO, OMOPSO, CMA-ES, and MOEA/D. In addition, the MOEA Framework provides the tools necessary to rapidly design, develop, execute and statistically test optimization algorithms.
The Watchmaker Framework is an extensible, high-performance, object-oriented framework for implementing platform-independent evolutionary/genetic algorithms in Java.
A Java-based Evolutionary Computation Research System
ECJ is a research EC system written in Java. It was designed to be highly flexible, with nearly all classes (and all of their settings) dynamically determined at runtime by a user-provided parameter file. All structures in the system are arranged to be easily modifiable. Even so, the system was designed with an eye toward efficiency.
Java Class Library for Evolutionary Computation
- JCLEC is a software system for Evolutionary Computation (EC) research, developed in the Java programming language. It provides a high-level software framework to do any kind of Evolutionary Algorithm (EA), providing support for genetic algorithms (binary, integer and real encoding), genetic programming (Koza’s style, strongly typed, and grammar based) and evolutionary programming.
- JCLEC architecture follows strong principles of object oriented programming, where abstractions are represented by loosely coupled objects and where it is common and easy to reuse code. JCLEC provide an EC environment with the following main features:
HeuristicLab is a framework for heuristic and evolutionary algorithms that is developed by members of the Heuristic and Evolutionary Algorithms Laboratory (HEAL) since 2002.
ParadisEO patch version 2.0.1 released* ParadisEO 2.0
PISA context a search algorithm is a method which tries to find solutions to a given problem by iterating three steps: the evaluation of candidate solutions, the selection of promising candidates based on this evaluation and the generation of new candidates by variation of these selected candidates. As examples most evolutionary algorithms and simulated annealing fall into this category.
PISA is mainly dedicated to multi-objective search, where the optimization problem is characterized by a set of conflicting goals and not just one criterion that needs to be optimized.
综合比较，决定研究jMetal、 MOEA Framework、 ECJ 三种工具中的协同进化算法，ParadisEO可以用来学习算法的编写