# Elitist Non-dominated Sorting Genetic Algorithm: NSGA-II

## Presentation on theme: "Elitist Non-dominated Sorting Genetic Algorithm: NSGA-II"— Presentation transcript:

Elitist Non-dominated Sorting Genetic Algorithm: NSGA-II
Tushar Goel (Kalyanmoy Deb) This lecture is about mulit-objective genetic algorithms and an application to composite laminates. One of the most popular algorithms is NSGA-II, which is also the basis of Matlab’s gamultobj. The algorithm was invented by Professor Deb of IIT Kanpur. This sets of slides is due to my former PhD student Tushar Goel, who did his MS degree helping in the development of NSGA-II for his MS degree. One of most popular MOGA algorithms. Used in Matlab’s gamultobj

Pareto optimal front Usual approaches: weighted sum strategy, multiple-constraints modeling Alternative: Multi-objective GA Algorithm requirements: Convergence Spread Min f2 Min f1 As you may remember, there are two standard techniques for obtaining the Pareto front, weighted sum and a series of constraint approach. There are expensive because they require many repeated optimization. Genetic algorithms are expensive, but it turns out that it is not difficult to make them produce a Pareto front in a single run. The two key requirements is convergence to the front and having points well spread along the front.

Ranking Children and parents are combined.
f2 f1 Children and parents are combined. Non-dominated points belong to first rank. The non-dominated solutions from the remainder are in second rank, and so on. After the operations of selection, crossover and mutation generate a child population, the child and parent populations are combined. All the non-dominated individuals belong to the first rank. The remaining population is ranked again to produce the second rank, which is removed and the remaining is ranked to form the third rank.

Elitism f2 f1 Parent Child Elitism: Keep the best individuals from the parent and child population The elitism part of the algorithm means that we move to the next generation the best individuals from the combined population. We first use Rank-1 individuals and then add Rank-2 if there are empty slots. The last rank to be used will normally have more members than we need and these will be chosen on he basis of niching shown on the next slide. The figure shows an example of a population of 10 parents and 10 children. It shows that 5 parents and 5 children are selected. All the selected parents are of rank-1, but not all the children. Can you identify the rank-1 children?

Niching for last rank f2 f1 Niching is an operator that gives preference to solutions that are not crowded Crowding distance c = a + b Solutions from last rank are selected based on niching a b The rank based selection will typically have more individuals in the last rank than can be accommodated in the next generation. The individuals from that rank are selected based on minimizing crowding, that is maximizing crowding distance.

Flowchart of NSGA-II Begin: initialize population (size N)
Evaluate objective functions Rank population Child population created Selection Crossover Report final population and Stop Mutation No Evaluate objective function Stopping criteria met? And this is the summary flowchart of the algorithm. Elitism Yes Combine parent and child populations, rank population Select N individuals

Problems NSGA-II Sort all the individuals in slide 4 into ranks, and denote the rank on the figure in the slide next to the individual. Describe how the 10 individuals were selected, and check if any individuals were selected based on crowding distance.