会议 Session 调度算法

Conference Session Scheduling Algorithm

我正在做一个个人项目,我需要一些帮助来让我的想法直接关于调度算法。

假设您正在主持一个会议:

理想情况下,基本时间表将是以下两种变体之一(唯一的区别是他们参加的讲座和时间):

我有一份员工名单,我可以根据需要构建 "session" 信息表。但最后我需要能够遍历员工,找出一个时间表,然后存储它,以便我们稍后打印。

你会怎么做?我非常乐意详细介绍其他限制/要求。

因为我们想要的时间表类型的参数非常简单:

  • 9am - noon: 3 workshops, a break, and a lecture (either A or B) 1pm
  • 4pm: 3 workshops, a break, and a lecture (either B or C)

OR

  • 9am - noon: Lecture (either A or B), a break, 3 workshops
  • 1pm - 4pm: Lecture (either B or C), a break, 3 workshops

这意味着我们可以生成的排列数量有限。我们解决这个问题的方法是为每个排列生成一个示例时间表(在我们的例子中,大约有 16 个不同的时间表),然后打印足够的副本并在员工到达时随机分发。