一种智能排课方法、装置、设备及介质与流程

未命名 10-16 阅读:219 评论:0


1.本发明涉及数据处理技术领域,尤其涉及一种智能排课方法、装置、设备及介质。


背景技术:

2.传统的排课方式是采用人工进行排课的,首先,人工排课方式的时间和资源消耗高,传统的实验室排课通常需要大量的时间和人力资源来完成,手动分配和安排课程需要考虑多种因素,比如,教师。学生、实验室、时间表等,可能导致繁琐的计算和调整。
3.其次,人为因素的干预容易出现错误,手动计算和调整可能导致错误的安排,比如重复安排教师、教师或者学生的冲突等,传统方式缺乏灵活性,难以适应排课需求的变化。
4.而且,由于排课过程种存在许多约束条件,如教师的时间限制,课程的先决条件、学生的课程冲突等,传统排课方式难以同时考虑和满足所有复杂的约束,导致排课结果不够理想。
5.传统排课方式通常是一次性的静态安排,难以应对实时的变化和调整需求,比如,当有新的课程或者教师加入、学生人数变动或者特殊事件发生时,传统方式可能无法快速地重新调整和优化排课结果。
6.因此,如何快速得到准确合理的排课结果是目前亟待解决的技术问题。


技术实现要素:

7.鉴于上述问题,本发明提供了一种克服上述问题或者至少部分地解决上述问题的智能排课方法、装置、设备及介质。
8.第一方面,本发明提供了一种智能排课方法,包括:基于约束条件,生成针对不同实验课程的教学资源组合方式,任意一种教学资源组合方式包括实验项目id、教学班id、教师id以及实验室id;获取课程位点,所述课程位点为教学周的教学日的节次时间位点,所述课程位点与非实验课程的节次时间位点不冲突;将所述教学资源组合方式分配至课程位点上,形成n组排课方案;基于教学资源组合方式中各个资源的限制情况,生成适应度函数,所述适应度函数用于对每组排课方案的优劣进行适应度评分;从所述n组排课方案中确定m组排课方案;基于所述适应度函数,判断所述m组排课方案是否满足预设条件;若是,从所述m组排课方案中确定最优排课方案。
9.进一步地,所述基于所述适应度函数,判断所述m组排课方案是否满足预设条件,包括:基于所述适应度函数,判断所述m组排课方案中每组排课方案的适应度评分值是否满足阈值条件;或者基于所述适应度函数,判断所述m组排课方案的调整次数是否达到预设最大迭代
次数;或者基于所述适应度函数,判断所述m组排课方案的调整次数在达到最大适应度稳定阈值时,每组排课方案的适应度评分值是否未发生变化,所述最大适应度稳定阈值基于所述预设最大迭代次数所确定。
10.进一步地,在所述基于所述适应度函数,判断所述m组排课方案的每组排课方案的适应度评分值是否满足阈值条件之后,还包括:若否,基于遗传算法对所述m组排课方案中每组排课方案进行调整,得到m组新的排课方案;基于所述适应度函数,判断所述m组新的排课方案中每组排课方案的适应度评分值是否满足阈值条件,不断迭代调整,直至满足阈值条件。
11.进一步地,所述基于遗传算法对所述m组排课方案中每组排课方案进行调整,得到m组新的排课方案,包括:基于遗传算法对所述m组排课方案中每组排课方案进行基因交叉调整,得到m组新的排课方案。
12.进一步地,所述基于遗传算法对所述m组排课方案中每组排课方案进行调整,得到m组新的排课方案,包括:基于遗传算法对所述m组排课方案中每组排课方案进行基因变异调整,得到m组新的排课方案。
13.进一步地,基于所述适应度函数,判断所述m组新的排课方案中每组排课方案的适应度评分值是否满足阈值条件,不断迭代调整,直至满足阈值条件,包括:基于适应度函数,确定所述m组新的排课方案中的最大适应度评分值、最小适应度评分值以及平均适应度评分值;基于所述最大适应度评分值、最小适应度评分值以及平均适应度评分值,对阈值条件中的适应度阈值进行调整,得到新的适应度阈值;判断所述m组新的排课方案中每组排课方案的适应度评分值是否满足新的适应度阈值,不断迭代调整,直至满足阈值条件。
14.进一步地,在所述基于约束条件,生成针对不同实验课程的教学资源组合方式之前,还包括:对每个实验课程对应的教学资源进行编码;在从所述m组排课方案中确定最优排课方案之后,还包括:对所述最优排课方案进行解码。
15.第二方面,本发明还提供了一种智能排课装置,包括:第一生成模块,用于基于约束条件,生成针对不同实验课程的教学资源组合方式,每个实验课程对应多种教学资源组合方式,任意一种教学资源组合方式包括实验项目id、教学班id、教师id以及实验室id;获取模块,用于获取课程位点,所述课程位点为教学周的教学日的节次时间位点,所述课程位点的节次时间位点与非实验课程的节次时间位点不冲突;形成模块,用于将每种教学资源组合方式分配至课程位点上,形成n组排课方案;第二生成模块,用于基于教学资源组合方式中各个资源的限制情况,生成适应度
函数,所述适应度函数用于对每组排课方案的优劣进行适应度评分;第一确定模块,用于从所述多组排课方案中确定m组排课方案;第一判断模块,用于基于所述适应度函数,判断所述m组排课方案是否满足预设条件;第二确定模块,用于若是,从所述m组排课方案中确定最优排课方案。
16.第三方面,本发明还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面中所述的方法步骤。
17.第四方面,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中所述的方法步骤。
18.本发明实施例中的一个或多个技术方案,至少具有如下技术效果或优点:本发明提供了一种智能排课方法,包括:基于约束条件,生成针对不同实验课程的教学资源组合方式,每个实验课程对应多种教学资源组合方式,任意一种教学资源组合方式包括实验项目id、教学班id、教师id以及实验室id;获取课程位点,课程位点为教学周的教学日的节次时间位点,该课程位点与非实验课程的节次时间位点不冲突;将每种教学资源组合方式分配至课程位点上,形成n组排课方案;基于教学资源组合方式中各个资源的限制情况,生成适应度函数,该适应度函数用于对每组排课方案的优劣进行适应度评分;从多组排课方案中确定m组排课方案;基于适应度函数,判断m组排课方案是否满足预设条件;若是,从m组排课方案中确定最优排课方案,进而能快速得到准确合理的排课结果。
附图说明
19.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考图形表示相同的部件。在附图中:图1示出了本发明实施例中智能排课方法的步骤流程示意图;图2示出了本发明实施例中将教学资源组合方式分配至课程位点上的示意图;图3示出了本发明实施例中两个个体进行基因交叉的示意图;图4示出了本发明实施例中单个个体进行基因变异的示意图;图5示出了本发明实施例中智能排课方法的整体思路示意图;图6示出了本发明实施例中智能排课装置的结构示意图;图7示出了本发明实施例中实现智能排课方法的计算机设备的结构示意图。
具体实施方式
20.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整传达给本领域的技术人员。
21.实施例1
22.本发明的实施例提供了一种智能排课方法,如图1所示,该方法包括:
s101,基于约束条件,生成针对不同实验课程的教学资源组合方式,每个实验课程对应多种教学资源组合方式,任意一种教学资源组合方式包括实验项目id、教学班id、教师id以及实验室id;s102,获取课程位点,课程位点位教学周的教学日的节次时间位点,课程位点与非实验课程的节次时间位点不不冲突;s103,将每种教学资源组合方式分配至课程位点上,形成n组排课方案;s104,基于教学资源组合方式中各个资源的限制情况,生成适应度函数,适应度函数用于对每组排课方案的优劣进行适应度评分;s105,从多组排课方案中确定m组排课方案;s106,基于适应度函数,判断m组排课方案是否满足预设条件;s107,若是,从m组排课方案中确定最优排课方案。
23.首先介绍下排课的一些基本信息,一般来说,学校教务人员在教学周开始之前,会提前进行非实验课程的时间安排(非实验课程较少,可手动安排),在实验课程安排结束之后,会将实验课程安排在教学周的其他空余时间段,对于实验课程的大致规划如下:一个实验课程对应多个实验项目,这些实验项目由排课算法根据一系列约束进行安排,包括实验课程对实验项目的时间约束、对实验室、对教师以及对教学班等定制化约束等。一个实验课程对应的多个实验项目中每个实验项目必须在课程安排的时间段进行。
24.在s101之前,先获取针对不同课程的教学资源,这些教学资源包括每个实验课程所对应的实验项目,比如,实验课程一包括实验项目a、实验项目b、实验项目c等等,针对任一实验项目授课的教师甲、教师乙、教师丙和教师丁等,其中,教师不止教授一项实验项目,针对任一实验项目的实验室11、实验室12、实验室13等,实验室的内部设备使得其只能适用于某些实验项目。教学班容纳一定数量的学生,任一教学班的学生会同时在一个实验室进行一项实验项目。
25.接下来,将这些教学资源录入数据库中,并对录入的教学资源进行数据验证,比如,数据库中并未存在某实验课程的授课老师,此类影响排课的硬性缺陷一定在某次尝试中被遇到。又比如,实验课程有很多,但是教师或者符合条件的实验室比较少,或者教学班的人数远远大于提供的实验室的最大人数,此时排课条件比较苛刻,极大可能得不到排课方案。因此,针对这些情况进行调整。
26.其中,教学资源录入数据库中时,包括排课的基础信息输入到数据库中,基础信息包括课程信息(包括课程编号、课程名、课程教案信息等)、项目信息(包括项目编号、项目名、项目所需实验室类型等)、学生信息(包括学号、姓名、教学班等)、教师信息(包括工号、姓名、所授课程等)、实验室信息(包括编号、实验室名、实验室类型、实验器械信息等)。然后,还需要录入模板文档,实验室人员根据教务处下发的实验课程排期,将排课初始数据录入文档中,模板文档包括了课程时间表、项目时间表、学生表。课程时间表中录入了该课程的编号、名称、教学周范围、教学班信息。项目时间表录入了项目编号、项目所属的实验课程、项目的教学周范围,学生表中录入了所有学生的学号、姓名、所属教学班。接着,将文档中录入的信息和数据库中基础数据进行比对。具体比对内容,1,存在性比对,若录入的课程、项目、教学班,在数据库中不存在,则认为录入信息有误,需要重新录入。若录入的学生信息不存在,则创建该学生信息。2,找到数据库中的课程基础信息,将课程时间表中的实验
课程的教学周范围数据填入,通过项目时间表得到实验课程与实验项目的关联关系,将此关联关系更新到数据库中。3、将数据库中一个教学周期内的排课完整信息以主键作为标识全部取出,并创建数据对象,组成数据池。最后进行数据验证。
27.然后,对每个实验课程对应的教学资源进行编码,本发明中具体是将教学资源的主键代替对应的名称,比如,教师的工号等。
28.接着,执行s101,基于约束条件,生成针对不同实验课程的教学资源组合方式,每个实验课程对应多种教学资源组合方式,任意一种教学资源组合方式包括实验项目id、教学班id、教师id以及实验室id。
29.在随机生成的教学资源组合方式中,需要满足如下约束条件:只有匹配的一组教学资源才能被组合在一起,即教学资源中的教师必须是从教授这门实验课程的教师集合中随机需求拿出,实验室必须是从满足实验项目的实验室类型的实验室集合中随机选出,教学班也是如此,从而随机形成了一组某个实验项目的教学资源组合方式。
30.接下来,执行s102,获取课程位点,该课程位点位为教学周的教学日的节次时间位点,该课程位点与非实验课程的节次时间位点不冲突。
31.比如,第1教学周的星期1的第1节课,就是一个课程位点。每个教学周的教学日的某个节次时间位点唯一,因此,对每个课程位点编号,则编号也唯一,所有课程位点根据编号进行排序,得到课程位点序列。
32.然后,执行s103,将每种教学资源组合方式分配至课程位点上,形成n组排课方案。
33.如图2所示,将教学资源组合方式分配至课程位点上,其中,课程位点按照由1至n的顺序进行排序,相同的教学资源组合方式可以分配至不同的课程位点上。
34.接下来,执行s104,基于教学资源组合方式中各个资源的限制情况,生成适应度函数,该适应度函数用于对每组排课方案的优劣进行适应度评分。
35.具体地,若教师的限制情况是:同一教师在一天内被安排超过两节实验课,就扣分,扣分标准根据该限制情况的重要程度来决定,比如,重要程度从低到高可以将惩罚值设置为:个、十、百、千、万等量级的整数,若上述教师的限制情况设置为10,在最终得到的适应度评分值为129,则可以确定该排课方案得到的惩罚值为 1次100级别的,2次10级别的,9次1级别的。
36.该惩罚模式分为累加计算和单词计算,累加计算就是对每种限制情况违背时计算累加,单次计算就是只计算一次,后面出现对限制情况违背时也不计算。因为往往重要限制情况的惩罚值被设置的很高,会优先淘汰这种排课方式。
37.具体的检测流程,根据各个资源的限制情况,分别对每组排课方案的各个资源进行检测,比如,上述检测验证是否有教师在一天内被安排超过两次实验课。课程位点序列按照时间排列,因此,只需要按照教学日进行划分,检测,轮询查看是否有教师违背上述限制情况即可。
38.接下来,执行105,从n组排课方式中确定m组排课方式。其中,m小于n。
39.这里采用锦标赛选取法,即传统遗传算法的经典选择方式,具体地,从原始种群中随机选择p个个体组成一个小团体,再从该小团体中选择适应度最好的个体进行后续操作。采用从小团体中选择适应度评分值最好的个体,而并非是从原始种群中选择适应度评分值
最好的个体的目的是为了防止算法过早陷入局部最优。
40.那么m组排课方案就是从n组排课方案中采用锦标赛选取法选取出来,其中,每组排课方案即为上述的个体,n组排课方案即为上述的原始种群。
41.在确定m组排课方案之后,执行s106,基于适应度函数,判断m组排课方案是否满足预设条件。
42.在本发明实施例中,具体判断是否满足如下三种预设条件中的任意一种:基于适应度函数,判断m组排课方案中每组排课方案的适应度评分值是否均满足阈值条件;基于适应度函数,判断m组排课方案的调整次数是否达到预设迭代次数;基于适应度函数,判断m组排课方案的调整次数是否达到最大适应度稳定阈值。
43.在满足上述任意一种判断条件时,即可退出,得到最优排课方案。
44.其中,在判断m组排课方案中每组排课方案的适应度评分值是否满足阈值条件时,该阈值条件具体是适应度阈值,在小于该阈值时,确定满足阈值条件,在大于或者等于该阈值时,确定不满足该阈值条件。
45.其中一种退出的方案为在m组排课方案中的每组排课方案的适应度评分值满足阈值条件时,即小于适应度阈值时,得到最优的排课方案。
46.在m组排课方案中的每组排课方案的适应度评分值不满足阈值条件时,具体包括:基于遗传算法对m组排课方案中每组排课方案进行调整,得到m组新的排课方案;基于适应度函数,判断m组新的排课方案中每组排课方案的适应度评分值是否满足阈值条件,不断迭代调整,直至满足阈值条件。
47.下面具体对每组排课方案进行调整进行详细描述。
48.调整的方式可以按照遗传算法进行调整,包括:基因交叉和基因变异相结合,按照一定的概率调整基因变异的数量,实现种群的进化。
49.为了更加清楚本发明的方案与遗传算法的关系,需要对遗传算法的名词进行解释,将本方案中每组排课方式命为个体,将多个个体形成的团体命为群体。
50.其中,基于遗传算法对m组排课方案中每组排课方案进行基因交叉调整,得到m组新的排课方案,具体如图3所示。以两个组排课方式,即个体(序列a和序列b)为例,进行基因交叉,即是将两个编码后的序列的局部片段进行交换。
51.提取序列a中位点2至位点n-1的局部片段(采用随机选取方式),确定出该局部片段上的教学资源组合方式的排布顺序,比如,图3中的顺序为教学资源组合方式3、教学资源组合方式1

教学资源组合方式4。
52.接下来,将上述确定的顺序对序列b进行顺序调整,原始序列b中的顺序为:教学资源组合方式1、空位、教学资源组合方式4、

、教学资源组合方式3、教学资源组合方式n。按照上述教学资源组合方式3、教学资源组合方式1

教学资源组合方式4的顺序,调整后的序列b的顺序为:教学资源组合方式3、教学资源组合方式1、空位、教学资源组合方式4、

、教学资源组合方式3、教学资源组合方式n。
53.通过基因交叉的调整方式,并非真正的“交叉”,而是选择某个序列的片段,得到此片段的特征,即顺序,将需要调整的序列也按照该顺序特征进行调整,这种调整方式间接避开了遗传算法在排课问题中基因交叉方案难以设计的问题。通过让上述序列b继承序列a的
顺序特征,该顺序特征,从很大程度上代表对序列a所表示的个体的优异。因此,采用这种调整方式能够在多轮进化过程中使得种群的适应度评分值得到提升。
54.另一种调整方法中,基于遗传算法对m组排课方案中每组排课方案进行基因变异调整,得到m组新的排课方案。
55.在传统遗传算法中,基因变异被设计为个体序列上某几个二进制位的变化,但是这样往往需要维护一个较为完备的语义集合,即哪些二进制位可以便宜和如何变异等问题,一旦有产生了异常变异,就破坏了原来的个体结构,导致个体解码后变得没有任何实现意义。
56.在本发明中,需要设置变异规则集合,按照该变异规则集合,使得个体基因变异过程受到变异规则的约束,变异规则集可以在后续不断增加新的规则,如图4所示,通过随机从变异规则集合中选取变异规则,对任意课程位点的教学资源进行调整。图4中具体是对课程位点3的教学资源进行调整。
57.采用变异规则集合的方式,可以确保基因变异过程受到严格的约束,从而避免突变的出现,变异规则的灵活性使得我们能够根据具体问题的特点和约束条件,精确控制个体的变异过程,并保持个体的结构和语义的一致性。
58.采用上述任意一种调整方式,或者两者结合的方式,即先基因交叉,再基因变异的方式,进而提升排课方案个体的适应度评分值。
59.通过每调整一次之后,基于适应度函数,判断m组排课方案是否满足预设条件,即判断m组排课方案中每组排课方案的适应度评分值是否满足阈值条件;或者判断m组排课方案的调整次数是否达到最大适应度阈值;或者判断m组排课方案的调整次数是否达到最大适应度稳定阈值。
60.只有在上述任意条件满足时,即可得到最优排课方案。
61.具体地,上述的阈值条件即为适应度阈值,该适应度阈值本难以确定,为了更好地反映问题的复杂度和搜索空间的特点,可以对适应度阈值进行自适应调整。
62.对适应度阈值进行自适应调整,具体包括:基于适应度函数,确定m组新的排课方案中的最大适应度评分值、最小适应度评分值以及平均适应度评分值;基于最大适应度评分值、最小适应度评分值以及平均适应度评分值,对阈值条件中的阈值进行调整,得到新的适应度阈值。
63.具体地,是将最大适应度评分值、最小适应度评分值以及评价适应度评分值加入作为历史数据进行评估,动态调整自适应阈值。比如,根据这些数据所表明的进化趋势来看,若进化趋势表明进化较快,且适应度持续改善,可以适当减小该适应度阈值,以促进更高水平的进化和避免过早收敛;若进化趋势表明进化较慢或者适应度改善幅度较小,可以适当增大适应度阈值。
64.在得到该新的适应度阈值之后,具体是判断m个新的排课方案中每组排课方案的适应度评分值是否满足新的适应度阈值,不断迭代调整,直至满足阈值条件。
65.上述仅是对其中一个判断条件的判断过程,即判断m组排课方案的每组排课方案的适应度评分值是否满足阈值条件。为了避免算法有时会过早得到最优个体(即使再经过大量的进化迭代次数后,也不会产生更好个体),而这时如果最优个体不能满足适应度阈
值,算法此时无法结束,则之后的迭代均为无效迭代。就是因为适应度阈值不易设置,导致没有别的算法退出迭代。
66.为了解决上述问题,才会引出另外两个判断条件,第一,设置最大迭代次数,即预设迭代次数,在确定m组排课方案的调整次数达到预设迭代次数时,退出迭代,得到最优排课方案。
67.第二,设置最大适应度稳定阈值,该最大适应度稳定阈值的设置与最大迭代次数有关,具体可以将该最大适应度稳定阈值设置为最大迭代次数的1/4,在m组排课方案的调整次数达到最大适应度稳定阈值时,若得到的每组排课方案的适应度评分值没有发生变化,则认为无需迭代,这样,即使在适应度阈值无法满足的情况下,该算法仍可以根据其他退出条件结束运行,避免无效的迭代。
68.最后,在满足上述三种判断中的任意一种之后,得到最优排课方案,具体地,需要先将最优排课方案进行解码展示。其中,每组排课方案中的课程位点保存有各个教学资源的主键信息,即唯一标识信息,可以根据该主键信息从数据池中找到对应的数据列,得到最终的最优排课方案。
69.本发明的整体思路如图5所示,开始,通过对教学资源进行编码501,接着,将教学资源进行组合得到教学资源组合方式,即为初始化种群502。接下来,将教学资源组合方式放置在课程位点上,得到n组排课方案,从中确定出m组排课方案。接着,采用适应度函数对m组排课方案的优劣进行评分,即计算适应度503,得到每组排课方案的适应度评分值。接下来,在504中,判断每组排课方案的适应度评分值是否满足阈值条件,或者判断调整的次数是否达到预设最大迭代次数,或者判断调整次数在达到最大适应度稳定阈值时,每组排课方案的适应度评分值是否未发生变化。若三者中任意判断结果为是,则通过解码505,得到最佳排课结果506,最后结束。若三者中均为否,则通过选取507其中的个体,即排课方案,进行基因交叉和/或基因变异508的调整,再次计算适应度,再次判断上述的任意预设条件,进行种群进化的迭代过程。
70.本发明实施例中的一个或多个技术方案,至少具有如下技术效果或优点:本发明提供了一种智能排课方法,包括:基于约束条件,生成针对不同实验课程的教学资源组合方式,每个实验课程对应多种教学资源组合方式,任意一种教学资源组合方式包括实验项目id、教学班id、教师id以及实验室id;获取课程位点,课程位点为教学周的教学日的节次时间位点,该课程位点与非实验课程的节次时间位点不冲突;将每种教学资源组合方式分配至课程位点上,形成n组排课方案;基于教学资源组合方式中各个资源的限制情况,生成适应度函数,该适应度函数用于对每组排课方案的优劣进行适应度评分;从多组排课方案中确定m组排课方案;基于适应度函数,判断m组排课方案是否满足预设条件;若是,从m组排课方案中确定最优排课方案,进而能快速得到准确合理的排课结果。
71.实施例2
72.基于相同的发明构思,本发明实施例还提供了一种智能排课装置,如图6所示,包括:第一生成模块601,用于基于约束条件,生成针对不同实验课程的教学资源组合方式,任意一种教学资源组合方式包括实验项目id、教学班id、教师id以及实验室id;获取模块602,用于获取课程位点,所述课程位点为教学周的教学日的节次时间位
点,所述课程位点与非实验课程的节次时间位点不冲突;形成模块603,用于将所述教学资源组合方式分配至课程位点上,形成n组排课方案;第二生成模块604,用于基于教学资源组合方式中各个资源的限制情况,生成适应度函数,所述适应度函数用于对每组排课方案的优劣进行适应度评分;第一确定模块605,用于从所述n组排课方案中确定m组排课方案;第一判断模块606,用于基于所述适应度函数,判断所述m组排课方案是否满足预设条件;第二确定模块607,用于若是,从所述m组排课方案中确定最优排课方案。
73.在一种可选的实施方式中,所述第一判断模块606,包括:第一判断单元,用于基于所述适应度函数,判断所述m组排课方案中每组排课方案的适应度评分值是否满足阈值条件;或者第二判断单元,用于基于所述适应度函数,判断所述m组排课方案的调整次数是否达到预设最大迭代次数;或者第三判断单元,用于基于所述适应度函数,判断所述m组排课方案的调整次数在达到最大适应度稳定阈值时,每组排课方案的适应度评分值是否未发生变化,所述最大适应度稳定阈值基于所述预设最大迭代次数所确定。
74.在一种可选的实施方式中,还包括:调整模块,用于:若否,基于遗传算法对所述m组排课方案中每组排课方案进行调整,得到m组新的排课方案;第二判断模块,用于基于所述适应度函数,判断所述m组新的排课方案中每组排课方案的适应度评分值是否满足阈值条件,不断迭代调整,直至满足阈值条件。
75.在一种可选的实施方式中,所述调整模块,用于:基于遗传算法对所述m组排课方案中每组排课方案进行基因交叉调整,得到m组新的排课方案。
76.在一种可选的实施方式中,所述调整模块,用于:基于遗传算法对所述m组排课方案中每组排课方案进行基因变异调整,得到m组新的排课方案。
77.在一种可选的实施方式中,所述第二判断模块,用于:基于适应度函数,确定所述m组新的排课方案中的最大适应度评分值、最小适应度评分值以及平均适应度评分值;基于所述最大适应度评分值、最小适应度评分值以及平均适应度评分值,对阈值条件中的适应度阈值进行调整,得到新的适应度阈值;判断所述m组新的排课方案中每组排课方案的适应度评分值是否满足新的适应度阈值,不断迭代调整,直至满足阈值条件。
78.在一种可选的实施方式中,还包括:编码模块,用于在所述基于约束条件,生成针对不同实验课程的教学资源组合方式之前,对每个实验课程对应的教学资源进行编码;解码模块,用于在从所述m组排课方案中确定最优排课方案之后,对所述最优排课方案进行解码。
79.实施例3
80.基于相同的发明构思,本发明实施例提供了一种计算机设备,如图7所示,包括存储器704、处理器702及存储在存储器704上并可在处理器702上运行的计算机程序,所述处理器502执行所述程序时实现上述智能排课方法的步骤。
81.其中,在图7中,总线架构(用总线700来代表),总线700可以包括任意数量的互联的总线和桥,总线700将包括由处理器702代表的一个或多个处理器和存储器704代表的存储器的各种电路链接在一起。总线700还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口706在总线700和接收器701和发送器703之间提供接口。接收器701和发送器703可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器702负责管理总线700和通常的处理,而存储器704可以被用于存储处理器702在执行操作时所使用的数据。
82.实施例4
83.基于相同的发明构思,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述智能排课方法的步骤。
84.在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
85.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
86.类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个实施例中所明确记载的特征更多的特征。更确切地说,如每个实施例所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
87.本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
88.此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围
之内并且形成不同的实施例。例如,在具体实施方式中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
89.本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的智能排课装置、计算机设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
90.应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

技术特征:
1.一种智能排课方法,其特征在于,包括:基于约束条件,生成针对不同实验课程的教学资源组合方式,任意一种教学资源组合方式包括实验项目id、教学班id、教师id以及实验室id;获取课程位点,所述课程位点为教学周的教学日的节次时间位点,所述课程位点与非实验课程的节次时间位点不冲突;将所述教学资源组合方式分配至课程位点上,形成n组排课方案;基于教学资源组合方式中各个资源的限制情况,生成适应度函数,所述适应度函数用于对每组排课方案的优劣进行适应度评分;从所述n组排课方案中确定m组排课方案;基于所述适应度函数,判断所述m组排课方案是否满足预设条件;若是,从所述m组排课方案中确定最优排课方案。2.如权利要求1所述的方法,其特征在于,所述基于所述适应度函数,判断所述m组排课方案是否满足预设条件,包括:基于所述适应度函数,判断所述m组排课方案中每组排课方案的适应度评分值是否满足阈值条件;或者基于所述适应度函数,判断所述m组排课方案的调整次数是否达到预设最大迭代次数;或者基于所述适应度函数,判断所述m组排课方案的调整次数在达到最大适应度稳定阈值时,每组排课方案的适应度评分值是否未发生变化,所述最大适应度稳定阈值基于所述预设最大迭代次数所确定。3.如权利要求2所述的方法,其特征在于,在所述基于所述适应度函数,判断所述m组排课方案中每组排课方案的适应度评分值是否满足阈值条件之后,还包括:若否,基于遗传算法对所述m组排课方案中每组排课方案进行调整,得到m组新的排课方案;基于所述适应度函数,判断所述m组新的排课方案中每组排课方案的适应度评分值是否满足阈值条件,不断迭代调整,直至满足阈值条件。4.如权利要求3所述的方法,其特征在于,所述基于遗传算法对所述m组排课方案中每组排课方案进行调整,得到m组新的排课方案,包括:基于遗传算法对所述m组排课方案中每组排课方案进行基因交叉调整,得到m组新的排课方案。5.如权利要求3所述的方法,其特征在于,所述基于遗传算法对所述m组排课方案中每组排课方案进行调整,得到m组新的排课方案,包括:基于遗传算法对所述m组排课方案中每组排课方案进行基因变异调整,得到m组新的排课方案。6.如权利要求3所述的方法,其特征在于,基于所述适应度函数,判断所述m组新的排课方案中每组排课方案的适应度评分值是否满足阈值条件,不断迭代调整,直至满足阈值条件,包括:基于适应度函数,确定所述m组新的排课方案中的最大适应度评分值、最小适应度评分值以及平均适应度评分值;
基于所述最大适应度评分值、最小适应度评分值以及平均适应度评分值,对阈值条件中的适应度阈值进行调整,得到新的适应度阈值;判断所述m组新的排课方案中每组排课方案的适应度评分值是否满足新的适应度阈值,不断迭代调整,直至满足阈值条件。7.如权利要求1所述的方法,其特征在于,在所述基于约束条件,生成针对不同实验课程的教学资源组合方式之前,还包括:对每个实验课程对应的教学资源进行编码;在从所述m组排课方案中确定最优排课方案之后,还包括:对所述最优排课方案进行解码。8.一种智能排课装置,其特征在于,包括:第一生成模块,用于基于约束条件,生成针对不同实验课程的教学资源组合方式,每个实验课程对应多种教学资源组合方式,任意一种教学资源组合方式包括实验项目id、教学班id、教师id以及实验室id;获取模块,用于获取课程位点,所述课程位点为教学周的教学日的节次时间位点,所述课程位点的节次时间位点与非实验课程的节次时间位点不冲突;形成模块,用于将每种教学资源组合方式分配至课程位点上,形成n组排课方案;第二生成模块,用于基于教学资源组合方式中各个资源的限制情况,生成适应度函数,所述适应度函数用于对每组排课方案的优劣进行适应度评分;第一确定模块,用于从所述n组排课方案中确定m组排课方案;第一判断模块,用于基于所述适应度函数,判断所述m组排课方案是否满足预设条件;第二确定模块,用于若是,从所述m组排课方案中确定最优排课方案。9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~7中任一权利要求所述的方法步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~7中任一权利要求所述的方法步骤。

技术总结
本发明涉及数据处理技术领域,尤其涉及一种智能排课方法、装置、设备及介质,方法包括:生成针对不同实验课程的教学资源组合方式,每个实验课程对应多种教学资源组合方式,任意一种教学资源组合方式包括实验项目ID、教学班ID、教师ID以及实验室ID;获取课程位点,课程位点为教学周的教学日的节次时间位点;将每种教学资源组合方式分配至课程位点,形成N组排课方案;基于教学资源组合方式中各个资源的限制情况,生成适应度函数,适应度函数用于对每组排课方案的优劣进行适应度评分;从多组排课方案中确定M组排课方案;基于适应度函数,判断M组排课方案是否满足预设条件;若是,从M组排课方案中确定最优排课方案,快速得到准确合理的排课结果。排课结果。排课结果。


技术研发人员:李志伟 黄武
受保护的技术使用者:成都泰盟软件有限公司
技术研发日:2023.09.05
技术公布日:2023/10/11
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐