基于遗传算法的智能排课模型.docVIP

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

基于遗传算法的智能排课模型   摘要:随着高校的不断扩招,如何用有限的资源来保持教学的有序性,使高校智能排课成为一个多约束、多目标优化问题。传统的智能排课算法效率低,并且不能很好的解决课程冲突的问题,无法满足现代高校教务管理的要求。该文对排课问题进行分析,在对可能的约束条件进行归纳的基础上,建立了比较通用的排课模型;然后根据模型,设计了相应的改进遗传算法,常识在满足所有硬约束条件和尽可能多的软约束条件的情况下实现多校区智能排课。实验结果表明,利用算法进行不同场景下的排课性能测试,测试结果表明了算法的实际可行性。   关键词:智能排课;遗传算法;多约束;多目标优化   中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)03-0610-04   随着高校规模的不断扩大和教学管理信息化的不断深入,传统的手工排课和计算机辅助排课已远不能满足实现需求,因而智能排课问题又凸现出来[1]。智能排课也被称为大学课程表问题,是一个组合优化问题,需要有效的利用有限的教师、教室和时间资源安排课程[3]。它涉及到很多因素,具有巨大的复杂性。1975年,Even.S 证明了智能排课问题是NP完全问题,宣布了这一时空组合问题的学术地位和难度[4,9]。   遗传算法是受诸如遗传、变异、选择、交叉这样的生物进化过程启发的一种搜索算法。它能够自适应到全局最优,经常被用来对优化问题和搜索问题寻找近优解。但是缺陷是交叉和变异概率不能自适应的调整,容易导致早熟和收敛慢等现象[5]。   为了提高智能排课算法的效率和成功率,结合智能排课问题,该文提出一种改进的遗传算法来求解问题:对遗传算法的编码方式进行改进,对其交叉和变异算法进行自适应操作,这样可以加快收敛速度,防止早熟现象。最后通过仿真实验对算法进行测试,结果表明改进的遗传算法能够降低冲突率,并且在满足约束条件的情况下提高效率,较好的解决了智能排课问题。   1 基于遗传算法的智能排课模型   1.1 智能排课问题遗传算法设计   由于简单遗传算法有一定的缺陷,所以在解决智能排课问题时,编码以及遗传操作的方式必须要加以改进。   1.1.1 基因的编码方式   基因是遗传操作的基本执行单位,基因编码方式的优劣影响到信息表达的完美性、遗传操作的设计和执行效率,最终关系到算法的收敛速度。   简单遗传算法使用二进制编码方式,由于智能排课问题的复杂性,不能很好的表达课程安排的信息。所以我们使用自然编码的方式:以时间片为基因,以班级作为染色体,因此每个染色体共有20个基因,编号记为G0-G19。每个基因由两部分构成:课程ID(courseID)和教室ID(roomID)。染色体的结构如图1所示:   1.1.2 冲突检测   时间片和教室资源分配可能会引起冲突,可以使用约束数据模型来检测冲突。为课程分配资源时,应当检查是否满足硬约束条件。如果存在冲突,则资源必须被重新分配。例如,我们可以使用公式(1)-(3)来检查1.2中列出的条件:   [i=1nj=1nClassM[cli][wki]=0] (1)   [j=1nTeacherM[i][wkj]=0] (2)   [i=1nj=1nRoomM[rmi][wkj]=0] (3)   1.1.3 种群初始化   初始化种群时,为每一门课程分配时间片和教室资源,然后使用资源分配的信息初始化染色体。   随机初始化的方式会造成很多冲突,所以我们改进初始化对的方式:在初始化种群时检测和避免冲突,这样保证初始化的结果是正确的。改进的种群初始化方法如下所示:   1)对于每一门课,根据课程的周时间片数,生成每周的授课次数,然后为每次授课分配时间;   2)对分配的时间片进行冲突检测,即检测所涉及的班级、教师、教室等硬约束条件是否能完全满足要求。若能满足,则3);否则4);   3)为该门课程分配满足硬约束条件的教室;将课程ID,教室ID等信息记录在相应的染色体中;按照课程的上课周次和时间片,将相关信息记录约束数据模型中,以作冲突检测用。转5);   3)为该门课程重新分配时间片,转2);   5)若所有课程都已执行了上述操作,转6);否则转1);   6)初始化结束。   1.1.4 适应度函数   在遗传算法的进化过程中,适应度函数决定着进化方向,因此适应度函数直接决定着排课算法的寻优速度。   适应度函数的设计和适应度值的计算取决于软约束条件。软约束条件记为soft1,...,softn。适应度函数设计如下:   每个约束条件的总分是100,为每个约束条件设定权值,依次记为W1…W6,且满足[i=1nwi=1]。   将软约束条件i的得分记为ScoreOfSoft(i),则使用

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档