基于遗传算法高校排课问题研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于遗传算法高校排课问题研究

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

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档