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
ECASingleECA
DESingleDE
PSOSinglePSO
ABCSingleABC
MOEA/D-DEMultiMOEAD_DE
GSASingleCGSA
SASingleSA
NSGA-IIMultiNSGA2
NSGA-IIIManyNSGA3
SMS-EMOAMultiSMS_EMOA
SPEA2MultiSPEA2
BCABilevelBCA
MCCGASingleMCCGA
GASingleGA
CCMOMultiCCMO
$\varepsilon$DESingleεDE
BRKGASingleBRKGA
SHADESingleSHADE
CSOSingleCSO

✅ = 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).