docs: promote MOEA/D to the multi/many-objective default
The compare harness shows MOEA/D is the single most consistent performer: top-3 on every multi- and many-objective table (convex, disconnected, spherical and linear fronts; 2 through 10 objectives) and fastest or near-fastest every time. No other algorithm is close to that consistency. This matches the literature view of MOEA/D as a strong, robust, scalable baseline -- with the known caveat that weight-vector spread can leave gaps on highly irregular fronts (the DTLZ/ZDT suite doesn't stress that). But both decision trees buried it: the README filed it under "Want decomposition / weight-vector style" -- a stylistic branch -- and framed it as a speed pick; the book left it out of the TL;DR table entirely. Meanwhile NSGA-II was the listed 2-3-objective default despite losing to MOEA/D on every table and collapsing past ~4 objectives. Both trees now lead the multi- and many-objective branches with MOEA/D, keep NSGA-II as the well-understood alternative and the combinatorial go-to, add MOEA/D to the TL;DR / quick-reference tables, and soften the NSGA-III "strong default" framing to match the data. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -426,8 +426,20 @@ START
|
|||||||
│
|
│
|
||||||
├─ 2 or 3 (multi-objective)
|
├─ 2 or 3 (multi-objective)
|
||||||
│ │
|
│ │
|
||||||
│ ├─ Strong default, fast, well-understood
|
│ ├─ Strong default — top-3 on every multi- and
|
||||||
│ │ → NSGA-II
|
│ │ many-objective table on the harness, fastest or
|
||||||
|
│ │ near-fastest every time
|
||||||
|
│ │ → MOEA/D (decomposition into scalar sub-problems;
|
||||||
|
│ │ robust across convex / disconnected /
|
||||||
|
│ │ spherical / linear fronts and 2–10
|
||||||
|
│ │ objectives. Caveat: weight-vector spread
|
||||||
|
│ │ can leave gaps on highly irregular or
|
||||||
|
│ │ degenerate fronts)
|
||||||
|
│ │ → NSGA-II (canonical Pareto EA; well-understood and
|
||||||
|
│ │ the established choice for combinatorial
|
||||||
|
│ │ encodings — but edged out by MOEA/D on
|
||||||
|
│ │ every MO table here, and fades past
|
||||||
|
│ │ ~4 objectives)
|
||||||
│ │
|
│ │
|
||||||
│ ├─ Real-valued, smooth front, want best convergence
|
│ ├─ Real-valued, smooth front, want best convergence
|
||||||
│ │ → MOPSO (multi-objective PSO; on the benches
|
│ │ → MOPSO (multi-objective PSO; on the benches
|
||||||
@@ -435,7 +447,7 @@ START
|
|||||||
│ │ convergence by 100× over the
|
│ │ convergence by 100× over the
|
||||||
│ │ dominance-based methods)
|
│ │ dominance-based methods)
|
||||||
│ │
|
│ │
|
||||||
│ ├─ Want better front quality than NSGA-II
|
│ ├─ Want better front quality than the default
|
||||||
│ │ → IBEA (indicator-based; consistently the best
|
│ │ → IBEA (indicator-based; consistently the best
|
||||||
│ │ of the dominance-based methods on these
|
│ │ of the dominance-based methods on these
|
||||||
│ │ benches — wins ZDT3 HV and DTLZ2 mean
|
│ │ benches — wins ZDT3 HV and DTLZ2 mean
|
||||||
@@ -448,9 +460,6 @@ START
|
|||||||
│ │ fronts where exact HV-contribution is
|
│ │ fronts where exact HV-contribution is
|
||||||
│ │ the right discriminator)
|
│ │ the right discriminator)
|
||||||
│ │
|
│ │
|
||||||
│ ├─ Want decomposition / weight-vector style
|
|
||||||
│ │ → MOEA/D (very fast per generation, scales well)
|
|
||||||
│ │
|
|
||||||
│ ├─ Disconnected front (separate arcs, e.g. ZDT3)
|
│ ├─ Disconnected front (separate arcs, e.g. ZDT3)
|
||||||
│ │ → IBEA (wins ZDT3 hypervolume on the harness;
|
│ │ → IBEA (wins ZDT3 hypervolume on the harness;
|
||||||
│ │ MOEA/D and NSGA-II follow. Geometry-aware
|
│ │ MOEA/D and NSGA-II follow. Geometry-aware
|
||||||
@@ -469,19 +478,26 @@ START
|
|||||||
│ → PAES (1+1 ES with a Pareto archive)
|
│ → PAES (1+1 ES with a Pareto archive)
|
||||||
│
|
│
|
||||||
└─ 4+ (many-objective)
|
└─ 4+ (many-objective)
|
||||||
|
│
|
||||||
|
├─ Strong default — #2 on every many-objective table on
|
||||||
|
│ the harness (DTLZ2 at 4 and 10 objectives, DTLZ1 at 8);
|
||||||
|
│ decomposition sidesteps the dominance collapse that
|
||||||
|
│ wrecks Pareto-based EAs at high objective count
|
||||||
|
│ → MOEA/D
|
||||||
|
│ (NSGA-II is the cautionary tale: on DTLZ2 at 10
|
||||||
|
│ objectives it finishes last — behind random search)
|
||||||
│
|
│
|
||||||
├─ Linear / simplex-shaped front (e.g., DTLZ1)
|
├─ Linear / simplex-shaped front (e.g., DTLZ1)
|
||||||
│ → GrEA (grid coords drive ranking; on DTLZ1
|
│ → GrEA (grid coords drive ranking; on DTLZ1
|
||||||
│ here it beats NSGA-III by 3× and
|
│ here it beats NSGA-III by 3× and
|
||||||
│ AGE-MOEA by 2.5×)
|
│ AGE-MOEA by 2.5×, and wins the
|
||||||
│ → MOEA/D (decomposition shines on linear fronts;
|
│ 8-objective DTLZ1 table outright)
|
||||||
│ second on DTLZ1, also among the
|
│ → MOEA/D (also #2 on both DTLZ1 tables)
|
||||||
│ fastest per generation)
|
|
||||||
│
|
│
|
||||||
├─ Curved / unknown front geometry
|
├─ Curved / unknown front geometry
|
||||||
│ → NSGA-III (reference-point niching, canonical;
|
│ → NSGA-III (reference-point niching; canonical by
|
||||||
│ a strong default when the front
|
│ reputation, but MOEA/D outperforms it
|
||||||
│ isn't simplex-shaped)
|
│ on every harness table)
|
||||||
│ → AGE-MOEA (estimates L_p geometry per generation)
|
│ → AGE-MOEA (estimates L_p geometry per generation)
|
||||||
│ → RVEA (reference vectors with adaptive penalty)
|
│ → RVEA (reference vectors with adaptive penalty)
|
||||||
│
|
│
|
||||||
@@ -531,21 +547,21 @@ START
|
|||||||
|
|
||||||
| Algorithm | Objectives | Strengths |
|
| Algorithm | Objectives | Strengths |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| **PAES** | 2–3 | 1+1 ES with Pareto archive |
|
| **MOEA/D** | 2+ | decomposition; the most consistent all-rounder — top-3 on every MO/many-objective table here, fastest or near-fastest |
|
||||||
| **NSGA-II** | 2–3 | canonical Pareto-based EA |
|
| **NSGA-II** | 2–3 | canonical Pareto-based EA; well-understood, the go-to for combinatorial encodings — but fades past ~4 objectives |
|
||||||
| **SPEA2** | 2–3 | strength + density |
|
|
||||||
| **MOPSO** | 2–3 | multi-objective PSO; best convergence on smooth real-valued 2-obj fronts |
|
| **MOPSO** | 2–3 | multi-objective PSO; best convergence on smooth real-valued 2-obj fronts |
|
||||||
| **IBEA** | 2+ | indicator-based; consistently best of the dominance-based methods |
|
| **IBEA** | 2+ | indicator-based; consistently best of the dominance-based methods; wins disconnected fronts |
|
||||||
|
| **SPEA2** | 2–3 | strength + density |
|
||||||
| **SMS-EMOA** | 2+ | exact HV-contribution selection; high per-step cost, modest gain |
|
| **SMS-EMOA** | 2+ | exact HV-contribution selection; high per-step cost, modest gain |
|
||||||
| **HypE** | 2+ | Monte Carlo HV estimation |
|
| **HypE** | 2+ | Monte Carlo HV estimation; strong on spherical many-objective fronts |
|
||||||
| **ε-MOEA** | 2+ | ε-grid archive; auto-sized |
|
| **ε-MOEA** | 2+ | ε-grid archive; auto-sized |
|
||||||
| **PESA-II** | 2+ | grid-based region selection |
|
| **PESA-II** | 2+ | grid-based region selection |
|
||||||
| **AGE-MOEA** | 2+ | adaptive front-geometry estimation |
|
| **AGE-MOEA** | 2+ | adaptive front-geometry estimation |
|
||||||
| **KnEA** | 2+ | knee-point favored survival |
|
| **KnEA** | 2+ | knee-point favored survival |
|
||||||
| **MOEA/D** | 2+ | decomposition; fast per-gen |
|
| **PAES** | 2–3 | 1+1 ES with Pareto archive |
|
||||||
| **NSGA-III** | 4+ | reference-point niching; strong on curved fronts |
|
| **NSGA-III** | 4+ | reference-point niching; strong on curved fronts |
|
||||||
| **RVEA** | 4+ | reference vectors with penalty |
|
| **RVEA** | 4+ | reference vectors with penalty |
|
||||||
| **GrEA** | 4+ | grid coords drive selection; particularly strong on linear/simplex fronts |
|
| **GrEA** | 4+ | grid coords drive selection; wins linear/simplex fronts at any objective count |
|
||||||
|
|
||||||
## Current algorithms
|
## Current algorithms
|
||||||
|
|
||||||
|
|||||||
@@ -121,15 +121,27 @@ picker.
|
|||||||
|
|
||||||
### Strong default
|
### Strong default
|
||||||
|
|
||||||
[NSGA-II][Nsga2] is the canonical Pareto-based EA. Fast, well-understood,
|
[MOEA/D][Moead] is the most consistent performer on the harness. It
|
||||||
maintains diversity via crowding distance. On the harness it lands
|
decomposes the problem into many scalar sub-problems (Tchebycheff or
|
||||||
on the Pareto front of every test problem.
|
weighted sum) and solves them in parallel — fast per generation, and
|
||||||
|
robust: it finishes **top-3 on every multi- and many-objective table**
|
||||||
|
(convex, disconnected, spherical and linear fronts; 2 through 10
|
||||||
|
objectives) and is consistently the fastest or near-fastest. It rarely
|
||||||
|
*wins* a table outright — a specialist usually does — but it never lands
|
||||||
|
badly. One caveat from the literature: MOEA/D's spread depends on the
|
||||||
|
weight-vector distribution and the scalarizing function, so it can leave
|
||||||
|
gaps on highly irregular or degenerate fronts; the DTLZ/ZDT suite here
|
||||||
|
doesn't stress that.
|
||||||
|
|
||||||
NSGA-II is generic over the decision type — drop in
|
[NSGA-II][Nsga2] is the other safe default — the canonical Pareto-based
|
||||||
[`ShuffledPermutation`] + a permutation crossover and it solves
|
EA: fast, well-understood, diversity-preserving via crowding distance.
|
||||||
bi-objective TSP; drop in a binary initializer and [`BitFlipMutation`]
|
On the harness it's edged out by MOEA/D on every multi-objective table
|
||||||
and it solves bi-objective knapsack. See
|
and degrades past ~4 objectives (see the many-objective section), but it
|
||||||
[Multi-objective combinatorial problems](./cookbook/multi-objective-combinatorial.md).
|
stays a solid 2–3-objective pick and is the established choice for
|
||||||
|
*combinatorial* encodings: drop in [`ShuffledPermutation`] + a
|
||||||
|
permutation crossover and it solves bi-objective TSP; drop in a binary
|
||||||
|
initializer and [`BitFlipMutation`] and it solves bi-objective knapsack.
|
||||||
|
See [Multi-objective combinatorial problems](./cookbook/multi-objective-combinatorial.md).
|
||||||
|
|
||||||
### Real-valued, smooth front, want best convergence
|
### Real-valued, smooth front, want best convergence
|
||||||
|
|
||||||
@@ -137,7 +149,7 @@ and it solves bi-objective knapsack. See
|
|||||||
hypervolume outright and converges 100× tighter than the
|
hypervolume outright and converges 100× tighter than the
|
||||||
dominance-based methods.
|
dominance-based methods.
|
||||||
|
|
||||||
### Better front quality than NSGA-II
|
### Better front quality than the default
|
||||||
|
|
||||||
[IBEA][Ibea] (indicator-based) is consistently the best of the
|
[IBEA][Ibea] (indicator-based) is consistently the best of the
|
||||||
dominance-based methods on the harness — wins ZDT3 hypervolume and
|
dominance-based methods on the harness — wins ZDT3 hypervolume and
|
||||||
@@ -152,13 +164,6 @@ in theory; in practice on the harness budgets here it underperforms
|
|||||||
NSGA-II. Worth the higher per-step cost only when exact HV
|
NSGA-II. Worth the higher per-step cost only when exact HV
|
||||||
contribution is the right discriminator.
|
contribution is the right discriminator.
|
||||||
|
|
||||||
### Decomposition / weight-vector style
|
|
||||||
|
|
||||||
[MOEA/D][Moead] decomposes the multi-objective problem into many scalar
|
|
||||||
sub-problems (Tchebycheff or weighted sum) and solves them in
|
|
||||||
parallel. Very fast per generation; scales naturally to many
|
|
||||||
objectives.
|
|
||||||
|
|
||||||
### Disconnected or non-convex front
|
### Disconnected or non-convex front
|
||||||
|
|
||||||
A *disconnected* front (separate arcs, like ZDT3) and a *non-convex but
|
A *disconnected* front (separate arcs, like ZDT3) and a *non-convex but
|
||||||
@@ -194,18 +199,31 @@ population.
|
|||||||
|
|
||||||
## Step 2 — many-objective (4+)
|
## Step 2 — many-objective (4+)
|
||||||
|
|
||||||
|
### Strong default
|
||||||
|
|
||||||
|
[MOEA/D][Moead] again. Decomposition sidesteps the *dominance resistance*
|
||||||
|
that breaks Pareto-based methods at high objective count — each scalar
|
||||||
|
sub-problem still has a clear best, even when almost every pair of
|
||||||
|
solutions is mutually non-dominated. On the harness it is **#2 on every
|
||||||
|
many-objective table** (DTLZ2 at 4 and 10 objectives, DTLZ1 at 8), and
|
||||||
|
fast every time. [NSGA-II][Nsga2] is the cautionary tale: on DTLZ2 at 10
|
||||||
|
objectives it finishes *last — behind random search* — because its
|
||||||
|
crowding distance has no dominance signal left to refine.
|
||||||
|
|
||||||
### Linear / simplex-shaped front (e.g., DTLZ1)
|
### Linear / simplex-shaped front (e.g., DTLZ1)
|
||||||
|
|
||||||
[GrEA][Grea] — grid coords drive ranking. On DTLZ1 it beats NSGA-III by
|
[GrEA][Grea] — grid coords drive ranking. On 3-objective DTLZ1 it beats
|
||||||
3× and AGE-MOEA by 2.5×.
|
NSGA-III by 3× and AGE-MOEA by 2.5×, and it wins the 8-objective DTLZ1
|
||||||
|
table outright.
|
||||||
|
|
||||||
[MOEA/D][Moead] — decomposition shines on linear fronts; second on DTLZ1
|
[MOEA/D][Moead] — also #2 on both DTLZ1 tables.
|
||||||
and among the fastest per generation.
|
|
||||||
|
|
||||||
### Curved / unknown front geometry
|
### Curved / unknown front geometry
|
||||||
|
|
||||||
[NSGA-III][Nsga3] — reference-point niching; canonical many-objective method;
|
[NSGA-III][Nsga3] — reference-point niching; the canonical many-objective
|
||||||
strong default when the front isn't simplex-shaped.
|
method by reputation, though on the harness MOEA/D outperforms it on
|
||||||
|
every table. Reach for it when you specifically want reference-point
|
||||||
|
niching.
|
||||||
|
|
||||||
[AGE-MOEA][AgeMoea] — estimates L_p geometry per generation.
|
[AGE-MOEA][AgeMoea] — estimates L_p geometry per generation.
|
||||||
|
|
||||||
@@ -265,11 +283,12 @@ method on every algorithm in the catalog. See the
|
|||||||
| Multimodal single-objective continuous | [IPOP-CMA-ES][IpopCmaEs] or [Differential Evolution][DifferentialEvolution] |
|
| Multimodal single-objective continuous | [IPOP-CMA-ES][IpopCmaEs] or [Differential Evolution][DifferentialEvolution] |
|
||||||
| Expensive single-objective | [Bayesian Optimization][BayesianOpt] or [TPE] |
|
| Expensive single-objective | [Bayesian Optimization][BayesianOpt] or [TPE] |
|
||||||
| Multi-fidelity single-objective | [Hyperband] |
|
| Multi-fidelity single-objective | [Hyperband] |
|
||||||
| 2- or 3-objective default | [NSGA-II][Nsga2] |
|
| 2- or 3-objective default | [MOEA/D][Moead] (or [NSGA-II][Nsga2]) |
|
||||||
|
| Many-objective default | [MOEA/D][Moead] |
|
||||||
| 2-objective real-valued smooth front | [MOPSO][Mopso] |
|
| 2-objective real-valued smooth front | [MOPSO][Mopso] |
|
||||||
| Disconnected / non-convex front | [IBEA][Ibea] |
|
| Disconnected front | [IBEA][Ibea] |
|
||||||
| Many-objective default (curved front) | [NSGA-III][Nsga3] |
|
| Many-objective, curved front | [NSGA-III][Nsga3] |
|
||||||
| Many-objective linear / simplex front | [GrEA][Grea] |
|
| Many-objective, linear / simplex front | [GrEA][Grea] |
|
||||||
| Permutation problem (TSP with distance matrix) | [Ant Colony][AntColonyTsp] |
|
| Permutation problem (TSP with distance matrix) | [Ant Colony][AntColonyTsp] |
|
||||||
| Generic permutation problem | [GA][GeneticAlgorithm] + permutation toolkit |
|
| Generic permutation problem | [GA][GeneticAlgorithm] + permutation toolkit |
|
||||||
| Bi-objective combinatorial (TSP / scheduling / knapsack) | [NSGA-II][Nsga2] + matching encoding operators |
|
| Bi-objective combinatorial (TSP / scheduling / knapsack) | [NSGA-II][Nsga2] + matching encoding operators |
|
||||||
|
|||||||
Reference in New Issue
Block a user