本发明专利技术涉基于爬山算法与并行扰动混合搜索的排课方法,该方法包括:设置基础数据、设置排课要求与规则;计算课表解的评价函数、算法参数;随机生成初始解课表;使用爬山算法生成局部最优解课表并加入最优解集;对最优解集中的每个解,使用并行蒙特卡罗扰动生成多个邻域解并对所有邻域解使用爬山算法得到局部最优邻域解,将最优邻域解加入最优解集,保留最优解集中评价函数惩罚值最小的多个最优解,形成新的最优解集;循环执行并行扰动与爬山算法至算法收敛退出,输出最优解集惩罚值最小的解课表结果,生成对应的排课表。本发明专利技术的有益效果为:解决新高考排课难问题,节省教师、课时、教室等教学资源并且排课结果较优。
Course scheduling method based on hill-climbing algorithm and parallel disturbance hybrid search
【技术实现步骤摘要】
基于爬山算法与并行扰动混合搜索的排课方法
本专利技术属于教学管理领域,具体涉及了一种基于爬山算法与并行扰动混合搜索的排课方法。
技术介绍
2014年,教育部发布了《关于普通高中学业水平考试的实施意见》,宣布从2017年开始全国将进行高考综合改革,也就是在高考中除语数外3门学科全国统考以外,政治、地理、历史、物理、化学、生物6门学科中任选3科进行考试。2019年,教育部宣布第三批高考综合改革省市(河北、辽宁、江苏、福建、湖北、湖南、广东、重庆),确定选考模式为“3+1+2”,即“3”指必选的语数外三门主课,“1”指历史或物理二选一,“2”指从生物、化学、地理、政治中选择两门,以等级赋分计入总分。排课问题是NP完全问题,当前业界有不少使用遗传算法、模拟退火、蚁群、穷举等算法解决该类问题,随着新高考改革,选科组合多,教学分层使得排课变得越来越难,人工排课已不可能,传统的排课方法也难以满足排课要求。现有技术存在增加教师、课时、教室等教学资源问题并且排课结果不理想。
技术实现思路
本专利技术的目的在于至少解决现有技术中存在的技术问题之一,提供了一种基于爬山算法与并行扰动混合搜索的排课方法,能节省教学资源并且排课结果较优,解决了新高考3+3或3+1+2模式下的排课问题,满足新高考所有选科组合开放、多层次教学、不增加教室教师资源、各种硬性、软性教学要求,实现新高考100%排课、零冲突、零人工干预与零调整,一生一课表、一师一课表等个性化要求。本专利技术的技术方案包括一种基于爬山算法与并行扰动混合搜索的排课方法,其特征在于,该方法包括以下步骤:S100,设置学生选科表、老师安排表、教学任务表、设置排课要求与排课规则;S200,计算课表解违反硬性约束与软性约束惩罚值的评价函数,计算排课算法所需的参数,根据所述S100的设置对教学班进行优化计算;S300,随机生成初始解课表;S400,使用爬山算法生成局部最优解课表并加入最优解集;S500,对最优解集中的每个解,使用并行蒙特卡罗扰动生成多个邻域解并对所有邻域解使用爬山算法得到局部最优邻域解,将最优邻域解加入最优解集,保留最优解集中评价函数惩罚值最小的多个最优解,形成新的最优解集;S600,循环所述S500直至达到退出条件,输出局部最优解课表结果,生成对应的排课表。根据所述的基于爬山算法与并行扰动混合搜索的排课方法,其中S100具体包括:S110,设置基础数据,所述基础数据包括学生、老师、课程、教室、课时、行政班级、教学班级及教学层次;S120,设置学生选科表、老师安排表及教学任务表;S130,设置排课要求与排课规则。根据所述的基于爬山算法与并行扰动混合搜索的排课方法,其中S130具体包括:对走班层次、教学要求、教师工作分担、不排课,单双周课、合班课、互斥课、占位课及学校个性化要求进行对应设置。根据所述的基于爬山算法与并行扰动混合搜索的排课方法,其中S200具体包括:S210,计算课表解违反硬性约束和软性约束惩罚值的评价函数,其中违反硬性约束惩罚值表示学生课表冲突、教师课表冲突、课程课表冲突的惩罚值,软性约束惩罚值表示课表违反排课规则的一个或多个子项的惩罚值;S220,根据排课要求与规则应用并初始化违反硬性约束和软性约束惩罚值评价函数的权重参数,计算扰动比例α、扰动并行数β、最优解集top数γ、最大循环次数δ、连续无最优解退出次数ε及最速邻域系数θ;S230,根据输入的学生选科表、老师安排表及教学任务表,优化计算所有的教学单元,所述教学单元由课程、授课老师、上课学生三元组组成,优化后生成学生人数均衡及冲突最少的教学班。根据所述的基于爬山算法与并行扰动混合搜索的排课方法,其中S300具体包括:S310,根据所述算法的一个解为所有教学单元分配按课时要求数的教学资源单元,其中教学资源单元为课时T与教室R的笛卡尔积;S320,随机生成课表初始解,即为每个教学单元随机分配教学资源单元。根据所述的基于爬山算法与并行扰动混合搜索的排课方法,其中S400具体包括:S410,计算解的所有邻域;S420,计算解的邻域违反排课规则惩罚值,并保存惩罚值比原解惩罚值小的邻域至更优邻域集;S430,生成0~1之间的随机数,如果随机数小于最速邻域系数θ,随机从更优邻域集中选择一个邻域作为新解,否则从更优邻域集中选择惩罚值最小的最优邻域解作为新解;S440,循环步骤S410~S430至没有更优的邻域即解为局部最优解;S450,将局部最优解加入局部最优解集合中。根据所述的基于爬山算法与并行扰动混合搜索的排课方法,其中S410中解的邻域的产生包括:交换两节课程,即教学单元tu1的一个已分配教学资源rt1与另一个教学单元tu2的一个已分配教学资源rt2进行交换,其中tu1、tu2不能同时为空,rt1与rt2均不能为空,且tu1可以使用rt2,tu2可以使用rt1;交换两节课时,教学课时t1与t2交换,即rt1与rt2可交换时则全部交换,可交换条件同所述交换两节课程的交换条件一致。根据所述的基于爬山算法与并行扰动混合搜索的排课方法,其中S500具体包括:对所述局部最优解集合中的所有解均使用并行蒙特卡罗扰动,包括:S510,对课表解并行生成β个扰动解,生成方式为对解执行α*|RT|次蒙特卡罗随机所述邻域交换,其中R为教室,T为课时;S520,对β个扰动解均使用爬山算法生成β个局部最优扰动解;S530,将β个局部最优扰动解加入局部最优解集合中;S540,保留最优解集合中最多γ个惩罚值最小的解,删除其他解的数据,形成新的最优解集合。根据所述的基于爬山算法与并行扰动混合搜索的排课方法,其中S600具体包括:S610,循环执行步骤S500,直到循环次数达到最大循环次数δ,或者步骤S500连续没有更优解的次数达到连续无最优解退出次数ε时,或者局部最优解集合中惩罚值最小的局部最优解惩罚值为0,循环退出;S620,局部最优解集合中惩罚值最小的局部最优解为课表结果,输出学生课表、老师课表、教室课表、班级课表、年级课表、课程课表等课表信息。本专利技术的有益效果为:解决新高考排课难问题,节省教师、课时、教室等教学资源并且排课结果较优。附图说明下面结合附图和实施例对本专利技术进一步地说明;图1所示为根据本专利技术实施方式的总体流程图;图2所示为根据本专利技术实施方式的爬山算法流程图;图3所示为根据本专利技术实施方式的排课结果-学生课表;图4所示为根据本专利技术实施方式的排课结果-老师课表。具体实施方式本部分将详细描述本专利技术的具体实施例,本专利技术之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本专利技术的每个技术特征和整体技术方案,但其不能理解为对本专利技术保护范围的限制。在本专利技术的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为本文档来自技高网...
【技术保护点】
1.一种基于爬山算法与并行扰动混合搜索的排课方法,其特征在于,该方法包括以下步骤:/nS100,设置学生选科表、老师安排表、教学任务表、设置排课要求与排课规则;/nS200,计算课表解违反硬性约束与软性约束惩罚值的评价函数,计算排课算法所需的参数,根据所述S100的设置对教学班进行优化计算;/nS300,随机生成初始解课表;/nS400,使用爬山算法生成局部最优解课表并加入最优解集;/nS500,对最优解集中的每个解,使用并行蒙特卡罗扰动生成多个邻域解并对所有邻域解使用爬山算法得到局部最优邻域解,将最优邻域解加入最优解集,保留最优解集中评价函数惩罚值最小的多个最优解,形成新的最优解集;/nS600,循环所述S500直至达到退出条件,输出局部最优解课表结果,生成对应的排课表。/n
【技术特征摘要】
1.一种基于爬山算法与并行扰动混合搜索的排课方法,其特征在于,该方法包括以下步骤:
S100,设置学生选科表、老师安排表、教学任务表、设置排课要求与排课规则;
S200,计算课表解违反硬性约束与软性约束惩罚值的评价函数,计算排课算法所需的参数,根据所述S100的设置对教学班进行优化计算;
S300,随机生成初始解课表;
S400,使用爬山算法生成局部最优解课表并加入最优解集;
S500,对最优解集中的每个解,使用并行蒙特卡罗扰动生成多个邻域解并对所有邻域解使用爬山算法得到局部最优邻域解,将最优邻域解加入最优解集,保留最优解集中评价函数惩罚值最小的多个最优解,形成新的最优解集;
S600,循环所述S500直至达到退出条件,输出局部最优解课表结果,生成对应的排课表。
2.根据权利要求1所述的基于爬山算法与并行扰动混合搜索的排课方法,其特征在于,所述S100具体包括:
S110,设置基础数据,所述基础数据包括学生、老师、课程、教室、课时、行政班级、教学班级及教学层次;
S120,设置学生选科表、老师安排表及教学任务表;
S130,设置排课要求与排课规则。
3.根据权利要求2所述的基于爬山算法与并行扰动混合搜索的排课方法,其特征在于,所述S130具体包括:对走班层次、教学要求、教师工作分担、不排课,单双周课、合班课、互斥课、占位课及学校个性化要求进行对应设置。
4.根据权利要求1所述的基于爬山算法与并行扰动混合搜索的排课方法,其特征在于,所述S200具体包括:
S210,计算课表解违反硬性约束和软性约束惩罚值的评价函数,其中违反硬性约束惩罚值表示学生课表冲突、教师课表冲突、课程课表冲突的惩罚值,软性约束惩罚值表示课表违反排课规则的一个或多个子项的惩罚值;
S220,根据排课要求与规则应用并初始化违反硬性约束和软性约束惩罚值评价函数的权重参数,计算扰动比例α、扰动并行数β、最优解集top数γ、最大循环次数δ、连续无最优解退出次数ε及最速邻域系数θ;
S230,根据输入的学生选科表、老师安排表及教学任务表,优化计算所有的教学单元,所述教学单元由课程、授课老师、上课学生三元组组成,优化后生成学生人数均衡及冲突最少的教学班。
5.根据权利要求1所述的基于爬山算法与并行扰动混合搜索的排课方法,其特征在于,所述S300具体包括:
S310,根据所述算法的一个解为所有教学单元分配按课时要求数的教学资...
【专利技术属性】
技术研发人员:丁刚,王新源,沙键辉,
申请(专利权)人:珠海丰实科技有限责任公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。