我尝试使用GurobiTM优化器。请在下面找到我的QP模型:
Gurobi并行混合整数规划求解器最常解决的问题是:目标:最小化cT x约束:a x=b(线性约束)l≤x≤u(有界约束)一些或所有xj必须取整数值(完整性约束)
Maximize
- x1 + .5 x2 + .5 x3 + x4 - x5 + .5 x6 + .5 x7 - x8
- .17 x1 * x2 + .66 * x1 * x3 + .66 x1 * x4
+ .56 x2 * x3 + .49 x2 * x4
- .17 x5 * x6 + .82 x5 * x7 + .66 x5 * x8
+ .16 x6 * x7 + .49 x6 * x8
Subject To
c1: x1 + x5 <=1
c2: x2 + x6 <=1,
c3: x3 + x7 <=1
c4: x4 + x8 <=1,
c5: x1 + x2 + x3 + x4 <= 2
c6: x5 + x6 + x7 + x8 <= 2
Bounds
0 <= x1 <= 1
0 <= x2 <= 1
0 <= x3 <= 1
0 <= x4 <= 1
0 <= x5 <= 1
0 <= x6 <= 1
0 <= x7 <= 1
0 <= x8 <= 1
Integers
PS PD JS JD AS AD MS MD
End
It seems that according to Gurobi Interactive Shell the syntax is not correct :
Error reading LP format file /.../toyproblem.lp at line 2
Malformed term in expression
Neighboring tokens: " - .17 x1 * x2 + .66 * x1 * "有什么想法吗?
提前感谢你的帮助,
MM.。
发布于 2017-03-02 01:01:40
这不是一个线性规划(LP) --它是一个二次规划(QP),它不是以标准形式编写的。此外,编写二进制变量的乘积是非常糟糕的形式;您应该引入新的二进制变量来表示逻辑条件。例如,将w1 * w2替换为带有约束的新变量z <= w1,z <= w2,z >= w1 + w2 - 1。
发布于 2017-11-25 15:45:07
错误出现在第三行:- .17 x1 * x2 + .66 * x1 * x3 + .66 x1 * x4它应该是:- .17 x1 * x2 + .66 x1 * x3 + .66 x1 * x4
记录在案。Gurobi确实处理QP,它叫它simplex...尽管我们知道它并不是真正意义上的单形。他们使用了一种叫做“活动集方法”的方法。
你可能想在他们的google组中发布问题。他们在那里的一天内回答:)
https://stackoverflow.com/questions/42537439
复制相似问题