一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

改进二进制粒子群算法的科学工作流任务调度算法的制作方法

2022-03-04 22:32:33 来源:中国专利 TAG:


1.本发明涉及科学工作流技术领域,特别是一种基于改进二进制粒子群算法的科学工作流任务调度算法。


背景技术:

2.随着大数据时代的到来,科学工作流逐渐引起人们的注意。科学工作流是一类能够完全或者部分自动执行的计算任务,以图一的有向无环图dag图形式表示,任务与任务之间具有一定的数据依赖关系和时序关系。随着云计算技术的发展,云计算的应用领域也越来越广,科研领域、商业领域很多大数据应用都依赖于云环境执行。面对应用数据量大、计算资源耗费大,如何在提高资源调度效率的同时减少资源的调度成本花费已经成为云计算领域一项热点研究。
3.本发明以传统的资源调度算法——二进制粒子群算法为基础,改进其存在的缺点,从成本和时间两方面进行考虑,提出了一种优化的二进制粒子群算法应用于资源调度,并利用云平台仿真工具cloudsim对优化后的二进制粒子群算法进行了可行性和有效性的验证。


技术实现要素:

4.如何针对科学工作流这一类应用,解决云环境中任务分配问题从而有效降低能耗,提高资源利用率,提出了一种改进的二进制粒子群算法,对粒子的更新公式进行了修改,解决了原来二进制粒子群算法收敛性不好的问题。随着速度的逐渐减少(趋近于0),发生跳转的概率会增大,改进的算法有效避免了这个问题。该算法的收敛性优于传统的粒子群优化算法,在一定任务规模下,完成任务调度所需成本更低,时间更少,符合云资源的使用特征与用户需求。
5.粒子群优化算法(pso)是一种进化计算技术(evolutionary computation),1995年由eberhart博士和kennedy博士提出,源于对鸟群捕食的行为研究。该算法最初是受到飞鸟集群活动的规律性启发,进而利用群体智能建立的一个简化模型。粒子群算法在对动物集群活动行为观察基础上,利用群体中的个体对信息的共享使整个群体的运动在问题求解空间中产生从无序到有序的演化过程,从而获得最优解。粒子群算法是一种基于迭代的优化算法。系统初始化为一组随机解,通过迭代搜寻最优值,粒子在解空间追随最优的粒子进行搜索。粒子群算法的公式如下:
[0006][0007]
其中:w为惯性权重;rand()为均匀分布在(0,1)之间的随机数;c1和c2为学习因子。粒子的速度vi被最大速度v
max
所限制,即若vi>v
max
,则令vi=v
max
,而若vi<-v
max
,也令vi=v
max
。为了处理离散型优化问题,eberhart和kennedy对基本粒子群算法进行修正,提出二进制粒子群优化算法。速度公式仍采用原式位置的迭代公式修整为:
[0008][0009]
其中sigm(v
i 1
)=1/1 exp(-v
i 1
),为了防止sigm函数饱和,通常将v
i 1
的取值限制在区间{-4.0,4.0]。需指出的是:sigm函数值并不表示某位变化的概率,只代表某位取1的概率。
[0010]
在粒子群算法寻优模式中vi表示速度,能够对当前位置的方向和位置随机产生一定的影响,使得算法在给定区域上进行搜索,如果将算法的进化迭代理解为一个自适应过程,则粒子位置xi就不是被新的粒子所代替,而是根据速度向量vi进行自适应变化,它的独特之处在于,每一次迭代算法的每个粒子只朝群体经验认为是好的方向飞行,也就是说基本的粒子群算法执行一种有“意识”的进化。而bpso算法中,vi仅表示一个概率,即粒子的每维分量的位置取值以sigm(v
i 1
)的概率取1,而以1-sigm(v
i 1
)的概率取0,其位变概率为p(δ)=sigm(v
i 1
)(1-sigm(v
i 1
))。经图二分析得出,bpso算法当速度越接近0时,其位置变化的概率越高。按照粒子群算法的寻优模式,粒子在飞行过程中,粒子越来越靠近最优粒子,也就是速度慢慢接近于0时,位变化概率应该越小,而bpso算法反而越大,如此必然导致算法的收敛性降低。
[0011]
提出的算法基于粒子群算法的寻优模式进行调整,粒子速度作为粒子位置的修正项,应当充分考虑粒子之间的此种导向作用,所以在对bpso算法进行改进中,速度迭代公式仍保持不变,速度归一化公式sigm函数以及位置迭代公式修整为如下公式:
[0012][0013]
修整后的sigm函数和位置迭代公式能够保证粒子遵循算法的寻优模式,位置根据速度进行调整,当速度数值(绝对值)大时,位变化概率大,rand<sigm条件越容易满足,收敛速度得到提高。
[0014]
在本实施例中,随机生成了任务节点数量的科学工作流进行模拟实验。虚拟机类型根据亚马逊云提供的真实数据(如图3所示)选取了五类具有代表性的虚拟机类型,租用周期单价也为亚马逊云的真实数据。
[0015]
为了验证所提模型以及算法的有效性,选择开源的云仿真cloudsim平台对优化算法进行仿真验证。cloudsim工具包是任务调度领域的常用模拟工具,由gridbus项目组和澳大利亚墨尔本大学网格实验室开发。本发明改进的二进制粒子群算法提高了收敛速度,能够高效地进行科学工作流的任务调度,在任务调度成本控制和时间控制上得到大大提高,可广泛应用于多种不同规模的面向成本的云计算任务调度中。
附图说明
[0016]
图1为有向无环图dag图。
[0017]
图2为位速度与位的改变概率关系图。
[0018]
图3为亚马逊云真实实例的具体数据图。
具体实施方式
[0019]
本发明是基于改进二进制粒子群算法的科学工作流任务调度算法方法,所述方法包括以下步骤:
[0020]
步骤1:生成初始种群,初始种群的好坏关系到搜索速度的快慢,好的初始种群有利于算法快速找到最优解。采用计算机随机算法产生一组粒子,作为初始种群。生成初始种群对每个粒子的每一维都用随机的方式决定是“0”还是“1”。通过计算机生成一个[0,1]之间的随机数,这个随机数可以保证充分随机,它在区间[0,0.5]和[0.5,1]的概率都是0.5。通过判断这个随机数在哪个区间来决定这一维的值是“0”还是“1”。对应的计算公式如下:
[0021][0022]
步骤2:适应度函数是用来衡量一个解的好坏的,以调度成本最优以及调度时间尽量满足截止期为优化目标,由于在该模型下,每个任务节点开始进行任务调度的时间依赖于前序节点的结束时间且任务节点与任务节点之间可以并行执行。定义适应度函数fitness对应的计算公式如下:
[0023]
fitness=w1·ctotal
w2·
max(0,totaltime-t
deadline
)
ꢀꢀꢀꢀꢀ
(5)
[0024]
其中w1与w2为两个实数,两数相加之和为1,tdeadline为用户所提供的调度该批任务所要求的deadline与任务批开始进行调度的时间差值,单位为分钟。max代表取括号内两数中较大的。
[0025]
步骤3:经分析得出,bpso算法当速度越接近0时,其位置变化的概率越高。按照粒子群算法的寻优模式,粒子在飞行过程中,粒子越来越靠近最优粒子,也就是速度慢慢接近于0时,位变化概率应该越小,而bpso算法反而越大,如此必然导致局部开发的缺乏,影响算法的搜索能力。提出了基于粒子群算法的寻优模式进行调整,粒子速度作为粒子位置的修正项,应当充分考虑粒子之间的此种导向作用,在对bpso算法进行改进中,速度迭代公式仍保持不变,修改速度归一化公式sigm函数以及位置迭代公式。提出的基于粒子群算法的寻优模式进行调整,粒子速度作为粒子位置的修正项,应当充分考虑粒子之间的此种导向作用,所以在对bpso算法进行改进中,速度迭代公式仍保持不变,速度归一化公式sigm函数以及位置迭代公式修整为如下公式:
[0026][0027]
步骤4:为了验证所提模型以及算法的有效性,选择开源的云仿真cloudsim平台对优化算法进行仿真验证。随机生成任务节点数量的科学工作流进行并在亚马逊云提供的虚拟机类型真实数据下进行模拟实验。与经典调度算法相比有很大改进,可以有效节约科学工作流的任务调度的成本,可应用于多种不同规模的面向成本的云计算任务调度。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献