Rosenbrock function
In mathematical optimization, the Rosenbrock function is a non-convex function used as a performance test problem for optimization algorithms introduced by Howard H. Rosenbrock in 1960[1]. It is also known as Rosenbrock's valley or Rosenbrock's banana function.
The global minimum is inside a long, narrow, parabolic shaped flat valley. To find the valley is trivial. To converge to the global minimum, however, is difficult.
It is defined by
It has a global minimum at (x,y) = (1,1) where f(x,y) = 0. A different coefficient of the second term is sometimes given, but this does not affect the position of the global minimum.
Contents |
[edit] Multidimensional generalisations
Two variants are commonly encountered. One is the sum of N / 2 uncoupled 2D Rosenbrock problems,
This variant is only defined for even N and has predictably simple solutions.
A more involved variant is
This variant has been shown to have exactly one minimum for N = 3 (at (1,1,1)) and exactly two minima for
-- the global minimum of all ones and a local minimum near
. This result is obtained by setting the gradient of the function equal to zero, noticing that the resulting equation is a rational function of x. For small N the polynomials can be determined exactly and Sturm's theorem can be used to determine the number of real roots, while the roots can be bounded in the region of | xi | < 2.4 [4]. For larger N this method breaks down due to the size of the coefficients involved.
[edit] Stationary points
Many of the stationary points of the function exhibit a regular pattern when plotted[4]. This structure can be exploited to locate them.
[edit] Stochastic version
There are many ways to extend this function stochastically. In Xin-She Yang's functions, a generic or heuristic extension of Rosenbrock's function is given to extend this function into a stochastic function[5]
where the random variables
obey a uniform distribution Unif(0,1). In principle, this stochastic function has the same global optimimum at (1,1,...,1), however, the stochastic nature of this function makes it impossible to use any gradient-based optimization algorithms.
[edit] See also
[edit] Notes
- ^ Rosenbrock, H.H. (1960). "An automatic method for finding the greatest or least value of a function". The Computer Journal 3: 175–184. doi:10.1093/comjnl/3.3.175. ISSN 0010-4620.
- ^ L C W Dixon, D J Mills. Effect of Rounding errors on the Variable Metric Method. Journal of Optimization Theory and Applications 80, 1994. [1]
- ^ "Generalized Rosenbrock's function". http://www.it.lut.fi/ip/evo/functions/node5.html. Retrieved 2008-09-16.
- ^ a b Schalk Kok, Carl Sandrock. Locating and Characterizing the Stationary Points of the Extended Rosenbrock Function. Evolutionary Computation 17, 2009. [2]
- ^ Yang X.-S. and Deb S., Engineering optimization by cuckoo search, Int. J. Math. Modelling Num. Optimisation, Vol. 1, No. 4, 330-343 (2010)
[edit] References
- Rosenbrock, H. H. (1960), "An automatic method for finding the greatest or least value of a function", The Computer Journal 3: 175–184, doi:10.1093/comjnl/3.3.175, ISSN 0010-4620, MR0136042
[edit] External links
- Rosenbrock function plot in 3D
- Minimizing the Rosenbrock Function by Michael Croucher, The Wolfram Demonstrations Project.
- Weisstein, Eric W., "Rosenbrock Function" from MathWorld.

![f(\mathbf{x}) = f(x_1, x_2, \dots, x_N) = \sum_{i=1}^{N/2} \left[100(x_{2i-1}^2 - x_{2i})^2
+ (x_{2i-1} - 1)^2 \right].](http://upload.wikimedia.org/wikipedia/en/math/1/9/2/192457688ec048767a93e8c04d519d90.png)
![f(\mathbf{x}) = \sum_{i=1}^{N-1} \left[ (1-x_i)^2+ 100 (x_{i+1} - x_i^2 )^2 \right] \quad \forall x\in\mathbb{R}^N.](http://upload.wikimedia.org/wikipedia/en/math/7/7/6/776b5ee05ea12e1fbac0afb81c12f415.png)
![f(\mathbf{x}) =\sum_{i=1}^{n-1} \Big[(1-x_i)^2+100 \epsilon_i (x_{i+1}-x_i^2)^2 \Big],](http://upload.wikimedia.org/wikipedia/en/math/0/a/6/0a644fefd664fbabd438cfc9c8441a21.png)