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
GAwithOrderCrossoverorBRKGA - Binary: Use
GAwithBitFlipMutation - 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).