如何将两个元素放在同一个序列中?

How to put two elements in the same sequence?

我想强制 CP Optimizer 中的灵活作业车间示例模型,如果将特定 mode/element 放入序列中,则后继者也必须放入相同的序列中,这意味着在这种情况下必须在同一台机器上完成。我怎样才能创建这样的条件? 预先感谢您的帮助!!

dvar sequence mchs[m in Mchs] in all(md in Modes: md.mch == m) modes[md]

minimize max(j in Jobs, o in Ops: o.pos==jlast[j]) endOf(ops[o]);
subject to {....}

如果op_1op_2表示必须分配给同一台机器的两个操作,如果mode_1_imode_2_i表示表示分配的可选区间变量op_1(resp. op_2)在机器 i 上,那么您需要做的就是发布一个约束:presenceOf(mode_1_i)==presenceOf(mode_2_i).