一种基于贫富优化算法的多目标云工作流调度方法技术

技术编号:28720116 阅读:20 留言:0更新日期:2021-06-06 03:29
本发明专利技术公开了一种基于贫富优化算法的多目标云工作流调度方法,通过将贫富优化算法应用于离散优化问题,为多目标云工作流调度提供了一条新的解决路径,引入了基于多种群的多目标优化框架,采用两个种群Ψ

【技术实现步骤摘要】
一种基于贫富优化算法的多目标云工作流调度方法


[0001]本专利技术属于云计算
,具体涉及一种基于贫富优化算法的多目标云工作流调度方法。

技术介绍

[0002]云计算是科学和商业领域的一种大规模异构分布式计算基础设施,能够提供高质量低成本的服务。随着云计算的普及和用户的广泛接受,大量应用程序被执行在云环境中。工作流是从不同的研究领域构建大规模计算和数据密集型应用程序的常见技术,由于云计算服务的种种优越性,越来越多的企业和机构选择将工作流应用迁移到云端中执行。
[0003]云服务提供商可以提供近乎无限的虚拟资源,用户可以根据自己的需求采用不同的付费方式选取各种各样的资源。云环境下的工作流调度旨在将给定应用程序中的任务映射到一组合适的资源上,使其既能满足用户的服务质量(QoS)需求,又能提高云服务提供商的利润。因此,如何为云工作流中的任务分配合适的资源使其能够同时在多个目标上取得较优解是当前研究中亟需解决的问题。
[0004]常见的工作流调度算法分为启发式算法和元启发式算法。其中,启发式算法通常基于专家经验,依赖于某些特定问题或应用场景,是针对具体问题设计的特定规则或策略。该类算法易于实现,求解速度快,但无法保证解的质量,且不适用于解决复杂或者大规模问题。元启发式算法是随机搜索和局部搜索相结合的产物,通常不依赖于特定问题,能够在有限时间内找到近优解。常见的元启发式算法包括遗传算法、粒子群优化算法、蚁群优化算法等,可以解决单目标优化问题。但是,云环境下的任务调度通常需要同时考虑云服务提供者和消费者的利益,即往往涉及多个优化目标。已有一些在传统元启发式算法基础上改进而来的多目标优化算法,如基于非支配排序的遗传算法(NSGA

II)、基于多种群协同进化的粒子群优化算法(CMPSO)和基于多种群的蚁群优化算法(MOACS),分别对遗传算法、粒子群优化算法和蚁群优化算法做了改进,使其适合于多目标优化问题。但是,该类算法找到的非支配解较少,且距离真实非主导解集较远。因此,现有基于元启发式的多目标工作流调度算法的性能有待进一步提升。

技术实现思路

[0005]有鉴于此,本专利技术提供了一种基于贫富优化算法的多目标云工作流调度方法,能够实现多目标云工作流的有效调度。
[0006]本专利技术提供的一种基于贫富优化算法的多目标云工作流调度方法,包括以下步骤:
[0007]步骤1、建立工作流任务和虚拟资源池模型;
[0008]步骤2、初始化种群Ψ
T
、种群Ψ
C
及精英提升集合Ψ
ES
,其中,所述种群Ψ
T
中个体的优化目标为工作流的最大完工时间makespan,所述种群Ψ
C
中个体的优化目标为工作流的执行成本cost,所述Ψ
ES
为包含非主导解集的个体的集合;计算所述种群Ψ
T
、种群Ψ
C
及Ψ
ES
中所有个体的适应度;
[0009]步骤3、采用贫富优化算法更新所述种群Ψ
T
及种群Ψ
C
中的所有个体;计算更新后的所述种群Ψ
T
及种群Ψ
C
中的所有个体的适应度;
[0010]步骤4、若迭代次数为0,则执行步骤5;否则,则采用不同的变异策略对所述精英提升集合Ψ
ES
中的个体进行变异形成新的精英提升集合Ψ
ES
,并计算新的精英提升集合Ψ
ES
中新个体的适应度;
[0011]步骤5、将所述种群Ψ
T
、种群Ψ
C
及精英提升集合Ψ
ES
中的所有个体放入信息交换池中,对于适应度完全相同的多个个体,只保留其中一个;对所述信息交换池中的所有个体进行快速非支配排序,划分出非主导层级;计算所述信息交换池中的个体间的拥挤距离;根据目标对所述信息交换池中的个体进行排序,从所述信息交换池中选取个体构成新的Ψ
T
、Ψ
C
种群以及Ψ
ES
;更新信息交换池;
[0012]步骤6、若所述计算适应度次数大于了次数上限,则输出所述信息交换池中的所有个体,即工作流调度方案,结束本流程;否则,执行步骤3。
[0013]进一步地,所述步骤3中采用贫富优化算法更新所述种群Ψ
T
及种群Ψ
C
中的所有个体,包括以下步骤:
[0014]步骤3.1、对所述种群Ψ
T
及种群Ψ
C
中的个体,根据目标值进行升序排序,排序结果的前N
rich
个个体构成富有子种群P
rich
,而剩余个体构成贫穷子种群P
poor

[0015]步骤3.2、采用所述贫穷子种群P
poor
中的最优个体引导所述富有子种群P
rich
中个体X
r
的更新;计算所述富有子种群P
rich
中所有个体的平均值利用P
rich
中的最优个体最差个体和个体平均值引导所述贫穷子种群P
poor
中的个体X
p
更新;将更新后的所述富有子种群P
rich
与贫穷子种群P
poor
合并;
[0016]步骤3.3、对所述步骤3.2得到的种群中的每个更新后的个体X
i
,采用预设的概率P
ind
施加高斯变异;
[0017]步骤3.4、对变异得到的新个体,若所述新个体的维度值大于虚拟机编号值的上界,则将当前维度值设置为虚拟机的最大编号值;若所述新个体的维度值小于虚拟机编号值的下界,则将当前维度值设置为虚拟机的最小编号值。
[0018]进一步地,所述步骤3.3中的采用预设的概率P
ind
施加高斯变异,包括以下步骤:
[0019]在[0,1)区间内生成一个均匀分布的随机数δ
ind
,若δ
ind
<P
ind
,则采用公式(1)变异:
[0020][0021]式中,G(0.0,1.0)为平均值为0.0、方差为1.0的高斯分布随机数,x

i,j
为更新后的第i个个体的第j个维度值,为变异后的第i个个体的第j个维度值;
[0022]若δ
ind
≥P
ind
,则不施加高斯变异。
[0023]进一步地,所述步骤4中采用不同的变异策略对所述精英提升集合Ψ
ES
中的个体进行变异形成新的精英提升集合Ψ
ES
,包括以下步骤:
[0024]若当前迭代次数为设定次数的整数倍,则对所述精英提升集合Ψ
ES
中的每个个体进行中规模变异,所述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于贫富优化算法的多目标云工作流调度方法,其特征在于,包括以下步骤:步骤1、建立工作流任务和虚拟资源池模型;步骤2、初始化种群Ψ
T
、种群Ψ
C
及精英提升集合Ψ
ES
,其中,所述种群Ψ
T
中个体的优化目标为工作流的最大完工时间makespan,所述种群Ψ
C
中个体的优化目标为工作流的执行成本cost,所述Ψ
ES
为包含非主导解集的个体的集合;计算所述种群Ψ
T
、种群Ψ
C
及Ψ
ES
中所有个体的适应度;步骤3、采用贫富优化算法更新所述种群Ψ
T
及种群Ψ
C
中的所有个体;计算更新后的所述种群Ψ
T
及种群Ψ
C
中的所有个体的适应度;步骤4、若迭代次数为0,则执行步骤5;否则,则采用不同的变异策略对所述精英提升集合Ψ
ES
中的个体进行变异形成新的精英提升集合Ψ
ES
,并计算新的精英提升集合Ψ
ES
中新个体的适应度;步骤5、将所述种群Ψ
T
、种群Ψ
C
及精英提升集合Ψ
ES
中的所有个体放入信息交换池中,对于适应度完全相同的多个个体,只保留其中一个;对所述信息交换池中的所有个体进行快速非支配排序,划分出非主导层级;计算所述信息交换池中的个体间的拥挤距离;根据目标对所述信息交换池中的个体进行排序,从所述信息交换池中选取个体构成新的Ψ
T
、Ψ
C
种群以及Ψ
ES
;更新信息交换池;步骤6、若所述计算适应度次数大于了次数上限,则输出所述信息交换池中的所有个体,即工作流调度方案,结束本流程;否则,执行步骤3。2.根据权利要求1所述的多目标云工作流调度方法,其特征在于,所述步骤3中采用贫富优化算法更新所述种群Ψ
T
及种群Ψ
C
中的所有个体,包括以下步骤:步骤3.1、对所述种群Ψ
T
及种群Ψ
C
中的个体,根据目标值进行升序排序,排序结果的前N
rich
个个体构成富有子种群P
rich
,而剩余个体构成贫穷子种群P
poor
;步骤3.2、采用所述贫穷子种群P
poor
中的最优个体引导所述富有子种群P
rich
中个体X
r
的更新;计算所述富有子种群P
rich
中所有个体的平均值利用P
rich
中的最优个体最差个体和个体平均值引导所述贫穷子种群P
poor
中的个体X
p
更新;将更新后的所述富有子种群P
rich
与贫穷子种群P
poor
合并;步骤3.3、对所述步骤3.2得到的种群中的每个更新后的个体X
i
,采用预设的概率P
ind
施加高斯变异;步骤3.4、对变异得到的新个体,若所述新个体的维度值大于虚拟机编号值的上界,则将当前维度值设置为虚拟机的最大编号值;若所述新个体的维度值小于虚拟机编号值的下界,则将当前维度值设置为虚拟机的最小编号值。3.根据权利要求2所述的多目标云工作流调度方法,其特征在于,所述步骤3.3中的采用预设的概率P
ind
施加高斯变异,包括以下步骤:在[0,1)区间内生成一个均匀分布的随机数δ
ind
,若δ
ind
<P
ind
,则采用公式...

【专利技术属性】
技术研发人员:李慧芳徐光浩鲁本王丹敬王彬阳邹伟东柴森春夏元清
申请(专利权)人:北京理工大学
类型:发明
国别省市:

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

1