1 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
2 Pareto optimal frontUsual approaches: weighted sum strategy, multiple-constraints modelingAlternative: Multi-objective GAAlgorithm requirements:ConvergenceSpreadMin f2Min f1As 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.
3 Ranking Children and parents are combined. f2f1Children 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.
4 Elitismf2f1ParentChildElitism: Keep the best individuals from the parent and child populationThe 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?
5 Niching for last rankf2f1Niching is an operator that gives preference to solutions that are not crowdedCrowding distancec = a + bSolutions from last rank are selected based on nichingabThe 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.
6 Flowchart of NSGA-II Begin: initialize population (size N) Evaluate objective functionsRank populationChild population createdSelectionCrossoverReport final population and StopMutationNoEvaluate objective functionStopping criteria met?And this is the summary flowchart of the algorithm.ElitismYesCombine parent and child populations, rank populationSelect N individuals
7 Problems NSGA-IISort 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.