牛顿-拉弗森优化算法(NRBO)原理及实现
牛顿-拉弗森优化算法(NRBO)原理及实现
牛顿-拉弗森优化算法(NRBO)是2024年提出的一种新型优化算法,它结合了Newton-Raphson方法的搜索规则和陷阱避免算子,能够有效提高优化效率和准确性。本文将详细介绍NRBO算法的原理、实现过程以及性能测试结果。
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-\frac{f'(x_n)}{f''(x_n)}, n=1,2,3,...
$$
牛顿-拉弗森搜索规则 NRSR
NRSR控制向量允许更准确地探索可行区域并获得更好的位置,二阶导数表述为:
$$
\begin{gathered}
f(x+\Delta x)= f(x)+f^{'}(x_{0})\Delta x+{\frac{1}{2!}}f^{''}(x_{0})\Delta x^{2}+{\frac{1}{3!}}f^{''}(x_{0})\Delta x^{3}+\cdots \
f(x-\Delta x)= f(x)-f^{'}(x_{0})\Delta x+\frac{1}{2!}f^{''}(x_{0})\Delta x^{2}-\frac{1}{3!}f^{''}(x_{0})\Delta x^{3}+\cdots
\end{gathered}
$$
上述整理可得$f'(x),f''(x)$表达式:
$$
\begin{aligned}
&f^{'}(x)= \frac{f(x+\Delta x)-f(x-\Delta x)}{2\Delta x} \
&f^{^{\prime}}(x)= \frac{f(x+\Delta x)+f(x-\Delta x)-2\times f(x)}{\Delta x^{2}}
\end{aligned}
$$
位置更新:
$$
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))}
$$
NRSR是NRBO的主要组成部分,考虑基于种群搜索方式,进行一定修正:
$$
\mathrm{NRSR}=randn\times\frac{(X_w-X_b)\times\Delta x}{2\times(X_w+X_b-2\times x_n)}
$$
其中,$X_w$为最差位置,$X_b$为最佳位置。$\delta$的自适应系数平衡了探索和开发能力:
$$
\delta=\left(1-\left(\frac{2\times IT}{Max_IT}\right)\right)^5
$$
$\Delta x$的表达:
$$
\Delta x=rand(1,dim)\times\left|X_b-X_n{}^{IT}\right|
$$
$X_b$表示目前得到的最优解,NRSR表述为:
$$
x_{n+1}=x_n-NRSR
$$
参数$\rho$来改进所提出的NRBO的利用,该参数将种群引向正确的方向:
$$
\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)
$$
其中$a$和$b$是(0,1)之间的随机数,$r_1$和$r_2$是从总体中随机选择的不同整数。向量$(X_n^{IT})$的当前位置:
$$
X1_{n}^{T}= x_{n}^{IT}-\left(randn\times\frac{(X_{w}-X_{b})\times\Delta x}{2\times(X_{w}+X_{b}-2\times X_{n})}\right)+\left(a\times\left(X_{b}-X_{n}{}^{IT}\right)\right) +b\times\left(X_{r_{1}}^{IT}-X_{r_{2}}^{IT}\right)
$$
(Weerakoon and Fernando, 2000)提出的NRM进一步完善了NRSR:
$$
\begin{aligned}
&\mathrm{NRSR}=randn\times\frac{(y_w-y_b)\times\Delta x}{2\times(y_w+y_b-2\times x_n)} \
&y_w=r_1\times(\mathrm{Mean}(Z_{n+1}+x_n)+r_1\times\Delta x) \
&y_b=r_1\times(\mathrm{Mean}(Z_{n+1}+x_n)-r_1\times\Delta x) \
&Z_{n+1}= x_{n}-randn\times{\frac{(X_{w}-X_{b})\times\Delta x}{2\times(X_{w}+X_{b}-2\times x_{n})}}
\end{aligned}
$$
其中$y_w$和$y_b$为$z_{n1}$和$x_n$生成的两个向量的位置,NRSR表述为:
$$
X1_{n}^{T}= x_{n}^{IT}-\left(randn\times{\frac{(y_{w}-y_{b})\times\Delta x}{2\times(y_{w}+y_{b}-2\times x_{n})}}\right)+\left(a\times\left(X_{b}-X_{n}{}^{IT}\right)\right) +b\times\left(X_{r_{1}}^{IT}-X_{r_{2}}^{IT}\right)
$$
通过最佳向量$X_b$构造新向量$X2_n^{IT}$:
$$
X2_{n}^{T}= X_{b}-\left(randn\times{\frac{(y_{w}-y_{b})\times\Delta x}{2\times(y_{w}+y_{b}-2\times x_{n})}}\right)+\left(a\times\left(X_{b}-X_{n}{}^{IT}\right)\right) +b\times\left(X_{r_{1}}^{IT}-X_{r_{2}}^{IT}\right)
$$
位置向量:
$$
\begin{aligned}
&x_{n}^{IT+1}=r_{2}\times\left(r_{2}\times X1_{n}^{IT}+(1-r_{2})\times X2_{n}^{IT}\right)+(1-r_{2})\times X3_{n}^{IT}\
&X3_{n}^{IT}=X_{n}^{IT}-\delta\times\left(X2_{n}^{IT}-X1_{n}^{IT}\right)
\end{aligned}
$$
陷阱避免算子 TAO
TAO是采用(ahmadanfar等人,2020)改进和增强的优化方式,使用TAO可以显著改变$x1_n$的位置。通过结合最佳位置$X_b$和当前矢量位置$x_{it}^n$,它产生了一个具有增强质量的解决方案:
$$
\begin{cases}
X_{TAO}^{TT}=X_{n}^{TT+1}+\theta_{1}\times\left(\mu_{1}\times x_{\mathrm{b}}-\mu_{2}\times X_{n}^{TT}\right)+\theta_{2}\times\delta\times\left(\mu_{1}\times\mathrm{Mean}\left(X^{TT}\right)-\mu_{2}\times X_{n}^{TT}\right), \mathrm{if} \mu_{1}<0.5\
X_{TAO}^{TT}=x_{\mathrm{b}}+\theta_{1}\times\left(\mu_{1}\times x_{\mathrm{b}}-\mu_{2}\times X_{n}^{TT}\right)+\theta_{2}\times\delta\times\left(\mu_{1}\times\mathrm{Mean}\left(X^{TT}\right)-\mu_{2}\times X_{n}^{TT}\right),\quad\mathrm{Otherwise}
\end{cases}
$$
$$
X_n^{IT+1}=X_{TAO}^{IT}
$$
DF为控制NRBO性能的决定因子,$\mu_1$和$\mu_2$为随机数:
$$
\left.\mu_{1}=\left{\begin{array}{cc}{3\times rand,}&{{\mathrm{if}}\Delta<0.5}\{1,}&{{\mathrm{Otherwise}}}\end{array}\right.\right.
$$
$$
\mu_{2}=\left{\begin{array}{cc}{rand,}&{{\mathrm{if}}\Delta<0.5}\{1,}&{{\mathrm{Otherwise}}}\end{array}\right.
$$
其中rand表示(0,1)之间的随机数,$\Delta$表示(0,1)之间的随机数。上述等式进一步简化:
$$
\mu_{1}=\beta\times3\times rand+(1-\beta)
$$
$$
\mu_{2}=\beta\times rand+(1-\beta)
$$
流程图
伪代码
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.