Можно ли использовать в условных операторах AMPL, таких как «if (...) then ...»? Ниже показано, как я пытался это сделать.Использование условных операторов для распознавателя CPLEX
subject to c1a {k in K, o in O, n in N: n!=t[k,o]}:
sum{e in E}
(a[n,e]*x[e,k,o]) -
sum{e in E}
(b[n,e]*x[e,k,o]) =
(if (r[n,k]==1 and f[n,o]==1)
then d[k,o]*(1-f[k,o])
else 0);
Мои Ampl возвращаются ко мне ошибку следующим образом:
CPLEX 11.2.0: Constraint _scon[1] is not convex quadratic since it is an equality constraint.
У вас есть какие-либо идеи хо разрешить эту проблему?
краткой информации: индикатор ограничения поддерживает только двоичные переменные –