OptHub

Rastrigin関数の最小化問題

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

rastrigin

Rastrigin関数の最小化問題

概要

OptHubのチュートリアルで提供しているRastrigin関数です。Rastrigin関数の最小化問題は、大域的多峰性を有する最適化問題の中で最も有名な設定の問題の1つです。


定義

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

minimize fj(x1,x2,,xn)=i=1n[xi210cos(2πxi)+10](j=1,2,,m)subject to <xi<(i=1,2,,n)\begin{array}{rl} \text{minimize } & f_j(x_1, x_2, \cdots, x_n) = \sum_{i=1}^{n}[ x_i^2-10\mathrm{cos}(2\pi x_i)+10] \quad (j=1,2,\cdots, m) \\ \text{subject to } & -\infty < x_i < \infty \quad (i=1,2,\cdots, n) \end{array}

最適解の調整

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

次元と目的数の調整

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

作成者

opthub

opthub

ID

rastrigin