约会调度算法

时间:2010-11-11 17:19:45

标签: algorithm language-agnostic mathematical-optimization

我有以下问题要解决,或许你可以就解决问题的方法给我一些想法:

有:

  • 8间教室
  • 16位老师
  • 201名学生
  • 149位父母
  • 241次预约(大多数家长需要看多位老师,要么是因为有一个以上的孩子,要么是因为一个孩子是由两位或更多老师教授的)
  • 2天。

  • 每一天:

    • 7间教室每天可供20小时使用。
    • 每天有10个小时的教室。
  • 每位教师占用一个教室

  • 每次约会持续一小时

进一步限制: - 对于每个父母,所有约会必须是连续的(暂停最多1小时) - 每位家长只需要一天访问学校。 - 对于每位教师,当天的所有约会必须是连续的(暂停最多2小时) - 在16名教师中,3名教师只能参加为期两天。

我正在尝试找到一种方法来制定约会时间表,显然无需计算所有可能的变化,直到满足所有要求。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您需要更多地定义约束;即,学生与教师之间的关系是什么?学生和家长之间有什么关系?父母是否必须单独预约,或者单身学生的父母是否可以与单一老师见面?

我会用初始(测试中)天真的方法来解决这个问题。只需选择最高限制资源(看起来像两天中只有一天可以出现的教师),使用第一个可用资源安排那些资源,然后继续浏览资源集,使用匹配的第一个可用资源调度它们他们的约束,看看你是否可以安排整套。如果没有,您需要找到您的限制资源,并在匹配中应用一些启发式方法,以找到优化这些有限资源的最佳方法。

这是一个棘手的问题;玩得开心!

答案 1 :(得分:0)

查看ITC2007的课程课程轨迹及其在Drools Planner或unitime中的实施情况。他们都使用元启发式算法,如禁忌搜索和模拟退火。