1

現在、scipy を使用して関数を最適化しようとしています。変数にはいくつかの制約があり、このリンクから: http://docs.scipy.org/doc/scipy-0.14.0/reference/tutorial/optimize.html、SLSQPはまさに私が欲しいもののようです。彼らの例では、彼らは勾配を見つけるための入力に関して明確に定義された結果の明示的な式を持っています。電磁場が金属壁から跳ね返る方法を計算する非常にうんざりするほど計算集約的な関数がありますが、これは決して閉じた形式では表現できません (興味がある場合は、MEEP FDTD Python シミュレーションを使用しています)。関数の勾配を見つけて最適化する同等の関数が scipy に組み込まれていますか? または、同等に、関数の勾配を見つけて、この最適化プログラムに渡すことができる関数が scipy に組み込まれていますか (基本的な python ライブラリであれば問題ありません)。どんな提案でも大歓迎です。

4

1 に答える 1

5

勾配を簡単に計算することはできないため、勾配のない最適化アルゴリズムを使用すると効果がある場合があります。SciPy で利用可能ないくつかの概要を次に示します。

http://scipy-lectures.github.io/advanced/mathematical_optimization/#gradient-less-methods

ベイスン ホッピング アルゴリズムもあります。これはシミュレーテッド アニーリングに似ており、そのページには記載されていません。

http://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.basinhopping.html

于 2015-03-03T09:38:01.883 に答える