问题是这样的:
一所学校有不同的班级。每节课都有每周安排(8 小时英语、6 小时数学、2 小时美术等)。每位教师在一部分课程中都有一定的小时数。(我猜学校几乎到处都是这样)。
可以添加一些额外的约束,例如:
- X老师星期一不上班
- Y老师在某个班级需要连续两个小时,以此类推。
目标是找到一个优化约束成本函数的时间表。
最后,我猜这是一个经典的 NP 问题。它可以使用空间状态搜索来解决(我们尝试所有可能的组合,使用一些智能的搜索方式,我们选择可能的最佳解决方案)。
这可行吗?(组合是巨大的,对于 10 节课和每节课 30 小时和 7 门科目来说,即使可以进行一些实质性的修剪,它也大约是 10^253:我猜 SAT 求解器可以处理类似的事情)。
是否有任何替代方法可以完成搜索,即使是近似的?