この記事は何?
最適化手法を考えたり、最適化手法を試したい時に使える関数の個人用メモ
Virtual Library of Simulation Experiments: Test Functions and Datasets より独断と偏見で選出
描画はWolframAlphaのonline版を使用
お椀型関数
SPHERE FUNCTION
f(x) = \sum_{i=1}^d x_i^2
最小点:$x=(0,0,...,0)$のとき$f(x)=0$
SUM SQUARES FUNCTION
f(x) = \sum_{i=1}^d ix_i^2
最小点:$x=(0,0,...,0)$のとき$f(x)=0$
SUM OF DIFFERENT POWERS FUNCTION
f(x) = \sum_{i=1}^d | x_i |^{i+1}
最小点:$x=(0,0,...,0)$のとき$f(x)=0$
PERM FUNCTION 0, D, BETA
f(x) = \sum_{i=1}^d \left( \sum_{j=1}^d (j+\beta)\left(x^i_j - \frac{1}{j^i}\right) \right)^2
最小点:$x=(1,1/2,...,1/d)$のとき$f(x)=0$
TRID FUNCTION
f(x) = \sum_{i=1}^d (x_i-1)^2 - \sum_{i=2}^d x_i x_{i-1}
最小点:$x_i=i(d+1-i)$のとき$f(x)=-d(d+4)(d-1)/6$
local minimum がいっぱいある関数
ACKLEY FUNCTION
f(x) = -a \text{exp} \left( -b\sqrt{\frac{1}{d} \sum_{i=1}^d x_i^2} \right) -\text{exp}\left(\frac{1}{d} \sum_{i=1}^d \text{cos}(cx_i) \right) + a + \text{exp}(1)
推奨値:$a = 20, b = 0.2, c = 2\pi$
最小点:$x=(0,0,...,0)$のとき$f(x)=0$
GRIEWANK FUNCTION
f(x) = \sum_{i=1}^d \frac{x_i^2}{4000} - \prod_{i=1}^d \text{cos}\left(\frac{x_i}{\sqrt{i}}\right)+1
最小点:$x=(0,0,...,0)$のとき$f(x)=0$
LEVY FUNCTION
f(x) = \text{sin}^2(\pi \omega_1) + \sum_{i=1}^{d-1}(\omega_i-1)^2(1+10\text{sin}^2(\pi \omega_i+1)) + (w_d-1)^2(1+\text{sin}^2(2\pi\omega_d)) \\
\text{for } \omega_i = 1 + \frac{x_i-1}{4}
最小点:$x=(1,1,...,1)$のとき$f(x)=0$
RASTRIGIN FUNCTION
f(x) = 10d + \sum_{i=1}^d(x_i^2-10\cos(2\pi x_i)) \
最小点:$x=(0,0,...,0)$のとき$f(x)=0$
板状関数
ZAKHAROV FUNCTION
f(x) = \sum_{i=1}^d x_i^2 + \left(\sum_{i=1}^d 0.5ix_i \right)^2 + \left( \sum_{i=1}^d 0.5ix_i \right)^4
崖状関数
DIXON-PRICE FUNCTION
f(x) = (x_1-1)^2 + \sum_{i=2}^d i(2x_i^2-x_{i-1})^2
最小点:$x=(0,0,...,0)$のとき$f(x)=0$
ROSENBROCK FUNCTION
f(x) = \sum_{i=1}^{d-1} \left( 100(x_{i+1}-x_i^2 )^2 + (x_i-1)^2 \right)
最小点:$x=(1,1,...,1)$のとき$f(x)=0$
その他
PERM FUNCTION D, BETA
f(x) = \sum_{i=1}^d \left( \sum_{j=1}^d (j^i+\beta) \left(\left(\frac{x_j}{j}\right)^i-1\right)\right)^2
最小:$x=(1,2,...,d)$のとき$f(x)=0$












