我有以下问题要解决,或许你可以就解决问题的方法给我一些想法:
有:
2天。
每一天:
每位教师占用一个教室
进一步限制: - 对于每个父母,所有约会必须是连续的(暂停最多1小时) - 每位家长只需要一天访问学校。 - 对于每位教师,当天的所有约会必须是连续的(暂停最多2小时) - 在16名教师中,3名教师只能参加为期两天。
我正在尝试找到一种方法来制定约会时间表,显然无需计算所有可能的变化,直到满足所有要求。有什么想法吗?
答案 0 :(得分:1)
您需要更多地定义约束;即,学生与教师之间的关系是什么?学生和家长之间有什么关系?父母是否必须单独预约,或者单身学生的父母是否可以与单一老师见面?
我会用初始(测试中)天真的方法来解决这个问题。只需选择最高限制资源(看起来像两天中只有一天可以出现的教师),使用第一个可用资源安排那些资源,然后继续浏览资源集,使用匹配的第一个可用资源调度它们他们的约束,看看你是否可以安排整套。如果没有,您需要找到您的限制资源,并在匹配中应用一些启发式方法,以找到优化这些有限资源的最佳方法。
这是一个棘手的问题;玩得开心!
答案 1 :(得分:0)
查看ITC2007的课程课程轨迹及其在Drools Planner或unitime中的实施情况。他们都使用元启发式算法,如禁忌搜索和模拟退火。