基于拉丁矩高校排课算法.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于拉丁矩高校排课算法

基于拉丁矩高校排课算法   摘 要:排课问题一直困扰着各高校教务部门,至今仍还没有一个公认效率好的算法。本文提出了一个基于拉丁矩的课表数学模型,并给出基于该模型的排课算法,实验表明,该方法切实可行。   关键词:排课课表拉丁矩算法   中图分类号:TP311 文献标识码:A 文章编号:1007-9416(2010)08-0131-02      1 引言   早在40年前,人们就开始了对计算机排课的研究,Gotlieb提出了一个课表问题的数学模型[1],并利用匈牙利算法解决了三维线性运输问题。1975年,Even证明了课表问题是一个NP完全问题[2],使得对课表问题的研究跌入低谷。近年来,随着大学扩招的不断发展,现在很多高校在校生的人数已远远超过前几年,使得各高校的师资与教学资源都存在严重制约,此时,仍采用手工编排课表,则工作量异常繁重,且非常容易出现冲突,因此,使用计算机自动排课已成必然趋势。当前的排课软件多数是模拟手工排课过程,通过约束限定,运用启发式函数搜索的方式来编排。这种方式一方面因需要多次回溯效率较低,而且往排出的课表不尽人意,还需多次人工调整。   本文提出的排课算法,先从总体上进行约束控制,有效避免冲突的发生,再按层次,逐层处理,每层中,兼顾一些合理需求的满足,从而可得实用性较强的课表。      2 排课问题的数学模型   2.1 课表的数学表示   排课问题的实质就是在有限的师资和教学资源情况下,如何合理的安排每门课程的每个课时的时间、地点问题,使得班级、教师和教学场所不会发生冲突。   我们可以用由课程、班级、教师、时间和教学场所组成的五元组来表示一个具体的课表单元,则整个课表可以用该五元组的集合来表示,即:         来表示一个课表, 其中:   表示课程集合,具体内容包含有课程的名称、代码、授课班级、授课教师、课时数、课程性质(文理基础、专业必修、专业选修,通识选修等)、课程类型(理论、实验、语音、体育等)、限定人数和开课校区等信息。若同一课程的在一周内要多次上课,则排课时分成多个课表单元进行。对排课算法来说,课程安排的实质是由授课班级和授课教师确定的,即课程具体内容对课表没有本质的影响。   代表班级集合,具体内容包含各班的班级号、名称、人数和所在校区等信息,对于合班情况,则将该合班看作为一个新的班级,即原自然班的并集,这样排课时便于实现冲突避免。   代表授课教师集合,具体内容包含有教师的职工号、姓名、性别、专业方向、职称等基本信息,排课时,主要依据教师的职工号进行。   代表教学场所集合,根据其是多媒体教室、机房、实验室、语音室等不同性质划分为不同的子集,并对各个子集的教学场所按容量的小到大排序。   表示一个行课时间集合,在本文的算法中,行课时间由两部份内容构成,一是在一周中的星期几,由由表示,其取值情况可根据各高校的实际情况确定,可以区分单双周,还可限定能否将课程排在周末;另一方面是在该天中的哪几个课时,由表示,其取值一般限定为:      2.2 约束条件   显然,一个恰当的课表必须满足一些基本条件,本文简称为硬约束:   C1:对任意两个不同的课表单元,在同一时间内,授课班级不能冲突;   C2:对任意两个不同的课表单元,在同一时间内,授课教师不能相同;   C3:对任意两个不同的课表单元,在同一时间内,教学场所不能相同。   即:当且时,,。 (1)   另外,部份教师因学习或工作的需要,必须将某课程做特殊安排,以及其他的一些人性化的特殊要求,这些要求简称为软约束。   C4:某位教师的某课程安排在指定的时间。   即:当,时,,。   C5:某位教师的某课程不能安排在某时间。   即:当时,,。   C6:某时间,全体教师都不能排课(如,周二下午政治学习)。   即:,,。      3 排课算法   3.1 拉丁矩的概念   拉丁矩属于组合设计问题,起源于1782年瑞士数学家Euler提出的36个军官问题[3]。其定义引用如下[4]:   设是一个矩阵,若的任一行是集的一个s-排列,任一列是集的一个m-排列,则称是一个拉丁矩(。   显然,每天的课表可以近似看作是在教师集合上的一个相关冲突班级数乘每天行课单元数的一个拉丁矩。   3.1.1 排课预处理   在每学期的中后期,就首先要由各学院安排下一学期课程,即由各学院教学秘书向教学处提交下学期的课程任务安排,具体内容包括本学院下一学期将开设的课程名称、课程代码、开课班级、授课教师、限选人数、所需教室类型以及排课的特殊要求等信息,一般这部份工作可由教务管理系统的教学任务子系统完成。   接收到教学任务安排后,排课工作人员,先从中自动提取并

文档评论(0)

fangsheke66 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档