遗传算法在自动排课系统中的应用.docVIP

遗传算法在自动排课系统中的应用.doc

  1. 1、本文档共5页,可阅读全部内容。
  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

遗传算法在自动排课系统中的应用   摘要:排课问题是一个有约束的、多目标的组合优化问题,是一个已被证明的NP完全问题。本文旨在相关遗传算法和多目标优化理论的基础之上,结合数学分析的方法,研究了遗传算法在排课系统中的应用。   关键词:遗传算法 自动排课 VB SQL   中图分类号:TP18 文献标识码:A 文章编号:1007-9416(2013)10-0131-02   课程表的编排是一个涉及多种因素的组合规划问题,它要保证在课程安排中教师、学生、教室不能产生冲突(所谓冲突,就是将需上不同课程的两个或多个班安排在了同一时间、同一教室,或为同一教师在同一时间段安排了多门课程等情况),并且要满足教师的要求和资源限制等约束条件。而使用计算机进行排课能够快速地得到满足约束条件的可行结果,具有排课时间短、省人力和质量高的优点,进而使教务人员从繁杂的排课任务中解脱出来。   1 遗传算法   遗传算法是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法。也是计算机科学人工智能领域中用于解决最优化的一种搜索启发式算法。因此,采用具有智能型和并行性的遗传算法,来对排课问题进行求解,是一个比较明智的选择。   2 排课约束条件分析   编排课表牵涉的因素很多,包括时间、课程、教室、校区、院系、班级、教师等。但都要遵循一个原则,那就是:课表要有利于教学设备的充分利用,要符合教学规律。将这个原则进行细化、清晰化,可以归纳为以下6项硬约束和6项软约束:   硬约束:(1)同一班级在同一时间只能安排一门课程;(2)同一教师在同一时间只能安排一门课程;(3)同一教室在同一时间只能安排一门课程;(4)教室总数要大于同一时间安排的课程总数;(5)教室容量必须大于上课学生人数;(6)课程要安排在它需要的类型教室中。   软约束:(1)优先安排全校公共基础课;(2)一周内课次多于2次以上的课程,在时间安排上要求尽量隔天安排;(3)较难课程应安排在上午第一节或下午第一节;(4)体育课后尽量避免直接排课;(5)教师一天的授课活动尽量安排在同一校区,有效地解决跨校区问题; (6)同一门课程尽量安排在固定的教室。   3 排课问题的数学分析   首先需要将排课中的主要元素用数学的符号的方法来表示出来。   在排课问题中某学院某学期课表的数据模型就是的组合。在自动排课前,需要进行班级课程设置、班级课程任课教师设置,这些设置就是为了确定、、三者的关系。设定好它们的就得到了要进行排课的任务,每一个排课任务就对应一个的组合。自动排课的处理过程就是在满足约束的条件下确定每个任务对应的组合在一周内与剩下的两个元素和如何进行组合。下面用数学的方法来分析排课的约束条件:   对于硬性约束条件1~3,用数学来表示就是、、的组合是唯一的,有且只能有一个。   对于硬性约束条件4,用数学来表示就是对于任意的时间片,教室总数r大于组合的数量。   对于硬性约束条件5,用数学来表示就是对于任意的组合,教室容量必须大于班级的人数。   对于硬性约束条件6,用数学来表示就是对于任意的课表组合,课程所要求的教室类型必须与教室的类型一致。   而针对于软性约束条件1~6,用数学来表示就是排课任务具有较高的优先级,要优先进行安排;在一周内的次数大于2时,在组合成时,每次的尽量不同;任意的课表组合,如果课程是较难的课程时,的节次n最好是1或3;课表组合,如果课程是体育课时,的节次为,则最好不要再出现为的课表组合;对于相同的排课任务,如果班级Cy是属于不同校区的,每次的尽量不同;排课任务在一周内的次数大于2时,在组合成时,每次的尽量相同。   4 遗传算法设计   遗传算法以一种群体中的所有个体为对象,并利用随机化技术指导对一个被编码的参数空间进行高效搜索,是一种通过模拟自然进化过程搜索最优解的方法。系统进行排课时,具体算法描述如下:   4.1 编码   一条染色体中应包含所有排课DNA分子,每个排课DNA分子又包含班级课程信息、教师信息、教室信息和时间信息,以及院系和学期信息。由于院系和学期在处理中是提前设定好的,在每次处理时都是一个给定的值,所以在染色体中可以不考虑他们。在前面的数学分析中我们将课表组合表示为,这里将拆分为MN,则可将染色体表示为。、、、都用他们所对应的字段Id的值来表示。M表示星期,N表示每天课节数。   4.2 初始种群   采用系统的随机数,生成初始种群。在前面的数学分析中我们将排课任务表示为,在进行排课时初始化种群中的个体就是用随机函数生成染色体中的的组合。   4.3 确定适应度   确定适应度,首先对一条染色体中的每个DNA分子计算适应度,然后计算一条染色体中所有DNA分子适应度之和,将

文档评论(0)

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

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

1亿VIP精品文档

相关文档