基于拉丁矩的高校排课算法

基于拉丁矩的高校排课算法

ID:21926387

大小:58.50 KB

页数:8页

时间:2018-10-25

基于拉丁矩的高校排课算法_第1页
基于拉丁矩的高校排课算法_第2页
基于拉丁矩的高校排课算法_第3页
基于拉丁矩的高校排课算法_第4页
基于拉丁矩的高校排课算法_第5页
资源描述:

《基于拉丁矩的高校排课算法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于拉丁矩的高校排课算法摘要:排课问题一直困扰着各高校教务部门,至今仍还没有一个公认效率好的算法。本文提出了一个基于拉丁矩的课表数学模型,并给出基于该模型的排课算法,实验表明,该方法切实可行。  关键词:排课课表拉丁矩算法  :TP311:A:1007-9416(2010)08-0131-02    1引言  早在40年前,人们就开始了对计算机排课的研究,Gotlieb提出了一个课表问题的数学模型[1],并利用匈牙利算法解决了三维线性运输问题。1975年,Even证明了课表问题是一个NP完全问题[2],使得对课表问题

2、的研究跌入低谷。近年来,随着大学扩招的不断发展,现在很多高校在校生的人数已远远超过前几年,使得各高校的师资与教学资源都存在严重制约,此时,仍采用手工编排课表,则工作量异常繁重,且非常容易出现冲突,因此,使用计算机自动排课已成必然趋势。当前的排课软件多数是模拟手工排课过程,通过约束限定,运用启发式函数搜索的方式来编排。这种方式一方面因需要多次回溯效率较低,而且往排出的课表不尽人意,还需多次人工调整。  本文提出的排课算法,先从总体上进行约束控制,有效避免冲突的发生,再按层次,逐层处理,每层中,兼顾一些合理需求的满足,从

3、而可得实用性较强的课表。    2排课问题的数学模型  2.1课表的数学表示  排课问题的实质就是在有限的师资和教学资源情况下,如何合理的安排每门课程的每个课时的时间、地点问题,使得班级、教师和教学场所不会发生冲突。  我们可以用由课程、班级、教师、时间和教学场所组成的五元组来表示一个具体的课表单元,则整个课表可以用该五元组的集合来表示,即:      来表示一个课表,其中:  表示课程集合,具体内容包含有课程的名称、代码、授课班级、授课教师、课时数、课程性质(文理基础、专业必修、专业选修,通识选修等)、课程类型(理

4、论、实验、语音、体育等)、限定人数和开课校区等信息。若同一课程的在一周内要多次上课,则排课时分成多个课表单元进行。对排课算法来说,课程安排的实质是由授课班级和授课教师确定的,即课程具体内容对课表没有本质的影响。  代表班级集合,具体内容包含各班的班级号、名称、人数和所在校区等信息,对于合班情况,则将该合班看作为一个新的班级,即原自然班的并集,这样排课时便于实现冲突避免。  代表授课教师集合,具体内容包含有教师的职工号、姓名、性别、专业方向、职称等基本信息,排课时,主要依据教师的职工号进行。  代表教学场所集合,根据其

5、是多媒体教室、机房、实验室、语音室等不同性质划分为不同的子集,并对各个子集的教学场所按容量的小到大排序。  表示一个行课时间集合,在本文的算法中,行课时间由两部份内容构成,一是在一周中的星期几,由由表示,其取值情况可根据各高校的实际情况确定,可以区分单双周,还可限定能否将课程排在周末;另一方面是在该天中的哪几个课时,由表示,其取值一般限定为:    2.2约束条件  显然,一个恰当的课表必须满足一些基本条件,本文简称为硬约束:  C1:对任意两个不同的课表单元,在同一时间内,授课班级不能冲突;  C2:对任意两个不同

6、的课表单元,在同一时间内,授课教师不能相同;  C3:对任意两个不同的课表单元,在同一时间内,教学场所不能相同。  即:当且时,,。(1)  另外,部份教师因学习或工作的需要,必须将某课程做特殊安排,以及其他的一些人性化的特殊要求,这些要求简称为软约束。  C4:某位教师的某课程安排在指定的时间。  即:当,时,,。  C5:某位教师的某课程不能安排在某时间。  即:当时,,。  C6:某时间,全体教师都不能排课(如,周二下午政治学习)。  即:,,。    3排课算法  3.1拉丁矩的概念  拉丁矩属于组合设计问题

7、,起源于1782年瑞士数学家Euler提出的36个军官问题[3]。其定义引用如下[4]:  设是一个矩阵,若的任一行是集的一个s-排列,任一列是集的一个m-排列,则称是一个拉丁矩(。  显然,每天的课表可以近似看作是在教师集合上的一个相关冲突班级数乘每天行课单元数的一个拉丁矩。  3.1.1排课预处理  在每学期的中后期,就首先要由各学院安排下一学期课程,即由各学院教学秘书向教学处提交下学期的课程任务安排,具体内容包括本学院下一学期将开设的课程名称、课程代码、开课班级、授课教师、限选人数、所需教室类型以及排课的特殊要

8、求等信息,一般这部份工作可由教务管理系统的教学任务子系统完成。  接收到教学任务安排后,排课工作人员,先从中自动提取并填充各课表单元的前三项,即课程、班级和教师。若有特殊要求,则再对有特殊要求的课表单元进行预置处理。  3.1.2算法  本文的排课算法的基本思想是,先从教学场所和教师的限定入手,将各个班级的课程合理分配到一周中的各天。再对每天的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。