Aggregation Functions

Aggregation Functions #

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

There are several aggregation functions for decomposition:

double CalWeightedSum(Individual *ind, double *weight_vector, double *ideal_point, int obj_num)

Use weighted sum method to decompose the individual ind based on weight vector weight_vector.

Parameter:
ind: Individual*, default=None
    The pointer to the individual which will be decomposed.

weight_vector: double*, default=None
    The weight vector for decomposition. It's a 1D array of double.

obj_num: int, default=None
    The number of objectives.
Returns:
weighted_sum: double
    The decomposition value with the weighted sum method.
double CalInverseChebycheff(Individual *ind, double *weight_vector, double *ideal_point, int obj_num)

Use inverse chebycheff method to decompose the individual ind based on weight vector weight_vector.

Parameter:
ind: Individual*, default=None
    The pointer to the individual which will be decomposed.

weight_vector: double*, default=None
    The weight vector for decomposition. It's a 1D array of double.

ideal_point: double*, default=None
    The ideal point of current population. It's a 1D array of double.

obj_num: int, default=None
    The number of objectives.
Returns:
inverse_chebycheff: double
    The decomposition value with the inverse chebycheff method.
double CalPBI(Individual *ind, double *weight_vector, double *ideal_point, int obj_num, double theta)

Use penalty-based boundary intersection method to decompose the individual ind based on weight vector weight_vector.

Parameter:
ind: Individual*, default=None
    The pointer to the individual which will be decomposed.

weight_vector: double*, default=None
    The weight vector for decomposition. It's a 1D array of double.

ideal_point: double*, default=None
    The ideal point of current population. It's a 1D array of double.

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

theta: double, default=None
    The parameter of penalty-based boundary intersection method.
Returns:
pbi: double
    The decomposition value with the penalty-based boundary intersection method.