Rosenbrock function

Rosenbrock's valley is a classic optimization problem, also known as Banana function. The global optimum is inside a long, narrow, parabolic shaped flat valley. To find the valley is trivial, however convergence to the global optimum is difficult and hence this problem has been repeatedly used in assess the performance of optimization algorithms.

Script: rosenbrock.qscript

'script language = VBscript
function Main()
    sum = 0
    for i = 1 to qs_NVARS-1
        sum = sum + qs_sqr(1-qs_VAR(i)) + 105 * qs_sqr(qs_VAR(i+1)-qs_sqr(qs_VAR(i)))
    next
    qs_RESULT(1) = sum
end function

 

QstatLab model (see OptimizationModels.qsl in Examples):

type = spreadsheet
nvars = 2
vars
2
1
result
=SQR(1-B4)+105*SQR(B5-B4*B4)
lvars
-2
-2
uvars
2
2

or

Type =script
nvars = 2
scriptfile = rosenbrock.qscript
lvar1 = -2
uvar1 = 2
var1 = 0
lvar2 = -2
uvar2 = 2
var2 = 0
 

Minimum

Minimum value is 0 for Var(i) = 1

 

Plots:

Back to Data Entry