智能优化算法:野狗优化算法


文章目录

  • 智能优化算法:野狗优化算法
  • 1.算法原理
  • 1.1 种群初始化
  • 1.2 策略一:群体攻击
  • 1.3 策略二:迫害攻击
  • 1.4 策略三:清扫
  • 1.5 策略四:野狗的存活率
  • 2.实验结果
  • 3.参考文献
  • 4.Matlab代码



摘要:野狗优化算法(Dingo Optimization Algorithm,DOA)是于2021年提出的一种新型智能优化算法,该算法是根据澳大利亚野狗的社交行为设计的,具有寻优能力强,收敛速度快等特点。

1.算法原理

DOA算法的灵感来源于野狗的狩猎策略,即迫害攻击、分组策略和清扫行为。

1.1 种群初始化

野狗种群在搜索边界内随机初始化:
智能优化算法:野狗优化算法 - 附代码_优化算法
其中,智能优化算法:野狗优化算法 - 附代码_c++_02智能优化算法:野狗优化算法 - 附代码_c++_03分别表示个体的上下边界,智能优化算法:野狗优化算法 - 附代码_初始化_04是[0,1]之间的随机数。

1.2 策略一:群体攻击

捕食者通常使用高度智能的狩猎技术,野狗通常单独捕食小猎物,如兔子,但当捕食大猎物,如袋鼠时,它们会成群结队。野狗能找到猎物的位置并将其包围,其行为如式(2)所示:
智能优化算法:野狗优化算法 - 附代码_算法_05
其中,智能优化算法:野狗优化算法 - 附代码_算法_06代表当前的迭代次数,智能优化算法:野狗优化算法 - 附代码_开发语言_07是野狗新位置;智能优化算法:野狗优化算法 - 附代码_初始化_08是在智能优化算法:野狗优化算法 - 附代码_算法_09的逆序中生成的随机整数,其中智能优化算法:野狗优化算法 - 附代码_c++_10是野狗种群的规模;智能优化算法:野狗优化算法 - 附代码_c++_11是将攻击的野狗的子集,其中智能优化算法:野狗优化算法 - 附代码_算法_12,是随机生成的野狗种群;智能优化算法:野狗优化算法 - 附代码_c++_13是当前野狗的位置;智能优化算法:野狗优化算法 - 附代码_开发语言_14是上一次迭代中发现的最佳野狗;智能优化算法:野狗优化算法 - 附代码_算法_15是在[-2,2]内均匀生成的随机数,它是一个比例因子,可改变野狗轨迹的大小。

1.3 策略二:迫害攻击

野狗通常捕猎小猎物,直到单独捕获为止。式(3)模拟了这种行为:
智能优化算法:野狗优化算法 - 附代码_算法_16
其中,智能优化算法:野狗优化算法 - 附代码_开发语言_07是野狗新位置,智能优化算法:野狗优化算法 - 附代码_开发语言_14是上一次迭代中发现的最佳野狗,智能优化算法:野狗优化算法 - 附代码_算法_15的值与式(2)中的值相同,智能优化算法:野狗优化算法 - 附代码_初始化_20是在[-1,1]区间内均匀生成的随机数,智能优化算法:野狗优化算法 - 附代码_开发语言_21是在从1到最大搜索代理(野狗)大小的区间内生成的随机数,智能优化算法:野狗优化算法 - 附代码_开发语言_22是随机选择的第智能优化算法:野狗优化算法 - 附代码_开发语言_21个野狗,其中智能优化算法:野狗优化算法 - 附代码_算法_24

1.4 策略三:清扫

清扫行为为被定义为当野狗在它们的栖息地随意行走时找到腐肉吃的行为。式(4)用于模拟这种行为:
智能优化算法:野狗优化算法 - 附代码_开发语言_25
其中,智能优化算法:野狗优化算法 - 附代码_开发语言_07是野狗新位置,智能优化算法:野狗优化算法 - 附代码_初始化_20的值与式(3)中的值相同,智能优化算法:野狗优化算法 - 附代码_开发语言_21是在从1到最大搜索代理(野狗)大小的区间内生成的随机数,智能优化算法:野狗优化算法 - 附代码_开发语言_22是随机选择的第智能优化算法:野狗优化算法 - 附代码_开发语言_21个野狗,其中智能优化算法:野狗优化算法 - 附代码_算法_24智能优化算法:野狗优化算法 - 附代码_初始化_32是算法随机生成的二进制数,智能优化算法:野狗优化算法 - 附代码_算法_33

1.5 策略四:野狗的存活率

在DOA中,野狗的存活率值由式(5)给出:
智能优化算法:野狗优化算法 - 附代码_c++_34
其中,智能优化算法:野狗优化算法 - 附代码_初始化_35智能优化算法:野狗优化算法 - 附代码_初始化_36分别是当前一代中最差和最佳的适应度值,而智能优化算法:野狗优化算法 - 附代码_初始化_37是第智能优化算法:野狗优化算法 - 附代码_算法_38个野狗的当前适应度值。式(5)中的生存向量包含[0,1]区间内的归一化适应度。式(6)通过策略三应用于低生存率,例如,生存率值等于或小于0.3。
智能优化算法:野狗优化算法 - 附代码_开发语言_39
其中,智能优化算法:野狗优化算法 - 附代码_c++_13是将被更新的生存率较低的野狗,智能优化算法:野狗优化算法 - 附代码_开发语言_21智能优化算法:野狗优化算法 - 附代码_优化算法_42是在从1到搜索代理(野狗种群)的最大大小的区间内生成的随机数,智能优化算法:野狗优化算法 - 附代码_优化算法_43,智能优化算法:野狗优化算法 - 附代码_算法_44智能优化算法:野狗优化算法 - 附代码_开发语言_45是随机选择的第智能优化算法:野狗优化算法 - 附代码_c++_46个野狗,智能优化算法:野狗优化算法 - 附代码_开发语言_14是上一次迭代中发现的最佳野狗;智能优化算法:野狗优化算法 - 附代码_初始化_32是算法随机生成的二进制数,智能优化算法:野狗优化算法 - 附代码_算法_33

算法伪代码

procedure DOA
(2) Initialization of parameters
(3) P = 0.5, probability of hunting or scavenger strategy
(4) Q = 0.7, probability of Strategy 1 (group attack) or Strategy 2 (persecution attack)
(5) Generate the initial population
(6) while iteration < Max Number of Iterations do
(7) if random<P then
(8) if random<Q then
(9) Strategy 1: Group Attack Procedure, Algorithm 1, equation (2).
(10) else
(11) : Strategy 2: Persecution, (3).
(12) end if
(13) else
(14) Strategy 3: Scavenger, (4).
(15) end if
(16) Update search agents that have low survival value, Algorithm 3, equation (6)
(17) Calculate x new , the fitness value of the new search agents
(18) if x new <x ∗ then
(19) x ∗ = x new
(20) end if
(21) iteration = iteration + 1
(22) end while
(23) Display x ∗ , the best optimal solution

2.实验结果

智能优化算法:野狗优化算法 - 附代码_开发语言_50

3.参考文献

[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, vol. 2021, Article ID 9107547, 19 pages, 2021.

4.Matlab代码