System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及教育排课系统领域,更具体的说,是涉及基于模拟退火改进的遗传算法的排课方法、装置及介质。
技术介绍
1、学校(如高中、职业中学、大学)的排课是指合理安排学生、教师和教室等资源的时间和空间分配问题。排课是一项复杂而困难的任务,涉及到多个因素和约束条件,如教师的授课时间表、教室的可用时段、学生的课程需求等。
2、目前学校的排课通常基于人工经验和规则来完成,工作量大且容易出现错误。
技术实现思路
1、有鉴于此,本申请提供了一种基于模拟退火改进的遗传算法的排课方法、装置及介质。
2、为实现上述目的,本申请提供如下技术方案:
3、根据本公开实施例的第一方面,提供一种基于模拟退火改进的遗传算法的排课方法,包括:
4、获取多个第一染色体,所述第一染色体表征学校的一个学期内所有班级的排课方案,所述班级的所述排课方案包括所述班级的所有课程分别对应的开课计划,所述第一染色体包括多个基因,位于所述第一染色体的第i个位置的基因表征一个班级的第i个课程的各周次分别对应的开课计划,每一周次对应的所述开课计划包括:所述第i个课程的课程编号、班级编号、合班编号、具有所述班级编号的班级的人数、具有所述合班编号的班级的人数、授课教师工号、上课节次、联排节次、教室编号、教室类型、所述教室类型对应的容纳人数;同一班级的不同课程的开课计划属于不同的基因,i为大于0的正整数;
5、基于预设约束条件计算所述多个第一染色体分别对应的适应度参数,所述适应度参数表征
6、从所述多个第一染色体中获取所述适应度参数排名靠前的预设数目个第二染色体;
7、从所述多个第一染色体中获取多个第三染色体,所述多个第三染色体为所述多个第一染色体中除所述第二染色体外的染色体;
8、从所述多个第三染色体中获取多组父母染色体组合,所述父母染色体组合包括的两个第三染色体中一个所述第三染色体为父染色体,另一个所述第三染色体为母染色体;
9、基于预设交叉率参数计算得到交叉率参数;
10、根据交叉率参数从所述多组父母染色体组合中随机获取待进行交叉操作的目标父母染色体,所述交叉率参数与所述目标父母染色体的数目相关;
11、获取所述目标父母染色体组合对应的关联基因位置对应关系,所述关联基因位置对应关系包括所述目标父母染色体组合中父染色体的第j位置与母染色体中第h位置的对应关系,所述父染色体的第j位置的基因与所述母染色体的第h位置的基因相同,j与h为大于0的正整数;
12、获取所述目标父母染色体组合对应的交叉染色体;
13、其中,所述交叉染色体的第j位置的基因为所述目标父母染色体组合中父染色体的第j位置的基因,所述交叉染色体的第h位置的基因为所述目标父母染色体组合中父染色体的第h位置的基因;或者,所述交叉染色体的第j位置的基因为所述目标父母染色体组合中母染色体的第j位置的基因,所述交叉染色体的第h位置的基因为所述目标父母染色体组合中母染色体的第h位置的基因;
14、其中,所述交叉染色体第g位置的基因为所述目标父母染色体组合中父染色体的第g位置的基因或所述目标父母染色体组合中母染色体的第g位置的基因,g≠h且g≠j,g为大于0的正整数;
15、基于预设变异率参数计算得到变异率参数;
16、根据变异率参数从所述交叉染色体中随机获取待进行变异操作的目标交叉染色体,所述变异率参数与所述目标交叉染色体的数目相关;
17、将所述目标交叉染色体进行变异操作,得到变异染色体;
18、确定所述第二染色体、未进行交叉操作的所述第三染色体、未进行变异操作的所述交叉染色体以及所述变异染色体为新一代种群;
19、确定所述新一代种群包含的染色体为第一染色体,返回步骤基于预设约束条件计算所述多个第一染色体分别对应的适应度参数;直至满足迭代条件,得到最终的新一代种群;
20、基于所述预设约束条件计算所述最终的新一代种群包含的染色体的适应度参数;
21、确定所述最终的新一代种群中最大的适应度参数对应的染色体表征的排课方案为所述学校的排课方案。
22、根据本公开实施例的第二方面,提供一种基于模拟退火改进的遗传算法的排课装置,包括:
23、第一获取模块,用于获取多个第一染色体,所述第一染色体表征学校的一个学期内所有班级的排课方案,所述班级的所述排课方案包括所述班级的所有课程分别对应的开课计划,所述第一染色体包括多个基因,位于所述第一染色体的第i个位置的基因表征一个班级的第i个课程的各周次分别对应的开课计划,每一周次对应的所述开课计划包括:所述第i个课程的课程编号、班级编号、合班编号、具有所述班级编号的班级的人数、具有所述合班编号的班级的人数、授课教师工号、上课节次、联排节次、教室编号、教室类型、所述教室类型对应的容纳人数;同一班级的不同课程的开课计划属于不同的基因,i为大于0的正整数;
24、第一计算模块,用于基于预设约束条件计算所述多个第一染色体分别对应的适应度参数,所述适应度参数表征所述第一染色体表征的排课方案的排课效果,所述预设约束条件表征排课方案中不允许出现的情况;
25、第二获取模块,用于从所述多个第一染色体中获取所述适应度参数排名靠前的预设数目个第二染色体;
26、第三获取模块,用于从所述多个第一染色体中获取多个第三染色体,所述多个第三染色体为所述多个第一染色体中除所述第二染色体外的染色体;
27、第四获取模块,用于从所述多个第三染色体中获取多组父母染色体组合,所述父母染色体组合包括的两个第三染色体中一个所述第三染色体为父染色体,另一个所述第三染色体为母染色体;
28、第二计算模块,用于基于预设交叉率参数计算得到交叉率参数;
29、第五获取模块,用于根据交叉率参数从所述多组父母染色体组合中随机获取待进行交叉操作的目标父母染色体,所述交叉率参数与所述目标父母染色体的数目相关;
30、第六获取模块,用于获取所述目标父母染色体组合对应的关联基因位置对应关系,所述关联基因位置对应关系包括所述目标父母染色体组合中父染色体的第j位置与母染色体中第h位置的对应关系,所述父染色体的第j位置的基因与所述母染色体的第h位置的基因相同,j与h为大于0的正整数;
31、第七获取模块,用于获取所述目标父母染色体组合对应的交叉染色体;
32、其中,所述交叉染色体的第j位置的基因为所述目标父母染色体组合中父染色体的第j位置的基因,所述交叉染色体的第h位置的基因为所述目标父母染色体组合中父染色体的第h位置的基因;或者,所述交叉染色体的第j位置的基因为所述目标父母染色体组合中母染色体的第j位置的基因,所述交叉染色体的第h位置的基因为所述目标父母染色体组合中母染色体的第h位置的基因;本文档来自技高网...
【技术保护点】
1.一种基于模拟退火改进的遗传算法的排课方法,其特征在于,包括:
2.根据权利要求1所述基于模拟退火改进的遗传算法的排课方法,其特征在于,所述预设约束条件包括以下条件的一个或多个:
3.根据权利要求1或2所述基于模拟退火改进的遗传算法的排课方法,其特征在于,所述基于预设约束条件计算所述多个第一染色体分别对应的适应度参数步骤,包括:
4.根据权利要求1所述基于模拟退火改进的遗传算法的排课方法,其特征在于,所述基于预设交叉率参数计算得到交叉率参数步骤包括:
5.根据权利要求1所述基于模拟退火改进的遗传算法的排课方法,其特征在于,所述基于预设变异率参数计算得到变异率参数步骤包括:
6.根据权利要求1所述基于模拟退火改进的遗传算法的排课方法,其特征在于,所述将所述目标交叉染色体进行变异操作,得到变异染色体步骤包括:
7.根据权利要求6所述基于模拟退火改进的遗传算法的排课方法,其特征在于,其中:
8.一种基于模拟退火改进的遗传算法的排课装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括
10.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至7中任一项所述基于模拟退火改进的遗传算法的排课方法。
...【技术特征摘要】
1.一种基于模拟退火改进的遗传算法的排课方法,其特征在于,包括:
2.根据权利要求1所述基于模拟退火改进的遗传算法的排课方法,其特征在于,所述预设约束条件包括以下条件的一个或多个:
3.根据权利要求1或2所述基于模拟退火改进的遗传算法的排课方法,其特征在于,所述基于预设约束条件计算所述多个第一染色体分别对应的适应度参数步骤,包括:
4.根据权利要求1所述基于模拟退火改进的遗传算法的排课方法,其特征在于,所述基于预设交叉率参数计算得到交叉率参数步骤包括:
5.根据权利要求1所述基于模拟退火改进的遗传算法的排课方法,其特征在于,所述基于预设变...
【专利技术属性】
技术研发人员:潘弘毅,李鹏,李庆巧,
申请(专利权)人:中银金融科技苏州有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。