PROCEDURE NSGA-II ( , Number_of_Generations)
Initialize Population
Generate random population with size
Evaluate objective values
Assign rank (level) based on Pareto dominance
Generate Child Population with size
   Perform Binary Tournament Selection
   Perform Recombination and Mutation
FOR to Number_of_Generations DO
  Assign
  FOR each parent and child in DO
   Assign rank (level) based on Pareto dominance
   Loop (inside) by adding solutions to the
   next generation starting from the first front
   until individual found; determine crowding
   distance between points of each front
  End FOR
  Select points (elitist) of the lower front (with lower rank) and are outside
  a crowding distance
  Replace by the individual found
  Generate Child Population with size
   Perform Binary Tournament Selection
   Perform Recombination and Mutation
End FOR
End PROCEDURE
pseudocode 1