CN109298930A - 一种基于多目标优化的云工作流调度方法及装置 - Google Patents
一种基于多目标优化的云工作流调度方法及装置 Download PDFInfo
- Publication number
- CN109298930A CN109298930A CN201710607203.0A CN201710607203A CN109298930A CN 109298930 A CN109298930 A CN 109298930A CN 201710607203 A CN201710607203 A CN 201710607203A CN 109298930 A CN109298930 A CN 109298930A
- Authority
- CN
- China
- Prior art keywords
- individual
- subproblem
- population
- new
- neighbours
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Biomedical Technology (AREA)
- Quality & Reliability (AREA)
- General Business, Economics & Management (AREA)
- Operations Research (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Tourism & Hospitality (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Complex Calculations (AREA)
Abstract
本发明实施例提供了一种基于多目标优化的云工作流调度方法及装置,涉及高性能计算技术领域,能够基于局部搜索和权向量调整进行多目标优化,在获得较快的收敛速度同时得到多样性更好的个体。该方法包括建立仿真的云计算资源模型及云工作流任务模型;然后初始化种群并计算每个个体的适应值;进一步对每个个体进化处理;然后进行局部搜索,获取每个子问题邻居中的两个最优个体,计算得到新个体,以再次更新个体;并且当更新后的个体满足收敛条件时,对进化后种群进行权向量调整操作;包括删除拥挤区域的子问题以及向稀疏区域增加新的子问题;最后输出最优个体。本发明实施例提供的技术方案适用云工作流调度过程中。
Description
【技术领域】
本发明涉及高性能计算技术领域,尤其涉及一种基于多目标优化的云工作流调度方法及装置。
【背景技术】
随着高性能计算技术的发展,越来越多的研究者逐渐在云工作流调度问题中应用多目标优化技术。多目标优化技术使得用户从多个优化解中进行偏好决策成为可能。对于多目标优化的云工作流调度,不存在某个决策可以同时优化所有目标,但可以获得多个冲突目标的一组折中的Pareto决策,云工作流调度的真实Pareto决策集合很难获取,往往也没有必要获取真实的Pareto决策集合,通常获取的是一组在目标空间上均匀分布的Pareto渐进最优决策。
目前,有基于Pareto支配的启发式列表调度算法,可以同时优化任务完成时间和任务执行用户花费,为用户提供了一组可供选择的优化调度方案。并且,还有研究者采用进化多目标优化算法来解决基础设施即服务层次上同时优化任务完成时间和任务执行代价的云工作流调度问题,提出了针对问题的编码方式、种群初始化、适应度评估和遗传算子操作的新方案。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
现有技术中,基于Pareto支配的云工作流调度方法及基于进化多目标优化算法的云工作流调度方法所求得解的多样性较差,且基于Pareto支配的云工作流调度方法计算量较大并收敛性较差。
【发明内容】
有鉴于此,本发明实施例提供了一种基于多目标优化的云工作流调度方法及装置,通过邻居局部搜索和权向量调整进行多目标优化,可以在获得较快的收敛速度上得到多样性更好的个体。
第一方面,本发明实施例提供一种基于多目标优化的云工作流调度方法,所述方法包括:
根据参数配置数据,建立仿真的云计算资源模型,并根据工作流拓扑数据,建立云工作流任务模型;
随机初始化包含N个个体的种群,其中,每个个体指的是云工作流任务模型中若干个工作流子任务到云计算资源模型中若干个虚拟机的一种映射方式;
根据若干个目标,获取每个个体的若干个目标函数;
根据若干个目标函数,初始化理想点;
将多目标优化问题分解成N个子问题,根据理想点计算每个子问题,以获取每个个体的适应值;
根据每个个体适应值的权值,获取每个子问题的邻居子问题,并计算每个个体的目标函数值,以初始化外部种群;
对每个个体进行进化处理;
根据所述进化处理,更新每个个体、理想点、每个子问题的邻居子问题的个体以及外部种群;
获取更新后的每个个体及每个子问题邻居中的两个最优个体;
当更新后的个体与邻居中的两个最优个体满足指定条件时,通过更新后的个体及邻居中的两个最优个体计算得到新个体;
当得到的新个体优于更新后的个体时,再次更新每个个体;
输出最优个体。
第二方面,本发明实施例提供一种基于多目标优化的云工作流调度方法,所述方法包括:
根据参数配置数据,建立仿真的云计算资源模型,并根据工作流拓扑数据,建立云工作流任务模型;
随机初始化包含N个个体的种群,其中,每个个体指的是云工作流任务模型中若干个工作流子任务到云计算资源模型中若干个虚拟机的一种映射方式;
根据若干个目标,获取每个个体的若干个目标函数;
根据若干个目标函数,初始化理想点;
将多目标优化问题分解成N个子问题,根据理想点计算每个子问题,以获取每个个体的适应值;
根据每个个体适应值的权值,获取每个子问题的邻居子问题,并计算每个个体的目标函数值,以初始化外部种群;
对每个个体进行进化处理;
根据所述进化处理,更新每个个体、理想点、每个子问题的邻居子问题的个体以及外部种群;
当更新后的个体满足收敛条件时,对进化后种群进行权向量调整操作;
输出最优个体。
第三方面,本发明实施例提供一种基于多目标优化的云工作流调度装置,所述装置包括:
建立单元,用于根据参数配置数据,建立仿真的云计算资源模型,并根据工作流拓扑数据,建立云工作流任务模型;
第一初始化单元,随机初始化包含N个个体的种群,其中,每个个体指的是云工作流任务模型中若干个工作流子任务到云计算资源模型中若干个虚拟机的一种映射方式;
第一获取单元,用于根据若干个目标,获取每个个体的若干个目标函数;
第二初始化单元,用于根据若干个目标函数,初始化理想点;
分解单元,用于将多目标优化问题分解成N个子问题,根据理想点计算每个子问题,以获取每个个体的适应值;
第二获取单元,用于根据每个个体适应值的权值,获取每个子问题的邻居子问题,并计算每个个体的目标函数值,以初始化外部种群;
进化单元,用于对每个个体进行进化处理;
第一更新单元,用于根据所述进化处理,更新每个个体、理想点、每个子问题的邻居子问题的个体以及外部种群;
第三获取单元,用于获取更新后的每个个体及每个子问题邻居中的两个最优个体;
计算单元,用于当更新后的个体与邻居中的两个最优个体满足指定条件时,通过更新后的个体及邻居中的两个最优个体计算得到新个体;
第二更新单元,用于当得到的新个体优于更新后的个体时,再次更新每个个体;
输出单元,用于输出最优个体。
第四方面,本发明实施例提供一种基于多目标优化的云工作流调度装置,所述装置包括:
建立单元,用于根据参数配置数据,建立仿真的云计算资源模型,并根据工作流拓扑数据,建立云工作流任务模型;
第一初始化单元,随机初始化包含N个个体的种群,其中,每个个体指的是云工作流任务模型中若干个工作流子任务到云计算资源模型中若干个虚拟机的一种映射方式;
第一获取单元,用于根据若干个目标,获取每个个体的若干个目标函数;
第二初始化单元,用于根据若干个目标函数,初始化理想点;
分解单元,用于将多目标优化问题分解成N个子问题,根据理想点计算每个子问题,以获取每个个体的适应值;
第二获取单元,用于根据每个个体适应值的权值,获取每个子问题的邻居子问题,并计算每个个体的目标函数值,以初始化外部种群;
进化单元,用于对每个个体进行进化处理;
更新单元,用于根据所述进化处理,更新每个个体、理想点、每个子问题的邻居子问题的个体以及外部种群;
调整单元,用于当更新后的个体满足收敛条件时,对进化后种群进行权向量调整操作;
输出单元,用于输出最优个体。
本发明实施例提供了一种基于多目标优化的云工作流调度方法及装置,获取每个个体的适应值之后,对个体进行进化操作,然后通过选择更新后每个子问题邻居中的两个最优个体,以更新每个子问题的个体,进行局部搜索;并通过删除拥挤区域的子问题、向稀疏区域增加新的子问题,对种群进行权向量调整操作。通过邻居局部搜索和权向量调整进行多目标优化,可以在获得较快的收敛速度同时得到多样性更好的个体。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例提供的一种基于多目标优化的云工作流调度方法流程图;
图2是本发明实施例提供的一种云计算资源模型的示意图;
图3是本发明实施例提供的一种云工作流任务模型的示意图;
图4是本发明实施例提供的另一种基于多目标优化的云工作流调度方法流程图;
图5是本发明实施例提供的另一种基于多目标优化的云工作流调度方法流程图;
图6是本发明实施例提供的另一种基于多目标优化的云工作流调度方法流程图;
图7是本发明实施例提供的一种基于25个虚拟机的测试函数下仿真实验的结果对比图;
图8是本发明实施例提供的一种基于50个虚拟机的测试函数下仿真实验结果对比图;
图9是本发明实施例提供的一种基于多目标优化的云工作流调度装置的组成框图;
图10是本发明实施例提供的另一种基于多目标优化的云工作流调度装置的组成框图;
图11是本发明实施例提供的另一种基于多目标优化的云工作流调度装置的组成框图;
图12是本发明实施例提供的另一种基于多目标优化的云工作流调度装置的组成框图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,尽管在本发明实施例中可能采用术语第一、第二来描述获取单元、初始化单元等,但这些单元不应限于这些术语。这些术语仅用来将单元彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一获取单元也可以被称为第二获取单元,类似地,第二获取单元也可以被称为第一获取单元。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
本发明实施例提供了一种基于多目标优化的云工作流调度方法,适用于云工作流调度过程中,如图1所示,所述方法包括:
101、根据参数配置数据,建立仿真的云计算资源模型,并根据工作流拓扑数据,建立云工作流任务模型。
其中,所述参数配置数据包括最大数量虚拟机数量、链路之间的延迟、虚拟机性能等。
需要说明的是,参数配置数据也可以称为虚拟机资源集合,一个虚拟机资源集合可以抽象为有向图模型Gpc=(Vpc,Epc),其中的节点集合Vpc={v1,v2,...,vn}表示虚拟机资源集合,边集合Epc表示虚拟机之间的网络链接,对于虚拟机vl和虚拟机vo之间的网络连接由ll,o表示,并且ll,o=(vl,vo)∈Epc。
为了更加具体的描述有向图模型,通过图2中包含四个虚拟机的虚拟机集合为例来进行说明,虚拟机V1,V2,V3,V4之间通过网络相互链接,图2中的连接边上的数据为该网络链接的通信带宽和最小链路延迟,如V1到V2的网络通信带宽为B1,2,最小链路延迟为D1,2;V2到的V1网络通信带宽为B2,1,最小链路延迟为D2,1,其他虚拟机之间类似。
其中,云工作流任务模型可以建模为有向无环图(DAG):Gcs=(Vcs,Ecs),DAG中的节点集合Vcs={s1,s2,...,sn}表示用户向工作流管理***提交的n个任务序列,开始子任务由s1表示,结束子任务由sn表示,DAG中的边集合Ecs表示n个工作流子任务之间的数据传输依赖关系,对于子任务si和子任务sj之间的数据传输依赖关系ei,j有ei,j∈Ecs,并且边上的权重代表数据传输的大小。
为了更加具体的描述云工作流任务模型,通过图3中一个四任务的工作流为例来进行说明,如附图3所示,S1分别向后续任务S2,S3发送数据量为W1,2,W1,3的数据,S2,S3获得数据后开始执行,执行完毕后再分别将数据量为W2,4,W3,4的数据传送给任务S4,也只有当S4获得所有所需数据后才能执行。
102、随机初始化包含N个个体的种群。
其中,每个个体指的是云工作流任务模型中若干个工作流子任务到云计算资源模型中若干个虚拟机的一种映射方式。
随机初始化大小为N的种群x1,x2,...,xN,每个个体xi(用X表示)都代表多个工作流子任务到多个虚拟机的一种映射方式,同时也代表了一种调度方法,i=1,2,...,N,N为初始种群大小,比如基于本发明的一个具体仿真实验中N可以设置为100。
需要说明的是,对于步骤102中的编码:p个工作流任务到q个虚拟机(每个虚拟机有k种类型)的映射选择可以抽象为p+q个整数的一维数组,该数组前面p个整数表示对虚拟机的选择,后面q个整数表示对虚拟机类型的选择,为了进化算法计算的方便,这里将这p+q个整数映射到(0,1)之间,映射公式为:
其中,xi,j表示第i个工作流任务对虚拟机j或者虚拟机j类型的选择,则变量个数即为n=p+q。
103、根据若干个目标,获取每个个体的若干个目标函数。
对于步骤103的实现进行举例说明,比如:可以分别根据任务执行时间(ET)和任务执行代价(EC)计算每个个体的目标函数FVn=F(xi),i=1,2,…N:把根据ET得出的值作为目标函数FVn的第一个目标值,把根据指标EC得出的值作为目标函数FVn的第二个目标值:FVn=[FV1,FV2]=[ET,EC]。
其中,在计算目标函数之前需要对决策空间(个体)变量进行解码,即通过逆映射公式映射回问题空间,逆映射公式为:
则上述举例中,分别根据ET和EC得到目标函数FV1和FV2的公式如下:
其中,q表示虚拟机的个数,ti表示关键路径上的工作流任务,xi,j表示对工作流任务的分配,xi,j=1表示对工作流任务ti选择了虚拟机vj,c(ti)表示工作流任务ti的计算复杂度,p(yi)表示类型为yi的虚拟机vi的处理能力,wi,j表示工作流任务ti到tj的数据传输量,bk,l表示虚拟机vk到虚拟机vl的带宽,dk,l表示虚拟机vk到虚拟机vl的链路延迟,rt(vi)表示虚拟机vi的实际执行任务的时间,vcharge(yi)表示虚拟机vi使用的单价。
104、根据若干个目标函数,初始化理想点。
根据步骤103中的举例,理想点可以通过表示;是第1个目标函数ET到目前为止找到的最小值,是第2个目标函数EC到目前为止找到的最小值。可以用公式表示为
105、将多目标优化问题分解成N个子问题,根据理想点计算每个子问题,以获取每个个体的适应值。
将多目标优化问题分解成N个子问题,即单目标问题。其中,每个子问题对应一个个体。
其中,将多目标优化问题分解成N个子问题可以通过切比雪夫分解方法。
则基于步骤103中的举例,多目标优化问题为FV(x)=min(F1(x),F2(x)),将其用切比雪夫分解方法分解成N个子问题,其中聚合第j个子问题得到对应个体的适应值可以描述为公式:
上述聚合第j个子问题得到个体的适应值的公式中,表示理想点,即每一个目标当前的最优值组成的向量,其中,m为目标个数。基于上述举例,m的值是2;表示第j个子问题的目标函数;是第j个子问题的权值;x表示种群个体,fji(x)表示第j个子问题的个体对应的第i个目标函数的值,i的值等于m的值,取值为2。
106、根据每个个体适应值的权值,获取每个子问题的邻居子问题,并计算每个个体的目标函数值,以初始化外部种群。
则基于步骤103中举例,步骤106可以描述为根据每个子问题适应值的权值λj,计算每个子问题的T个邻居子问题B(j)={j1,j2,...,jT},j=1,2,...,N,其中,为λj最近的T个权向量,比如基于本发明的一个具体仿真实验中T可以取值10。需要说明的是,此时需要将每个子问题适应值的个体Pj(t)初始化为xj,xj∈X;其中t为迭代次数,t=0;并计算个体Pj(t)对应的目标函数值Ftj,以初始化外部种群
107、对每个个体进行进化处理。
其中,进化处理包括交叉和变异。
基于步骤106中的描述,步骤107可以理解为对每一个子问题对应的个体Pj(t)进行进化操作得到临时个体Pj(t+1)。
其中,对于交叉处理:在第j个子问题的邻居子问题中进行模拟二进制交叉操作,得到一个新的临时子代个体Pj(t+1)'。
模拟二进制交叉产生新的临时个体Pj(t+1)'的具体过程如下:
在第j个子问题的T个邻居子问题B(j)中随机选择3个邻居子问题s,k,l,对第s,k,l个邻居子问题的个体Ps(t),Ps(t),Pl(t)进行模拟二进交叉操作,每一个个体都是一个n维的向量,例如,个体Ps(t)可表示为产生的公式如下:
其中,Cr∈[0,1]是交叉概率,设置为1,ηc是一个常数因子,设置为0.5,表示个体的第i位。If是如果的意思,otherwise是否则的意思。
其中,对于变异处理:对临时个体Pj(t+1)'进行多项式变异操作,得到个体Pj(t+1)。
采用多项式变异的方法对个体Pj(t+1)'进行变异产生新的新的个体Pj(t+1),若要变异的是即个体Pj(t+1)'的第k(1≤k≤n)位,其取值范围是[lk,uk],公式如下:
其中,Δ被称为变异步长,它的计算公式是:其中的表示如下:
其中,u是在[0,1]区间内的随机数,ηm是分布指数,比如基于本发明的一个具体仿真实验中ηm可以设置为20。
108、根据所述进化处理,更新每个个体、理想点、每个子问题的邻居子问题的个体以及外部种群。
基于步骤107,计算新的临时个体Pj(t+1)的两个目标函数值newFj,并根据newFj更新理想点z*;通过新的临时个体Pj(t+1)和其目标值newFj来更新第j个子问题的所有T个邻居子问题B(j)分别对应的个体和每个个体对应的目标函数值以及外部种群EP。
其中,理想点z*的更新过程包括:如果则令否则的值不变;如果则令否则的值不变。
其中,邻居子问题的所有个体及其对应的目标值的更新过程包括:对于新的临时个体Pj(t+1)的每一个邻居子问题,其中T是邻居子问题的个数,如果对于所有的都有则用新的临时个体Pj(t+1)替代第j个子问题的第i个邻居子问题对应的个体并用newFj替代第j个子问题的第i个邻居子问题对应的目标函数值否则,不变。
其中,外部种群EP的更新过程包括:将EP中所有被newFj支配(新解在两个目标上的值都比原来的解小)的解移除;若newFj不被EP中的任意解支配,则将newFj移入EP,其中,解指的是决策变量,即个体。
在前述步骤101至108完成之后,得到更新后的个体,步骤109至步骤111对更新后的个体进行局部搜索操作。
109、获取更新后的每个个体及每个子问题邻居中的两个最优个体。
基于前述步骤中的举例,选择第j个子问题邻居中最优的两个个体和以及子问题j的个体其中,n表示个体个数。
110、当更新后的个体与邻居中的两个最优个体满足指定条件时,通过更新后的个体及邻居中的两个最优个体计算得到新个体。
当更新后的个体与邻居中的两个最优个体满足指定条件时,通过更新后的个体及邻居中的两个最优个体计算得到新个体,使用公式(1)作为指定条件,通过公式(2)计算第j个子问题邻居中的两个最优个体:
其中,为通过更新后的个体及第j个子问题邻居中的两个最优个体计算得到的新个体;为更新后的个体;和为第j个子问题邻居中的两个最优个体;k=1,2,…n,为个体个数;为个体的适应值,te表示切比雪夫分解方法;ε=10-7。
111、当得到的新个体优于更新后的个体时,再次更新每个个体。
若得到的新个体的适应值不大于更新后的个体的适应值时,即认为得到的新个体优于更新后的个体,便用得到的新个体替换更新后的个体。基于步骤110中的计算,即gte(xj'|λj,z)≤gte(xj|λj,z)时,则xj=xj'。
112、输出最优个体。
在输出一组最优个体之前,迭代步骤107至步骤111,直到达到迭代次数,输出迭代出的最优个体。判断是否达到迭代次数,可以通过如下方法进行判断:若t≥Gmax,则停止迭代并输出PS:{x1,x2,...,xN}和PF:{F(x1),F(x2),..,F(xN)},其中PS代表对于当前云工作流任务模型和云计算资源模型不同的调度方法,PF代表每种调度方法所对应的目标函数值,若根据步骤103中的举例,则目标函数值即是执行时间ET和执行代价EC。否则t=t+1并转步骤107。
本发明实施例提供了一种基于多目标优化的云工作流调度方法,获取每个个体的适应值之后,对个体进行进化操作,然后通过局部搜索,选择更新后每个子问题邻居中的两个最优个体,以更新每个子问题的个体。通过邻居局部搜索进行多目标优化,可以在获得收敛性更好的个体。
进一步来说,结合前述方法流程,为了使得到的个体多样性(包括覆盖性和均匀性)更好,本发明实施例的另一种可能的实现方法还提供了以下方法流程,执行在步骤112之前,如图4所示,包括:
113、当再次更新后的个体满足收敛条件时,进行权向量调整操作。
步骤113中,再次更新后的个体是否收敛,可以通过判断条件t≥evolrate*Gmax,及t mod wag=0来判断。若满足上述判断条件,则认为收敛,否则,不收敛。其中,evolrate为权向量调整的时机,Gmax为预设迭代次数,wag为调整频率,mod为取余操作。
进一步来说,结合前述方法流程,对于具体如何进行权向量调整,本发明实施例的另一种可能的实现方法,针对步骤113的实现还提供了以下方法流程,包括:
1131、删除拥挤区域的子问题,并,向稀疏区域增加新的子问题。
需要说明的是,本发明实施例中的执行主体可以包括但不限于个人计算机(Personal Computer,PC)、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(Tablet Computer)、手机等。
本发明实施例提供了一种基于多目标优化的云工作流调度方法,适用于云工作流调度过程中,如图5所示,所述方法包括:
201、根据参数配置数据,建立仿真的云计算资源模型,并根据工作流拓扑数据,建立云工作流任务模型。
202、随机初始化包含N个个体的种群,其中,每个个体指的是云工作流任务模型中若干个工作流子任务到云计算资源模型中若干个虚拟机的一种映射方式。
203、根据若干个目标,获取每个个体的若干个目标函数。
204、根据若干个目标函数,初始化理想点。
205、将多目标优化问题分解成N个子问题,根据理想点计算每个子问题,以获取每个个体的适应值。
206、根据每个个体适应值的权值,获取每个子问题的邻居子问题,并计算每个个体的目标函数值,以初始化外部种群。
207、对每个个体进行进化处理。
208、根据所述进化处理,更新每个个体、理想点、每个子问题的邻居子问题的个体以及外部种群。
需要说明的是,本发明实施例中步骤201至步骤208,相对于前述发明实施例中的步骤101至步骤108的具体执行方法相同,此处不再赘述。在步骤101至108完成之后,得到更新后的个体,步骤109至步骤111对更新后的个体进行局部搜索操作。而步骤209至步骤210是对更新后的个体进行权向量调整操作。相对于前述方法流程及本发明实施例,对个体进行局部搜索和权向量调整操作,可以不依赖于彼此单独实现,也可以同时实现。
209、当更新后的个体满足收敛条件时,对进化后种群进行权向量调整操作。
更新后的个体是否收敛,可以通过判断条件t≥evolrate*Gmax,及t mod wag=0来判断。若满足上述判断条件,则认为收敛,否则,认为不收敛。其中,evolrate为权向量调整的时机,Gmax为预设迭代次数,wag为调整频率,mod为取余操作。比如,本发明的一个实施例中各参数可以有如下取值:evolrate=0.8,Gmax=30000,wag=10。
210、输出最优个体。
在输出一组最优个体之前,迭代步骤207至步骤210,直到达到迭代次数,输出迭代出的最优个体。判断是否达到迭代次数,可以通过如下方法进行判断:若t≥Gmax,则停止迭代并输出PS:{x1,x2,...,xN}和PF:{F(x1),F(x2),..,F(xN)},其中PS代表对于当前云工作流任务模型和云计算资源模型不同的调度方法,PF代表每种调度方法所对应的目标函数值。否则t=t+1并转步骤207。
本发明实施例提供了一种基于多目标优化的云工作流调度方法,获取每个个体的适应值之后,对个体进行进化操作,然后通过删除拥挤区域的子问题、向稀疏区域增加新的子问题,对种群进行权向量调整操作。通过权向量调整进行多目标优化,可以在获得覆盖性和均匀性更好,即多样性更好的个体。
进一步来说,结合前述方法流程,对于具体如何对进化后种群进行权向量调整操作,本发明实施例的另一种可能的实现方法,针对步骤209的实现还提供了以下方法流程,如图6所示,包括:
2091、删除拥挤区域的子问题,并,向稀疏区域增加新的子问题。
进一步来说,结合前述方法流程,对于删除拥挤区域的子问题的具体实现过程,本发明实施例的另一种可能的实现方法还提供了以下方法流程,包括:
步骤1、对于进化后每个个体,如果第i个子问题个体的适应值小于第j个子问题个体的适应值,则用第i个子问题的个体替换第j个子问题的个体,以更新进化后种群,其中,i∈n,j∈n,i取j以外的任意值,n为个体个数。
通过公式描述步骤1,则步骤1有如下描述:若gte(xi|λj,z)<gte(xj|λj,z),xi,xj∈evol_pop,i,j=1,2,...|evol_pop|,则令xj=xi,FVj=FVi,其中FVj和FVi是xj和xi的目标函数,evol_pop为进化后种群。
步骤2、基于k近邻的拥挤评估方法,利用计算进化后每个个体的稀疏程度,删除拥挤的子问题。
步骤3、若删除的子问题的个数没有达到指定值,则依次删除最拥挤的子问题,并重复执行上述基于k近邻的拥挤评估方法,利用计算进化后每个个体的稀疏程度,删除拥挤的子问题的步骤。
其中,指定值指的是要删除的子问题的最大个数。
步骤4、若删除的子问题的个数达到指定值,则输出剩余的群体作为删除拥挤的子问题后的进化种群evol_pop'。
其中,evol_pop为进化后种群;是第j个个体到距离它最近的第i个个体的欧式距离,indj表示第j个解(个体);m为目标个数。
进一步来说,结合前述方法流程,对于向稀疏区域增加新的子问题的具体实现过程,本发明实施例的另一种可能的实现方法还提供了以下方法流程,包括:
步骤5、移除外部种群中被删除拥挤的子问题后的进化后种群evol_pop'支配的个体。
步骤6、基于k近邻的拥挤评估方法,利用计算外部种群中的个体在evol_pop'中的稀疏程度。
步骤7、将外部种群中最稀疏的个体生成新的子问题,并计算新的子问题的权向量。
步骤7中,用外部种群中最稀疏的个体indsp=(xsp,FVsp)生成新的子问题,其中并使用公式(3)对新的子问题的权向量进行计算:
其中,λsp为新的子问题的权向量,为第j维目标函数值;k=1,2,…n,为个体个数;z*为目标函数的最优值。
步骤8、将新的子问题的权向量和个体加入evol_pop'中。
步骤9、若加入子问题的个数没有达到指定值,则重复执行上述基于k近邻的拥挤评估方法,利用计算外部种群中的个体在evol_pop'中的稀疏程度的步骤。
其中,指定值指的是要增加的子问题的最大个数。
步骤10、若加入子问题的个数达到指定值,则输出当前种群作为添加稀疏子问题后的进化种群evol_pop”。
需要说明的是,因为需要对种群进行迭代权向量调整操作,在步骤10之后,还需要执行步骤11。
步骤11、为λsp寻找最近的T个权向量构造新的邻居列表B(j),其中sp=1,2,...,N。
需要说明的是,本发明实施例中的执行主体可以包括但不限于个人计算机(Personal Computer,PC)、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(Tablet Computer)、手机等。
为了对本发明的有益效果进一步的展示,基于上述方法流程,本发明实施例在以下仿真条件下,进行了具体实验。
仿真条件:
Intel(R)Core(TM)i7-4790CPU 3.60GHz Windows 7***下,Visual Studio2013运行平台上,完成本发明中基于局部搜索及权向量调整的多目标优化(用LS-MOEA/D表示)与现有技术中基于分解的进化多目标优化方法(MOEA/D)和快速非支配排序算法(NSGA-II)方法的仿真实验。
对于仿真实验,种群大小都设置为100,算法交叉算子用SBX,变异算子用多项式变异PM。其中,交叉概率为1,交叉的分布指数为20,变异概率为1/n,变异的分布指数为20。算法的停止准则设置为函数最大评价次数为300000次。
仿真实验内容及结果:
本仿真的目的主要在于验证本发明在云工作流调度过程中同时考虑任务执行时间和执行代价时,是否能够得到收敛性和多样性都较优的解(个体),进而为决策者提供更加有效的决策支持。
基于25个虚拟机的测试函数(Montage 25),及基于50个虚拟机的测试函数(Montage 50)下,其仿真结果分别如图7及图8所示。从图中可以明显看出,LS-MOEA/D在有限的迭代次数内,同时考虑任务执行代价和时间两个目标的基础上,与目前存在的MOEA/D)和NSGA-II相比,本发明得到的结果无论在收敛性上还是在覆盖性上都明显优于其它两种算法,可以为决策者提供更加有效的决策支持。
本发明提供了一种基于多目标优化的云工作流调度装置,适用于步骤101至步骤112相关的方法流程,如图9所示,所述装置包括:
建立单元31,用于根据参数配置数据,建立仿真的云计算资源模型,并根据工作流拓扑数据,建立云工作流任务模型。
第一初始化单元32,随机初始化包含N个个体的种群,其中,每个个体指的是云工作流任务模型中若干个工作流子任务到云计算资源模型中若干个虚拟机的一种映射方式。
第一获取单元33,用于根据若干个目标,获取每个个体的若干个目标函数。
第二初始化单元34,用于根据若干个目标函数,初始化理想点。
分解单元35,用于将多目标优化问题分解成N个子问题,根据理想点计算每个子问题,以获取每个个体的适应值。
第二获取单元36,用于根据每个个体适应值的权值,获取每个子问题的邻居子问题,并计算每个个体的目标函数值,以初始化外部种群。
进化单元37,用于对每个个体进行进化处理。
第一更新单元38,用于根据所述进化处理,更新每个个体、理想点、每个子问题的邻居子问题的个体以及外部种群。
第三获取单元39,用于获取更新后的每个个体及每个子问题邻居中的两个最优个体。
计算单元40,用于当更新后的个体与邻居中的两个最优个体满足指定条件时,通过更新后的个体及邻居中的两个最优个体计算得到新个体。
第二更新单元41,用于当得到的新个体优于更新后的个体时,再次更新每个个体。
输出单元42,用于输出最优个体。
可选的是,如图10所示,所述装置还包括:
调整单元43,用于当再次更新后的个体满足收敛条件时,进行权向量调整操作。
可选的是,所述调整单元43包括:
删除模块,用于删除拥挤区域的子问题。
增加模块,用于向稀疏区域增加新的子问题。
可选的是,所述当更新后的个体与邻居中的两个最优个体满足指定条件时,通过更新后的个体及邻居中的两个最优个体计算得到新个体,使用公式(1)作为指定条件,通过公式(2)计算第j个子问题邻居中的两个最优个体:
其中,x为个体,为通过更新后的个体及第j个子问题邻居中的两个最优个体计算得到的新个体;为更新后的个体;和为第j个子问题邻居中的两个最优个体;k=1,2,…n,为个体个数;为个体的适应值,te表示切比雪夫分解方法;ε=10-7。
本发明实施例提供了一种基于多目标优化的云工作流调度装置,获取每个个体的适应值之后,对个体进行进化操作,然后通过局部搜索,选择更新后每个子问题邻居中的两个最优个体,以更新每个子问题的个体。通过邻居局部搜索进行多目标优化,可以在获得收敛性更好的个体。
本发明实施例提供了一种基于多目标优化的云工作流调度装置,适用于步骤201至步骤210所述的方法流程,如图11所示,所述装置包括:
建立单元51,用于根据参数配置数据,建立仿真的云计算资源模型,并根据工作流拓扑数据,建立云工作流任务模型。
第一初始化单元52,随机初始化包含N个个体的种群,其中,每个个体指的是云工作流任务模型中若干个工作流子任务到云计算资源模型中若干个虚拟机的一种映射方式。
第一获取单元53,用于根据若干个目标,获取每个个体的若干个目标函数。
第二初始化单元54,用于根据若干个目标函数,初始化理想点。
分解单元55,用于将多目标优化问题分解成N个子问题,根据理想点计算每个子问题,以获取每个个体的适应值。
第二获取单元56,用于根据每个个体适应值的权值,获取每个子问题的邻居子问题,并计算每个个体的目标函数值,以初始化外部种群。
进化单元57,用于对每个个体进行进化处理。
更新单元58,用于根据所述进化处理,更新每个个体、理想点、每个子问题的邻居子问题的个体以及外部种群。
调整单元59,用于当更新后的个体满足收敛条件时,对进化后种群进行权向量调整操作。
输出单元60,用于输出最优个体。
可选的是,如图12所示,所述调整单元59包括:
删除模块591,用于删除拥挤区域的子问题。
增加模块592,用于向稀疏区域增加新的子问题。
可选的是,所述删除模块591具体用于:
对于进化后每个个体,如果第i个子问题个体的适应值小于第j个子问题个体的适应值,则用第i个子问题的个体替换第j个子问题的个体,以更新进化后种群,其中,i∈n,j∈n,i取j以外的任意值,n为个体个数。
基于k近邻的拥挤评估方法,利用计算进化后每个个体的稀疏程度,删除拥挤的子问题。
若删除的子问题的个数没有达到指定值,则依次删除最拥挤的子问题,并重复执行上述基于k近邻的拥挤评估方法,利用计算进化后每个个体的稀疏程度,删除拥挤的子问题的步骤。
若删除的子问题的个数达到指定值,则输出剩余的群体作为删除拥挤的子问题后的进化种群evol_pop'。
其中,evol_pop为进化后种群;是第j个个体到距离它最近的第i个个体的欧式距离,indj表示第j个个体;m为目标个数。
可选的是,所述添加模块592具体用于:
移除外部种群中被删除拥挤的子问题后的进化后种群evol_pop'支配的个体。
基于k近邻的拥挤评估方法,利用计算外部种群中的个体在evol_pop'中的稀疏程度。
将外部种群中最稀疏的个体生成新的子问题,并计算新的子问题的权向量。
将新的子问题的权向量和个体加入evol_pop'中。
若加入子问题的个数没有达到指定值,则重复执行上述基于k近邻的拥挤评估方法,利用计算外部种群中的个体在evol_pop'中的稀疏程度的步骤。
若加入子问题的个数达到指定值,则输出当前种群作为添加稀疏子问题后的进化种群evol_pop”。
可选的是,所述计算新的子问题的权向量中,使用了公式(3)对新的子问题的权向量进行计算:
其中,λsp为新的子问题的权向量,为第j维目标函数值;k=1,2,…n,为个体个数;z*为目标函数的最优值。
本发明实施例提供了一种基于多目标优化的云工作流调度装置,获取每个个体的适应值之后,对个体进行进化操作,然后通过删除拥挤区域的子问题、向稀疏区域增加新的子问题,对种群进行权向量调整操作。通过权向量调整进行多目标优化,可以在获得覆盖性和均匀性更好,即多样性更好的个体。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (18)
1.一种基于多目标优化的云工作流调度方法,其特征在于,所述方法包括:
根据参数配置数据,建立仿真的云计算资源模型,并根据工作流拓扑数据,建立云工作流任务模型;
随机初始化包含N个个体的种群,其中,每个个体指的是云工作流任务模型中若干个工作流子任务到云计算资源模型中若干个虚拟机的一种映射方式;
根据若干个目标,获取每个个体的若干个目标函数;
根据若干个目标函数,初始化理想点;
将多目标优化问题分解成N个子问题,根据理想点计算每个子问题,以获取每个个体的适应值;
根据每个个体适应值的权值,获取每个子问题的邻居子问题,并计算每个个体的目标函数值,以初始化外部种群;
对每个个体进行进化处理;
根据所述进化处理,更新每个个体、理想点、每个子问题的邻居子问题的个体以及外部种群;
获取更新后的每个个体及每个子问题邻居中的两个最优个体;
当更新后的个体与邻居中的两个最优个体满足指定条件时,通过更新后的个体及邻居中的两个最优个体计算得到新个体;
当得到的新个体优于更新后的个体时,再次更新每个个体;
输出最优个体。
2.根据权利要求1所述的方法,其特征在于,在所述输出最优个体之前,所述方法还包括:
当再次更新后的个体满足收敛条件时,进行权向量调整操作。
3.根据权利要求2所述的方法,其特征在于,所述进行权向量调整操作,包括:
删除拥挤区域的子问题,并,向稀疏区域增加新的子问题。
4.根据权利要求1所述的方法,其特征在于,所述当更新后的个体与邻居中的两个最优个体满足指定条件时,通过更新后的个体及邻居中的两个最优个体计算得到新个体,使用公式(1)作为指定条件,通过公式(2)计算第j个子问题邻居中的两个最优个体:
其中,x为个体,为通过更新后的个体及第j个子问题邻居中的两个最优个体计算得到的新个体;为更新后的个体;和为第j个子问题邻居中的两个最优个体;k=1,2,…n,为个体个数;为个体的适应值,te表示切比雪夫分解方法;ε=10-7。
5.一种基于多目标优化的云工作流调度方法,其特征在于,所述方法包括:
根据参数配置数据,建立仿真的云计算资源模型,并根据工作流拓扑数据,建立云工作流任务模型;
随机初始化包含N个个体的种群,其中,每个个体指的是云工作流任务模型中若干个工作流子任务到云计算资源模型中若干个虚拟机的一种映射方式;
根据若干个目标,获取每个个体的若干个目标函数;
根据若干个目标函数,初始化理想点;
将多目标优化问题分解成N个子问题,根据理想点计算每个子问题,以获取每个个体的适应值;
根据每个个体适应值的权值,获取每个子问题的邻居子问题,并计算每个个体的目标函数值,以初始化外部种群;
对每个个体进行进化处理;
根据所述进化处理,更新每个个体、理想点、每个子问题的邻居子问题的个体以及外部种群;
当更新后的个体满足收敛条件时,对进化后种群进行权向量调整操作;
输出最优个体。
6.根据权利要求5所述的方法,其特征在于,所述对进化后种群进行权向量调整操作,包括:
删除拥挤区域的子问题,并,向稀疏区域增加新的子问题。
7.根据权利要求6所述的方法,其特征在于,所述删除拥挤区域的子问题,包括:
对于进化后每个个体,如果第i个子问题个体的适应值小于第j个子问题个体的适应值,则用第i个子问题的个体替换第j个子问题的个体,以更新进化后种群,其中,i∈n,j∈n,i取j以外的任意值,n为个体个数;
基于k近邻的拥挤评估方法,利用计算进化后每个个体的稀疏程度,删除拥挤的子问题;
若删除的子问题的个数没有达到指定值,则依次删除最拥挤的子问题,并重复执行上述基于k近邻的拥挤评估方法,利用计算进化后每个个体的稀疏程度,删除拥挤的子问题的步骤;
若删除的子问题的个数达到指定值,则输出剩余的群体作为删除拥挤的子问题后的进化种群evol_pop';
其中,evol_pop为进化后种群;是第j个个体到距离它最近的第i个个体的欧式距离,indj表示第j个个体;m为目标个数。
8.根据权利要求7所述的方法,其特征在于,所述向稀疏区域增加新的子问题,包括:
移除外部种群中被删除拥挤的子问题后的进化后种群evol_pop'支配的个体;
基于k近邻的拥挤评估方法,利用计算外部种群中的个体在evol_pop'中的稀疏程度;
将外部种群中最稀疏的个体生成新的子问题,并计算新的子问题的权向量;
将新的子问题的权向量和个体加入evol_pop'中;
若加入子问题的个数没有达到指定值,则重复执行上述基于k近邻的拥挤评估方法,利用计算外部种群中的个体在evol_pop'中的稀疏程度的步骤;
若加入子问题的个数达到指定值,则输出当前种群作为添加稀疏子问题后的进化种群evol_pop”。
9.根据权利要求8所述的方法,其特征在于,所述计算新的子问题的权向量中,使用了公式(3)对新的子问题的权向量进行计算:
其中,λsp为新的子问题的权向量,为第j维目标函数值;k=1,2,…n,为个体个数;z*为目标函数的最优值。
10.一种基于多目标优化的云工作流调度装置,其特征在于,所述装置包括:
建立单元,用于根据参数配置数据,建立仿真的云计算资源模型,并根据工作流拓扑数据,建立云工作流任务模型;
第一初始化单元,随机初始化包含N个个体的种群,其中,每个个体指的是云工作流任务模型中若干个工作流子任务到云计算资源模型中若干个虚拟机的一种映射方式;
第一获取单元,用于根据若干个目标,获取每个个体的若干个目标函数;
第二初始化单元,用于根据若干个目标函数,初始化理想点;
分解单元,用于将多目标优化问题分解成N个子问题,根据理想点计算每个子问题,以获取每个个体的适应值;
第二获取单元,用于根据每个个体适应值的权值,获取每个子问题的邻居子问题,并计算每个个体的目标函数值,以初始化外部种群;
进化单元,用于对每个个体进行进化处理;
第一更新单元,用于根据所述进化处理,更新每个个体、理想点、每个子问题的邻居子问题的个体以及外部种群;
第三获取单元,用于获取更新后的每个个体及每个子问题邻居中的两个最优个体;
计算单元,用于当更新后的个体与邻居中的两个最优个体满足指定条件时,通过更新后的个体及邻居中的两个最优个体计算得到新个体;
第二更新单元,用于当得到的新个体优于更新后的个体时,再次更新每个个体;
输出单元,用于输出最优个体。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
调整单元,用于当再次更新后的个体满足收敛条件时,进行权向量调整操作。
12.根据权利要求11所述的装置,其特征在于,所述调整单元包括:
删除模块,用于删除拥挤区域的子问题;
增加模块,用于向稀疏区域增加新的子问题。
13.根据权利要求10所述的装置,其特征在于,所述当更新后的个体与邻居中的两个最优个体满足指定条件时,通过更新后的个体及邻居中的两个最优个体计算得到新个体,使用公式(1)作为指定条件,通过公式(2)计算第j个子问题邻居中的两个最优个体:
其中,x为个体,为通过更新后的个体及第j个子问题邻居中的两个最优个体计算得到的新个体;为更新后的个体;和为第j个子问题邻居中的两个最优个体;k=1,2,…n,为个体个数;为个体的适应值,te表示切比雪夫分解方法;ε=10-7。
14.一种基于多目标优化的云工作流调度装置,其特征在于,所述装置包括:
建立单元,用于根据参数配置数据,建立仿真的云计算资源模型,并根据工作流拓扑数据,建立云工作流任务模型;
第一初始化单元,随机初始化包含N个个体的种群,其中,每个个体指的是云工作流任务模型中若干个工作流子任务到云计算资源模型中若干个虚拟机的一种映射方式;
第一获取单元,用于根据若干个目标,获取每个个体的若干个目标函数;
第二初始化单元,用于根据若干个目标函数,初始化理想点;
分解单元,用于将多目标优化问题分解成N个子问题,根据理想点计算每个子问题,以获取每个个体的适应值;
第二获取单元,用于根据每个个体适应值的权值,获取每个子问题的邻居子问题,并计算每个个体的目标函数值,以初始化外部种群;
进化单元,用于对每个个体进行进化处理;
更新单元,用于根据所述进化处理,更新每个个体、理想点、每个子问题的邻居子问题的个体以及外部种群;
调整单元,用于当更新后的个体满足收敛条件时,对进化后种群进行权向量调整操作;
输出单元,用于输出最优个体。
15.根据权利要求14所述的装置,其特征在于,所述调整单元包括:
删除模块,用于删除拥挤区域的子问题;
增加模块,用于向稀疏区域增加新的子问题。
16.根据权利要求15所述的装置,其特征在于,所述删除模块具体用于:
对于进化后每个个体,如果第i个子问题个体的适应值小于第j个子问题个体的适应值,则用第i个子问题的个体替换第j个子问题的个体,以更新进化后种群,其中,i∈n,j∈n,i取j以外的任意值,n为个体个数;
基于k近邻的拥挤评估方法,利用计算进化后每个个体的稀疏程度,删除拥挤的子问题;
若删除的子问题的个数没有达到指定值,则依次删除最拥挤的子问题,并重复执行上述基于k近邻的拥挤评估方法,利用计算进化后每个个体的稀疏程度,删除拥挤的子问题的步骤;
若删除的子问题的个数达到指定值,则输出剩余的群体作为删除拥挤的子问题后的进化种群evol_pop';
其中,evol_pop为进化后种群;是第j个个体到距离它最近的第i个个体的欧式距离,indj表示第j个个体;m为目标个数。
17.根据权利要求16所述的装置,其特征在于,所述添加模块具体用于:
移除外部种群中被删除拥挤的子问题后的进化后种群evol_pop'支配的个体;
基于k近邻的拥挤评估方法,利用计算外部种群中的个体在evol_pop'中的稀疏程度;
将外部种群中最稀疏的个体生成新的子问题,并计算新的子问题的权向量;
将新的子问题的权向量和个体加入evol_pop'中;
若加入子问题的个数没有达到指定值,则重复执行上述基于k近邻的拥挤评估方法,利用计算外部种群中的个体在evol_pop'中的稀疏程度的步骤;
若加入子问题的个数达到指定值,则输出当前种群作为添加稀疏子问题后的进化种群evol_pop”。
18.根据权利要求17所述的装置,其特征在于,所述计算新的子问题的权向量中,使用了公式(3)对新的子问题的权向量进行计算:
其中,λsp为新的子问题的权向量,为第j维目标函数值;k=1,2,…n,为个体个数;z*为目标函数的最优值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710607203.0A CN109298930B (zh) | 2017-07-24 | 2017-07-24 | 一种基于多目标优化的云工作流调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710607203.0A CN109298930B (zh) | 2017-07-24 | 2017-07-24 | 一种基于多目标优化的云工作流调度方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109298930A true CN109298930A (zh) | 2019-02-01 |
CN109298930B CN109298930B (zh) | 2022-12-13 |
Family
ID=65167105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710607203.0A Active CN109298930B (zh) | 2017-07-24 | 2017-07-24 | 一种基于多目标优化的云工作流调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109298930B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813500A (zh) * | 2020-07-09 | 2020-10-23 | 西北工业大学 | 一种多目标云工作流调度方法及装置 |
CN112905307A (zh) * | 2021-04-22 | 2021-06-04 | 北京理工大学 | 一种基于贫富优化算法的多目标云工作流调度方法 |
CN113344320A (zh) * | 2021-04-26 | 2021-09-03 | 山东师范大学 | 多目标下的物流机器人配送路径动态自动规划方法及*** |
CN113434267A (zh) * | 2021-05-25 | 2021-09-24 | 深圳大学 | 云计算工作流动态调度方法、装置、设备及存储介质 |
CN115080236A (zh) * | 2022-06-24 | 2022-09-20 | 西安电子科技大学 | 基于图分割的工作流部署方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345384A (zh) * | 2013-07-18 | 2013-10-09 | 北京航空航天大学 | 一种基于分解的变邻域多目标测试任务调度方法及平台 |
CN104035816A (zh) * | 2014-05-22 | 2014-09-10 | 南京信息工程大学 | 一种基于改进nsga-ii的云计算任务调度方法 |
CN104516785A (zh) * | 2014-12-19 | 2015-04-15 | 上海电机学院 | 一种云计算资源调度***及方法 |
-
2017
- 2017-07-24 CN CN201710607203.0A patent/CN109298930B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345384A (zh) * | 2013-07-18 | 2013-10-09 | 北京航空航天大学 | 一种基于分解的变邻域多目标测试任务调度方法及平台 |
CN104035816A (zh) * | 2014-05-22 | 2014-09-10 | 南京信息工程大学 | 一种基于改进nsga-ii的云计算任务调度方法 |
CN104516785A (zh) * | 2014-12-19 | 2015-04-15 | 上海电机学院 | 一种云计算资源调度***及方法 |
Non-Patent Citations (2)
Title |
---|
YUTAO QI等: "Extending the Delaunay Triangulation Based Density Measurement to Many-Objective Optimization", 《AUSTRALASIAN CONFERENCE ON ARTIFICIAL LIFE AND COMPUTATIONAL INTELLIGENCE》 * |
胡志刚等: "基于多QoS目标的工作流任务调度算法", 《计算机工程》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813500A (zh) * | 2020-07-09 | 2020-10-23 | 西北工业大学 | 一种多目标云工作流调度方法及装置 |
CN111813500B (zh) * | 2020-07-09 | 2022-11-22 | 西北工业大学 | 一种多目标云工作流调度方法及装置 |
CN112905307A (zh) * | 2021-04-22 | 2021-06-04 | 北京理工大学 | 一种基于贫富优化算法的多目标云工作流调度方法 |
CN112905307B (zh) * | 2021-04-22 | 2022-07-22 | 北京理工大学 | 一种基于贫富优化算法的多目标云工作流调度方法 |
CN113344320A (zh) * | 2021-04-26 | 2021-09-03 | 山东师范大学 | 多目标下的物流机器人配送路径动态自动规划方法及*** |
CN113434267A (zh) * | 2021-05-25 | 2021-09-24 | 深圳大学 | 云计算工作流动态调度方法、装置、设备及存储介质 |
CN115080236A (zh) * | 2022-06-24 | 2022-09-20 | 西安电子科技大学 | 基于图分割的工作流部署方法 |
CN115080236B (zh) * | 2022-06-24 | 2024-04-16 | 西安电子科技大学 | 基于图分割的工作流部署方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109298930B (zh) | 2022-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109298930A (zh) | 一种基于多目标优化的云工作流调度方法及装置 | |
CN111612528A (zh) | 用户分类模型的确定方法、装置、设备及存储介质 | |
CN105929690B (zh) | 一种基于分解多目标进化算法的柔性车间鲁棒调度方法 | |
CN111065103A (zh) | 一种多目标优化的无线传感器网络节点部署方法 | |
CN109271320B (zh) | 一种上位多目标测试用例优先级排序方法 | |
CN112784362A (zh) | 一种用于无人机辅助边缘计算的混合优化方法及*** | |
CN104035816A (zh) | 一种基于改进nsga-ii的云计算任务调度方法 | |
CN116501711A (zh) | 一种基于“存算分离”架构的算力网络任务调度方法 | |
Cai et al. | A hybrid of decomposition and domination based evolutionary algorithm for multi-objective software next release problem | |
Talbi | Hybrid metaheuristics for multi-objective optimization | |
CN113225370A (zh) | 一种基于物联网的区块链多目标优化方法 | |
CN113472671A (zh) | 组播路由的确定方法、装置和计算机可读存储介质 | |
CN114065896A (zh) | 基于邻域调整和角度选择策略的多目标分解进化算法 | |
CN111415265A (zh) | 生成式对抗网络的社交关系数据生成方法 | |
CN109885401B (zh) | 基于lpt局部优化的结构化网格负载平衡方法 | |
CN113220437B (zh) | 一种工作流多目标调度方法及装置 | |
CN113094973B (zh) | 一种基于多目标优化算法的民机需求优选方法 | |
CN115730432A (zh) | 物联网数据处理任务的调度方法及***、设备、存储介质 | |
CN111542078B (zh) | 一种nfv环境下核心网控制面弹性资源分配方法 | |
CN108256694A (zh) | 基于重复遗传算法的模糊时间序列预测***、方法及装置 | |
EP3701679B1 (en) | Network resource allocation | |
Yasin et al. | Optimal least squares support vector machines parameter selection in predicting the output of distributed generation | |
CN110689320A (zh) | 一种基于协同进化算法的大规模多目标项目调度方法 | |
JP2008299641A (ja) | 連立一次方程式の並列求解方法およびノード順序付け方法 | |
CN116056158B (zh) | 一种频率分配方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |