1. 引言
2014年文献 [1] 提出了一种新型群体智能优化算法:灰狼优化算法。灰狼算法具有结构简单、需要调节的参数少、容易实现等特点,其在对问题的求解精度和收敛速度方面都有良好的性能。因此,GWO算法被广泛应用于无人作战飞行器路径规划 [2] 、聚类分析 [3] 、特征子集选择 [4] 、多输入输出电力系统 [5] 等诸多领域。由于GWO算法提出的时间不长,因此其理论研究尚未成体系,多数学者都是从特定角度,针对具体问题对GWO进行改进和应用研究。这些改进虽然在一定程度提高了算法的性能,但在避免陷入局部最优,以及全局搜索能力上仍不足。因此,更好地提高灰狼算法的收敛速度和寻优能力具有广阔的研究空间 [6] 。
POA算法是一种新的元启发式优化算法 [7] ,灵感来自鹈鹕狩猎行为。它具有调整参数少、收敛速度快、计算简单等优点。由于POA算法刚提出来的时间很短,目前对其应用研究尚未有之。
综上所述,根据GWO算法存在的一些不足,本文将通过引进鹈鹕算法对灰狼初始种群进行优化,使初始种群的质量大大提高,这有助于加快灰狼迅速搜寻到最优解。然后通过不同类型的单峰,高维多模态和固定维多模态的6个典型的测试函数对算法的性能进行测试。最后将POAGWO算法应用于压力容器设计、拉伸/压缩弹簧设计、三杆桁架设计和气体输送压缩机设计等4个工程优化设计问题。应用结果表明POAGWO算法具有很好的求解性能,这也有望将其应用于求解其它的工程优化设计问题。
2. 灰狼算法
2.1. 灰狼算法数学模型
2.1.1. 包围猎物
在捕猎的过程中,将灰狼包围捕捉猎物的群体行为定义为 [8] :
(1)
(2)
其中,式(1)则表示了灰狼相对于猎物位置距离;式(2)是灰狼的下一步移动的方位公式;t则是当前的迭代次数。
2.1.2. 狩猎
灰狼群体中的个体追捕猎物的数学模型可以用以下公式来描述 [8] :
(3)
其中,
,
,
分别表示
狼,
狼,
狼与其他灰狼间的距离向量。
,
,
分别表示
狼,
狼,
狼的当前位置向量;
,
,
是随机的矩阵向量;
则是狼群中当前地位低的狼的方位向量。
(4)
(5)
其中,式(14)分别定义了狼群中
狼各自朝
狼,
狼,
狼前进的步长和方位,式(15)定义了
狼的下一步移动的方位 [9] 。
2.2. 灰狼优化算法流程
GWO算法流程图如图1所示。
灰狼优化算法的基本步骤如下:
步骤1:初始化灰狼种群,以及
,
和
。
步骤2:计算灰狼个体的适应度值,保存适应度最好的前3只狼
,
和
。
步骤3:根据式(6)~式(12)更新当前灰狼位置。
步骤4:判断是否达到最大迭代次数,若没有,则重复步骤2~4;否则输出最优结果。
2.3. 灰狼算法的应用
2.3.1. PID控制器参数的优化
在工业系统的控制领域中,GWO算法设计了一种新的最优PID控制器,来更好地提高系统的动态性能,同时利用GWO算法优化模糊PID控制器,应用于互联的水火电力系统的自动控制和用于太阳能热发电站的自动发电控制系统中。
2.3.2. 英支持向量机参数的优化
利用GWO算法来优化支持向量机(SVM)的参数,并用优化后的SVM来评估水质;利用GWO算法调整SVM分类器,用于iEEG信号分类的案例研究中行。
2.3.3. 神经网络参数的训练
使用GWO算法为BP神经网络提供初始解决方案,并将GWO算法与监督人工神经网络分类器相结合,通过选择人工神经网络的最优参数实现增强的大脑磁共振图像的分类精度。
3. 鹈鹕算法
鹈鹕算法是一种新的随机自然启发优化算法,其主要思想是模拟鹈鹕在狩猎过程中的自然行为。该算法设计的主要思想是对鹈鹕在狩猎过程中的行为和策略进行建模 [7] 。
3.1. 鹈鹕算法的数学模型
在鹈鹕优化算法中,模拟了鹈鹕在攻击和狩猎时的行为和策略,以此来更新候选解。该狩猎过程分为两个阶段:逼近猎物(勘探阶段),水面飞行(开发阶段)。
3.1.1. 初始化
鹈鹕种群初始化数学描述如下式:
(6)
式中:
为第i个鹈鹕的第j维的位置;
是[0, 1]范围内的随机数;
和
分别是求解问题的第j维的上下边界。
在鹈鹕优化算法中,鹈鹕种群可以用以下种群矩阵表示:
(7)
式中:
为鹈鹕的种群矩阵;为第
个鹈鹕的位置;N为鹈鹕的种群数量;m为求解问题的维度。
在鹈鹕优化算法中,求解问题的目标函数可以用来计算鹈鹕的目标函数值;鹈鹕种群的目标函数值可以用目标函数值向量表示:
(8)
3.1.2. 第一阶段:走向猎物(探索阶段)
在第一阶段,鹈鹕识别猎物的位置,然后向这个确定的区域移动。对鹈鹕逼近猎物策略进行建模,使得POA算法可以对搜索空间进行扫描,进而发挥POA算法在搜索空间中的不同区域的勘探能力。在POA算法中,需要重视的一点是:猎物的位置在搜索空间中是随机生成的,这样增加了POA算法在解决精确搜索问题上的勘探能力。对上述概念和逼近猎物策略进行数学建模,如下:
(9)
式中,
为基于第1阶段更新后第i个鹈鹕的第j维的位置;I为1或2的随机整数;
为猎物的第j维的位置;
为猎物的目标函数值。
在POA算法中,如果目标函数值在该位置得到改善,则接受鹈鹕的新位置。在这种类型的更新中,也被称为有效更新,该算法不能移动到非最优区域。这个过程可以用如下公式描述:
(10)
式中:
为第i个鹈鹕的新位置;
为基于第一阶段更新后的第i个鹈鹕的新位置的目标函数值
。
3.1.3. 第二阶段:水面上穿起(开采阶段)
在第二阶段,当鹈鹕到达水面后,它们在水面上展开翅膀,将鱼向上移动,然后把猎物放在它们的喉咙袋里。鹈鹕水面飞行的这种策略可以使得它们在被攻击区域内捕获更多的鱼。鹈鹕在狩猎过程中的这种行为在数学建模为:
(11)
式中,
为基于第2阶段更新后第i个鹈鹕的第j维的位置;R为0或2的随机整数;t为当前迭代次数;T为最大迭代次数。
在此阶段,还使用了有效的更新来接受或拒绝新的鹈鹕位置,该位置是否被接受的数学建模为:
(12)
式中:
为第i个鹈鹕的新位置;
为基于第一阶段更新后的第i个鹈鹕的新位置的目标函数值
。
3.2. 鹈鹕优化算法流程
鹈鹕优化算法的流程图如图2所示。
![](//html.hanspub.org/file/11-1251982x63_hanspub.png?20230725175959305)
Figure 2. Pelican optimization algorithm flow chart
图2. 鹈鹕优化算法流程图
POA算法伪代码如表1所示。
4. 鹈鹕初始化的灰狼算法
正如我们所知道的那样,启发式算法对初始解的质量是极其依赖的。因为这将直接影响到启发式算法的最终性能。所以,初始种群的选择尤关重要。因此,为了更好地提高灰狼算法初始种群的质量,将用POA算法来初始化GWO算法的初始位置,故提出了基于鹈鹕初始化灰狼位置的算法,以达到增强灰狼算法的求解性能。
POAGWO算法的基本步骤如下:
步骤1:初始化鹈鹕种群,设置鹈鹕数量为N,最大迭代次数为T。
步骤2:利用式(6)、式(7)和式(8)初始化鹈鹕的位置并计算目标函数。
步骤3:第一阶段:利用式(9)、式(10)更新鹈鹕位置。
步骤4:第二阶段:利用式(11)、式(12)更新鹈鹕位置。
步骤5:判断是否满足终止迭代条件。若满足,则输出最优位置;否则,返回步骤3;
步骤6:将鹈鹕算法得到的最优位置作为灰狼的初始位置。
步骤7:根据式(1)~式(5)更新当前狼位置。
步骤8:计算灰狼个体的适应度值,保存适应度最好的前3只狼作为
,
和
。
步骤9:判断是否满足终止迭代条件,若没有,则返回步骤7;否则输出最优结果。
5. 仿真分析
5.1. 测试函数集及实验参数设置
在测试函数中,GWO算法、POA算法和GWOPOA算法的种群规模和最大迭代次数分别均设置为20、50。
为了验证POAGWO算法的有效性能,分别将GWO算法、POA算法、POAGWO算法应用于不同类型的单峰,高维多模态和固定维多模态的6个典型的测试函数。这6个测试函数如下所示。
Rosenbrock函数(也称为Valley或Banana函数):
Quartic函数:
Schwefel’s函数:
Penalized高维函数:
Where:
Penalized固定维函数:
Shekel’s Foxholes函数:
对于选取的测试函数,其具体信息如表2所示:
![](Images/Table_Tmp.jpg)
Table 2. Basic information of 6 test functions
表2. 6个测试函数基本信息
5.2. 结果数据分析
开发能力证明了该算法在局部搜索并尽可能收敛到全局最优的能力。根据这一概念,一个好的优化算法应该能够准确地扫描所确定的最优区域周围的空间,以提供合适的准最优值(opt)。探索能力展示了算法在问题解决空间中进行全局搜索并跨越局部最优区域以发现主要最优区域的能力,以提供合适的平均值(avg)。因此,在比较几种优化算法时,更准确地扫描搜索空间并能够识别包含全局最优区域的算法具有更高的勘探能力。勘探能力在优化除全局最优外还具有多个局部最优的问题中尤为重要。
对选取的测试函数,分别利用GWO算法、POA算法、POAGWO算法独立运行30次,统计得到的最优值与平均值的结果如表3所示。
![](Images/Table_Tmp.jpg)
Table 3. Optimization performance comparison of three algorithms in test function
表3. 3种算法在测试函数的寻优性能对比
从表3可以看出,与GWO算法、POA算法相比,POAGWO算法得到的最优值是最小的。因此,POAGWO算法具有非常强的竞争力和更高的开发能力。同时,POAGWO算法得到的平均值也是最小。因此,POAGWO算法对于问题解决空间中的全局搜索具有很高的探索能力,并且能够识别出最佳的局部区域。
GWO算法、POA算法和POAGWO算法在6个测试函数上的迭代曲线如图3~8所示。
![](//html.hanspub.org/file/11-1251982x86_hanspub.png?20230725175959305)
Figure 3. The convergence curve of
图3.
的收敛曲线
![](//html.hanspub.org/file/11-1251982x89_hanspub.png?20230725175959305)
Figure 4. The convergence curve of
图4.
的收敛曲线
![](//html.hanspub.org/file/11-1251982x92_hanspub.png?20230725175959305)
Figure 5. The convergence curve of
图5.
的收敛曲线
![](//html.hanspub.org/file/11-1251982x95_hanspub.png?20230725175959305)
Figure 6. The convergence curve of
图6.
的收敛曲线
![](//html.hanspub.org/file/11-1251982x98_hanspub.png?20230725175959305)
Figure 7. The convergence curve of
图7.
的收敛曲线
![](//html.hanspub.org/file/11-1251982x101_hanspub.png?20230725175959305)
Figure 8. The convergence curve of
图8.
的收敛曲线
从图3~8可以很明显看出,在收敛速度和收敛精度上,POAGWO算法都要优于POA算法和GWO算法。所以总体来说,与POA算法和GWO算法相比,POAGWO算法表现较为优异。
6. 工程优化应用
在本节中,为了进一步验证本文提出的POAGWO算法在解决实际应用中的问题方面的表现。为此,将该方法应用于压力容器设计优化、拉伸/压缩弹簧设计优化、三杆桁架设计优化和气体输送压缩机设计优化等4个优化问题,并与其他优化算法做比较。
6.1. 压力容器设计优化
压力容器设计优化问题是一个经典的工程最小化设计问题,其示意图如图9所示 [10] 。该问题的数学模型如下。
Consider:
Minimize:
Subject to:
With bounds:
,
![](//html.hanspub.org/file/11-1251982x112_hanspub.png?20230725175959305)
Figure 9. Pressure vessel design diagram
图9. 压力容器设计示意图
对压力容器设计优化问题采用POAGWO算法求解,并与利用文献 [11] 中的SBSM算法、文献 [12] 中的CPSO算法、文献 [13] 中的HPSO算法、文献 [14] 中的ES算法和文献 [11] 中的CS算法求解压力容器设计问题的结果进行比较。比较结果如表4、表5所示。
![](Images/Table_Tmp.jpg)
Table 4. Performance test results of six algorithms for pressure vessel design optimization
表4. 6种算法对压力容器设计优化的性能测试结果
从表4可以看出,在对压力容器设计优化问题的求解结果中的最优值、最差值、平均值和标准差的比较中,POAGWO算法都是要优于SBSM算法、CPSO算法、HPSO算法、ES算法和CS算法,这足以说明了POAGWO算法相比于与SBSM算法、CPSO算法、HPSO算法、ES算法和CS算法在对拉伸/压缩弹簧设计优化问题的求解中拥有更高的寻优性能。
![](Images/Table_Tmp.jpg)
Table 5. Optimization results of six algorithms for pressure vessel design optimization
表5. 6种算法对压力容器设计优化的优化结果
从表5中可以看出,POAGWO算法计算后的最小值为5885.3328,而SBSM算法、CPSO算法、HPSO算法、ES算法和CS算法计算后的结果分别为6171.000,6061.0780,6059.7140,6059.7144,6059.7143,均差于POAGWO算法。这表明POAGWO算法能够搜寻到更好的最优值,是解决压力容器设计优化问题的一种更有效的优化算法。
6.2. 拉伸/压缩弹簧设计优化
拉伸/压缩弹簧设计优化问题是一个重量最小化问题,其示意图如图10所示 [15] 。该问题的数学模型如下:
Consider:
Minimize:
Subject to:
With bounds:
![](//html.hanspub.org/file/11-1251982x119_hanspub.png?20230725175959305)
Figure 10. Stretch/compression spring design schematic
图10. 拉伸/压缩弹簧设计示意图
利用POAGWO算法对拉伸/压缩弹簧设计优化问题进行求解,并与利用文献 [16] 中的CGFDE算法、CPSO算法求解拉伸/压缩弹簧设计优化问题的结果进行比较。比较结果如表6、表7所示。
![](Images/Table_Tmp.jpg)
Table 6. Performance test results of three algorithms for tension/compression spring design optimization
表6. 3种算法对拉伸/压缩弹簧设计优化的性能测试结果
从表6可以看出,在对拉伸/压缩弹簧设计优化问题的求解结果中的最优值、最差值、平均值和标准差的比较中,POAGWO算法都是要优于CGFDE算法、CPSO算法,这足以说明了POAGWO算法相比于与CGFDE算法、CPSO算法在对拉伸/压缩弹簧设计优化问题的求解中拥有更高的寻优性能。
![](Images/Table_Tmp.jpg)
Table 7. Optimization results of three algorithms for tension/compression spring design
表7. 3种算法对拉伸/压缩弹簧设计的优化结果
从表7中可以看出,POAGWO算法计算后的最小值为0.0099,而CGFDE算法和CPSO算法计算后的结果分别为0.0377、0.0591,均差于POAGWO算法。这表明POAGWO算法能够搜寻到更好的最优值,是解决拉/压弹簧设计优化问题的一种更有效的优化算法。
6.3. 三杆桁架设计优化
三杆桁架设计优化问题是土木工程中的经典设计优化问题 [17] ,常用于评估不同算法的性能。其优化目标是最小化三杆桁架的重量。两个变量(
,
)需要优化以调整杆的横截面积。这个问题的数学模型如下:
Consider:
Minimize:
Subject to:
Where:
,
,
With bound:
利用POAGWO算法对三杆桁架设计优化问题进行求解,并与利用文献 [18] 中的AOA算法,文献 [19] 中的CJAYA算法,文献 [20] 中的mGWO算法、JADE算法、CMA-ES算法、modGWO算法和GABC算法,文献 [21] 中的m-SCA算法、SCA算法和CS算法,文献 [22] 中的MFO算法,文献 [23] 中的HHO-SCA算法,文献 [24] 中的CCSA算法和Best-so-far算法求解三杆桁架设计优化问题的结果进行比较。比较结果如表8所示。
![](Images/Table_Tmp.jpg)
Table 8. Optimization results of 15 algorithms for three-bar truss design optimization
表8. 15种算法对三杆桁架设计优化的优化结果
从表8可以看出,POAGWO算法在三杆桁架设计三杆桁架设计问题中获得的最小重量为263.895843。AOA算法、CJAYA算法、mGWO算法、JADE算法、CMA-ES算法、modGWO算法、GABC算法、m-SCA算法、SCA算法、CS算法、MFO算法、HHO-SCA算法、CCSA算法、Best-so-far算法得到的结果分别为263.9154,263.895844,263.8961,263.8968,263.9867,263.8974,263.8966,263.8972,263.9348,263.9716,263.895979682,263.8958665,263.895844和263.895976,均比POAGWO算法得出的结果大。因此,POAGWO算法得出的结果更符合实际工程中效益最大化的制造需求。可以看出,POAGWO算法比其他算法具有更好的可搜索性。
6.4. 气体输送压缩机设计优化
气体输送压缩机设计优化问题是机械工程领域流行的优化设计问题。它有四个优化变量和一个不等式约束 [25] 。气体输送压缩机设计问题的数学模型描述如下:
Consider:
Minimize:
Subject to:
With bounds:
,
,
and
利用POAGWO算法对气体输送压缩机设计问题进行求解,并与利用文献 [26] 中的WOAmM算法、WOA算法、SOS算法、BOA算法、SSA算法、PSO算法和DE算法求解气体输送压缩机设计优化问题的结果进行比较。比较结果如表9所示:
![](Images/Table_Tmp.jpg)
Table 9. Optimization results of 8 algorithms for gas transport compressor design optimization
表9. 8种算法对气体输送压缩机设计优化的优化结果
从表9中可以看出,POAGWO算法计算后的最小值为2.964895E+06,而WOAmM算法、WOA算法、SOS算法、BOA算法、SSA算法、PSO算法、DE算法计算后的结果分别为2.9649E+06、2.9658E+06、2.9649E+06、3.007E+06、3.0341E+06、3.0509E+06、2.9649E+06,均差于POAGWO算法。这表明POAGWO算法在求解气体输送压缩机设计优化问题的上性能优越,可以找到更好的最优值。
7. 总结
1) 本文中提出一种基于鹈鹕初始化的灰狼算法,通过求解单峰、高维多模态和固定维多模态的6个目标函数对算法进行了测试。此外,为了进一步分析所提算法的性能,将POAGWO算法的优化结果与POA算法和GWO算法的优化结果进行了比较。结果表明,POAGWO算法具有很强的全局寻优能力,并且POAGWO算法在有效检查搜索空间和寻找最优区域方面具有很强的开发能力和勘探能力。
2) 通过应用POAGWO算法求解压力容器设计优化、拉伸/压缩弹簧设计优化、三杆桁架设计优化和气体输送压缩机设计优化等4个工程设计问题,并与其他智能算法进行比较。结果表明,POAGWO算法解决实际应用中的设计优化问题方面具有令人满意的性能。另外,也证明了该算法具有很强的求解实际问题的能力。
3) 在实际工程中,POAGWO算法可以用来解决各种科学领域的优化问题,例如信号去噪、机器学习、电力系统优化等。除此之外,POAGWO算法中的某些参数是否可以优化,使算法的搜索精度更高,这是有待进一步研究的问题。