1、摘要 I 摘要摘要 随着科学技术和社会信息技术的不断提高,计算机科学的日渐成熟,其强 大的功能已为人们深刻认识,它在人类社会的各个领域发挥着越来越重要的作 用,给人们的生活带来了极大的便利,成为推动社会发展的首要技术动力。排 课是学校教学管理中十分重要、又相当复杂的工作之一。解决好教学工作中的 排课问题对整个教学计划的进行,有着十分重要的意义。首先对排课的已有算 法作了相关的调查研究,决定采用遗传算法。通过设计实现基于遗传算法的自 动排课系统,研究了遗传算法在排课系统中的应用。 关键词:遗传算法、自动排课、Java。 Abstract II Abstract Along with scienc
2、e technical and community information technical increases continuously, calculator science is gradually mature, its mighty function has behaved deep cognition, and it has entered the human social each realm erupts to flick the more and more important function, bringing our life biggest of convenienc
3、e. Curriculum arrangement is an important and complicated working in school, so solving the problem is of great importance for teaching programming. Investigated and studied the algorithm existed, determine that adopt genetic algorithm. Through Design Implementation the Auto Course Arrangement Manag
4、ement System Base on Genetic Algorithm, researched the application of genetic algorithm in the Course Arrangement Management System. Keywords: Genetic Algorithm Auto Course Arrangement Management Java. 第一章 绪论 1 第一章第一章 绪论绪论 1.11.1 排课排课系统研究背景系统研究背景 排课是学校教学管理中十分重要、又相当复杂的管理工作之一,其实质就是 为学校所设置的课程安排时间和地点,从而
5、使整个教学能够有计划有秩序的进 行。迄今为止,对课程表的研究工作已经进行了长达四十多年之久,取得了丰硕 的成果。但是,仍然存在许多不足之处,例如规模大、约束(条件)复杂以及规律 不断变化等,因此课程表问题至今仍未完全解决。课程表的编排是一个涉及多种 因素的组合规划问题, 它要保证在课程安排中教师、 学生、 教室不能产生冲突(所 谓冲突,就是将需上不同课程的两个或多个班安排在了同一时间、同一教室,或 为同一教师在同一时间段安排了多门课程等情况),并且要满足教师的要求和资 源限制等约束条件。 目前,国内的大部分学校仍然采用手工排课的方法。手工排课工作的主要手 段是“摆牌”,就是在一个画有空课表的版
6、面上将有课名的小牌摆在适当的位置 上,边摆边观察,边调整,凭借经验将各门课摆在合理的位置上,最后形成一个 有效的课程表。这种办法没有一定的规律,没有理论指导,更没有数据模型,具 有很大的盲目性。所以,要为上千名学生和上百名教师安排出合理的课程表,往 往需要花费教务处人员很多的时间,工作量大,排出的课程表不宜调整。 随着中国教育体制改革的不断深入,学生人数的不断上升,课程设置不断向 深度和广度发展,手工排课的缺点就越来越突出。由于计算机具有运算速度快、 处理能力强等特点,很自然地就进入到这一应用领域中。用计算机进行排课能够 快速地得到满足约束条件的可行结果, 具有排课时间短、 省人力和质量高的优点, 不但能使教务人员从繁杂的排课任务中解脱出来, 而且对于推动教学的发展也起 到非常重要的作用。 每个学期开学时,教务管理工作中的课程表安排问题,都是教务处面临的一 项艰巨任务。排课问题是一个非常棘手却又亟待解决的问题,通常都是使用传统 的人工手动排课方法。手工排课不仅劳动强度大,而且排课效率低,很难排出一 个让人满意的课程表。时间,教师,教室,班级,课程等限制问题更是难以解决, 使用计算机