论文无忧网提供:计算机毕业论文范文|计算机毕业设计|计算机毕业论文
栏目导航 ASP Java Web .NET VB6.0 JAVA VC VF DELPHI PB 计算机网络 计算机科学与技术 PHP 安卓APP 其他 C# 代写论文
当前位置: > 计算机 > DELPHI >

(B)自动排课系统

此外,还有个系数库,系数表库中记录了与一周内排课次相应的排课系数表。此数据库存放在各种不同的排课模式下的评价值设置。这里所说的排课模式是指:一门课程在一周内天数上的分布方式,比如对于每周上3次的一门课,它的最佳分布模式为:1-3-5,即周一,周三,周五。

内容来自论文无忧网 www.paper51.com

第5章 系统核心算法的实现

paper51.com

排课系统的核心部分---自动排课过程的实现是这次毕业设计的重中之重。这一章主要介绍算法实现的要点、技巧和整个过程。

http://www.paper51.com

5.1 涉及到的数据结构 http://www.paper51.com

算法中用到的数据结构主要是二维数组,用来记录专业或教师或教室的课程表。数组的内容是在程序运行过程中根据数据库中的对应记录动态生成的。数组大小是4*5的,4行5列。在没有分组情况的排课中,有3张这样的表就足够;而在有分组的情况下,需要5张4*5的表。

http://www.paper51.com

5.2 算法要点

内容来自www.paper51.com

5.2.1公平性的实现

copyright paper51.com

这里所说的公平性,是指利用评价函数思想进行排课意义上的公平。

paper51.com

排课系统是以课程为单位来进行的,教学计划库数量庞大,如果从第一条记录开始顺序取排课记录,按照评价函数的思想来解决排课问题时,难免不会出现先排的课程在时间、位置分布上占优势,出现“进水楼台先得月”的情况。解决的方法之一就是采取随机取记录的方式。随机函数具有在概率上分布均匀的特点,所以采用随机方式对库中的记录进行排课能够做到相对公正。程序开始先初始化随机函数发生器,然后以库中的记录数目作为随机函数的参数范围,每产生一个随机数就作为库中记录的序列号。由于随机函数是等概率的,每次产生的随机数可能与前面的有重复,这在排课过程中是不允许的。可以设置一个数组来记录前面已经产生的随机数,每产生下一个随机数时,将这个随机数与这个数组做比较,如果有相同的则继续产生下一个随机数,否则可作为记录号,开始排课过程。 copyright paper51.com

5.2.2 评价函数的思想 http://www.paper51.com

排课系统由于课程多,学生多,教师,教室等因素变化多,再加上很多主客观因素而显得杂乱无章,让人感觉没有一个好的算法来结果如此繁多的因素。在这个系统里,引进评价函数的思想使问题大大简化。评价函数在很多领域都有涉及到。这里所用的评价函数主要是对所设计的排课方案进行评价,具体地说就是按照前面提到过的各种因素对时间、空间、教师三个因素进行评价。从中找出最优的一个。

内容来自论文无忧网 www.paper51.com

评价函数的设计过程如下: paper51.com

首先给学生、教师、教室都设置一个评价值,用来记录三种因素在排课过程中所占的比重。设参数a,b,c分别为学生、教师、教室的评价值,(a,b,c均为百分数的形式),程序开始设定学生、教师、教室得分都为100分,考虑在星期组合、教室组合和节数组合的各种方案中,根据前面提到的各种因素:天数分布均匀、节数分布均匀、教师上课是否连续、教室利用率最后分别计算出分数score1,score2,score3,然后分别乘以他们的权值得到最终评价函数score.评价函数计算公式为:score=score1*a+score2*b+score3*c 内容来自论文无忧网 www.paper51.com

每个因素内部又可设置评价函数。

copyright paper51.com

1. 先考虑学生因素方面:可设置天数分布均匀性的评价值为t1,节数分布均匀性的评价值为t2,对每个天数的组合设置一个系数评价值,这个体现在前面数据库设计中的系数表库中。例如:对于每周上3次课的课程来说,天数分布为I-j-k,系统默认的系数表如表5-1所示。(t1的取值即为表中的各个评价值)

paper51.com

表5-1  排课模式表

http://www.paper51.com

天数分布 copyright paper51.com

评价值 内容来自论文无忧网 www.paper51.com

星期一

内容来自www.paper51.com

星期二 内容来自www.paper51.com

星期三 内容来自www.paper51.com

50%

http://www.paper51.com

星期一 内容来自www.paper51.com

星期二

paper51.com

星期四

http://www.paper51.com

------分隔线----------------------------
联系方式