transform_vars_affine.c File Reference
Implementation of performing an affine transformation on decision values. More...
Data Structures | |
struct | transform_vars_affine_data_t |
Data type for transform_vars_affine. More... | |
Functions | |
static void | transform_vars_affine_evaluate_function (coco_problem_t *problem, const double *x, double *y) |
Evaluates the transformed objective function. More... | |
static void | transform_vars_affine_evaluate_constraint (coco_problem_t *problem, const double *x, double *y) |
Evaluates the transformed constraint. More... | |
static void | transform_vars_affine_evaluate_gradient (coco_problem_t *problem, const double *x, double *y) |
Evaluates the gradient of the transformed function. More... | |
static void | transform_vars_affine_free (void *thing) |
Frees the data object. More... | |
static coco_problem_t * | transform_vars_affine (coco_problem_t *inner_problem, const double *M, const double *b, const size_t number_of_variables) |
Creates the transformation. More... | |
Detailed Description
Implementation of performing an affine transformation on decision values.
x |-> Mx + b
The matrix M is stored in row-major format.
Currently, the best parameter is transformed correctly only in the simple cases where M is orthogonal which is always the case for the bbob
functions. How to code this for general transformations of the above form, see https://github.com/numbbo/coco/issues/814#issuecomment-303724400
Function Documentation
|
static |
Creates the transformation.
|
static |
Evaluates the transformed constraint.
|
static |
Evaluates the transformed objective function.
|
static |
Evaluates the gradient of the transformed function.
|
static |
Frees the data object.