论文部分内容阅读
约束规划问题是解决来自很多领域的约束问题的一个工具。他的主要优点是使用变量之间的关系来精确的描述了约束问题,他基于强大的理论基础,通过评价,建模和优化来解决广泛的实际应用领域的问题。时间调度问题是约束规划中的一个典型,他通过在满足各种约束的情况下,将事件合理的安排到特定的空间和时间内。一个典型的约束就是多个事件使用同样的资源(比如教师,教学器材等),但是这些资源不能同时被不同的事件使用,或者一个资源可以同时被特定的几个事件使用等。该类问题是一种NP完全问题,也就是NP中的某些问题的复杂性与整个类的复杂性相关联。伴随着国家对教育越来越重视,国内无论是基础教育,职业教育还是高等教育对教学质量的要求越来越高,师生对于课表的个性化的需求也越来越多。尤其是现在国家对基础教育开始实现了高考改革,要求六选三或者七选三,高等教育扩招后排课规模上升,在这样的需要体现教育个性化并且规模明显提升的背景下,如何进行个性化的,高效的排课是摆在教育工作者面前的一个难题。目前许多研究排课的算法主要以基于图的遍历算法,贪心算法、回溯法以及基于概率的随机算法等用于解决NP完全问题的算法应用于排课问题,取得了一定的效果,但是随着个性化的需求增多,排课规模的上升,这些算法越来越难以满足现实需求。迭代向前搜索算法是在国外研究应用比较多的一种算法,国外的排课引擎中也较广泛的使用了该算法,但在国内针对该算法的应用和研究相对还是少。本文首先分析了排课算法的基本模型,以及对应算法的解决思路,并在此基础上进行了相应的优化,并最终形成排课引擎。主要工作内容如下:(1)讨论了排课问题的基本问题描述以及模型是如何构建的,常见的解决问题的算法有哪些,迭代向前搜索算法的算法框架结构以及相应的知识。(2)针对目前国内各个阶段的学校在排课的过程中面临的主要问题,提出了两点优化策略,主要是通过冲突统计算法和动态弧相容算法来提升系统的运行性能和抗扰动能力。(3)针对算法以及优化策略进行了实现,并通过大量的实验对比分析算法性能提升的情况,证明了优化策略的可行性。