摘 要:随着高校的发展,在教务管理系统中使用的排课模型也变得越来越复杂,亟需一种适用于开发、重用及设计的方法。针对这种情况,本文给出了排课问题的数学模型,提出基于遗传算法解决方案。结果表明,该算法能比较有效的解决排课问题。该方法易于学习和应用,且不必依赖特殊的实现模式。

关键词:排课 遗传算法 优化算法

一、介绍

随着近几年各个高校的合并与扩招,我国的综合性大学和各个高校中在校的学生数量的大大增加,对于高校教务部门来说,排课工作是非常令人头痛的事,经常会出现课程排列冲突,比如:一个教师在同一时间上两门课,有两个教师同时去一个教室上不同的课程,有些教师在特定时间不可以上课。如果没有很好地解决这些冲突,必将产生教学混乱等现象。可见,排课算法的正确性、高效性是非常关键的。[1]

20世纪70年代中期,就有人论证了课表问题是NP完全问题。当课表所涉及的任何信息量稍有变化将会导致课表编排选择方案的剧增。课表问题存在固定的数学模型,能找到相应的解,且是一组解集。为此,现提出一些关于高校教学管理系统排课的算法。

二、排课问题的数学模型

学校排课问题本质上是时间表问题的一类典型应用实例,是为了解决课程安排对时间和空间资源的有效利用并避免相互冲突。在排课过程中,需要考虑课程教学效果、满足教师特殊要求等多项优化指标,将各门课程安排到相应的时间和教室需要付出一定的“成本”(Cost)。[2]

符号与约束条件

设课程集合:L={l1,l2,.,lp,.,lP};班级集合:C = {c1,c2,.,cm,.,cM} ;教室集合:R = {r1,r2,.,rn,.,rN} ;教师集合:S={s1,s2,.,sk,.,sK} ;时间集合:T={t1,t2,.,td,.,tD};时间与教室对的笛卡尔积为:G=T·R=(t1,r1),(t1,r2),.,(tD,rN);G中的元素称为时间教室对;课表问题的求解过程就转化成为每一门课程寻找一个合适的时间教室对。

排课过程中必须满足各种约束条件,可以将各种约束条件归纳成两类以简化分析过程。

(1)硬约束条件

硬约束条件是在排课过程中由于各类资源的有限,因此必须满足而无法变更的约束条件,通常只要满足下面三类硬约束条件就能够保证在排课的过程中不发生此类冲突。

①同一时间,一个教师不能同时有一门以上的课程,记为R1:

R1 为: ≤1

其中:k=1,.,K; d=1,.,D。

=1 教师sk 在时间td 和教室rn 上课程lp;0 否则。

②同一时间,一个班级不能同时有一门以上的课程,记为R2:

R2 为: ≤1

其中:m=1,.,M; d=1,.,D。

=1 班级cm 在时间td 上教师sk 的课程lp;0 否则。

③同一时间,一个教室不能同时有一门以上的课,记为R3 :

R3 为: ≤1

其中: n = 1 , ., N ; d = 1 , ., D。

=1教室rn在时间td由教师sk上课程lp;0否则。摘 要:随着高校的发展,在教务管理系统中使用的排课模型也变得越来越复杂,亟需一种适用于开发、重用及设计的方法。针对这种情况,本文给出了排课问题的数学模型,提出基于遗传算法解决方案。结果表明,该算法能比较有效的解决排课问题。该方法易于学习和应用,且不必依赖特殊的实现模式。

关键词:排课 遗传算法 优化算法

一、介绍

随着近几年各个高校的合并与扩招,我国的综合性大学和各个高校中在校的学生数量的大大增加,对于高校教务部门来说,排课工作是非常令人头痛的事,经常会出现课程排列冲突,比如:一个教师在同一时间上两门课,有两个教师同时去一个教室上不同的课程,有些教师在特定时间不可以上课。如果没有很好地解决这些冲突,必将产生教学混乱等现象。可见,排课算法的正确性、高效性是非常关键的。[1]

20世纪70年代中期,就有人论证了课表问题是NP完全问题。当课表所涉及的任何信息量稍有变化将会导致课表编排选择方案的剧增。课表问题存在固定的数学模型,能找到相应的解,且是一组解集。为此,现提出一些关于高校教学管理系统排课的算法。

二、排课问题的数学模型

学校排课问题本质上是时间表问题的一类典型应用实例,是为了解决课程安排对时间和空间资源的有效利用并避免相互冲突。在排课过程中,需要考虑课程教学效果、满足教师特殊要求等多项优化指标,将各门课程安排到相应的时间和教室需要付出一定的“成本”(Cost)。[2]

符号与约束条件

设课程集合:L={l1,l2,.,lp,.,lP};班级集合:C = {c1,c2,.,cm,.,cM} ;教室集合:R = {r1,r2,.,rn,.,rN} ;教师集合:S={s1,s2,.,sk,.,sK} ;时间集合:T={t1,t2,.,td,.,tD};时间与教室对的笛卡尔积为:G=T·R=(t1,r1),(t1,r2),.,(tD,rN);G中的元素称为时间教室对;课表问题的求解过程就转化成为每一门课程寻找一个合适的时间教室对。

排课过程中必须满足各种约束条件,可以将各种约束条件归纳成两类以简化分析过程。

(1)硬约束条件

硬约束条件是在排课过程中由于各类资源的有限,因此必须满足而无法变更的约束条件,通常只要满足下面三类硬约束条件就能够保证在排课的过程中不发生此类冲突。

①同一时间,一个教师不能同时有一门以上的课程,记为R1:

R1 为: ≤1

其中:k=1,.,K; d=1,.,D。

=1 教师sk 在时间td 和教室rn 上课程lp;0 否则。

②同一时间,一个班级不能同时有一门以上的课程,记为R2:

R2 为: ≤1

其中:m=1,.,M; d=1,.,D。

=1 班级cm 在时间td 上教师sk 的课程lp;0 否则。

③同一时间,一个教室不能同时有一门以上的课,记为R3 :

R3 为: ≤1

其中: n = 1 , ., N ; d = 1 , ., D。

=1教室rn在时间td由教师sk上课程lp;0否则。