Non-dominated Sorting

Non-dominated Sorting #

File position: /EMOC/src/core/nd_sort.h and /EMOC/src/core/nd_sort.cpp

void NonDominatedSort(Individual **pop, int pop_num, int obj_num, bool is_consider_cons = false)

Do the non-dominated sorting on current population pop. The results are stored in the rank_ variable of each individual in the population.

Parameter:
pop: Individual**, default=None
    The population which need to be initialized. It's an array of Individual* where each Individual* is a pointer to a individual in the population.

pop_num: int, default=None
    The size of the given population.

obj_num: int, default=None
    The number of objectives.

is_consider_cons: bool, default=false
    Whether to consider the constraints of individual in the sorting.
Returns:
void