排课系统设计毕业论文Word下载.doc

上传人:wj 文档编号:3998647 上传时间:2023-05-02 格式:DOC 页数:42 大小:1.53MB
下载 相关 举报
排课系统设计毕业论文Word下载.doc_第1页
第1页 / 共42页
排课系统设计毕业论文Word下载.doc_第2页
第2页 / 共42页
排课系统设计毕业论文Word下载.doc_第3页
第3页 / 共42页
排课系统设计毕业论文Word下载.doc_第4页
第4页 / 共42页
排课系统设计毕业论文Word下载.doc_第5页
第5页 / 共42页
排课系统设计毕业论文Word下载.doc_第6页
第6页 / 共42页
排课系统设计毕业论文Word下载.doc_第7页
第7页 / 共42页
排课系统设计毕业论文Word下载.doc_第8页
第8页 / 共42页
排课系统设计毕业论文Word下载.doc_第9页
第9页 / 共42页
排课系统设计毕业论文Word下载.doc_第10页
第10页 / 共42页
排课系统设计毕业论文Word下载.doc_第11页
第11页 / 共42页
排课系统设计毕业论文Word下载.doc_第12页
第12页 / 共42页
排课系统设计毕业论文Word下载.doc_第13页
第13页 / 共42页
排课系统设计毕业论文Word下载.doc_第14页
第14页 / 共42页
排课系统设计毕业论文Word下载.doc_第15页
第15页 / 共42页
排课系统设计毕业论文Word下载.doc_第16页
第16页 / 共42页
排课系统设计毕业论文Word下载.doc_第17页
第17页 / 共42页
排课系统设计毕业论文Word下载.doc_第18页
第18页 / 共42页
排课系统设计毕业论文Word下载.doc_第19页
第19页 / 共42页
排课系统设计毕业论文Word下载.doc_第20页
第20页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

排课系统设计毕业论文Word下载.doc

《排课系统设计毕业论文Word下载.doc》由会员分享,可在线阅读,更多相关《排课系统设计毕业论文Word下载.doc(42页珍藏版)》请在冰点文库上搜索。

排课系统设计毕业论文Word下载.doc

本人授权省级优秀学士学位论文评选机构将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

本学位论文属于

1.保密□,在_________年解密后适用本授权书。

2.不保密□。

(请在以上相应方框内打“√”)

年月日

导师签名:

本科生:

周林指导教师:

张发勇

摘要

作为一个学生,无论是在小学中学还是大学,课表都是我们在学校里接触最多的。

然而,我们很少会去关注课表是怎么排出来的,尤其是在大学以前似乎课表并不复杂。

然后,到了大学里,看似简单的课表却引起了我们的注意。

大学里的课程往往具有很强的随机性和流动性,学生个人的课程有一定的共性但是却不完全相同尤其是课程往往没有固定的教室。

而是根据自己的选课情况来安排上课时间和地点,而且我们也发现大学中教室的资源往往非常紧张。

这样一来排课问题就构成了一个多类资源的优化组合问题。

S.Even等人在1975年将排课问题论证为NP完全问题。

这类问题往往没有唯一解,而只能在有限的要求范围内求得相比较而言更合理的解。

那么,如何在有限的教室、老师资源以及各种硬性软性要求给出一个最优解就是排课算法的核心要求。

本课题着重与在优化现有的排课算法,尤其是遗传算法,针对其在排课应用中的不足进行优化从而能够得出更为高效、合理的排课算法解决高校排课问题。

关键词:

JSP、遗传算法、排课系统

SchedulingAlgorithmResearchandDevelopment

BachelorCandidate:

ZhouLinSupervisor:

ZhangFayong

ABSTRACT

Asastudent,whetheritisincontactwithallofourelementaryschooloruniversity,thelargestintheschoolcurriculum.However,werarelyfocusoncurriculumishowtorowout,inparticular,seemstobeattheuniversitycurriculumisnotcomplicatedbefore.Then,totheuniversity,seeminglysimpleschedulehascaughtourattention.Thereisnofixedcourseintheuniversityclassroom,studentsarenolongerthesameasbeforewithaclassasaunittogotoclass.Butaccordingtotheirownsituationtoarrangeelectiveclasstimeandplace,butwealsofoundthatuniversityclassroomresourcesareoftenverytight.Asacoursearrangementconstitutestheoptimalcombinationofmanytypesofresourcesproblem.S.Evenetal.1975willdemonstratetocourseschedulingproblemsNP-completeproblems.Suchissuesareoftennottheonlysolution,butonlytoobtainamorereasonablecomparisonsolutionwithinalimitedrangeofrequirements.So,howtogiveanoptimalalgorithmisarrangingthecorerequirementsforlimitedclassroom,teacherresources,andavarietyofsoftrigidrequirements.ThispaperfocusesonoptimizingexistingandSchedulingalgorithms,especiallygeneticalgorithm,arrangingforitsshortcomingsintheapplicationwereoptimizedtobeabletodrawamoreefficientandrationalArrangingCourseSchedulingalgorithmstosolveproblems.

Keywords:

JSP;

geneticalgorithm;

SchedulingSystem

目录

第一章绪论 1

§

1.1排课算法研究背景 1

1.2常用的排课算法对比 1

1.2.1贪心算法 1

1.2.2回溯算法 2

1.2.3遗传算法 2

1.3课题目标以及意义 3

1.3.1课题目标 3

1.3.2课题意义 3

第二章相关知识概述 4

2.1JavaServerPages 4

2.1.1JavaServerPages简介 4

2.1.2JavaServerPages特点 4

2.2SQLServer2005 5

2.2.1SQLServer2005简介 5

2.2.2SQLServer2005特点 6

2.3MyEcplise 6

2.4本章小结 7

第三章排课算法设计 8

3.1排课问题描述 8

3.2排课问题分析 8

3.3约束条件 9

3.4约束条件数学表示 9

3.5排课算法——遗传基因编码 11

3.6排课算法——适应度计算 12

3.6.1离散程度适应度计算 12

3.6.2较难课程适应度计算 13

3.6.3特殊课程适应度计算 13

3.7排课算法—— 选择、交叉和变异 13

3.7.1选择 14

3.7.2交叉 14

3.7.3变异 14

3.8排课算法——课程冲突检测 14

3.9主要算法描述 15

3.9.1选择算法描述 15

3.9.2交叉变异算法描述 16

3.9.3排课算法描述 17

3.10本章小结 20

第四章排课系统总体设计 20

4.1需求分析 20

4.2系统总体结构 21

4.3本章小结 21

第五章排课系统详细设计与实现 22

5.1数据库设计 22

5.1.1数据库ER图 22

5.1.2数据库各表设计 22

5.2登录模块设计 26

5.3系统主页面总布局 27

5.4基础信息管理设计 28

5.5排课设置管理模块设计 30

5.6排课模块设计 31

5.7系统管理模块设计 32

5.8本章小结 33

第六章总结与展望 33

6.1总结 33

6.2展望 33

致谢 35

参考文献 36

2015.06中国地质大学(武汉)学士学位论文35

第一章绪论

1.1排课算法研究背景

最初在采用计算机自动排课以前,高等院校只能采用人工排课的方式。

人工排课只能依靠教务处的工作人员手动的安排整个学校教育教学工作。

这种手工人力的排课方式有非常多的缺点。

首先最显著的缺点就是排课效率过于低下,其次课表排好以后很难修改,不便于调整。

对于实际使用过程中出现的特殊情况如临时调课等状况不能很好的应对。

因此,当学生人数越来越多,达到数万甚至更多,教师人数达到数百数千,要为这成百上千的学生和教师安排出科学合理的课程表,几乎是不可能的任务。

就算能够完成,但也往往需要花费很大的人力物力,工作量巨大。

并且即使排出课程表也不够灵活,很难进行调整。

随着高等教育的不断发展,不管是高等院校的在校学生人数还是教职工人数都在不断地增加,课程安排复杂度也不断提高。

着这种情况下,人工排课的缺点与不足就显得更加突出,手动排课的方式已经无法在满足当前排课问题的需求。

同时,随着计算机技术的快速发展,计算机技术在各个领域的应用也越累越广泛。

人们很自然地就将计算机技术应用到这一领域中。

显而易见,使用计算机技术进行排课,可以排课缩短排课时间、节省人力资源、并且有比较高的排课质量,可以迅速地得出满足各种约束要求的可行排课结果。

1.2常用的排课算法对比

1.2.1贪心算法

贪心法(greedymethod)主要是将分级处理方法进行改进,着眼于局部,然后逐步产生最优解。

贪心算法从问题的一个初始解出发,在特点的原则下做出一系列的选择(一旦做出选择,就不再进行修改),也就是选择当前状态下的最优选择,从而渐渐逼近原定的理想目标。

在排课问题中,贪心算法就是从某一个初始状态开始,根据给定的策略向安排好所有待排课程这一目标逐步前进。

贪心算法每一步都需要进行判别,在即将进行的下一步中能否得到可行解的一个解元素。

如果可以则持续进行,依然根据贪心策略想目标推进。

当算法不能再找到符合要求的解时,算法停止。

最终可以得到可行解。

贪心算法的优势在于时间复杂度较小,能用较少的执行步数得到相应的解。

而其最大的不足就是解不够合理,虽然每一步都能做到局部最优化,但是总体得到的结果却不一定是整体最优解。

为了能够尽可能的规避贪心算法的不足,在算法最后能够得到的解更科学合理的整体较优解。

为此,可以在算法中采用最优化算法(比如动态规划等)。

1.2.2回溯算法

回溯算法也被叫做试探算法。

可以认为它是对深度优先算法进行修改和扩充的孙发。

回溯算法根据原定的优先条件进行深度优先搜索。

但当搜索进行到某一步发现不能满足条件时,则退回到前一步重新进行选择。

其中能够满足返回条件的状态点被称为回溯点。

实际运用到排课算法中,优先条件就是排课问题中的制约条件,如果不能够满足制约条件,那么算法做出的选择就不是最优选择。

当在一个状态点遍历了所有可能的选择之后不存在满足条件的选择,那么这个状态点就是回溯点。

回溯法所具有的一个非常重要的特点就是在搜索的过程中会产生解空间。

在搜索算法执行的任何时候,存储从开始到当前的搜索路径。

所以,回溯算法的空间需求为一个常数,也就是从开始节点直到最远节点的路径长度。

这个特点非常重要,使用回溯算法的解所需要的空间大小往往是最长路径长度的指数倍数。

因此,使用回溯算法排课往往过于消耗存储空间,特别是数据量大的时候代价太大。

回溯算法还有一个缺点就是时间复杂度非常大。

1.2.3遗传算法

遗传算法(英文全称GeneticAlgorithm,简记为GA)最早是由美国密歇根大学J.Holland教授于1975年提出,并且在之后出版了非常具有影响历的《AdaptationinNaturalandArtificialSystems》。

遗传算法基于自然进化过程中的自然选择机制和生物遗传机制,由生物的自然进化过程抽象而来。

遗传算法是一种全局优化策略适用于寻找最优解的最优规划以及多目标规划问题。

遗传算法能够有效避免陷入局部最优而能够考虑到各个因素从而得到全体最优解或次于全体最优解的次优解。

有一个故事可以帮助我们理解遗传算法:

从前,有一大群袋鼠,它们被莫名其妙的零散地遗弃于喜马拉雅山脉,于是只好在那里艰苦的生活。

这些袋鼠并不知道它们的任务是寻找珠穆朗玛峰。

海拔低的地方弥漫着一种无色无味的毒气,海拔越高毒气越稀薄。

可是可怜的袋鼠们对此全然不觉,还是习惯于活蹦乱跳。

于是,不断有袋鼠死于海拔较低的地方,而越是在海拔高的袋鼠越是能活得更久,也越有机会生儿育女。

就这样经过许多年,这些袋鼠们竟然都不自觉地聚拢到了一个个的山峰上,可是在所有的袋鼠中,只有聚拢到珠穆朗玛峰的袋鼠完成了任务。

遗传算法的实现过程实际上就像自然界的进化过程那样。

首先寻找一种对问题潜在解进行“数字化”编码的方案(建立表现型和基因型的映射关系)。

然后用随机数初始化一个种群,种群里面的个体就是这些数字化的编码。

接下来,通过适当的解码过程之后,用适应性函数对每一个基因个体作一次适应度评估,用选择函数按照某种规定择优选择。

让个体基因交叉变异,然后产生子代。

遗传算法并不保证你能获得问题的最优解,但是使用遗传算法的最大优点在于你不必去了解和操心如何去“找”最优解,而只要简单的“否定”一些表现不好的个体就行了,这是遗传算法的精粹。

1.3课题目标以及意义

1.3.1课题目标

本课题着重对遗传算法进行研究,将传统的遗传算法进行改进,尽量发挥遗传算法的优势并改善固有缺陷然后应用到排课算法中。

通过计算机来进行自动排课,抽象出问题中所存在的要素,结合数学表达式来表达一系列的约束条件,并且能够依据课表形式和排课过程中普遍存在的规律,可以有效缩减排课问题的空间搜索范围,从而快速高效的进行排课。

1.3.2课题意义

教务排课管理系统是高校教务系统中的一项重要组成部分,排课系统否科学高效得排出高质量的课程表将很大程度上会影响高校的正常教学,有时甚至关系到高校的教育教学质量。

排课系统的首要任务就是排课,首先要把获取学校所有班级、学生的课程信息,再依据高校各个专业教育教学计划以及高校现有的教学资源来安排各个班级、学生的课程表,从而能够更为高效地配置所有教育资源,使高校教务工作能够非常科学、高效的完成。

本课题的主要研究意义在于实验并完善遗产算法在排课上的应用,同时设计并初步编码完成一个实验性质的自动排课系统,应用于高校教务教学管理,从而能够提高教务管理的工作效率。

第二章相关知识概述

2.1JavaServerPages

2.1.1JavaServerPages简介

JSP全名为JavaServerPages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它[1] 

是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。

JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。

用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

它实现了Html语法中的java扩张(以<

%,%>

形式)。

JSP与Servlet一样,是在服务器端执行的。

通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。

网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。

JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。

JSP(JavaServerPages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。

Java 

Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。

JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

2.1.2JavaServerPages特点

优点:

(1)一次编写,到处运行。

除了系统之外,代码不用做任何更改。

(2)系统的多平台支持。

基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。

相比ASP的局限性JSP的优势是显而易见的。

(3)强大的可伸缩性。

从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。

(4)多样化和功能强大的开发工具支持。

这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。

(5)支持服务器端组件。

web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。

JSP可以使用成熟的JAVABEANS组件来实现复杂商务功能。

缺点:

(1)与ASP也一样,Java的一些优势正是它致命的问题所在。

正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。

(2)Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。

2.2SQLServer2005

2.2.1SQLServer2005简介

MicrosoftSQLServer2005是软件开发中使用非常广泛的数据库管理系统,它是由美利坚合众国的微软公司开发并推出的数据库开发、管理系统。

它是由一系列的图形工具整合在一起构成的,这些图形工具主要有服务器管理、企业管理器和查询分析器。

服务器管理的主要功能是启动和关闭数据库服务。

企业管理器的主要功能是创建、修改和备份数据库。

查询分析器的主要功能是交互执行标准T-SQL语句、SQL函数和存储过程,而且具有图形化的查询分析功能。

SQLServer2005作为一款数据库开发与分析的软件,能够方便快捷的为可伸缩性的电子商务、企业ERP和数据仓库等创建出优秀的解决方案。

在SQLSERVER的2005版出现时,Internet网络已兴起,所以它为网络应用程序的开发和设计做了很多工作,能很好的适应网路应用程序的数据管理和数据分析。

在开发电子商务、数据仓库应用时,如果采用由SQLSERVER2005作为核心组件之一的WindowsDNA(DistributedInternetArchitecture)架构,能够使得整个应用的开发周期大大缩短。

另外,SQLSERVER2005全方位支持HTTP和XML(ExtensibleMarkupLanguage)扩展标示语言。

SQLServer2005具有着性能高和企业级可伸缩性的特点。

SQLServer2005安装部署与WindowsNT操作系统之上,与操作系统一起提供了对多处理器、大内存和64位硬件平台的支持。

而且SQLServer2005还支持WindowsNT的多路群集,为较大规模的应用提供了良好的支持。

在可管理性和易用性方面,SQLServer的上一个版本7.0在行业内就处于领先地位,而升级版的2005不仅在可管理性和易用性方面做了大量改进,而且在性能、扩展性和安全性方面也做了许多改进。

SQLServer2005能为具有商务活动的网络站点提供优异的性能,具有商务活动的网络站点对性能、可管理性、易用性都有较高的要求,而SQLServer2005能够很好的做到这些。

2.2.2SQLServer2005特点

1.SQLServer2005的数据分析性能是非常高效的

SQLServer2005具有高效的数据操作机制。

SQLServer2005在处理查询时,能够智能优化SQL语句,对Where条件中的多个条件进行分析,找出最佳的过滤及交叉顺序,并且可以将优化好的SQL语句缓存起来,下次再有同样的SQL查询时将直接使用缓存的优化过的SQL语句。

2.SQLServer2005的业务扩展性是灵活的

数据仓库技术直接回答的是业务问题,其实现方式也是以解决一个个业务需求的形式组织的。

随着新业务的出业务需求建设新的模型,这种堆叠形式的建设方式为整个系统随业务的发展而平稳发展提供了良好的条件。

3.SQLServer2005的安全性是与操作系统集成在一起的

MicrosoftSQLServer2005的安全性是与操作系统集成在一起的,从而可以利用windows的强大功能,为数据库用户实现更高的安全性。

操作系统提供了OLAP管理器,通过OLAP管理器强大而专业的管理功能,实现对用户权限的更为细致和专业的划分和控制。

MicrosoftSQLServer2005具有细致而全面的安全设置选项。

数据库用户具有不同的级别划分,数据库管理员可以根据实际情况,对数据库用户进行细致的级别划分,使得数据系统的安全性更有保障。

由高到低的级别依次为服务器级、数据库级、多维数据集挖掘模型级、维度成员级和单元级。

4.SQLServer2005的易用性

SQLServer2005的企业管理器是图形化工具,界面显示与操作方式都与Windows操作系统的类似,在当前Windows普及的背景下,开发人员可以很快上手并熟悉,基本不用化太多时间专门的学习SQLServer2005软件的使用。

SQLServer2005可以对工作负载进行动态优化,根据最优的参数设置进行智能调节,从而尽可能减轻数据维护管理人员的工作量。

SQLServer2005还为开发人员提供了各种常用操作的向导程序及功能强大的图形化编辑器。

向导程序可以让开发人员能够在图形化界面下,按向导的操作提示逐步完成相关操作,极大的方便了开发人员的使用。

图形化编辑器更是使得开发人员可以通过几次选择操作,就能完成本来需要手敲的脚本,大大提高了开发人员的开发效率,而且降低了出错率。

SQLServer2005还提供了将数据导入导出向导,可以方便的将数据库中导出到Excel、txt等格式文件中,也可以这些格式文件中导入数据。

2.3MyEcplise

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2