基于遗传算法的高校排课系统研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于遗传算法的高校排课系统研究
[摘要]随着我国教育体制改革的不断深入,高校办学规模的扩大,在校学生人数、教师人数、课程门类的显著增加,这对高校教务排课工作提出了更高的要求。研究开发一个实用的排课系统具有十分重要的现实意义。
[关键词]排课遗传算法课程
排课是各高校教务管理部门的一项非常繁杂的工作,其基本目的是根据教学计划把各授课部门的教学任务进行汇总,为学校各教学部门开设的课程安排授课教师、上课时间和教室,从而使全校的教学工作能够有秩序、按计划进行,解决好排课问题对于整个教学工作的有序开展有着十分重要的意义。
一、排课的约束条件
排课基本问题是将班级、教师、课程、教室安排在一周内某一不发生冲突的时间,保证课表在时间的分配上符合一切共性和个性的要求,在此基础上,使其安排在各个目标上并尽量达到全局最优。因此,排课问题主要是处理好教师、教室和班级三者之间的冲突问题。排课问题要求保证班级、教师、教室不产生矛盾,并且要满足教室、教师资源的实际约束条件,即:在同一时间内,同一个班级,仅能由某一位教师上一门课;同一时间内,同一个教室,仅能有一个班级占用;一位教师只能在某一时间内某一个教室给某一个班级讲一门课。班级课表在星期上分布尽量均匀;同一课程的多个课时段要保持一定的时间间隔;充分利用教室资源,上课学生数和教室容量相匹配。
二、排课系统国内外研究现状及发展
排课问题是一个有约束的、非线性的、模糊多元目标化的、难解的、时空组合的数学问题。
早在20世纪50年代末,国外就有人开始研究课表编排问题。1963年,Gotlieb 曾提出一个课表问题的数学模型,但由于排课问题易受实际问题的影响,求解结果也不理想。
20世纪70年代,美国人S.Even等就证明了排课问题是一个NP完全问题,其算法的时间复杂度呈指数增长。S.Even的论证正式确立了排课问题的学术地位,把人们对排课问题的认识提高到了理论高度。
此外,有些文献试图从图论的角度来求解课表问题,但是图的染色体问题也是NP完全问题,只有在极为简单的情况下才可以将课表编排转化为二部图匹配问题。
在国内,在20世纪80年代初期,国内学者开始用从模拟手工排课,也有运用人工智能构建的专家系统等等,具有代表性的有:南京工学院的UTSS(A University Timetable Seheduling System)系统,清华大学的I1ISER(TiIIlet e Scheduler)系统,大连理工大学的智能教学组织管理与课程调度系统等。这些系统大都是模拟手工排课过程,以“班”为单位,运用启发式函数来进行编排的。但是这些课表编排系统往往依赖于各个学校的教学体制,不宜于进行大量推广。
在实际的应用中,很多研究者都提出了各种解决排课问题的方法,由于排课问题的复杂性,还没有找到有效的算法能获得NP完全问题的最优解。因此,如何运用近似算法和新的软件技术来降低排课问题的计算复杂度,仍然是颇具挑战性的研究方向.
三、遗传算法
随着人工智能的发展,特别是在计算机智能领域的拓展,借鉴于生物界进化思想和遗传机制的遗传算法,由于其超群的并行搜索能力,以及在解决优化问题中表现的高度智能性,已经被广泛应用于各个领域。遗传算法的智能性和并行性使得遗传算法迅速的被运用于求解组合优化的排课问题。
(一)遗传算法的定义
遗传算法(Genetic Algorithm)是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法,它是由美国Michigan大学J.Holland教授于1975年首先提出来的,并出版了颇具影响的专著《Adaptation in Natural and Artificial Systems》,GA这个名称才逐渐为人所知,J.Holland教授所提出的GA通常为简单遗传算法(SGA)。
遗传算法采纳了自然进化模型,如选择、交叉、变异、迁移、局域与邻域等。染色体经过若干代之后,算法收敛于最好的染色体,它就很可能是问题的最优化或
者次优解。
(二)遗传算法的特点
遗传算法是一类可用于复杂系统优化的具有智能性的搜索算法,与传统的优化算法相比,主要有以下特点:
1.遗传算法以决策变量的编码作为运算对象。传统的优化算法往往直接决策变量的实际值本身,而遗传算法处理决策变量的某种编码形式,使得我们可以借鉴生物学中的染色体和基因的概念,可以模仿自然界生物的遗传和进化机理,也使得我们能够方便的应用遗传操作算子。
2.遗传算法直接以适应度作为搜索信息,无需导数等其它辅助信息。
3.遗传算法使用多个点的搜索信息,具有隐含并行性。
4.遗传算法使用概率搜索技术,而非确定性规则。
(三)遗传算法的一般结构
如图1所示,表示了基本遗传算法的一般结构。由图1可以看出,最佳个体是这样产生的:首先产生一个初始种群,然后对这个种群中的每个个体进行适应度计算,适应度即表示了个体对环境的适应程度。计算后的个体进行是否满足优化准则判定,如果满足,那么算法找到了这个个体并停止,如果不满足准则,那么算法将对这个种群进行选择、复制、交叉、变异操作。遗传操作的目的是从初始种群中筛选出较为优异的个体进行演变,这其实包括复制优秀个体重生、两个父个体进行交叉和个体的变异这三种方式,对演变后的子代群体,重新进行优化准则判定,如此循环下去,直到找到一个最优化个体,或者达到其它循环条件为止。
四、本文主要解决的问题
1.详细说明排课问题中的影响要素和常用的约束条件,分析排课问题的求解难点和目标。
2.给出排课问题完整的数学描述,并提出求解排课问题的方法的方案和总体思路核技术路线。
3.给出排课问题的流程图,设计派克系统的数据结构,并对此排课过程的各个组算法进行研究。
4.对多个排课问题的目标化进行量化分析,建立遗传算法优化的目标空间。
5.对一个实际问题利用随机生成方案算法和基于遗传算法的排课优化算法进行求解,并对一些中间值进行跟踪分析,从实验的角度论述算法的可行性。
6.以C语言为基本的开发工具,进行编程,用Matlab进行仿真,对主要的算法进行实现,效果良好。
五、结论
排课问题是一个有约束的、多目标的、难解的组合优化问题,采用智能性和并行性的遗传算法,来对排课问题进行求解,是所有求解该问题方法中比较明智的选择。本文从遗传算法的基本理论入手,使用基本的遗传算法,通过遗传算法建立数据模型,对课表进行编排和对课表进行优化。本文在多目标优化理论的基础上,把遗传算法的智能性和并行性运用于求解组合优化的排课问题,提出课表方案的随机生成和优化算法,得到令人满意的结果,大大提高了教务工作人员的排课效率,并且使课程安排更加科学化、合理化,对高校的教学工作起到积极的作用。
参考文献
[1] 高喜玛,张萍. 大学自动排课系统内核算法设计[J].南阳师范学院学报,2003,2(12),55―58.
[2] 李明杰,曾晋文.课表编排系统的算法分析与设计[J].计算机工程与设计,2004,15, (1):I867-I869.
[3] 潘以锋. 高校智能排课系统的算法[J].上海师范大学学报(自然科学版),2006,35(5):31―37.
[4] 李敏强.遗传算法的基本理论与应用[M].北京:科学出版社,2002.
[5] 邓阳.自动编排课表的冲突消解方法[J].中央民族大学学报(自然科学版),2003,12(1):69―78.