排课系统的设计与实现毕业设计.docx

上传人:b****8 文档编号:9549087 上传时间:2023-02-05 格式:DOCX 页数:45 大小:321.42KB
下载 相关 举报
排课系统的设计与实现毕业设计.docx_第1页
第1页 / 共45页
排课系统的设计与实现毕业设计.docx_第2页
第2页 / 共45页
排课系统的设计与实现毕业设计.docx_第3页
第3页 / 共45页
排课系统的设计与实现毕业设计.docx_第4页
第4页 / 共45页
排课系统的设计与实现毕业设计.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

排课系统的设计与实现毕业设计.docx

《排课系统的设计与实现毕业设计.docx》由会员分享,可在线阅读,更多相关《排课系统的设计与实现毕业设计.docx(45页珍藏版)》请在冰豆网上搜索。

排课系统的设计与实现毕业设计.docx

排课系统的设计与实现毕业设计

毕业设计(论文)

课题名称课表编排系统设计与实现

毕业设计(论文)原创性声明和使用授权说明

原创性声明

本人郑重承诺:

所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:

     日 期:

     

指导教师签名:

     日  期:

     

使用授权说明

本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:

按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:

     日 期:

     

学位论文原创性声明

本人郑重声明:

所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:

日期:

年月日

学位论文版权使用授权书

本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

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

涉密论文按学校规定处理。

作者签名:

日期:

年月日

导师签名:

日期:

年月日

 

指导教师评阅书

指导教师评价:

一、撰写(设计)过程

1、学生在论文(设计)过程中的治学态度、工作精神

□优□良□中□及格□不及格

2、学生掌握专业知识、技能的扎实程度

□优□良□中□及格□不及格

3、学生综合运用所学知识和专业技能分析和解决问题的能力

□优□良□中□及格□不及格

4、研究方法的科学性;技术线路的可行性;设计方案的合理性

□优□良□中□及格□不及格

5、完成毕业论文(设计)期间的出勤情况

□优□良□中□及格□不及格

二、论文(设计)质量

1、论文(设计)的整体结构是否符合撰写规范?

□优□良□中□及格□不及格

2、是否完成指定的论文(设计)任务(包括装订及附件)?

□优□良□中□及格□不及格

三、论文(设计)水平

1、论文(设计)的理论意义或对解决实际问题的指导意义

□优□良□中□及格□不及格

2、论文的观念是否有新意?

设计是否有创意?

□优□良□中□及格□不及格

3、论文(设计说明书)所体现的整体水平

□优□良□中□及格□不及格

建议成绩:

□优□良□中□及格□不及格

(在所选等级前的□内画“√”)

指导教师:

(签名)单位:

(盖章)

年月日

评阅教师评阅书

评阅教师评价:

一、论文(设计)质量

1、论文(设计)的整体结构是否符合撰写规范?

□优□良□中□及格□不及格

2、是否完成指定的论文(设计)任务(包括装订及附件)?

□优□良□中□及格□不及格

二、论文(设计)水平

1、论文(设计)的理论意义或对解决实际问题的指导意义

□优□良□中□及格□不及格

2、论文的观念是否有新意?

设计是否有创意?

□优□良□中□及格□不及格

3、论文(设计说明书)所体现的整体水平

□优□良□中□及格□不及格

建议成绩:

□优□良□中□及格□不及格

(在所选等级前的□内画“√”)

评阅教师:

(签名)单位:

(盖章)

年月日

教研室(或答辩小组)及教学系意见

教研室(或答辩小组)评价:

一、答辩过程

1、毕业论文(设计)的基本要点和见解的叙述情况

□优□良□中□及格□不及格

2、对答辩问题的反应、理解、表达情况

□优□良□中□及格□不及格

3、学生答辩过程中的精神状态

□优□良□中□及格□不及格

二、论文(设计)质量

1、论文(设计)的整体结构是否符合撰写规范?

□优□良□中□及格□不及格

2、是否完成指定的论文(设计)任务(包括装订及附件)?

□优□良□中□及格□不及格

三、论文(设计)水平

1、论文(设计)的理论意义或对解决实际问题的指导意义

□优□良□中□及格□不及格

2、论文的观念是否有新意?

设计是否有创意?

□优□良□中□及格□不及格

3、论文(设计说明书)所体现的整体水平

□优□良□中□及格□不及格

评定成绩:

□优□良□中□及格□不及格

(在所选等级前的□内画“√”)

教研室主任(或答辩小组组长):

(签名)

年月日

教学系意见:

系主任:

(签名)

年月日

摘  要

近年来随着大学的扩招和规模的扩大,排课问题已成为一个非常棘手的问题,在教室资源有限的前提下课程编排显得更加繁重,同时课程的编排也更成为教学管理工作的关键,在一定程度和深度上影响着学生的培养与教学质量的提高。

利用计算机进行自动排课,不但能使教务人员从繁杂的排课任务中解脱出来,提高教务管理工作效率,而且能改善教学管理质量,合理、高效地利用有限的教学资源,使学校的各种教学活动、教学管理及其它相关的工作能够有序、规范地进行,维持正常的教学秩序,同时对推动教务管理的信息化起到非常重要的作用。

排课问题是一个有约束的、多目标的、难解的组合优化问题,是属于NP-完全问题。

研究者提出了多种排课算法,例如模拟退火、列表寻优搜索、约束满意等算法,而遗传算法是很有效的求解最优解的算法之一。

遗传算法通过交叉、变异、选择三种遗传算子来实现遗传和变异的功能,并采用适应度函数保证排课结果趋于最优,对现有教学资源进行科学合理的安排,在实践中具有一定的应用价值。

针对之前研究者未解决的运行时间太长问题,本文提出了一套基于二维编码的改进的编码方法和教室位置填充方法,精简了染色体信息量而大大缩短了系统的运行时间。

此外,在系统设计中,运用了基于容器的容器编程技术,实现了不定数据量的便捷处理。

关键词 遗传算法;排课问题;适应度函数

ABSTRACT

AbstractInrecentyears,withtheUniversityExpansionandexpansionofthescale.timetablinghasbecomeaverydifficultproblem.Limitedresourcesintheclassroomcontext,Curriculumhasbecomemoreonerous.Thecoursesbecomethekeytoteachingmanagementatthesametime.Itaffectsstudentsindevelopingandimprovingthequalityofteachingtosomeextent.Arrangingautomaticallybycomputer,notonlytoacademicstafffromthecumbersometaskoffreeingArranging,improveefficiencyofeducationaladministration,butalsotoimprovethequalityofteachingmanagement.Rationalandefficientuseoflimitedteachingresources,makingvarietyofteachingactivities,teachingmanagementandotherrelatedworkorderlyandstandardizedmanner,keepingthenormalteachingorder,Atthesametimepromotingtheacademicmanagementofinformationtechnologyplayaveryimportantrole.

Timetablingproblemisaconstrained,multi-objective,intractablecombinatorialoptimizationproblems,itbelongstoNP-Completeproblems.ResearchershaveproposedmanyotherTimetablingProblem,suchasSimulatedAnnealing,Listofsearchoptimization,Constraintsatisfactionandsoon.Butgeneticalgorithmisveryeffectivealgorithmforsolvingtheoptimalsolution.

GAcarryoutgeneticandfunctionalvariationthroughCrossover,mutationandselectionofthreegeneticoperators.AndadoptfitnessfunctionensureArrangingResultstendtothebest.Accordingtotheproblemthatrunningtimeistoolong,whichtheres-earchersdidn'tresolvedwellbefore,thispaperputsforwardaimprovedmethodbasedontwo-dimensionalcodingandtheclassroomfilledmethod,simplifyingthechromosomeinformationandgreatlyshorteningthesyetemoperationtime.Inaddition,inthesystemdesign,weusetheprogrammingmethodofcontainerbasedoncontainer,realizingtheconvenientandfastprocessingofuncertainquantitydata.

Keywordscurriculumarrangement;geneticalgorithm;Prioritystrategy

 

中文摘要..............................................

英文摘要..............................................

1前言..............................................1

2排课问题描述...........................................2

2.1问题需求分析.......................................2

2.2数据需求分析

2.2.1时间问题

2.2.2教师和课程问题

2.2.3教室的问题

2.3功能需求分析

2.3.1院管理模块

2.3.2自动排课模块

2.4排课过程的约束条件

3自动排课系统的设计.......................................2

3.1遗传算法的思想

3.2构建基因编码和染色体

3.2.1混合式编码

3.2.2染色体的表示

3.2.3初始化种群

4数据库问题..............................................3

4.1数据库设计

4.1.1概念模型设计

4.1.2逻辑模型设计

4.1.3数据库的物理设计

4.2期望结果

4.2.1构造适应度函数

4.3功能模块的设计

4.3.1登录模块

4.3.2主界面模块

4.3.3学院管理模块

4.3.4查询模块

4.3.5排课模块

5冲突问题解决...........................................4

6结果评估.............................................5

7结束语..............................................6

致敬词..............................................7

参考文献..............................................8

附录..............................................8

 

1 前言

随着高校招生逐年扩张,大学课程向着广度和深度发展,高校的教师、教室等一些资源越发显得紧张,不管是在时间还是效率方面,用人工排课已不能够解决现有的问题。

排课是高校日常教学工作和其他活动的基础,是教师和学生正常科学工作学习的依据。

所以计算法自动排课已成为一个重要的研究课题[1]。

国内学者在自动排课系统方面曾做过一些研究,如用到到退火算法、回溯算法、遗传算法,但运行结果尚有待改进的地方,排课效果不尽人意[5]。

我们认为,问题不尽在数学建模上,还与问题的处理方式有关。

将遗传算法应用于排课问题中,首先,初始化课表种群,其次,检测初试种群中的冲突,然后,对种群做选择,杂交,突变操作,一直迭代到具体指定的代数,最后就会得到较优解。

文[1]中提到编码时染色体上基因片存储信息大小为11字节,而本文的编码方式一个基因片只用了6字节,轻装运行,经试验得出,速度更快。

还有,文[1]介绍把教室与时间等信息共同处理的思路,这可能会产生空间上的冲突,而本文提出将教室分离出以单独处理,就完全解决了空间上的冲突问题。

本文根据高校开课的具体情况,采用优化的编码方案,满足排课过程中的一些硬性和软性约束因素,利用遗传算法对课表进行了优化,从而得到了最终的无冲突、更人性的排课方案。

2 排课问题描述

2.1问题需求分析

排课工作是一项十分繁重而复杂的工作,就以一般高校而言,它涉及到几千多门课程进行合理的组织安排,而所使用的教室资源却在学生规模每年都在增加的趋势下越发显得紧张了。

排课的整个过程中充满了矛盾运动,其中包括上课班级、所开课程、任课教师、上课时间、上课地点这5个方面在排列组合中发生的冲突和矛盾现象。

课程门类多、班级多、教师少、教室少、教师连续上课的要求、班级连续上课的时间合理安排是排课时发生冲突和矛盾的主要因素,而班级多、教室少则是矛盾的重要方面。

课程表则是解决这些矛盾的舞台,是提高教学管理水平、组织师生进行有序教学的规范之一,对有效地提高教育教学质量有重要作用。

如果课程表编排得不合理、不科学,将影响课堂教学的效率和教学的整体效果。

要想编排好学校的课程表,需要综合考虑学校的教师、教室、学生、班级、时间等多方面因素,反复调整,避免冲突。

   一张正确的课表应至少满足以下硬约束条件:

[3]

   

(1)一个教师或者一个班级或者一个教室在同一时间段内只能安排一门课程;

   

(2)分配的教室可容纳人数应该大于学生数。

   除了上述的硬性约束,还有些软约束,这些软约束有助于使得课表更加合理,更加人性化。

这些软约束条件可能是[4]:

   

(1)尽量在早上安排必修课,而下午安排选修课,晚上尽量不排课;

   

(2)尽可能满足个别教师的特殊上课时间要求;

   (3)一门课尽量分散在一个星期中,即某天上完某一门课后,要隔一天以上再上这门课,以使教师有充足的时间备课和批改作业,而学生也有足够的时间复习消化;

   (4)一个教师的课不能排满一整天;

   (5)学生课表中的上课时间不能过分集中,应避免一天课程很满而另一天却一整天没课的情况。

这些软约束条件各院校有所不同,在我们的研究中,旨在我们定义的约束范围内给出一个遗传算法的解决方法,并对其进行优化操作。

图1排课流程图

2.2数据需求分析

排课涉及的相关数据主要包括:

时间、班级、课程、教室(空间)、教师等5个要素。

开始算法设计的基础是对这些数据之间的问题的透彻分析和适当的处理。

2.2.1时间问题

在本文中考虑的是周课表,通过对全国部分高校做的调查,综合分析了其中大部分高校的教学特点,我们在此做出了一个较大众化的且较合理的时间划分模式。

设定周一至周五,共五天上课,一天有十节课,上课方式都为一大节包括2个相邻的小节,不能在上、下午之间跨时段。

把每天用于上课的时间划分为5个时间片,根据学院开课的实际情况,一般每学时是45分钟,为1小节课,每2小节课合为一大节课,故把每2小节课时间定为一个时间片,一天划分为5个时间片:

(1)上午1,2节课8:

10-9:

50;

(2)上午3,4节课10:

10-11:

50;

(3)下午5,6节课2:

30-4:

10;

(4)下午7,8节课4:

20-5:

50;

(5)晚上9,10节课7:

30-9:

10;

这样,每周5天涉及25个时间片。

用Tl,T2,......,T25表示,其中

TI,T2,T3,T4,T5为星期一的5个时间片,依次类推。

则排课问题类似于填充5×5的周时间片安排表。

表2-1周时间片分布表

Table2-1themanagementtableoftheweektimeslip

周一

周二

周三

周四

周五

T1

T6

T11

T16

T21

T2

T7

T12

T17

T22

T3

T8

T13

T18

T23

T4

T9

T14

T19

T24

T5

T10

T15

T20

T25

根据时间片编号,可进一步转化为1×25的表格。

全校有N个教学班级,则周课表为:

以25个时间片为列,形成一维的时间序列,每个班级为行组成的一个二维数据表。

我们在此系统的排课都是按一个大节开设的,符合按25个时间片划分的设计,但确有少量的课程的周学时数为单数,如“3学时”或“5学时”,在此仍按“4学时”或“6学时”进行编排,虽然这会浪费一小节课程。

2.2.2教师和课程问题

每个课程都有自己的编号、名称以及开课学院。

每个课程都要有授课教师。

每门课程都有指定的教室类型。

如普通教室、语音室、操场、实验室或机房等等。

每门课程都有授课计划,包括起始周和截止周以及周学时安排。

在处理课程与教师时要注意以下几个问题:

(1)“授一班多门课”问题:

同一教师可以只上一门课,也可上多门课,如果同一教师在同一个班级教授多门课程,那么把课程和教师作同一变量考虑就会引起课程的混乱,此问题须分情况解决,我们将在系统设计中,学院安排开课任务时解决此问题。

(2)“一师多班”冲突问题:

一位教师可能只给一个班讲课,也可能同时给多个班级讲课,也就是说同一教师可以在多个班出现,这样可能会出现同一时间,同一教师在多个班级上课的冲突,在编排课程表时此类冲突必须解决。

(3)“多学时”问题:

对于有些课程既可能只上一次,既2学时课程,而有些课程可能上多次,如4学时、6学时等,多学时的课程如何处理也是在编排课程表时必须解决的问题。

(4)“固定课”问题:

有的教师因为某些原因需要安排特定的教学时一段,如教室受到其他课程的影响,或者某学院部门领导,因工作性质关系,须指定安排上课时间为“星期五的第5、6节”,这样的要求在编排课程表时必须满足,即“固定时段”问题。

(5)“特殊课”问题:

像体育课,要跟硬件设施有关,故要妥善处理。

2.2.3教室的问题

如今的大学都有很多的教学楼,校园面积也很大,宿舍与教学楼,教学楼与教学楼之间的距离可能会比较大,如果安排不佳的话,会导致学生上课时要跑动很远距离,浪费不必要的时间。

本文在地理位置上是学校统一规划,进而综合解决位置问题,学校要规划好各个学院的学生在哪些教学楼里就近上课,而这样做的目的就是为了减少学生和教师的走动范围。

至于如何去确定一个教室,例如5-0122,就表示5教学楼,1楼22号教室。

每个教室在同一时间内只能接纳一门课程的授课,并且教室容量应该大于等于上课的人数。

当上课的人数远远小于教室容量时,这种情况也往往不合适的。

2.3功能需求分析

根据业务分析和数据分析,可得出排课系统主要完成以下几个功能:

2.3.1院管理模块

这一模块首先是每个学院从教学计划中安排自己学院的开课任务书,具体就是对本学院课程和教师的安排。

这一模块由学院排课工作人员来设置,如设置学年学期就是设置即将排课的学年学期,合并本学院的两个班级组成一个新班一块上一门公共课,设置一门课程则为上课周数、每周上课节次、有哪位老师讲授等等信息;这个模块很好的解决了每个学院不同的特殊情况,以教师为重点,学院可以随意调整。

另一个功能,学院在这块可以查询本学院的课表,还有学院内班级的课表。

还有对已排好的课程做一些调整操作。

2.3.2自动排课模块

这一模块主要完成课程上课时间、上课地点的安排。

它的实现运用了遗传算法中的选择、交叉、变异等操作,对算法得出的结果中最好的一个个体保留,就是要求的结果,虽然不是最完美符合的,但是它的适应度值已经完全可以符合学校教学所要求的了。

然后,对这个(班级,教师,课程,时间)记录做变换,让位置表去填充它,当然是按条件填充,就可以完成整个排课的大部分工作了,从而得到课表。

此图描述了功能模块图,如图2示:

图2功能模块图

Chart2thefunctionmodelchart

2.4排课过程的约束条件

排课是将教师与学生在时间和空间上根据不同的约束条件进行排列组合,在此同时也要安排课程,以使教学正常进行。

在本文约束条件主要为避免冲突,所谓冲突,它所包含的内容很广泛,几乎发生在所有两个或多个排课涉及因素之间。

避免冲突也是排课问题中要解决的核心问题。

只有在满足全部约束条件和避免所有冲突的基础上,才能保证整个教学计划合理正常进行。

而对教师、教室、学生及时间等几部分资源进行最优化组合配置,才能保证充

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1