基于野狗优化算法的函数寻优算法

一、理论基础

野狗优化算法(Dingo Optimization Algorithm, DOA)模仿澳大利亚野狗的社交行为。DOA算法的灵感来源于野狗的狩猎策略,即迫害攻击、分组策略和食腐行为。为了提高该方法的整体效率和性能,在DOA中制定了三种与四条规则相关联的搜索策略,这些策略和规则在搜索空间的强化(开发)和多样化(探索)之间提供了一种精确的平衡。
野狗种群随机初始化如式(1)所示: x → i = l b i + r a n d i ( u b i − l b i ) (1) \overrightarrow x_i=lb_i+rand_i(ub_i-lb_i)\tag{1} x i=lbi+randi(ubilbi)(1)其中, l b i lb_i lbi u b i ub_i ubi分别表示个体 x → i \overrightarrow x_i x i的下界和上界, r a n d i rand_i randi [ 0 , 1 ] [0,1] [0,1]之间均匀生成的随机数。

1、策略一:集体攻击

捕食者通常使用高度智能的狩猎技术,野狗通常单独捕食小猎物,如兔子,但当捕食大猎物,如袋鼠时,它们会成群结队。野狗能找到猎物的位置并将其包围,其行为如式(1)所示: x → i ( t + 1 ) = β 1 ∑ k = 1 n a [ φ k ( t ) → − x → i ( t ) ] n a − x ∗ → ( t ) (2) \overrightarrow x_i(t+1)=\beta_1\sum_{k=1}^{na}\frac{[\overrightarrow{\varphi_k(t)}-\overrightarrow x_i(t)]}{na}-\overrightarrow{x_*}(t)\tag{2} x i(t+1)=β1k=1nana[φk(t) x i(t)]x (t)(2)其中, x → i ( t + 1 ) \overrightarrow x_i(t+1) x i(t+1)是搜索代理的新位置(表示野狗的移动); n a na na是在 [ 2 , SizePop / 2 ] [2,\text{SizePop}/2] [2,SizePop/2]的逆序中生成的随机整数,其中 SizePop \text{SizePop} SizePop是野狗种群的规模; φ k ( t ) → \overrightarrow{\varphi_k(t)} φk(t) 是搜索代理(将攻击的野狗)的子集,其中 φ ⊂ X \varphi\subset X φX X X X是随机生成的野狗种群; x → i ( t ) \overrightarrow x_i(t) x i(t)是当前搜索代理; x ∗ → ( t ) \overrightarrow{x_*}(t) x (t)是上一次迭代中发现的最佳搜索代理; β 1 \beta_1 β1是在 [ − 2 , 2 ] [-2,2] [2,2]内均匀生成的随机数,它是一个比例因子,可改变野狗轨迹的大小。野狗集体攻击行为伪代码如算法1所示。
在这里插入图片描述

算法1 集体攻击行为

2、策略二:迫害

野狗通常捕猎小猎物,直到单独捕获为止。式(2)模拟了这种行为: x → i ( t + 1 ) = x → ∗ ( t ) + β 1 ∗ e β 2 ∗ ( x → r 1 ( t ) − x → i ( t ) ) (3) \overrightarrow x_i(t+1)=\overrightarrow x_*(t)+\beta_1*e^{\beta_2}*\left(\overrightarrow x_{r_1}(t)-\overrightarrow x_i(t)\right)\tag{3} x i(t+1)=x (t)+β1eβ2(x r1(t)x i(t))(3)其中, x → t + 1 \overrightarrow x_{t+1} x t+1表示野狗的运动, x → i ( t ) \overrightarrow x_i(t) x i(t)是当前搜索代理, x → ∗ ( t ) \overrightarrow x_*(t) x (t)是上一次迭代中找到的最佳搜索代理, β 1 \beta_1 β1的值与式(2)中的值相同, β 2 \beta_2 β2是在 [ − 1 , 1 ] [−1,1] [1,1]区间内均匀生成的随机数, r 1 r_1 r1是在从1到最大搜索代理(野狗)大小的区间内生成的随机数, x → r 1 ( t ) \overrightarrow x_{r_1}(t) x r1(t)是随机选择的第 r 1 r_1 r1个搜索代理,其中 i ≠ r 1 i\neq r1 i=r1
式(3)用于表示野狗在捕猎猎物时的轨迹。

3、策略三:食腐

食腐动物的行为被定义为当野狗在它们的栖息地随意行走时找到腐肉吃的行为。式(4)用于模拟这种行为: x → i ( t + 1 ) = 1 2 [ e β 2 ∗ x → r 1 ( t ) − ( − 1 ) σ ∗ x → i ( t ) ] (4) \overrightarrow x_i(t+1)=\frac12\left[e^{\beta_2}*\overrightarrow x_{r_1}(t)-(-1)^\sigma*\overrightarrow x_i(t)\right]\tag{4} x i(t+1)=21[eβ2x r1(t)(1)σx i(t)](4)其中, x → t + 1 \overrightarrow x_{t+1} x t+1表示野狗的移动, β 2 \beta_2 β2的值与式(3)中的值相同, r 1 r_1 r1是在1到最大搜索代理(野狗种群)大小的间隔内生成的随机数, x → r 1 ( t ) \overrightarrow x_{r_1}(t) x r1(t)是随机选择的第 r 1 r_1 r1个搜索代理, x → i ( t ) \overrightarrow x_i(t) x i(t)是当前搜索代理,其中 i ≠ r 1 i≠r_1 i=r1 σ \sigma σ是算法2随机生成的二进制数, σ ∈ { 0 , 1 } \sigma\in\{0,1\} σ{0,1}
在这里插入图片描述

算法2 σ \sigma σ计算过程

4、策略四:野狗的存活率

澳大利亚野狗面临灭绝的危险,主要是因为非法狩猎。在DOA中,野狗的存活率值由式(5)给出: survival ( i ) = fitness max ⁡ − fitness ( i ) fitness max ⁡ − fitness min ⁡ (5) \text{survival}(i)=\frac{\text{fitness}_{\max}-\text{fitness}(i)}{\text{fitness}_{\max}-\text{fitness}_{\min}}\tag{5} survival(i)=fitnessmaxfitnessminfitnessmaxfitness(i)(5)其中, fitness max ⁡ \text{fitness}_{\max} fitnessmax fitness min ⁡ \text{fitness}_{\min} fitnessmin分别是当前一代中最差和最佳的适应度值,而 fitness ( i ) \text{fitness}(i) fitness(i)是第 i i i个搜索代理的当前适应度值。式(5)中的生存向量包含 [ 0 , 1 ] [0,1] [0,1]区间内的归一化适应度。式(6)通过算法3应用于低生存率,例如,生存率值等于或小于0.3。 x → i ( t ) = x → ∗ ( t ) + 1 2 [ x → r 1 ( t ) − ( − 1 ) σ ∗ x → r 2 ( t ) ] (6) \overrightarrow x_i(t)=\overrightarrow x_*(t)+\frac12\left[\overrightarrow x_{r_1}(t)-(-1)^\sigma*\overrightarrow x_{r_2}(t)\right]\tag{6} x i(t)=x (t)+21[x r1(t)(1)σx r2(t)](6)其中, x → i ( t ) \overrightarrow x_i(t) x i(t)是将被更新的生存率较低的搜索代理, r 1 r_1 r1 r 2 r_2 r2是在从1到搜索代理(野狗种群)的最大大小的区间内生成的随机数, r 1 ≠ r 2 r_1≠r_2 r1=r2 x → r 1 ( t ) \overrightarrow x_{r_1}(t) x r1(t) x → r 2 ( t ) \overrightarrow x_{r_2}(t) x r2(t)是随机选择的第 r 1 r_1 r1 r 2 r_2 r2个搜索代理, x → ∗ ( t ) \overrightarrow x_{*}(t) x (t)是上一次迭代中找到的最佳搜索代理, σ \sigma σ是算法2中随机生成的二进制数, σ ∈ { 0 , 1 } \sigma\in\{0,1\} σ{0,1}。注意,式(6)是向量的加法或减法,由 σ \sigma σ的随机值定义。
在这里插入图片描述

算法3 存活过程

5、DOA伪代码

DOA的伪代码在算法4中给出,而整体流程如图1所示。
在这里插入图片描述

算法4 DOA伪代码

在这里插入图片描述
图1 DOA流程图

二、实验仿真与分析

将DOA与DE、WOA、GSA和GWO进行对比,设置种群规模为30,最大迭代次数为500,每个算法独立运行30次,以文献[1]中F4、F7(单峰函数/30维)、F10、F11(多峰函数/30维)、F22、F23(固定维度多峰函数/4维、4维)为例,结果显示如下:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

函数:F4
DE:最差值: 14.808, 最优值: 8.9991, 平均值: 11.235, 标准差: 1.3666, 秩和检验: 3.0199e-11
WOA:最差值: 87.1303, 最优值: 0.0053179, 平均值: 50.5426, 标准差: 28.3815, 秩和检验: 3.0199e-11
GSA:最差值: 10.3283, 最优值: 3.357, 平均值: 6.6449, 标准差: 1.6678, 秩和检验: 3.0199e-11
GWO:最差值: 2.6592e-06, 最优值: 5.9891e-08, 平均值: 7.0639e-07, 标准差: 6.8762e-07, 秩和检验: 3.0199e-11
DOA:最差值: 8.1677e-35, 最优值: 1.9639e-250, 平均值: 2.7226e-36, 标准差: 1.4912e-35, 秩和检验: 1
函数:F7
DE:最差值: 0.16163, 最优值: 0.069493, 平均值: 0.12353, 标准差: 0.026683, 秩和检验: 3.0199e-11
WOA:最差值: 0.0069934, 最优值: 7.6901e-05, 平均值: 0.0020844, 标准差: 0.0018921, 秩和检验: 2.3768e-07
GSA:最差值: 9.084, 最优值: 0.046226, 平均值: 0.87199, 标准差: 1.796, 秩和检验: 3.0199e-11
GWO:最差值: 0.0038269, 最优值: 0.00053595, 平均值: 0.0022598, 标准差: 0.00090528, 秩和检验: 8.891e-10
DOA:最差值: 0.0062926, 最优值: 5.1544e-06, 平均值: 0.00040989, 标准差: 0.0011297, 秩和检验: 1
函数:F10
DE:最差值: 0.0074158, 最优值: 0.0032897, 平均值: 0.0045297, 标准差: 0.001097, 秩和检验: 3.1507e-12
WOA:最差值: 7.9936e-15, 最优值: 8.8818e-16, 平均值: 4.0856e-15, 标准差: 2.5294e-15, 秩和检验: 2.1919e-06
GSA:最差值: 1.1551, 最优值: 7.4163e-09, 平均值: 0.038505, 标准差: 0.2109, 秩和检验: 3.1507e-12
GWO:最差值: 1.3234e-13, 最优值: 7.5495e-14, 平均值: 1.0261e-13, 标准差: 1.3791e-14, 秩和检验: 2.8541e-12
DOA:最差值: 4.4409e-15, 最优值: 8.8818e-16, 平均值: 1.2434e-15, 标准差: 1.084e-15, 秩和检验: 1
函数:F11
DE:最差值: 0.033245, 最优值: 0.00051667, 平均值: 0.0045107, 标准差: 0.0072221, 秩和检验: 1.2118e-12
WOA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
GSA:最差值: 48.7711, 最优值: 16.3188, 平均值: 29.3579, 标准差: 8.1948, 秩和检验: 1.2118e-12
GWO:最差值: 0.025852, 最优值: 0, 平均值: 0.0036119, 标准差: 0.007229, 秩和检验: 0.0055843
DOA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
函数:F22
DE:最差值: -9.9787, 最优值: -10.4029, 平均值: -10.3877, 标准差: 0.077343, 秩和检验: 0.017624
WOA:最差值: -1.8326, 最优值: -10.4016, 平均值: -6.7664, 标准差: 3.3648, 秩和检验: 0.092936
GSA:最差值: -2.7519, 最优值: -10.4029, 平均值: -7.8446, 标准差: 2.8129, 秩和检验: 0.21341
GWO:最差值: -10.3991, 最优值: -10.4025, 平均值: -10.4013, 标准差: 0.00084789, 秩和检验: 0.076906
DOA:最差值: -2.6881, 最优值: -10.4029, 平均值: -7.1985, 标准差: 3.0894, 秩和检验: 1
函数:F23
DE:最差值: -10.5327, 最优值: -10.5364, 平均值: -10.5363, 标准差: 0.00067011, 秩和检验: 0.97561
WOA:最差值: -1.6706, 最优值: -10.5352, 平均值: -7.3224, 标准差: 3.3841, 秩和检验: 0.00018236
GSA:最差值: -5.1285, 最优值: -10.5364, 平均值: -8.0127, 标准差: 2.7441, 秩和检验: 0.12518
GWO:最差值: -10.5327, 最优值: -10.5364, 平均值: -10.5346, 标准差: 0.0010471, 秩和检验: 0.026113
DOA:最差值: -2.4217, 最优值: -10.5364, 平均值: -8.7653, 标准差: 3.0498, 秩和检验: 1

结果表明,DOA与其余4种算法相比,具有更快的收敛速度、更高的收敛精度以及更强的稳定性。

三、参考文献

[1] Hernán Peraza-Vázquez, Adrián F. Peña-Delgado, Gustavo Echavarría-Castillo, et al. A Bio-Inspired Method for Engineering Design Optimization Inspired by Dingoes Hunting Strategies[J]. Mathematical Problems in Engineering, 2021, 2021: 9107547.

  • 2
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论
基于野狗优化的机器人路径规划算法是一种基于野狗群体行为的优化算法,用于解决机器人路径规划问题。下面是该算法的基本思想和步骤: 1. 问题建模:将机器人路径规划问题转化为数学模型,定义目标函数和约束条件。目标函数可以是路径长度最短、时间最短、能耗最低等,约束条件可以包括避开障碍物、遵守限制速度等。 2. 野狗群体初始化:随机生成一定数量的野狗个体,每个个体表示一种路径规划方案。每个个体包含表示路径的一组状态或坐标。 3. 适应度评估:根据目标函数和约束条件,评估每个野狗个体的适应度,即衡量其路径规划方案的优劣程度。 4. 野狗移动:根据野狗群体中个体的适应度,通过模拟野狗的行为进行移动。每个野狗个体都会根据当前的位置和适应度,选择移动到下一个位置。 5. 适应度更新:根据野狗移动后的新位置,重新评估各个个体的适应度,并更新最优路径。 6. 终止条件:根据预设的终止条件(如达到最大迭代次数、适应度达到要求等),判断是否终止算法。 7. 最优路径提取:在算法终止后,选择适应度最好的个体作为最优路径规划方案,并提取其中的路径。 8. 可选的后处理:对最优路径进行后处理,如平滑路径、优化路径等,以得到更优的机器人路径规划结果。 需要注意的是,野狗优化算法中的野狗个体移动过程可以通过调整位置或状态来实现,具体实现方式可以根据具体问题进行设计。此外,优化算法的性能还受到参数设置、种群大小等因素的影响,需要进行合理调整和实验验证。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心️升明月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值