如何在Cplex中编写这些约束

  • 本文关键字:约束 Cplex cplex
  • 更新时间 :
  • 英文 :


我正在编写一个模型,以最大限度地降低总体成本,但当我想注销天数限制时,我遇到了一个问题,限制如附图所示。我的问题是如何在Cplex中编写这些约束?

休息日限制*单击超链接打开约束图片。

w: 代表工人s: 代表轮班d: 代表天数

提前谢谢。

您可以使用逻辑约束:

int  n=10;
range Days=1..n;
dvar boolean X[Days];
dvar boolean O[Days];
subject to
{
forall(d in Days:d+1<=n) (O[d]==1)=>(0==sum(i in d..d+1) X[i]);
forall(d in Days:d+6<=n) (O[d]==1)=>(0==sum(i in d+1..d+6) X[i]);
}

最新更新