Javaで多変量非線形最適化を実行できるJavaライブラリを3日間探しています。いくつか思いつきましたが、最も注目すべきは Apache Commons オプティマイザ パッケージです。残念ながら、私は多くの例を見つけることができず、いくつかの例なしで最適化パッケージを使用する方法を理解するのに十分な経験がありません. Apache Commons パッケージを使用して多変量最適化の問題を解決する方法の例を教えてもらえますか、または私を助けることができるドキュメントを教えてもらえますか?
6173 次
2 に答える
4
(最近の質問への回答も参照してください)。
(非線形) 線形制約を処理でき、導関数に依存しない Java の非線形オプティマイザを探している場合は、Michael Powell の COBYLA2 アルゴリズムをお勧めします。このアルゴリズムの元の FORTRAN 実装を Java に変換しました。GithubとCodeProjectで対応するコードを見つけることができます。
現在、267 の変数は、COBYLA2 にとって、あるいはデリバティブに依存しないオプティマイザーにとっては困難かもしれません。アルゴリズムが最適に収束するのに十分なスペースを確保するために、多数の目的関数計算を許可していることを確認してください。
勾配ベースのアルゴリズムを検討する場合は、IPOPTをお勧めします。IPOPT は C++ で実装されていますが、JNI を介したJava インターフェイスは公式ディストリビューションの一部です。
于 2013-06-07T13:08:38.823 に答える
2
変数の値の範囲が離散的である場合: OptaPlannerは、多変数の非線形最適化を実行できる Java ライブラリでもあります。最大 50000 個の変数 (それぞれ 5000 個の値) の例があります。
于 2014-02-17T13:50:49.127 に答える