当前位置:   article > 正文

【智能算法】牛顿-拉弗森优化算法(NRBO)原理及实现_newton raphson 算法的基本原理

newton raphson 算法的基本原理


1.背景

2024年,R Sowmya等人受到Newton-Raphson方法启发,提出了牛顿-拉弗森优化算法(Newton-Raphson-Based Optimizer, NRBO)。

在这里插入图片描述
在这里插入图片描述

2.算法原理

2.1算法思想

NRBO受到Newton-Raphson方法的启发,它使用两个规则来探索整个搜索过程:Newton-Raphson搜索规则(NRSR)和陷阱避免算子(TAO),并使用几组矩阵来进一步探索最佳结果。NRSR采用Newton-Raphson方法来提高NRBO的探索能力,提高收敛速度以达到改进的搜索空间位置。TAO帮助NRBO避免局部最优陷阱。

在这里插入图片描述

2.2算法过程

牛顿-拉弗森方法是一种在实数域和复数域上近似求解方程的方法,利用泰勒级数展开:
x n + 1 = x n − f ′ ( x n ) f ′ ′ ( x n ) , n = 1 , 2 , 3 , . . . (1) x_{n+1}=x_n-\frac{f'(x_n)}{f''(x_n)}, n=1,2,3,...\tag{1} xn+1=xnf′′(xn)f(xn),n=1,2,3,...(1)

牛顿-拉弗森搜索规则 NRSR

NRSR控制向量允许更准确地探索可行区域并获得更好的位置,二阶导数表述为:
f ( x + Δ x ) = f ( x ) + f ′ ( x 0 ) Δ x + 1 2 ! f ′ ′ ( x 0 ) Δ x 2 + 1 3 ! f ′ ′ ( x 0 ) Δ x 3 + ⋯ f ( x − Δ x ) = f ( x ) − f ′ ( x 0 ) Δ x + 1 2 ! f ′ ′ ( x 0 ) Δ x 2 − 1 3 ! f ′ ′ ( x 0 ) Δ x 3 + ⋯ (2)

f(x+Δx)=f(x)+f(x0)Δx+12!f(x0)Δx2+13!f(x0)Δx3+f(xΔx)=f(x)f(x0)Δx+12!f(x0)Δx213!f(x0)Δx3+
\tag{2} f(x+Δx)=f(x)+f(x0)Δx+2!1f′′(x0)Δx2+3!1f′′(x0)Δx3+f(xΔx)=f(x)f(x0)Δx+2!1f′′(x0)Δx23!1f′′(x0)Δx3+(2)
上述整理可得f’(x),f’'(x)表达式:
f ′ ( x ) = f ( x + Δ x ) − f ( x − Δ x ) 2 Δ x f ′ ( x ) = f ( x + Δ x ) + f ( x − Δ x ) − 2 × f ( x ) Δ x 2 (3)
f(x)=f(x+Δx)f(xΔx)2Δxf(x)=f(x+Δx)+f(xΔx)2×f(x)Δx2
\tag{3}
f(x)=xf(x+Δx)f(xΔx)f(x)=Δx2f(x+Δx)+f(xΔx)2×f(x)(3)

位置更新:
x n + 1 = x n − ( f ( x n + Δ x ) − f ( x n − Δ x ) ) × Δ x 2 × ( f ( x n + Δ x ) + f ( x n − Δ x ) − 2 × f ( x n ) ) (4) x_{n+1}=x_n-\frac{(f(x_n+\Delta x)-f(x_n-\Delta x))\times\Delta x}{2\times(f(x_n+\Delta x)+f(x_n-\Delta x)-2\times f(x_n))}\tag{4} xn+1=xn2×(f(xn+Δx)+f(xnΔx)2×f(xn))(f(xn+Δx)f(xnΔx))×Δx(4)
NRSR是NRBO的主要组成部分,考虑基于种群搜索方式,进行一定修正:
N R S R = r a n d n × ( X w − X b ) × Δ x 2 × ( X w + X b − 2 × x n ) (5) \mathrm{NRSR}=randn\times\frac{(X_w-X_b)\times\Delta x}{2\times(X_w+X_b-2\times x_n)}\tag{5} NRSR=randn×2×(Xw+Xb2×xn)(XwXb)×Δx(5)
其中,Xw为最差位置,Xb为最佳位置。δ的自适应系数平衡了探索和开发能力:
δ = ( 1 − ( 2 × I T M a x I T ) ) 5 (6) \delta=\left(1-\left(\frac{2\times IT}{Max_IT}\right)\right)^5\tag{6} δ=(1(MaxIT2×IT))5(6)
Δx的表达:
Δ x = r a n d ( 1 , d i m ) × ∣ X b − X n I T ∣ (7) \Delta x=rand(1,dim)\times\left|X_b-X_n{}^{IT}\right|\tag{7} Δx=rand(1,dim)× XbXnIT (7)
Xb表示目前得到的最优解,NRSR表述为:
x n + 1 = x n − N R S R (8) x_{n+1}=x_n-NRSR\tag{8} xn+1=xnNRSR(8)
参数ρ来改进所提出的NRBO的利用,该参数将种群引向正确的方向:
ρ = a × ( X b − X n ′ T ) + b × ( X r 1 ′ T − X r 2 ′ T ) (9) \rho=a\times\left(X_b-X_n^{\prime T}\right)+b\times\left(X_{r_1}^{\prime T}-X_{r_2}^{\prime T}\right)\tag{9} ρ=a×(XbXnT)+b×(Xr1TXr2T)(9)
其中a和b是(0,1)之间的随机数,r1和r2是从总体中随机选择的不同整数。向量(Xn IT)的当前位置:
X 1 n T = x n I T − ( r a n d n × ( X w − X b ) × Δ x 2 × ( X w + X b − 2 × X n ) ) + ( a × ( X b − X n I T ) ) + b × ( X r 1 I T − X r 2 I T ) (10)
X1nT=xnIT(randn×(XwXb)×Δx2×(Xw+Xb2×Xn))+(a×(XbXnIT))+b×(Xr1ITXr2IT)
\tag{10}
X1nT=xnIT(randn×2×(Xw+Xb2×Xn)(XwXb)×Δx)+(a×(XbXnIT))+b×(Xr1ITXr2IT)(10)

(Weerakoon and Fernando, 2000)提出的NRM进一步完善了NRSR:
N R S R = r a n d n × ( y w − y b ) × Δ x 2 × ( y w + y b − 2 × x n ) y w = r 1 × ( M e a n ( Z n + 1 + x n ) + r 1 × Δ x ) y b = r 1 × ( M e a n ( Z n + 1 + x n ) − r 1 × Δ x ) Z n + 1 = x n − r a n d n × ( X w − X b ) × Δ x 2 × ( X w + X b − 2 × x n ) (11)
NRSR=randn×(ywyb)×Δx2×(yw+yb2×xn)yw=r1×(Mean(Zn+1+xn)+r1×Δx)yb=r1×(Mean(Zn+1+xn)r1×Δx)Zn+1=xnrandn×(XwXb)×Δx2×(Xw+Xb2×xn)
\tag{11}
NRSR=randn×2×(yw+yb2×xn)(ywyb)×Δxyw=r1×(Mean(Zn+1+xn)+r1×Δx)yb=r1×(Mean(Zn+1+xn)r1×Δx)Zn+1=xnrandn×2×(Xw+Xb2×xn)(XwXb)×Δx(11)

其中yw和yb为zn1和xn生成的两个向量的位置,NRSR表述为:
X 1 n T = x n I T − ( r a n d n × ( y w − y b ) × Δ x 2 × ( y w + y b − 2 × x n ) ) + ( a × ( X b − X n I T ) ) + b × ( X r 1 I T − X r 2 I T ) (12)
X1nT=xnIT(randn×(ywyb)×Δx2×(yw+yb2×xn))+(a×(XbXnIT))+b×(Xr1ITXr2IT)
\tag{12}
X1nT=xnIT(randn×2×(yw+yb2×xn)(ywyb)×Δx)+(a×(XbXnIT))+b×(Xr1ITXr2IT)(12)

通过最佳向量Xb构造新向量X2nIT:
X 2 n T = X b − ( r a n d n × ( y w − y b ) × Δ x 2 × ( y w + y b − 2 × x n ) ) + ( a × ( X b − X n I T ) ) + b × ( X r 1 I T − X r 2 I T ) (13)
X2nT=Xb(randn×(ywyb)×Δx2×(yw+yb2×xn))+(a×(XbXnIT))+b×(Xr1ITXr2IT)
\tag{13}
X2nT=Xb(randn×2×(yw+yb2×xn)(ywyb)×Δx)+(a×(XbXnIT))+b×(Xr1ITXr2IT)(13)

位置向量:
x n I T + 1 = r 2 × ( r 2 × X 1 n I T + ( 1 − r 2 ) × X 2 n I T ) + ( 1 − r 2 ) × X 3 n I T X 3 n I T = X n I T − δ × ( X 2 n I T − X 1 n I T ) (14)
xnIT+1=r2×(r2×X1nIT+(1r2)×X2nIT)+(1r2)×X3nITX3nIT=XnITδ×(X2nITX1nIT)
\tag{14}
xnIT+1=r2×(r2×X1nIT+(1r2)×X2nIT)+(1r2)×X3nITX3nIT=XnITδ×(X2nITX1nIT)(14)

陷阱避免算子 TAO

TAO是采用(ahmadanfar等人,2020)改进和增强的优化方式,使用TAO可以显著改变x1n的位置。通过结合最佳位置Xb和当前矢量位置xitn,它产生了一个具有增强质量的解决方案:
{ X T A O T T = X n T T + 1 + θ 1 × ( μ 1 × x b − μ 2 × X n T T ) + θ 2 × δ × ( μ 1 × M e a n ( X T T ) − μ 2 × X n T T ) , i f μ 1 < 0.5 X T A O T T = x b + θ 1 × ( μ 1 × x b − μ 2 × X n T T ) + θ 2 × δ × ( μ 1 × M e a n ( X T T ) − μ 2 × X n T T ) , O t h e r w i s e (15a)

{XTAOTT=XnTT+1+θ1×(μ1×xbμ2×XnTT)+θ2×δ×(μ1×Mean(XTT)μ2×XnTT),ifμ1<0.5XTAOTT=xb+θ1×(μ1×xbμ2×XnTT)+θ2×δ×(μ1×Mean(XTT)μ2×XnTT),Otherwise
\tag{15a} {XTAOTT=XnTT+1+θ1×(μ1×xbμ2×XnTT)+θ2×δ×(μ1×Mean(XTT)μ2×XnTT),ifμ1<0.5XTAOTT=xb+θ1×(μ1×xbμ2×XnTT)+θ2×δ×(μ1×Mean(XTT)μ2×XnTT),Otherwise(15a)
X n I T + 1 = X T A O I T (15b) X_n^{IT+1}=X_{TAO}^{IT}\tag{15b} XnIT+1=XTAOIT(15b)
DF为控制NRBO性能的决定因子,μ1和μ2为随机数:
μ 1 = { 3 × r a n d , i f Δ < 0.5 1 , O t h e r w i s e μ 2 = { r a n d , i f Δ < 0.5 1 , O t h e r w i s e (16) \left.\mu_{1}=\left\{
3×rand,ifΔ<0.51,Otherwise
\right.\right.\\\mu_{2}=\left\{
rand,ifΔ<0.51,Otherwise
\right.\tag{16}
μ1={3×rand,1,ifΔ<0.5Otherwiseμ2={rand,1,ifΔ<0.5Otherwise(16)

其中rand表示(0,1)之间的随机数,Δ表示(0,1)之间的随机数。上述等式进一步简化:
μ 1 = β × 3 × r a n d + ( 1 − β ) μ 2 = β × r a n d + ( 1 − β ) (17) \mu_{1}=\beta\times3\times rand+(1-\beta)\\\mu_{2}=\beta\times rand+(1-\beta)\tag{17} μ1=β×3×rand+(1β)μ2=β×rand+(1β)(17)

流程图

在这里插入图片描述

伪代码

在这里插入图片描述

3.结果展示

使用测试框架,测试NRBO性能 一键run.m

CEC2017-F21

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.参考文献

[1] Sowmya R, Premkumar M, Jangir P. Newton-Raphson-based optimizer: A new population-based metaheuristic algorithm for continuous optimization problems[J]. Engineering Applications of Artificial Intelligence, 2024, 128: 107532.

5.代码获取

资源清单

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号