suite_bbob_mixint.c File Reference

Implementation of a suite with mixed-integer bbob problems. The functions are the same as those in the bbob suite with 24 functions, but the large-scale implementations of the functions are used instead of the original ones for dimensions over 40. Additionally, the functions are scaled as given by suite_bbob_mixint_scaling_factors. More...

#include "coco.h"
#include "suite_bbob.c"
#include "suite_largescale.c"
#include "transform_vars_discretize.c"
#include "transform_obj_scale.c"

Functions

static coco_suite_tcoco_suite_allocate (const char *suite_name, const size_t number_of_functions, const size_t number_of_dimensions, const size_t *dimensions, const char *default_instances)
 
static coco_suite_tsuite_bbob_mixint_initialize (const char *suite_name)
 Sets the dimensions and default instances for the bbob-mixint suite. More...
 
static const char * suite_bbob_mixint_get_instances_by_year (const int year)
 Sets the instances associated with years for the bbob-mixint suites. More...
 
static coco_problem_tcoco_get_bbob_mixint_problem (const size_t function, const size_t dimension, const size_t instance, const coco_get_problem_function_t coco_get_problem_function)
 Creates and returns a mixed-integer bbob problem without needing the actual bbob-mixint suite. More...
 
static coco_problem_tsuite_bbob_mixint_get_problem (coco_suite_t *suite, const size_t function_idx, const size_t dimension_idx, const size_t instance_idx)
 Returns the problem from the bbob-mixint suite that corresponds to the given parameters. More...
 

Variables

static double suite_bbob_mixint_scaling_factors []
 Factors used to scale separate functions in order to achieve similar difficulty. More...
 

Detailed Description

Implementation of a suite with mixed-integer bbob problems. The functions are the same as those in the bbob suite with 24 functions, but the large-scale implementations of the functions are used instead of the original ones for dimensions over 40. Additionally, the functions are scaled as given by suite_bbob_mixint_scaling_factors.

Function Documentation

static coco_problem_t* coco_get_bbob_mixint_problem ( const size_t  function,
const size_t  dimension,
const size_t  instance,
const coco_get_problem_function_t  coco_get_problem_function 
)
static

Creates and returns a mixed-integer bbob problem without needing the actual bbob-mixint suite.

Parameters
functionFunction
dimensionDimension
instanceInstance
coco_get_problem_functionThe function that is used to access the continuous problem.
Returns
The problem that corresponds to the given parameters.
static coco_suite_t* coco_suite_allocate ( const char *  suite_name,
const size_t  number_of_functions,
const size_t  number_of_dimensions,
const size_t *  dimensions,
const char *  default_instances 
)
static
static const char* suite_bbob_mixint_get_instances_by_year ( const int  year)
static

Sets the instances associated with years for the bbob-mixint suites.

static coco_problem_t* suite_bbob_mixint_get_problem ( coco_suite_t suite,
const size_t  function_idx,
const size_t  dimension_idx,
const size_t  instance_idx 
)
static

Returns the problem from the bbob-mixint suite that corresponds to the given parameters.

Uses large-scale bbob functions if dimension is equal or larger than the hard-coded dim_large_scale value (50).

Parameters
suiteThe COCO suite.
function_idxIndex of the function (starting from 0).
dimension_idxIndex of the dimension (starting from 0).
instance_idxIndex of the instance (starting from 0).
Returns
The problem that corresponds to the given parameters.
static coco_suite_t* suite_bbob_mixint_initialize ( const char *  suite_name)
static

Sets the dimensions and default instances for the bbob-mixint suite.

Variable Documentation

double suite_bbob_mixint_scaling_factors[]
static
Initial value:
= {
1, 1e-3, 1e-1, 1e-1, 1,
1e-2, 1, 1e-2, 1e-2, 1e-3,
1e-2, 1e-4, 1e-1, 1, 1e-1,
1, 10, 1, 10, 1e-1,
1, 1, 10, 1e-1
}

Factors used to scale separate functions in order to achieve similar difficulty.