Input: N -number of generations, M 0 -initial population Non-dominated sorting genetic algorithms are, in essence, genetic algorithms that evaluate and select on the Pareto dominating status of each solution in the evolutionary population as shown in Figure . Instead of selecting molecules based on a fitness function, these algorithms sort all solutions into a series of fronts, each front dominated by the previous fronts. The first front is the set of completely non-dominated individuals in the current population, the second front is the set of individuals dominated only by the individuals in the first front, and so on for all other fronts formed by the remaining individuals in the population. The algorithm accepts the fronts, with all of its individuals, into the evolutionary population in ascending order, until the maximum size of the evolutionary population has been reached.