排课系统的开发和实现摘要要完成一所大学或者一个学院的课程安排是一件非常复杂的问题,如果用人手工进行安排的话,需要极大的精力和时间
而在排课的时候,需要考虑的范围,涉及到教师、课程、教室还有班级情况等等
而在现今的大学排课过程中,整个学校需要考虑的教师,课程信息是成百上千,排课问题由此变为一个异常复杂的组合问题
所以在现实世界的应用中,排课问题的所有排列组合对于人类来说几乎可以被认为是一个天文数字
而一个可以被接受的排课方案是一个满足排课所有制约性要求的方案
在此基础上,如果有人希望能通过一些启发性的设定而得到一个更为优化(更为合理,美观,更为符合人的习惯)的排课方案的话,则这个问题就会变得超乎寻常的困难
所以迄今为止,为了能够用计算机自动完成排课任务已经进行了非常多的尝试
排课的本质问题是将大量的课程安排进有限的上课时间和教室中,与此同时还会涉及到任课老师和学生班级等各种因素互相制约的影响
通常来说,排课中涉及的变量越多,则排课问题就会越复杂
而本课题的排课研究涉及的排课环境是上海交通大学的网络学院
网络学院的排课是排课问题中的一个全新的领域
因为,在网络学院中,教室有了多媒体,视听等各种新的属性,而这在传统的排课问题中是没有的
而且,网络学院的上课时间也更具多样性
不同的专业,有的每天上午最多只能排4节课,而有的专业却可以安排5节课
时间标准的多样性,教室属性的多样性,使得网络学院的排课问题需要考虑更多的因素,从而给排课提出了更高的要求
本文所做的研究工作先是比较了一下当今比较流行的集中排课算法,如线性算法、遗传算法、限制逻辑(CLP)编程等等算法各自的优缺点和适用性
并且,在此基础上,本文针对网络学院排课更为特殊的要求,提出了一个新的算法
最终,基于本文所提出的这个算法,开发出了一个全新的排课模型,使其不但能适应普通的排课环境,还能够很好地满足网络学院更为特殊的排课要求