1

我正在使用choco solver 4.0.5(到现在为止的最新版本)和网络上的几个示例,除了没有考虑到我的需要之外,还使用旧版本。
我绝对是 choco solver 的初学者,在网络上进行了非常艰苦的搜索之后,我来到这里寻求帮助。

我有以下变量域:
一年中的天数: 1(表示 1 月 1 日)、35(表示 2 月 4 日)、58、56、125、142、168、225、360、364 ...... 人员 ID: 789111, 789555、78496、879...

我需要创建一个约束,以便人们不会连续几天关联,而是以平衡的方式交替它们,例如:

1 = 789111
35 = 789555
58 = 789496
56 = 879
125 = 789111
142 = 789555
168 = 789496
225 = 879
360 = 789111
364 = 789496 (the 789555 is unavailable here)

我如何在 choco solver 4.0.5 上表示这个?
谢谢你们!!

4

1 回答 1

0

随着时间的推移均匀分布事件并不是一件容易建模的事情。一个简单的“代理”是:禁止人们在临近的日子工作。例如,至少间隔两天。这可以建模为:

worker w works at t => w cannot work at t+1 and t+2 

如果您将其建模为x[w,t]=1当且仅当 w 在 t 工作时,则变为:

x[w,t]=1 => x[w,t+1]=0 and x[w,t+2]=0 
于 2017-11-14T19:21:15.973 回答