Rosenbrock

struct pagmo::rosenbrock

The Rosenbrock problem.

../../_images/rosenbrock.png

This is a box-constrained continuous single-objective problem. The objective function is the generalised n-dimensional Rosenbrock function:

\[ F\left(x_1,\ldots,x_n\right) = \sum_{i=1}^{n-1}\left[ 100\left(x_i^2-x_{i+1}\right)^2+\left(x_i-1\right)^2\right], \quad x_i \in \left[ -5,10 \right]. \]
The global minimum is in \(x_i=1\), where \( F\left( 1,\ldots,1 \right) = 0 \).

Public Functions

rosenbrock(unsigned int dim = 2u)

Constructor from dimension.

Parameters
  • dim -

    problem dimension

Exceptions
  • std::invalid_argument -

    if dim is less than 2

vector_double fitness(const vector_double &x) const

Fitness.

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

Problem bounds.

std::string get_name() const

Problem name.

vector_double best_known() const

Optimal solution.

template <typename Archive>
void serialize(Archive &ar)

Serialization.

Public Members

unsigned int m_dim

Problem dimensions.