SCIP:通过交互式shell解决QP问题

时间:2016-08-05 13:17:46

标签: 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>

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

固定的第一个例子是

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

另请参阅CPLEX手册,了解.lp文件格式的规范。