3

論文からプログラミングの定式化があり、特定の問題を解決するためのツールを提供したいと考えています。著者はそれを線形計画法 (LP) インスタンスと述べていますが、私にはよくわかりません。公式は次のようになります。

max x1+x2+x3...

s.t.

x1.x3+x4.x5 <= 10

x2.x5+x3.x7+x1.x9 <=10

...

関数を介してプログラムしようとしましたcplexqcp(二次制約のためですが、制約にはx_i^2変数が含まれていません)。しかし、私は受け取りCPLEX Error 5002: Q in %s is not positive semi-definite errorます。これは非凸制約を伴う非線形計画法のインスタンスですか? ツールで解決しCPLEXたり、ツールを使用したりできNLPますか? 私はスタッフの初心者ですLP/NLP(スタッフに関するコースは受講していません)ので、質問の回答の詳細を説明するのを本当に歓迎します.

本当にありがとう。

4

1 に答える 1

3

あなたが投稿した問題には、変数 x1、x2、および x3 のドメインに関する情報が必要です。

それらが連続的である場合、 x1*x2 の表面は非線形であるため、問題を線形計画法 (LP) として表現する方法はありません。

積変数の少なくとも 1 つがバイナリ (整数) である場合、積はここで説明されているように線形化できます (したがって、混合整数プログラムがある場合)。これは、上記の積の「境界」が線形であるためです。

Cplex は基本的に、二次問題のいくつかのクラスを解くことができます。エラーメッセージから判断すると、問題はそこにはありません。したがって、この問題を解決するには、おそらく汎用の NLP ソルバーに固執する必要があります。ソルバーのサンプル リストはここにあります。これらはすべて、ソフトウェア AMPL によってトリガーすることも、スタンドアロンで使用することもできます。私はここでは専門家ではないので、どのソルバーがあなたの問題に適しているかアドバイスすることはできません.

よろしく、マーティン

于 2014-03-12T08:26:02.160 に答える