NSGA-II is a well established Multi-objective Genetic Algorithm for solving multi-objective optimization problems. It is based on genetic algorithms and includes efficient mechanisms to rank solutions and maintain diversity. (44, 45)
How it works
- Initialize a random population.
- Evaluate fitness based on all objectives.
- Sort individuals into Pareto fronts using non-dominated sorting.
- Calculate crowding distance to maintain diversity within each front.
- Select parents using binary tournament selection (based on rank and distance).
- Apply crossover and mutation to generate offspring.
- Combine parent and offspring populations.
- Select the next generation from the combined pool.
- Repeat until a stopping condition is met (e.g., max generations).
Notes
- Multi-objective optimization: Problems that involve optimizing two or more conflicting objectives.
- Pareto dominance: A solution A dominates B if A is no worse in all objectives and better in at least one.
- Pareto front: The set of non-dominated (best trade-off) solutions.