论文部分内容阅读
随着高等教育的快速发展,大学的规模在不断的壮大,这就使得教学资源日趋紧张,进而给教学调度带来了新的挑战。教学调度问题因其问题规模大、约束条件多、相互关系比较复杂而成为优化领域和人工智能领域的研究热点之一,其中基于对生物进化进行模拟的算法是当前研究该问题中使用的最广泛也是最成功的方法之一,在理论研究和具体实践中都取得了快速的发展。随着问题规模的增大,排课问题虽然是教学调度问题中最重要的问题,但单纯考虑排课问题的优化显得不够充分,因为教学调度各个阶段之间的相互影响是不可被忽略的。如果对该问题进行整体考虑,相关算法过程也需要进行适当的改变以满足问题的要求;同时以往的系统大多针对一些特定的问题,在普适性方面有很大的局限性。基于这些问题,本文通过对教学调度问题的整体描述,详细分析了教学调度各个阶段之间的关系,特别是合班方案对排课结果的影响,提出了综合考虑的优化方案。对于这种方案,文章提出了基于染色体自交叉的退火Memetic算法进行最优排课方案的求解,并根据约束条件对算法中的适应度值函数进行了灵活的设计,进而基于Banach压缩映射定理证明了算法的收敛性。主要研究如下:1.将教学调度各阶段作为一个整体进行了讨论,并分析了教学调度各个阶段的相互影响以及教学工作的整体数据流程。对各阶段之间的关系分析可知合班问题作为排课的前置问题对排课有着较为明显的影响,进而提出了通过寻找最优的合班方案以便于排课算法的顺利运行。2.对教学调度合班问题进行了建模并采用进化算法求解最优的合班方案。在合班问题的建模中,首先对求解排课问题有利的合班方案所具备的特点进行分析并根据这些特点得出问题的适应度值函数,然后通过深度优先算法求解出每个个体的适应度值,最后采用退火Memetic算法求解了最优合班方案。3.详细研究了教学调度排课问题并建立了该问题的模型。通过对问题的分析,我们首先根据问题的约束条件定义了适应度值函数,本文定义的适应度值函数只包括柔性约束,因为对那些不满足刚性约束的个体将直接在计算过程中剔除;这种定义方式一方面避免了对不可行解的过多关注,另一方面具备了一定的灵活性及扩展性,在约束条件发生变化的情况下只需对适应度值函数进行相应的修改即可。然后基于退火Memetic算法对问题进行了迭代求解,以获得最优值。在求解的过程中,根据问题的特点,本文定义了相应的个体表现形式,交叉、变异等遗传操作算子以及局部搜索的方法。同时为了提高算法的效率,降低可能存在的修补压力,提出在交叉操作时以自交叉代替了个体之间的交叉。4.采用学校某一学期的真实数据集分别对求解合班的算法和求解排课的算法进行了不同参数条件下的实验,实验结果表明了算法的有效性。通过与之前的排课结果进行对比可知,算法在排课结果的满意度以及算法的效率方面都有了一定的改善。最后通过Banach压缩映射定理证明了基于最优保留策略的退火Memetic算法是收敛的。