浙江大学学报(工学版), 2024, 58(2): 304-316 doi: 10.3785/j.issn.1008-973X.2024.02.009

计算机技术、通信技术

引入相量算子和流向算子的天鹰优化算法

周玉,, 裴泽宣, 王培崇, 陈博

1. 华北水利水电大学 电气工程学院,河南 郑州 450045

2. 河北地质大学 信息工程学院,河北 石家庄 050031

Aquila optimizer based on phasor operator and flow direction operator

ZHOU Yu,, PEI Zexuan, WANG Peichong, CHEN Bo

1. College of Electrical Engineering, North China University of Water Resources and Electric Power, Zhengzhou 450045, China

2. College of Information Engineering, Hebei GEO University, Shijiazhuang 050031, China

收稿日期: 2023-06-21  

基金资助: 国家自然科学基金资助项目(U1504622,31671580);河南省高等学校青年骨干教师培养计划资助项目(2018GGJS079);河北省高等学校科学技术研究资助项目(ZD2020344)

Received: 2023-06-21  

Fund supported: 国家自然科学基金资助项目(U1504622,31671580);河南省高等学校青年骨干教师培养计划资助项目(2018GGJS079);河北省高等学校科学技术研究资助项目(ZD2020344)

作者简介 About authors

周玉(1979—),男,副教授,从事机器学习、智能计算的研究.orcid.org/0000-0001-9572-0710.E-mail:zhouyu_beijing@126.com , E-mail:zhouyu_beijing@126.com

摘要

针对天鹰优化算法搜索效率不足,容易陷入局部最优的缺点,提出多策略改进天鹰优化算法(MIAO). 引入广义正态分布优化算法(GNDO),将该算法得出的结果与天鹰优化算法第1阶段得出的结果进行比较,筛选出这2种优化算法下的最优值. 该操作扩大了搜索空间,提高了解的质量. 引入相量算子,将第2阶段变为自适应的非参数优化,提高算法的高维优化能力. 针对天鹰优化算法在迭代后期存在种群多样性降低、局部开发能力不足的问题,在天鹰算法的第3阶段引入流向算子,使信息可以在每个个体间相互传递,提高种群信息的利用率,增强天鹰优化算法的开发性能. 通过对16个测试函数寻优对比分析以及Wilcoxon秩和检验可知,MIAO的寻优能力和收敛速度都有较大的提升. 为了验证MIAO算法的实用性和可行性,采用所提算法求解减速器设计问题,通过实际工程优化问题的实验对比分析可知,MIAO算法在处理现实优化问题上具有一定的优越性.

关键词: 天鹰优化算法 ; 广义正态分布优化算法 ; 相量算子 ; 流向算子 ; 测试函数 ; Wilcoxon秩和检验

Abstract

A multi-strategy improved aquila optimizer (MIAO) was proposed aiming at the disadvantages of low search efficiency and easy to fall into local optimal value in aquila optimization algorithm. Generalized normal distribution optimizer (GNDO) was added to AO, and the result obtained by GNDO was compared with the result of AO in the first stage. Then the best value under the two algorithms was selected. The search space was expanded and the quality of solution was improved. Phasor operators were used to transform the second phase into an adaptive non-parametric optimization in order to improve the high-dimensional optimization ability of the AO. The flow operator was used in the third stage of AO aiming at the problems of reduced population diversity and insufficient local exploitation at late iterations of the AO. Then the information can be transferred between each individual. The utilization rate of population information was improved, and the local exploitation capability of the AO was enhanced. Comparative analysis and optimization results of 16 test functions and Wilcoxon rank sum test showed that MIAO optimization ability and convergence speed were greatly improved. The MIAO algorithm was used to solve reducer design problem in order to verify the practicality and feasibility of MIAO algorithm. Comparative analysis of practical engineering optimization problems shows that MIAO algorithm has certain advantages in processing realistic optimization problems.

Keywords: aquila optimizer ; generalized normal distribution optimization algorithm ; phasor operator ; flow direction operator ; test function ; Wilcoxon rank sum test

PDF (1251KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

周玉, 裴泽宣, 王培崇, 陈博. 引入相量算子和流向算子的天鹰优化算法. 浙江大学学报(工学版)[J], 2024, 58(2): 304-316 doi:10.3785/j.issn.1008-973X.2024.02.009

ZHOU Yu, PEI Zexuan, WANG Peichong, CHEN Bo. Aquila optimizer based on phasor operator and flow direction operator. Journal of Zhejiang University(Engineering Science)[J], 2024, 58(2): 304-316 doi:10.3785/j.issn.1008-973X.2024.02.009

随着人工智能的不断发展,大量的优化算法被应用到图像检测[1]、故障诊断[2]、货运量预测[3]等诸多方面. 这些现实问题大多是连续、离散、约束或无约束的. 传统的优化方法很难处理这类问题,因为它更有可能收敛到局部最优值. 当需要优化的现实问题具有较高的维度时,传统优化方法的计算成本会大大提高. 一些研究表明,在处理大规模的多模态、离散和不可微分的优化问题时,这些方法往往没有那么有效[4]. 大量的元启发式算法作为一种可供选择的方法被开发出来[5],这些元启发式算法相对简单并且易于实现.

元启发式算法发展至今大致可以分为4类:群体智能优化算法、进化算法、基于物理的算法以及基于人类的算法. 群体智能优化算法是受动物的社会行为启发的算法,例如粒子群算法(particle swarm algorithm, PSO)[6]、麻雀搜索算法(sparrow search algorithm, SSA)[7]. 进化算法是通过模拟生物的进化行为提出的,著名的进化算法有:遗传算法(genetic algorithm, GA)[8]、差分进化算法(differential evolution, DE)[9]. 基于物理的算法受物理规律的启发,例如亨利气体溶解度算法(Henry gas solubility optimization, HGSO)[10]、流向算法(flow direction algorithm, FDA)[11]. 还有一些算法来源于人类的自然行为和社会关系,例如教学优化算法(teaching learning based optimization, TLBO)[12]、社会进化学习优化算法(social evolutionary learning optimization algorithm, SELO)[13].

虽然上述这些元启发式算法的来源不同,但其都有一些标准的特征,例如优化过程一般都有探索和开发2个阶段. 在第1个阶段,优化算法生成随机算子在搜索空间内进行全局探索;在第2个阶段,优化算法试图从搜索空间中找到最优解. 有效的元启发式优化算法必须平衡探索和开发这2个阶段的探索倾向,避免算法早熟,陷入局部最优. 为了提高算法的性能,研究人员通过一些改进手段,在探索和开发机制之间保持适当的平衡,增强算法的适应性. Mohammad等[14]在灰狼优化算法(GWO)中加入基于维度学习的狩猎搜索策略,该策略以每个个体为中心生成一个半径为R的邻域,在该邻域内信息可以相互传递,这不仅增强了局部开发和全局探索之间的平衡,还保持了种群的多样性. 邓志诚等[15]针对粒子群算法(PSO)探索时间长、易陷入局部最优值的缺点,提出方波触发勘探与开发的粒子群算法,该方法将方波作为一种控制手段,在方波的前半个周期内使用标准粒子群算法进行全局探索,在后半个周期内使用改进的粒子群进行局部开发,提高了算法的精度和收敛速度,但在高维情况下会陷入局部最优.

虽然这些改进手段都不同程度地提升了算法性能,但没有改变算法本身的局限性,所建立的模型在特定的期限内具有良好的效果,期限范围的扩大或缩小会导致“叠加误差”. 部分学者融合2种或多种优化算法,扩大模型的适用范围,以增强模型的抗干扰能力. Amirteimoori等[16]在PSO迭代产生新一代后,采用选择、交叉、变异等遗传算子,将当前种群替换为更好的种群. 这种在粒子群(PSO)算法中嵌入遗传算子的操作克服了标准粒子群算法收敛速度慢和频繁收敛到局部最优值的缺点. 与单一算法相比,这种混合优化算法具有更高的精度和搜索效率.

天鹰优化算法(AO)是Abualigah等[17]提出的新的元启发式优化算法. 该算法通过模拟天鹰对不同猎物的不同捕获方法建立数学模型,具有收敛速度快、全局搜索能力强的优点,但该算法存在易陷入局部最优、受最优个体位置影响较大、种群信息利用率低等缺点.

针对上述问题,提出多策略改进的天鹰优化算法. 结合广义正态分布优化算法与天鹰优化算法,扩大天鹰优化算法的搜索空间,提升全局搜索效率和种群质量. 对于大多数的元启发式算法来讲,它们对控制参数的调整表现出微妙的敏感性,这可能是造成算法出现过早收敛,陷入局部最优解的原因之一. 针对天鹰优化算法的第2阶段存在较多控制参数的情况,引入相量算子使第2阶段变为自适应的非参数优化,进一步平衡算法的探索和开发过程. 在天鹰算法的第3阶段引入流向算子,使每个个体间的信息可以相互交流,提高了迭代后期种群的多样性,增强算法的开发性能,加快收敛速度.

1. 天鹰优化算法

和众多元启发式算法一样,天鹰优化算法的目标是在搜索空间内找到全局最优解. 通过模拟天鹰4种不同的捕食策略建立数学模型,根据搜索空间内解的不同特性,灵活应用不同的搜索策略. 这4个阶段的介绍如下(天鹰优化算法的所有公式均来自于文献[17]).

1.1. 扩展探索阶段(第1阶段)

在第1个阶段,天鹰通过垂直俯身的高空翱翔搜索猎物并选择搜索区域. 这一阶段的数学描述如下所示.

$ {{\boldsymbol{X}}_1}\left( {t+1} \right) = {{\boldsymbol{X}}_{{\rm{best}}}}\left( t \right){ \times }\left( {1{ - }\frac{t}{T}} \right)+ { }\left( {{{\boldsymbol{X}}_{\rm{M}}}\left( t \right) - {{\boldsymbol{X}}_{{\rm{best}}}}\left( t \right) \times {\rm{rand}}} \right).$

$ {{\boldsymbol{X}}_{\rm{M}}}\left( t \right) = \frac{1}{N}\sum\limits_{i = 1}^N {{{\boldsymbol{X}}_i}\left( t \right)} . $

式中:$ {{\boldsymbol{X}}_1}\left( {t+1} \right) $为第1阶段$ t+1 $代的解,$ {{\boldsymbol{X}}_{{\rm{best}}}}\left( t \right) $为第$ t $次迭代的最优解,${{\boldsymbol{X}}_{\rm{M}}}\left( t \right)$为在$ t $次迭代时解的位置的平均值,${\rm{rand}}$$[0,1.0]$的随机数,$ t $为当前迭代次数,$ T $为最大迭代次数,$ N $为样本总数.

1.2. 缩小探索阶段(第2阶段)

在该阶段,通过模拟天鹰短滑翔攻击行为建立数学模型. 这一阶段的数学描述如下所示.

$ {{\boldsymbol{X}}_2}\left( {t+1} \right) = {{\boldsymbol{X}}_{{\rm{best}}}}\left( t \right) \times {\rm{Levy}}\left( D \right)+{{\boldsymbol{X}}_{\rm{R}}}\left( t \right)+\left( {y - x} \right) \times {\rm{rand}}\times {\boldsymbol{1}}. $

$ {\rm{Levy}}\left( D \right) = s \times \frac{{\mu \sigma }}{{{{\left| \upsilon \right|}^{{1 / \beta }}}}}. $

$ \sigma = \left( {\dfrac{{\varGamma \left( {1+\beta } \right) \times \sin \; ( {{{\text{π} \beta }}/{2}} )}}{{\varGamma \left( {\left({{1+\beta }}\right)/{2}} \right) \times \beta \times {2^{ {\left({{\beta - 1}}\right)/{2}} }}}}} \right). $

$ y = r \cos \, \theta . $

$ x = r \sin \, \theta . $

$ r = {r_1}+U {D_1}. $

$ \theta = - \omega {D_1}+{{3\text{π} }}/{2}. $

式中:$ {{\boldsymbol{X}}_2}\left( {t+1} \right) $为第2阶段$ t+1 $代的解;${\rm{ Levy}}\left( D \right) $为莱维飞行分布函数;${{\boldsymbol{X}}_{\rm{R}}}\left( t \right)$$ t $次迭代时$ [1,N] $范围内的随机解;$ x $$ y $为搜索时的螺旋形状;$ s $为0.01的常数;$ \mu $$ \upsilon $为0~1.0的随机数;$ \beta $= 1.5;$ {r_1} $$ [1,20] $的固定搜索周期数;$ U $= 0.005 65;$ {D_1} $$ [1,{\rm{Dim}}] $的整数,其中Dim为问题的维度;$ \omega $= 0.005.

1.3. 扩大开发阶段(第3阶段)

这一阶段模拟天鹰的低空慢降攻击,这种行为在数学上的表现如下所示:

$ \begin{split} {{\boldsymbol{X}}_3}\left( {t+1} \right) =\;& \alpha \left( {{{\boldsymbol{X}}_{{\rm{best}}}}\left( t \right) - {{\boldsymbol{X}}_{\rm{M}}}\left( t \right)} \right) - {\rm{rand}}\times {\boldsymbol{1}}+ \\ \;&\delta \left( {\left( {U - L} \right) \times {\rm{rand}}+L} \right) \times {\boldsymbol{1}} . \end{split} $

式中:${{\boldsymbol{X}}_3}\left( {t+1} \right)$为第3阶段$ t $+1代的解,$ U $为解空间上限,$ L $为解空间下限,$ \alpha $$ \delta $的值均为0.1.

1.4. 缩小开发阶段(第4阶段)

这一阶段模拟天鹰行走及狩猎地面上移速较慢的生物,这种行为在数学上的表现如下所示.

$ \begin{split} {{\boldsymbol{X}}_4}\left( {t+1} \right) =& Q_{\rm{F}} \times {{\boldsymbol{X}}_{{\rm{best}}}}\left( t \right) - {{G_1} \times {\boldsymbol{X}}\left( t \right) \times {\rm{rand}}} - \\& {\text{ }}{G_2} \times {\rm{Levy}}\left( D \right)\times {\boldsymbol{1}} + {\rm{rand}} \times {G_1} \times {\boldsymbol{1}}. \end{split} $

$ {{Q_{\rm{F}}}}\left( t \right) = {t^{{\left({2 \times {\rm{rand}} - 1}\right)}/{{{{\left( {1 - T} \right)}^2}}}}}. $

$ {G_1} = 2 \times {\rm{rand}} - 1. $

$ {G_2} = 2 \times \left( {1 - {t}/{T}} \right). $

式中:$ {{\boldsymbol{X}}_4}\left( {t+1} \right) $为第4阶段$ t $的下一次迭代的解;$ Q_{\rm{F}} $为用于平衡搜索策略的质量函数;$ {G_1} $为在狩猎期间AO的各种运动位置;$ {G_2} $为线性函数,表示用于跟踪猎物的AO的飞行斜率.

2. 多策略改进的天鹰优化算法

2.1. 广义正态分布优化算法

广义正态分布优化算法(generalized normal distribution optimization,GNDO)受正态分布模型的启发,每个个体使用广义正态分布曲线来更新自己的位置. 与大多数优化算法不同,该算法只需要基本的种群大小和终端条件就可以解决优化问题. 该算法包括局部开发和全局探索2部分,这2种学习策略的具体介绍如下.

2.1.1. 局部开发策略

根据种群中个体的分布和正态分布的关系,建立的广义正态分布优化模型如下所示:

$ {\boldsymbol{v}}_i^t = {{\boldsymbol{\mu }}_i}+ \eta {{{o}}_i}\times {\boldsymbol{1}};\; i = 1,2,3,\cdots, N. $

式中:$ {\boldsymbol{v}}_i^t $为第$ i $个个体在$ t $时刻的轨迹向量,$ {{\boldsymbol{\mu}} _i} $为第$ i $个个体的广义平均位置,$ {{{o}}_i} $为广义标准方差,$ \eta $为惩罚因子. $ {{\boldsymbol{\mu }}_i}、{{{o}}_i}、\eta $的定义如下.

$ {{\boldsymbol{\mu}} _i} = \frac{1}{3}\left( {{{\boldsymbol{X}}_{\rm{g}}}_i^t+{{\boldsymbol{X}}_{\rm{g}}}_{{\rm{Best}}}^t+{\boldsymbol{M}}} \right). $

$ {{{o}}_i} = \sqrt {\frac{1}{3}\left[ {{{\left( {{{\boldsymbol{X}}_{\rm{g}}}_i^t - {{\boldsymbol{\mu}} _i}} \right)}^2}+{{\left( {{{\boldsymbol{X}}_{\rm{g}}}_{{\rm{Best}}}^t - {{\boldsymbol{\mu}} _i}} \right)}^2}+{{\left( {{\boldsymbol{M}} - {{\boldsymbol{\mu}} _i}} \right)}^2}} \right]} . $

$ \eta = \left\{ \begin{gathered} \sqrt { - \lg \, {{\lambda _1}} } \times \cos \, \left( {2 \text{π} {\lambda _2}} \right), \; a \leqslant b; \\ \sqrt { - \lg \, {{\lambda _1}} } \times \cos \, \left( {2 \text{π} {\lambda _2}+ \text{π} } \right),{\text{ }}其他. \\ \end{gathered} \right. $

式中:$a、b、{\lambda _1}、{\lambda _2}$为[0, 1.0]的随机数;${{\boldsymbol{X}}_{\rm{g}}}_{{\rm{Best}}}^t$为第$ t $次迭代的最优位置;$ {\boldsymbol{M}} $为在$ t $次迭代时解的位置的平均值,

$ {\boldsymbol{M}} = \frac{1}{N}\sum\limits_{i = 1}^N {{{\boldsymbol{X}}_{\rm{g}}}_i^t} . $

式(16)中包含了最优位置和平均位置的相关信息,减小了算法对最优值的依赖,增加了跳出局部最优解的能力. $ {o_i} $可以看成随机序列,在$ {{\boldsymbol{\mu}} _i} $附近进行局部搜索,由式(17)可知,个体$ {{\boldsymbol{X}}_{\rm{g}}}_i^t $的位置与平均位置$ {\boldsymbol{M}} $和最优位置$ {{\boldsymbol{X}}_{\rm{g}}}_{{\rm{Best}}}^t $之间的距离越远,生成的随机序列的波动性越强. 当个体的适应度较差时,在它周围找到更好的解的概率较小,此时轨迹向量的值较大,可以帮助个体找到更好的解. 当个体有较好的适应度时,在其周围找到最优解的概率较大. 波动性较弱的随机序列可以帮助个体找到更好的解. 惩罚因子$ \eta $增强了$ {{{o}}_i} $的随机性,增加了GNDO算法的搜索方向,增强了算法的搜索能力.

2.1.2. 全局探索策略

广义正态分布优化算法的全局探索是基于3个随机选择的个体,具体表述公式如下:

$ {\boldsymbol{v}}_i^t = {{\boldsymbol{X}}_{\rm{g}}}_i^t+\beta {\left| {{\lambda _3}} \right| {{\boldsymbol{v}}_1}} +\left( {1 - \beta } \right) {\left| {{\lambda _4}} \right| {{\boldsymbol{v}}_2}} . $

式中:$ {\lambda _3} $$ {\lambda _4} $为服从标准正态分布的随机数;$ \;\beta $为[0, 1.0]的随机数;$ {{\boldsymbol{v}}_1} $$ {{\boldsymbol{v}}_2} $为2个跟踪向量.

$ {{\boldsymbol{v}}_1} = \left\{ \begin{gathered} {{\boldsymbol{X}}_{\rm{g}}}_i^t - {{\boldsymbol{X}}_{\rm{g}}}_{P_1}^t,\; f\left( {{{\boldsymbol{X}}_{\rm{g}}}_i^t} \right) < f\left( {{{\boldsymbol{X}}_{\rm{g}}}_{P_1}^t} \right); \\ {{\boldsymbol{X}}_{\rm{g}}}_{P_1}^t - {{\boldsymbol{X}}_{\rm{g}}}_i^t, \;其他. \\ \end{gathered} \right. $

$ {{\boldsymbol{v}}_2} = \left\{ \begin{gathered} {{\boldsymbol{X}}_{\rm{g}}}_{P_2}^t - {{\boldsymbol{X}}_{\rm{g}}}_{P_3}^t,\; f\left( {{{\boldsymbol{X}}_{\rm{g}}}_{P_2}^t} \right) < f\left( {{{\boldsymbol{X}}_{\rm{g}}}_{P_3}^t} \right); \\ {{\boldsymbol{X}}_{\rm{g}}}_{P_3}^t - {{\boldsymbol{X}}_{\rm{g}}}_{P_2}^t,\; 其他. \\ \end{gathered} \right. $

式中:$P_1$$P_2$$P_3$为[1, N]中选择的3个随机整数,满足$P_1 \ne P_2 \ne P_3 \ne i$. ${{\boldsymbol{v}}_1}$${{\boldsymbol{v}}_2}$的存在使得式(20)可以共享全局信息,获得更大的搜索空间.

在广义正态分布优化算法中,每次迭代都会选择局部开发和全局探索这2种策略的其中一种进行计算,这2种策略被选择的概率相等,但存在某个个体可能无法通过局部开发策略或全局探索策略找到更好的解的情况. 为了使下一次的迭代可以找到更好的解,设计了筛选机制,如下所示:

$ {{\boldsymbol{X}}_{\rm{g}}}_i^{t+1} = \left\{ \begin{gathered} {\boldsymbol{v}}_i^t,\; f\left( {{\boldsymbol{v}}_i^t} \right) < f\left( {{{\boldsymbol{X}}_{\rm{g}}}_i^t} \right); \\ {{\boldsymbol{X}}_{\rm{g}}}_i^t,\; 其他. \\ \end{gathered} \right. $

将广义正态分布优化算法得到的值与天鹰优化算法扩大探索阶段(第1阶段)得到的值进行比较,选出适应度最小的值作为天鹰优化算法扩大探索阶段的最终结果,数学描述如下所示:

$ {{\boldsymbol{X}}_1}\left( {t+1} \right) = \left\{ \begin{gathered} {{\boldsymbol{X}}_{\rm{g}}}_i^{t+1},\; f\left( {{{\boldsymbol{X}}_{\rm{g}}}_i^{t+1}} \right) < f\left( {{{\boldsymbol{X}}_1}\left( {t+1} \right)} \right); \\ {{\boldsymbol{X}}_1}\left( {t+1} \right),\; 其他. \\ \end{gathered} \right. $

2.2. 相量算子

相量算子[18]来源于数学中的相量理论,通过周期三角函数$ \sin $$ \cos $选择合适的算子函数,减少或消除优化算法的控制参数,以达到自适应、非参数优化的目的. 天鹰优化算法的缩小探索阶段有大量的控制参数,因此采用相量算子对缩小探索阶段进行改进,减小控制参数的影响,提高算法的探索性能.

利用三角函数的间歇特性,通过相位角$ \theta $表示天鹰优化算法第2阶段的所有控制参数. 为了实现这一目的,采用一维相角$ {\theta _i} $表示种群中的每一个个体,因此第$ i $个个体可以由大小为$ {{{X}}_i} $的向量和$ {\theta _i} $表示,即${ {{X}}_i}\angle {\theta _i}$. 得出的相量算子如下所示.

$ p\left( {\theta _i^t} \right) = {\left| {\cos \, \theta _i^t} \right|^{2\sin \theta _i^t}}. $

$ g\left( {\theta _i^t} \right) = {\left| {\sin \, \theta _i^t} \right|^{2\cos \theta _i^t}}. $

图1所示为$ p\left( {\theta _i^t} \right) $$ g\left( {\theta _i^t} \right) $在迭代时的函数行为.

图 1

图 1   $ p\left( {\theta _i^t} \right) $$ g\left( {\theta _i^t} \right) $的函数行为

Fig.1   Function behavior of $ p\left( {\theta _i^t} \right) $ and $ g\left( {\theta _i^t} \right) $


图1可以看出,在某些区间内这2个函数同时增加或减少,而在另一些区间内它们的变化是相反的,除此之外,这2个函数的数值在随机变化,这些不同的函数姿态产生自适应的搜索特征. 传统天鹰优化算法的第2阶段是通过自定义的控制参数产生的,但在相量算子的控制下,仅通过个体的相位角产生. 这些斜率不一的起伏可以有效地防止算法早熟,避免过早收敛到局部最优解. 利用相量算子,对天鹰优化算法的第2阶段进行改进,改进公式如下所示:

$ {{\boldsymbol{X}}_2}\left( {t+1} \right) = {{\boldsymbol{X}}_{{\rm{best}}}}\left( t \right) \times {\rm{Levy}}\left( D \right) \times p\left( {\theta _i^t} \right) {\text{ }}+{{\boldsymbol{X}}_{\rm{R}}}\left( t \right) \times g\left( {\theta _i^t} \right). $

2.3. 流向算子

流向算子来源于Hojat[12]提出的流向算法,这是基于物理的算法,流向算法(flow direction algorithm, FDA)模拟了径流的运动状态和形成过程. 水流会向目标函数的最优值,即最低点及其周围移动. 流向算法假设在每个水流周围都存在$ \phi $个邻域,其位置关系可用由下式表述:

$ {{\boldsymbol{X}}_{j{\rm{N}}}}\left( t \right) = {{\boldsymbol{X}}_i}\left( t \right)+{\rm{randn}} \times {\boldsymbol{\varDelta}} . $

式中:${{\boldsymbol{X}}_{j{\rm{N}}}}\left( t \right)$为与$ {{\boldsymbol{X}}_i}\left( t \right) $相邻的第$ j $个位置,${\rm{randn}}$为服从标准正态分布的随机数,${\boldsymbol{\varDelta}}$为搜索半径向量. 式(28)为天鹰优化算法中的每个个体建立了一个搜索区域,${\boldsymbol{\varDelta}}$决定了搜索范围的大小,在该范围内信息可以相互传递. $ {\boldsymbol{\varDelta}} $的计算公式如下所示:

$ \begin{split} {\boldsymbol{\varDelta}} = \;&\left( {{\rm{rand}}\times {\rm{Xrand}} \times {\boldsymbol{1}} - {\rm{rand}} \times {{\boldsymbol{X}}_i}\left( t \right)} \right) \times \\ \;&\left\| {{{\boldsymbol{X}}_{{\rm{best}}}}\left( t \right) - {{\boldsymbol{X}}_i}\left( t \right)} \right\| W.\end{split} $

式中:${\rm{rand}}$为均匀分布的随机数,${\rm{Xrand}}$为搜索空间内生成的随机位置,$ {{\boldsymbol{X}}_i}\left( t \right) $为第$ t $次迭代时第$ i $个个体的当前位置. $ W $的计算公式如下所示:

$ W = \left( {{{\left( {1 - \frac{t}{T}} \right)}^{2\times {\rm{randn}}}}} \right)\times \left( {{\rm{rand}}\times \frac{t}{T}} \right)\times {\rm{rand}}. $

图2所示为$ W $随迭代次数的变化情况. 可以看出,$ W $在迭代过程中的变化较剧烈,这使得天鹰优化算法有良好的局部最优逃避能力.

图 2

图 2   $ W $的变化情况

Fig.2   Changes of $ W $


在FDA算法中,径流流向相邻区域的流速与斜率直接相关,因此利用下式确定流速矢量:

$ {\boldsymbol{V}} = {\rm{rand}}\times {{\boldsymbol{S}}_0}. $

式中:$ {{\boldsymbol{S}}_0} $为当前个体与相邻个体之间的斜率向量. 第$ i $个个体与相邻的第$ j $个个体之间的斜率向量由下式确定:

$ {{\boldsymbol{S}}_0}\left( {i,j} \right) = \frac{{{{\boldsymbol{X}}_{i{\rm{f}}}}\left( t \right) - {{\boldsymbol{X}}_{j{\rm{Nf}}}}\left( t \right)}}{{\left\| {{{\boldsymbol{X}}_i}\left( t \right) - {{\boldsymbol{X}}_{j{\rm{N}}}}\left( t \right)} \right\|}}. $

式中:${{\boldsymbol{X}}_{i{\rm{f}}}}\left( t \right)$$ {{\boldsymbol{X}}_i}\left( t \right) $的目标值,${{\boldsymbol{X}}_{j{\rm{Nf}}}}\left( t \right)$${{\boldsymbol{X}}_{j{\rm{N}}}}\left( t \right)$的目标值.

使用的流向算子定义如下:

$ {\boldsymbol{F}_{\rm{D}}} = {\boldsymbol{V}}\times \frac{{{{\boldsymbol{X}}_i}\left( t \right) - {{\boldsymbol{X}}_{j{\rm{N}}}}\left( t \right)}}{{\left\| {{{\boldsymbol{X}}_i}\left( t \right) - {{\boldsymbol{X}}_{j{\rm{N}}}}\left( t \right)} \right\|}}. $

天鹰优化算法在迭代后期存在种群多样性减少、易陷入局部最优的缺点,因此,引入流向算子改进天鹰优化算法的第3阶段. 流向算法使得个体间的信息可以相互传递,提高信息的利用率. 非线性权重$ W $的引入增加了算法迭代后期的随机性,增强了算法的搜索能力和跳出局部最优的能力. 对天鹰优化算法的第3阶段进行改进,如下所示:

$ {{\boldsymbol{X}}_3}\left( {t+1} \right) = \left( {{{\boldsymbol{X}}_{{\rm{best}}}}\left( t \right) - {{\boldsymbol{X}}_{\rm{M}}}\left( t \right)} \right)+{\boldsymbol{F}_{\rm{D}}}. $

与传统的天鹰优化算法相比,本文提出的混合多策略改进的天鹰优化算法的收敛速度更快,抗干扰能力更强,收敛精度有显著的提高.

2.4. 时间复杂度的分析

根据文献[19],计算得到AO算法的时间复杂度为$O\left( {N \left( {T D+1} \right)} \right)$(其中D为空间维度). 在MIAO算法中,GNDO的时间复杂度包括结果比较和位置更新的时间,这取决于种群数量、空间维度和最大迭代次数,因此GNDO的时间复杂度与AO的时间复杂度均为$ O\left( {N \left( {T D+1} \right)} \right) $. 相量算子是将固定的控制参数变为在$ \left[ {0,2\text{π} } \right] $中随迭代次数变化的随机数,所以相量算子的时间复杂度为$ O\left( {T N} \right) $. 与天鹰优化算法相比,流向算子没有种群初始化的过程,流向算子的时间复杂度为$ O\left( {T N \left( {D+1} \right)} \right) $,所以相量算子和流向算子不增加时间复杂度. GNDO的输出结果和AO的第1阶段的输出结果进行比较所需的时间为$ O\left( {N D} \right) $,因此MIAO的时间复杂度为$ O\left( {N D} \right) \times O\left( {T N \left( {D+1} \right)} \right) $,时间复杂度略有增加,可以通过减少种群数量和迭代次数来减少运行时间.

2.5. 多策略改进的天鹰优化算法步骤

融合多策略改进的天鹰优化算法,伪代码如下所示.

算法1 MIAO算法的运行框架

$输入:\text{ }\alpha 、\delta$

输出:最佳位置、最佳适应度.

随机初始化种群,在搜索空间内生成N个个体,计算个体的适应度,记录最优个体的初始位置.

${\rm{while}}(t < T)$

 根据式(24)更新第1阶段的输出结果;

 根据式(27)更新第2阶段的输出结果;

 根据式(34)更新第3阶段的输出结果;

 根据式(11)更新第4阶段的输出结果;

 将最终输出结果存储到${{\boldsymbol{X}}_{{\rm{best}}}}\left( t \right)$中;

 $ t = t+1 $

end while

Return 最优解${{\boldsymbol{X}}_{{\rm{best}}}}\left( t \right)$

3. 仿真实验与结果分析

3.1. 实验设计与测试函数

为了验证所提算法的有效性,对该算法与海鸥优化算法(SOA)、粒子群优化算法(PSO)、麻雀搜索算法(SSA)、广义正态分布优化算法(GNDO)、相量算子优化的粒子群算法(PPSO)、流向优化算法(FDA)及传统天鹰优化算法(AO)进行性能测试. 所有算法统一设置N = 30,T = 500. MIAO及其对比算法的其他相关参数设置如表1所示.

表 1   MIAO及其对比算法的参数设置

Tab.1  Parameter setting of MIAO and comparison algorithm

算法参数参数值算法参数参数值
SOA${f_{\rm{c}}}$2PPSO
U1
V1
PSOC11.494 45FDA$ \varpi $相邻径
流数量
1
C21.494 45
SSAR2[0, 1.0]AOS0.01
ST0.8U0.005 65
$ \beta $1.5
$ \omega $0.005
GNDOMIAOS0.01

新窗口打开| 下载CSV


为了保证实验结果的科学合理,选取16个测试函数,对这些算法的性能进行测试. 实验平台为MATLAB2016b,每次实验都独立运行30次,所选的测试函数如表2所示.

表 2   测试函数

Tab.2  Test functions

编号函数维数范围最优值
$ {f_1} $Schwefel2.2130,100[−100,100]0
$ {f_2} $Quartic30,100[−1.28,1.28]0
$ {f_3} $Bohachevsky30,100[−100,100]0
$ {f_4} $Sum-Squares30,100[−5.12,5.12]0
$ {f_5} $Sum-Power30,100[−1,1]0
$ {f_6} $Rastrigin30,100[−5.12,5.12]0
$ {f_7} $Ackley30,100[−32,32]0
$ {f_8} $Griewank30,100[−600,600]0
$ {f_9} $Drop-Wave30,100[−5.12,5.12]−1
$ {f_{10}} $Eggholder30,100[−512,512]−959.6407
$ {f_{11}} $Shekel’s Foxholes2[−65,65]1
$ {f_{12}} $Kowalik4[−5,5]0.0003
$ {f_{13}} $Shekel4[0,10]−10.1532
$ {f_{14}} $Hartman6[0,1]−3.32
$ {f_{15}} $Composition Function 230,100[−100,100]2200
$ {f_{16}} $Composition Function 3
30,100[−100,100]2300

新窗口打开| 下载CSV


表2中,$ {f_1} \sim {f_5} $为5个单峰测试函数,检测算法的全局探索能力;$ {f_6} \sim {f_{10}} $为5个多峰测试函数,检测算法的开发能力;$ {f_{11}} \sim {f_{14}} $为4个固定维多峰测试函数,检测算法在低维搜索空间的探索能力. $ {f_{15}} \sim {f_{16}} $为2个CEC2017测试函数,编号为CEC22和CEC23,用这2个函数来进一步验证算法的有效性和鲁棒性.

3.2. 寻优精度分析

将本文算法与SOA、PSO、SSA、GNDO、PPSO、FDA、AO分别在上述16个测试函数上独立运行30次,记录实验结果. 选取各个算法的最优值、平均值以及标准差作为评价指标,测试结果如表3~5所示. 表34的测试维度为30维,表5为4个固定维测试函数. 表中,加粗的数值为最优结果.

表 3   测试函数的结果 (dim=30,$ {f_1} \sim {f_8} $)

Tab.3  Results of test function (dim=30,${f_1} - {f_8}$)

函数算法最优值平均值标准差函数算法最优值平均值标准差
$ {f_1} $SOA0.58033.48192.6799$ {f_5} $SOA3.462 7×10−75.348 9×10−61.334 1×10−7
PSO0.00531.43051.4963PSO1.153 5×10−89.214 3×10−53.662 5×10−6
SSA7.048 8×10−879.411 5×10−608.995 4×10−60SSA5.913 0×10−886.441 5×10−727.014 5×10−72
GNDO23.088129.315416.5622GNDO1.458 1×10−93.578 9×10−72.665 4×10−7
PPSO0.31260.39430.0023PPSO1.088 2×10−81.920 6×10−82.546 1×10−9
FDA53.475660.255811.5469FDA7.905 2×10−1191.481 4×10−1136.541 1×10−113
AO2.297 2×10−752.445 1×10−591.223 6×10−60AO1.251 1×10−1041.546 6×10−883.145 2×10−88
MIAO1.093 0×10−1602.364 1×10−1389.363 7×10−139MIAO2.546 4×10−1934.025 7×10−1602.541 9×10−160
$ {f_2} $SOA0.11202.33343.1452$ {f_6} $SOA2.801715.825520.9482
PSO0.00110.00166.114 6×10−4PSO3.99368.98262.5335
SSA2.561 3×10−40.00200.0014SSA000
GNDO6.79157.22353.6525GNDO320.12411.52168.3251
PPSO0.03480.05020.5233PPSO20.355439.840838.4450
FDA5.206 9×10−42.314 4×10−36.447 0×10−3FDA000
AO9.429 6×10−51.234 5×10−42.333 1×10−6AO000
MIAO1.346×10−76.321 4×10−72.655 3×10−8MIAO000
$ {f_3} $SOA0.45022.22343.5562$ {f_7} $SOA0.00430.27090.3008
PSO9.175 8×10−84.172 4×10−63.012 5×10−6PSO0.00660.45570.5398
SSA02.125 5×10−2811.222 0×10−281SSA8.881 8×10−168.881 8×10−160
GNDO5.5511×10−175.5511×10−171.235 4×10−19GNDO11.204814.71936.9952
PPSO000PPSO0.06550.97960.8023
FDA4.996 0×10−161.247 0×10−113.288 4×10−11FDA 4.440 9×10−154.440 9×10−150
AO000AO8.881 8×10−168.881 8×10−160
MIAO000MIAO8.881 8×10−168.881 8×10−160
$ {f_4} $SOA0.0943.45135.2102$ {f_8} $SOA1.144 5×10−61.59351.4952
PSO0.16341.22472.8542PSO1.063 9×10−53.023 4×10−36.214 2×10−3
SSA3.420 5×10−1634.562 2×10−1446.213 8×10−145SSA000
GNDO887.38902.5872.5569GNDO42.663048.54829.3354
PPSO102.59244.58325.11PPSO0.00110.00573.521 4×10−2
FDA1.063 7×10−822.640 5×10−793.021 1×10−79FDA000
AO3.044 1×10−1523.205 6×10−1396.112 0×10−143AO000
MIAO000MIAO000

新窗口打开| 下载CSV


表 4   测试函数的结果 (dim=30,${f_9} , {f_{10}},{f_{15}} \sim {f_{16}}$)

Tab.4  Results of test function (dim=30,$ {f_9} , {f_{10}},{f_{15}} - {f_{16}} $)

函数算法最优值平均值标准差函数算法最优值平均值标准差
$ {f_9} $SOA−0.9750−0.86200.6335$ {f_{15}} $SOA2.300×1032.300 4×1030.6635
PSO−1−0.98080.0235PSO2.300×1032.300×1030
SSA−1−10SSA2.300×1032.300×1030
GNDO−1−0.93620.4655GNDO2.300×1032.300×1032.523 1×10−4
PPSO−1−0.93620.0536PPSO2.300×1032.300×1030
FDA−1−0.93630.0016FDA2.300×1032.300×10311.3250
AO−1−10AO2.300×1032.300×1030
MIAO−1−10MIAO2.300×1032.300×1030
$ {f_{10}} $SOA−954.6222−932.050232.1507$ {f_{16}} $SOA2.450 0×1032.455 5×10323.2264
PSO−66.8437−66.84370PSO2.450 0×1032.450 0×10310.3210
SSA−959.6407−956.62145.6316SSA2.450 0×1032.450 0×1038.1243
GNDO−959.6406−959.64062.547 6×10−5GNDO2.450 0×1032.450 0×10311.2356
PPSO−64.3969−61.65415.3991PPSO2.450 0×1032.450 0×1036.8401
FDA−959.6407−959.64070FDA2.433 5×1032.433 5×10316.3205
AO−959.6405−954.241010.2659AO2.450 0×1032.450 0×1036.0213
MIAO−959.6407−959.64070MIAO2.433 3×1032.433 3×1036.1089

新窗口打开| 下载CSV


表 5   固定维测试函数

Tab.5  Fixed dimension test functions

函数算法最优值平均值标准差函数算法最优值平均值标准差
$ {f_{11}} $SOA2.19945.87925.1739$ {f_{13}} $SOA−9.8922−9.39070.4532
PSO12.670512.67050PSO−5.0522−5.05220
SSA2.98212.56311.3330SSA−10.1532−10.15320
GNDO0.9980.9980GNDO−10.1532−10.15320
PPSO12.670512.67050PPSO−5.0877−5.08770
FDA0.9981.99202.3254FDA−10.1532−5.08763.3321
AO0.9980.9980AO−10.1532−10.15270.2140
MIAO0.9980.9980MIAO−10.1532−10.15320
$ {f_{12}} $SOA0.00830.00800.0053$ {f_{14}} $SOA−2.8215−2.65311.1233
PSO6.782 2×10−49.159 4×10−45.735 4×10−4PSO−3.3220−3.11230.023
SSA3.074 9×10−37.012 2×10−34.775 2×10−3SSA−3.3220−3.21560.1543
GNDO3.074 8×10−43.074 9×10−42.324 7×10−4GNDO−3.3219−3.32191.2354×10−5
PPSO5.325 4×10−46.327 7×10−44.325 4×10−4PPSO−3.3220−3.31823.2214×10−4
FDA0.00040.00133.2621×10−3FDA−3.1404−3.07490.6325
AO5.679 0×10−48.994 0×10−43.112 2×10−4AO−3.1037−3.09612.6480
MIAO 3.000 0×10−4 3.078 3×10−49.231 4×10−6MIAO−3.3220−3.28344.6213×10−3

新窗口打开| 下载CSV


表34可知,提出的多策略改进天鹰优化算法在$ {f_1} \sim {f_5} $这5个单峰测试函数上的寻优效果有显著的提升,说明MIAO具有较强的鲁棒性. MIAO在$ {f_6} \sim {f_{10}} $这5个多峰测试函数上都可以找到理论最优值,说明MIAO具有良好的逃避性能,不易陷入局部最优解,具有较强的抗停滞性能. $ {f_{15}} \sim {f_{16}} $进一步验证了MIAO的优越性能. 从表5可知,在4个固定维测试函数中,MIAO的寻优效果是最好的,基本可以找到理论最优值,这说明改进的天鹰优化算法具有良好的全局搜索能力.

为了测试MIAO的算法性能,将测试函数的维数改为100,其他参数不变,记录MIAO在100维情况下的实验结果. 结果如表67所示.

表 6   测试函数的结果 (dim=100,${{\boldsymbol{f}}_{\boldsymbol{1}}} {\boldsymbol{\sim}} {{\boldsymbol{f}}_{{\boldsymbol{10}}}}$)

Tab.6  Results of test function (dim=100,${f_1} - {f_{10}}$)

函数算法最优值平均值标准差函数算法最优值平均值标准差
$ {f_1} $SOA86.554294.135220.9621$ {f_6} $SOA0.03411.12362.6557
PSO0.62200.62540.0239PSO157.3364163.636125.3142
SSA3.3646×10−553.3345×10−317.223 4×10−30SSA000
GNDO23.155233.312016.3251GNDO362.36384.2132.6520
PPSO0.74860.89980.3654PPSO258.24274.6561.0320
FDA89.724393.10869.2320FDA000
AO9.466 2×10−788.253×10−758.223 6×10−76AO000
MIAO3.371 6×10−1586.223 7×10−1292.678 4×10−129MIAO000
$ {f_2} $SOA0.13781.23552.6341$ {f_7} $SOA1.223 4×10−44.337 8×10−33.707 1×10−3
PSO0.22010.44360.6520PSO1.87522.03140.6321
SSA7.3240×10−30.00212.3114×10−3SSA8.881 8×10−168.881 8×10−160
GNDO5.64888.06415.6630GNDO11.721713.40945.3241
PPSO1.75922.09000.4354PPSO2.33232.13540.3542
FDA4.487 9×10−45.832 5×10−42.665 2×10−4FDA4.440 9×10−154.440 9×10−150
AO9.782 8×10−53.521 1×10−44.695 7×10−4AO8.881 8×10−168.881 8×10−160
MIAO 1.704 1×10−5 4.122 0×10−4 5.314 2×10−4MIAO 8.881 8×10−16 8.881 8×10−160
$ {f_3} $SOA0.00210.93281.5631$ {f_8} $SOA0.014356.442983.9514
PSO1.913 5×10−93.556 4×10−72.635 7×10−7PSO0.05270.06001.3255e-3
SSA000SSA000
GNDO5.551 1×10−175.551 1×10−172.392 8×10−19GNDO61.113874.351222.2511
PPSO000PPSO0.10390.11730.0062
FDA000FDA000
AO000AO000
MIAO000MIAO000
$ {f_4} $SOA0.01514.15318.3361$ {f_9} $SOA−1−0.98890.1264
PSO66.354885.364251.3260PSO−1−10
SSA7.572 5×10−803.214 6×10−654.012 6×10−65SSA−1−10
GNDO1141.21148.743.2651GNDO−1−0.96320.0023
PPSO180.23210.247.3521PPSO−1−10
FDA3.624 7×10−795.624 4×10−759.214 4×10−75FDA−1−10
AO2.246 3×10−1573.514 4×10−1336.331 4×10−133AO−1−10
MIAO000MIAO−1−10
$ {f_5} $SOA2.460 5×10−60.05530.3662$ {f_{10}} $SOA−957.9990−950.637410.5231
PSO1.887 8×10−81.223 6×10−73.263 1×10−8PSO−66.8437−66.84370
SSA5.341 9×10−1131.324 9×10−502.312 6×10−50SSA−894.3315−888.163443.6612
GNDO1.135 3×10−74.714 2×10−103.256 4×10−10GNDO−959.6406−959.64064.125 0×10−4
PPSO6.154 3×10−96.734 3×10−72.663 4×10−9PPSO−66.0970−65.42111.3325
FDA3.257 8×10−1162.647 6×10−1133.654 2×10−113FDA−959.4607−959.46054.332 1×10−3
AO1.481 3×10−952.794 9×10−293.654 2×10−29AO−959.6407−-959.64043.412 2×10−3
MIAO4.185×10−1784.893 1×10−1521.233 0×10−152MIAO−959.6407−959.64061.256 1×10−3

新窗口打开| 下载CSV


表3467可知,随着测试维度的增加,MIAO及其他7种优化算法的寻优精度都有所降低. 其中SOA、PSO、GNDO的寻优精度变化较剧烈,SSA和FDA的性能较稳定,在$ {f_3} \sim {f_9} $上可以找到其理论最优值. 与PSO相比,随着测试函数越来越复杂,PPSO的优越性逐渐凸显. 与其他7种算法相比,MIAO受维度变化的影响最小,寻优效果最好,展现出良好的高维搜索性能和较强的鲁棒性. 随着测试函数维度的增加,MIAO的波动性有所增加,运行时间略长于其他优化算法,这是MIAO的不足之处. 总体来说,MIAO的综合性能最优秀.

表 7   测试函数的结果 (dim=100, $ {f_{15}} , \;{f_{16}} $)

Tab.7  Results of test function (dim=100, ${f_{15}} , \;{f_{16}}$)

函数算法最优值平均值标准差函数算法最优值平均值标准差
$ {f_{15}} $SOA230023004.097 0$ {f_{16}} $SOA2 440.82 47638.4974
PSO2300230013.1361PSO245024508.2315
SSA2300230011.8003SSA245024502.286 9×10−4
GNDO 23002.301 1×1035.5983GNDO 2450 2451.85.8500
PPSO 23002.300 0×1031.1117PPSO 2450 2450.11.7050
FDA 23002.300 8×1036.1601FDA 2433.3 2435.912.1862
AO23002.300 2×1033.4566AO2450 2450.24.5863
MIAO2.293 8×1032.301 6×10311.4552MIAO2 433.32 433.75.2753

新窗口打开| 下载CSV


3.3. 收敛曲线分析

图3所示为在30维度、500次迭代的条件下部分测试函数的收敛曲线图,分析SOA、PSO、SSA、GNDO、PPSO、FDA、AO、MIAO在优化过程中的收敛性能。图中, F为适应度;${f_1} \sim {f_3} $为3个单峰测试函数;${f_6} \sim {f_8} $为3个多峰测试函数;${f_{11}} $${f_{14}} $为2个固定维测试函数;${f_{16}} $为CEC2017测试函数,编号为CEC23。通过收敛曲线分析可知,MIAO具有较强的寻优能力、突出的局部开发能力及优秀的空间搜索能力,收敛速度更快,收敛精度更高。

图 3

图 3   MIAO及7种对比算法的收敛曲线

Fig.3   MIAO and convergence curves of seven comparison algorithms


3.4. Wilcoxon秩和检验

Wilcoxon秩和检验[20]是用于比较2个样本是否具有显著性差异的非参数统计方法. 利用Wilcoxon秩和检验,判断MIAO与其他7种算法是否具有显著性差异. 其中,p为检验结果,h为显著性判断结果. 当p < 0.05时,h = 1表示MIAO算法的显著性强于其他算法. 当p > 0.05时,h = 0表示MIAO算法的显著性弱于其他算法. 当p显示为N/A时,表示无法进行显著性检验,这表示MIAO算法的显著性可能与其他算法相同. 结果如表8所示.

表 8   Wilcoxon秩和检验结果

Tab.8  Results of Wilcoxon rank sum test

函数SOAPSOSSAGNDOPPSOFDAAO
phphphphphphph
$ {f_1} $1.816 5×10−411.826 7×10−411.826 7×10−411.816 5×10−411.826 7×10−411.826 7×10−411.826 7×10−41
$ {f_2} $1.816 5×10−411.826 7×10−413.298 4×10−411.816 5×10−411.826 7×10−413.298 4×10−414.236 2×10−41
$ {f_3} $6.386 4×10−516.386 4×10−51N/A08.745 0×10−51N/A0N/A0N/A0
$ {f_4} $8.745 0×10−518.745 0×10−518.745 0×10−518.745 0×10−518.745 0×10−518.745 0×10−518.745 0×10−51
$ {f_5} $1.826 7×10−411.826 7×10−410.025711.826 7×10−411.826 7×10−411.826 7×10−411.826 7×10−41
$ {f_6} $2.165 0×10−516.340 3×10−51N/A07.235 2×10−516.304 3×10−51N/A0N/A0
$ {f_7} $6.386 4×10−516.340 3×10−51N/A06.386 4×10−516.340 3×10−51N/A0N/A0
$ {f_8} $6.386 4×10−516.340 3×10−51N/A06.386 4×10−516.340 3×10−51N/A0N/A0
$ {f_9} $6.386 4×10−510.368 10N/A0N/A0N/A0N/A0N/A0
$ {f_{10}} $3.226 4×10−416.340 3×10−513.221 4×10−413.226 4×10−416.340 3×10−513.221 4×10−410.02061
$ {f_{11}} $1.333 4×10−811.020 3×10−811.322 4×10−812.355 4×10−1011.333 4×10−411.632 4×10−412.355 4×10−101
$ {f_{12}} $1.205 9×10−1211.210 8×10−1213.469 1×10−811.203 4×10−1211.325 0×10−1214.358 7×10−811.523 4×10−51
$ {f_{13}} $1.826 7×10−412.092 6×10−712.981 6×10−812.836 4×10−811.532 1×10−712.354 1×10−712.364 1×10−61
$ {f_{14}} $1.333 4×10−811.020 3×10−811.020 3×10−811.032 0×10−811.354 2×10−816.352 4×10−612.330 6×10−41
$ {f_{15}} $2.453 2×10−312.442 5×10−312.442 5×10−312.442 5×10−312.442 5×10−312.442 5×10−312.463 0×10−31
$ {f_{16}} $2.453 2×10−312.442 5×10−312.442 5×10−312.442 5×10−312.442 5×10−312.442 5×10−312.442 5×10−31

新窗口打开| 下载CSV


4. 减速器设计问题

减速器优化问题的目的是使减速器的质量最小. 共有11个约束条件和7个变量,这7个变量分别是齿面宽$ b $$ \left( { = {x_1}} \right) $、齿轮中的齿数$ {z_1}\left( { = {x_2}} \right) $$ {z_2}\left( { = {x_3}} \right) $、轴承之间第1根轴的长度$ {l_1}\left( { = {x_4}} \right) $、第2根轴的长度$ {l_2}\left( { = {x_5}} \right) $、第1根轴的直径$ {d_1}\left( { = {x_6}} \right) $和第2根轴的直径$ {d_2}\left( { = {x_7}} \right) $. 减速器结构如图4所示,目标函数和约束条件如下所示.

图 4

图 4   减速器的设计结构

Fig.4   Reducer design structure


$ \begin{split} f\left( {\boldsymbol{x}} \right) =\;& 0.785\;4{x_1}x_2^2\left( {3.333\;3x_3^2+14.933\;4{x_3} - 43.093\;4} \right)- \\ \;&1.508{x_1}\left( {x_6^2+x_7^3} \right)+0.785\;4\left( {{x_4}x_6^2+{x_5}x_7^2} \right) .\end{split}$

$ \left. \begin{gathered}{\rm{s}}.{\rm{t}}. \\ {g_1}\left( {\boldsymbol{x}} \right) = \frac{{27}}{{{x_1}x_2^2{x_3}}} - 1 \leqslant 0, \\ {g_2}\left( {\boldsymbol{x}} \right) = \frac{{397.5}}{{{x_1}x_2^2x_3^2}} - 1 \leqslant 0, \\ {g_3}\left( {\boldsymbol{x}} \right) = \frac{{1.93x_4^3}}{{{x_2}x_6^4{x_3}}} - 1 \leqslant 0,{\text{ }} \\ {g_4}\left( {\boldsymbol{x}} \right) = \frac{{1.93x_5^3}}{{{x_2}x_7^4{x_3}}} - 1 \leqslant 0, \\ {g_5}\left( {\boldsymbol{x}} \right) = \frac{{\sqrt {{{\left( {745{x_4}/\left({x_2}{x_3}\right)} \right)}^2}+16.9 \times {{10}^6}} }}{{110x_6^3}} - 1 \leqslant 0, \\ {g_6}\left( {\boldsymbol{x}} \right) = \frac{{\sqrt {{{\left( {745{x_5}/\left({x_2}{x_3}\right)} \right)}^2}+157.5 \times {{10}^6}} }}{{85x_7^3}} - 1 \leqslant 0 . \\ \end{gathered} \right\} $

$ \left. \begin{gathered} {g_7}\left( {\boldsymbol{x}} \right) = \frac{{{x_2}{x_3}}}{{40}} - 1 \leqslant 0, \\ {g_8}\left( {\boldsymbol{x}} \right) = \frac{{5{x_2}}}{{{x_1}}} - 1 \leqslant 0, \\ {g_9}\left( {\boldsymbol{x}} \right) = \frac{{{x_1}}}{{12{x_2}}} - 1 \leqslant 0, \\ {g_{10}}\left( {\boldsymbol{x}} \right) = \frac{{1.5{x_6}+1.9}}{{{x_4}}} - 1 \leqslant 0, \\ {g_{11}}\left( {\boldsymbol{x}} \right) = \frac{{1.1{x_7}+1.9}}{{{x_5}}} - 1 \leqslant 0; \\ {\rm{s.t.}} \ 2.6 \leqslant {x_1} \leqslant 3.6,{\text{ }}0.70 \leqslant {x_2} \leqslant 0.80,{\text{ }} \\ 17 \leqslant {x_3} \leqslant 28,{\text{ }}7.3 \leqslant {x_4} \leqslant 8.3,{\text{ }}7.8 \leqslant {x_5} \leqslant 8.3, \\ 2.9 \leqslant {x_6} \leqslant 3.9,{\text{ }}0.5 \leqslant {x_7} \leqslant 5.5. \\ \end{gathered} \right\} $

与其他7种算法的结果对比如表9所示,收敛曲线如图5所示.

表 9   减速器设计问题的结果比较

Tab.9  Comparison of results of reducer design problem

算法变量最优值最小质量/g
$ b $$ {z_1} $$ {z_2} $$ {l_1} $$ {l_2} $$ {d_1} $$ {d_2} $
SOA[21]3.06820.717518.16607.53807.31823.44515.34673384.0246
PSO[22] 3.6000 0.7000 17.0000 8.3000 7.30003.35255.28653054.5907
SSA[23]3.24530.716617.52638.09697.85393.64415.29633295.7734
GNDO3.49090.740317.24828.14808.04663.30885.36883411.4819
PPSO3.60000.700017.000 07.30007.95003.35055.50003179.9491
FDA3.46300.720017.00727.50387.31583.37405.28653148.1579
AO[17]3.48580.700017.39208.19087.35083.27675.30223150.6512
MIAO3.28990.700017.01287.89907.77083.36425.30343024.8417

新窗口打开| 下载CSV


图5可知,在减速器工程设计中,提出的MIAO算法的寻优结果(包括收敛速度和收敛精度)都比传统天鹰优化算法及其他对比算法好,这进一步说明了改进策略的巨大作用.

图 5

图 5   减速器收敛曲线

Fig.5   Reducer convergence curve


5. 结 语

为了提高天鹰优化算法的寻优能力,平衡探索和开发阶段,本文提出引入相量算子和流向算子的多策略改进天鹰优化算法. 将广义正态分布优化算法与天鹰优化算法的第1阶段相连接,在扩大搜索空间的同时,提高了解的质量,增强了算法的全局搜索能力. 将相量算子加入天鹰优化算法的第2阶段,减少控制参数对算法寻优能力的影响,利用自适应控制,改善算法的高维搜索能力,平衡算法的探索和开发阶段. 将流向算子融入天鹰优化算法第3阶段的操作加强了天鹰个体间信息的交流,保证了迭代后期解的多样性,增强了算法跳出局部最优点的能力. 这3种策略相互作用,提高了天鹰算法的整体性能,但优化时间略有增加. 下一步考虑将MIAO算法应用到现实问题的参数优化中,进一步检验算法的实用性.

参考文献

UMER M, SADIQ S, REEMAH M, et al

Face mask detection using deep convolutional neural network and multi-stage image processing

[J]. Image and Vision Computing, 2023, 133 (10): 46- 57

[本文引用: 1]

TIAN J G, HAN D Y, REZA H K, et al

Deep learning-based open set multi-source domain adaptation with complementary transferability metric for mechanical fault diagnosis

[J]. Neural Networks, 2023, 162 (6): 69- 82

[本文引用: 1]

JESUS J, RUIZ A, URDA D, et al

A freight inspection volume forecasting approach using an aggregation/disaggregation procedure, machine learning and ensemble models

[J]. Neurocomputing, 2020, 391: 282- 291

DOI:10.1016/j.neucom.2019.06.109      [本文引用: 1]

LI C, BAI L, LIU W, et al

A multi-task memory network with knowledge adaptation for multimodal demand forecasting

[J]. Transportation Research Part C: Emerging Technologies, 2021, 131: 103352

DOI:10.1016/j.trc.2021.103352      [本文引用: 2]

GHAREHCHOPOGH F S, NAMAZI M, EBRAHIMI L, et al

Advances in sparrow search algorithm: a comprehensive survey

[J]. Archives of Computational Methods in Engineering, 2023, 30: 427- 455

DOI:10.1007/s11831-022-09804-w      [本文引用: 1]

MUHAMMAD Y, RAJA M A Z, ALTAF M, et al

Design of fractional comprehensive learning PSO strategy for optimal power flow problems

[J]. Applied Soft Computing, 2022, 130: 109638

[本文引用: 2]

XUE J, SHEN B

A novel swarm intelligence optimization approach: sparrow search algorithm

[J]. Systems Science and Control Engineering, 2020, 8 (1): 22- 34

DOI:10.1080/21642583.2019.1708830      [本文引用: 2]

MIRJALILI S, LEWIS A

The whale optimization algorithm

[J]. Advances in Engineering Software, 2016, 95: 51- 67

DOI:10.1016/j.advengsoft.2016.01.008      [本文引用: 1]

LI S N, LI W, TANG J W, et al

A new evolving operator selector by using fitness landscape in differential evolution algorithm

[J]. Information Sciences, 2023, 624 (8): 709- 731

[本文引用: 1]

KAHLOUL S, DJAAFAR Z, BOUALEM B, et al

A multi-external archive-guided Henry gas solubility optimization algorithm for solving multi-objective optimization problems

[J]. Engineering Applications of Artificial Intelligence, 2022, 109: 104588

DOI:10.1016/j.engappai.2021.104588      [本文引用: 1]

KARAMI H, VALIKHAN A M, FARZIN S

Flow direction algorithm (FDA): a novel optimization approach for solving optimization problems

[J]. Computers and Industrial Engineering, 2021, 156 (4): 23- 39

[本文引用: 1]

FATEHI M, TOLORI A, ENRICO Z

An advanced teaching-learning-based algorithm to solve unconstrained optimization problems

[J]. Intelligent Systems with Applications, 2023, 17 (42): 53- 74

[本文引用: 2]

KUMAR M, ANADA J K, SAPATAPHY S C

Socio evolution and learning optimization algorithm: a socio-inspired optimization methodology

[J]. Future Generation Computer Systems, 2018, 81: 252- 272

DOI:10.1016/j.future.2017.10.052      [本文引用: 1]

MOHAMMAD H, SHAHRAKI N, TAGHIAN S, et al

An improved grey wolf optimizer for solving engineering problems

[J]. Expert Systems with Applications, 2021, 166: 113917

DOI:10.1016/j.eswa.2020.113917      [本文引用: 1]

邓志诚, 孙辉, 赵嘉, 等

方波触发勘探与开发的粒子群优化算法

[J]. 自动化学报, 2022, 48 (12): 3042- 3061

DOI:10.16383/j.aas.c190842      [本文引用: 1]

DENG Zhicheng, SUN Hui, ZHAO Jia, et al

Particle swarm optimization with square wave triggered exploration and exploitation

[J]. Acta Automatica Sinica, 2022, 48 (12): 3042- 3061

DOI:10.16383/j.aas.c190842      [本文引用: 1]

AMIRTEIMOORI A, MAHDAVI I, SOLIMANPUR M, et al

A parallel hybrid PSO-GA algorithm for the flexible flow-shop scheduling with transportation

[J]. Computers and Industrial Engineering, 2022, 173 (5): 125- 143

[本文引用: 1]

ABUALIGAH L, YOUSRI D, ELAZIZ M A, et al

Aquila optimizer: a novel meta-heuristic optimization algorithm

[J]. Computers and Industrial Engineering, 2021, 157 (10): 50- 72

[本文引用: 3]

GHAMEHI M, AKBARI E, RAHIMNEJAD A, et al

Phasor particle swarm optimization: a simple and efficient variant of PSO

[J]. Soft Computing: A Fusion of Foundations, Methodologies and Applications, 2019, 23 (19): 1701- 1718

[本文引用: 1]

BUALIGAH L, YOUSRI D, ELAZIZ M, et al

Aquila optimizer: a novel meta-heuristic optimization algorithm

[J]. Computers and Industrial Engineering, 2021, 157 (9): 157- 171

[本文引用: 1]

李玥,穆维松,褚晓泉,等

基于改进量子粒子群的K-means聚类算法及其应用

[J]. 控制与决策, 2022, 37 (4): 839- 850

[本文引用: 1]

LI Yue, MU Weisong, CHU Xiaoquan, et al

K-means clustering algorithm based on improved quantum particle swarm optimization and its application

[J]. Control and Decision, 2022, 37 (4): 839- 850

[本文引用: 1]

EESA A S, HASSAN M M, ARABO W K

Letter: application of optimization algorithms to engineering design problems and discrepancies in mathematical formulas

[J]. Applied Soft Computing, 2023, 11 (5): 23- 64

[本文引用: 1]

HUANG F Z, WANG L, HE Q

An effective co-evolutionary differential evolution for constrained optimization

[J]. Applied Mathematics and Computation, 2007, 186 (1): 340- 356

[本文引用: 1]

HAN M X, DU Z F, ZHU H T

Golden-sine dynamic marine predator algorithm for addressing engineering design optimization

[J]. Expert Systems with Applications, 2022, 210 (11): 60- 84

[本文引用: 1]

/