掌桥专利:专业的专利平台
掌桥专利
首页

一种基于差分扰动的蜣螂优化算法的云资源调度方法

文献发布时间:2024-04-18 19:58:30


一种基于差分扰动的蜣螂优化算法的云资源调度方法

技术领域

本发明涉及云资源优化调度方法技术领域,尤其涉及一种基于差分扰动的蜣螂优化算法的云资源调度方法。

背景技术

随着信息技术和网络技术的进一步发展,传统的计算模式已不能满足社会中海量数据和信息处理的要求,但云计算模式不仅有能力去处理海量的数据,而且使用起来更加方便,云计算的目的是以一种计量的、自助服务的、动态可扩展的方式,提供按需、随用随付、基于互联网的对共享计算资源(硬件和软件)的访问。在云计算中,云资源调度至关重要,若资源调度不当,可能会出现资源利用不足(负载不足)和资源利用过度(负载过重)的困境,从而导致云资源的浪费或业务性能的下降。因此,云资源调度问题是当下迫切需要解决的问题。

中国专利公开号:CN 109783219公开了一种云资源优化调度方法及装置,资源调度方法利用虚拟资源同时达到服务效果,但是没有解决云资源调度的合理性和云资源的浪费或业务性能的下降的问题。

发明内容

为此,本发明提供一种基于差分扰动的蜣螂优化算法的云资源调度方法,用以克服现有技术中云资源调度不当导致云资源的浪费或业务性能下降的问题。

为实现上述目的,本发明给出的一种基于差分扰动的蜣螂优化算法的云资源调度方法,包括:

步骤S1、获取用户的初始化参数数据;

步骤S2、根据初始化参数数据完成对种群的初始化,包括含有对应数量个体的滚球蜣螂种群、孵蛋蜣螂种群、小蜣螂种群以及小偷蜣螂种群;

步骤S3、根据目标函数计算种群的适应性;

步骤S4、在单次迭代过程中,针对滚球蜣螂种群,生成该次迭代中的rand随机值,根据rand随机值选用对应的算法更新其位置;针对孵蛋蜣螂种群、小蜣螂种群以及小偷蜣螂种群则直接使用对应算法进行位置更新;

步骤S5、在完成对单个所述个体数据的位置的更新时,根据所处的种群种类对应的公式进行修正变量上下边界上的范围;

步骤S6、在完成对目标函数的迭代时,返回全局最佳解位置以重新计算种群的适应性,得到算法迭代完成后输出的目标函数值和最优资源调度方案以完成对初始化参数数据的优化。

进一步地,针对所述步骤S4中的滚球蜣螂种群,针对单个所述个体数据,根据该个体数据的rand值确定针对该个体数据的位置更新方式,其中:

若所述个体数据的rand值小于0.8,则根据该个体数据所属的种群种类选取对应的算法更新其位置;

若所述个体数据的rand值大于等于0.8,则使用第三算法更新该个体数据的位置。

进一步地,所述第三算法为高斯Tent扰动算法,包括:

输入:fit,N,X

输出:

1:fit

2:if fit(i)<fit

3:使用公式更新

4:else

5:使用公式更新

6:end if

其中,fit表示一个(N×1)维的向量,存储了种群的适应度值,N表示种群大小,X

进一步地,在单个所述个体数据的rand值小于0.8时,

若该个体数据所属种群种类为滚球蜣螂种群,则根据该个体数据的rand值选用对应的算法或等式更新其位置;

若该个体数据所属种群种类为孵蛋蜣螂种群,则使用第一算法更新其位置;

若该个体数据所属种群种类为小蜣螂种群,则使用第八等式更新其位置;

若该个体数据所属种群种类为小偷蜣螂种群,则使用第九等式更新其位置。

进一步地,在单个所述个体数据的rand值小于0.8且该个体数据所属种群种类为滚球蜣螂种群时,

若单个所述个体数据的rand值小于0.5,则使用第二算法更新其位置;

若单个所述个体数据的rand值大于等于0.5且小于0.7,则使用第一等式更新其位置;

若单个所述个体数据的rand值大于等于0.7,则使用第三等式更新其位置;

进一步地,单个所述个体数据的rand值小于0.5且该个体数据所属种群种类为滚球蜣螂种群时,则使用更新其位置的第二算法为:

输入:X

输出:X

1:[r1,r2,r3]=randperm(N,3);

2:[X

3:R=0.02×(1-t/T

4:if rand<0.7

5:

6:else

7:if rand<0.5

8:

9:else

10:X

11:end

12:end

13:返回X

其中

进一步地,单个所述个体数据的rand值满足大于等于0.5且小于0.8时,该个体数据所属种群种类为滚球蜣螂种群时,

若单个所述个体数据的rand值大于等于0.5且小于0.7,所述更新其位置的第一等式公式为:

X

ΔX=|X

t表示迭代次数,表示第t次迭代中第个蜣螂的位置,表示全局最差位置,表示当前个体与全局最差位置—模拟光照强度的变化情况,是取值为1或-1的常数,表示一个常数,为区间内的随机数,t模拟了太阳偏转过程;

若单个所述个体数据的rand值大于等于0.7,所述更新其位置的第三等式公式为:

X

其中θ取值为[0,π],在式中|X

进一步地,在单个所述个体数据的rand值小于0.8且该个体数据所属种群种类为孵蛋蜣螂种群时,使用更新其位置的第一算法为:

输入:最大迭代次数T

输出:第i只育婴蜣螂位置B

1:R=1-t/T

2:for i←1to n do

3:Update the brood ball’s position by using(4);

4:for j←1to D do

5:if B

6:B

7:end if

8:if B

9:B

10:end if

11:end for

12:end for。

进一步地,在单个所述个体数据的rand值小于0.8且该个体数据所属种群种类为小蜣螂种群时,使用更新其位置的第二等式为:

X

其中X

进一步地,在单个所述个体数据的rand值小于0.8且该个体数据所属种群种类为小偷蜣螂种群时,使用更新其位置的第四等式为:

X

其中X

与现有技术相比,本发明的有益效果在于,本发明给出的一种基于差分扰动的蜣螂优化算法的云资源调度方法,其中,改进蜣螂DGTDBO算法,采用自适应差分策略,在种群进化过程中增加种群多样性,在增加种群多样性的同时兼顾局部搜索,提高个体的搜索能力,提高个体退出局部最优的能力,从而提高算法的收敛速度和精度;并对种群施加高斯Tent混沌扰动,提高算法的局部搜索能力,同时保证种群多样性,使全局和局部搜索达到平衡状态,增强个体局部搜索能力,加快收敛速度,增强种群脱离局部最优的能力;此外,将自适应差分法与高斯摄动相结合,提高了种群多样性,在保证后期迭代种群多样性的同时,考虑了局部搜索阶段,实现了全局搜索和局部搜索的良好平衡,提高了种群跳出局部最优的能力,提高了种群收敛的精度,同时提高了算法的鲁棒性和收敛速度。进一步提高了云资源调度的合理性,解决了云资源调度中的资源浪费或业务性能的下降的问题。

进一步地,个体数据用公式和迭代的方式进行位置更新和优化,基于DBO提出的DGTDBO算法,首先提升了种群多样性以及跳出局部最优的能力;其次高斯Tent混沌扰动策略在个体周围进行扰动,以提升局部搜索能力。将两种策略相结合,能使得局部搜索阶段与全局探索阶段得到很好的平衡,从而提升算法收敛性能和稳定性。进一步提高了云资源调度的合理性,解决了云资源调度中的资源浪费或业务性能的下降的问题。

进一步地,个体数据使用高斯Tent混沌扰动策略进行优化,解决了在算法迭代后期会存在种群多样性缺失、陷入局部停滞的问题。利用高斯Tent混沌扰动对种群进行变异增加种群多样性,跳出局部最优解,提升收敛速度和精度。进一步提高了云资源调度的合理性,解决了云资源调度中的资源浪费或业务性能的下降的问题。

进一步地,滚球蜣螂种群时根据该个体数据的rand值选用对应的算法或等式更新其位置;为提高种群多样性的一种策略,将差分策略引入到蜣螂算法中,提升了种群多样性,使得个体更加容易跳出局部最优解,提升解决方案的质量,提升了收敛精度。进一步提高了云资源调度的合理性,解决了云资源调度中的资源浪费或业务性能的下降的问题。

进一步地,rand值小于0.8且该个体数据所属种群种类为滚球蜣螂种群时,位置使用各相对应的公式进行位置更新,包括:第一算法公式,或,第一等式公式,或,第三等式,提升了种群多样性,使得个体更加容易跳出局部最优解,提升了解决方案的质量,提升了收敛精度。进一步提高了云资源调度的合理性,解决了云资源调度中的资源浪费或业务性能的下降的问题。

进一步地,rand值小于0.5且该个体数据所属种群种类为滚球蜣螂种群时,使用第二算法更新其位置,迭代的方式提升了解决方案的质量,提升了收敛精度。进一步提高了云资源调度的合理性,解决了云资源调度中的资源浪费或业务性能的下降的问题。

进一步地,rand值满足大于等于0.5且小于0.8时,该个体数据所属种群种类为滚球蜣螂种群时,位置更新选择对应的第一等式或第三等式,提升了解决方案的质量,提升了收敛精度。进一步提高了云资源调度的合理性,解决了云资源调度中的资源浪费或业务性能的下降的问题。

进一步地,rand值小于0.8且该个体数据所属种群种类为孵蛋蜣螂种群时,使用更新其位置的第一算法,迭代的方式提升了解决方案的质量,提升了收敛精度。进一步提高了云资源调度的合理性,解决了云资源调度中的资源浪费或业务性能的下降的问题。

进一步地,rand值小于0.8且该个体数据所属种群种类为小蜣螂种群时,使用第二等式更新其位置,提升了收敛精度。进一步提高了云资源调度的合理性,解决了云资源调度中的资源浪费或业务性能的下降的问题。

进一步地,rand值小于0.8且该个体数据所属种群种类为小偷蜣螂种群时,使用第四等式更新其位置,提升了收敛精度。进一步提高了云资源调度的合理性,解决了云资源调度中的资源浪费或业务性能的下降的问题。

附图说明

图1为本发明所述DGTDBO算法流程图;

图2为本发明所述DGTDBO算法在基准函数上的收敛图;

图3为本发明所述DGTDBO算法在基准函数上的适应度的箱线图;

图4为本发明所述DGTDBO算法用于工字梁的优化设计示意图;

图5为本发明所述DGTDBO算法实算法用于压力/压缩弹簧的设计示意图。

具体实施方式

下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非在限制本发明的保护范围。

请参阅图1所示,其为本发明所述DGTDBO算法流程图,包括:

步骤S1、获取用户的初始化参数数据;

步骤S2、根据初始化参数数据完成对种群的初始化,包括含有对应数量个体的滚球蜣螂种群、孵蛋蜣螂种群、小蜣螂种群以及小偷蜣螂种群;

步骤S3、根据目标函数以计算种群的适应性;

步骤S4、在单次迭代过程中,针对滚球蜣螂种群,生成该次迭代中的rand随机值,根据rand随机值选用对应的算法更新其位置;针对孵蛋蜣螂种群、小蜣螂种群以及小偷蜣螂种群则直接使用对应算法进行位置更新;

步骤S5、在完成对单个所述个体数据的位置的更新时,根据所处的种群种类对应的公式进行修正变量上下边界上的范围;

步骤S6、在完成对目标函数的迭代时,返回全局最佳解位置以重新计算种群的适应性,得到算法迭代完成后输出的目标函数值和最优资源调度方案以完成对初始化参数数据的优化。

具体而言,针对所述步骤S4中的滚球蜣螂种群,针对单个所述个体数据,根据该个体数据的rand值确定针对该个体数据的位置更新方式,其中:若所述个体数据的rand值小于0.8,则根据该个体数据所属的种群种类选取对应的算法更新其位置;若所述个体数据的rand值大于等于0.8,则使用第三算法更新该个体数据的位置。

具体而言,所述第三算法为高斯Tent扰动算法,包括:

输入:fit,N,X

输出:

1:fit

2:if fit(i)<fit

3:使用公式更新

4:else

5:使用公式更新

6:end if

其中,fit表示一个(N×1)维的向量,存储了种群的适应度值,N表示种群大小,X

所述第三算法运行时,首先初始化算法所需变量和参数,其次通过第1行计算种群的平均适应度值,然后第二行判断当前个体的适应度值是否小于种群平均适应度值,如果当前个体的适应度小于种群的平均适应度,则使用第3行进行位置更新,如果当前个体的适应度不小于种群的平均适应度则使用第5行更新位置位置。

具体而言,在单个所述个体数据的rand值小于0.8时,若该个体数据所属种群种类为滚球蜣螂种群,则根据该个体数据的rand值选用对应的算法或等式更新其位置;若该个体数据所属种群种类为孵蛋蜣螂种群,则使用第一算法更新其位置;若该个体数据所属种群种类为小蜣螂种群,则使用第八等式更新其位置;若该个体数据所属种群种类为小偷蜣螂种群,则使用第九等式更新其位置。

具体而言,在单个所述个体数据的rand值小于0.8且该个体数据所属种群种类为滚球蜣螂种群时,若单个所述个体数据的rand值小于0.5,则使用第二算法更新其位置;若单个所述个体数据的rand值大于等于0.5且小于0.7,则使用第一等式更新其位置;若单个所述个体数据的rand值大于等于0.7,则使用第三等式更新其位置.

具体而言,单个所述个体数据的rand值小于0.5且该个体数据所属种群种类为滚球蜣螂种群时,则使用更新其位置的第二算法为:

输入:X

输出:X

1:[r1,r2,r3]=randperm(N,3);

2:[X

3:R=0.02×(1-t/T

4:if rand<0.7

5:

6:else

7:if rand<0.5

8:

9:else

10:X

11:end

12:end

13:返回X

其中

第二算法运行时,首先,初始化算法所需的变量。其次通过第1行与第2行在种群中选择三个随机个体。如果随机数rand小于0.7,使用第5行对个体位置进行更新;如果随机数rand不小于0.7,再判断随机数rand是否小于0.5,如果小于0.5则使用第8行进行位置更新,如果不小于0.5则使用第10行进行位置更新。最后输出更新后的位置。

具体而言,单个所述个体数据的rand值满足大于等于0.5且小于0.8时,该个体数据所属种群种类为滚球蜣螂种群时,若单个所述个体数据的rand值大于等于0.5且小于0.7,所述更新其位置的第一等式公式为:

X

ΔX=|X

t表示迭代次数,表示第t次迭代中第个蜣螂的位置,表示全局最差位置,表示当前个体与全局最差位置—模拟光照强度的变化情况,是取值为1或-1的常数,表示一个常数,为区间内的随机数,t模拟了太阳偏转过程;

若单个所述个体数据的rand值大于等于0.7,所述更新其位置的第三等式公式为:

X

其中θ取值为[0,π],在式中|X

具体而言,在单个所述个体数据的rand值小于0.8且该个体数据所属种群种类为孵蛋蜣螂种群时,使用更新其位置的第一算法为:

输入:最大迭代次数T

输出:第i只育婴蜣螂位置B

1:R=1-t/T

2:for i←1to n do

3:Update the brood ball’s position by using(4);

4:for j←1to D do

5:if B

6:B

7:end if

8:if B

9:B

10:end if

11:end for

12:end for。

具体而言,在单个所述个体数据的rand值小于0.8且该个体数据所属种群种类为小蜣螂种群时,使用更新其位置的第二等式为:

X

其中X

具体而言,在单个所述个体数据的rand值小于0.8且该个体数据所属种群种类为小偷蜣螂种群时,使用更新其位置的第四等式为:

X

其中X

为了使本发明的目的和优点更加清楚明白,下面结合实施例对本发明作进一步描述;应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。

实施例一

为了说明本发明的效果,在本实施例进行如下仿真实验,实验设计与测试函数:F1-F4试验问题的实验设置如表1所示,对于F5-f75测试问题,实验设置如表2所示。本发明基于Matlab2021a软件进行实验,计算机运行Windows 11操作系统,计算机内存16Gb,2.3GHz。将DGTDBO算法与天鹰优化器(AO)、阿基米德优化算法(AOA)、飞蛾扑火优化(MFO)、哈里斯鹰算法(HHO)、正弦余弦算法(SCA)、鲸鱼优化算法(WOA)、斑马优化算法(ZOA)、DBO算法在75个经典测试函数进行性能测试,其中算法参数如表3所示,测试函数集如表4。

表1 F1-F4函数上的试验设置

表2 F5-F75函数上的试验设置

表3算法参数说明

表4 75个测试函数

在本实施例中,DGTDBO与8种先进的优化算法在单峰型、多峰型、混合型和组合型75个测试函数上进行了比较,并对其均值、中位数和标准差进行了评价。单峰测试的结果评价指标函数如表7所示,等级和Fr iedman的测试结果如表8所示;多模态测试函数上的结果评价指标值如表9所示,等级和Friedman的测试结果见表10;混合测试函数评价指标的结果如表11所示,等级和Friedman的测试结果如表12所示的结果综合检验函数的评价指标见表13,rank检验和Friedman检验结果见表14。表中给出了基于均值法的平均排名,表的最后一行列出了Friedman检验的结果,“+”表示其他算法优于DGTDBO,“-”表示其他算法输给DGTDBO,“=”表示其他算法与DGTDBO没有显著差异。最后一行表示优于DGTDBO、不优于或与DGTDBO相同的其他算法的总数。从表7中可以看出,DGTDBO算法在所有七个单峰函数测试中都具有最佳值,从表8中可以看出,DGTDBO算法在所有七次单峰函数测试中都排名第一。在Friedman测试中,它们都优于其他算法,并且只有一个函数与DBO绑定。证明了DGTDBO在单峰测试函数中具有一定的优势。从表9可以看出,在测试的30个多模态函数中,DGTDBO算法在23个值中最优,在5个函数中排名第二,在1个函数中排名第八,在1个函数中排名第八,平均排名为1.4667,如表10所示。在Friedman测试中,有25个测试功能优于AO和AOA,有26个测试功能优于HHO和DBO,有23个测试功能优于MFO,有30个测试功能优于SCA,有28个测试功能优于WOA,有21个测试功能优于ZOA。证明了DGTDBO在多模态测试函数中具有一定的优势。

从表11可以看出,在测试的16个混合函数中,DGTDBO算法在14个值中最优,在一个函数中第二,在一个函数中第三。平均排名如表12所示,其中DGTDBO算法在测试的16个混合函数中的平均排名为1.1875。在Friedman测试中,它在16个测试功能上优于AO、SCA和WOA,在15个测试功能上优于HHO和AOA,在14个测试功能上优于MFO和ZOA,在13个测试功能上优于DBO。证明了DGTDBO在混合测试函数方面具有一定的优势。

从表13可以看出,在测试的22个组合函数中,DGTDBO算法在20个值中最优,在1个函数中第二,在1个函数中第四。从表14的平均排名可以看出,DGTDBO算法在22次混合函数测试中的平均排名为1.181818。在Friedman测试中,它在21个测试功能中优于AO、AOA、WOA和ZOA,在20个测试功能中优于HHO,在19个测试功能中优于MFO,在22个测试功能中优于SCA,在18个功能中优于DBO。证明了DGTDBO在测试函数合成方面具有一定的优势。

表7 F1与F7基准函数上个算法统计结果的比较

表8所有算法在F1-F7基准函数上的平均适应度结果总体排名

表9各算法在F8-F37基准函数上统计结果的比较

/>

/>

/>

表10所有算法在F8-F37基准函数上的平均适应度结果的总体排名

/>

表11各算法在F38-F53基准函数上的统计结果比较

/>

表12所有方法在F38-F53基准函数上的平均适应度结果总体排名

表13各算法在F54-F75基准函数上的统计结果比较

/>

表14所有方法在F54-F75基准函数上的平均适应度结果总体排名

/>

此外,还对DGTDBO算法与其他八种先进算法的收敛性和稳定性进行了比较研究测试函数包括单峰测试函数、多峰测试函数、混合测试函数和综合测试函数。从图4可以看出,DGTDBO具有更快的收敛速度和收敛精度,这是由于全局搜索和局部搜索的平衡。从图5可以看出,与其他8种算法相比,DGTDBO具有更好的算法稳定性、更高的收敛精度、更少的离群值和显著的性能提升。

实施例二

为了说明本发明的效果,本实施例进行工字梁设计优化仿真实验,本实施例所述工程优化问题的实验设置如所述表1所示。工字梁设计问题的目的是是梁的垂直挠度最小,如图4所示它同时满足给定载荷下截面积与应力约束。该问题的自变量有四个,分别为翼缘宽度b(x

目标函数如下:

约束为:

约束条件如下:

测试结果与分析:为了证明本发明将提出的DGTDBO算法的可行性,将DGTDBO算法与上文的对比算法放在一起进行工字梁的优化设计问题的求解。表15给出了DGTDBO与其它8中先进优化算法的比较结果,其中,DGTDBO具备解决工字梁设计问题的能力,同时其它算法也取得了不错的结果。

表15工字梁优化设计的最佳结果比较

实施例三

为了说明本发明的效果,本实施例进行压力/压缩弹簧的设计的仿真实验,本实施例所述压力/压缩弹簧的设计问题的实验设置如所述表1所示。压力/压缩弹簧的设计是以最小化张力/压缩弹簧的重量为目标的现实工程优化问题,如图5所示,其受最小挠度、剪切应力、浪涌频率、外径限制和设计变量的限制。本问题有三个设计变量,分别为平均线圈直径D(x

目标函数如下:

约束函数如下:

约束条件为:

测试结果与分析:为了进一步验证本发明将提出的DGTDBO算法的可行性和适用性,将DGTDBO算法与上文的对比算法放在一起进行压力/压缩弹簧的设计问题的求解。给出了DGTDBO与其它8中先进优化算法的比较结果,其中,DGTDBO、DBO、HHO为共同第一名,DGTDBO具备解决张力/压缩弹簧设计问题的能力,同时其它算法也取得了不错的结果。

表16压力/压缩弹簧优化设计最佳结果比较

综上所述,本发明提出的一种改进的DBO算法,通过引入差分策略和高斯混沌扰动策略对蜣螂优化算法的性能进行提升。首先在75个基准测试问题上进行评估,其中包含单模态、多模态、混合、合成四种类型。以检验所提出算法的适用性,然后将所提出的DGTDBO用于求解3个约束工程问题。在实验中,将所提出的DGTDBO与现有算法进行比较,结果验证了DGTDBO在收敛精度和收敛速度上得到提升,Firiedman检验也表明DGTDBO明显优于竞争对手,结果表明,所提出的DGTDBO有效的提高了原始蜣螂算法的种群多样性,同时兼顾开采性能。从而增强了算法的探索能力与局部搜索能力,并使全局探索与局部搜索达到平衡。

在未来的工作中,我们将引入代理模型到DGTDBO算法中,降低其真实函数评估成本,其次,使用DGTDBO算法求解多目标问题,协同优化问题。同时,将提出的自适应差分策略与高斯Tent混沌策略运用到计算智能中以克服多样性不足、全局搜索与局部搜索不平衡的问题。

至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。

以上所述仅为本发明的优选实施例,并不用于限制本发明;对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种基于AI云的GPU资源调度方法和装置
  • 一种基于粒子群优化算法的云资源调度方法
  • 一种基于蜣螂优化算法的边缘计算服务器放置方法
技术分类

06120116504724