CEC 2006 Problem Suite (single-objective, constrained)#

class cec2006#

The CEC 2006 problems: Constrained Real-Parameter Optimization.

This class allows to instantiate any of the 24 problems of the competition on constrained real-parameter optimization problems that was organized in the framework of the 2006 IEEE Congress on Evolutionary Computation.

Note

The code for these UDAs is adapted from the original C code distributed during the competition and linked below.

Note

All problems are constrained, continuous, single objective problems.

Public Functions

cec2006(unsigned prob_id = 1u)#

Constructor.

Will construct one of the 24 CEC2006 problems

Parameters

prob_id – The problem id. One of [1,2,…,24]

Throws

invalid_argument – if prob_id is not in [1,24]

vector_double::size_type get_nec() const#

Equality constraint dimension.

It returns the number of equality constraints

Returns

the number of equality constraints

vector_double::size_type get_nic() const#

Inequality constraint dimension.

It returns the number of inequality constraints

Returns

the number of inequality constraints

std::pair<vector_double, vector_double> get_bounds() const#

Box-bounds.

It returns the box-bounds for this UDP.

Returns

the lower and upper bounds for each of the decision vector components

vector_double fitness(const vector_double&) const#

Fitness computation.

Computes the fitness for this UDP

Parameters

x – the decision vector.

Returns

the fitness of x.

vector_double best_known() const#

Optimal solution.

Returns

the decision vector corresponding to the best solution for this problem.

std::string get_name() const#

Problem name.

Returns

a string containing the problem name