如何在cplex中强制布尔变量等于零



我有一个Q[b][j]变量,它决定了批处理1必须处理多少个作业如果它参与一个或多个批处理1的作业,Y[b][j]必须是1。Y[b][j]是布尔值。我试过这个对于所有(J中的n,B中的p(Q[p][n]-9999*Y[p][n]<0;但我认为这是行不通的,因为当Q[b][j]等于0时,Y[b][j]不必是0。Cplex可以将1分配给Y[b][j]。

当Q[b][j]等于0时,我如何强制Y[b][j]值为0。

您可以使用逻辑约束:

forall (n in J,p in B)
Y[n][p] == (Q[n][p]>=1);

最新更新