feat(algorithms): add PesaII (Pareto Envelope-based Selection Algorithm II)
Corne, Jerram, Knowles & Oates 2001: divides objective space into a hyperbox grid and uses per-box population counts to drive selection toward sparsely-populated regions. Each generation: - Maintain an external archive of non-dominated members - Build a hyperbox grid (`grid_divisions` per axis on the archive's current axis ranges); count members per box - Selection picks two parents by region-based tournament: choose two random non-empty boxes and take a uniform-random member from the one with fewer occupants - Variation produces an offspring; insert into archive, dropping dominated members and (if archive overflows) the most-crowded occupant of the most-occupied box Tests cover non-empty front on Schaffer N.1, deterministic reruns, and panic on `archive_size == 0`.
This commit is contained in:
+2
-1
@@ -25,7 +25,8 @@ pub use crate::algorithms::{
|
||||
AntColonyTsp, AntColonyTspConfig, CmaEs, CmaEsConfig, DifferentialEvolution,
|
||||
DifferentialEvolutionConfig,
|
||||
GeneticAlgorithm, GeneticAlgorithmConfig, HillClimber, HillClimberConfig, Hype,
|
||||
HypeConfig, Ibea, IbeaConfig, Moead, MoeadConfig, Mopso, MopsoConfig, Nsga2, Nsga2Config, Nsga3, Nsga3Config, Paes, PaesConfig, ParticleSwarm,
|
||||
HypeConfig, Ibea, IbeaConfig, Moead, MoeadConfig, Mopso, MopsoConfig, Nsga2,
|
||||
Nsga2Config, Nsga3, Nsga3Config, Paes, PaesConfig, ParticleSwarm, PesaII, PesaIIConfig,
|
||||
ParticleSwarmConfig, RandomSearch, RandomSearchConfig, Rvea, RveaConfig,
|
||||
SimulatedAnnealing,
|
||||
SimulatedAnnealingConfig, SmsEmoa, SmsEmoaConfig, Spea2, Spea2Config, TabuSearch,
|
||||
|
||||
Reference in New Issue
Block a user