是否可以通过预编译的二进制文件(交互式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>
答案 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文件格式的规范。