基于加权优化算法的信息化分班、排课方法

文档序号:6511323阅读:388来源:国知局
基于加权优化算法的信息化分班、排课方法
【专利摘要】本发明涉及电子信息【技术领域】,尤其是基于加权优化算法的信息化分班、排课方法,本发明采用的技术方案主要包括赋值、分班、换算、排课四个步骤,其有益效果在于,大大减少了分班、排课所需要的时间,时间收敛性好,尤其在处理人数和班级较多的问题上更加显示出其优越性,极大的提高了工作效率,减少了人工,便于统计教师工作量,学生任务量,学生选课的趋向,方便查看教师、学生课表,为临时调整带来便利;本发明亦可用于进行考试安排。
【专利说明】基于加权优化算法的信息化分班、排课方法

【技术领域】
[0001]本发明涉及电子信息【技术领域】,尤其是基于加权优化算法的信息化分班、排课方法。

【背景技术】
[0002]1975年,S.Even等人论证了课程表问题是NP完全类问题。由于课程表问题所涉及的信息较多,并且求解课程表问题最优解的时间复杂性是课程表规模的指数级,所以一般采用求近似最优解的算法。在现实生活中,人们一般也只是要一个满足各种条件的近似最优解,或者说满意解,而不一定非要最优解不可。因此,对于课程表问题,关键不是如何找到最优解,而是如何提闻解的满意度。
[0003]传统的人工进行排课,最令人担心的问题就是出现教师资源冲突或场地资源冲突的情况,而且工作繁琐,工作量巨大,尤其是规模较大的中学进行排课时出现的问题更多。现有的解决排课问题的方法主要是回溯法和遗传算法,其中回溯算法是所有搜索算法中最为基本的一种算法,其采用了一种走不通就返回的思想作为其控制结构,其相当于采用了先根遍历的方法来构造解答树,可用于找解或所有解以及最优解;回溯算法对空间的消耗较少,当其与分枝定界法一起使用时,对于所求解在解答树中层次较深的问题有较好的效果,但其在后继节点可能与前继节点相同的问题中使用,会产生循环。回溯算法应用在排课问题中,就是排不过去就调课,不能调课就倒退,而且记忆走过的路,以此节约时间,但由于回溯法是一种穷举的办法,空间消耗虽然小,可是时间开销却非常大,时间收敛慢,有时可能将好的课表错过。遗传算法则是从代表问题可能潜在解集的一个种群开始的,在每一代,根据问题域中个体的适应度大小挑选个体,并借助代表于自然遗传学的遗传算子进行组合交叉和变异,产生出代表新的解集的种群。这个过程导致种群像自然进化一样,后生代种群比前代更加适应于环境,末代种群中最优个体经过解码,可以作为问题的近似最优解。遗传算法应用在排课问题中,是逐步接近设定目标,先按初始条件将课程排入到课表中,排满之后根据后续条件逐步通过调课达到目标,进行逐步的进化,用遗传算法排课空间消耗大,其是随机产生很多课表之后根据条件检查,不符合条件的放弃,留下来的再模仿遗传做随机改动,形成很多新的子课表,不符合条件的放弃,直到完成任务;其模拟自然选择和遗传,即优胜劣汰、适者生存,并没有主动依据条件生成课表,存在一定的盲目性,这也必然导致大量时间的浪费。


【发明内容】

[0004]本发明的目的是为了克服上述技术缺点提供基于加权优化算法的信息化分班、排课方法。
[0005]本发明解决技术问题采用的技术方案为:基于加权优化算法的信息化分班、排课方法,本发明的方法,包括以下步骤:
[0006](I)赋值:制定并公布学期课程列表,设定每门课程的场地范围、一周课时量和课程允许的排课时段,给每个学生分配100分的选择教师的总权分,学生选课时给每位任课老师给出分数;
[0007](2)分班:统计学生选课信息,按以下规定分班:a.同一个行政班的选课相同的学生尽量分在一个教学班中,同时兼顾一个教学班来源的行政班数尽可能少;b.在场地和科目的实际要求下,每门选修课按权分从高到低吸收选课学生,组成新的教学班;c.每个教学班中设置一定比例的名额按b规定实施,剩余比例按a规定办法实施;
[0008](3)换算:根据设定数据和统计数据,换算所设置课程进行排课的难度系数z,并按从大到小的顺序为其排序,其中Z = (s/t) + (k/w) ;k为系数、W为场地范围、S为一周课时量、t为课程允许的排课时段;
[0009](4)排课:开始进行排课,在任课指定的场地,从符合任课时段的初始位置找能排的位置。不能排好的,在一个设定的时间内反复找合适的位置;依然不能排好的,做少量调课再排;若还不能满足条件则跳过这一排课任务,接着排下一课程;完成最后一个排课任务后检查所用课程是否排完;没有排完的课程再通过补排课自动逐一按顺序排课,若多次补排课依旧不能排好的;最后由人工半自动辅助排完所有的课。
[0010]进一步来说,步骤(I)至步骤(4)中的设定数据、分班信息的统计处理由数据库完成,其至少包括以下内容的表:①基本信息表,纪录关键的基本参数数据;②固定课表,记录一周相同时间上的相同的课;③科目节限表,记录每个课程上课最佳时段;④科目表,记录学校各个年级,各科每周上几节任课表,记录老师对应任课班级及相关信息;⑥学生学籍表,记录选课学生的学籍等信息;⑦学生选课表,记录学生选修的情况;⑧学生分班表,记录根据学生选课人数分班等信息;⑨选修课任课表,根据学校开课计划和分班情况安排教师授选修课;⑩课表,记录上课的场地、课节的总课表;老师课表,记录老师的姓名、课节和上课时间;场地表,记录学校各个教学场地的相关信息;模块表,记录学校开设的各个模块的相关信息。
[0011]更进一步来说,步骤(4)中所述的排课算法具体方法的模块设置如下:
[0012]A、在课程限定的时段内,从前到后不重复的换时间然后执行B ;
[0013]B、课表中对应位置是否有课,无课执行C ;若有课执行E ;
[0014]C、是否还有别的场地,有则执行B ;若没有别的场地,执行D ;
[0015]D、老师课表中对应位置是否有课,有课则执行A ;没有课就表示能排课;
[0016]E、当前场地是否为任课指定场地,是则执行G ;否就执行F ;
[0017]F、测试是否和要排的课有冲突,有冲突则执行G ;没有冲突就执行C ;
[0018]G、调课即被调的课重新排课,成功则执行C ;不成功就执行A。
[0019]其中步骤D也可放在步骤B或C之前,步骤F与步骤G也可交换先后顺序。
[0020]再进一步来说,为使本发明进行更好的发明效果,模块F的具体步骤如下:
[0021]I)在学生的选课和分班记录中,将学生前面的课元设为第i个,后面一个课元设为第j个,I值初始为1,j初始值比i大1,其中课元就是对应选课和其分班的组合;
[0022]2)学生的第i个课元和第j个课元是否有冲突,有冲突说明这个位置不能排课;没有冲突则j自增加I,然后执行3);
[0023]3) j是否超出实际范围n,其中η代表I个学生选课的最大数量,没有超出,执行步骤2);超出则执行步骤4);
[0024]4) i自增加1,然后将i的值再加I赋值给j,j是否超出实际范围,没有超出则执行步骤2);超出就执行步骤5);
[0025]5)学生选课及分班记录向下移动一个记录,检测是否有这样的纪录,有则执行步骤I),没有就表示没有冲突。
[0026]再进一步来说,本发明所述的方法亦可用于考试安排,安排考试时暂不考虑分班的因素,按本发明所述方法的步骤排好之后,将同时考试的学生按选课相同则不能相邻的原则插隔开即可。
[0027]本发明所具有的有益效果是:,能够有效的解决多约束条件下的分班、排课问题,大大减少了分班、排课所需要的时间,时间收敛性好,尤其在处理人数和班级较多的问题上更加显示出其优越性,实验表明,其在相同条件下采用本发明的算法比其他算法快至少20倍,极大的提高了工作效率,减少了人工,便于统计教师工作量,学生任务量,学生选课的趋向,方便查看教师、学生课表,为临时调整带来便利;本发明亦可用于进行考试安排。

【专利附图】

【附图说明】
[0028]附图1为本发明所述的方法流程示意图。
[0029]附图2为本发明的步骤(4)中模块的流程图。
[0030]附图3为本发明步骤(4)中模块F运行的流程图。
[0031]附图4为应用本发明所述方法的示意图。

【具体实施方式】
[0032]下面结合附图1?附图4对本发明做以下详细说明。
[0033]实施例1
[0034]如图1?4所示,本发明的方法包括如下步骤:
[0035](I)赋值:制定并公布学期课程列表即数据库中的模块表,设定每门课程的场地范围、一周课时量和课程允许的排课时段,分别对应数据库中相应的表,给每个学生分配100分的选择教师的总权分,学生选课时给每位任课老师给出分数;
[0036](2)分班:统计学生选课信息,即学生分班表,按以下规定分班:a.同一个行政班的选课相同的学生尽量分在一个教学班中,同时兼顾一个教学班来源的行政班数尽可能少;b.在场地和科目的实际要求下,按权分每门选修课从高到低吸收选课学生,组成新的教学班每个教学班中设置一定比例的名额按b规定实施,剩余比例按a规定办法实施;
[0037](3)换算:根据设定数据和统计数据,换算所设置课程进行排课的难度系数z,并按从大到小的顺序为其排序,其中z = (s/t) + (k/w) ;k为系数、w为场地范围、s为一周课时量、t为课程允许的排课时段;分别对其赋值,得出最难的是数学2,场地范围是原教室,一周是5节课,允许的排课时段是上午第I节到第3节,K暂定为1,Z = 5/2+1/1 = 3.5;最简单的是历史3,场地范围是任意,假设为8,一周是2节课,允许的排课时段是第4节到第 7 节,K 暂定为 LZ = 2/3+1/8 = 0.785。
[0038](4)排课:开始进行排课,在任课指定的场地,从符合任课时段的初始位置找能排的位置。不能排好的,在一个设定的时间内反复找合适的位置;依然不能排好的,做少量调课再排;若还不能满足条件则跳过这一排课任务,接着排下一课程;完成最后一个排课任务后检查所用课程是否排完;没有排完的课程再通过补排课自动逐一按顺序排课,若多次补排课依旧不能排好的;最后由人工半自动辅助排完所有的课。
[0039]将所选模块对应的任课教师投权分,系统根据权分从高到低的原则,吸收学生组成新的教学班,任课排序后,数学2最先排,在⑨选修课任课表中提取数学2的第I教学班任课教师姓名张师、任课要求的场地暂定为6至8场,同时在③科目节限表提取数学对应的排课时段暂定为I节至3节,在⑩课表中第6场位置,执行A步骤,从第一天即星期一,第I节开始,执行B,在⑩课表中对应位置是否有课,因为开始排课,假设无课,无课执行C,从第I场即星期一第I节对应位置,执行B,假设有课,执行E,是音乐I第I教学班的课,自然不是当前指定场地,就执行F,这时便到⑦学生选课表和⑧学生分班表中,第一个位置即高鹏开始,执行2),第i个课元即语文I模块第I班和第j个课元即数学2模块第I班比较是否恰好为数学2的第I班和音乐I第I班,显然不是,执行3),j现在是3,没有超出实际η,η为20,那么执行2),第i个课元即语文I模块第I班和第j个课元即英语2,I班是否是要找的一对课元,不是则j加I后变为4,执行3),直到j为21时执行3)超出n,执行4),i变为2,j为3,第i个即数学2,I班和第j个即英语2,I班是否是要找的一对课元,不是,j为4,直到j大于n,i自增1,直到i为η时,j超出范围,执行步骤5),学生选课及分班记录向下移动一个记录,继续执行I),找到要找的一对课元,则跳出,执行G步骤,调课,即就是将第I场中的星期一第I节的音乐I第I班任课调整到别的适合它的位置,其实就是对它再排课,具体就不细说了,假设调课不成功,执行A,从星期一的第2节,执行B,课表中对应位置无课执行C ;有别的场地,从第I场地执行B,对应位置无课执行C ;有别的场地,第2场地执行B,对应位置无课执行C,直到第6场地,第7、第8 一直到所有场地都空,即执行C中没有别的场地了,执行D,老师课表中张老师对应位置是否有课,没有课就表示能排课。
[0040]依据以上所述步骤依次对每一个排课任务进行排课,最后直至电脑辅助手工完成排课,整个在多约束条件下的分班、排课任务结束。
【权利要求】
1.基于加权优化算法的信息化分班、排课方法,其特征在于,包括如下步骤:(1)赋值:制定并公布学期课程列表,设定每门课程的场地范围、一周课时量和课程允许的排课时段,给每个学生分配100分的选择教师的总权分,学生选课时给每位任课老师给出分数; (2)分班:统计学生选课信息,按以下规定分班#同一个行政班的选课相同的学生尽量分在一个教学班中,同时兼顾一个教学班来源的行政班数尽可能少,匕在场地和科目的实际要求下,每门选修课按权分从高到低吸收选课学生,组成新的教学班,0.每个教学班中设置一定比例的名额按6规定实施,剩余比例按3规定办法实施; (3)换算:根据设定数据和统计数据,换算所设置课程进行排课的难度系数2,并按从大到小的顺序为其排序,其中2 = (8八) + 0^/4, V为系数1为场地范围、8为一周课时量、^为课程允许的排课时段; (4)排课:开始进行排课,在任课指定的场地,从符合任课时段的初始位置找能排的位置,不能排好的,在一个设定的时间内反复找合适的位置,依然不能排好的,做少量调课再排,若还不能满足条件则跳过这一排课任务,接着排下一课程,完成最后一个排课任务后检查所用课程是否排完,没有排完的课程再通过补排课自动逐一按顺序排课,若多次补排课依旧不能排好的,最后由人工半自动辅助排完所有的课。
2.根据权利要求1所述的基于加权优化算法的信息化分班、排课方法,其特征在于:所述步骤(1)至步骤(4)中的设定数据、分班信息的统计处理由数据库完成,其至少包括以下内容的表:①基本信息表,纪录关键的基本参数数据,②固定课表,记录一周相同时间上的相同的课,③科目节限表,记录每个课程上课最佳时段,④科目表,记录学校各个年级,各科每周上几节,⑤任课表,记录老师对应任课班级及相关信息,⑥学生学籍表,记录选课学生的学籍等信息,⑦学生选课表,记录学生选修的情况,⑧学生分班表,记录根据学生选课人数分班等信息,⑨选修课任课表,根据学校开课计划和分班情况安排教师授选修课,⑩课表,记录上课的场地、课节的总课表,老师课表,记录老师的姓名、课节和上课时间,场地表,记录学校各个教学场地的相关信息,模块表,记录学校开设的各个模块的相关信息。
3.根据权利要求1所述的基于加权优化算法的信息化分班、排课方法,其特征在于:所述步骤(4)中所述的排课算法具体方法的模块设置如下: 八、在课程限定的时段内,从前到后不重复的换时间然后执行8 ; 8、课表中对应位置是否有课,无课执行0,若有课执行2 ; 0、是否还有别的场地,有则执行8,若没有别的场地,执行0 ; 0、老师课表中对应位置是否有课,有课则执行八,没有课就表示能排课; 2、当前场地是否为任课指定场地,是则执行6 ;否就执行?; ?、测试是否和要排的课有冲突,有冲突则执行6,没有冲突就执行; 6、调课即被调的课重新排课,成功则执行0,不成功就执行八。
4.根据权利要求1所述的基于加权优化算法的信息化分班、排课方法,其特征在于:所述的步骤0也可放在步骤8或之前,步骤?与步骤也可交换先后顺序。
5.根据权利要求1所述的基于加权优化算法的信息化分班、排课方法,其特征在于:所述的模块?的具体步骤如下: 1)在学生的选课和分班记录中,将学生前面的课元设为第1个,后面一个课元设为第』个,1值初始为1,』初始值比1大1,其中课元就是对应选课和其分班的组合; 2)学生的第1个课元和第』个课元是否有冲突,有冲突说明这个位置不能排课,没有冲突则』自增加1,然后执行3); 3)]是否超出实际范围II,其中II代表1个学生选课的最大数量,没有超出,执行步骤2),超出则执行步骤4); 4)1自增加1,然后将1的值再加1赋值给』,』是否超出实际范围,没有超出则执步骤2),超出就执行步骤5); 5)学生选课及分班记录向下移动一个记录,检测是否有这样的纪录,有则执行步骤1),没有就表示没有冲突。
6.根据权利要求1所述的基于加权优化算法的信息化分班、排课方法,其特征在于:所述的方法亦可用于考试安排,安排考试时暂不考虑分班的因素,按步骤排好之后,将同时考试的学生按选课相同则不能相邻的原则插隔开即可。
【文档编号】G06F17/30GK104462079SQ201310415299
【公开日】2015年3月25日 申请日期:2013年9月12日 优先权日:2013年9月12日
【发明者】马旺 申请人:郑州学生宝电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1