Index

List of implemented metaheuristics. The algorithms were implemented based on the contributor's understanding of the algorithms detailed in the published paper.

Quick Selection Guide

By Problem Type

Performance Characteristics

Batch Evaluation

Algorithms marked with ✅ in "Batch Evaluation" column support simultaneous evaluation of multiple solutions, which is useful for:

  • Parallel computing with threads or distributed systems
  • GPU acceleration
  • Expensive function evaluations

Set parallel_evaluation=true in Options to enable batch evaluation. See Parallelization tutorial for details.

Algorithm Table

AlgorithmObjectiveConstraintsLarge ScaleBatch EvaluationStructure Name
ECASingle✅➖✅ECA
DESingle✅➖✅DE
PSOSingle✅➖✅PSO
ABCSingle❌➖❌ABC
MOEA/D-DEMulti➖➖❌MOEAD_DE
GSASingle❌❌✅CGSA
SASingle✅➖❌SA
NSGA-IIMulti✅➖✅NSGA2
NSGA-IIIMany✅➖✅NSGA3
SMS-EMOAMulti✅➖✅SMS_EMOA
SPEA2Multi✅➖✅SPEA2
BCABilevel✅❌❌BCA
MCCGASingle❌❌❌MCCGA
GASingle✅➖✅GA
CCMOMulti✅➖✅CCMO
$\varepsilon$DESingle✅➖✅εDE
BRKGASingle✅➖✅BRKGA
SHADESingle✅➖✅SHADE
CSOSingle✅✅✅CSO

✅ = supported, ❌ = not supported, ➖ = can be supported by changing default parameters.

  • Batch Evaluation = Simultaneous evaluation of multiple solutions (batch) see "Batch Evaluation".
  • Constraints = Equality and inequality constraints.
  • Large Scale = High dimensional problems (variables space).