2

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

有:

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

  • 对于每一天:

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

  • 每次约会持续一小时

进一步的限制: - 对于每位家长,所有约会必须按顺序进行(最多暂停 1 小时) - 每位家长只能访问学校一天。- 对于每位教师,一天内的所有约会都必须是连续的(最多暂停 2 小时) - 在 16 名教师中,3 名只能在两天中出席。

我正在尝试找到一种方法来生成约会时间表,显然在满足所有要求之前不必计算所有可能的变化。有任何想法吗?

4

2 回答 2

1

您需要更多地定义约束;即,学生和老师之间的关系是什么?学生和家长之间是什么关系?家长必须单独预约,还是允许单个学生的家长与单个老师一起见面?

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

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

于 2010-11-11T17:31:39.733 回答
0

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

于 2010-12-22T22:15:32.320 回答