欢迎来到天天文库
浏览记录
ID:5998294
大小:29.00 KB
页数:7页
时间:2017-12-30
《基于遗传算法高校排课问题探究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于遗传算法高校排课问题探究 摘要:排课问题一个是有约束的、多目标的组合优化问题,并且己经被证明是一个NP完全问题。在高校,排课是高校教务管理的核心内容,是教学工作正常运转的基本要素之一。本文通过对排课问题的阐述以及对遗传算法操作的描述,结合自身实践建立了一个基于遗传算法的数学模型,可以合理地解决各种冲突,并在一定程度上实现智能排课。关键词:排课问题;遗传算法;适应度函数一、前言在高校,教学工作无疑是其运作的基本要素,而排课问题更是教学工作的核心内容之一。由于排课问题本身的性质是属于一个复杂的、难解的、有约束的、模糊多目标化的组合数学问题,所以排课是每个学校在学
2、期进行中就要妥善解决的重要任务。排课问题的本质是将教师、教室、课程以及班级在适当的时间段内合理安排,由于其涉及范围比较广且相互约束,在运筹学领域中也被称为时间表问题(TimeTableProblem,简称TTP)。7随着我国高等院校招生比例的扩大,学生、课程数目逐渐增多,同时教师、教室等固定资源的不足,出现一位老师多门课、教师课时繁重等情况,间接导致高校排课难度增加,排课人员在众多约束条件的限制下很难人工排出十分完美的课表。利用计算机解决排课问题的方法有许多种,其中以遗传算法最为突出。排课问题是组合优化问题,而遗传算法有两大优点,分别是智能性和并行性,利用遗传算法
3、的搜索全局最优解的搜索能力能很好地解决该问题。二、遗传算法基本思想遗传算法是基于自然选择、生物进化理论和遗传学的搜索算法,它将“优胜劣汰,适者生存”的生物进化原理引入待优化参数形成的编码串群体中,按照一定的适配值函数及一系列遗传操作对各个体进行筛选,从而使适配值高的个体被保留下来,组成新的群体,新群体包含上一代的大量信息,并且引入了新的优于上一代的个体。这样周而复始,群体中各个体适应度不断提高,直至满足一定的极限条件[1]。此时,群体中适配值最高的个体即为待优化参数的最优解。遗传算法有着不同于传统优化方法的特点,主要体现在以下几个方面:(1)在应用遗传算法求解问题
4、时,当确定好编码方案、适应度函数以及遗传算子后,算法将根据进化过程获得的信息自行搜素;(2)遗传算法是按照并行方式进行搜索种群数目的点,而不仅仅是单点搜素,可以防止过程收敛于局部最优解而不是全局最优解;(3)遗传算法通过目标函数来计算适值,不需要其他推导和附加信息,对问题的依赖性比较小。7下面是遗传算法的一般算法过程:1.随机产生初始群体。通常,初始种群是随机产生的,这个群体中的个体都是带有特征的染色体(chromosome)或基因(gene)。2.计算适应度。在根据种群的大小随机产生初始种群后,按照“适者生存,优胜劣汰”的原理,需要根据某个物种对环境的适应程度来
5、度量基因遗传到后代的相对能力。遗传算法在进化搜索中基本不利用外部信息,仅以适应度函数为依据,利用种群中每个个体的适应度值来进行搜索[2]。一般来说,适应度函数是由目标函数变换而成的。3.遗传操作。遗传算法包括三个基本操作,分别为:选择、交叉、变异。在每一代,根据适应度大小挑选出的个体,通过选择交叉等遗传操作下产生新的种群。4.下一代。通过以上操作,如果新的一代能够产生出一个解是与期望的答案相符或者相接近,那么,整个过程就结束了。如果不是,那么子代的适应度又将被重新计算,子代插入到父代形成新的父代,产生新的子代。这个过程将一直循环进行,直到达到期望的解。以下是遗传算
6、法的伪代码;三、排课问题的描述71.排课问题的描述。排课是指学校对学生上课过程中的课程安排,具体指在什么时间地点由哪位老师给哪个班级上什么课程。简单而言,课表问题中包含几个相互制约的因素,分别为:上课时间、上课所用教室、老师所教授课程、授课人教师、对象学生。一份好的课表就是能够对时间和教室进行合理分配。课程门类多、班级多、教师少、教室少是排课时发生冲突和矛盾的主要因素,而班级多、教室少则是矛盾的重要方面[3]。判断课表的好坏通常有两大类,分别为:软件约束条件和硬件约束条件。软约束条件是指在情况允许的条件下可以满足但也可以不完全满足的约束条件。比如,难度较大的课程应
7、安排在学生及老师精力相对比较充沛的时间段;某些老师因为一些原因而产生的特殊要求等。硬约束条件是必须满足的,是由客观情况而出现的限制。比如,教室的座位数需大于学生人数,同位老师不能在同一时间内出现在两个不同的授课班级等。2.排课问题的数学模型。排课问题中,最核心的问题是为了解决教师、教室、课程、班级在一周的时间内不冲突[4]。假设:学校有t个时间段,r间教室,l门课程,p位教师,c个授课班级。那么可以表达为:时间集合:T={t1,t2,t3…,7tn},以韩山师范学院为例,一次课以一大节为准,一大节为两节课,每节课45分钟,即每次课程的时间约为两小时,每周上5天课,
8、每天上课时
此文档下载收益归作者所有