[][src]Module vrp_core::algorithms::nsga2

This module contains a logic for processing multiple solutions and multi objective optimization based on Non Dominated Sorting Genetic Algorithm II algorithm.

A Non Dominated Sorting Genetic Algorithm II (NSGA-II) is a popular multi objective optimization algorithm with three special characteristics:

  • fast non-dominated sorting approach
  • fast crowded distance estimation procedure
  • simple crowded comparison operator

For more details regarding NSGA-II algorithm details, check original paper "A fast and elitist multiobjective genetic algorithm: NSGA-II", Kalyanmoy Deb et al. DOI: 0.1109/4235.996017

A NSGA-II implementation in this module is based on the source code from the following repositories:

which are released under MIT License (MIT), copyright (c) 2016 Michael Neumann

Traits

MultiObjective

A multi objective.

Objective

An objective defines a total ordering relation and a distance metric on a set of solutions. Given any two solutions, an objective answers the following two questions:

Functions

dominance_order

Calculates dominance order of two solutions using multiple objectives.

select_and_rank

Select n solutions using the approach taken by NSGA2.