一种双温控制的排课方法及装置与流程

文档序号:17466917发布日期:2019-04-20 05:34阅读:166来源:国知局
一种双温控制的排课方法及装置与流程

本发明涉及教学管理技术领域,具体而言,涉及一种双温控制的排课方法及装置。



背景技术:

排课工作是各类学校教学管理中一项重要的基本工作,传统的人工排课占用大量的时间和精力。随着学校招生数量的迅速增加,以及高中新高考改革的推进,更大的问题规模和更灵活的排课要求,对学校的教师、教室、教学设备等资源的高效调配提出了新的挑战。依靠人工排课已无法适应实际需要,设计自动化算法解决排课问题成为必然的选择。但是,现有的排课方法随着排课要求越来越复杂,难以找到最优方案甚至错过最优方案。



技术实现要素:

为了克服上述现有技术中的不足,本发明提供一种双温控制的排课方法及装置,以解决上述问题。

为了实现上述目的,本发明实施例所提供的技术方案如下所示:

第一方面,本发明实施例提供一种双温控制的排课方法,包括:获取初始解,所述初始解为满足所有硬约束条件的方案;获取邻域结构,所述邻域结构为软约束条件对应的方案;根据所述初始解和所述邻域结构进行双温控制的模拟退火处理获得可行解,分析所述可行解是否是当前全局最优解,若是,则更新全局最优解;判断是否达到终止条件,若是,则输出所述全局最优解。

可选地,所述判断是否达到终止条件的步骤,还包括:若否,则对所述当前全局最优解进行重新升温,再次进行所述双温控制的模拟退火处理。

可选地,所述方法还包括:根据所述硬约束条件建立初始解,所述硬约束条件包括教室、时间、学生冲突、教师冲突;根据所述软约束条件建立邻域结构,所述软约束条件为排课过程中的预设要求。

可选地,所述邻域结构包括:教室移动,随机交换一个课程到另一教室;教室容量移动,从所有教室容量小于学生数的课程中,随机选择一个课程移动到另一个教室;教室稳定性移动,从所有安排到多个教室的课程中,随机选择一个课程,将其所有课次移动到同一个房间;时段移动,随机交换一个课程到另一时段;最小工作日移动,从所有每周工作日小于最小工作日要求的课程中,随机选择一个课程,将同一工作日内超过一次的课程移动到另一个未安排该课程的工作日内;课程移动,随机交换一个课程到另一随机房间和随机时段;课程连接性移动,随机选择一个违反课程连接性约束的课程,将其移动到符合该约束的时段。

可选地,所述根据所述硬约束条件建立初始解的步骤,包括:根据所有课程携带的硬约束条件得到每个课程对应的硬约束难度系数;根据所述硬约束难度系数对所有课程进行排序,优先把硬约束难度系数最高的课程排进课程表;当完成一个课程的安排后,更新剩余课程的难度及排序;判断是否所有课程已安排,若是,则输出初始解;若否,则继续把剩余课程中硬约束难度系数最高的排进课程表。

可选地,根据所述初始解和所述邻域结构进行双温控制的模拟退火处理获得可行解,分析所述可行解是否是当前全局最优解,若是,则更新所述全局最优解的步骤包括:获取第一初始温度和第二初始温度;根据所述第一初始温度和所述第二初始温度在所述初始解的邻域中随机移动;若任一一种温度下获得更优的解,则接受移动;根据预设的方式更新温度,在更新后的温度下继续进行所述双温控制的模拟退火处理;判断是否满足退出条件,若是,则将当前解作为局部最优解输出。

可选地,所述根据预设的方式更新温度,在更新后的温度下继续进行所述双温控制的模拟退火处理的步骤采取以下方式实现:

t1=1/((1/t1)+0.2)

t2=1/((1/t2)+0.09)

其中t1代表第一初始温度,t2代表第二初始温度。

可选地,所述根据所述初始解和所述初始温度在所述初始解的邻域中随机移动;若获取到更优的解,则接受移动的步骤还包括:若获取更差的解,则根据概率决定是否接受此差解。

可选地,所述若获取更差的解,则根据概率决定是否接受此差解的步骤采取以下方式实现:

(exp(de1/t1)>random(0,1)∨(exp(de2/t2)>random(0,1));

其中,de1表示指在t1温度条件下当前解和新的可行解之间的差值,de2表示指在t2温度条件下当前解和新的可行解之间的差值。

第二方面,本发明实施例提供一种双温控制的排课装置,包括:

获取模块,用于获取初始解和邻域结构。

分析模块,用于根据所述初始解和所述邻域结构进行双温控制的模拟退火处理获得可行解,分析所述可行解是否是当前全局最优解,若是,则更新所述全局最优解。

判断模块,用于判断是否达到终止条件,若是,则输出所述全局最优解。

所述分析模块还用于若没有达到终止条件,对所述当前全局最优解进行重新升温,再次进行所述双温控制的模拟退火处理。

第三方面,本发明还提供一种与所述双温控制的排课方法及装置所对应的电子设备,包括存储器、存储控制器、处理器、显示器。其中所述存储器用于存储所述排课方法对应的程序和处理器对应的控制程序;所述存储控制器用于控制存储器;所述处理器用于控制执行所述存储器中的程序;所述显示器用于显示最终得到的排课方案对应的课表。

本发明提供的一种双温控制的排课方法及装置,首先根据硬约束条件建立一个满足所有硬约束条件的初始解(即初始排课方案),并根据软约束条件建立对应的邻域结构,再使用模拟退火算法进行处理,获得可行解(即可行的排课方案)。在模拟退火阶段利用双温控制智能调控,增大解空间的搜索范围并避免早熟。基于约束特征的邻域结构设计提高了算法的搜索精度,加快了全局收敛速度,能够快速获得满足更多个体要求、综合效果最佳的排课方案。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举本发明实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例提供的双温控制的排课方法总体流程图;

图2为本发明实施例提供的初始解的建立过程示意图;

图3为本发明实施例提供的双温控制的模拟退火处理过程示意图;

图4为本发明实施例提供的排课装置组成结构框图;

图5为本发明实施例提供的电子设备结构示意图。

图标:100-排课装置;110-获取模块;120-分析模块;130-判断模块;200-电子设备;210-存储器;220-存储控制器;230-处理器;240-外设接口;250-显示器;260-输入键盘。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

经申请人研究发现,实践领域中,早期常用贪婪算法、回溯算法、动态规划法等传统算法来解决排课问题,这类算法具有速度快、结果稳定的优点,但由于过于依赖规则和约束的设计,对于越来越复杂的排课要求,难以找到最优解甚至可行解。目前常用基于搜索的启发式算法实现排课方案的确定,根据不同的搜索策略,可以将启发式算法分为两类:基于单点的搜索和基于群的搜索。基于单点的搜索算法优点是易于理解和实现、结构简单,缺点是搜索能力受初始解和邻域结构影响较大,易陷入局部最优解。典型的算法有爬山法、禁忌搜索、变邻域搜索等。基于群的搜索算法优点是利用多点搜索扩大了搜索的广度,缺点是收敛过快,易早熟而错过全局最优解。典型的算法有蜂群、蚁群、和声搜索、遗传算法等。为了防止排课时陷入局部最优解、增大解空间的搜索范围并避免早熟,本发明所提供的实施例具体如下所述。

请参照图1,图1是本发明实施例提供的双温控制的排课方法总体流程图。本发明为了解决现有技术中存在的问题,使用双温控制的模拟退火算法进行最优排课方案的选取,其具体内容如下所述。

步骤s101,获取初始解和邻域结构。

在本发明提供的实施例中,首先需要获得一个满足所有课程的硬约束条件的初始的排课方案(即初始解)作为分析时的初始状态,同时获取根据课程的软约束条件得到对应的邻域结构作为分析方式。课程的硬约束条件包括教室冲突、时间冲突、学生冲突、教师冲突等。课程的软约束条件包括同一门课尽可能在同一教室、教室的容量应不小于学生人数、每种课程每周的工作日不小于两天、课程连接性符合要求等。

具体的,初始解是不存在教室冲突、不存在时间冲突、不存在学生冲突、不存在教师冲突等情况的一种排课方案。

邻域结构是进行分析时的分析方式,包括:

教室移动:随机交换一个课程到另一个教室。

教室容量移动:从所有教室容量小于学生人数的课程中,随机选择一个课程移动到另一个教室。

教室稳定性移动:从所有安排到多个教室的课程中,随机选择一个课程,将其所有课次移动到同一个房间。

时段移动:随机交换一个课程事件到另一时段。

最小工作日移动:从所有每周工作日小于最小工作日要求的课程中,随机选择一个课程,将同一工作日内超过一次的课程移动到另一个未安排该课的工作日内。

课程移动:随机交换一个课程到另一个随机房间和随机时段。

课程连接性移动:随机选择一个违反课程连接性约束的课程,将其移动到符合该约束的时段。

在进行分析时可以通过设置的调用程序调用各分析方式对应的处理程序进行逐步分析以得到最优的排课方案。

步骤s102,根据初始解和邻域结构进行双温控制的模拟退火处理获得可行解,分析所述可行解是否是当前全局最优解,若是,则更新全局最优解。

本发明所提供的实施例中,在获得分析时的初始状态及分析方式后,就可以根据设置的初始状态和分析方式使用模拟退火算法进行处理得到可行的排课方案(即可行解),并分析该可行解是否是比初始解更合理的方案,如果该可行解是比初始解优秀的方案,则把该可行解作为当前全局最优解,如果该可行解是比初始解更差的方案,就保持原有初始解不变。类似的,后续的分析过程中如果后一个可行解比当前的全局最优解的方案更加合理,那么就更新全局最优解,将该可行解作为全局最优解。

具体的,在获得初始解后,可以将其中随机两个课程进行交换,如果可以满足硬约束(即不存在教室冲突、不存在时间冲突、不存在学生冲突、不存在教师冲突等情况),同时也能满足更多的软约束条件,那么就用课程调换后得到的可行解替代初始解作为当前全局最优解。如果不满足上述情况,则初始解还作为当前全局最优解。

步骤s103,判断是否达到终止条件,若是,则输出所述全局最优解。

本发明所提供的实施例中,可以根据实际情况设置分析时使用双温控制的模拟退火处理过程中温度的迭代次数(即更新次数),当达到设置的迭代次数时,就输出当前的全局最优解,作为本次处理过程最终的排课方案。如果没有达到设置的迭代次数,为了避免陷入局部的最优解,可以将当前解作为初始解再次进行双温控制的模拟退火处理,直到达到终止条件,然后输出此时的全局最优解作为最终的排课方案。

请参照图2,图2是本发明实施例提供的初始解的建立过程示意图,为了更好的建立一个分析时的初始条件,使得分析得到的排课方案更加符合需求,本发明实施例提供了以下方法来建立初始解,其具体内容如下所述。

步骤s201,根据所有课程携带的硬约束条件得到每个课程对应的硬约束难度系数。

本发明提供的实施例中,为了更好的将受到的约束较多的课程合理的排进课表,可以根据各个课程的硬约束条件得到各个课程的硬约束难度系数。

具体的,当该课程存在教室冲突时标记为1,否则标记为0;当该课程存在时间冲突时标记为1,否则标记为0;当该课程存在学生冲突时标记为1,否则标记为0;当该课程存在教师冲突时标记为1,否则标记为0;计算各个冲突标记数之和作为各个课程的硬约束难度系数。

需要说明的是,硬约束难度系数的建立方式并不局限于上述的方式,可以根据实际情况选用适宜的方式。

步骤s202,根据硬约束难度系数对所有课程进行排序,优先把硬约束难度系数最高的课程排进课程表。

本发明提供的实施例中,在得到各个课程的硬约束难度系数以后,就可以根据各个课程硬约束难度系数的大小,从大到小依次对各个课程进行排序。

步骤s203,当完成一个课程的安排后,更新剩余课程的难度及排序。

本发明提供的实施例中,首先将硬约束难度最大的课程排入课表之中,另外,充分考虑到一个课程被排入课表之内后,会对其他课程的排课造成影响,所以每排入一个课程后,就重新计算一次未排入课程的硬约束难度系数,然后再次根据从大到小的顺序将硬约束难度系数最大的课程排入课表之中。

步骤s204,判断是否所有课程已安排,若是,则输出初始解;若否,则继续把剩余课程中硬约束难度系数最高的排进课程表。

本发明提供的实施例中,如果每个课程都排进了课表,那么就可以把最终得到的排课方案作为分析时的初始解。如果还有课程没有排进课表,就继续将剩下的课程排入课表之中,直到所有的课程都排入课表,然后将得到的排课方案作为分析时的初始解。

请参照图3,图3是本发明实施例提供的双温控制的模拟退火处理过程示意图。为了增大解的搜索范围,避免过早的结束分析过程,本发明实施例使用双温控制的模拟退火处理方法对课程进行分析得到最终的排课方案。其具体内容如下所述。

步骤s301,获取第一初始温度和第二初始温度。

本发明所提供的实施例中,为了避免单温控制的模拟退火算法搜索范围小、易早熟的问题,对排课过程采用双温控制的方式进行模拟退火处理。其中,第一初始温度和第二初始温度可以根据实际情况由用户自己进行输入,也可以直接使用统一预设的第一初始温度和第二初始温度。

步骤s302,根据第一初始温度和所述第二初始温度在初始解的邻域中随机移动;若任一一种温度下获得更优的解,则接受移动。若获取更差的解,则根据概率决定是否接受此差解。

本发明所提供的实施例中,在第一初始温度和第二初始温度的作用下,可以在当前解的邻域中随机选择课程进行移动,以得到更优的解,如果移动过程中任一一种温度下得到更优的解,则接受该移动,并使用得到的更优的解替换当前解。如果在移动过程中并没有获得更优的解,则可以根据概率接受差解,接受差解的概率的计算方式如下:

(exp(de1/t1)>random(0,1)∨(exp(de2/t2)>random(0,1));

其中,de1表示指在t1温度条件下当前解和新的可行解之间的差值,de2表示指在t2温度条件下当前解和新的可行解之间的差值。random(0,1)为[0,1]之间的随机数。

步骤s303,根据预设的方式更新温度,在更新后的温度下继续进行所述双温控制的模拟退火处理。

本发明所提供的实施例中,为了减少接受差解的概率,可以根据实际情况设置模拟退火处理时温度的更新方式,作为下一次模拟退火处理的温度,本实施例中温度的更新方式根据以下公式进行:

t1=1/((1/t1)+0.2),t2=1/((1/t2)+0.09);

其中t1代表第一初始温度,t2代表第二初始温度。

步骤s304,判断是否满足退出条件,若是,则将当前解作为局部最优解输出。

本发明所提供的实施例中,当达到预设的退出条件时,就可以结束模拟退火处理过程,将当前解作为局部最优解输出,得到局部最优的排课方案。如果没有达到退出条件,就继续进行分析,直到达到退出条件,然后输出此时的局部最优解。

请参照图4,图4是本发明实施例提供的排课装置组成结构框图。本发明实施例设置了与本发明提供的排课方法对应的排课装置100,该排课装置100包括获取模块110、分析模块120、判断模块130。其中,获取模块110用于获取排课方法所需的初始解和邻域结构,还用于获取进行双温控制的模拟退火处理过程的第一初始温度和第二初始温度。分析模块120用于根据初始解和邻域结构进行双温控制的模拟退火处理获得可行解,分析模块120还用于在没达到终止条件时,将当前解作为初始解再进行双温控制的模拟退火处理。判断模块130用于判断可行解是否是当前全局最优解,还用于判断是否达到终止条件,以输出全局最优解。

请参照图5,图5是本发明实施例提供的电子设备结构示意图。

为了更好地使用本发明提供的排课方法及装置,本发明实施例中提供了对应的电子设备200,包括存储器210、存储控制器220、处理器230、外设接口240、显示器250、输入键盘260等。存储器210用于存储排课装置100对应的程序、处理器230的控制程序等。存储控制器220用于控制存储器210。处理器230用于控制执行存储器210中的对应程序进行排课。显示器250用于显示得到的排课方案。输入键盘260用于用户根据需要输入排课时模拟退火处理的第一初始温度、第二初始温度以及各种程序的控制参数等。存储器210、存储控制器220、处理器230、外设接口240、显示器250、输入键盘260等相互直接或者间接电性连接,以实现数据的传输或交互。

具体的,处理器230可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器210可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器210用于存储程序,所述处理器230在接收到执行指令后,执行所述程序,本发明实施例任一实施例揭示的方法都应用于处理器230中,或者由处理器230实现。

综上所述,本发明提供一种双温控制的排课方法及装置,首先根据硬约束条件建立一个满足所有硬约束条件的初始解(即初始排课方案),并根据软约束条件建立对应的邻域结构;再使用模拟退火算法进行处理,获得可行解(即可行的排课方案);再判断得到的可行解是否是当前的全局最优解,如果是,就更新全局最优解,如果不是就保持当前全局最优解,对当前全局最优解再次使用双温模拟退火重新升温,以此反复,跳出局部最优;当达到终止条件时就输出全局最优解作为最终的排课方案,如果未达到终止条件就将当前解作为初始解再次进行双温控制的模拟退火处理,直到达到终止条件,然后输出此时的全局最优解作为最终的排课方案。在模拟退火阶段利用双温控制智能调控,增大解空间的搜索范围并避免早熟。基于约束特征的邻域结构设计提高了算法的搜索精度,加快了全局收敛速度,能够快速获得满足更多个体要求、综合效果最佳的排课方案。

需要说明的是,以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1