1

単純な最適化の問題があり、そのための Java ソフトウェアを探しています。

Apache 数学最適化ソフトウェアは、私が欲しいものと同じように見えますが、私のニーズに合ったドキュメントを見つけることができません (これらのニーズは、初心者/非数学の専門家に役立ちます!)

機能した単純な例を知っている人はいますか?

それが役立つ場合、問題は最大rを見つけたいということです

r1 = s1 * m1

r2 = s2 * m2

また、変数間の関係を定義するための制約と式がいくつかあります。Excel ソルバーは、この問題に対してうまく機能します。LPSolve はうまく機能しましたが、この問題には s と m の乗算が必要なので、問題が非線形になるため、LPSolve は役に立たないことを理解しています。

4

2 に答える 2

1

私は最近、導関数のない非線形制約付き最適化コード COBYLA2 を Java に移植しました。このアルゴリズムは導関数に明示的に依存していないため、大規模な問題ではかなりの回数の反復が必要になる場合があります。それにもかかわらず、非線形目的関数と (潜在的に) 非線形制約の両方を使用して問題を定式化することができます。

詳細については、こちらからソース コードをダウンロードしてご覧ください。

于 2012-06-14T08:42:28.480 に答える
0

単純な Java ベースの NLP ソルバーについては知りません。( Apache Math Worksで二次計画法 (QP) の例を見つけましたが、数学以外の専門的な例を求めているため、資格がありません。)

非線形プログラムを解くための 2 つの提案があります。

1.. ExcelSolverには、非線形の問題に取り組む能力があります。(LPSOLVE は使用しないでください。) 実際、NLP はソルバーの既定のモードです。

Excel を使用して NLPを解決するための 2 つのリンクがあります。

また、Excel については、Paul Jensen (utexas) のORMM Add-in の. 彼はTeach NLPというモジュールを持っています。彼の本の第 10 章は NLP を扱っており、彼のサイトから入手できます。

2.. ある程度のデータ分析を行う場合は、R の基本をダウンロードして学習するために数時間を費やすことをお勧めします。R には、最適化のための多数のパッケージとライブラリがあります。非線形プログラムを解くのに適していますoptim()nlme

完全を期すために、他のオプションとしてSASMATLAB、およびCPLEXについて言及します。これらのいずれかにアクセスできる場合、それらはすべて非線形プログラムを解くのに非常に優れた仕事をします.

これらの指針が役立つことを願っています。

于 2012-02-04T18:04:53.923 に答える