基于集合型离散粒子群优化的云工作流调度方法技术

技术编号:20726270 阅读:45 留言:0更新日期:2019-03-30 17:58
本发明专利技术公开了一种基于集合型离散粒子群优化的云工作流调度方法,该调度方法首先将待优化的云工作流调度问题建立数学模型,然后对建立的数学模型基于集合型离散粒子群优化实现云工作流调度。该发明专利技术针对带有不同服务质量QoS需求的云工作流调度问题,采用了一类新型的集合型粒子群优化算法,通过将粒子群优化的速度、位置和相关的更新操作在离散的集合空间重定义,从而能够满足对离散空间的云工作流调度优化问题的应用需求,提高了云工作流调度的效率。

【技术实现步骤摘要】
基于集合型离散粒子群优化的云工作流调度方法
本专利技术涉及云计算以及智能计算
,具体涉及一种基于集合型离散粒子群优化的云工作流调度方法。
技术介绍
云计算作为一种新兴的资源使用和交付模式,可以让用户随时随地根据自己的需求来使用各种资源,已经逐渐为学界和产业界所认知。它提供了一个弹性的方法来实现一种基于交付模式计算密集型的工作流应用。在云系统中,由于用户越来越关注服务质量(QoS)的满意程度,满足用户自定义需求的云工作流动态调度问题已经逐渐变成一个亟待解决而且具有挑战性的难题。粒子群算法(PSO)是一种模拟自然界中鸟群和鱼群捕食的随机搜索算法。虽然PSO是一个非常适合于连续领域问题优化的算法,并且已经在很多连续空间领域获得了相当成功的应用,但是还是有很多现实的问题都是定义在离散空间中的,例如典型的离散组合问题就有背包问题,旅行商问题,调度问题等。为了将PSO在离散优化空间中拓展,此前已经提出了集合型的粒子群优化算法(S-PSO),成功地突破了粒子群优化在离散优化空间的应用瓶颈,在解决如旅行商和多重背包等经典组合优化问题中取得了很好的求解性能。以此为基础,如果能实现基于S-PSO的云工作流调度方法,将可以为进一步提高云工作流调度的效率提供新的有效途径。
技术实现思路
本专利技术的目的是为了解决现有技术中的上述缺陷,提供一种基于集合型离散粒子群优化的云工作流调度方法,提高云工作流调度的性能和效率。本专利技术的目的可以通过采取如下技术方案达到:一种基于集合型离散粒子群优化的云工作流调度方法,所述的调度方法包括下列步骤:S1、将待优化的云工作流调度问题建立数学模型,过程如下:S11、将云工作流调度问题所含有的元素的全集记为E,集合E被分为一个n元组(E1,E2,…,En),其中E=E1∪E2∪…∪En;S12、将云工作流调度问题的一组候选解X∈PS分为一个n元组(X1,X2,…,Xn),其中Xj,j=1,2,…,n是一个集合并且PS则是所有可行解的集合;S13、当且仅当X满足约束条件Ω,将X作为可行解;S14、将云工作流调度问题的优化目标当成要找到一个合适的解X*使得问题的目标函数f得到最优化;S2、对建立的数学模型基于集合型离散粒子群优化实现云工作流调度,过程如下:S21、初始化算法的各个参数,并建立第一代粒子群和初始速度,其中,粒子的编码方式为:X=(X1,X2,…,Xn)其中Xi∈Si,Si表示能用于执行第i个任务Ti的所有云计算服务的集合,由于每个任务只能匹配到一个云计算服务中执行,因此Xi仅仅只含一个元素Ki,表示任务Ti被安排云计算服务上执行,n是工作流中任务的总数量;速度的编码方式为:V=(V1,V2,…,Vn)其中,每一维度是一个带有可能性的集合Vj={e/p(e)|e∈Sj},表示集合Sj中的每一个元素e都关联着一个可能性p(e);S22、根据粒子当前的位置评估每个粒子的适应度值;S23、更新每个粒子的个体最优位置;S24、更新粒子的速度,速度更新公式如下:其中,下标i表示第i个粒子,上标j表示维度,ω是惯性权重,c是参数,rj是位于[0,1]区间的随机数,表示第fi(j)个粒子的历史最优位置的第j维,fi(j)定义如下:首先产生一个处于[0,1]区间的随机数ran,如果ran比给定的参数Pc大,fi(j)=i,否则对两个随机选择的粒子进行锦标赛选择,适应度值更大的粒子会被选中为fi(j);S25、更新粒子的位置;S26、如果迭代次数超过规定的最大进化代数或此时得到的最优解达到规定的误差要求则停止,否则返回步骤S22继续执行。进一步地,所述的速度更新公式中相关操作定义如下:(i)参数×速度:其中,c是参数,V表示粒子速度,e是该调度问题中所含有的元素,E是元素全集,p(e)表示与e相关联的可能性,pl(e)表示更新后的可能性;(ii)位置-位置:其中,A和B表示两个粒子位置,e是该调度问题中所含有的元素;(iii)参数×(位置-位置):其中,c是参数,El表示两个粒子位置之差,e是该调度问题中所含有的元素,E是元素全集,pl(e)表示更新后的可能性;(iv)速度+速度:V1+V2={e/max(p1(e),p2(e))|e∈E}。其中,V1和V2表示两个粒子速度,e是该调度问题中所含有的元素,E是元素全集,p1(e)和p2(e)分别表示两个粒子与元素e相关联的可能性。进一步地,所述的步骤S25、更新粒子的位置包括:S251、将速度矢量Vi的每一个维度Vij都用来生成另一个确定的集合cutα(Vij)={e|e/p(e)∈Vijandp(e)≥α};S252、第i个粒子开始建立新的位置,由一个空集开始,粒子从cutα(Vij)中采用基于启发信息的选择方式选择一个可行元素加到新的位置;S253、如果cutα(Vij)中无可行解,并且新位置的构造未结束,则从当前的位置中采用基于启发信息的选择方式选择一个可行元素加到新的位置;S254、如果中无可行解,并且新位置的构造未结束,则从其它的可行解中采用基于启发信息的选择方式选择一个可行元素加到新的位置。进一步地,所述的基于启发信息的选择方式具体如下:每次进行选择之前都从{时间优先启发式,费用优先启发式,可靠性优先启发式,性价比启发式,随机启发式}这五类启发信息中随机选择一种启发信息,并按照这种启发信息选出候选元素中具有最优启发信息值的元素添加到新的位置,其中,所述的时间优先启发式是指执行时间越短的计算服务越优先被选择,所述的费用优先启发式是指费用越低的计算服务越被优先选择,所述的可靠性优先启发式是指可靠性越高的计算服务越被优先选择,所述的性价比启发式是指时间与费用的乘积值越小的计算服务越被优先选择,所述的随机启发式是指每个候选的元素都被赋以均匀分布于(0,1)区间的随机数,随机数值越大的元素越被优先选择。进一步地,所述的数学模型中根据云工作流调度优化需要考虑各种不同的约束条件,定义如下三种不同的适应度函数,分别为:(1)对于给定完成期限Deadline、费用预算Budget、优化可靠性的问题,其适应度函数为:其中,K.makespan表示调度K的工期,K.cost表示调度K的总体花费,min_reliability和max_reliability表示所有可用的云计算服务中可靠性最小和最大的服务的可靠性,K.reliability表示调度K的可靠性;(2)对于给定费用预算Budget约束、最小化完成时间的问题,其适应度函数为:其中,K.makespan表示调度K的工期,K.cost表示调度K的总体花费,min_makespan和max_makespan分别表示把所有任务都分配到完成时间最短或最长的云计算服务时工作流执行所需的完成时间;(3)对于给定完成期限Deadline约束、最小化费用的问题,其适应度函数为:其中,K.cost表示调度K的总体花费,K.makespan表示调度K的工期,min_cost和max_cost分别表示把所有任务都分配到费用最小或最大的云计算服务时工作流执行所需的费用。进一步地,所述的步骤S21中,在初始化Xi时,采用完全随机的方式生成。进一步地,所述的步骤S21中,在初始化速度时,首先随机从Sj里面选择一个元素,并且分配一个随本文档来自技高网...

【技术保护点】
1.一种基于集合型离散粒子群优化的云工作流调度方法,其特征在于,所述的调度方法包括下列步骤:S1、将待优化的云工作流调度问题建立数学模型,过程如下:S11、将云工作流调度问题所含有的元素的全集记为E,集合E被分为一个n元组(E1,E2,…,En),其中E=E1∪E2∪…∪En;S12、将云工作流调度问题的一组候选解X∈PS分为一个n元组(X

【技术特征摘要】
1.一种基于集合型离散粒子群优化的云工作流调度方法,其特征在于,所述的调度方法包括下列步骤:S1、将待优化的云工作流调度问题建立数学模型,过程如下:S11、将云工作流调度问题所含有的元素的全集记为E,集合E被分为一个n元组(E1,E2,…,En),其中E=E1∪E2∪…∪En;S12、将云工作流调度问题的一组候选解X∈PS分为一个n元组(X1,X2,…,Xn),其中Xj,j=1,2,…,n是一个集合并且PS则是所有可行解的集合;S13、当且仅当X满足约束条件Ω,将X作为可行解;S14、将云工作流调度问题的优化目标当成要找到一个合适的解X*使得问题的目标函数f得到最优化;S2、对建立的数学模型基于集合型离散粒子群优化实现云工作流调度,过程如下:S21、初始化算法的各个参数,并建立第一代粒子群和初始速度,其中,粒子的编码方式为:X=(X1,X2,…,Xn)其中Xi∈Si,Si表示能用于执行第i个任务Ti的所有云计算服务的集合,由于每个任务只能匹配到一个云计算服务中执行,因此Xi仅仅只含一个元素Ki,表示任务Ti被安排云计算服务上执行,n是工作流中任务的总数量;速度的编码方式为:V=(V1,V2,…,Vn)其中,每一维度是一个带有可能性的集合Vj={e/p(e)|e∈Sj},表示集合Sj中的每一个元素e都关联着一个可能性p(e);S22、根据粒子当前的位置评估每个粒子的适应度值;S23、更新每个粒子的个体最优位置;S24、更新粒子的速度,速度更新公式如下:其中,下标i表示第i个粒子,上标j表示维度,ω是惯性权重,c是参数,rj是位于[0,1]区间的随机数,表示第fi(j)个粒子的历史最优位置的第j维,fi(j)定义如下:首先产生一个处于[0,1]区间的随机数ran,如果ran比给定的参数Pc大,fi(j)=i,否则对两个随机选择的粒子进行锦标赛选择,适应度值更大的粒子会被选中为fi(j);S25、更新粒子的位置;S26、如果迭代次数超过规定的最大进化代数或此时得到的最优解达到规定的误差要求则停止,否则返回步骤S22继续执行。2.根据权利要求1所述的基于集合型离散粒子群优化的云工作流调度方法,其特征在于,所述的速度更新公式中相关操作定义如下:(i)参数×速度:其中,c是参数,V表示粒子速度,e是该调度问题中所含有的元素,E是元素全集,p(e)表示与e相关联的可能性,pl(e)表示更新后的可能性;(ii)位置-位置:其中,A和B表示两个粒子位置,e是该调度问题中所含有的元素;(iii)参数×(位置-位置):其中,c是参数,El表示两个粒子位置之差,e是该调度问题中所含有的元素,E是元素全集,pl(e)表示更新后的可能性;(iv)速度+速度:V1+V2={e/max(p1(e),p2(e))|e∈E}其中,V1和V2表示两个粒子速度,e是该调度问题中所含有的元素,E是元素全集,p1(e)和p2(e)分别表示两个粒子与元素e相关联的可能性。3.根据权利要求1所述的基于集合型离散粒子群优化的云工作流调度方法,其特征在于,所述的步骤S25、更新粒子的位置包括:S251、将速度矢量Vi的每一个维度Vij都用...

【专利技术属性】
技术研发人员:张军詹志辉陈伟能余维杰梁迪
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东,44

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

1