在 CPLEX 中创建布尔约束
create boolean constraints in CPLEX
我在 CPLEX 12.9 中使用 OPL
在我的模型中,我有这两个 dvar 布尔值,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] == 0);
唯一不可能的情况是
(Y[t] == 1) && (X[u][t] == 1);
条件(y[t] == 1) => (x[u][t] == 1)可以用下面的线性约束来表示。
y[t] + x[u][t] <= 1
只要y和x是双星。如果y[1]为1,则x[u][t]只能取0。如果y[t]为0,则x[u][t]可以为0或1。
我在 CPLEX 12.9 中使用 OPL
在我的模型中,我有这两个 dvar 布尔值,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] == 0);
唯一不可能的情况是
(Y[t] == 1) && (X[u][t] == 1);
条件(y[t] == 1) => (x[u][t] == 1)可以用下面的线性约束来表示。
y[t] + x[u][t] <= 1
只要y和x是双星。如果y[1]为1,则x[u][t]只能取0。如果y[t]为0,则x[u][t]可以为0或1。