|
static double | f_step_ellipsoid_raw (const double *x, const size_t number_of_variables, f_step_ellipsoid_data_t *data) |
| Implements the step ellipsoid function without connections to any COCO structures. More...
|
|
static void | f_step_ellipsoid_evaluate (coco_problem_t *problem, const double *x, double *y) |
| Uses the raw function to evaluate the COCO problem. More...
|
|
static void | f_step_ellipsoid_free (coco_problem_t *problem) |
| Frees the step ellipsoid data object. More...
|
|
static coco_problem_t * | f_step_ellipsoid_bbob_problem_allocate (const size_t function, const size_t dimension, const size_t instance, const long rseed, const char *problem_id_template, const char *problem_name_template) |
| Creates the BBOB step ellipsoid problem. More...
|
|
static double | f_step_ellipsoid_core (const double *x, const size_t number_of_variables, f_step_ellipsoid_versatile_data_t *f_step_ellipsoid_versatile_data) |
| Implements the step ellipsoid function without connections to any COCO structures. More...
|
|
static void | f_step_ellipsoid_permblock_evaluate (coco_problem_t *problem, const double *x, double *y) |
| Uses the raw function to evaluate the ls COCO problem. More...
|
|
static void | f_step_ellipsoid_versatile_data_free (coco_problem_t *problem) |
| allows to free the versatile_data part of the problem. More...
|
|
static coco_problem_t * | f_step_ellipsoid_allocate (const size_t number_of_variables) |
| Allocates the basic step ellipsoid problem. an additional coordinate is added that will contain the value of {z}_1 but that is ignored by functions other that f_step_ellipsoid_core and transform_vars_round_step. The latter sets it. More...
|
|
static coco_problem_t * | f_step_ellipsoid_permblockdiag_bbob_problem_allocate (const size_t function, const size_t dimension, const size_t instance, const long rseed, const char *problem_id_template, const char *problem_name_template) |
| Creates the BBOB permuted block-rotated step ellipsoid problem. More...
|
|
Implementation of the step ellipsoid function and problem.
The BBOB step ellipsoid function intertwines the variable and objective transformations in such a way that it is hard to devise a composition of generic transformations to implement it. In the end one would have to implement several custom transformations which would be used solely by this problem. Therefore we opt to implement it as a monolithic function instead.
TODO: It would be nice to have a generic step ellipsoid function to complement this one.