cplex中一个约束条件表达式既有连续变量又有离散变量该如何处理?

利用matlab中cplex求解器求解的时候,其中问题中的一个约束表达式既含有连续变量又有离散变量该如何处理,比如Constraints = [Constraints, 0<= p,p <= pB],其中p是连续变量,pB是0-1变量。

第1个回答  2022-01-28
用OPL语言在CPLEX Studio IDE上解一些较为复杂的线性规划问题时,有时会用到条件约束,在其他语言体系下用 if 可以很简便地表达出来,但在CPLEX Studio IDE里,if 的判断条件不能包括决策变量,带来了很多麻烦,这里提供一种解决方法:
比如当 q[t-1]<=u[t] 时, u1[t] == q[t-1]

我们可以直接表达为:
(q[t-1]<=u[t]) => u1[t] == q[t-1];
第2个回答  2022-01-28
用OPL语言在CPLEX Studio IDE上解一些较为复杂的线性规划问题时,有时会用到条件约束,在其他语言体系下用 if 可以很简便地表达出来,但在CPLEX Studio IDE里,if 的判断条件不能包括决策变量,带来了很多麻烦,这里提供一种解决方法:
比如当 q[t-1]<=u[t] 时, u1[t] == q[t-1]

我们可以直接表达为:
(q[t-1]<=u[t]) => u1[t] == q[t-1];