Genetic algorithm NSGA-II

The present multi-objective optimization problem of maintenance planning is solved by applying a genetic algorithm. A genetic algorithm, as explained in [1] is understood as a search heuristic identifying the fittest individuals from a population. This is done over the course of multiple generations with increasing fitness of the individuals from one generation to the following. Typically, genetic algorithms consist of the following five phases.

Initial population:

individuals characterized by variables (“genes”) are forming solution (“chromosomes”) to the optimization problem

Fitness function:

fitness scores are given to the individuals based on the defined assessment criteria

Selection:

the fittest pairs of individuals (parents) are selected, and their genes passed to the next generation

Crossover:

a random crossover point is chosen within the genes for each pair of parents and an offspring is created by exchanging the parent genes among themselves until the crossover point and added to the population

Mutation:

some bits in the chromosomes of the new offspring have a low random probability and are mutated to maintain diversity in the population and prevent premature convergence

To this end, the NSGA-II algorithm is used. It applies a modified mating and survival selection, and the individuals are selected frontwise based on crowding distance [2]. The frontwise selection happens by applying minimization to the fitness function to approximate its pareto front and pareto set [3].

The following figure visualizes a representation of the NSGA-II algorithm [3].

NSGA-II

 


References

[1] https://towardsdatascience.com/introduction-to-genetic-algorithms-including-example-code-e396e98d8bf3
[2] https://pymoo.org/algorithms/nsga2.html
[3] https://esa.github.io/pagmo2/docs/cpp/algorithms/nsga2.html

Navigation

Home 

Integrated maintenance plan by multi-objective optimization