基于主动积木块交叉算子的遗传交叉方法和项目调度方法技术

技术编号:34496793 阅读:14 留言:0更新日期:2022-08-10 09:16
本申请涉及项目调度领域,提供一种基于主动积木块交叉算子的遗传交叉方法和项目调度方法。所述基于主动积木块交叉算子的遗传交叉方法包括:利用多个交叉点在父代的活动列表中确定父代选择块;多个交叉点的位置根据项目调度问题确定;利用多个交叉点在母代的活动列表中确定母代选择块;用积木块替换父代选择块生成部分子代;将待分配活动插入部分子代的活动列表,生成子代调度方案。本申请实施例提供的基于主动积木块交叉算子的遗传交叉方法可以提高交叉算子的可控性和灵活性,使得子代遗传的过程中,得到的子代调度方案能够向着全局最优解越来越快地收敛,进而提高资源受限项目调度问题求解的效率和解的优异性。度问题求解的效率和解的优异性。度问题求解的效率和解的优异性。

【技术实现步骤摘要】
基于主动积木块交叉算子的遗传交叉方法和项目调度方法


[0001]本申请涉及项目调度
,具体涉及一种基于主动积木块交叉算子的遗传交叉方法和项目调度方法。

技术介绍

[0002]资源受限项目调度问题 (RCPSP,Resource

constrained project scheduling problem) 是一个复杂的组合优化问题,项目的非抢占活动应根据优先级约束和资源限制进行安排,以最大限度地减少完工时长。近年来,由于其在运输、建筑、制造、管理和物流中具有广泛的实际应用,引起了学者和从业者越来越多的关注。
[0003]目前,在求解RCPSP 的元启发式方法中,遗传算法因其随机搜索能力、基于种群的进化机制、过程简单、可扩展性强等特点而被广泛应用。而遗传算法的一个关键因素在于交叉算子,其显著地影响着算法的性能,目前适用于 RCPSP 的交叉算子主要包括:均匀交叉算子、峰值交叉算子和k点交叉算子,但上述交叉算子中交换基因的选取和基因重组的顺序受到算子限制较大,算子的可控性和灵活性低,影响了交叉算子的性能,进而影响了资源受限项目调度问题求解的效率和解的优异性。

技术实现思路

[0004]本申请实施例提供一种基于主动积木块交叉算子的遗传交叉方法和项目调度方法,用以解决算子可控性和灵活性差导致项目调度问题求解效率低和解的优异性不佳的技术问题。
[0005]第一方面,本申请实施例提供一种基于主动积木块交叉算子的遗传交叉方法,包括:利用多个交叉点在父代的活动列表中确定父代选择块;所述父代为种群中的任一调度方案;所述种群包括同一项目调度问题的多个调度方案;所述调度方案包括与活动执行顺序对应的活动列表;所述多个交叉点的位置根据所述项目调度问题确定;利用所述多个交叉点在母代的活动列表中确定母代选择块;所述母代为所述种群中任一区别于所述父代的调度方案;所述母代选择块与所述父代选择块位于相同的交叉点之间;用积木块替换所述父代选择块生成部分子代;所述积木块为所述父代选择块和所述母代选择块中相同活动的组合;将待分配活动插入所述部分子代的活动列表,生成子代调度方案;所述待分配活动为所述父代选择块和所述母代选择块中不同活动的集合。
[0006]在一个实施例中,所述利用多个交叉点在父代的活动列表中确定父代选择块之前,包括:确定所述多个交叉点的数量和相邻交叉点间距;所述相邻交叉点间距为所述多个交叉点中相邻两个交叉点之间活动的数量;
根据所述项目调度问题确定选择块交叉点位置;所述选择块交叉点位置为所述父代选择块两端交叉点的位置;根据所述选择块交叉点位置、所述多个交叉点的数量和所述相邻交叉点间距确定所述多个交叉点的位置。
[0007]第二方面,本申请实施例提供一种基于主动积木块交叉算子的项目调度方法,基于上述第一方面所述的基于主动积木块交叉算子的遗传交叉方法实现,包括:确定项目调度问题的种群;所述种群中包含预设数量的调度方案;通过所述基于主动积木块交叉算子的遗传交叉方法生成多个子代调度方案;通过所述多个子代调度方案更新所述种群后返回执行通过所述主动积木块交叉算子生成多个子代调度方案的步骤直至所述种群的更新次数大于或等于预设阈值,输出目标调度方案;所述目标调度方案为所述种群中完工时长最小的子代调度方案。
[0008]在一个实施例中,所述通过所述基于主动积木块交叉算子的遗传交叉方法生成多个子代调度方案,包括:调用所述种群中的每一调度方案作为父代,通过所述基于主动积木块交叉算子的遗传交叉方法生成预设数量的子代调度方案。
[0009]在一个实施例中,所述通过所述多个子代调度方案更新所述种群,包括:遍历所述多个子代调度方案中的每一子代调度方案,在确定所述子代调度方案为优化调度方案后,用所述子代调度方案替换所述种群中的冗余调度方案,得到更新后的种群;所述优化调度方案与所述种群中的任一调度方案均不相同且所述优化调度方案的完工时长小于所述冗余调度方案;所述冗余调度方案为所述种群中完工时长最大的调度方案。
[0010]在一个实施例中,所述调度方案包括活动列表和活动开始时间列表;其中,所述活动开始时间列表对应的活动排序为预设活动排序,所述活动开始时间列表根据所述活动列表对应的活动执行顺序以及各活动的活动持续时长确定。
[0011]在一个实施例中,所述确定项目调度问题的种群,包括:通过后悔值决策法抽样形成预设数量的活动列表;其中,后悔值基于最晚完成时间确定;基于每一活动列表根据调度生成机制生成对应的活动开始时间列表,得到预设数量的调度方案;所述预设数量的调度方案构成所述种群。
[0012]在一个实施例中,所述确定项目调度问题的种群,包括:通过后悔值决策法抽样形成预设抽样量的活动列表;所述预设抽样量大于所述预设数量;遍历每一活动列表,根据调度生成机制生成对应的活动开始时间列表,得到当前的调度方案;当所述种群中调度方案的数量小于所述预设数量时,若当前的调度方案与所述种群中的任一调度方案均不相同,则将当前的调度方案直接加入所述种群中,当所述种群中调度方案的数量大于或等于所述预设数量时,确定当前的调度方案为所述优化调度方案后,用当前的调度方案替换所述种群中的冗余调度方案,直至遍历结束得到所述种群。
[0013]在一个实施例中,所述确定所述子代调度方案为优化调度方案,包括:
当所述子代调度方案的活动开始时间列表与所述种群中的任一调度方案的活动开始时间列表均不相同时,对比所述子代调度方案的完工时长与所述冗余调度方案的完工时长,当所述子代调度方案的完工时长小于所述冗余调度方案的完工时长,则确定所述子代调度方案为优化调度方案。
[0014]在一个实施例中,所述通过所述基于主动积木块交叉算子的遗传交叉方法生成多个子代调度方案之后,包括:利用前向后向改进算法更新所述子代调度方案。
[0015]在一个实施例中,所述确定项目调度问题的种群之后,包括:利用前向后向改进算法更新所述种群中的每一调度方案。
[0016]第三方面,本申请实施例提供一种电子设备,包括处理器和存储有计算机程序的存储器,所述处理器执行所述程序时实现第一方面所述的基于主动积木块交叉算子的遗传交叉方法的步骤或实现第二方面所述的基于主动积木块交叉算子的项目调度方法的步骤。
[0017]本申请实施例提供的基于主动积木块交叉算子的遗传交叉方法,根据待解决的项目调度问题,通过主动积木块交叉算子选取父代染色体中的待交换基因区域,即确定父代活动列表中的父代选择块,并进一步地根据父代选择块和母代选择块确定积木块,由于积木块选取父代选择块和母代选择块对应区域中的相同活动,直接存储在子代中的同一区域,因而在遗传中保留了父代和母代同样的优异基因,且积木块以活动为选取准则主动选取生成,提高了交叉算子的可控性和灵活性;根据项目调度问题灵活确定的父代选择块和母代选择块进一步地令主动选取的积木块与项目调度问题更适配,使得子代遗传的过程中,得到的子代调度方案能够向着全局最优解越来越快地收敛,进而提高资源受限项目调度问题求解的效率和本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于主动积木块交叉算子的遗传交叉方法,其特征在于,包括:利用多个交叉点在父代的活动列表中确定父代选择块;所述父代为种群中的任一调度方案;所述种群包括同一项目调度问题的多个调度方案;所述调度方案包括与活动执行顺序对应的活动列表;所述多个交叉点的位置根据所述项目调度问题确定;利用所述多个交叉点在母代的活动列表中确定母代选择块;所述母代为所述种群中任一区别于所述父代的调度方案;所述母代选择块与所述父代选择块位于相同的交叉点之间;用积木块替换所述父代选择块生成部分子代;所述积木块为所述父代选择块和所述母代选择块中相同活动的组合;将待分配活动插入所述部分子代的活动列表,生成子代调度方案;所述待分配活动为所述父代选择块和所述母代选择块中不同活动的集合。2.根据权利要求1所述的基于主动积木块交叉算子的遗传交叉方法,其特征在于,所述利用多个交叉点在父代的活动列表中确定父代选择块之前,包括:确定所述多个交叉点的数量和相邻交叉点间距;所述相邻交叉点间距为所述多个交叉点中相邻两个交叉点之间活动的数量;根据所述项目调度问题确定选择块交叉点位置;所述选择块交叉点位置为所述父代选择块两端交叉点的位置;根据所述选择块交叉点位置、所述多个交叉点的数量和所述相邻交叉点间距确定所述多个交叉点的位置。3.一种基于主动积木块交叉算子的项目调度方法,其特征在于,基于权利要求1或2所述的基于主动积木块交叉算子的遗传交叉方法实现,包括:确定项目调度问题的种群;所述种群中包含预设数量的调度方案;通过所述基于主动积木块交叉算子的遗传交叉方法生成多个子代调度方案;通过所述多个子代调度方案更新所述种群后返回执行通过所述主动积木块交叉算子生成多个子代调度方案的步骤直至所述种群的更新次数大于或等于预设阈值,输出目标调度方案;所述目标调度方案为所述种群中完工时长最小的子代调度方案。4.根据权利要求3所述的基于主动积木块交叉算子的项目调度方法,其特征在于,所述通过所述基于主动积木块交叉算子的遗传交叉方法生成多个子代调度方案,包括:调用所述种群中的每一调度方案作为父代,通过所述基于主动积木块交叉算子的遗传交叉方法生成预设数量的子代调度方案。5.根据权利要求3所述的基于主动积木块交叉算子的项目调度方法,其特征在于,所述通过所述多个子代调度方案更新所述种群,包括:遍历所述多个子代调度方案中的每一子代调度方案,在确定所述子代调度方案为优化调度方案后,用所述子代调度方案替换所述种群中的冗余调度方案,得到更新后的种群;所述优化调度方案与所述种群中的任一调度方案均不相同且所述优化调度方案的完工时长小于所述冗余调度方案;所述冗余调度方案...

【专利技术属性】
技术研发人员:翁迅张经天范宏强张静曹忠辉
申请(专利权)人:北京邮电大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1