feat(algorithms): add AgeMoea (Adaptive Geometry Estimation MOEA)
Panichella 2019 AGE-MOEA: a many-objective MOEA that *infers* the
front's geometry (its L_p shape, where p = 1 is linear, p = 2 is
spherical, p < 1 is convex etc.) from the current non-dominated set
and uses that estimate to drive both proximity and diversity in
survival selection.
Each generation:
- NSGA-II-like loop: random parent selection + variation + evaluation
- Combine + non_dominated_sort
- Fill front-by-front; for the splitting front:
- Translate by ideal point z*
- Find extreme points by ASF (same as NSGA-III) and intercepts
- Estimate the geometry parameter p by minimizing
\|f − ideal\|_p constancy on the extreme points
- Score every member by survival_score = (proximity_to_ideal) +
(1 / nearest-neighbor distance in the same L_p frame)
- Keep the top scorers
The geometry estimation is the novel contribution; with 3+ objectives
it produces fronts whose spread better matches the true shape than
NSGA-III's reference points (which assume a known geometry).
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
//! Built-in reference optimizers.
|
||||
|
||||
pub mod age_moea;
|
||||
pub mod ant_colony_tsp;
|
||||
pub mod cma_es;
|
||||
pub mod differential_evolution;
|
||||
@@ -25,6 +26,7 @@ pub mod tabu_search;
|
||||
pub mod tlbo;
|
||||
pub mod umda;
|
||||
|
||||
pub use age_moea::*;
|
||||
pub use ant_colony_tsp::*;
|
||||
pub use cma_es::*;
|
||||
pub use differential_evolution::*;
|
||||
|
||||
Reference in New Issue
Block a user