f_rastrigin.c File Reference

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

#include <stdio.h>
#include <math.h>
#include <assert.h>
#include "coco.h"
#include "coco_problem.c"
#include "suite_bbob_legacy_code.c"
#include "coco_utilities.c"
#include "transform_vars_conditioning.c"
#include "transform_vars_asymmetric.c"
#include "transform_vars_oscillate.c"
#include "transform_vars_shift.c"
#include "transform_obj_shift.c"
#include "transform_vars_affine.c"
#include "transform_vars_permutation.c"
#include "transform_vars_blockrotation.c"
#include "transform_obj_norm_by_dim.c"

Functions

static double f_rastrigin_raw (const double *x, const size_t number_of_variables)
 Implements the Rastrigin function without connections to any COCO structures. More...
 
static void f_rastrigin_evaluate (coco_problem_t *problem, const double *x, double *y)
 Uses the raw function to evaluate the COCO problem. More...
 
static void f_rastrigin_evaluate_gradient (coco_problem_t *problem, const double *x, double *y)
 Evaluates the gradient of the raw Rastrigin function. More...
 
static coco_problem_tf_rastrigin_allocate (const size_t number_of_variables)
 Allocates the basic Rastrigin problem. More...
 
static coco_problem_tf_rastrigin_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 Rastrigin problem. More...
 
static coco_problem_tf_rastrigin_rotated_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 rotated Rastrigin problem. More...
 
static coco_problem_tf_rastrigin_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 rotated Rastrigin problem for large scale. More...
 
static void f_rastrigin_cons_compute_xopt (double *xopt, const long rseed, const size_t dim)
 Computes xopt for constrained Rastrigin (alternative to bbob2009_compute_xopt()) xopt is a vector of dim uniform random integers. More...
 
static coco_problem_tf_rastrigin_cons_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 Rastrigin problem for the constrained BBOB suite. More...
 

Detailed Description

Implementation of the Rastrigin function and problem.

Function Documentation

static coco_problem_t* f_rastrigin_allocate ( const size_t  number_of_variables)
static

Allocates the basic Rastrigin problem.

static coco_problem_t* f_rastrigin_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 
)
static

Creates the BBOB Rastrigin problem.

static coco_problem_t* f_rastrigin_cons_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 
)
static

Creates the Rastrigin problem for the constrained BBOB suite.

static void f_rastrigin_cons_compute_xopt ( double *  xopt,
const long  rseed,
const size_t  dim 
)
static

Computes xopt for constrained Rastrigin (alternative to bbob2009_compute_xopt()) xopt is a vector of dim uniform random integers.

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

Uses the raw function to evaluate the COCO problem.

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

Evaluates the gradient of the raw Rastrigin function.

static coco_problem_t* f_rastrigin_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 
)
static

Creates the BBOB rotated Rastrigin problem for large scale.

static double f_rastrigin_raw ( const double *  x,
const size_t  number_of_variables 
)
static

Implements the Rastrigin function without connections to any COCO structures.

static coco_problem_t* f_rastrigin_rotated_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 
)
static

Creates the BBOB rotated Rastrigin problem.