基于遗传算法的高校排课系统研究

合集下载

基于遗传算法的排课系统研究的开题报告

基于遗传算法的排课系统研究的开题报告

基于遗传算法的排课系统研究的开题报告一、研究背景排课系统是学校管理中非常关键的一部分,它对于学校教学的顺利进行和教学质量的提高有着重要的影响。

然而,由于学生的不同年级、专业和选修课程的不同,教师的不同任教课程等等,使得排课系统的制定变得非常复杂,难以在短时间内完成。

遗传算法是一种基于生物遗传进化的优化算法,具有强大的搜索能力和全局寻优能力,在组合优化和排列优化中有着广泛的应用,因此,将遗传算法应用于排课系统中,能够解决复杂的排课问题,优化排课结果,提高教学效益和管理效率。

二、研究目的和意义本研究的目的是基于遗传算法设计开发一种自适应的排课系统,实现对复杂排课问题的求解,优化排课结果,提高教学效益和管理效率。

此外,本研究的意义如下:1. 实现排课自动化,提高排课效率传统的排课方式往往需要管理员手动进行规划,计算量大,易出错,导致排课效率低下。

采用遗传算法进行排课,能够自动搜索可行解,提高排课的效率。

2. 优化排课结果,提高教学效益和管理效率遗传算法能够对多个因素进行优化,如教师不同时间段的空闲时间、学生年级、选修课程等具体参数,以及对教学资源的合理利用等,旨在实现最优解,达到优化排课结果的效果。

三、研究内容和方法本研究的主要研究内容是设计一种基于遗传算法的排课系统,研究如何将遗传算法应用到排课问题中,实现复杂排课问题的求解,优化排课结果,提高教学效益和管理效率。

具体研究方法如下:1. 系统需求分析和功能设计在排课系统的设计过程中,需要进行系统需求分析和功能设计。

需求分析和功能设计是系统设计和开发的重要环节,其目的是明确系统的需求和功能,为后续的程序设计和开发提供清晰的指导。

2. 遗传算法的原理和算法设计遗传算法是一种基于生物遗传进化的优化算法,具有强大的搜索能力和全局寻优能力。

本研究通过对遗传算法的原理和算法的设计进行研究,以此为基础进行排课问题的模型建立和优化求解。

3. 系统实现和性能优化本研究将采用Java语言进行开发,使用数据库进行相关数据的管理,处理排课中的各种信息。

基于遗传算法的排课系统开发探究

基于遗传算法的排课系统开发探究

基于遗传算法的排课系统开发探究宋岐【期刊名称】《电子测试》【年(卷),期】2016(000)002【摘要】高职院校招生力度加大,学生不断增多。

为教师和学生安排好上课的时间和地点,成为做好教学工作的一个基本环节。

但是很多高职院校都面临着学生多、课程多、实验室与教室资源不充足的问题。

对于教务工作者而言,排好课表是一个繁杂的工作。

软件研发人员早就针对排课系统进行了研究。

决定排课系统开发是否成功,在于它算法的选择方面。

最容易接受与实现的是列举法,将所有可能举出,进行选择,这无疑需要耗费时间和巨大的计算量。

难以实现与应用。

研究发现遗传算法适合于排课系统的算法实现。

本文就遗传算法在排课系统方面开发方面的应用做出了详细阐述。

%Higher vocational colleges recruit students to increase,the number of students.For teachers and students to arrange the time and place of the class,and become a basic link of teaching work.But many higher vocational colleges are faced with the problems of many students,many courses,laboratory and classroom resources.For the educational administration staff,arrange schedule is a tedious work.The software developers have already studied the course schedulingsystem.Decide whether the course system development is successful,it is the choice of the algorithm. The easiest to accept and implement is the enumeration method,all of which may be cited,to choose,this will undoubtedly take time and a huge amount of computation.Difficult toimplement and application.It is found that the genetic algorithm is suitable for the course scheduling system.This paper has made a detailed exposition of the application of genetic algorithm in the course scheduling system.【总页数】2页(P55-56)【作者】宋岐【作者单位】哈尔滨铁道职业技术学院,150080【正文语种】中文【相关文献】1.基于遗传算法的高校排课问题的探究 [J], 卢妙娜2.高职院校实验排课系统开发探究 [J], 陈颖;申燕3.基于遗传算法高职教学资源短缺排课问题的探究 [J], 王志江4.遗传算法的探究与应用--以高校排课系统为例 [J],5.基于UML的排课管理系统开发方法研究 [J], 陈文锋因版权原因,仅展示原文概要,查看原文内容请购买。

基于遗传算法的自动排课系统的建模研究

基于遗传算法的自动排课系统的建模研究

基于遗传算法的自动排课系统的建模研究近年来,随着信息技术的发展,自动排课系统的应用越来越广泛,是智能排课系统中的重要组成部分。

自动排课系统不仅可以建模出排课过程中的各种复杂决策问题,而且能够根据现实情况进行有效的规划。

基于遗传算法的自动排课系统是利用遗传算法和快速迭代技术来解决复杂排课问题,是一种新型的自动排课系统的建模技术。

基于遗传算法的自动排课系统与传统的排课方法相比具有明显的优势,它可以有效地提高解决复杂排课问题的速度,有效地减少排课过程中的决策时间,同时可以有效地改善结果。

基于遗传算法的自动排课系统是一种综合性的解决方案,它可以将多种因素结合起来,有效地提高排课效率。

基于遗传算法的自动排课系统的建模是一个复杂的系统,它需要科学家们设计出复杂的模型来解决复杂的排课问题。

采用基于遗传算法的自动排课系统模型可以有效地减少排课过程中的决策难度,提高排课效率,同时可以有效地改进排课的结果。

基于遗传算法的自动排课系统的建模研究所需要的主要工作有:首先,要明确排课过程中的各个约束条件,探索出可以满足复杂排课要求的最优模型;其次,通过比较不同模型的优劣,确定最优解;最后,要建立有效的评估模型,以确定最优模型。

基于遗传算法的自动排课系统已经在实际应用中取得了良好的成果,但随着工作量的增大,排课问题的变化可能也更加复杂。

因此,基于遗传算法的自动排课系统的建模研究不仅仅局限于当前的技术,而应包括未来技术的探索和开发,以满足日益增长的排课需求。

综上所述,基于遗传算法的自动排课系统的建模研究是一项非常重要的工作,它能够有效地提高排课效率,改进排课结果,同时为更好地解决排课问题提供有效的参考。

基于遗传算法的自动排课系统的建模研究不仅仅是当前的技术的发展,也是将来技术的探索和开发,旨在降低排课过程中的决策难度、提高排课效率,同时可以有效地改善结果。

基于遗传算法的排课系统研究

基于遗传算法的排课系统研究

基于遗传算法的排课系统研究基于遗传算法的排课系统的研究谷冰(沈阳建筑大学信息学院)摘要:排课问题是一个有约束的、多目标的组合优化问题,并且已经被证明为一个NP完全问题。

本文主要基于遗传算法,结合排课系统的一些具体需求,研究并实现一个排课系统。

【关键词】排课问题;遗传算法;组合优化一、背景近年来随着大学扩招,大学生人数的增加,每学期的排课问题一直是学校一项巨大的工作任务,使用人工手动排课对于这样一个庞大的课程体系来说简直是天方夜谭。

其中,最突出的问题就是班级多、课程多、教师少、教室少,从而导致传统的手工排课方法,由于工作量巨大、效率低下,容易出错已经不能满足需求;因此,研究计算机排课系统有重大的现实意义。

二、遗传算法遗传算法(Genetic Algorithms,GA)是根据自然界的选择和进化原来发展起来的高度并行、随机、自适应的随机搜索算法。

其模拟达尔文的适者生存原理,每个种群所面临的问题是寻找一种对复杂和变化着的环境最有利的适应方式。

遗传算法维持一个潜在的群体(染色体、变量),定义一个函数为:ttP(t)={ x1??,xn}染色体通常形成是一串的数组,近年来基于实数编码的遗传算法也得到广泛的应用。

每个解用其“适应值”进行评价其优劣程度。

然后通过选择更新(t+1次迭代)个新的群体。

新群体的成员通过杂交和变异进行变换,以形成新的解。

杂交组合了两个亲体染色体的特征,并通过交换父代相应的片段形成了两个相似的后代。

例如,如果父代用五维向量来表示,如下:(a1 ,b1 ,c1 ,d1 ,e1),(a2 ,b2 ,c2 ,d2 ,e2) 在第二个基因后杂交,染色将产生后代 (a1 ,b1 ,c2 ,d2 ,e2)杂交算子的意图是在不同潜在解之间进行信息交换。

变异是通过用一个等于变异率的概率随机地改变染色体上的一个或多个基因。

变异算子的意图是向群体加入一些额外的变化性。

我们可以把遗传算法简化以下步骤:1) 产生初始遗传群体的方法。

基于遗传算法的高校排课系统设计与分析

基于遗传算法的高校排课系统设计与分析
基于遗传算法的高校排课系统设计 与分析
01 一、引言
目录
02 二、文献综述
03 三、系统设计
04 四、系统分析
05 五、结论
一、引言
随着高校规模的不断扩大和教学管理的日益复杂,高校排课系统成为了教学 活动正常运行的重要环节。遗传算法是一种模拟自然选择和遗传演化的优化算法, 适用于解决复杂的优化问题,将其应用于高校排课系统能够提高课程安排的合理 性和教师资源的利用率。本次演示将介绍遗传算法在高校排课系统中的应用,并 对系统进行详细设计和分析。
(1)能够处理多种约束条件,生成合理的课程表; (2)具有较好的通用 性和扩展性,可以适应不同高校的教学需求; (3)能够提高课程安排的满意度 和资源利用率。
然而,该系统也存在一些缺点:
(1)运算时间较长,需要较长的计算时间和计算资源; (2)可能陷入局 部最优解,无法得到全局最优解; (3)需要手动设定参数,参数的选择会对排 课结果产生影响。
遗传算法具有自适应性和并行性的特点,能够处理大规模的优化问题。在高 校排课系统中,遗传算法能够根据多个约束条件进行优化排课,生成合理的课程 表。然而,遗传算法的运算时间较长,且易陷入局部最优解,因此需要在算法设 计和参数选择上加以改进和完善。
2、优缺点分析
基于遗传算法的高校排课系统具有以下优点:
3、改进空间及研究方向
针对上述缺点和问题,未来的研究方向可以包括:
(1)优化遗传算法的设计和参数选择,减少运算时间和提高搜索效率; (2)研究并行遗传算法,利用多核CPU或分布式计算环境进行加速计算; (3) 结合其他优化算法,如模拟退火、粒子群优化等,进行混合优化策略的研究; (4)加强系统的智能化程度,如引入人工智能技术进行自动化参数设定和优化 建议。

基于遗传算法的排课系统研究的开题报告

基于遗传算法的排课系统研究的开题报告

基于遗传算法的排课系统研究的开题报告一、选题意义随着高校规模的不断扩大,选课任务愈加繁重,学生和教师之间的冲突也越来越多。

为了解决这些问题,建立一个高效、科学、合理的排课系统是必不可少的。

本文拟研究基于遗传算法的排课系统,通过对其进行深入研究,为高校的课程安排提供更好的支持,提高教学效率,降低教学成本,使教育更加优质。

二、研究内容基于遗传算法的排课系统主要是针对高校课程安排中存在的种种问题来设计和优化的。

本研究的主要内容包括:1.调查研究和文献综述本文将通过调查研究和文献综述的方式,了解目前高校课程安排存在的问题及各种指标及其用途。

2.遗传算法基础理论深入研究遗传算法的基本原理、流程、适应度函数等关键知识点,为进一步研究基于遗传算法的排课系统打好理论基础。

3. 遗传算法的应用基于已有的理论基础,设计一个基于遗传算法的排课系统,并对其进行实现和以及细节处理。

4.算法优化与性能测试通过对系统进行性能测试以及算法的优化,提高系统的效率以及优化各种指标,达到更好的课程规划和分配效果。

三、研究方法和技术路线本文采用调查研究和文献综述相结合的方法,以了解目前高校课程安排中存在的问题及各种指标及其用途。

同时,通过对遗传算法的学习和应用,设计一个基于遗传算法的排课系统,并对其进行测试和优化。

具体技术路线如下:1. 调查研究和文献综述通过调研等方式,从实际情况出发,核心思路将会围绕高校院系的课程编排以及现有的排课系统进行深度研究,同时,对相关领域的文献、资料进行收集和分析,从而获取相关数据和信息。

2. 遗传算法基础理论深入研究遗传算法的基本原理、流程、适应度函数等关键知识点,并进行实践操作,通过不断实验的方式,掌握遗传算法知识和技能。

3. 遗传算法的应用设计一个基于遗传算法的排课系统并进行构成,根据实际数据和条件进行调整,以获取优化后的排课方案。

4. 算法优化与性能测试对系统进行性能测试,以及改进系统各个指标。

可通过不断的代码优化,进行系统优化,提高算法的效率,并获取必要的排课数据,从而对排课效果进行评估。

遗传算法在高职院校排课问题中的研究与应用

遗传算法在高职院校排课问题中的研究与应用【摘要】遗传算法是一种基于生物进化理论的优化算法,在高职院校排课问题中具有重要的应用价值。

本文首先介绍了遗传算法的基础知识,然后分析了高职院校排课问题的复杂性。

接着通过实际案例展示了遗传算法在高职院校排课中的应用,并提出了优化排课方案。

总结了遗传算法在高职院校排课问题中的优势,指出其在提高排课效率和质量方面的潜力。

未来研究可以从进一步优化算法和提高算法鲁棒性等方面展开,以更好地解决高职院校排课问题。

遗传算法在高职院校排课中具有广阔的应用前景,对于提高教学质量和效率具有重要意义。

【关键词】高职院校排课问题、遗传算法、研究背景、研究意义、研究内容、基础知识介绍、应用案例、优化排课方案、优势、潜在应用、未来研究方向、总结1. 引言1.1 研究背景高职院校排课问题是指如何根据学生的选课情况、教师的授课时间和教室资源等因素,在保证教学质量和资源利用效率的前提下,合理安排课程的时间和地点。

由于高职院校通常面临着学生数量众多、课程种类繁多、资源有限等问题,传统的手工排课方法已经不能满足实际需求。

使用遗传算法来解决高职院校排课问题成为了一种研究热点。

遗传算法是一种模拟自然选择和遗传机制的优化算法,通过模拟生物进化过程中的遗传、变异和自然选择等机制,来搜索最优解。

在高职院校排课问题中,遗传算法可以通过不断迭代,逐步优化课程安排方案,使得每个学生和教师的需求得到最大程度的满足。

遗传算法的并行搜索和全局搜索特性可以有效避免陷入局部最优解的问题,提高排课的质量和效率。

基于以上背景,本文将重点研究遗传算法在高职院校排课问题中的应用,探讨其优势和潜在应用价值,并提出未来研究方向,旨在为高职院校的课程排课工作提供更科学、更高效的解决方案。

1.2 研究意义遗传算法可以通过模拟“遗传、变异、选择、适者生存”等生物进化的过程,利用种群的遗传操作和进化策略来不断调整课程安排,从而获得更好的排课方案。

基于遗传算法的优化排课系统


系统架构设计
数据库设计
排课系统需建立完善的数据库,以存储课程信息、教师信息和学 生信息等数据。
前端设计
前端界面需友好、易用,能够提供便捷的查询和操作功能。
后端设计
后端处理需稳定、高效,能够快速响应前端请求并处理数据。
系统功能模块
课程管理模块
该模块主要用于管理课程信息,包括 添加、修改和删除课程等功能。
遗传算法的概念与原理
遗传算法是一种模拟生物进化过程的优化算法,通过模拟基因选择、交叉、变异 等过程,寻找问题最优解。
遗传算法将问题参数编码为“染色体”(个体),并在群体中进行选择、交叉、 变异等操作,不断迭代进化,直至达到满足条件的最优解或次优解。
遗传算法的基本流程
1. 初始化
根据问题规模和参数要求,随机生成一定数量的 个体(染色体)作为初始群体。
适应度函数
根据问题的目标函数,设计合理的适应度 函数,能够直接影响算法的优化效果。
交叉操作
通过交叉操作,能够将父代的优良基因传 递给子代。常见的交叉操作有单点交叉、 多点交叉等。
选择操作
选择哪些个体参与交叉和变异操作,对算 法的性能和结果有很大影响。常用的选择 操作有轮盘赌选择、锦标赛选择等。
03
基于遗传算法的优化排课系 统
2023-11-08
contents
目录
• 引言 • 遗传算法基础 • 优化排课系统设计 • 遗传算法在排课系统中的应用 • 系统实现与测试 • 结论与展望
01
引言
研究背景与意义
排课系统是学校教学管理的重要组成部分,优化排课系统可以提高教学效率和质量 ,减少资源浪费。
遗传算法是一种基于生物进化原理的优化算法,具有自适应、并行性和鲁棒性等优 点,适用于解决复杂的排课问题。

基于遗传算法的高校排课系统的应用研究

基于遗传算法的高校排课系统的应用研究【摘要】排课问题是一个有约束的、多目标的组合优化问题,并且已经被证明为一个NP完全问题. 遗传算法是一种借鉴于生物界自然选择和进化机制发展起来的高度并行、自适应的随机搜索算法,是一种非常有效的解决NP完全的组合问题的方法. 本文将遗传算法应用于排课问题的求解,结合高校实际的排课情况,对遗传算法进行了深入的研究分析. 针对排课问题研究了染色体编码方式以及种群的初始化,提出了基于优先级的贪婪算法,并引入权的概念. 通过实验表明,改进的遗传算法明显优于传统的遗传算法.【关键词】排课问题;遗传算法;基因编码;贪婪算法高校的教务管理中,排课表工作非常复杂,通常是手工操作要花费大量的精力,且效率低下,教学资源也很难充分利用因此,这是一个急需解决又非常棘手的问题.由于高校教学单位和课程众多,且相互交叉,教师和教室又严重短缺,很难用手工制定出准确、统一、高效、合理的课表.另一方面教学管理的信息化不可能建立在手工操作的基础上,而理论研究和软件技术的成熟己为我们提供了计算机自动排课的重要手段,编制出一套完备、高效、准确、实用的排课表程序己成为可能.排课管理的主要任务是把全校各系或各授课部门的课进行汇总,然后根据教学计划和教学资源制订全校的公共课,各院系的公共基础课和各班级的专业课课表,以充分满足专业教学的要求,并优化配置各种教学资源,使教学工作科学、高效、顺利的进行。

利用遗传算法求解排课问题,其搜索过程带有自组织的智能性、并行性和鲁棒性,且操作简单,可以更少地依赖于实际情况,实现课表的优化,对于具有复杂约束条件的高校排课提供了一种较好的解决方法.1 排课问题[1][2]排课是将教师与学生在时间和空间上根据不同的约束条件进行排列组合,以使教学正常进行. 这里约束条件主要为避免冲突.所谓冲突,它所包含的内容很广泛,几乎发生在所有两个或多个排课涉及因素之间.而避免冲突也是排课问题中要解决的核心问题.只有在满足全部约束条件和避免所有冲突的基础上,才能保证整个教学计划合理正常进行.课程的安排要满足一定的约束,约束通常被分为两种类型,一种称为硬约束,是排课中必须满足的.同一时间教室不能安排两门课同一时间教室不能上两门课硬约束同一时间学生不能上两门课教室类型满足课程要求教室容量大于上课人数根据开课情况安排课程,不得删减另外一种约束是为了使排出的课表更合理,更加人性化,排课的过程中最好能够满足,这种约束称为软约束.同一课程在一周上多次需要时间间隔同一老师不要在一天上两门课软约束同一学生不要在一天连续上多节课满足个别老师的上课时间要求尽可能使学生在连续两门课之间更换教室的几率小上课班级总人数尽量接近教室容量2 排课问题的数学模型[3][4]2.1 排课数学表示课程集合: 其属性包括课程号,课程名,课程性质,课时,学分等,其中Ci表示第i门课程的.学生集合: 其属性包括学号,姓名,班级,专业,院系,培养计划等,Si表示第i名学生.教室集合: 其属性包括教室号,教室名,教室类型,教室容量等,Ri表示第i个教室.教师集合: 其属性包括教师号,教师名,院系,专业,所上课程等,Ti表示第i名教师.时间集合: 其属性有时间片,ti表示第i个时间片.时间与教室对的笛卡尔积为: G中的元素称为时间-教室对. 课程是排课时间表问题中的关键实体,其由几个因素属性决定. 课程包括如下属性:其中, 为周学时.在以上课程的五元组中,前三个为已知元组,后两个为待求元组.本系统中遗传算法的适应度函数的确定是通过对各个软约束条件的加权而转化为目标函数. 一般是将所得解对各约束条件的惩罚作为目标函数,如定义违反第i个约束条件的估价函数为,相应的权重为, 的值越大则表示违反的约束条件就越多,采用线性加权法可以将多目标优化问题转化成单目标优化问题,即(2-1)课程表质量的好坏与有效资源情况有很大关系,如果有足够多的资源来安排事件,那么课程表就有可能不违反软约束条件. 然而在实际问题中,学校通常都有资源的限制,软约束的违反值一般都不可能为0,排课时间表问题就是要尽量使排出的课程表的违反值尽可能小.2.2 排课算法表示基本遗传算法(Simple GA,SGA)的表示:SGA可定义为一个8元组:SGA=(C,E,PO,M,Ф,г,ψ,τ) (2-2)遗传算法与排课问题的对应关系如下表:表2-1遗传算法排课问题基因C 由教师号+班号+阶段号+权值的组合混合教师编码,这样的组合成为一个基因.染色体PO 由基因连接组成染色体,即一种排课方法.初始种群M 由染色体随记组合,即由若干排课方法组成.评价函数E 使用惩罚函数(式(2-1)) .选择算子Ф使用改进的轮盘赌选择方法.交叉算子г使用单点交叉算子.变异算子ψ使用基于基因的变异.终止条件τ遗传代数(一般为100-400)达到设定值之后.3 排课算法设计[5][6]3.1 遗传算法的基本流程1.随机产生一个由固定长度字符串组成的种群:2.对于字符串种群,迭代地执行下述步骤,直到选种标准被满足为止;(l)计算群体中的每个个体字符串的适应值:(2)应用下述三种操作(至少前两种)来产生新的种群:复制:把现有的个体字符串复制到新的种群中.杂交:通过遗传重组随机选择两个现有的子字符串,产生新的字符串.变异:将现有字符串中某一位的字符随机变异.3.把在后代中出现的最高适应值的个体字符串指定为遗传算法运行的结果。

基于遗传算法的高校网上排课系统

基于遗传算法的高校网上排课系统引言随着高校规模的不断扩大,学生的日益增多,教学任务的繁重性、复杂性也日益增加。

而传统的手工排课方法效率低下,产生的错误率高,往往需要大量的人力、物力来保证排课的质量。

因此,建立一种高效、优化的高校网上排课系统,能够大大提高排课效率,降低人力和物力成本,同时也能提高排课的准确性和灵活性。

本文基于遗传算法设计了一种高校网上排课系统,该系统利用遗传算法对排课过程进行优化,避免人工排课的低效性和错误性。

系统需求分析1. 系统功能(1)对每个教学班级的课程安排进行合理分配。

(2)合理分配教师的时间和地点,保证每位教师的授课任务得以顺利完成。

(3)将实验室、讲授教室等教学场所进行合理规划,以充分满足教学任务的需求。

(4)根据教学安排,进一步生成教学进度表和考试安排表。

2. 用户需求(1)学生:能够根据自己的学习计划方便地查看本学期的课程表和考试安排表。

(2)教师:能够根据自己的授课计划方便地查看所需上课的时间和地点。

(3)管理员:能够方便地进行教学班级信息的管理,包括教学班级的添加、修改和删除等。

系统设计1. 数据库设计系统通过关系型数据库进行存储,设计如下。

教室表包含了教室的编号、名称、容纳人数、类型等信息。

课程表包含了课程的编号、名称、学分、学时等信息。

教师表包含了教师的编号、名称、职称、任职时间等信息。

班级表包含了班级的编号、名称、人数、开班时间等信息。

课程安排表包含了教学班级和课程、教师以及时间和地点等信息。

2. 模块设计系统包括了登录模块、班级管理模块、课程管理模块、教师管理模块、教室管理模块、排课模块、课程表模块、考试安排模块等模块,模块之间可以相互跳转,方便用户在系统中进行操作。

3. 排课算法设计系统采用遗传算法对排课过程进行优化。

我们知道,遗传算法是一种模拟进化过程的算法,通过模拟不断进化的过程,逐步优化初始解。

具体的实现过程如下:(1)首先,生成足够的随机课程安排表,作为种群。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于遗传算法的高校排课系统研究
[摘要]随着我国教育体制改革的不断深入,高校办学规模的扩大,在校学生人数、教师人数、课程门类的显著增加,这对高校教务排课工作提出了更高的要求。

研究开发一个实用的排课系统具有十分重要的现实意义。

[关键词]排课遗传算法课程
排课是各高校教务管理部门的一项非常繁杂的工作,其基本目的是根据教学计划把各授课部门的教学任务进行汇总,为学校各教学部门开设的课程安排授课教师、上课时间和教室,从而使全校的教学工作能够有秩序、按计划进行,解决好排课问题对于整个教学工作的有序开展有着十分重要的意义。

一、排课的约束条件
排课基本问题是将班级、教师、课程、教室安排在一周内某一不发生冲突的时间,保证课表在时间的分配上符合一切共性和个性的要求,在此基础上,使其安排在各个目标上并尽量达到全局最优。

因此,排课问题主要是处理好教师、教室和班级三者之间的冲突问题。

排课问题要求保证班级、教师、教室不产生矛盾,并且要满足教室、教师资源的实际约束条件,即:在同一时间内,同一个班级,仅能由某一位教师上一门课;同一时间内,同一个教室,仅能有一个班级占用;一位教师只能在某一时间内某一个教室给某一个班级讲一门课。

班级课表在星期上分布尽量均匀;同一课程的多个课时段要保持一定的时间间隔;充分利用教室资源,上课学生数和教室容量相匹配。

二、排课系统国内外研究现状及发展
排课问题是一个有约束的、非线性的、模糊多元目标化的、难解的、时空组合的数学问题。

早在20世纪50年代末,国外就有人开始研究课表编排问题。

1963年,Gotlieb 曾提出一个课表问题的数学模型,但由于排课问题易受实际问题的影响,求解结果也不理想。

20世纪70年代,美国人S.Even等就证明了排课问题是一个NP完全问题,其算法的时间复杂度呈指数增长。

S.Even的论证正式确立了排课问题的学术地位,把人们对排课问题的认识提高到了理论高度。

此外,有些文献试图从图论的角度来求解课表问题,但是图的染色体问题也是NP完全问题,只有在极为简单的情况下才可以将课表编排转化为二部图匹配问题。

在国内,在20世纪80年代初期,国内学者开始用从模拟手工排课,也有运用人工智能构建的专家系统等等,具有代表性的有:南京工学院的UTSS(A University Timetable Seheduling System)系统,清华大学的I1ISER(TiIIlet e Scheduler)系统,大连理工大学的智能教学组织管理与课程调度系统等。

这些系统大都是模拟手工排课过程,以“班”为单位,运用启发式函数来进行编排的。

但是这些课表编排系统往往依赖于各个学校的教学体制,不宜于进行大量推广。

在实际的应用中,很多研究者都提出了各种解决排课问题的方法,由于排课问题的复杂性,还没有找到有效的算法能获得NP完全问题的最优解。

因此,如何运用近似算法和新的软件技术来降低排课问题的计算复杂度,仍然是颇具挑战性的研究方向.
三、遗传算法
随着人工智能的发展,特别是在计算机智能领域的拓展,借鉴于生物界进化思想和遗传机制的遗传算法,由于其超群的并行搜索能力,以及在解决优化问题中表现的高度智能性,已经被广泛应用于各个领域。

遗传算法的智能性和并行性使得遗传算法迅速的被运用于求解组合优化的排课问题。

(一)遗传算法的定义
遗传算法(Genetic Algorithm)是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法,它是由美国Michigan大学J.Holland教授于1975年首先提出来的,并出版了颇具影响的专著《Adaptation in Natural and Artificial Systems》,GA这个名称才逐渐为人所知,J.Holland教授所提出的GA通常为简单遗传算法(SGA)。

遗传算法采纳了自然进化模型,如选择、交叉、变异、迁移、局域与邻域等。

染色体经过若干代之后,算法收敛于最好的染色体,它就很可能是问题的最优化或
者次优解。

(二)遗传算法的特点
遗传算法是一类可用于复杂系统优化的具有智能性的搜索算法,与传统的优化算法相比,主要有以下特点:
1.遗传算法以决策变量的编码作为运算对象。

传统的优化算法往往直接决策变量的实际值本身,而遗传算法处理决策变量的某种编码形式,使得我们可以借鉴生物学中的染色体和基因的概念,可以模仿自然界生物的遗传和进化机理,也使得我们能够方便的应用遗传操作算子。

2.遗传算法直接以适应度作为搜索信息,无需导数等其它辅助信息。

3.遗传算法使用多个点的搜索信息,具有隐含并行性。

4.遗传算法使用概率搜索技术,而非确定性规则。

(三)遗传算法的一般结构
如图1所示,表示了基本遗传算法的一般结构。

由图1可以看出,最佳个体是这样产生的:首先产生一个初始种群,然后对这个种群中的每个个体进行适应度计算,适应度即表示了个体对环境的适应程度。

计算后的个体进行是否满足优化准则判定,如果满足,那么算法找到了这个个体并停止,如果不满足准则,那么算法将对这个种群进行选择、复制、交叉、变异操作。

遗传操作的目的是从初始种群中筛选出较为优异的个体进行演变,这其实包括复制优秀个体重生、两个父个体进行交叉和个体的变异这三种方式,对演变后的子代群体,重新进行优化准则判定,如此循环下去,直到找到一个最优化个体,或者达到其它循环条件为止。

四、本文主要解决的问题
1.详细说明排课问题中的影响要素和常用的约束条件,分析排课问题的求解难点和目标。

2.给出排课问题完整的数学描述,并提出求解排课问题的方法的方案和总体思路核技术路线。

3.给出排课问题的流程图,设计派克系统的数据结构,并对此排课过程的各个组算法进行研究。

4.对多个排课问题的目标化进行量化分析,建立遗传算法优化的目标空间。

5.对一个实际问题利用随机生成方案算法和基于遗传算法的排课优化算法进行求解,并对一些中间值进行跟踪分析,从实验的角度论述算法的可行性。

6.以C语言为基本的开发工具,进行编程,用Matlab进行仿真,对主要的算法进行实现,效果良好。

五、结论
排课问题是一个有约束的、多目标的、难解的组合优化问题,采用智能性和并行性的遗传算法,来对排课问题进行求解,是所有求解该问题方法中比较明智的选择。

本文从遗传算法的基本理论入手,使用基本的遗传算法,通过遗传算法建立数据模型,对课表进行编排和对课表进行优化。

本文在多目标优化理论的基础上,把遗传算法的智能性和并行性运用于求解组合优化的排课问题,提出课表方案的随机生成和优化算法,得到令人满意的结果,大大提高了教务工作人员的排课效率,并且使课程安排更加科学化、合理化,对高校的教学工作起到积极的作用。

参考文献
[1] 高喜玛,张萍. 大学自动排课系统内核算法设计[J].南阳师范学院学报,2003,2(12),55―58.
[2] 李明杰,曾晋文.课表编排系统的算法分析与设计[J].计算机工程与设计,2004,15, (1):I867-I869.
[3] 潘以锋. 高校智能排课系统的算法[J].上海师范大学学报(自然科学版),2006,35(5):31―37.
[4] 李敏强.遗传算法的基本理论与应用[M].北京:科学出版社,2002.
[5] 邓阳.自动编排课表的冲突消解方法[J].中央民族大学学报(自然科学版),2003,12(1):69―78.。

相关文档
最新文档