Polynomial Mutation

Polynomial Mutation #

File position: /EMOC/src/operator/polynomial_mutation.h and /EMOC/src/operator/polynomial_mutation.cpp

void PolynomialMutation(Individual *ind, std::vector<double>& lower_bound, std::vector<double>& upper_bound, MutationParameter& mutation_para)

Do the polynomial mutation on ind. The mutation results are stored in itself.

Parameter:
ind: Individual*, default=None
    The pointer to the individual which will do the polynomial mutation.

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.

mutation_para: MutationParameter, default=None
    The parameter of this mutation. The type MutationParameter is just a simple structure which has three member variables (i.e., the mutation probability, the distribution index1 and the distribution index2).
Returns:
void