f_gallagher.c File Reference

Implementation of the Gallagher function and problem. More...

Data Structures

struct  f_gallagher_permutation_t
 A random permutation type for the Gallagher problem. More...
 
struct  f_gallagher_data_t
 Data type for the Gallagher problem. More...
 

Functions

static int f_gallagher_compare_doubles (const void *a, const void *b)
 
static double f_gallagher_raw (const double *x, const size_t number_of_variables, f_gallagher_data_t *data)
 Implements the Gallagher function without connections to any COCO structures. More...
 
static void f_gallagher_evaluate (coco_problem_t *problem, const double *x, double *y)
 Uses the raw function to evaluate the COCO problem. More...
 
static void f_gallagher_free (coco_problem_t *problem)
 Frees the Gallagher data object. More...
 
static coco_problem_tf_gallagher_bbob_problem_allocate (const size_t function, const size_t dimension, const size_t instance, const long rseed, const size_t number_of_peaks, const char *problem_id_template, const char *problem_name_template)
 Creates the BBOB Gallagher problem. More...
 
static void f_gallagher_sub_evaluate_core (coco_problem_t *problem_i, const double *x, double *y)
 Uses the core function to evaluate the sub problem. More...
 
static coco_problem_tf_gallagher_sub_problem_allocate (const size_t number_of_variables)
 Allocates the basic gallagher sub problem. More...
 
static double f_gallagher_core (const double *x, size_t number_of_variables, f_gallagher_versatile_data_t *versatile_data)
 Implements the gallagher function without connections to any COCO structures. Wassim: core to not conflict with raw for now. More...
 
static void f_gallagher_evaluate_core (coco_problem_t *problem, const double *x, double *y)
 Uses the core function to evaluate the COCO problem. More...
 
static coco_problem_tf_gallagher_problem_allocate (const size_t number_of_variables, size_t number_of_peaks)
 Allocates the basic gallagher problem. More...
 
static coco_problem_tf_gallagher_permblockdiag_bbob_problem_allocate (const size_t function, const size_t dimension, const size_t instance, const long rseed, size_t number_of_peaks, const char *problem_id_template, const char *problem_name_template)
 

Detailed Description

Implementation of the Gallagher function and problem.

Function Documentation

static coco_problem_t* f_gallagher_bbob_problem_allocate ( const size_t  function,
const size_t  dimension,
const size_t  instance,
const long  rseed,
const size_t  number_of_peaks,
const char *  problem_id_template,
const char *  problem_name_template 
)
static

Creates the BBOB Gallagher problem.

Note
There is no separate basic allocate function.
static int f_gallagher_compare_doubles ( const void *  a,
const void *  b 
)
static

Comparison function used for sorting.

static double f_gallagher_core ( const double *  x,
size_t  number_of_variables,
f_gallagher_versatile_data_t versatile_data 
)
static

Implements the gallagher function without connections to any COCO structures. Wassim: core to not conflict with raw for now.

static void f_gallagher_evaluate ( coco_problem_t problem,
const double *  x,
double *  y 
)
static

Uses the raw function to evaluate the COCO problem.

static void f_gallagher_evaluate_core ( coco_problem_t problem,
const double *  x,
double *  y 
)
static

Uses the core function to evaluate the COCO problem.

static void f_gallagher_free ( coco_problem_t problem)
static

Frees the Gallagher data object.

static coco_problem_t* f_gallagher_permblockdiag_bbob_problem_allocate ( const size_t  function,
const size_t  dimension,
const size_t  instance,
const long  rseed,
size_t  number_of_peaks,
const char *  problem_id_template,
const char *  problem_name_template 
)
static

problem_i = transform_vars_blockrotation(*problem_i, B_const, dimension, block_sizes, nb_blocks);

static coco_problem_t* f_gallagher_problem_allocate ( const size_t  number_of_variables,
size_t  number_of_peaks 
)
static

Allocates the basic gallagher problem.

static double f_gallagher_raw ( const double *  x,
const size_t  number_of_variables,
f_gallagher_data_t data 
)
static

Implements the Gallagher function without connections to any COCO structures.

static void f_gallagher_sub_evaluate_core ( coco_problem_t problem_i,
const double *  x,
double *  y 
)
static

Uses the core function to evaluate the sub problem.

static coco_problem_t* f_gallagher_sub_problem_allocate ( const size_t  number_of_variables)
static

Allocates the basic gallagher sub problem.