suite_biobj.c File Reference

Implementation of two bi-objective suites created by combining two single-objective problems from the bbob suite: More...

#include "coco.h"
#include "mo_utilities.c"
#include "suite_biobj_utilities.c"
#include "suite_bbob.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_biobj_initialize (const char *suite_name)
 Sets the dimensions and default instances for the bbob-biobj suites. More...
 
static const char * suite_biobj_get_instances_by_year (const int year)
 Sets the instances associated with years for the bbob-biobj suites. More...
 
static coco_problem_tsuite_biobj_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-biobj suite that corresponds to the given parameters. More...
 

Detailed Description

Implementation of two bi-objective suites created by combining two single-objective problems from the bbob suite:

  • bbob-biobj contains 55 functions and 6 dimensions
  • bbob-biobj-ext contains 55 + 37 functions and 6 dimensions

The 55 functions of the bbob-biobj suite are created by combining any two single-objective bbob functions i,j (where i<j) from a subset of 10 functions.

The first 55 functions of the bbob-biobj-ext suite are the same as in the original bbob-biobj test suite to which 37 functions are added. Those additional functions are constructed by combining all not yet contained in-group combinations (i,j) of single-objective bbob functions i and j such that i<j (i.e. in particular not all combinations (i,i) are included in this bbob-biobj-ext suite), with the exception of the Weierstrass function (f16) for which the optimum is not unique and thus a nadir point is difficult to compute, see http://numbbo.github.io/coco-doc/bbob-biobj/functions/ for details.

Note
See file suite_biobj_utilities.c for the implementation of the bi-objective problems and the handling of new instances.

Function Documentation

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_biobj_get_instances_by_year ( const int  year)
static

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

Note
The instances of the bi-objective suites generally do not changes with years.
static coco_problem_t* suite_biobj_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-biobj suite that corresponds to the given parameters.

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_biobj_initialize ( const char *  suite_name)
static

Sets the dimensions and default instances for the bbob-biobj suites.