如何在IBM CPLEX MILP文件中乘以约束变量?

时间:2015-10-28 13:12:05

标签: variables constraints multiplication cplex quadratic

使用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 '*'.

有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

听起来你正试图解决MIQCP

LP file format: algebraic representation的文档中,我们有以下内容:

  

本节允许使用二次约束。二次项是   在方括号[] ....

中指定

在二次术语一节中,它说你可以在方括号内使用星号(*)和插入符号(^)。