非線形関数を最適化することを非線形最適化と言って、利用する場面は多いです。ここでは理論的な説明は省き、ツールを使って最適化を行う方法を紹介します。
利用するソルバー:scipy.optimize
最適化手法:Nelder-Mead Simplex algorithm
pythonコードを確認してもらうと、いくつか例題があります。目的関数値を返す関数を作成して、その関数を呼び出してツールの書式に従って最適化を行います。パターン化されますので理解もしやすいと思います。最適化手法は今回Nelder-Meadという基本的なものを利用しています。他の最適化手法でも試して欲しいです。
20210907 追記
ローゼンブロック関数に対して、遺伝アルゴリズム(GA)のdeapライブラリを使って実施したものを追加しました。2変数での精度は出ましたが、3変数以上は難しいです。
20210908 追記
deapのベンチマークであるackley関数を追加しました。下記は参考です。
https://deap.readthedocs.io/en/master/api/benchmarks.html#deap.benchmarks.ackley
https://qiita.com/tyoshitake/items/e76f6f8e4110731606bc
watch all spanish daramas here in HD quality ·doramasgo
返信削除watch all spanish daramas here in HD quality ·comamosramen
返信削除このコメントは投稿者によって削除されました。
返信削除https://apkmiz.com/
返信削除