what I understand about NSGA-II procedure from Deb's paper are:
Generate initial population -> Fast non-domination sorting -> Binary tournament selection -> Recombination -> Mutation -> .... -> Pareto solution set (crowding distance assignment is used after reproduction steps)Fast non-domination sorting used twice, i.e. after population initialization and after parent and offspring population combination.In selection process, crowded comparison operator is used based on nondomination rank and crowding distance properties. So, crowding distance assignment need to be done before selection process, doesn't it?But what I get from Deb's c code implementation and NSGA-II of JMetal framework are:
1. In Deb's c code implementation, selection process used by comparing two individuals dominance, crowding-distance, and random number [0,1] generation. For example: given individual i and j for parent selection. If both of them do not dominate each other, if i distance = j distance, then generate random number between 0 and 1. If the random number