文章目录

  • 一、理论基础
    • 1、人工兔优化算法
      • (1)绕道觅食(探索)
      • (2)随机躲藏(开发)
      • (3)能量收缩(从探索转向开发)
    • 2、ARO算法伪代码
  • 二、仿真实验与结果分析
    • 1、函数寻优
    • 2、工程优化
    • 3、WSN覆盖优化
  • 三、参考文献

一、理论基础

1、人工兔优化算法

文献[1]提出了一种新的生物启发的元启发式算法——人工兔子优化(Artificial rabbits optimization, ARO)算法,并进行了综合测试。ARO算法的灵感来源于自然界中兔子的生存策略,包括绕道觅食和随机躲藏。
ARO利用真实兔子的觅食和隐藏策略,通过能量收缩在两种策略之间转换。对数学模型进行了描述,并对所提出的ARO进行了概述。

(1)绕道觅食(探索)

如上所述,兔子觅食时,总是寻找远的,而忽略了近处的。它们只在其他区域随机吃草,而不是在自己的区域,把这种觅食行为称为绕道觅食。在ARO中,假设种群中的每只兔子都有自己的区域,有一些草和ddd个洞穴,兔子总是随机访问对方的位置觅食。实际上,当觅食时,兔子很可能会扰乱食物来源以获得足够的食物。因此,ARO的绕道觅食行为表明,每个搜索个体倾向于向种群中随机选择的另一个搜索个体更新自己的位置,并增加扰动。v→i(t+1)=x→j(t)+R⋅(x→i(t)−x→j(t))+round(0.5⋅(0.05+r1))⋅n1,i,j=1,⋯,nandj≠i(1)\overrightarrow v_i(t+1)=\overrightarrow x_j(t)+R\cdot(\overrightarrow x_i(t)-\overrightarrow x_j(t))+round(0.5\cdot(0.05+r_1))\cdot n_1,\\[2ex]i,j=1,\cdots,n\,\,\text{and}\,\,j\neq i\tag{1}vi​(t+1)=xj​(t)+R⋅(xi​(t)−xj​(t))+round(0.5⋅(0.05+r1​))⋅n1​,i,j=1,⋯,nandj=i(1)R=L⋅c(2)R=L\cdot c\tag{2}R=L⋅c(2)L=(e−e(t−1T)2)⋅sin⁡(2πr2)(3)L=(e-e^{(\frac{t-1}{T})^2})\cdot\sin(2\pi r_2)\tag{3}L=(e−e(Tt−1​)2)⋅sin(2πr2​)(3)c(k)={1,ifk==g(l)0,elsek=1,⋯,dandl=1,⋯,⌈r3⋅d⌉(4)c(k)=\begin{dcases}1,\quad\text{if}\,\,k==g(l)\\[2ex]0,\quad\text{else}\end{dcases}\quad k=1,\cdots,d\,\,\text{and}\,\,l=1,\cdots,\lceil r_3\cdot d\rceil\tag{4}c(k)=⎩⎨⎧​1,ifk==g(l)0,else​k=1,⋯,dandl=1,⋯,⌈r3​⋅d⌉(4)g=randperm(d)(5)g=randperm(d)\tag{5}g=randperm(d)(5)n1∼N(0,1)(6)n_1\sim N(0,1)\tag{6}n1​∼N(0,1)(6)其中,v→i(t+1)\overrightarrow v_i(t+1)vi​(t+1)是第t+1t+1t+1次迭代时第iii只兔子的候选位置;x→i(t)\overrightarrow x_i(t)xi​(t)是第ttt次迭代时第iii只兔子的当前位置;nnn是兔群的数量;ddd是问题的维度;TTT是最大迭代次数;⌈⋅⌉\lceil\cdot\rceil⌈⋅⌉是向上取整函数;roundroundround表示四舍五入;randperm(d)randperm(d)randperm(d)表示返回从1到ddd的整数的随机排列;r1,r2,r3r_1,r_2,r_3r1​,r2​,r3​均为(0,1)(0,1)(0,1)区间的随机数;LLL为奔跑动长度,代表绕行觅食时的运动速度;n1n_1n1​为服从标准正态分布的随机数。
在式(1)中,扰动可以帮助ARO避免局部极值,进行全局搜索。由式(3)可知,奔跑长度LLL在初始迭代时可以产生更长的步长,而这个长度可以在以后的迭代中生成更短的步骤。图1给出了LLL的动态变化,可以看出较长的步长有利于探索,较短的步长有利于开发。CCC是一个映射向量,它可以帮助算法在觅食行为中随机选择随机数量的搜索个体元素进行变异。RRR表示奔跑算子,用于模拟兔子的运行特性。

图1 LLL在1000次迭代中的动态行为

式(1)表示搜索个体根据彼此的位置进行随机的食物搜索。这种行为使一只兔子远离自己的区域,跑到其他兔子的区域。兔子这种不去自己窝而去别人窝的特殊觅食行为极大地促进了探索,保证了ARO算法的全局搜索能力。

(2)随机躲藏(开发)

为了躲避捕食者,兔子通常会在它的巢穴周围挖一些不同的洞穴来藏身。在ARO算法中,每一次迭代,一只兔子总是沿着搜索空间的每一个维度在它周围产生ddd个洞,并且总是从所有的洞中随机选择一个隐藏起来,以降低被捕食的概率。第iii只兔子的第jjj个洞穴由以下公式产生:b→i,j(t)=x→i(t)+H⋅g⋅x→i(t),i=1,⋯,nandj=1,⋯,d(7)\overrightarrow b_{i,j}(t)=\overrightarrow x_i(t)+H\cdot g\cdot\overrightarrow x_i(t),\quad i=1, \cdots,n\,\,\text{and}\,\,j=1,\cdots,d\tag{7}bi,j​(t)=xi​(t)+H⋅g⋅xi​(t),i=1,⋯,nandj=1,⋯,d(7)H=T−t+1T⋅r4(8)H=\frac{T-t+1}{T}\cdot r_4\tag{8}H=TT−t+1​⋅r4​(8)n2∼N(0,1)(9)n_2\sim N(0,1)\tag{9}n2​∼N(0,1)(9)g(k)={1,ifk==j0,elsek=1,⋯,d(10)g(k)=\begin{dcases}1,\quad\text{if}\,\,k==j\\[2ex]0,\quad\text{else}\end{dcases}\quad k=1,\cdots,d\tag{10}g(k)=⎩⎨⎧​1,ifk==j0,else​k=1,⋯,d(10)根据式(7),沿每个维度在兔子位置附近生成ddd个洞穴。其中,HHH是隐藏参数,在迭代过程中,随着随机扰动,隐藏参数从1线性减小到1/T1/T1/T。根据这个参数,最初这些洞穴是在兔子的一个更大的邻域中产生的。随着迭代次数的增加,这个邻域也会减少。
如上所述,兔子经常受到捕食者的追逐和攻击。为了生存,兔子需要找一个安全的地方躲起来。因此,它们被拒绝从洞穴中随机选择一个洞穴躲避,以免被抓住。为了对这种随机隐藏
策略进行数学建模,提出了以下公式:v→i(t+1)=x→i(t)+R⋅(r4⋅b→i,r(t)−x→i(t)),i=1,⋯,n(11)\overrightarrow v_i(t+1)=\overrightarrow x_i(t)+R\cdot(r_4\cdot \overrightarrow b_{i,r}(t)-\overrightarrow x_i(t)),\,\,i=1,\cdots,n\tag{11}vi​(t+1)=xi​(t)+R⋅(r4​⋅bi,r​(t)−xi​(t)),i=1,⋯,n(11)gr(k)={1,ifk==⌈r5⋅d⌉0,elsek=1,⋯,d(12)g_r(k)=\begin{dcases}1,\quad\text{if}\,\,k==\lceil{r_5\cdot d}\rceil\\[2ex]0,\quad\text{else}\end{dcases}\quad k=1,\cdots,d\tag{12}gr​(k)=⎩⎨⎧​1,ifk==⌈r5​⋅d⌉0,else​k=1,⋯,d(12)b→i,r(t)=x→i(t)+H⋅fr⋅x→i(t)(13)\overrightarrow b_{i,r}(t)=\overrightarrow x_i(t)+H\cdot f_r\cdot\overrightarrow x_i(t)\tag{13}bi,r​(t)=xi​(t)+H⋅fr​⋅xi​(t)(13)其中,b→i,r(t)\overrightarrow b_{i,r}(t)bi,r​(t)表示用于隐藏其ddd个洞穴而随机选择的洞穴;r4r_4r4​和r5r_5r5​为两个(0,1)(0,1)(0,1)范围内的随机数。根据式(11),第iii只搜索个体将尝试从其ddd个洞穴中向随机选择的洞穴更新其位置。
在实现绕道觅食和随机躲藏策略中的其中一个之后,兔子的位置更新为:x→i(t+1)={x→i(t),f(x→i(t))≤f(v→i(t+1))v→i(t+1),f(x→i(t))>f(v→i(t+1))(14)\overrightarrow x_i(t+1)=\begin{dcases}\overrightarrow x_i(t),\quad\quad\,\,\,\, f(\overrightarrow x_i(t))\leq f(\overrightarrow v_i(t+1))\\[2ex]\overrightarrow v_i(t+1),\quad f(\overrightarrow x_i(t))>f(\overrightarrow v_i(t+1))\end{dcases}\tag{14}xi​(t+1)=⎩⎨⎧​xi​(t),f(xi​(t))≤f(vi​(t+1))vi​(t+1),f(xi​(t))>f(vi​(t+1))​(14)该式表示,若兔子的候选位置的适应度比当前位置的适应度好,则兔子将放弃当前位置并更新为由式(1)或式(11)生成的候选位置。

(3)能量收缩(从探索转向开发)

在ARO算法中,兔子在迭代的初始阶段经常进行绕道觅食,而在迭代的后期则经常进行随机隐藏。这种搜索机制是由兔子的能量产生的,随着时间的推移,兔子的能量会逐渐减少。因此,设计了一个能量因子来模拟从探索到开发的转换过程。ARO中的能量因子定义如下:A(t)=4(1−tT)ln⁡1r(15)A(t)=4(1-\frac tT)\ln\frac 1r\tag{15}A(t)=4(1−Tt​)lnr1​(15)其中rrr为(0,1)(0,1)(0,1)中的随机数。图2描绘了能量因子的行为曲线。

图2 AAA在1000次迭代中的变化曲线

由此图可以看出,能量因子A(t)A(t)A(t)显示了在具有振荡幅度的迭代期间朝向零的下降趋势。能量因子值越大,说明兔子有足够的能量和体力绕行觅食。相反,能量因子的较小值表明兔子的身体活动较少,因此它需要随机隐藏。因此,在ARO中,当能量因子A(t)>1A(t)>1A(t)>1时,一只兔子在探索阶段容易随机探索不同兔子的区域觅食,因此发生绕行觅食;当能量因子A(t)≤1A(t)\leq1A(t)≤1时,兔子在挖掘阶段倾向于随机挖掘自己的洞穴,从而发生随机隐藏。根据能量因子AAA的大小,ARO可以在绕道觅食和随机躲藏之间切换。也就是说,当A(t)>1A(t)>1A(t)>1时进行探索,当A(t)≤1A(t)\leq1A(t)≤1时进行开发。

2、ARO算法伪代码

ARO算法伪代码如图3所示。

图3 ARO算法伪代码

二、仿真实验与结果分析

1、函数寻优

将ARO与PSO、ASO、DE、CS、GSA和ABC进行对比,以文献[1]中的F1、F5(单峰函数/30维)、F8、F10(多峰函数/30维)、F17、F21(固定维度多峰函数/2维、4维)为例,实验设置种群规模为30,最大迭代次数为1000,每种算法独立运算30次,结果显示如下:

函数:F1
ARO:最差值: 1.2933e-124, 最优值: 1.7066e-142, 平均值: 6.0484e-126, 标准差: 2.4649e-125, 秩和检验: 1
PSO:最差值: 34.5972, 最优值: 7.5922, 平均值: 16.4132, 标准差: 6.9343, 秩和检验: 3.0199e-11
ASO:最差值: 1.4008e-20, 最优值: 2.9626e-22, 平均值: 2.1165e-21, 标准差: 2.8623e-21, 秩和检验: 3.0199e-11
DE:最差值: 7.6294e-53, 最优值: 3.9227e-59, 平均值: 4.7707e-54, 标准差: 1.4386e-53, 秩和检验: 3.0199e-11
CS:最差值: 0.022696, 最优值: 0.0046311, 平均值: 0.0092716, 标准差: 0.0039968, 秩和检验: 3.0199e-11
GSA:最差值: 3.0924e-17, 最优值: 1.121e-17, 平均值: 1.9759e-17, 标准差: 5.2646e-18, 秩和检验: 3.0199e-11
ABC:最差值: 0.00054954, 最优值: 0.00013377, 平均值: 0.00026767, 标准差: 0.00012954, 秩和检验: 3.0199e-11
函数:F5
ARO:最差值: 0.01517, 最优值: 0.00015816, 平均值: 0.0034286, 标准差: 0.003949, 秩和检验: 1
PSO:最差值: 2452.0185, 最优值: 237.9149, 平均值: 677.8587, 标准差: 576.5802, 秩和检验: 3.0199e-11
ASO:最差值: 25.5852, 最优值: 24.8179, 平均值: 25.0664, 标准差: 0.17196, 秩和检验: 3.0199e-11
DE:最差值: 89.8779, 最优值: 0.17951, 平均值: 20.6207, 标准差: 22.1468, 秩和检验: 3.0199e-11
CS:最差值: 104.941, 最优值: 29.7919, 平均值: 38.1397, 标准差: 14.0258, 秩和检验: 3.0199e-11
GSA:最差值: 90.0407, 最优值: 25.7441, 平均值: 28.1961, 标准差: 11.6818, 秩和检验: 3.0199e-11
ABC:最差值: 2263.3743, 最优值: 292.6948, 平均值: 734.4835, 标准差: 393.841, 秩和检验: 3.0199e-11
函数:F8
ARO:最差值: -10457.2142, 最优值: -11974.7985, 平均值: -11270.4034, 标准差: 364.8702, 秩和检验: 1
PSO:最差值: -5222.2754, 最优值: -8428.7308, 平均值: -6270.3404, 标准差: 725.2895, 秩和检验: 3.0199e-11
ASO:最差值: -6350.4298, 最优值: -8621.4135, 平均值: -7202.3777, 标准差: 523.487, 秩和检验: 3.0199e-11
DE:最差值: -8635.1426, 最优值: -11183.1494, 平均值: -10109.5804, 标准差: 560.1893, 秩和检验: 2.1544e-10
CS:最差值: -8245.7826, 最优值: -9123.8178, 平均值: -8665.7765, 标准差: 228.514, 秩和检验: 3.0199e-11
GSA:最差值: -1952.0349, 最优值: -3866.4738, 平均值: -2861.8378, 标准差: 443.5779, 秩和检验: 3.0199e-11
ABC:最差值: -4907.6673, 最优值: -6454.6394, 平均值: -5458.4335, 标准差: 400.0412, 秩和检验: 3.0199e-11
函数:F10
ARO:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0, 秩和检验: NaN
PSO:最差值: 3.9117, 最优值: 2.3174, 平均值: 3.0862, 标准差: 0.36186, 秩和检验: 1.2118e-12
ASO:最差值: 1.7855e-10, 最优值: 1.3388e-11, 平均值: 3.7805e-11, 标准差: 3.6355e-11, 秩和检验: 1.2118e-12
DE:最差值: 3.3439, 最优值: 1.5099e-14, 平均值: 1.2086, 标准差: 0.92587, 秩和检验: 1.1921e-12
CS:最差值: 10.5778, 最优值: 2.1249, 平均值: 4.1535, 标准差: 2.0039, 秩和检验: 1.2118e-12
GSA:最差值: 4.1634e-09, 最优值: 2.6102e-09, 平均值: 3.4337e-09, 标准差: 4.1477e-10, 秩和检验: 1.2118e-12
ABC:最差值: 0.0085619, 最优值: 0.0029254, 平均值: 0.0052892, 标准差: 0.0014269, 秩和检验: 1.2118e-12
函数:F17
ARO:最差值: 0.39789, 最优值: 0.39789, 平均值: 0.39789, 标准差: 0, 秩和检验: NaN
PSO:最差值: 0.39789, 最优值: 0.39789, 平均值: 0.39789, 标准差: 2.4038e-07, 秩和检验: 1.2118e-12
ASO:最差值: 0.39789, 最优值: 0.39789, 平均值: 0.39789, 标准差: 0, 秩和检验: NaN
DE:最差值: 0.39789, 最优值: 0.39789, 平均值: 0.39789, 标准差: 0, 秩和检验: NaN
CS:最差值: 0.39789, 最优值: 0.39789, 平均值: 0.39789, 标准差: 0, 秩和检验: NaN
GSA:最差值: 0.39789, 最优值: 0.39789, 平均值: 0.39789, 标准差: 0, 秩和检验: NaN
ABC:最差值: 0.39789, 最优值: 0.39789, 平均值: 0.39789, 标准差: 0, 秩和检验: NaN
函数:F21
ARO:最差值: -10.1532, 最优值: -10.1532, 平均值: -10.1532, 标准差: 7.0129e-15, 秩和检验: 1
PSO:最差值: -2.6305, 最优值: -10.1532, 平均值: -7.0521, 标准差: 3.2734, 秩和检验: 4.0806e-12
ASO:最差值: -5.0923, 最优值: -10.1532, 平均值: -9.4226, 标准差: 1.6452, 秩和检验: 0.12986
DE:最差值: -2.6305, 最优值: -10.1532, 平均值: -5.1363, 标准差: 3.006, 秩和检验: 2.6689e-08
CS:最差值: -10.1532, 最优值: -10.1532, 平均值: -10.1532, 标准差: 2.2072e-13, 秩和检验: 1.1167e-09
GSA:最差值: -2.6829, 最优值: -5.0552, 平均值: -4.897, 标准差: 0.60188, 秩和检验: 1.9431e-13
ABC:最差值: -10.1532, 最优值: -10.1532, 平均值: -10.1532, 标准差: 2.5438e-12, 秩和检验: 3.1019e-07

实验结果验证了ARO算法的有效性。

2、工程优化

以文献[1]中的压力容器设计、滚动轴承设计、压缩弹簧设计、悬臂梁设计和轮系设计为例,将ARO与PSO、ASO、DE、CS和GSA进行对比,实验设置种群规模为30,最大迭代次数为1000,每种算法独立运算30次,结果显示如下:

工程问题:Pressure vessel design
ARO:最差值: 5888.1749, 最优值: 5885.3328, 平均值: 5885.5104, 标准差: 0.54682, 秩和检验: 1
PSO:最差值: 7594.1848, 最优值: 5997.3246, 平均值: 6525.0236, 标准差: 399.9751, 秩和检验: 3.0199e-11
ASO:最差值: 26977.8945, 最优值: 6228.4578, 平均值: 10105.5447, 标准差: 4300.2392, 秩和检验: 3.0199e-11
DE:最差值: 5922.3785, 最优值: 5885.3328, 平均值: 5886.5766, 标准差: 6.7621, 秩和检验: 1.0579e-07
CS:最差值: 5924.0258, 最优值: 5885.346, 平均值: 5887.6696, 标准差: 8.2668, 秩和检验: 7.7387e-06
GSA:最差值: 143864.5793, 最优值: 6268.562, 平均值: 33367.3954, 标准差: 36582.3436, 秩和检验: 3.0199e-11
工程问题:Rolling element bearing design
ARO:最差值: -77455.4744, 最优值: -85549.2391, 平均值: -84647.3213, 标准差: 2490.1826, 秩和检验: 1
PSO:最差值: -72779.7766, 最优值: -85466.1226, 平均值: -84095.074, 标准差: 2145.1507, 秩和检验: 8.1975e-07
ASO:最差值: -63143.7578, 最优值: -79535.4725, 平均值: -72652.1486, 标准差: 3998.2788, 秩和检验: 9.9186e-11
DE:最差值: -77455.539, 最优值: -85549.2391, 平均值: -85243.134, 标准差: 1484.2144, 秩和检验: 6.2351e-10
CS:最差值: 10000000000, 最优值: -85547.4526, 平均值: 333251208.1921, 标准差: 1825757369.3136, 秩和检验: 7.5991e-07
GSA:最差值: -83029.7514, 最优值: -85549.0216, 平均值: -84936.5492, 标准差: 923.9847, 秩和检验: 1.1073e-06
工程问题:Tension/compression spring design
ARO:最差值: 0.012727, 最优值: 0.012666, 平均值: 0.012681, 标准差: 1.9917e-05, 秩和检验: 1
PSO:最差值: 0.013297, 最优值: 0.012688, 平均值: 0.012832, 标准差: 0.00015046, 秩和检验: 4.6006e-10
ASO:最差值: 0.01975, 最优值: 0.012886, 平均值: 0.016091, 标准差: 0.0016903, 秩和检验: 3.0085e-11
DE:最差值: 0.014182, 最优值: 0.012666, 平均值: 0.013042, 标准差: 0.00045844, 秩和检验: 2.8139e-06
CS:最差值: 0.013504, 最优值: 0.01267, 平均值: 0.012783, 标准差: 0.00019201, 秩和检验: 8.6517e-05
GSA:最差值: 0.013308, 最优值: 0.012719, 平均值: 0.013181, 标准差: 8.9634e-05, 秩和检验: 4.4877e-11
工程问题:Cantilever beam design
ARO:最差值: 1.34, 最优值: 1.34, 平均值: 1.34, 标准差: 3.7648e-06, 秩和检验: 1
PSO:最差值: 1.3795, 最优值: 1.3449, 平均值: 1.364, 标准差: 0.0079398, 秩和检验: 3.0199e-11
ASO:最差值: 1.341, 最优值: 1.34, 平均值: 1.3404, 标准差: 0.00033041, 秩和检验: 3.0199e-11
DE:最差值: 1.34, 最优值: 1.34, 平均值: 1.34, 标准差: 2.7135e-10, 秩和检验: 3.0199e-11
CS:最差值: 1.34, 最优值: 1.34, 平均值: 1.34, 标准差: 5.1066e-07, 秩和检验: 0.81875
GSA:最差值: 1.674, 最优值: 1.34, 平均值: 1.3517, 标准差: 0.060887, 秩和检验: 3.0199e-11
工程问题:Gear train design
ARO:最差值: 9.7457e-10, 最优值: 2.7009e-12, 平均值: 9.6592e-11, 标准差: 2.5016e-10, 秩和检验: 1
PSO:最差值: 2.3576e-09, 最优值: 2.7009e-12, 平均值: 6.966e-10, 标准差: 7.3422e-10, 秩和检验: 3.2457e-05
ASO:最差值: 2.3576e-09, 最优值: 2.7009e-12, 平均值: 3.6445e-10, 标准差: 7.346e-10, 秩和检验: 0.0014898
DE:最差值: 2.7265e-08, 最优值: 2.7009e-12, 平均值: 3.2168e-09, 标准差: 6.7539e-09, 秩和检验: 1.3881e-08
CS:最差值: 1.545e-10, 最优值: 2.7009e-12, 平均值: 2.895e-11, 标准差: 3.8353e-11, 秩和检验: 0.41015
GSA:最差值: 2.3576e-09, 最优值: 2.7009e-12, 平均值: 4.7251e-10, 标准差: 6.7742e-10, 秩和检验: 0.0013976

实验结果表明ARO算法在解决具有挑战性的现实问题方面的实用性。

3、WSN覆盖优化

本文采用0/1模型,节点覆盖模型请参考这里。设监测区域为50m×50m50m×50m50m×50m的二维平面,传感器节点个数N=35N=35N=35,其感知半径是Rs​​​=5mR_s​​​=5mRs​​​​=5m,通信半径Rc​​​=10mR_c​​​=10mRc​​​​=10m,迭代500次。初始部署、ARO优化覆盖、ARO算法覆盖率进化曲线如下图所示:
初始部署和最终部署的节点位置及对应的覆盖率分别为:

初始位置:
31.4748     11.2146
23.9431     23.5112
31.0166     0.3273
31.0316     48.5781
28.4673     47.2761
7.3743     32.9884
45.4882     31.436
14.7936     19.8329
14.1846     11.1916
43.0978     37.7721
39.3979     2.7879
29.8927     2.9313
14.2862     4.9362
35.0117     9.4173
14.218     43.9523
42.9201     28.1505
0.23199     47.6565
6.064     11.0589
28.2615     40.6977
7.6682     28.2198
26.9159     34.019
39.3724     23.6436
36.0538     28.9689
30.3481     30.5626
9.2909     45.7599
17.3965     18.7959
32.5701     16.9282
22.5339     0.56742
11.8142     38.391
12.8039     31.9445
19.1933     39.952
5.7481     25.86
34.814     49.0921
44.5867     13.8932
37.5017     41.0803
初始覆盖率:0.7005
最优位置:
26.0646     45.6736
38.4488     4.0882
16.3531     46.5937
4.6929     35.3527
32.9811     3.9377
16.2045     30.48
3.9112     16.482
10.3972     25.6408
33.3386     32.3004
25.2602     14.6226
23.8404     28.9474
41.825     17.2845
36.273     45.4234
46.5183     43.5497
28.8666     23.5399
2.917     5.5029
25.4842     36.8674
19.4799     21.7107
8.2107     44.6002
10.7675     4.4481
37.7189     10.5793
25.7781     4.3548
39.2898     37.5639
19.6147     11.7725
17.6498     3.4143
45.4632     4.2566
38.0471     25.4093
46.6326     13.3912
2.1077     26.5077
45.7382     30.5795
15.4705     37.9362
12.3347     15.4176
31.0325     13.3565
36.5696     21.7426
48.3729     22.6874
最优覆盖率:0.89235

实验结果表明:ARO算法实现了较高的网络覆盖率,节点分布更加均匀,覆盖盲区和感知范围重叠区面积更少,可以验证ARO算法的有效性。

三、参考文献

[1] Liying Wang, Qingjiao Cao, Zhenxing Zhang, et al. Artificial rabbits optimization: A new bio-inspired meta-heuristic algorithm for solving engineering optimization problems[J]. Engineering Applications of Artificial Intelligence, 2022, 114: 105082.

基于人工兔优化算法的函数寻优和工程优化相关推荐

  1. 基于人工蜂鸟算法的函数寻优及工程优化应用

    文章目录 一.理论基础 1.人工蜂鸟算法 (1)初始化 (2)引导觅食 (3)区域性觅食 (4)迁徙觅食 2.AHA伪代码 二.仿真实验与分析 1.函数测试与数值分析 2.求解压缩弹簧设计优化问题 3 ...

  2. 基于向量加权平均算法的函数寻优和工程优化

    文章目录 一.理论基础 1.向量加权平均算法 (1)更新规则阶段 (2)向量合并阶段 (3)局部搜索阶段 2.INFO算法伪代码 二.仿真实验与分析 1.函数优化 2.工程优化 三.参考文献 一.理论 ...

  3. 粒子群算法中的罚函数matlab,第18章基于罚函数的粒子群算法的函数寻优范例.ppt...

    第十八章 MATLAB优化算法案例分析与应用 第18章 基于罚函数的粒子群算法的函数寻优 第十八章 MATLAB优化算法案例分析与应用 18.1 粒子群算法概述 自20世纪50年代中期创立了仿生学,许 ...

  4. 基于火鹰优化算法的函数寻优算法

    文章目录 一.理论基础 1.火鹰优化算法 2.FHO算法伪代码 二.仿真实验与结果分析 三.参考文献 一.理论基础 1.火鹰优化算法 文献[1]提出了火鹰优化算法(Fire Hawk Optimize ...

  5. 简单粒子群优化算法的函数寻优

    原文链接:http://blog.csdn.net/on2way/article/details/44699223 一:关于粒子群算法 粒子群算法是一种智能优化算法.关于智能,个人理解,不过是在枚举法 ...

  6. 基于人工大猩猩部队优化算法的函数寻优算法

    文章目录 一.理论基础 1.人工大猩猩部队优化算法(GTO) 1.1 探索阶段 1.2 开发阶段 1.2.1 跟随银背大猩猩 1.2.2 竞争成年雌性 2.GTO算法伪代码 二.仿真实验与分析 1.函 ...

  7. 基于沙猫群优化算法的函数寻优算法

    文章目录 一.理论基础 1.沙猫群优化算法 (1)初始化种群 (2)搜索猎物(探索) (3)攻击猎物(开发) (4)探索和开发 2.SCSO算法伪代码 二.仿真实验与结果分析 三.参考文献 一.理论基 ...

  8. 基于蜉蝣优化算法的函数寻优算法

    文章目录 一.理论基础 1.蜉蝣优化算法 (1)雄性蜉蝣的更新 (2)雌性蜉蝣的更新 (3)蜉蝣的交配过程 2.MA算法伪代码 二.仿真实验与结果分析 1.函数测试与数值分析 2.WSN三维覆盖优化 ...

  9. 基于金豺优化算法的函数寻优算法

    文章目录 一.理论基础 1.金豺优化算法 (1)搜索空间公式 (2)探索阶段或搜索猎物 (3)开发阶段或围捕和突袭猎物 (4)从探索转向开发 2.GJO伪代码 二.仿真实验与结果分析 三.参考文献 一 ...

最新文章

  1. maven生命周期理解
  2. JavaScript 的使用简单总结
  3. java堆设置成多少合适_jvm~xmx设置多少合适
  4. 安全专家教你如何利用Uber系统漏洞无限制的免费乘坐?
  5. ++操作你还在使用加锁去保证线程的安全吗?确定不了解一下CAS机制?
  6. CCCC-GPLT L2-019. 悄悄关注 团体程序设计天梯赛
  7. SQL的一个排序的问题
  8. 计算机职业规划范文300字,我的职业生涯规划,300字
  9. 2021年全国高德地图数据下载
  10. 微软雅黑和consolas混合字体_未经授权使用“微软雅黑”,赔垮一家公司?方正辟谣了,但这事还是很危险...
  11. Unity5.x 灯光烘焙GI和LightingMap
  12. 故宫景点功课5:中和殿和保和殿
  13. 【iOS】高德地图SDK的详细使用
  14. 使用jquery的bind来检测textarea,input等的文本变化
  15. 运动控制器用c语言怎么编程,三菱运动控制器:Q173HCPU(N)/Q172HCPU(N)系列
  16. 程序员的自我修养 --- 热爱、分享与梦(本人简历及开源社区贡献)
  17. php遍历windows下中文目录下的所有文件名
  18. 用DriverBackUp备份了文件 装好系统后怎么把备份的驱动文件还原
  19. rk3128-android5.1-ota升级清除data分区
  20. vite2+eslint+prettier,解决VSCode保存时候自动格式化,导致ESLint报冲突

热门文章

  1. LR---Loadrunner11破解方法
  2. 在产品中,我们常说的A端/B端/C端是什么?
  3. centos挂载u盘只读_解决CentOS自动挂载U盘/SD Card被识别为只读文件系统
  4. 计算机专业英语辅音字母缩略,英语缩写规则
  5. 如何做好项目管理,实现高效的项目管理?
  6. Python编程:从入门到实践(基础知识)
  7. Twitter Storm: DRPC学习
  8. 流水作业调度(动态规划)
  9. SHELL对接国际验证码接口
  10. RMQ与SparseTable(ST表)