基于闪电连接过程优化算法的函数寻优算法

一、理论基础

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+(XmaxiXmini)×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=Xtestpointirand×(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×(XminXmax)(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所示。
在这里插入图片描述

图1 LAPO算法伪代码

二、仿真实验与结果分析

以常用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.

猜你喜欢

转载自blog.csdn.net/weixin_43821559/article/details/124537811