OptHub

Rosenbrock関数の最小化問題

OptHubのチュートリアル用の問題

rosenbrock

Rosenbrock関数の最小化問題

Abstract

OptHubのチュートリアルで提供しているRosenbrock関数です。Rosenbrock関数の最小化問題は、変数間依存性を有する最適化問題の中で最も有名な問題の1つです。


定義

nn 次元 mm 目的のRosenbrock関数は以下のように定式化される。

minimize fj(x1,x2,,xn)=i=1n1[100(xi2xi+1)2+(xi1)2](j=1,2,,m)subject to <xi<(i=1,2,,n)n>1\begin{array}{rl} \text{minimize } & f_j(x_1, x_2, \cdots, x_n) = \sum_{i=1}^{n-1} [100(x_i^2-x_{i+1})^2+(x_i-1)^2] \quad (j=1,2,\cdots, m) \\ \text{subject to } & -\infty < x_i < \infty \quad (i=1,2,\cdots, n) \quad n>1 \end{array}

最適解の調整

OptHubのRosenbrock関数では、最適解を表す環境変数ROSENBROCK_OPTIMAに代入する値を変更することによって、関数全体を平行移動させて最適解を調整することができる。ROSENBROCK_OPTIMAは2次元配列で、ROSENBROCK_OPTIMA[0], ROSENBROCK_OPTIMA[1], ROSENBROCK_OPTIMA[2]はそれぞれ f1,f2,f3f_1, f_2, f_3 の最適解を表す。

次元と目的数の調整

Rosenbrock関数における次元 nn および目的数 mm は、最適解を表す環境変数ROSENBROCK_OPTIMAによって決定される。具体的には、ROSENBROCK_OPTIMAの配列の長さが mmROSENBROCK_OPTIMA[0] の配列の長さが nn となる。

Problem Owner

opthub

opthub

ID

rosenbrock