我正在研究一个简单的应用程序,它将为学校生成时间表(每日计划)。我已经阅读了算法的基础知识,但从哪里开始感到困惑。
使用哪种算法为学校生成时间表
问题:
分配老师考虑到了很多限制类相似:
1)除
2)教师
3的专长)持续不超过2类..等
不言而喻,不应该有重叠。基本上我需要每天为固定数量的工作时间分配N个教师到M班(8)。
的输入:
1)总与他们的专门知识的沿的类
2)教师数
3)的受试者/每一类
4)每天每类讲座数
5课程)像每天老师,每每周老师总工作小时最低/最高工时等
我的问题等柔性约束:
1)它是正确的把它看作是带有多重约束的分配问题?
2)我应该使用哪种算法? (匈牙利算法?)
3)我应该从一开始就得到整套约束,然后生成表格,还是应该在中间步骤完成?
我是初学者学习/实现算法,所以任何帮助指向我在正确的方向赞赏!谢谢。
我发现了一个PostScript文件,讲述了一个**禁忌搜索**(http://en.wikipedia.org/wiki/Tabu_search)算法,用于为教师分配课程(http://www.uv.es/sestio /TechRep/tr01-01.ps)。这主要是数学启发式。我希望它给你一些方向。 – 2010-02-21 05:57:42
这是重复的。几周前我回答了这个问题:http://stackoverflow.com/questions/2177836/algorithm-for-creating-a-school-timetable – 2010-02-21 07:17:03
@Stefano,无价的链接!谢谢 – Checksum 2010-02-21 12:09:51