VB自动排课系统论文(数学模型).docVIP

  • 4
  • 0
  • 约8.77千字
  • 约 16页
  • 2017-09-16 发布于广东
  • 举报
自动排课系统以Visual Basic开发 摘要 本文建立了自动排课系统的数学模型,并利用遗传算法对问题进行求解。在演化过程中采用一种新的遗传策略,加速了群体的收敛速度。若对本系统做适当的修改,可适用于其他的时间表问题。 关键词 自动排课系统,遗传算法 一、引言 自动排课系统实际上是时间表的优化问题,从而是一类NP完全问题。如何根据班级的课程设置、课程的周内次数、现有教室资源、以及现有教师资源进行科学的合理安排,提供给学校的教务部门一个自动排课系统,在实际工作中具有一定的应用价值。 在排课过程中,我们考虑了三类资源:一类是教师资源,一类是教室资源,一类是时间资源。教师资源包括在编教师和每个教师历年所上过的课程、以及所上过课程的评价值。同一课程可能有多名教师能开课,在资源分配允许的情况下,自然选择评价值高的教师上这门课。多数情况下,在进行教学任务安排时,已经人为考虑了教师和课程之间的固定联系。教室资源是指现有可用教室。时间资源是指允许可用的时间段。此外,按每学期教学大纲,本学期每个班(专业)所上课程和每门课的周学时数(次数)是预定的。同时,我们还需要考虑不同时间段的上课效果。排课问题是根据现有教师资源、教室资源和时间资源,如何使排课结果最佳。适当定义相应的一些评价系数后,排课问题变成了一个时间表的优化问题。 本文考虑排课问题中的一些约束条件,定义了相关的评价系数,建立了排课问题的数学模型,利用遗传算法对问题进行求解。然后生成各类时间表。 遗传算法(简称GA)是1975年美国Michigan大学J.Holland教授等首次提出的,近年来,遗传算法在求解优化问题中得到了成功的运用。GA是一种抽象于生物进化过程的、基于自然选择和生物遗传机制的优化技术,它是一种全局优化策略,能避免陷入局部最优。按照“优胜劣汰,适者生存”的原则,通过快速随机搜索力求找到最优解或次优解。 二、自动排课系统的数学模型设计 1、集合定义 (1)课程集合:subject1,……,subjectn2 其属性包括课程名称、课程号、周次数、每次学时数等。 (2)教师集合:teacher1,……,teachern1 其属性包括姓名、教工号、年龄、已上过课程、所上课程的评价值等。 (3)班级集合:class1,……,classn3 其属性包括班级名称(系名、年级、专业、班级号)、学生人数等。 (4)教室集合:classroom1,……,classroomn4 其属性包括教室名称、容量、类别(一般、多媒体)等。 基本数据库如图所示: 而结果数据库则由教师时间表、教室时间表、班级时间表构成。 2、变量定义 (1)时间变量:T=(tij) 每周按7天计,每天按6个时间段计。用一个7×6矩阵T表示。 tij:星期i第j时间段。 第1时段:上午1、2节; 第2时段:上午3、4节; 第3时段:下午1、2节; 第4时段:下午3、4节; 第5时段:晚上1、2节; 第6时段:晚上3、4节。 (2)时间段效率变量:α=(ai) 用一个长为6的数组表a表示。ai:第i时段上课效果值。比如,我们可以规定每天各个时间段的效果值如下表所示: 时段号 1 2 3 4 5 6 1 0.9 0.8 0.7 0.8 0.7 (3)教室利用率变量:rij=classi.value/classroomj.value 其中,classi.value表示i班的学生人数,classroomj.value表示j教室的容量。 (4)时间表初始约束变量:C=(cij) cij=1:表示星期i第j时间段可排课;cij=0:表示星期i第j时间段不能排课。 (5)时间间距约束变量:B=(bij)(一个42×42时间段关联矩阵) i=6w+d,j=6w′+d′。0≤w,w′≤6;0≤d,d′≤5。 i,j表示两个时间段,w为星期号,d为时间段号。 时间间距约束考虑的是一个班级某门课的周次数超过一次的情况,若同一班级同一门课程安排在同一天、或相邻近的两天属于低效率。 3、关联关系的局部描述 关联关系的局部描述如图所示: 在模型中,我们需要建立如下关系: 教师-课程: 布尔变量: (手工定义变量初值, i教师本学期上j课程)。 班级-课程: 布尔变量: (手工定义变量初值, i班级本学期上j课程) 课程-教室: 布尔变量: (i课程被安排在j教室) 课程-时间: 布尔变量: (i课程被安排时间段,课程结点度数表示重复次数) 教室-时间: 布尔变量: (i教室被时间段时间段占用) 4、可行

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档