Я использую OPL в CPLEX 12.9
В моей модели у меня есть эти два dvar boolean, X[p][t] и Y[t].Я хочу написать:
X[p][t]
Y[t]
(Y[t] == 1) => (X[u][t] == 0);
Но также возможно, что
(Y[t] == 0) && (X[u][t] == 0);
Но это не работает.Я надеюсь, что у кого-то есть идея.
, если вы напишите
, единственный невозможный сценарий -
(Y[t] == 1) && (X[u][t] == 1);
Условие (y [t] == 1) => (x [u] [t] == 1) можно выразить с помощью следующего линейного ограничения.
y[t] + x[u][t] <= 1
Пока у и х являются двоичными файлами.Если y [1] равно 1, то x [u] [t] может принимать значение только 0. Если y [t] равно 0, x [u] [t] может быть либо 0, либо 1.