微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为调度问题编写一个约束,以具有相同类型的连续课程

如何解决为调度问题编写一个约束,以具有相同类型的连续课程

生成时间表的工具我的模型如下:

for l in lessons:
 for r in rooms:
  for t in timeslots:
    tables[(l,r,t)] = model.NewBoolVar('table %s/%s/%s' % (l.subject,t))

我对星期五有一定的限制,应该有 2 节阿拉伯语课和 2 节法语课和 1 节数学课,而星期五只有 5 到 6 节课。

下图显示了某些组的良好结果及其应该如何(蓝色部分只是暂停而不是会话):

enter image description here

enter image description here

这对某些群体来说是糟糕的结果:

enter image description here

enter image description here

enter image description here

所以我想要一个约束,保证结果与前两个图像的结果相似,这意味着例如两个 Ar 课程不应彼此相距很远,并且如果 MATHS 介于两者之间,则 Fr 需要顺序相同的东西其中之一。

感谢任何帮助并提前致谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。