Non-dominated Sorting Genetic Algorithm (NSGA-II) for Multi-objective Optimization
The constructor takes following keyword arguments:
populationSize: The size of the population
crossoverRate: The fraction of the population at the next generation, that is created by the crossover function
mutationRate: Probability of chromosome to be mutated
selection: Selection function (default:
crossover: Crossover function (default:
mutation: Mutation function (default:
metricsis a collection of convergence metrics.
Multi-objective optimization is an area of multiple criteria decision making that is concerned with mathematical optimization problems involving more than one objective function to be optimized simultaneously. Evolutionary algorithms are popular approaches to generating Pareto optimal solutions to a multi-objective optimization problem by appling Pareto-based ranking schemes, such as the Non-dominated Sorting Genetic Algorithm-II (NSGA-II).
Calculate fronts for fitness values
F, and store ranks of the individuals into
p is dominated by
-1 if otherwise, and
0 if dominance cannot be determined.
Returns a domination matrix of all elements in the input collection
crowding_distance!((C, F, fronts)
Calculate crowding distance for individuals and save the results into
C given the fitness values
F and collection of
- 1Deb, K. et al., "A fast and elitist multiobjective genetic algorithm: NSGA-II". IEEE Transactions on Evolutionary Computation, 2002.