CEC 2009 Problem Suite (multi-objective, constrained and unconstrained)#
-
class cec2009#
The CEC 2009 problems: Competition on “Performance Assessment of Constrained / Bound
Constrained Multi-Objective Optimization Algorithms”
This class instantiates any of the problems from CEC2009’s competition on multi-objective optimization algorithms, commonly referred to by the literature as UF1-UF10 (unconstrained) and CF1-CF10 (constrained).
Note
The three problems constructed by some transformation on DTLZ2, DTLZ3 and WFG1 problems as described in the technical report are not included in this implementation.
Note
All problems are continuous, multi objective problems.
Public Functions
-
cec2009(unsigned prob_id = 1u, bool is_constrained = false, unsigned dim = 30u)#
Constructor.
Will construct one of the 20 multi-objective optimization problems from the CEC2009 competition. There are two sets of problems, namely the set with unconstrained problems (UF) and the set with constrained problems (CF).
- Parameters
prob_id – The problem id. One of [1,2,…10]
is_constrained – Specify whether the problem is constrained. False will yield the UF problems, True will yield the CF problems.
dim – problem dimension. Default is 30, which is the setting used by the competition. But all the problems are scalable in terms of decision variable’s dimension.
-
vector_double::size_type get_nic() const#
Inequality constraint dimension.
Returns the number of inequality constraints
- Returns
the number of inequality constraints
-
vector_double::size_type get_nobj() const#
Number of objectives.
Returns the number of objectives
- Returns
the number of objectives
-
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
.
-
std::string get_name() const#
Problem name.
- Returns
a string containing the problem name
-
cec2009(unsigned prob_id = 1u, bool is_constrained = false, unsigned dim = 30u)#