List Of Algorithms

List Of Algorithms#

Algorithms available in pymoo#

Algorithm

Class

Objective(s)

Constraints

Description

Genetic Algorithm

GA

single

x

A modular implementation of a genetic algorithm. It can be easily customized with different evolutionary operators and applies to a broad category of problems.

Differential Evolution

DE

single

x

Different variants of differential evolution which is a well-known concept for in continuous optimization especially for global optimization.

Particle Swarm Optimization

PSO

single

x

A swarm intelligence algorithm where each particle is guided by its own and the swarm’s best-known positions to explore the search space.

Biased Random Key Genetic Algorithm

BRKGA

single

x

Mostly used for combinatorial optimization where instead of custom evolutionary operators the complexity is put into an advanced variable encoding.

Nelder Mead

NelderMead

single

x

A point-by-point based algorithm which keeps track of a simplex with is either extended reflected or shrunk.

Pattern Search

PatternSearch

single

x

Iterative approach where the search direction is estimated by forming a specific exploration pattern around the current best solution.

CMAES

CMAES

single

Well-known model-based algorithm sampling from a dynamically updated normal distribution in each iteration.

Evolutionary Strategy

ES

single

x

The evolutionary strategy algorithm proposed for real-valued optimization problems.

Stochastic Ranking Evolutionary Strategy

SRES

single

x

An evolutionary strategy with constrained handling using stochastic ranking.

Improved Stochastic Ranking Evolutionary Strategy

ISRES

single

x

An improved version of SRES being able to deal dependent variables efficiently.

G3PCX

G3PCX

single

A real-coded genetic algorithm using the generalized generation gap (G3) model with the parent-centric recombination (PCX) operator.

Newton-Raphson-based Optimizer

NRBO

single

x

A population-based metaheuristic inspired by Newton-Raphson method with high optimization efficiency.

NSGA-II

NSGA2

multi

x

Well-known multi-objective optimization algorithm based on non-dominated sorting and crowding.

R-NSGA-II

RNSGA2

multi

x

An extension of NSGA-II where reference/aspiration points can be provided by the user.

PI-NSGA-II

PINSGA2

multi

x

An interactive version of NSGA-II that uses user preference to guide the optimization towards desired solutions.

NSGA-III

NSGA3

many

x

An improvement of NSGA-II developed for multi-objective optimization problems with more than two objectives.

U-NSGA-III

UNSGA3

many

x

A generalization of NSGA-III to be more efficient for single and bi-objective optimization problems.

R-NSGA-III

RNSGA3

many

x

Allows defining aspiration points for NSGA-III to incorporate the user’s preference.

MOEAD

MOEAD

many

Another well-known multi-objective optimization algorithm based on decomposition.

AGE-MOEA

AGEMOEA

many

Similar to NSGA-II but estimates the shape of the Pareto-front to compute a score replacing the crowding distance.

AGE-MOEA2

AGEMOEA2

many

An improved AGE-MOEA with a more accurate estimation of the Pareto-front geometry used to compute the survival score.

C-TAEA

CTAEA

many

x

An algorithm with a more sophisticated constraint-handling for many-objective optimization algoritms.

SMS-EMOA

SMSEMOA

many

x

An algorithm that uses hypervolume during the environmental survival.

SPEA2

SPEA2

multi

x

Strength Pareto evolutionary algorithm using a strength-based fitness with a k-th nearest neighbor density estimate and an archive truncation operator for diversity.

Omni-Optimizer

OmniOptimizer

multi

x

A generic NSGA-II based algorithm using a dynamic epsilon-dominance and crowding in objective and variable space to find multiple equivalent Pareto-optimal solutions.

RVEA

RVEA

many

A reference direction based algorithm used an angle-penalized metric.

CMOPSO

CMOPSO

multi

x

A competitive mechanism based multi-objective particle swarm optimizer with fast convergence using binary tournament selection on elites.

MOPSO-CD

MOPSO_CD

multi

x

Multi-objective particle swarm optimization with crowding distance mechanism for leader selection and archive management.

D-NSGA-II

DNSGA2

multi

x

A dynamic version of NSGA-II that detects and reacts to changes of the objectives over time.

KGB-DMOEA

KGB

multi

x

A knowledge-guided Bayesian dynamic multi-objective optimizer that reuses past search knowledge when the problem changes.

NSDE

NSDE

multi

x

NSGA-II combined with differential evolution variation operators instead of simulated binary crossover and polynomial mutation.

GDE3

GDE3

multi

x

Generalized Differential Evolution 3 - differential evolution variation with non-dominated sorting survival and a greedy parent-trial comparison.

NSDE-R

NSDER

many

x

A reference-direction based differential evolution algorithm extending NSGA-III’s survival to many-objective problems.