1. 引言
元启发式算法的思想多源于人类对生物、物理、社会等领域现象的长期观察,通过对这些现象的深入分析总结出自然规律,是人类智慧的结晶。与传统优化方法相比,元启发式算法凭借能简单高效地解决复杂问题的特性,在工程领域获得了广泛认可与应用[1]。蝙蝠算法(BA) [2]、布谷鸟算法(CS) [3]、花授粉算法(FPA) [4]等元启发式算法,将待优化问题的可能解视为解空间,具有不受搜索空间连续性或可微性限制等显著优点,因此已在诸多领域得到广泛应用。
学者Mirjalili受宇宙大爆炸理论启发而提出多元宇宙优化算法(Multi-Verse Optimizer, MVO) [5],该算法中宇宙大爆炸表明宇宙有一个膨胀率,白洞具有较高膨胀率,黑洞具有较低膨胀率,而物质通过虫洞从白洞向黑洞移动,多元宇宙优化算法便是模拟了此现象。无论宇宙中物质的膨胀率大小如何,其中的物质都会通过虫洞随机移动,到达最佳位置。算法中每个解都相当于一个宇宙,解中的每个变量都是该宇宙中的物质。此外,每个解分配有膨胀率,该膨胀率与解的相应适应性函数值成比例。由于多元宇宙优化算法的全局寻优能力较好,需要调节的参数较少,性能较为稳定并且易于实现,已经成功在文本聚类[6]、桁架设计[7]、大规模离散时间–成本权衡[8]等实际问题中得到应用。
2. 多元宇宙优化算法
2.1. MVO算法
多元宇宙算法利用白洞和黑洞的相互作用进行搜索空间的探索,虫洞作为转移物体的媒介在算法中优化开发搜索空间。每个宇宙都是问题的一个解,宇宙中的物体代表解的变量,宇宙膨胀率代表解的适应度值。迭代时,根据宇宙膨胀率进行排序,依靠轮盘赌机制来产生白洞。
设宇宙矩阵用U表示:
(1)
其中,d为变量个数;n为宇宙数(候选解)。
(2)
其中
表示第i个宇宙的第j个变量;Ui表示第i个宇宙,
是第i个宇宙的标准膨胀率,
是区间[0,1]中的随机数,
表示第k个宇宙的第j个变量(由轮盘赌选择机制选择)。
为了增加提高膨胀率的概率,使用到以下公式:
(3)
其中
表示目前最优宇宙的第j个变量,TDR和WEP是两个系数,
表示第j个变量的最大值,
是第j个变量的最小值,
表示第i个宇宙的第j个变量,r2,r3,r4是[0,1]中的随机数。另外,虫洞存在概率WEP和旅行距离率TDR是多元宇宙优化算法的两个重要参数。
(4)
公式中,
为WEP最小值(设为0.2),
为WEP最大值(设为1),
为当前迭代次数;
为最大迭代次数。
(5)
(设为6)变化的探索速度,
值越高,局部探索速度越快,用时越短。两个参数随时间变化曲线如图1所示。
Figure 1. Wormhole existence probability versus travelling distance rate
图1. WEP和TDR变化曲线
2.2. 单纯性
图2为单纯形法示意图[9],其具体实施步骤如下。
Figure 2. Simplex method
图2. 单纯形法示意图
Step 1:从所有解中找到全局最优解
以及次优解
,设
是较差解,其对应的适应度值分别记为
,
和
;
Step 2:利用公式(6)计算出
和
的中间点
;
(6)
Step 3:使用公式(7)执行反射操作,得到反射点
。其中
为反射率,通常设置成1;
(7)
Step 4:比较反射点和全局最优点的适应度值
和
。如果
,则通过公式(8)进行扩展操作:
(8)
是扩充常数。拿扩展点和最优点的适应度值作比较,如果
,则用点
代替
。否则用
代替
。
Step 5:将
和
的适应度值作比较。如果
,则通过公式(9)进行压缩操作:
(9)
其中
为压缩系数,通常设置成0.5。然后比较压缩点的适应度值
和
,如果
,那么用压缩点
代替
。否则用反射点
代替
。
Step 6:如果
,则由式(10)可得到收缩点
,计算其适应度值
(10)
其中
为收缩率,然后比较
与
。若
,那么就用收缩点
代替
。否则依旧用反射点
代替
。
2.3. Lévy飞行
Lévy飞行是由法国数学家Lévy提出的一种随机游走模式,其特征表现为短距离移动的同时伴随偶尔的长距离跳跃。该特性能够有效避免系统陷入局部最优。Lévy飞行可在不确定环境中最大化搜索效率,将其与多元宇宙优化算法相结合时,能够扩大算法的搜索范围、增加种群多样性,帮助算法更易跳出局部最优的停滞状态。在自然界中,一些动物为在不确定环境中高效觅食,采用的最优搜索策略正是Lévy飞行;大量研究也证实,许多动物的移动行为轨迹与Lévy飞行特征高度吻合。目前,Lévy飞行已被成功应用于优化领域,相关研究结果表明其应用效果令人满意[10]。
2.4. 基于单纯性和Lévy飞行轨迹的多元宇宙优化算法
本文在多元宇宙优化算法的基础上,引入单纯形法与Lévy飞行策略,提出一种基于单纯形和Lévy飞行的多元宇宙优化算法(LSMVO)。其中,加入单纯形法的作用是对每次迭代的最优值进行扰动,而引入Lévy飞行的主要作用是避免算法陷入局部最优。通过在每次位置更新后融入单纯形法操作与Lévy随机位置移动,算法的搜索能力得到有效增强,整体性能也实现了较大提升。
3. 仿真实验
3.1. 实验环境与参数设置
为了验证LSMVO算法的有效性与可行性,文中采用11个基准测试函数来验证其性能。在此次仿真实验中,用到了蝙蝠算法(BA)、布谷鸟算法(CS)、花授粉算法(FPA)。其中MVO和LSMVO算法中种群规模为30,最大迭代次数为500次,函数维数设置为30维,最后采用独立运行20次最优值的平均值作为测试结果。对于FPA,参数设置为p = 0.8,参数研究表明,p = 0.8对于大多数应用具有较好的效果;对于CS,巢数设定为N = 30,外来蛋的发现率设定为p = 0.25;对于BA,脉冲频率范围设置为Q = {0,2},最大响度设置为A = 0.5,最大脉冲发射设置为R = 0.5,响度衰减系数设定为C = 0.95,脉冲发射增加系数设定为C = 0.05。
3.2. 测试函数
在本次仿真实验选取的基准测试函数中,
为单峰函数,
为多峰函数。由于单峰函数只有一个全局最优值,因此适合用于衡量算法的开发能力。与单峰函数不同,多峰函数有大量的局部最优值,其对检验算法的探测能力及避免陷入局部最优具有重要作用。实验中用到的11个测试函数如表1所示:
Table 1. Benchmark test functions
表1. 测试函数
Benchmark Test Functions |
D |
Range |
Optimum |
|
30 |
[−100,100] |
0 |
|
30 |
[−10,10] |
0 |
|
30 |
[−100,100] |
0 |
|
30 |
[−100,100] |
0 |
|
30 |
[−30,30] |
0 |
|
30 |
[−100,100] |
0 |
|
30 |
[−5.12,5.12] |
0 |
|
30 |
[−32,32] |
0 |
|
30 |
[−600,600] |
0 |
|
30 |
[−50,50] |
0 |
|
30 |
[−50,50] |
0 |
3.3. 实验结果
单峰函数实验结果如表2所示,多峰函数实验结果如表3所示。
Table 2. Results of unimodal benchmark functions
表2. 单峰函数实验结果
函数 |
结果 |
BA |
CS |
FPA |
MVO |
LSMVO |
F1 |
最优值 |
2.8900E+04 |
1.1628E−01 |
4.4303E−01 |
6.0955E−01 |
2.4779E−147 |
最差值 |
5.0388E+04 |
3.2955E−01 |
1.0333E+00 |
2.0232E+00 |
2.6827E−74 |
平均值 |
4.1052E+04 |
1.8779E−01 |
7.1094E−01 |
1.3094E+00 |
1.3413E−75 |
标准差 |
5.6270E+03 |
5.7876E−02 |
1.3053E−01 |
4.1312E−01 |
5.9986E−75 |
F2 |
最优值 |
1.6267E+04 |
2.1425E+00 |
2.5991E+00 |
4.5847E−01 |
6.9593E−85 |
最差值 |
2.4811E+08 |
7.5428E+00 |
5.0776E+00 |
1.1816E+02 |
8.0114E−49 |
平均值 |
1.8092E+07 |
4.3598E+00 |
3.8097E+00 |
6.7896E+00 |
4.0070E−50 |
标准差 |
5.5148E+07 |
1.2895E+00 |
6.4042E−01 |
2.6217E+01 |
1.7914E−49 |
F3 |
最优值 |
2.7705E+04 |
2.5733E+00 |
3.5695E−01 |
1.1125E+02 |
5.7613E−138 |
最差值 |
8.8552E+04 |
7.8447E+00 |
9.2086E−01 |
3.0820E+02 |
1.1954E−79 |
平均值 |
5.1820E+04 |
5.0493E+00 |
5.9536E−01 |
2.0522E+02 |
6.0108E−81 |
标准差 |
1.6682E+04 |
1.4706E+00 |
1.4290E−01 |
6.2326E+01 |
2.6722E−80 |
F4 |
最优值 |
6.3727E+01 |
7.3870E−01 |
3.3337E−01 |
1.2551E+00 |
5.8467E−75 |
最差值 |
7.7879E+01 |
1.2198E+00 |
5.8009E−01 |
3.5464E+00 |
4.0606E−41 |
平均值 |
7.0004E+01 |
8.7301E−01 |
4.5841E−01 |
2.0899E+00 |
2.1190E−42 |
标准差 |
3.8411E+00 |
1.0763E−01 |
6.2636E−02 |
6.3651E−01 |
9.0633E−42 |
F5 |
最优值 |
3.4712E+04 |
4.4565E+01 |
8.4212E+01 |
3.3752E+01 |
1.4957E−07 |
最差值 |
5.4196E+06 |
1.5287E+02 |
1.6467E+02 |
2.6561E+03 |
7.1850E+00 |
平均值 |
1.4936E+06 |
8.6509E+01 |
1.2555E+02 |
4.9915E+02 |
2.5181E+00 |
标准差 |
1.2986E+06 |
3.2110E+01 |
2.4406E+01 |
7.8531E+02 |
2.1465E+00 |
F6 |
最优值 |
2.5284E+04 |
1.2648E−01 |
1.2498E+00 |
8.0899E−01 |
1.0896E−10 |
最差值 |
5.1247E+04 |
3.2947E−01 |
3.1529E+00 |
1.9608E+00 |
2.7168E−10 |
平均值 |
3.9766E+04 |
2.0909E−01 |
1.9834E+00 |
1.2461E+00 |
1.6009E−10 |
标准差 |
7.0489E+03 |
6.4236E−02 |
4.9561E−01 |
3.6952E−01 |
3.9965E−11 |
Table 3. Results of multi-modal benchmark functions
表3. 多峰函数实验结果
函数 |
结果 |
BA |
CS |
FPA |
MVO |
LSMVO |
F7 |
最优值 |
1.2063E+02 |
4.3862E+01 |
1.5553E+00 |
7.0478E+01 |
0 |
最差值 |
2.6397E+02 |
6.5374E+01 |
6.2159E+01 |
1.6060E+02 |
0 |
平均值 |
2.0633E+02 |
5.3863E+01 |
2.5231E+01 |
1.1398E+02 |
0 |
标准差 |
4.0418E+01 |
6.4591E+00 |
1.6720E+01 |
2.3051E+01 |
0 |
F8 |
最优值 |
1.8824E+01 |
2.5968E+00 |
1.2640E+00 |
5.3806E−01 |
8.8818E−16 |
最差值 |
1.9953E+01 |
3.5927E+00 |
2.2865E+00 |
3.0380E+00 |
8.8818E−16 |
平均值 |
1.9211E+01 |
3.0461E+00 |
1.7459E+00 |
1.6963E+00 |
8.8818E−16 |
标准差 |
3.3019E−01 |
3.2588E−01 |
2.4307E−01 |
5.9864E−01 |
0 |
F9 |
最优值 |
4.7801E+02 |
1.0271E−02 |
1.2722E−02 |
7.1059E−01 |
0 |
最差值 |
6.6798E+02 |
3.6964E−02 |
4.8351E−02 |
1.0100E+00 |
0 |
平均值 |
5.7293E+02 |
2.0333E−02 |
2.8755E−02 |
8.7723E−01 |
0 |
标准差 |
4.8753E+01 |
6.9765E−03 |
9.5901E−03 |
7.4760E−02 |
0 |
F10 |
最优值 |
1.5742E+06 |
1.3387E−02 |
5.6834E−02 |
9.9508E−02 |
2.2006E−13 |
最差值 |
1.8804E+07 |
1.6785E−01 |
1.6051E−01 |
3.5621E+00 |
5.2129E−12 |
平均值 |
8.2380E+06 |
6.3029E−02 |
1.0838E−01 |
1.6166E+00 |
2.7525E−12 |
标准差 |
5.9157E+06 |
4.2813E−02 |
3.4225E−02 |
9.7694E−01 |
1.3039E−12 |
F11 |
最优值 |
5.4082E+06 |
3.1026E+00 |
5.7330E−01 |
7.4449E−02 |
2.4393E−12 |
最差值 |
9.0013E+07 |
5.7181E+00 |
1.8728E+00 |
4.8664E−01 |
1.1289E+00 |
平均值 |
5.0547E+07 |
4.4302E+00 |
1.2610E+00 |
2.1568E−01 |
7.9103E−02 |
标准差 |
2.2612E+07 |
7.3259E−01 |
3.5735E−01 |
1.2039E−01 |
2.6701E−01 |
由表2可见,在单峰函数方面:对于函数
,LSMVO的最优值精度达到了
,相较于相对优秀的CS高出146个数量级;在平均值方面,LSMVO的求解精度为
,比仅次于它的CS高出74个数量级。对于函数
,LSMVO的最优值精度达到了
,较排名第二的MVO提升84个数量级;在平均值方面,LSMVO的求解精度均为
,比MVO提高了50个数量级。对于函数
,LSMVO的最优值和平均值精度达到了
和
,比FPA的最优值和平均值高137个和80个数量级。对于函数
,LSMVO的最优值和平均值精度达到了
和
,比FPA和CS的最优值和平均值高74个和41个数量级。对于函数
,LSMVO的最优值和平均值精度达到了
和
,比仅次于它的CS的最优值和平均值高8个和1个数量级。对于函数
,LSMVO的最优值和平均值精度均达到了
,比仅次于它的CS均高出9个数量级。
多峰函数优化方面:对于函数
,LSMVO的最优值、最差值、平均值、标准差均为0,性能显著优于BA、CS、FPA和MVO。对于函数
,LSMVO的最优值、最差值和平均值精度达到了
,明显优于其他对比算法,且其标准差为0,说明其具有很强的稳定性。对于函数
,LSMVO的最优值、最差值、平均值、标准差均为0,这是BA、CS、FPA和MVO所无法达到的。对于函数
,LSMVO的最优值和平均值精度达到了
和
,较CS和FPA的对应指标高出11个和10个数量级。对于函数
,LSMVO的最优值和平均值精度达到了
和
,较仅次于它的MVO分别高出10个和1个数量级;不过,LSMVO在最差值和标准差指标上略逊于MVO。
综合来看,无论是单峰函数还是在多峰函数优化问题,LSMVO的性能均优于BA、CS、FPA和MVO。图3~13为BA、CS、FPA和MVO及LSMVO在求解函数
最优值时函数随迭代次数变化的曲线图。
Figure 3. Evolution curve of fitness for F1
图3. F1的收敛曲线对比
Figure 4. Evolution curve of fitness for F4
图4. F2的适应度函数收敛曲线
Figure 5. Evolution curve of fitness for F3
图5. F3的适应度函数收敛曲线
Figure 6. Evolution curve of fitness for F4
图6. F4的使用度函数收敛曲线
Figure 7. Evolution curve of fitness for F5
图7. F5的适应度函数收敛曲线
Figure 8. Evolution curve of fitness for F6
图8. F6的适应度函数收敛曲线
Figure 9. Evolution curve of fitness for F7
图9. F7的适应度函数收敛曲线
Figure 10. Evolution curve of fitness for F8
图10. F8的适应度函数收敛曲线
Figure 11. Evolution curve of fitness for F9
图11. F9的适应度函数收敛曲线
Figure 12. Evolution curve of fitness for F10
图12. F10的适应度函数收敛曲线
Figure 13. Evolution curve of fitness for F11
图13. F11的适应度函数收敛曲线
从图3~13可以进一步验证LSMVO的优越性。从图3、图4、图5、图10可以看出,当其他算法已接近收敛状态时,LSMVO仍保持继续寻优的能力。上述函数优化结果表明,加入单纯形法和Lévy飞行策略的LSMVO在函数优化中展现出较强优势,其测试结果更接近理论最优值,证实了该改进算法在函数优化问题中的可行性与有效性。
4. LSMVO解决焊接梁设计问题
现实中的工程优化问题大多是非线性的,而且需要满足一些复杂的,甚至是刁钻的约束条件。这些约束条件大都是由一些非线性方程组组成的,这使得解的空间变得越发复杂,包括一些经典的算法都很容易陷入到局部最优解中。解决约束优化问题的主要任务是处理约束条件,能找到问题的可行解是非常不容易的。为了处理这些带有约束的工程优化问题,所使用的方法多种多样,最常用的就是罚函数法,它的目标是构造罚函数,将有约束条件的问题转化为求解无约束的最优化问题。
Figure 14. Welded beam design
图14. 焊接梁设计模型图
焊接梁设计是需要将矩形梁焊接成悬臂梁以承受一定的载荷,设计焊接梁的目的是使制造的总成本最小化。焊接梁的约束条件包括剪应力
,压曲临界荷载
,终端挠度
和法向应力
。其中,最大焊接剪切应力
= 13600 psi,最大法向应力
= 30000 psi。这里使用LSMVO解决了焊接梁设计问题,以进一步验证新算法的性能。焊接梁设计模型如图14所示。
焊接梁设计问题有四个变量,分别是焊缝厚度
,棒的附接部分的长度
,棒的高度
和棒的厚度
。焊接梁设计问题的公式描述如下:
最小化
约束条件
变量取值范围
此处

针对焊接梁设计问题,Coello [11]和Deb [12] [13]使用GA解决此问题,而Lee和Geem [14]使用HS解决了这个问题。Ragsdell和Philips采用了Richardson的随机方法,单纯形法,Davidon-Fletcher-Powell,Griffith和Stewart的连续线性近似的数学方法应用到解决焊接梁设计问题[15]。表4给出了焊接梁设计问题的比较结果。从该表可以看出,与其他算法相比LSVMO能够取得比较好的设计方案。LSMVO得到的最优值为:
对应的最优解为:
Table 4. Comparison results of the welded beam design problem
表4. 焊接梁设计问题结果比较
Algorithm |
Optimum variables |
Optimum cost |
H |
l |
t |
B |
LSMVO |
0.2111 |
3.3454 |
9.3483 |
0.2112 |
1.8122 |
GA (Coello) |
N/A |
N/A |
N/A |
N/A |
1.8245 |
GA (Deb) |
N/A |
N/A |
N/A |
N/A |
2.3800 |
GA (Deb) |
0.2489 |
6.1730 |
8.1789 |
0.2533 |
2.4331 |
HS (Lee and Geem) |
0.2442 |
6.2231 |
8.2915 |
0.2443 |
2.3807 |
Random |
0.4575 |
4.7313 |
5.0853 |
0.6600 |
4.1185 |
Simplex |
0.2792 |
5.6256 |
7.7512 |
0.2796 |
2.5307 |
David |
0.2434 |
6.2552 |
8.2915 |
0.2444 |
2.3841 |
APPROX |
0.2444 |
6.2189 |
8.2915 |
0.2444 |
2.3815 |
5. 结束语
针对多元宇宙优化算法在迭代后期探索能力不足的问题,本文构造一种基于单纯性和Lévy飞行策略的多元宇宙优化算法。实验测试结果表明,与原多元宇宙优化算法相比,新算法的寻优能力得到了较大提升。将新算法应用于焊接梁设计中时,也取得了更好的实验效果。对于未来的工作研究,一方面将进一步拓展多元宇宙优化算法在更多实际工程领域的应用场景;另一方面将致力于开发更有效的新型元启发式优化方法,以解决复杂优化问题中的技术难题。
基金项目
广西重点研发计划项目(桂科AB25069262);广西高校中青年教师科研基础能力提升项目(2024KY0871);广西科技师范学院科研项目(GXKS2024YB033, GXKS2024YB032, GXKS2025YB032, GXKS2025YB042, GXKSKYPT2025005, GXKSKYPT2025008)。
NOTES
*通讯作者。