3

gfortranコンパイラを搭載したWindows 7マシンで、Fortran 90で数値最適化を行っています(やろうとしています)。私は、関数の対数尤度を返す、他の誰かによって事前に作成された関数を持っています。これは、渡されたパラメーターの大きなセット (合計で約 60 個のパラメーター) が与えられます。誰かの結果を複製しようとしているので、最終的なパラメーターを知っています。しかし、私はそれらを再評価しようとし、最終的にモデルを拡張して別のデータを使用することになりました. ここで利用可能な uobyqa.f90 ルーチンを試してみましたが、これまでのところ特に成功していません。

私の質問は次のとおりです。まず、多数のパラメーター (60 以上) を使用する最適化問題について、自由に利用できる最適なルーチンを誰か提案できますか? 導関数は使用できず、数値的に見積もるにはコストがかかるため、最初に uobyqa ルーチンを試します。また、並列化を実装すると、この問題の解決に大きく役立ちますか? もしそうなら、openmp を使用して既に並列化を実装している最適化ルーチンを誰か提案できますか?

ありがとう!

4

2 に答える 2

2

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

于 2012-02-22T20:22:01.237 に答える