一、理论基础
1、闪电连接过程优化算法
受自然界中闪电上迎先导与下行先导连接过程的启发,A. Foroughi Nematollahi等人于2017年提出了闪电连接过程优化(Lightning Attachment Procedure Optimization, LAPO)算法。
闪电连接过程的数学模型分为以下部分:初始化;确定闪电的下一跳;闪电分支消失;上迎先导的移动;连接点的确定。
(1)初始化
标准的LAPO是通过随机的方式在定义域内产生一个初始种群,种群中的每个个体代表优化问题中的一个候选解,LAPO中的个体可以看作是云层和地面之间的候选点。对于所有的候选点,都可以计算其电场值来作为目标函数的适应度值。候选点的产生可以用式(1)来描述: X testpoint i = X min i + ( X max i − X min i ) × r a n d (1) X_{\text{testpoint}}^i=X_{\min}^i+(X_{\max}^i-X_{\min}^i)\times rand\tag{1} Xtestpointi=Xmini+(Xmaxi−Xmini)×rand(1)其中, X min i X_{\min}^i Xmini表示第 i i i个个体的下界, X max i X_{\max}^i Xmaxi表示第 i i i个个体的上界, r a n d rand rand是一个取值范围为 [ 0 , 1 ] [0,1] [0,1]的随机数。根据目标函数可以计算出候选点的电场值作为该候选点解的适应度,如式(2)所示: F testpoint i = o b j ( X testpoint i ) (2) F_{\text{testpoint}}^i=obj(X_{\text{testpoint}}^i)\tag{2} Ftestpointi=obj(Xtestpointi)(2)
(2)确定闪电的下一跳
首先计算出所有候选点的平均值点,再计算平均值点的适应度值,如式(3)所示:
X
ave
=
m
e
a
n
(
X
testpoint
)
(3)
X_{\text{ave}}=mean(X_{\text{testpoint}})\tag{3}
Xave=mean(Xtestpoint)(3)
F
ave
=
o
b
j
(
X
ave
)
(4)
F_{\text{ave}}=obj(X_{\text{ave}})\tag{4}
Fave=obj(Xave)(4)该过程的数学描述如下(点
j
j
j的适应度优于平均值点的适应度),则闪电向此点移动,否则,闪电移向另一个方向。
如果电位点
j
j
j的电场高于平均值点的电场,则使用式(5)来描述:
X
testpoint_new
i
=
X
testpoint
i
+
r
a
n
d
×
(
X
ave
+
r
a
n
d
×
(
X
potential point
j
)
)
(5)
X_{\text{testpoint\_new}}^i=X_{\text{testpoint}}^i+rand\times(X_{\text{ave}}+rand\times(X_{\text{potential point}}^j))\tag{5}
Xtestpoint_newi=Xtestpointi+rand×(Xave+rand×(Xpotential pointj))(5)如果电位点
j
j
j的电场低于平均值点的电场,则使用式(6)来描述:
X
testpoint_new
i
=
X
testpoint
i
−
r
a
n
d
×
(
X
ave
+
r
a
n
d
×
(
X
potential point
j
)
)
(6)
X_{\text{testpoint\_new}}^i=X_{\text{testpoint}}^i-rand\times(X_{\text{ave}}+rand\times(X_{\text{potential point}}^j))\tag{6}
Xtestpoint_newi=Xtestpointi−rand×(Xave+rand×(Xpotential pointj))(6)
(3)闪电分支消失
如果新候选点的电场值高于前一个点的电场值(如果新候选点的适应度值优于前一个候选点),则新候选点所在的分支保留,反之,该分支消失。该特征的数学表达如式(7)所示: X testpoint i = X testpoint_new i if F testpoint_new i < F testpoint i X testpoint_new i = X testpoint i otherwise (7) \begin{array}{c}X_{\text{testpoint}}^i=X_{\text{testpoint\_new}}^i&\quad \text{if}\,\,F_{\text{testpoint\_new}}^i<F_{\text{testpoint}}^i\\[2ex]X_{\text{testpoint\_new}}^i=X_{\text{testpoint}}^i&\quad\text{otherwise}\end{array}\tag{7} Xtestpointi=Xtestpoint_newiXtestpoint_newi=XtestpointiifFtestpoint_newi<Ftestpointiotherwise(7)以上过程是算法的第一个阶段,在这个阶段可以视为下行先导向地面移动的阶段。
(4)上迎先导的移动
在第一个阶段中,所有的候选点都被认为是下行先导,并向下移动。在第二个阶段,所有的候选点都被认为是上迎先导,并向上移动。上迎先导的移动和下行引导的电荷分布有关,下行先导的电荷沿闪电通道大致呈指数分布。其中指数因子可以用式(8)表示: S = 1 − ( t t max ) × exp ( − t t max ) (8) S=1-\left(\frac{t}{t_{\max}}\right)\times\exp\left(-\frac{t}{t_{\max}}\right)\tag{8} S=1−(tmaxt)×exp(−tmaxt)(8)其中, t t t是当前迭代次数, t max t_{\max} tmax是最大迭代次数。另外,上迎先导的下一个候选点的选择过程可以用式(9)来描述: X testpoint_new = X testpoint_new + r a n d × S × ( X min − X max ) (9) X_{\text{testpoint\_new}}=X_{\text{testpoint\_new}}+rand\times S\times(X_{\min}-X_{\max})\tag{9} Xtestpoint_new=Xtestpoint_new+rand×S×(Xmin−Xmax)(9)其中, X min X_{\min} Xmin和 X max X_{\max} Xmax分别为种群的最佳解和最差解, S S S为指数因子, r a n d rand rand为取值范围 [ 0 , 1 ] [0,1] [0,1]的随机数。
(5)连接点的确定
当上迎先导和下行先导彼此相遇时,连接点确定,闪电连接过程停止,若满足算法终止条件,则优化完成。此外,算法原作者为了提高该算法的性能,使标准LAPO在每次迭代后都计算出当前种群的平均解,并得到平均解的适应度。如果最劣解的适应度比平均解的要小,则用平均解代替最劣解。
2、LAPO算法伪代码
LAPO算法伪代码如图1所示。
二、仿真实验与结果分析
以常用23个测试函数中的F1、F2(单峰函数/10维)、F9、F10(多峰函数/10维)、F14、F15(固定维度多峰函数/2维、4维)为例,实验设置种群规模为40,最大迭代次数为1000,结果显示如下:
The optimal solution of F1 is : 3.4263e-31 -7.936e-31 -5.1933e-30 1.9042e-30 2.3025e-30 -7.4e-30 -4.0046e-30 -7.3702e-30 -2.25e-30 -1.3549e-30
The optimal value of F1 is : 1.6866e-58
The optimal solution of F2 is : -2.9832e-30 6.1059e-30 -3.2436e-30 -1.2833e-30 1.2854e-30 5.6532e-30 4.1092e-30 4.7374e-30 -1.2879e-31 -3.0473e-30
The optimal value of F2 is : 3.2577e-29
The optimal solution of F9 is : 3.6402e-05 -0.0070284 -0.0019191 -0.0025324 -0.0058251 0.0050007 0.0040458 0.0014212 -0.0004897 -0.0041188
The optimal value of F9 is : 0.030555
The optimal solution of F10 is : -6.5985e-16 1.3855e-15 6.8597e-16 -5.286e-16 -1.0491e-15 -2.9669e-15 9.1484e-16 -4.9057e-16 1.1125e-15 -1.4211e-15
The optimal value of F10 is : 4.4409e-15
The optimal solution of F14 is : -31.9419 -31.9808
The optimal value of F14 is : 0.998
The optimal solution of F15 is : 0.19283 0.19084 0.12312 0.13577
The optimal value of F15 is : 0.00030749
实验结果表明:LAPO算法具有良好的优化性能。
三、参考文献
[1] A. Foroughi Nematollahi, A. Rahiminejad, B. Vahidi. A novel physical based meta-heuristic optimization method known as Lightning Attachment Procedure Optimization[J]. Applied Soft Computing, 2017, 59: 596-621.
[2] 杨帅. 基于改进闪电连接过程算法和多维熵的图像分割方法研究[D]. 武汉: 湖北工业大学, 2020.