- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
遗传算法在排课系统中应用和设计探究
遗传算法在排课系统中应用和设计探究
摘要:为了方便教学管理方面的课程安排,在研究遗传算法的基础上,以软件工程的思想研究了排课系统的设计过程,并使用Java语言实现了基于遗传算法的排课系统。经过测试,该系统能自动完成自动排课和手动调整功能。
关键词:遗传算法;排课系统;Java
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)05-1032-04
排课是教学管理中十分重要、又相当复杂的管理工作,课程表的编排是一个涉及多种因素的组合规划问题,它要保证在课程安排中教师、学生、教室不能产生冲突并且要满足教师的要求和资源限制等约束条件。
为了利用计算机来解决这个实际问题,减轻工作人员的负担,自20世纪60年代起就有学者投入研究,研究者对于排课系统的解决方案大致分为以下几种:第一种是基于简单的经验法则解决教学规模不太大的问题[1];第二类是建立排课模型,将排课问题归结为图的边染色问题[2];第三种方式是先将固定时段的课程优先排入,然后依序填入其他课程[3,4];第四种方法是采用模块化方式[5];图形着色法[6];搜索法[7],总之这些方法适合处理小规模排课问题,当问题的约束条件增多时,问题变得相对复杂,求解过程会变得非常困难。
我国在排课方面的解决方案总结为两种:一是图着色模型[8];而是数学模型[9,10]。
本文在讨论遗传算法的基础上,研究了遗传算法在排课系统中的应用和设计。
1 遗传算法
遗传算法最早于1968年由Holland教授提出,并建立了遗传算法原型,形成了遗传算法的理论基础。遗传算法是从生物进化论观点出发,用计算机模拟自然界演化的方式,对既定问题求最优解的方法,是基于自然选择和基因遗传、进化机制基础上的一种高度并行、自适应的优化算法[11]。遗传算法的操作步骤如图1所示。
图1 遗传算法流程图
2 排课系统的设计
2.1 总体设计
在充分调研教学排课管理业务后,经过分析,总结排课系统管理的信息和完成的功能有:
1) 基础信息管理
排课系统中所需要管理的基本信息有:教室信息、教师信息、课程信息、和班级信息;对这些信息管理的主要操作有、搜索、查看、添加、修改和删除。
2) 学期计划管理
学期计划管理模块主要依据学生的培养方案设置课程所在的学期、对应的专业(班级)、课程的名字以及课程所需的学时数;并为每一门课程指定相关的任何教师。
3)排课管理
排课管理有自动排课和手动课表调整两个方面的功能。自动排课是根据遗传算法的工作原理,对排课系统所管理的基本信息和学期计划进行杂交、编译操作后得到基本满足硬约束、软约束条件的课表;然后,在自动排课的基础上,将不满足条件的部分内容进行调整,最后生成教师课表、班级课表。
系统的总体功能模块图如图1所示。
图2 系统功能模块图
2.2 数据库设计
根据排课系统所涉及到的实体有:课程、教师、教室、班级、学期;这五个实体中教师和课程之间有授课关系;学期和课程之间有学期计划关系;班级与课程之间有班级课程关系;教室和课程之间有哪些课程在哪个教室上课的关系。关系E-R图如图3所示。
图3 排课系统中各实体及其关系E-R图
2.3 排课系统详细设计
1) 表示结构
在遗传算法排课系统中,一条染色体中应包含所有排课DNA分子,每个排课DNA分子又包含班级课程信息、老师信息、教室信息和时间信息,以及院系和学期信息。由于院系和学期在处理中是提前设定好的,在每次处理时都是一个给定的值,所以在染色体中可以不考虑他们。
2)初始种群
采用系统的随机数,生成初始种群。将排课任务表示为CyKwTx,在进行排课时,初始化种群中的个体就是用随机函数生成染色体中的RzMN的组合。
3) 约束条件
硬约束:
l每个指定时间段一个班级、一个教师、一个教室分别只能对应一门课程;
l要求教室的个数大于或等于指定时间段将要安排的课程数;
l安排教室时,要求教室容量必须大于或等于班级人数;
l教室类型与课程要求一致。
软约束:
l优先安排全校公共基础课;
l一周内课次多于2次以上的多课时课程,在时间安排上要求尽量隔天安排;
l较难课程应安排在上午第一节或下午第一节;
l体育课后尽量避免直接排课;
l同一门课程尽量安排在固定的教室。
4) 评价函数
评价函数是对种群中的每个染色体设定一个概率,使得高概率地选择某染色体,适应性值高的染色体被选择产生后代的机会更大。
评价函数的定义因各种问题而异,参数的个数也不一致。一般情况下,都是根据某种性的函数将
文档评论(0)