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
- Box-constrained (continuous): Use
ECA
,DE
,PSO
, orSHADE
- Constrained optimization: Use
εDE
,ECA
, orSHADE
- Multi-objective (2-3 objectives): Use
NSGA2
,SPEA2
, orSMS_EMOA
- Many-objective (>3 objectives): Use
NSGA3
- Constrained multi-objective: Use
NSGA2
,NSGA3
, orCCMO
- Permutation-based: Use
GA
withOrderCrossover
orBRKGA
- Binary: Use
GA
withBitFlipMutation
- Large-scale: Use
CSO
Performance Characteristics
- Fast convergence:
ECA
,SHADE
- Good for multimodal:
DE
,PSO
,ABC
- Robust:
NSGA2
,ECA
- Simple to use:
ECA
,DE
,PSO
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
Algorithm | Objective | Constraints | Large Scale | Batch Evaluation | Structure Name |
---|---|---|---|---|---|
ECA | Single | ✅ | ➖ | ✅ | ECA |
DE | Single | ✅ | ➖ | ✅ | DE |
PSO | Single | ✅ | ➖ | ✅ | PSO |
ABC | Single | ❌ | ➖ | ❌ | ABC |
MOEA/D-DE | Multi | ➖ | ➖ | ❌ | MOEAD_DE |
GSA | Single | ❌ | ❌ | ✅ | CGSA |
SA | Single | ✅ | ➖ | ❌ | SA |
NSGA-II | Multi | ✅ | ➖ | ✅ | NSGA2 |
NSGA-III | Many | ✅ | ➖ | ✅ | NSGA3 |
SMS-EMOA | Multi | ✅ | ➖ | ✅ | SMS_EMOA |
SPEA2 | Multi | ✅ | ➖ | ✅ | SPEA2 |
BCA | Bilevel | ✅ | ❌ | ❌ | BCA |
MCCGA | Single | ❌ | ❌ | ❌ | MCCGA |
GA | Single | ✅ | ➖ | ✅ | GA |
CCMO | Multi | ✅ | ➖ | ✅ | CCMO |
$\varepsilon$DE | Single | ✅ | ➖ | ✅ | εDE |
BRKGA | Single | ✅ | ➖ | ✅ | BRKGA |
SHADE | Single | ✅ | ➖ | ✅ | SHADE |
CSO | Single | ✅ | ✅ | ✅ | 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).