現在様々な最適化アルゴリズムが提案されており,アルゴリズムの性能の良し悪しを評価するためのベンチマーク関数(テスト関数)も提案されています。本記事では最適化の難しい関数の代表的性質を説明し,様々な性質を持つベンチマーク関数を紹介します。
pythonによる実装例,ユーザー関数はこちらからどうぞ。
大きい画面で表示したい方はこちらからご覧ください。
スライドの目次
- 最適化とは?
- 最適化が難しい関数の性質
- 悪スケール性
- 変数間依存性
- 多峰性
- ベンチマーク関数
- Sphere関数
- Ellipsoid関数
- k-tablet関数(k=n/4)
- Rosenbrock関数(star型)
- Rosenbrock関数(chain型)
- Bohachevsky関数
- Ackley関数
- Schaffer関数
- Rastrigin関数
参考文献
- 小林重信,実数値GAのフロンティア,人工知能学会論文誌,Vol. 24, No. 1, pp. 147-162 (2009)
- 棟朝雅晴,遺伝的アルゴリズムーその理論と先端的手法ー,森北出版株式会社(2015)
- 佐久間淳,小林重信,高次元k-tablet構造を考慮した実数値GA,人工知能学会論文誌,Vol. 19, No. 1, pp. 28-37 (2004)
- 木村周平,小長谷明彦,距離に依存せずに多様体を制御するGAによる高次元関数最適化,人工知能学会論文誌,Vol. 18, No. 4, pp. 193-202 (2003)
- Test functions for optimization (Wikipedia)
質問、コメント等ございましたら、下部のコメント欄,もしくはメールやTwitterよりご連絡ください。