System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术实施例涉及高性能计算,尤其涉及一种基于多目标的工作流调度方法及装置。
技术介绍
1、工作流的核心在于业务流程的自动化,不同的任务分配策略对工作流的执行性能有很大的影响,因此需要制定良好的任务分配策略,对工作流任务进行调度。工作流调度指在满足任务间时序约束和客户需求的前提下,将工作流中的每个任务节点分配给能服务该节点的机器,并确定每个机器上所分配任务的执行顺序。目前有很多调度算法可以应用于工作流调度,如启发式算法、遗传算法、粒子群算法等。
2、然而,上述调度算法仅关注调度时间指标和机器负载指标中的一种调度指标,且现有工作流调度算法时间复杂度较高,算法的收敛性和多样性不足,需要一种求解质量更高的算法对工作流调度问题进行优化,能够有效降低工作流任务的调度完成时间,同时使机器的负载更加均衡,明显提升工作流开发效率和速度。
技术实现思路
1、本申请实施例提供了一种基于多目标的工作流调度方法及装置,通过对邻域值进行调整,来获得具有执行时间更短、机器负载更加均匀的工作流调度方案,提升工作流开发效率和速度。
2、第一方面,本申请实施例提供了一种基于多目标的工作流调度方法,包括:
3、基于待调度任务和用于执行待调度任务的待执行机器,生成具有n个个体的初始种群;其中,任一个体表征了一个调度方案,每个调度方案指示了每个待调度任务的各任务节点对应的待执行机器;
4、确定每个个体在多目标下的多个适应度,所述多目标包括调度方案的执行时间和待执行机器的负
5、通过对个体进行变异来实现种群迭代,得到优化种群,从所述优化种群中确定最优调度方案;其中,每次种群迭代过程如下:针对任一个体,对所述个体进行变异,得到变异个体;基于本次种群迭代的邻域值,确定所述个体的邻居个体;通过个体的多个适应度确定是否将所述邻居个体更新为所述变异个体;
6、通过本次种群迭代中邻居个体的更新结果,确定所述邻域值的选择概率;根据各邻域值的选择概率,确定下一次种群迭代的邻域值。
7、本申请通过对邻域值进行调整,计算选取邻域值t的个体更新解的成功概率来得到邻域值t的选择概率,即t的成功率越高,则其被选择的概率越高,说明该邻域参数t下能够获得具有执行时间更短、机器负载更加均匀的工作流调度方案,提升工作流开发效率和速度。相较于原有的moea/d算法的参数对邻域值t的大小更敏感,邻域值t设置的越大,可以对新的未知搜索区域进行探索,能够获取更多样的解,提高算法多样,而邻域值t设置的越小,有利于对当前搜索区间进行探索,能更好保留最优解的信息,提高算法收敛性。
8、可选地,通过如下方式确定本次种群迭代中邻居个体的更新结果,包括:
9、针对任一个体,若所述邻居个体更新为所述个体的变异个体,则增加成功次数;若所述邻居个体不被更新,则增加失败次数;
10、在本次种群迭代中n个个体均完成个体变异,通过所述成功次数和所述失败次数确定本次种群迭代的更新结果。
11、可选地,所述通过个体的多个适应度确定是否将所述邻居个体更新为所述变异个体,包括:
12、基于所述变异个体的多个适应度,确定所述变异个体的多目标聚合值;
13、基于所述邻近个体的多个适应度,确定所述邻居个体的多目标聚合值;
14、根据所述变异个体的多目标聚合值和所述邻居个体的多目标聚合值,确定是否将所述邻居个体更新为所述变异个体。
15、可选地,任一个体包括节点码和机器码,节点码表征了每个待调度任务的各任务节点的顺序,机器码表征了与各任务节点对应的待执行机器。
16、可选地,若种群迭代的次数大于迭代阈值,针对此次种群迭代的种群中非最优解的个体进行执行时间的优化和/或待执行机器的负载状况的优化。
17、将变邻域搜索策略应用于原有的moea/d算法中,能够在moea/d算法的框架下,利用变邻域搜索对每个子问题的当前最优解进行优化,从而提高解集的质量和多样性,增强moea/d算法的全局搜索能力,避免算法陷入局部最优,得到质量更优的解集,使工作流调度方案的执行时间更短、机器的负载更加均匀。
18、可选地,所述针对此次种群迭代的种群中非最优解的个体进行执行时间的优化,包括:
19、若所述非最优解的个体的首个任务节点对应的待执行机器前具有所述首个任务节点对应的执行时间余量,将选取所述待执行机器作为所述任务节点的待执行机器;
20、针对所述非最优解的个体的任意一个任务节点,选取执行状态为空闲状态且具有最短执行时间的待执行机器作为所述任务节点的待执行机器。
21、可选地,所述针对此次种群迭代的种群中非最优解的个体进行执行机器的负载状况的优化,包括:
22、针对所述非最优解的个体的任意一个任务节点,若所述任务节点在两个待执行机器分别执行两个工作流,调换所述两个工作流对应的待执行机器;
23、针对所述非最优解的个体的任意一个任务节点,选取具有最短执行时间的待执行机器作为所述任务节点的待执行机器;
24、针对所述非最优解的个体中具有最长执行时间的执行路径,所述执行路径上的任意一个任务节点对应多个待执行机器,从所述多个待执行机器中选取一个座位所述任务节点的调换待执行机器。
25、第二方面,本申请实施例提供了一种多目标的工作流调度装置,包括:
26、生成模块,用于基于待调度任务和用于执行待调度任务的待执行机器,生成具有n个个体的初始种群;其中,任一个体表征了一个调度方案,每个调度方案指示了每个待调度任务的各任务节点对应的待执行机器;
27、确定模块,用于确定每个个体在多目标下的多个适应度,所述多目标包括调度方案的执行时间和待执行机器的负载状况;
28、优化模块,用于通过对个体进行变异来实现种群迭代,得到优化种群,从所述优化种群中确定最优调度方案;其中,每次种群迭代过程如下:针对任一个体,对所述个体进行变异,得到变异个体;基于本次种群迭代的邻域值,确定所述个体的邻居个体;通过个体的多个适应度确定是否将所述邻居个体更新为所述变异个体;
29、所述确定模块,还具体用于通过本次种群迭代中邻居个体的更新结果,确定所述邻域值的选择概率;根据各邻域值的选择概率,确定下一次种群迭代的邻域值。
30、本申请通过对邻域值进行调整,计算选取邻域值t的个体更新解的成功概率来得到邻域值t的选择概率,即t的成功率越高,则其被选择的概率越高,说明该邻域参数t下能够获得具有执行时间更短、机器负载更加均匀的工作流调度方案,提升工作流开发效率和速度。相较于原有的moea/d算法的参数对邻域值t的大小更敏感,邻域值t设置的越大,可以对新的未知搜索区域进行探索,能够获取更多样的解,提高算法多样,而邻域值t设置的越小,有利于对当前搜索区间进行探索,能更好保留最优解的信息,提高算法收敛性。
31、可选地,所述确定模块具体用于:<本文档来自技高网...
【技术保护点】
1.一种基于多目标的工作流调度方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,通过如下方式确定本次种群迭代中邻居个体的更新结果,包括:
3.如权利要求1所述的方法,其特征在于,所述通过个体的多个适应度确定是否将所述邻居个体更新为所述变异个体,包括:
4.如权利要求1所述的方法,其特征在于,任一个体包括节点码和机器码,节点码表征了每个待调度任务的各任务节点的顺序,机器码表征了与各任务节点对应的待执行机器。
5.如权利要求1至4任一所述的方法,其特征在于,所述方法还包括:
6.如权利要求5所述的方法,其特征在于,所述针对此次种群迭代的种群中非最优解的个体进行执行时间的优化,包括:
7.如权利要求5所述的方法,其特征在于,所述针对此次种群迭代的种群中非最优解的个体进行执行机器的负载状况的优化,包括:
8.一种基于多目标的工作流调度装置,其特征在于,包括:
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序
10.一种计算机可读存储介质,其特征在于,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行权利要求1~7任一所述方法的步骤。
11.一种计算机程序产品,其特征在于,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机设备执行时,使所述计算机设备执行权利要求1~7任一项所述的方法的步骤。
...【技术特征摘要】
1.一种基于多目标的工作流调度方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,通过如下方式确定本次种群迭代中邻居个体的更新结果,包括:
3.如权利要求1所述的方法,其特征在于,所述通过个体的多个适应度确定是否将所述邻居个体更新为所述变异个体,包括:
4.如权利要求1所述的方法,其特征在于,任一个体包括节点码和机器码,节点码表征了每个待调度任务的各任务节点的顺序,机器码表征了与各任务节点对应的待执行机器。
5.如权利要求1至4任一所述的方法,其特征在于,所述方法还包括:
6.如权利要求5所述的方法,其特征在于,所述针对此次种群迭代的种群中非最优解的个体进行执行时间的优化,包括:
7.如权利要求5所述的方法,其特征在于,所述针对此次...
【专利技术属性】
技术研发人员:龚凌霄,杨永坤,尹强,王和平,邸帅,卢道和,李凌,
申请(专利权)人:深圳前海微众银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。