搜档网
当前位置:搜档网 › 排课系统的需求分析

排课系统的需求分析

排课系统的需求分析
排课系统的需求分析

排课系统的需求分析

By梁健超

1.排课问题的描述

排课问题的目的是要在有限的教学资源情况及限定的教学环境下,满足教师授课、班级上课在时间以及空间(教室安排)上的约束条件,并保证不会造成教师授课、班级上课在时间上、空间上的冲突。在此基础上,能够使用应付每学期的教学过程当中,学校各个方面因各种原因需要对课表作出调整的需求。

同时,排课问题针对于每一课程给予一个时段和教室,每位教师有数门教授课程,而且每门课程上课的次数也会根据其学分数的多少而有所不同,同时每位教师也会对授课的时段乃到教室的设备条件等有不同的要求,尤其是时间更会有希望排课时段或不愿意排课时段。加上每门课程的授课条件不一,使得排课问题有许多因素的限制。

所以说排课问题是多因素组合问题。影响排课的因素较多,归纳起来分两大类:

一是教学的主体对象因素,是指在排课问题当中参与教学活动的主体,主要是指教师、班级、课程,这些对象在每个学期是可能会产生变动的,可以说是动态的,是需要给予分配资源的对象。在排课过程中,这些主体对象必须保证其在空间、时间上是独立而不冲突,排课问题的核心就是解决这些主体对象因素在空间、时间的二维上的冲突。

二是教学资源对象因素。是指在排课问题当中属于被分配的资源,主要是指教室以及教学时间,而往往这些资源是有限的,而且资源是分种类的,如教室有分各种大小、设备配置也不一样。其他因素还包括有教学计划、有教师个人喜好等。

排课问题是动态组合问题一方面体现在上述提及的问题是互相影响、互相制约的,一个因素改变都会影响其他因素。另一方面,排课是服务于教学的,学校会由于各种原因而造成对排课工作的影响,如教师出差、临时的讲座安排、学校其他事务及节假日等,所以排课问题相当复杂。

1.1 排课的基本要素

1、教师:一般情况下,一个专业下的某一课程将会相对固定地由某一个教师

进行讲授,但有可能上某一门课程的班级较多时,由多位教师讲授同一门

课程。

2、课程:课程是由课程号决定的,同一课程名称未必是同一课程,因为可能

他们所采用的教材及教学要求上会有所不同。每门课程都对教师以及教学资源有一定的要求,如英语听力课,可能要求教室安装有语音装置。

3、班级:本文将班级作为学习的一个排课要素,同一班级是指按照同一教学

计划进行学习的学生集合。

4、教室:教室在本文当中是作为一个重要的教学资源进行规划分配,排课问

题就是将教室当作是一个有限的空间分配给排课的对象。

5、时间:在学校当中,时间可以指学年、学期、周、某一天。学校一般会安

排一个学期的课表,而在时间上是以周次来表示。时间在排课问题当中,也是当作另一个有限的资源分配给排课对象的。

1.2排课的基本规则

一般情况下,不同规模、不同类型学校的约束条件的数量及类型上有可能会有所区别,这也是排课问题很难找到通用解决办法的原因之一。

我们可以对约束条件对于排课问题的重要性来进行人为的分类,分为硬约束及软约束。

1、硬约束——排课结果必须要满足的约束条件,也可以称作为排课的

规则。

(1)每个班级在同一时间内,只能在一个教室上一门课程。

(2)同一教室在同一时间内,只能上一门课程。

(3)同一老师在同一时间内,只能在一个教室上一门课程。

(4)分配的教室应该能够容纳上课的学生人数。

(5)有些课程必须安排在特定的教室进行授课,如英语听力,必须安排在

语音室进行。

(6)在一个学期结束前,必须安排每一门课程的所有教学学时要求。

2、软约束——可以不满足的约束条件,但能满足最好。

(1)平日相连单元不要为同一班级的学生安排课程,课程错开能够减低

学生上课学习的压力。

(2)周末相连两个单元能安排课程,减少学生到校学习的成本。

(3)同一个班级能够固定在某个范围的教室内上课。

(4)满足个别老师授课的喜好时间。

1.3 排课的目标

根据以上排课问题的约束条件,我们确定排课的以下目标:

1.课表中满足所有硬约束,课表能够让教学活动能够顺利进行。排课

问题的主体对象可以时间及空间(教室)资源的使用过程当中,不

会产生冲突。

2.在满足硬约束的前提下,尽量满足软约束条件。软约束的条件多,而

且有些是相互联系并形成矛盾,因此,须以多目标优化的角度,尽量

满足软约束条件以提高课表的人性化、合理化。

3.排课问题是动态的问题,因此课表应该能适应这种实际情况,能够根

据各种情况进行调整。

2.排课的基本步骤

排课问题所涉及到数据对象多,需要多个处理步骤,这些步骤大致上可以分:数据预处理过程、数据编码过程、算法排课过程、解码及排课输出等步骤,具体步骤的说明如下:

数据预处理是指为了实现排课,需要对原始的数据进行加工,对单独的数据进行关联,对缺乏的数据进行生成。表间的关系结构可参见后面的系统结构图。

排课的流程如示意图1:

图1排课基本步骤图

2.1预处理工作流程

每学期排课任务的预处理工作流程如下:

首先,需要根据教学管理人员制定下学期的教学计划任务书,确定是否需要增加新的教学计划。一般情况下,新年级学生入学后,教学计划是作为其学习课程、进度的最根本依据,一直到学习结束毕业,该计划都不会改变。而且同一专业各个年级间,教学计划是大致相同的,如果某一专业新教学计划发生改变,那么就需要增加教学计划。

确定教学计划后,就要确定每门课程的授课老师名单。

然后就可以增加新学期中的新的班级。排课是以班级作为其中的一个基本排课对象,有可能与实际的班级不一致,在此专指最终使用相同的课表的学生的集合,如果是学生自主选课,这种情况就更为常见。增加新班级后,还需要为新的班级选择教学计划。

接着就可以定义新学期的每个班级的开设课程。这要根据教学计划课程表中的课程的开设学期数与班级的入学季度相结合进行一定的筛选得出开

设课程计划。从而可以确定课程-班级-教师等主要三个教学的主体对象因素。在数据库里为“tblTeacher_Course”表。

另一方面,需要确定教学资源对象,即时间-教室的组合表。

首先需要维护周表(tblWeek)及日表(tblDaySlot),一般一个学期上课次数为18-20周。电大是属于业余时间教学,一周上11个单元的课(后面有详细说明)。因此,通过上述两个表进行笛卡儿积运算,得出可供排课安排的时间片表(“tblTimeSlot”),然后对时间片表进行定义,确定有哪些时间片是不安排授课的(如国家指定节假日)。

然后,维护教室表(“tblRoom”),确定本学期可共上课的教室资源,并对教室的类型(如:上机室、语音室等)进行确认。

接着,对时间片表与教室表进行组合,形成一个教学资源矩阵表“tblPkS ource”。该表是时间片与教室形成的组合,是排课问题当中作为被分配的对象。

最后,将教学主体对象表“tblTeacher_Course”与教学源源矩阵表“tblTime_Room”使用遗传算法进行组合优化。得出最优解集合,从中选择一个较为切合电大排课需求的组合。

排课数据的预处理流程如下图2所示:

图2排课预处理流程图

相关主题