Expand description
NSGA-III: Non-dominated Sorting Genetic Algorithm III
Implements the many-objective evolutionary algorithm by Deb & Jain (2014). NSGA-III extends NSGA-II with structured reference points (Das-Dennis simplex lattice) instead of crowding distance for diversity preservation. It is particularly effective for problems with more than 3 objectives where NSGA-II’s crowding distance degrades.
§Algorithm outline
- Reference point generation: Construct a set of structured reference points on the unit hyperplane using the Das-Dennis method.
- Fast non-dominated sorting: Same as NSGA-II — assign each individual a Pareto-front rank.
- Reference-point-based niching: For the critical (last-included) front, use association + niche counting to maintain diversity with respect to structured reference points.
- Elitist survivor selection: Deterministically fill the next population by adding complete fronts, then applying niching to the final partial front.
§References
- Deb, K., & Jain, H. (2014). An evolutionary many-objective optimization algorithm using reference-point-based nondominated sorting approach, Part I: Solving problems with box constraints. IEEE TEC, 18(4), 577–601.
- Jain, H., & Deb, K. (2014). An evolutionary many-objective optimization algorithm using reference-point based nondominated sorting approach, Part II: Handling constraints and extending to an adaptive approach. IEEE TEC, 18(4), 602–622.
Structs§
- Nsga3
Config - Configuration for the NSGA-III algorithm.
- Nsga3
Result - Result returned by
nsga3.
Functions§
- adapt_
reference_ points - Adaptively update reference points based on the current Pareto front.
- associate_
to_ reference_ points - For each individual, find the nearest reference point and compute the distance to its reference line.
- generate_
reference_ points - Generate structured reference points on the unit hyperplane using the Das-Dennis lattice (simplex lattice design).
- generate_
reference_ points_ inner - Generate inner reference points for the two-layer reference point approach.
- nsga3
- Run NSGA-III on a many-objective optimisation problem.
- reference_
line_ distance - Compute the perpendicular distance from a normalized objective vector to a reference line (direction vector from origin through reference point).