SCIP:通过交互式shell解决QP

问题描述:

是否可以通过预编译的二进制文件(交互式shell)解决QP?SCIP:通过交互式shell解决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> 

也许尝试.pip格式(http://polip.zib.de/pipformat.php)。这与.lp类似,但在指定quadratics时不那么尴尬。

+0

很棒的建议! Quadratics现在可以工作! – Daniel

固定的第一例子是

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

固定的第二例子是

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手册。