Miscellaneous

Ideal Point and Nadir Point Update #

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

void UpdateIdealpoint(Individual *ind, double *ideal_point, int obj_num)

Update the ideal point ideal_point with given individual ind.

Parameter:
ind: Individual*, default=None
    The pointer to the given individual.

ideal_point: double*, default=None
    The pointer to the ideal point which will be updated. It's a 1D array of double.

obj_num: int, default=None
    The number of objectives.
Returns:
void
void UpdateNadirpoint(Individual *ind, double *nadir_point, int obj_num)

Update the ideal point nadir_point with given individual ind.

Parameter:
ind: Individual*, default=None
    The pointer to the given individual.

ideal_point: double*, default=None
    The pointer to the nadir point which will be updated. It's a 1D array of double.

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

Statistic Test #

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

int RankSumTest(const std::vector<double>& array1, const std::vector<double>& array2)

Do the ranksum test between the two given arrays.

Parameter:
array1: std::vector<double>, default=None
    The first array which will attend ranksum test.

array2: std::vector<double>, default=None
    The second array which will attend ranksum test.
Returns:
res: int
    The result of ranksum test. 0 means no significant difference and 1 means has significant difference with 5% significance level.
int SignRankTest(const std::vector<double>& array1, const std::vector<double>& array2)

Do the sign rank test between the two given arrays.

Parameter:
array1: std::vector<double>, default=None
    The first array which will attend sign rank test.

array2: std::vector<double>, default=None
    The second array which will attend sign rank test.
Returns:
res: int
    The result of sign rank test. 0 means no significant difference and 1 means has significant difference with 5% significance level.