基于遗传算法的排课系统的研究与实现.docVIP

基于遗传算法的排课系统的研究与实现.doc

  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文档。上传文档
查看更多
基于遗传算法的排课系统的研究与实现.doc

基于遗传算法的排课系统的研究与实现 摘要:介绍是排课问题,分析了排课的数学模型,分析了基于遗传算法的排课算法的基本原理及及其算法特点,利用时间模式,提出了基于遗传算法解决排课问题的方法,并验证了该方法的有效性。 关键词:排课;遗传算法;多目标优化;时间模式 中图分类号:G623.5 文献标识码:A 文章编号: 1.引言 人工编排课程表是教务人员在进行教学管理中最为头疼的工作之一。它涉及到很多的软件 硬件资源和内外部因素,如:时间、地点、教师、学生及课程等。尤其是随着高职院校的不断扩招而软硬件设备没有及时更新和增加,造成了人多教室省、课程多时间少等状况。这些问题使得学校的教学管理无法正常进行。传统的人工排课方式存在有以下几个方面的问题:人工编排课程表工作量大人工编排课程表依赖于人为因素;人工编排课程表可维护性差;人工编排课程表安全性差。 排课系统就是在教师、教室和时间这3大资源数量有限,约束不同的条件下,合理安排班级的课程,使得学生和教师获得较为合理的上课时间和空间,是一个多目标的调度问题。如何实现课表的合理安排是当前高校教学管理人员值得研究的问题。 遗传算法(Genetic Algorithm,简称GA)是一种自适应随机搜索算法,具有全局收敛性和并行性,且对模型是否线性、连接、可微等不作限制,也不受优化数目、约束条件的束缚,所在工程优化、图像处理和模式识别等领域取得广泛的应用。本文将结合实际排课中所涉及到的各类约束、优化目标设计一种特定的基因编码方法,和相应的目标评价函数,并在实际应用中取得了较好的效果。 2.数学模型分析 排课问题是求解三元组(Lecture,Time,Room)课程、时间和教室的统筹调度,即给指定的课程安排适应时间、空间等教学资源,使学校课程整体达到一个较为合理的状态,其中课程又包含了(Classes,Lesson,Teacher)三个元素,即每个授课的班级、课程名称和对应的老师是相关的,这些授课计划数据是系统的输入部分,而一个合理的排课结果是指使目标函数达到优值,表现为课程的时间安排均匀、教室利用率高、尽可能多满足教师偏好等。实现此结果关键在于如何解决排课过程的众多约束和有效目标函数的建立。 对于一个班级的某一个时刻不能上一门以上的课程,而在高校中由于资源紧张许多课程大班开课,因此对一次授课要求所有上该课的班级在该时刻没有其他课程,则对于任何一门课程开设时间为t的课程lec有 0 其中CL为参加课程lec所对应的所有班级集合,LC为班级c所要上的所有课程集合。 1(班级c的课程l在时间t开设) Xclt 0(班级c的课程l不在时间t开设),即所有班级这门课程无冲突。 对于每个教师任何时刻只能参加一次授课,约束模型与班级约束相似,只是一次授课只有一个教师,冲突检测只需对某个教师所授所有课程集合进行统计即可。 教学资源的约束,要求任何一个时刻作何一种类型的教学资源安排量不可超过学校拥有该类资源的总量;一个授课的安排要求该教学班级人数不可超过教室(或者其他教学资源)的容量,对于需要r类型教学资源,在t时刻授课的集合 Lrt l|rl r,tl t |Lrt|≤Cr 其中Cr表示r类型的教学资源总量。 3.时间模式 时间模式是一种上课时间的安排形式,由时间模式代码表和时间模式明细表两个表组成,其中时间模式代码表是主表,定义了时间模式的基本信息,时间模式明细表是从表,定义时间模式所对应的上课时间。使用时间模式安排课表具有以下优点: 通过时间模式可以有效地安排课程,防止周学时较大的课程被安排在同一天或相邻的两天。 时间模式基本表中定义了优先级,可实现按照会优先级的顺序安排班级的课表,可避免随机安排班级课表所造成的课程上课时间的不合理问题。 时间模式的比较灵活,实现较容易,能满足学校实际上课的需求,只定义较为合理上课时间的组合即可。 4.基于遗传算法的排课算法 遗传算法的基本原理:首先采用编码方式将解空间映射到编码空间,每个编码对应问题的一个解(称为染色体)。通过随机方法确定初始的一群个体(称为种群),在种群中根据适应度值或某种竞争机制选择个体,利用各种遗传操作算子(交叉、变异等)产生下一代,如此进化下去,直到满足期望的终止条件。 4.1染色体编码 根据排课的实际情况,使用十进制来对的个体进行验证码,每个个体利用m*26 的数组表示。 4.2初始种群生成 一个染色体就是一个可能的排课结果,是一个m*26 的数组,需处理的数据量较大,结构相对比较复杂。因此,如果初始种群中个体的分布不好,将很容易使整个排课结果陷入局部最优而得不到好的排课结果,因此初始种群的生成对整个算法的影响较大。 将时间模式引入到遗传算法中进行初始种群的生成。基本思想:首先确定班级的数量及所要上的课程;接着随机选取一个班所上的课程产生所需要的时间模式

文档评论(0)

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

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

1亿VIP精品文档

相关文档