Simulated Binary Crossover
#
File position: /EMOC/src/operator/sbx.h and /EMOC/src/operator/sbx.cpp
void SBX(Individual* parent1, Individual* parent2, Individual* offspring1, Individual* offspring2, std::vector<double>& lower_bound, std::vector<double>& upper_bound, CrossoverParameter& cross_para)
Do the simulated binary crossover based on parent1
and parent2
, the results are stored in offspring1
and offspring2
.
Parameter: |
parent1: Individual*, default=None     The pointer to the first parent individual to do simulated binary crossover.
parent2: Individual*, default=None     The pointer to the second parent individual to do simulated binary crossover.
offspring1: Individual*, default=None     The pointer to the first offspring individual of simulated crossover results. The memory of the offspring need to be allocated outside the function.
offspring2: Individual*, default=None     The pointer to the second offspring individual of simulated crossover results. The memory of the offspring need to be allocated outside the function.
lower_bound: std::vector<double>, default=None     The lower boundary of decision variables.
upper_bound: std::vector<double>, default=None     The upper boundary of decision variables.
cross_para: CrossoverParameter, default=None     The parameter of this crossover. The type CrossoverParameter is just a simple structure which has three member variables (i.e., the crossover probability, the distribution index1 and the distribution index2) |
Returns: |
void
|