0

コンパイル済みのバイナリ ファイル (インタラクティブ シェル) を介して QP を解決することは可能ですか?

いくつかのサンプルを試しましたが、どれも機能しませんでした。何か不足していますか?

Minimize
obj: a + b + [ a^2 + 4 a * b + 7 b^2 ]
Subject To
c1: a + b >= 10
End

これで、次のメッセージが表示されます。

[src/scip/reader_lp.c:147] ERROR: Syntax error in line 3 ('Subject'): expected '/2' or '/ 2' after end of quadratic part in objective. 
  input: Subject To
               ^
[src/scip/reader_lp.c:3362] ERROR: Error <-2> in function cal

もう一つの例:

Maximize
 obj: x1 + 2 x2 + 3 x3 + x4
Subject To
 c1: - x1 * x3 + x2 + x3 + 10 x4 <= 20
 c2: x1 - 3 x2 + x3 <= 30
 c3: x2 - 3.5 x4 = 0
Bounds
 0 <= x1 <= 40
 2 <= x4 <= 3
General
 x4
End

出力メッセージは次のとおりです。

[src/scip/reader_lp.c:147] ERROR: Syntax error in line 4 ('x3'): expected sign ('+' or '-') or sense ('<' or '>'). 
  input:  c1: - x1  x3 + x2 + x3 + 10 x4 <= 20
                       ^
[src/scip/reader_lp.c:3362] ERROR: Error <-2> in function call
error reading file <sample.lp>
4

2 に答える 2

1

.pip 形式 ( http://polip.zib.de/pipformat.php ) を試してみてください。これは .lp に似ていますが、二次方程式の指定に関してはそれほど厄介ではありません。

于 2016-08-05T13:35:13.690 に答える
1

修正された最初の例は次のようになります

Minimize
obj: a + b + [ 2 a^2 + 8 a * b + 14 b^2 ] / 2
Subject To
c1: a + b >= 10
End

固定された 2 番目の例は次のようになります。

Maximize
obj: x1 + 2 x2 + 3 x3 + x4
Subject To
c1: x2 + x3 + 10 x4 + [ - x1 * x3 ] + <= 20
c2: x1 - 3 x2 + x3 <= 30
c3: x2 - 3.5 x4 = 0
Bounds
0 <= x1 <= 40
2 <= x4 <= 3
General
x4
End

.lp ファイル形式の仕様については、CPLEX のマニュアルも参照してください。

于 2016-08-05T15:55:49.157 に答える