一种面向多模态优化的新型群体智能优化方法:羊群迁徙优化算法

2023-11-28 03:45海星朔张文良强1王自力1
工程科学学报 2023年12期
关键词:头羊测试函数复杂度

海星朔,张文良,冯 强1,,王自力1,

1) 北京航空航天大学可靠性工程研究所,北京 100191 2) 南洋理工大学电气与电子工程学院,新加坡 639798 3) 北京航空航天大学可靠性与系统工程学院,北京 100191

多模态优化(Multi-modal optimization,MMO)问题广泛存在于生产生活中的各个领域[1].以航空航天工程为例,装备结构形状的最优设计、设备及部件极限条件下最佳工作参数的选取、机械传动装置的最优能耗控制、重大项目的成本管理以及质量改进等,均涉及MMO 问题.由于模型复杂且具有多个局部最优解,求解MMO 问题的全局最优解具有一定挑战,因此,开发高效的多模态优化方法具有现实意义.

相比传统数学优化方法,基于随机搜索的智能优化算法使用启发式策略,无需对目标函数进行解析,适用于大规模、高维度、非线性优化问题求解[2].如基于生物启发的优化算法借鉴生物运动、飞行、觅食等过程中的智能机制,并将其用于算法的设计和开发,极大程度上提高了算法的效率和性能,可适应现实世界中的各类复杂问题.近年来,国内外研究人员通过对生物的行为或生理过程的模拟和仿真获得灵感,设计出许多有效的优化方法.通过模拟飞蛾夜间飞行中的横向定位机制,Mirjalili[3]提出了一种飞蛾火焰优化算法.Zhao等[4]基于蜂鸟觅食策略中使用的轴向、对角线以及全向飞行技能,开发了一种人工蜂鸟算法.受到海洋生物觅食行为启发,Faramarzi 等[5]基于莱维和布朗运动以及捕食者与猎物互动过程的最佳相遇率,设计了海洋捕食者算法.此外,Merrikh-Bayat[6]还利用植物繁殖行为开发了匍匐茎根优化算法.与上述单一生物现象相关的方法相比,群体智能优化算法模仿了社会性生物的群体行为,通过简单个体之间的交流合作来实现群体进化,从而完成优化任务[7].这种基于群体智能的算法,具有更强的鲁棒性和全局搜索能力,适用于处理高维、非线性、复杂的优化问题,已经成为现代优化领域的重要研究方向之一.

以粒子群优化(Particle swarm optimization, PSO)[8]、鸽群优化(Pigeon-inspired optimization, PIO)[9]、狼群优化(Grey wolf optimization, GWO)[10]、人工蜂群(Artificial bee colony, ABC)[11]为代表的方法,由于其原理清晰、结构简洁、易于使用以及全局优化效果显著,已成为目前被广泛使用的群体智能优化算法.与此同时,为了提高上述方法在不同优化问题中的适用性,研究人员还通过在算法中引入新的机制对其进行改良和优化,提出了一系列新的变种[12-17],从一定程度上扩展了传统算法的适用范围.例如,针对PSO 的改进多数集中在算法参数的调整方面,忽略了算法自身结构的局限性[18];针对PIO 的修改主要在不同算子中增加新的种群进化或变异机制[19-20],对于两个算子的协调则鲜有考虑.然而,这些方法均在原有算法基础上进行改进,易受到算法架构的限制,存在一定局限性,不利于群体智能优化算法的发展.

自然界中生物群体的行为和策略具有多样性,不同生物在适应不同环境和生存压力的过程中表现出丰富的群体现象,随着对生物群体行为机制的研究不断深入,越来越多的群体智能行为被探索和发现,为群体智能优化算法的设计和开发提供新的灵感和启示.例如:Chopra 等[21]根据胡狼群的合作狩猎行为,提出了一种亚洲胡狼优化算法,以解决工程优化问题.Hashim 等[22]根据蜜獾的觅食行为,提出了一种蜜獾群优化算法,以解决减速器设计优化问题.Braik[23]则根据变色龙在沙漠、沼泽等地形中寻找食物时的动态行为,提出了变色龙群算法,以解决全局数值优化问题.

尽管已存在许多群体智能优化算法,新的生物群体行为机制仍然具有强大吸引力,启发研究人员开发更高效的方法.受羊群间歇性集体运动现象和角色交替的领导-跟随行为机制的启发[24],并结合对有蹄类动物迁徙[25]、羊群觅食[26]以及生物群体领导-跟随[27]等机制的深入研究和分析,本文提出了一种新型群体智能优化方法—羊群迁徙优化(Sheep flock migrate optimization, SFMO)算法,旨在为群体智能优化领域提供一种新的优化工具,促进群体智能优化的发展.

1 羊群行为机制分析

为了探究羊群的自发行为,Gomez-Nava 等[24]在实验中发现,羊群的集体行为是由群体成员随机交替担任领导者和跟随者角色形成的一系列集体运动事件.与此同时,这些运动事件被羊群的食草行为打断.此外,研究人员对大型食草类、有蹄类动物迁徙、运动、觅食等[25-29]行为的试验和分析结果表明:群体运动与植物资源变化紧密相关,运动策略可根据植物物候学模式进行调整,呈现“绿波冲浪”现象[30].

1.1 两阶段式群体运动机制

作为典型的社会性动物,羊通常以群体形式进行迁徙或觅食.法国学者Gomez-Nava 等[24]通过实验发现,羊群的自发运动规律表现为一系列的集体运动事件,包括分散吃草的阶段和集体运动阶段.在集体运动阶段中,一只领导者会随机出现,带领其他羊进行迁徙.

引理1:在牧场上,羊群表现出一种间歇性的集体运动行为,该行为由一系列集体运动阶段(Collective motion phase, CMP)和放牧阶段(Grazing phase, GP)交替组成.

在集体运动阶段,羊群的行为遵循运动模型:

在放牧阶段,羊群的位置不发生变化,但运动方向会参照式(3)变化:

式中, αij为羊i和 羊j在 极坐标中的角度,Ay(t)在整个GP 阶段均被置为0.

1.2 领导-跟随机制

Gomez-Nava 等[24]揭示了羊群中的另一种群体现象,即领导-跟随.实验结果表明,领导者的移动方向决定了整个羊群的移动方向,且这种行为是通过信息传递完成的.每只羊与其后一只羊形成领导-跟随组合,领导者通过线性、定向的交互网络将自身的位置和移动信息传递给其他成员,实现领导行为.

引理2:在羊群进行集体移动之前,会随机选定一只羊作为领导者.然后,羊群会依照领导者的方向依次移动,每个个体仅会接收到来自其前一只羊(局部领导者)的信息.羊群的信息传递拓扑结构如图1 所示,表现为单向信息传递和单向领导-跟随:

图1 集体运动阶段羊群信息传递拓扑结构(K 为该羊按信息传递顺序排列的序号)Fig.1 Topological structure of information transmission in a sheep flock during the collective motion phase (K is the serial number of the sheep arranged in the order of information transmission)

式中,Δij=xj-xi,R0为两只羊的最大交互距离,β是与视场相关的常数角度,这保证了只有前一只羊(局部领导者)能够影响后一只羊的运动.

1.3 追逐绿浪机制

羊群需要通过频繁的迁徙来确保获取高质量的食物资源,而这个过程并不是随机的.Merkle 等[31]通过实验观察验证了“追逐绿浪”假说的正确性.该假说指出,羊群会追随归一化植被指数(NDVI)的峰值进行迁徙.NDVI 是一种遥感指标,用于测量植被的绿度,羊群追随NDVI 峰值,这意味着它们追随着草原上的绿色浪潮进行群体迁徙,从而保证了羊群能够在广阔的草原上找到最好的草料,这对种群的生存起着关键作用.

引理3:自然界中,羊群会追随NDVI 峰值进行迁徙.NDVI 指标的数学定义为:

式中,NIR 为遥感接收到的近红外强度,Red 为遥感接受到的红光强度.

1.4 社会学习机制

Jesmer 等[29]的研究指出:羊群的行为并非一成不变,而是会受到社会学习的影响.随着时间的推移,羊群的活动范围会扩大,同时也会学习优化新的迁徙路线.此外,羊群在新的栖息地中生存的时间越长,其成员越能够追随绿波,更有效地进行“冲浪”.

引理4:当羊群在某个环境中生存一段时间后,其便会逐渐适应该环境,从而扩大活动范围和迁徙范围,并能够更加娴熟地“追逐绿浪”.

Jesmer 等[29]的实验结果证明了该引理的正确性:即在同一自然环境中,长期居住于此的羊群有65%~100%进行了迁徙;而新放养于此环境中的羊群则只有不足9%的个体进行了迁徙.同时,长期居住羊群种群的“冲浪知识”达到了新放养羊群种群的两倍.

2 羊群迁徙优化算法

受自然界中羊群分散吃草和集体移动两阶段交替进行的迁徙行为以及追逐绿浪的机制启发,本文旨在设计和开发一种仿羊群迁徙行为的智能优化算法.

2.1 SFMO 算法基本流程

在SFMO 算法的一次运行中,依次执行放牧算子和集体运动算子,两种算子的转换是在对NDVI值的评估基础上进行的.

羊群迁徙优化(SFMO)算法Tmax D Xi=[xi1,xin,···,xiD]f(Xi)输入:t=1, 最大迭代次数 , 种群规模Np, 问题维度 , 随机生成初始化个体位置 , 计算所有个体i=1, 2,···, Np的适应度函数值 ;t ≤Tmax 1 While( )Xp_best NDVIi 2 选定头羊, 重置个体最优解 , 重置归一化植被指数 ;tGO ≤TGOmax i 3 While( )Xp_best 4 利用放牧算子随机搜索, 更新 和归一化植被指数 ;Xg_best(t) tGO i NDVIi 5 更新当前群体最优解 , 递增;6 If(达到结束放牧算子条件) Break; End;7 End;Xp_best i 8 计算所有个体最优解 的适应度函数值, 据此对羊群进行排序, 选定头羊;Xg_best(t)9 If( 更新)Xg_best(t)10 羊群采用集体运动算子中整体迁徙策略更新 ;Else Xg_best(t)11 羊群采用集体运动算子中收缩策略更新 ;12 End 13 t=t+1;14 End Xg_best f(Xg_best)输出:全局最优解 及 ;

SFMO 算法的基本流程如图2 所示.由此可知,SFMO 算法在放牧算子和集体运动算子作用下,根据内、外两层循环进行迭代求解,直至达到最大迭代次数为止.

图2 SFMO 算法的流程图Fig.2 SFMO algorithm flowchart

2.2 SFMO 算法计算模型

基于4 个重要引理,SFMO 算法的计算模型可分为放牧算子、集体运动算子和补偿策略,这三个算子共同构成了算法的基本框架.其中,放牧算子旨在提高算法局部搜索性能,集体运动算子旨在加强全局搜索能力,补偿策略则通过平衡两种算子,避免算法陷入局部最优.

2.2.1 放牧算子

根据引理1,羊群的集体行为表现为放牧阶段和集体运动阶段的交替,其中在放牧阶段,每只羊通过在一定空间范围内的随机觅食行为来探索更优质的草场,为集群迁徙做准备.基于此,本文将这一过程抽象为放牧算子,羊群在其解空间中进行随机搜索,以寻找更优的解,同时承担局部搜索功能.

首先,进行随机初始化.包括:算法最大迭代次数Tmax,种群数量Np(p 代表population),问题维度D,每只羊i(i=1,2,···,Np) 的 位 置Xi=[xi1,xn,···,xiD].在此过程中,计算每只羊i(i=1,2,···,Np)所对应解的适应度函数值fi并排序,根据适应度函数的目标,将最优值对应的个体选为头羊,即领导者,记录当前群体最优解Xg_best(t) , 其中t为算法当前迭代次数.

在完成羊群和参数初始化后,算法进入放牧算子环节.每只羊i将在以自身位置为中心的D维空间内进行随机搜索,其中,头羊的位置为Xleader=[xleader1,xleader2,···,xleaderD], 其他羊的位置为Xi=[xi1,xin,···,xiD],迭代方式为:

式中,tGO为此次迭代中羊群已搜索次数,e=[e1,e2,···,eD]为 一 个D维 向 量,每 一 个 分 量ej,j∈{1,2,···,D} 都 是[-1, 1]之间的随机数,Sleader和S分别为头羊和普通羊的搜索步长,更新方式为:

式中,sleader和s分别表示头羊和普通羊的基准搜索步长.当一只羊搜索到了比自身位置更优的解,会对个体最优位置Xip_best进行更新:

根据引理3,自然界中羊群会追逐NDVI 的峰值进行迁徙.基于此,本文提出了一种新的NDVI 指标,用于衡量搜索到解的优化程度,进而引领羊群进行迁徙.对于任意一只羊i,定义的NDVI 值NDVIi∈[0,1],且该值越大,表明搜索到的解越优.每一次迭代开始时所有羊的NDVI 值初值均设为0,当其搜索到更优解时,便会更新自身NDVI 值,更新方式为:

当种群中所有羊都完成一次搜索后,对所有解进行评估,以决定是否结束放牧算子.评估过程为:

(1)计算羊群的平均NDVI 值 NDVIave:

(2)算法将更新种群当前最优解Xg_best(t).

(3)算法通过设定的条件确定放牧算子是否结束并启动集体运动算子:

条 件1: NDVIave>NDVIthreshold且Xg_best(t)获 得更新,其中 NDVIthreshold代表迁徙判据,是预先设定的一个常数.

条件2:tGO>TGOmax,其中TGOmax表示算法在一次迭代中羊群的最大允许搜索次数.

当满足条件1 或条件2 时,放牧算子结束,羊群进入集体移动算子.

需要说明的是,条件1 表示种群搜索到的解的质量相比于初始解集已有整体提升,同时找到了更好的群体最优解,此时羊群可以通过集体移动探索新的牧场.条件2 表示羊群已经进行了足够多的搜索,继续搜索获得更优收益的概率较低,因此可以进入下一阶段.

如果上述条件不能满足,将继续执行放牧算子.

2.2.2 集体运动算子

根据引理1,羊群会在集体运动阶段进行整体迁徙.基于此,本文将该阶段抽象为集体运动算子,通过模拟羊群在头羊的领导下进行迁徙以寻找新草场的行为,来实现全局搜索和优化的过程.根据引理2,羊群迁徙中会出现一只随机选出的头羊作为领导者,而其他羊则会排成一列按顺序移动,每一只羊只接受前一只羊的领导.据此,本文提出了集体运动算子中的整体迁徙策略.

移动策略1(整体迁徙):若羊群在放牧算子中更新了Xg_best(t),则羊群进行整体迁徙,头羊的位置更新规则为:

式中,c为羊群的基准迁徙步长.头羊完成移动后,其他羊按照次序依次移动,其位置更新为:

式中, ωα,ωβ,ωγ∈R表示不同方向的比例系数,满足ωα+ωβ+ωγ=1,不同的取值组合决定了羊群选择不同的迁徙策略,三个单位方向向量分别为:

在由移动策略1 主导的集体移动算子中,还需要在每次整体迁徙后对头羊的优化情况做进一步判断.如果头羊位置得到优化,那么需要重复执行迁徙过程,直到头羊位置不再优化为止;若未得到优化,则结束集体运动算子,羊群在下一次迭代开始时的位置由式(20)确定:

移动策略2(收缩):若羊群在放牧算子中未更新Xg_best(t),表明羊群可能位于最优解附近,执行收缩策略.此时,头羊的位置不变,其余羊根据头羊位置和自身个体最优解进行位置更新,计算方式为:

式中, δ1,δ2∈R为随迭代次数线性变化的收缩系数,且满足计算方式为:

所有羊都进行一次收缩移动后,结束集体移动算子,进入下一次迭代.

2.2.3 补偿策略

为了避免算法陷入局部最优,进一步设计补偿策略来提高算法跳出局部最优的能力.引理4 表明,羊群能够通过社会学习获得迁徙知识,提升迁徙能力和活动范围.结合这一结论,本文提出一种基于扩大放牧算子搜索范围的补偿策略,以降低算法陷入局部最优的概率.

羊群执行收缩策略(移动策略2)后,尽管增强了局部搜索能力,但由于整体更为聚集,也增大了陷入局部最优解的概率.为了弥补这种损失,本文参考引理4,收缩策略代表羊群在同一区域长期觅食,理应获得更大的活动范围.因此,可以通过扩大放牧算子搜索范围的方式对全局搜索能力进行补偿:

式中,e∈R为补偿因子.在下一次迭代中,补偿策略将放牧算子的搜索范围扩大e倍,以有效降低羊群迁徙算法在前期陷入局部最优解的概率.当算法迭代至放牧算子的后期阶段,根据式(3)和(4)的作用,搜索步长已递减至较小值,但仍能保持足够的局部搜索能力.

2.3 收敛性证明

SFMO 算法由放牧算子和集体运动算子组成,其中,放牧算子为集体运动算子提供参考,故集体运动算子的收敛性与算法收敛性一致.为了分析集体运动算子的收敛特征,需做假设.

假设1:算法在进行到第L(M<L<Tmax)次迭代后,集体运动算子均执行收缩策略.

由于只有当放牧算子阶段搜索到群体更优解的情况下,集体运动算子才会执行整体迁徙策略,而当迭代次数趋近于无穷时,很难再通过局部搜索找到更优解,因此便会执行收缩策略,从而证明假设1 合理.

证明过程:当t=L时,集体运动算子最后一次执行迁徙策略,头羊位置依照式(13)确定:

式中,表示头羊在集体运动算子中移动次数为0 时的位置,即放牧算子阶段的位置.取=τ为常数.

当L<t<Tmax时,集体运动算子执行收缩策略,此时头羊位置不变:

其余羊按照式(21)确定自身位置.为方便讨论,对式(21)进行简化,不考虑其中的随机变量 rand:

对式(27)进行化简可得:

将式(26)代入式(29)中可得:

由式(22)可得:

由于k=2,3,···,Np,式(32)适用于除头羊外的所有羊,而式(26)表明头羊的位置也会收敛到 τ.因此,整个种群最终均会收敛至 τ,羊群迁徙优化算法具有收敛性.

2.4 复杂度分析

羊群迁徙算法的复杂度可以分为两部分进行讨论,分别为算法机制带来的复杂度和算法算子带来的复杂度.

首先考虑算法机制带来的复杂度.其中最重要的是对算法排序机制进行复杂度分析,由于采用了快速排序算法,因此,该部分最好和最差情况下的计算复杂度分别为O(Np×lgNp)和O(Np2).

算法算子带来的复杂度又分为放牧算子复杂度和集体运动算子复杂度.

由于放牧算子中羊群搜索次数上限为TGOmax,因此,考虑最差情况下,放牧算子在一次迭代中的计算复杂度为O(Np×D×TGOmax).而在集体运动算子阶段羊群的搜索次数远小于放牧算子阶段,故此部分带来的复杂度可忽略不计.同时,这部分忽略的复杂度可以由放牧算子阶段多考虑的计算成本进行抵消,因此,这种忽略是合理的.

综上所述,可得到SFMO 算法的计算复杂度:

式中,Tmax为最大迭代次数,Np为羊群种群数量,D为问题维度,TGOmax为最大搜索次数.

3 数值仿真验证

为了验证SFMO 算法的可行性和有效性,本文采用多模态函数优化问题进行案例验证,选取CEC-2017 基准函数集中测试7 个典型多模态函数进行数值仿真分析,基准函数信息如表1 所示.此外,将SFMO 算法与PSO 算法、PIO 算法以及GWO算法等经典群体智能优化方法进行对比,进一步分析算法在求解多模态函数优化问题中的优势和不足.

表1 CEC-2017 测试函数Table 1 CEC-2017 test functions

3.1 参数设置

与3 种经典的群体智能优化方法进行对比,不同算法存在共同参数,包括问题维度D、最大迭代次数Tmax以及种群数量Np.公平起见,同一试验条件下的共同参数取值相同.此外,个性化参数则根据不同算法常见参数取值进行选取,由此得到数值仿真验证的试验参数设置,如表2 所示.

需要指出的是,SFMO 算法机制较为特殊,其在一次迭代内最多进行TGOmax次搜索,因此在种群数量相同情况下,其他算法的最大迭代次数应为SFMO 算法的TGOmax倍,结果如表2 所示,符合CEC-2017 说明文档要求.

仿真所使用的电脑为惠普RMN:TPN-Q265,处理器为Intel i5-11400H,仿真环境为MATLABR 2020a.

3.2 仿真结果分析

3.2.1 测试数据统计

以CEC-2017 基准函数为基础,使用4 种算法在维度D=10、30 和50 对7 个多模态测试函数进行51 次独立优化计算,每种算法的最优值、最差值、中位数、平均数与方差如表3~5 所示.

表3 D=10 时不同算法测试结果统计Table 3 Statistics for different algorithms at D=10

由表3 可知,在D=10 的情况下,PSO 和SFMO的搜索结果平均值更接近最优解,二者的方差也明显小于PIO 和GWO;而PSO 和SFMO 在不同函数上表现互有优劣:其中,PSO 在基准函数3、4、6和9 上表现出良好的搜索性能,SFMO 对基准函数5 和8 效果更好,而在基准函数7 上PSO 搜索精度最高,SFMO 方差最小.

根据表4 和表5 数据可知,随着问题维度的增加,SFMO 表现更加出色.在D=30 和D=50 情况下,SFMO 的最优值、最差值、中位数、平均值和方差整体上均明显优于PSO、GWO 和PIO,说明SFMO 在求解高维问题时具有最高的求解精度和更强的鲁棒性.特别地,在基准函数5 和8 上,SFMO 表现最佳;在基准函数6 上,PSO 整体表现最佳,但SFMO 也表现出了极高的搜索精度和极小的方差.

表4 D=30 时不同算法测试结果统计Table 4 Statistics for different algorithms at D=30

表5 D=50 时不同算法测试结果统计Table 5 Statistics for different algorithms at D=50

3.2.2 误差分析

为了进一步分析SFMO 算法的性能,7 个基准函数在不同算法、不同维度下的误差迭代曲线,如图3~9 所示.

图3 No.3 测试函数误差曲线.(a) D=10; (b) D=30; (c) D=50Fig.3 No.3 test function error curve: (a) D=10; (b) D=30; (c) D=50

图3 为测试函数3 的误差曲线,从中可以看出,10 维情况下,SFMO 在迭代前期具有最快的收敛速度,PSO 在迭代后期收敛最快;30 维和50 维情况下,PIO 前期误差下降速度最快,SFMO 后期误差下降速度最快;而在搜索精度方面,10 维情况下PSO 的最终精度最高,但是在30 维和50 维情况下,SFMO 的最终精度有明显优势.

图4 显示SFMO 的收敛速度优势体现得更加明显;在搜索精度方面与测试函数3 情况一致,10 维时PSO 最优,30 维和50 维时SFMO 最优.

图4 No.4 测试函数误差曲线.(a) D=10; (b) D=30; (c) D=50Fig.4 No.4 test function error curve: (a) D=10; (b) D=30; (c) D=50

从图5 可以看出,在函数5 的误差曲线中,SFMO在所有维度下的误差下降速度和最终搜索精度均为最优.

图5 No.5 测试函数误差曲线.(a) D=10; (b) D=30; (c) D=50Fig.5 No.5 test function error curve: (a) D=10; (b) D=30; (c) D=50

图6 和图7 可以看出,在测试函数6 和7 中,SFMO 整体具有最快的收敛速度,但是PSO 具有最好的最终收敛精度.

图6 No.6 测试函数误差曲线.(a) D=10; (b) D=30; (c) D=50Fig.6 No.6 test function error curve: (a) D=10; (b) D=30; (c) D=50

图7 No.7 测试函数误差曲线.(a) D=10; (b) D=30; (c) D=50Fig.7 No.7 test function error curve: (a) D=10; (b) D=30; (c) D=50

从图8 中可以明显看出,SFMO 具有最快的收敛速度和最高的搜索精度.

图8 No.8 测试函数误差曲线.(a) D=10; (b) D=30; (c) D=50Fig.8 No.8 test function error curve: (a) D=10; (b) D=30; (c) D=50

图9 显示在10 维情况下,PSO 的误差下降速度和搜索精度均为最优;而在30 维和50 维情况下,则是SFMO 拥有最优搜索精度和误差下降速度.

图9 No.9 测试函数误差曲线.(a) D=10; (b) D=30; (c) D=50Fig.9 No.9 test function error curve: (a) D=10; (b) D=30; (c) D=50

综合分析,SFMO 算法在基本所有情况下都具有最快的误差下降速度,能够以最少迭代次数达到相对较低的误差水平,说明SFMO 算法的搜索效率最优.而在搜索精度方面,各算法的表现与问题维度相关:在10 维情况下,PSO 的最终精度最高,SFMO 稍稍落后,GWO 与PIO 的精 度相对较差;当问题维度提高时,PSO 的优化精度出现了大幅下降,SFMO 则表现出更好的高维稳定性和鲁棒性,如在30 维和50 维情况下,SFMO 在除函数6、函数7 外的5 个测试函数上的精度表现均大幅优于其他三个算法.由此可知SFMO 算法在高维多峰问题上拥有最高的优化精度.

3.3 讨论

结合试验结果可知,SFMO 可以有效地解决多模态优化问题.然而,由于测试函数具有不同的特征,SFMO 的表现存在一定差异.例如,有的函数(测试函数5 和8)峰谷波动较大;有的函数(测试函数3)则存在平缓的区域.这为SFMO 算法参数的有效选取带来一定挑战,在仿真测试中发现,方向系数 ωα、ωβ、ωγ的不同取值可以为算法带来不同的优化侧重点,若针对不同问题的特征选定合适的方向系数,则有望提高SFMO 在不同函数上的表现.此外,在现有算子中引入例如学习、变异等机制或将算法与其他算法相结合也可提高SFMO算法在不同问题背景下的适应能力和优化性能.

4 结论

受羊群间歇性集体运动现象的启发,本文提出了一种新的仿生群体智能优化方法,即羊群迁徙优化(SFMO)算法.该算法利用羊群在解空间中的随机搜索和集体运动特性,将局部搜索和全局搜索相结合,以有效提升算法的全局搜索能力.文章分别从理论分析和数值仿真两个方面对此方法进行了验证.

(1) 通过对羊群的两个阶段群体运动机制、领导-跟随机制和追逐绿浪机制的分析和建模,设计了算法的核心计算模型,即放牧算子和集体运动算子.特别地,基于“冲浪”机制,进一步设计了补偿策略,以避免算法陷入局部最优解.

(2) 通过收敛性证明,给出了羊群迁徙优化算法的收敛条件,以确保其有效性,并为算法在未来实际工程应用中提供理论保证.通过复杂度分析,进一步评估了SFMO 算法的性能和执行效率,为算法的设计改进提供参考,并为不同问题的求解提供选择和比较的依据.

(3) 羊群迁徙优化算法可以有效解决函数优化问题,尤其是对于具有挑战性的多模态优化问题,在搜索精度、解算效率和误差等方面具有显著优势.SFMO 算法具有广阔的前景,可以为更多工程实际问题的求解提供新思路,是未来工作的重点.例如,在电力系统中,可以应用该算法来解决电网规划问题、优化电力调度方案;在智能制造中,可以利用该算法优化生产线的排布,提高生产效率等.此外,还可以将算法应用于数据挖掘、机器学习等领域,进一步拓展算法的应用范围.

猜你喜欢
头羊测试函数复杂度
一种低复杂度的惯性/GNSS矢量深组合方法
求图上广探树的时间复杂度
具有收缩因子的自适应鸽群算法用于函数优化问题
带势函数的双调和不等式组的整体解的不存在性
某雷达导51 头中心控制软件圈复杂度分析与改进
约束二进制二次规划测试函数的一个构造方法
头羊
头 羊
出口技术复杂度研究回顾与评述
后套头羊