1
我的模型文件中存在以下问题:我想CPLEX解算器首先在括号内执行操作,然后相乘。正如通常的数学.... 但是当我运行这个约束我的模型文件:AMPL中的操作顺序
subject to c4a {e in E, k in K, o in O}:
f[k,o] = 0
==>
delta[e,k,o] - p[k,e] * (sum{l in K}(b[l,e]*(1-f[l,o]))) = 0
else
delta[e,k,o] = 0;
其中,E,K,O是一组; delta,f是二元变量;休息是参数。我用前面的括号说明了问题:“(1-f [l,o])”。当我试图解决例如数据文件,我收到以下错误:
CPLEX 11.2.0: logical constraint _slogcon[1] is not an indicator constraint.
expand _slogcon[1];
subject to c4a['1_2',2,'o1']:f[2,'o1'] == 0 ==> delta['1_2',2,'o1'] - (3 - f[2,'o1'] - f[3,'o1'] -
f[4,'o1']) == 0 else delta['1_2',2,'o1'] == 0;
这里可以看到,从支架由B [L,E]第一个乘法元素CPLEX解算器,然后尝试添加它们。我的问题是:如何避免这种情况?