MATLABにおける多変量関数の最適化
多変数関数の最適解を求める方法はおおむね2種類ある。
- 数値最適化手法:勾配降下法、ニュートン法、準ニュートン法などの数値最適化アルゴリズムを利用し、関数の局所的極小点または大域的極小点を反復計算により求めて最適解を得る。
多様な数値最適化関数(fminunc、fminsearchなど)を備えるMATLABにより、各種の問題に最適な関数を活用し、解を求めることが可能です。
- 解析的最適化手法:関数の偏導関数または勾配を求めてゼロとなるようにして連立方程式を解くことで、解析的に最適解の表現を得る手法。
MATLABでは、syms関数を使用してシンボル変数を定義して、solve関数を使用して連立方程式を解き、解析的に最良解としての表現を得ることができます。
求解方法は、関数の形や求める精度によって変わります。関数が単純な場合は解析解法が、複雑な場合や解析解法が使えない場合は数値最適化法が適しています。