2012-02-22 21 views
3

gfortranコンパイラを使用しているWindows 7マシンで、Fortran 90で数値最適化を行っています(しようとしています)。私は関数のログを返す、他の誰かによってあらかじめ書かれた関数を持っています。パラメータのセット(合計で約60パラメータ)が渡されています。私は誰かの結果を複製しようとしています。私はそれらを試して再評価し、最終的にモデルを拡張し、異なるデータを使用することでした。私は今までに特に成功していないhereが利用可能なuobyqa.f90ルーチンを試してきました。Fortran 90の最適化ルーチン

私の質問は次のとおりです。最初に、多数のパラメータ(60以上)の最適化問題に対して、誰もが最高の自由に利用できるルーチンを提案できますか?デリバティブは利用できず、数値的に見積もるにはコストがかかるため、最初にuobyqaルーチンを試してみてください。また、この問題を解決するために並列化支援を大幅に実装するでしょうか?もしそうなら、誰もが既にopenmpを使って並列化を実装している最適化ルーチンを提案することができますか?

ありがとうございます!

答えて

2

具体的な最適化戦略については良い提案はありませんが、NLoptパッケージには、より多くの変数を処理できる派生フリーのオプティマイザがいくつかあります。チェックアウトする価値がある。私は、Fortranインターフェースが非常に使いやすいことを発見しました。

+0

返信いただきありがとうございます。私はNLoptパッケージを試しましたが、まだ成功は限られています。誰も遺伝的アルゴリズムとFortranの経験はありませんか?私はpikaiを使って実験してきました、parlyは並列化されたバージョンですから。これらのアルゴリズムは多数のパラメータでどのように機能しますか? – user1226271

0

まず、この質問に関する定期的(学術出版)の文献検索を行います。 他の検索語句(例:「最適化」、「uobyqa」など)に「LAPACK」を含めて、他者による関連作業を表示することをおすすめします。

関連する問題