彭志勇+杨鸿章
摘要:本文对排课问题进行了详细的描述,并对所提出的问题进行了分析,探讨了排课问题的约束条件,最后求解出排课问题的数学模型。
关键词:排课问题;约束关系;数学模型
一、 排课问题的概述
新的教育体制对课表的编排在随着现代教学的改革以及各项教育工程的实施开始有了较大的变化,编排课表在学校的教务管理工作中,是一件非常复杂而且棘手的工作。首先,根据各因素间约束关系的不同,将多重约束条件分为硬约束和软约束,从而可以得出各因素之间的有效的矩阵。除此之外,在每一个时间上都相应的安排课程,再以0~1规划方法分别将教师、教室分配到课表上的不同时间段上。通过0~1规划的方法进行改进并优化,将多重约束条件加入其中,将偏好系数应用当中,建立排课模型,按照题目所给出的数据,使用计算机编程,并进行模型验证,求出所需要的课程表,最后给出教师、教室的配置建议。
从数学角度上讲,主要建立一个排课模型,并建立一个关于课程类别、教室编号的C~R关系表,然后建立目标函数,也就是对模型进行优化。最后,按照各种因素对排课模型的优先度进行计算,从而能够得出排课模型的最优解。
初始化排课问题,课程类别、教室编号、教师上课时间这三个方面存在一定的关系,它们分别是1对1的对应关系,1对n的对应关系和n对n的对应关系。
因此,我们再对它们之间的属性进行分析,根据它们之间的相互关联可以得出相对合理的排课方案,最后来分析方案的合理性。
二、 排课问题要素的分析
为了保证学校日常工作以及教学任务的顺利完成,而又能很好的在排课过程中避免各因素间的冲突,我们对以下几个重要因素进行了详细的分析。
(一) 课程
课程编排的时候安排时间的一个重要对象就是课程,课程的性质通常体现在以下几个方面,每门课程的性质的值都会影响课程安排的最终结果。
课时数,在每一周的教学计划当中教务人员必须对每门课程预先设定课时数,每周必须要安排一定的课时数,必须要有足够的时间段安排给那些课程。
课程具有可拆的性质,通常情况下,每次上课的节数为2节,当有些课程每周的课时大于2节课的时候,那么就要将课程分成两次或者多次来进行。
课程的类别,大学的课程主要分为公共课和专业课,其中公共课主要包括英语、数学等基础课程。
(二) 教师
在教学环节中,其中最重要的资源之一就是教师,在教务人员排课的过程中,都是一个教师兼任几门课程,这也就是所谓的一对多的关系。教师相应的属性主要有教师编号,所能胜任的课程类别、上课时间要求等。
(三) 教室
每门课程要安排一个合理的教室来用,在安排教室的过程中也要考虑到很多因素,教室的主要属性有教室编号、最大座位数、教室类别等,我们对教室属性的描述主要包括以下几点:
教室类别
教室的类别主要有多媒体教室、普通教室、计算机机房等。针对于不同的课程,我们应该给这些课程安排一个合理的教室。
教室的使用情况
教室在同一段时间只能让一门课程来使用,我们应该对教室的资源进行充分的利用。
最大座位数
为了保证课程安排的合理性,上課的人数不能超过教室的最大座位数。在上公共课的时候,几个班级合在一起上,必须安排在大教室上课,而小班教学的课程,则可以安排在较小的教室,这样就可以对资源进行充分的利用。
三、 排课问题数学模型的建立
通过对排课问题进行分析,课程必须得全部安排在一个星期之内这样才合理。我们把一个星期分成五天,分别用1、2、3、4、5这五个数字来进行表示,把每一天按四个部分来划分,分别用a、b、c、d这四个字母来进行表示,这样,我们便得出了一个5×4的矩阵。其中,星期一、星期二、星期三、星期四、星期五可以用j=1、2、3、4、5来进行表示;而i=a、b、c、d代表1、2节课,3、4节课,5、6节课和7、8节课。
(一) 约束条件
当约束条件不一样时,可以排列组合时间和空间,从而来开展正常的教学工作,对于一张课表而言,它至少需要具备以下几个硬约束条件:
a. 任课教师之间不能够产生冲突;
b. 上课的教室不能产生冲突;
c. 专业之间不能够相互冲突。
(二) 建立一般模型
参考文献:
[1] 樊星.利用遗传算法求解大学课表问题[J].科学技术与工程,2007,(09):87-89.
[2] 陈谊,杨怡,张国龙,王尚忠.基于优先级自动排课算法PCSA的设计与实现方案[J].北京工商大学学报(自然科学版),2002,(02):96-98.
[3] 熊余贤.排课算法对比研究及一些新思路[J].大视野,2008,(07):65-66.
[4] 李琳,李秀娟,周德祥.计算机排课系统的设计与实现[J].郑州工业高等专科学校学报,2004,(02):81-83.
[5] 龚莎.基于回溯法的自动排课算法[J].硅谷,2010,(15):78-80.
[6] 张颖,刘艳秋.软计算方法[M].北京:科学出版社,2004:57-80.endprint