排课系统设计毕业论文_第1页
排课系统设计毕业论文_第2页
排课系统设计毕业论文_第3页
排课系统设计毕业论文_第4页
排课系统设计毕业论文_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本科毕业论文(设计)题目:排课算法的研究与开发 姓 名: 周林 学号: 20111001954 所在院系: 信工学院 专业: 信息工程 指导教师: 张发勇 职称: 副教授 评 阅 人: 职称: 2015 年 06 月学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。作者签名: 年 月 日 学位论文版权使用授权书本学位论文作者完全了解学校有关保障、使用学位论文的规定,同意学校保留并向有关学位论文管理部门或机构送交论文的复印

2、件和电子版,允许论文被查阅和借阅。本人授权省级优秀学士学位论文评选机构将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。本学位论文属于1 保密 ,在_年解密后适用本授权书。2 不保密 。(请在以上相应方框内打“”)作者签名: 年 月 日 导师签名: 年 月 日 排课算法的研究与开发本科生:周林 指导教师:张发勇摘 要作为一个学生,无论是在小学中学还是大学,课表都是我们在学校里接触最多的。然而,我们很少会去关注课表是怎么排出来的,尤其是在大学以前似乎课表并不复杂。然后,到了大学里,看似简单的课表却引起了我们的注意。大学里的课程往往具有很强

3、的随机性和流动性,学生个人的课程有一定的共性但是却不完全相同尤其是课程往往没有固定的教室。而是根据自己的选课情况来安排上课时间和地点,而且我们也发现大学中教室的资源往往非常紧张。这样一来排课问题就构成了一个多类资源的优化组合问题。S.Even 等人在1975年将排课问题论证为NP 完全问题。这类问题往往没有唯一解,而只能在有限的要求范围内求得相比较而言更合理的解。那么,如何在有限的教室、老师资源以及各种硬性软性要求给出一个最优解就是排课算法的核心要求。本课题着重与在优化现有的排课算法,尤其是遗传算法,针对其在排课应用中的不足进行优化从而能够得出更为高效、合理的排课算法解决高校排课问题。关键词:

4、JSP、遗传算法、排课系统 Scheduling Algorithm Research and DevelopmentBachelor Candidate:Zhou Lin Supervisor:Zhang FayongABSTRACTAs a student, whether it is in contact with all of our elementary school or university, the largest in the school curriculum. However, we rarely focus on curriculum is how to row out

5、, in particular, seems to be at the university curriculum is not complicated before. Then, to the university, seemingly simple schedule has caught our attention. There is no fixed course in the university classroom, students are no longer the same as before with a class as a unit to go to class. But

6、 according to their own situation to arrange elective class time and place, but we also found that university classroom resources are often very tight. As a course arrangement constitutes the optimal combination of many types of resources problem. S.Even et al. 1975 will demonstrate to course schedu

7、ling problems NP-complete problems. Such issues are often not the only solution, but only to obtain a more reasonable comparison solution within a limited range of requirements. So, how to give an optimal algorithm is arranging the core requirements for limited classroom, teacher resources, and a va

8、riety of soft rigid requirements. This paper focuses on optimizing existing and Scheduling algorithms, especially genetic algorithm, arranging for its shortcomings in the application were optimized to be able to draw a more efficient and rational Arranging Course Scheduling algorithms to solve probl

9、ems.Keywords: JSP ;genetic algorithm ;Scheduling System目 录第一章 绪论11.1排课算法研究背景11.2常用的排课算法对比11.2.1贪心算法11.2.2回溯算法21.2.3遗传算法21.3课题目标以及意义31.3.1课题目标31.3.2课题意义3第二章 相关知识概述42.1 Java Server Pages42.1.1 Java Server Pages简介42.1.2 Java Server Pages特点42.2 SQL Server 200552.2.1 SQL Server 2005简介52.2.2 SQL Server 20

10、05特点62.3 MyEcplise62.4本章小结7第三章 排课算法设计83.1 排课问题描述83.2排课问题分析83.3约束条件93.4约束条件数学表示93.5排课算法遗传基因编码113.6排课算法适应度计算123.6.1离散程度适应度计算123.6.2较难课程适应度计算133.6.3特殊课程适应度计算133.7排课算法选择、交叉和变异133.7.1选择143.7.2交叉143.7.3变异143.8排课算法课程冲突检测143.9主要算法描述153.9.1选择算法描述153.9.2交叉变异算法描述163.9.3排课算法描述173.10 本章小结20第四章 排课系统总体设计204.1 需求分析

11、204.2 系统总体结构214.3本章小结21第五章 排课系统详细设计与实现225.1数据库设计225.1.1 数据库ER图225.1.2 数据库各表设计225.2 登录模块设计265.3 系统主页面总布局275.4 基础信息管理设计285.5 排课设置管理模块设计305.6 排课模块设计315.7 系统管理模块设计325.8 本章小结33第六章 总结与展望336.1总结336.2展望33致 谢35参考文献362015.06 中国地质大学(武汉)学士学位论文 35第一章 绪论1.1排课算法研究背景最初在采用计算机自动排课以前,高等院校只能采用人工排课的方式。人工排课只能依靠教务处的工作人员手动

12、的安排整个学校教育教学工作。这种手工人力的排课方式有非常多的缺点。首先最显著的缺点就是排课效率过于低下,其次课表排好以后很难修改,不便于调整。对于实际使用过程中出现的特殊情况如临时调课等状况不能很好的应对。因此,当学生人数越来越多,达到数万甚至更多,教师人数达到数百数千,要为这成百上千的学生和教师安排出科学合理的课程表,几乎是不可能的任务。就算能够完成,但也往往需要花费很大的人力物力,工作量巨大。并且即使排出课程表也不够灵活,很难进行调整。随着高等教育的不断发展,不管是高等院校的在校学生人数还是教职工人数都在不断地增加,课程安排复杂度也不断提高。着这种情况下,人工排课的缺点与不足就显得更加突出

13、,手动排课的方式已经无法在满足当前排课问题的需求。同时,随着计算机技术的快速发展,计算机技术在各个领域的应用也越累越广泛。人们很自然地就将计算机技术应用到这一领域中。显而易见,使用计算机技术进行排课,可以排课缩短排课时间、节省人力资源、并且有比较高的排课质量,可以迅速地得出满足各种约束要求的可行排课结果。1.2常用的排课算法对比1.2.1贪心算法贪心法(greedy method)主要是将分级处理方法进行改进,着眼于局部,然后逐步产生最优解。贪心算法从问题的一个初始解出发,在特点的原则下做出一系列的选择(一旦做出选择,就不再进行修改),也就是选择当前状态下的最优选择,从而渐渐逼近原定的理想目标

14、。在排课问题中,贪心算法就是从某一个初始状态开始,根据给定的策略向安排好所有待排课程这一目标逐步前进。贪心算法每一步都需要进行判别,在即将进行的下一步中能否得到可行解的一个解元素。如果可以则持续进行,依然根据贪心策略想目标推进。当算法不能再找到符合要求的解时,算法停止。最终可以得到可行解。贪心算法的优势在于时间复杂度较小,能用较少的执行步数得到相应的解。而其最大的不足就是解不够合理,虽然每一步都能做到局部最优化,但是总体得到的结果却不一定是整体最优解。为了能够尽可能的规避贪心算法的不足,在算法最后能够得到的解更科学合理的整体较优解。为此,可以在算法中采用最优化算法(比如动态规划等)。1.2.2

15、回溯算法回溯算法也被叫做试探算法。可以认为它是对深度优先算法进行修改和扩充的孙发。回溯算法根据原定的优先条件进行深度优先搜索。但当搜索进行到某一步发现不能满足条件时,则退回到前一步重新进行选择。其中能够满足返回条件的状态点被称为回溯点。实际运用到排课算法中,优先条件就是排课问题中的制约条件,如果不能够满足制约条件,那么算法做出的选择就不是最优选择。 当在一个状态点遍历了所有可能的选择之后不存在满足条件的选择,那么这个状态点就是回溯点。回溯法所具有的一个非常重要的特点就是在搜索的过程中会产生解空间。在搜索算法执行的任何时候,存储从开始到当前的搜索路径。所以,回溯算法的空间需求为一个常数,也就是从

16、开始节点直到最远节点的路径长度。这个特点非常重要,使用回溯算法的解所需要的空间大小往往是最长路径长度的指数倍数。因此,使用回溯算法排课往往过于消耗存储空间,特别是数据量大的时候代价太大。回溯算法还有一个缺点就是时间复杂度非常大。1.2.3遗传算法遗传算法(英文全称Genetic Algorithm,简记为GA)最早是由美国密歇根大学J. Holland教授于1975 年提出,并且在之后出版了非常具有影响历的Adaptation in Natural and Artificial Systems。遗传算法基于自然进化过程中的自然选择机制和生物遗传机制,由生物的自然进化过程抽象而来。遗传算法是一种

17、全局优化策略适用于寻找最优解的最优规划以及多目标规划问题。遗传算法能够有效避免陷入局部最优而能够考虑到各个因素从而得到全体最优解或次于全体最优解的次优解。有一个故事可以帮助我们理解遗传算法:从前,有一大群袋鼠,它们被莫名其妙的零散地遗弃于喜马拉雅山脉,于是只好在那里艰苦的生活。这些袋鼠并不知道它们的任务是寻找珠穆朗玛峰。海拔低的地方弥漫着一种无色无味的毒气,海拔越高毒气越稀薄。可是可怜的袋鼠们对此全然不觉,还是习惯于活蹦乱跳。于是,不断有袋鼠死于海拔较低的地方,而越是在海拔高的袋鼠越是能活得更久,也越有机会生儿育女。就这样经过许多年,这些袋鼠们竟然都不自觉地聚拢到了一个个的山峰上,可是在所有的

18、袋鼠中,只有聚拢到珠穆朗玛峰的袋鼠完成了任务。遗传算法的实现过程实际上就像自然界的进化过程那样。首先寻找一种对问题潜在解进行“数字化”编码的方案(建立表现型和基因型的映射关系)。然后用随机数初始化一个种群,种群里面的个体就是这些数字化的编码。接下来,通过适当的解码过程之后,用适应性函数对每一个基因个体作一次适应度评估,用选择函数按照某种规定择优选择。让个体基因交叉变异,然后产生子代。遗传算法并不保证你能获得问题的最优解,但是使用遗传算法的最大优点在于你不必去了解和操心如何 去“找”最优解,而只要简单的“否定”一些表现不好的个体就行了,这是遗传算法的精粹。1.3课题目标以及意义1.3.1课题目标

19、本课题着重对遗传算法进行研究,将传统的遗传算法进行改进,尽量发挥遗传算法的优势并改善固有缺陷然后应用到排课算法中。通过计算机来进行自动排课,抽象出问题中所存在的要素,结合数学表达式来表达一系列的约束条件,并且能够依据课表形式和排课过程中普遍存在的规律,可以有效缩减排课问题的空间搜索范围,从而快速高效的进行排课。1.3.2课题意义教务排课管理系统是高校教务系统中的一项重要组成部分,排课系统否科学高效得排出高质量的课程表将很大程度上会影响高校的正常教学,有时甚至关系到高校的教育教学质量。排课系统的首要任务就是排课,首先要把获取学校所有班级、学生的课程信息,再依据高校各个专业教育教学计划以及高校现有

20、的教学资源来安排各个班级、学生的课程表,从而能够更为高效地配置所有教育资源,使高校教务工作能够非常科学、高效的完成。本课题的主要研究意义在于实验并完善遗产算法在排课上的应用,同时设计并初步编码完成一个实验性质的自动排课系统,应用于高校教务教学管理,从而能够提高教务管理的工作效率。第二章 相关知识概述2.1 Java Server Pages2.1.1 Java Server Pages简介JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它1是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。

21、JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。它实现了Html语法中的java扩张(以 形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过t

22、ags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。2.1.2 Java Server Pages特点优点:(1)一次编写,到处运行。除了

23、系统之外,代码不用做任何更改。(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP的局限性JSP的优势是显而易见的。(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。(5)支持服务器端组件。we

24、b应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。缺点:(1) 与ASP也一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。(2) Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。2.2 SQL Server 20052.2.1 SQL Server 2005简介Microsoft SQL Server 2005是软件

25、开发中使用非常广泛的数据库管理系统,它是由美利坚合众国的微软公司开发并推出的数据库开发、管理系统。它是由一系列的图形工具整合在一起构成的,这些图形工具主要有服务器管理、企业管理器和查询分析器。服务器管理的主要功能是启动和关闭数据库服务。企业管理器的主要功能是创建、修改和备份数据库。查询分析器的主要功能是交互执行标准T-SQL语句、SQL函数和存储过程,而且具有图形化的查询分析功能。SQL Server 2005作为一款数据库开发与分析的软件,能够方便快捷的为可伸缩性的电子商务、企业ERP和数据仓库等创建出优秀的解决方案。在SQL SERVER的2005版出现时,Internet网络已兴起,所以

26、它为网络应用程序的开发和设计做了很多工作,能很好的适应网路应用程序的数据管理和数据分析。在开发电子商务、数据仓库应用时,如果采用由SQL SERVER 2005作为核心组件之一的Windows DNA(Distributed Internet Architecture)架构,能够使得整个应用的开发周期大大缩短。另外,SQL SERVER 2005全方位支持HTTP和XML(Extensible Markup Language)扩展标示语言。SQL Server 2005具有着性能高和企业级可伸缩性的特点。SQL Server 2005安装部署与Windows NT操作系统之上,与操作系统一起提

27、供了对多处理器、大内存和64位硬件平台的支持。而且SQL Server 2005还支持WindowsNT的多路群集,为较大规模的应用提供了良好的支持。在可管理性和易用性方面,SQL Server的上一个版本7.0在行业内就处于领先地位,而升级版的2005不仅在可管理性和易用性方面做了大量改进,而且在性能、扩展性和安全性方面也做了许多改进。SQL Server 2005能为具有商务活动的网络站点提供优异的性能,具有商务活动的网络站点对性能、可管理性、易用性都有较高的要求,而SQL Server 2005能够很好的做到这些。2.2.2 SQL Server 2005特点1SQL Server 20

28、05的数据分析性能是非常高效的SQL Server 2005具有高效的数据操作机制。SQL Server 2005在处理查询时,能够智能优化SQL语句,对Where条件中的多个条件进行分析,找出最佳的过滤及交叉顺序,并且可以将优化好的SQL语句缓存起来,下次再有同样的SQL查询时将直接使用缓存的优化过的SQL语句。2SQL Server 2005的业务扩展性是灵活的数据仓库技术直接回答的是业务问题,其实现方式也是以解决一个个业务需求的形式组织的。随着新业务的出 业务需求建设新的模型,这种堆叠形式的建设方式为整个系统随业务的发展而平稳发展提供了良好的条件。3 SQL Server 2005的安全

29、性是与操作系统集成在一起的Microsoft SQL Server 2005的安全性是与操作系统集成在一起的,从而可以利用windows的强大功能,为数据库用户实现更高的安全性。操作系统提供了OLAP管理器,通过OLAP管理器强大而专业的管理功能,实现对用户权限的更为细致和专业的划分和控制。Microsoft SQL Server 2005具有细致而全面的安全设置选项。数据库用户具有不同的级别划分,数据库管理员可以根据实际情况,对数据库用户进行细致的级别划分,使得数据系统的安全性更有保障。由高到低的级别依次为服务器级、数据库级、多维数据集挖掘模型级、维度成员级和单元级。4SQL Server

30、2005的易用性SQL Server 2005的企业管理器是图形化工具,界面显示与操作方式都与Windows操作系统的类似,在当前Windows普及的背景下,开发人员可以很快上手并熟悉,基本不用化太多时间专门的学习SQL Server 2005软件的使用。SQL Server 2005可以对工作负载进行动态优化,根据最优的参数设置进行智能调节,从而尽可能减轻数据维护管理人员的工作量。SQL Server 2005还为开发人员提供了各种常用操作的向导程序及功能强大的图形化编辑器。向导程序可以让开发人员能够在图形化界面下,按向导的操作提示逐步完成相关操作,极大的方便了开发人员的使用。图形化编辑器更

31、是使得开发人员可以通过几次选择操作,就能完成本来需要手敲的脚本,大大提高了开发人员的开发效率,而且降低了出错率。SQL Server 2005还提供了将数据导入导出向导,可以方便的将数据库中导出到Excel、txt等格式文件中,也可以这些格式文件中导入数据。2.3 MyEcpliseMyEclipse企业级工作平台(MyEclipseEnterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试

32、和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate1。MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse可以支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。2.4本章小结本章主要介绍了本课题所应用

33、的核心技术以及其主要特点。第三章 排课算法设计3.1 排课问题描述排课工作是高校教务管理工作中非常关键、重要、而且极其复杂的工作。显而易见,排课工作的本质就是在高校有限的教育教学资源下,为所有学生安排课程的时间和地点,从而进一步保证整个学校的教育教学工作能够十分有序合理地进行。四十多年一来,业界对排课算法的研究从来没有间断过,众多研究人员的努力,也让我们在这个领域取得了许许多多成果。然而,对排课算法的研究依然还没有到达完美的境地,在面对一些非常复杂的情况时例如排课数据规模极其庞大、排课约束条件异常复杂,并且不断变化等。总而言之,排课问题到目前为止仍然没有得到完美解决。排课问题是一个规划组合问题

34、,这个问题在解决的过程中会涉及到很多因素,它要确保在排课过程中老师、教室和学生之间不可以有冲突(这里说的冲突就是指同一个教室在同一个时间安排了超过一门课,或者同一个老师或学生在同一时间有两门不同的课等等情况),与此同时还需要满足老师以及教室数量的约束条件。排课问题的本质就是对高校中对老师、教室等教务资源的分配过程。排课问题的解决总的来说可以分为2 个主要阶段:(1)各个专业根据原定的教学计划产生课程计划,为对应课程分配班级和教师,通常由手工完成。(2)根据课程计划为课程分配时间和教室。3.2排课问题分析我们在解决排课问题的过程中,有着许许多多的矛盾和冲突。排课的班级、任课教师、上课时间、课程、

35、上课地点等进行组合会产生一系列的互相不兼容的问题影响课表的实际使用科学性。所谓排课任务,其实质就是将教室、老师、班级、课程的不同组合排列到一周之中的所有上课时间片中。排课过程中,必须能够比较准确、科学、合理得安排课程,必须能够把人力、物力、空间、时间的利用效益最大化。排课问题并不是简简单单得将课程、班级、教室进行简单的排列组合就能够解决的。相反,排课问题在解决的过程中会涉及到许许多多实际因素和现实条件的制约。通过仔细的分析和充分的调研,大致可以将排课问题所会涉及到的主要因素归纳为以下的制约因素:1) 时间因素。排课问题中课表是按周来安排的,平均在一个学期之中存在大约20个周,高校排课系统所需要

36、排出的课表是以周为单位的周课表。每周中可以排课的有5天(周一到周五),无特殊需求一般不考虑周末排课。每天五个时间段(本系统排课以大课时为单位),上午下午各有2个大课时、晚上只有1个。2) 课程因素。所有课程都有各自不相同的难易程度以及课程类型。不同的课程需要指定的对应的讲课教师。且部分较为特殊的课程对使用的教室也有特殊要求。比如,物理以及相关实验课程需要安排在物理实验室上课,化学课程需要在化学试验室上课等。3) 教室因素。教室属性中具有编号、类型、容纳人数、地点等属性。其中教室类型是对应于课程对教室类型的需求。在排课过程中,教室容量必须不小于上课的班级中的人数。此外,还有一个显而易见的就是:在

37、同一时刻,一个教室中只能安排一个课程。 4) 班级(个人)因素。同一个班级(学生)在同一时刻的同一个教室不可能上不同的课或者在同一时刻不可能出现在不同的教室。5) 教师因素。同一个教师在同一时刻的同一个教室不可能教不同的课或者在同一时刻不可能出现在不同的教室。3.3约束条件通过在上一部分中的对排课问题分析,我们知道在排课问题的解决过程中有很多因素需要考虑,也就是说在排课的过程中有很多约束条件。总结一下得到最基本的6项硬性约束和6项非硬性(软性)约束:硬性约束:1) 同一班级或者个人在相同课程时间段只能在相同的教室上相同的课程;2) 同一教师在相同课程时间段只能在相同的教室相同的课程;3) 在相

38、同课程时间段的相同的教室不能安排不同的课程;4) 参与排课的教室总数不得小于相同课程时间段被安排的课程总量;5) 排课教室的必须能够容纳下在这个教室上这门课程的所有学生总人数;6) 对应课程必须安排在对应的教室上课(如高等数学可以安排在普通教室是,而物理实验课必须安排在物理试验室;非硬性(软性)约束:1) 教学计划中的公共基础课或者必修课必须得到优先安排;2) 单周内课时较多的课程,在排课的是最好能间隔一天以上排课;3) 被认定为难度较高的课程应该尽量安排在前两大节课;4) 体育课程尽量排在下午;5) 排课过程中同一课程尽量安排在同一个教室以方便学生上课。6) 课程尽量都安排在周一到周五的时间

39、内,最好不要安排在周末。3.4约束条件数学表示为了方便编程以及算法的理解,可以将排课问题中的中的主要元素以及约束条件用数字字符串来表示出来。教师集合公式5-1: T=T1,T2,Tt t为教师总数,某教师可以表示为Tx,1=x=t。班级集合公式5-2: C=C1,C2,Cc c为班级总数,某班级可以表示为Cy,1=y=c。教室集合公式5-3: R=R1,R2,Rr r为教室总数,某教室可以表示为Tz,1=z=r。课程集合公式5-4: K=K1,K2,Kk k为教室总数,某教室可以表示为Kw,1=w=n?否是结束开始图3-13.9.2交叉变异算法描述算法步骤如下:(1) 由选择算法任意选出两个个

40、体A、B,并定义一个循环变量n=0。(2) 由随机数产生一个取值1-35之间的随机数R1,然后n=n+1。(3) 交换A、B对应R1位置的DNA序列。(4) 在由随机数产生一个取值1-1000之间随机数R2。(5) 判断R2是否大于10,若是则进入第(6)步,否则进入第(7)步。(6) 生产两个随机数R3和R4,R3的取值范围为1-7,R4的取值范围为1-5。用R3和R4取代交换DNA序列的个体A、B对应R1位置DNA编码的M和N(此过程对应遗传过程中的变异过程)。(7) 判断当前的循环变量n是否大于14?若是则算法结束,否则跳转到第(2)步。算法流程图如图3-2:选出两个个体A、B,n=0产生随机数R1,n+n14?否是交换A、B在R1位置的DNA序列生成一个1-1000之间随机数R2R210?是否生产随机数R3、R4取代DNA编码的M和N结束开始图3-23.9.3排课算法描述算法步骤如下:(1) 初始化一个具有N个个体的初始种群,定义遗传代数g=0。(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论