使用IBM CPLEX,我很难运行MILP文件,关于我想添加以下行的约束:
Subject to
a_1 P_1 + 22.62 b_2 + a_2 P_2 + 24.87 b_2 - P_3 + A = 0
对于这种情况,CPLEX运行,但在某些情况下,某些变量被“粘合”(截断),如下所示:
<variable name "a_1P_1" index="63" value"0" reducedCost="3.71741848184e-06"/>
试图解决“卡住变量”这个问题,我决定用星号(*)来表示两个未知变量的乘法,例如:
Subject to
a_1*P_1 + 22.62 b_2 + a_2*P_2 + 24.87 b_2 - P_3 + A = 0
但在这种情况下,CPLEX会返回错误:
CPLEX Error 1608: Line 7:Expected '+','-' or sense, found '*'.
有谁知道如何解决这个问题?
答案 0 :(得分:0)
听起来你正试图解决MIQCP。
在LP file format: algebraic representation的文档中,我们有以下内容:
本节允许使用二次约束。二次项是 在方括号[] ....
中指定
在二次术语一节中,它说你可以在方括号内使用星号(*)和插入符号(^)。