【智能算法】龙格库塔优化算法(RUN)原理及实现

在这里插入图片描述


1.背景

2021年,I Ahmadianfar等人受到四阶龙格库塔数值方法启发,提出了龙格库塔优化算法(Runge Kutta optimizer, RUN)。

2.算法原理

2.1算法思想

RUN基于四阶龙格库塔法,以梯度作为搜索方向,并基于强化个体质量机制,建立种群的更新规则。
在这里插入图片描述

2.2算法过程

RUN基于四阶龙格库塔算法:
S M = 1 6 ( x R K ) Δ x x R K = k 1 + 2 × k 2 + 2 × k 3 + k 4 (1) SM=\frac{1}{6}(x_{RK})\Delta x\\ x_{RK}=k_1+2\times k_2+2\times k_3+k_4\tag{1} SM=61(xRK)ΔxxRK=k1+2×k2+2×k3+k4(1)

个体更新

RUN 基于四阶龙格库塔法得到的SM进行更新:
X n + 1 = { ( X p + r × S F × g × X p ) + S F × S M + μ × r a n d n × ( X m − X p ) , r a n d < 0.5 ( X m + r × S F × g × X m ) + S F × S M + μ × r a n d n × ( X A − X B ) , r a n d ≥ 0.5 (2) X_{n+1}=\begin{aligned}\\&\begin{cases}\left(X_p+r\times SF\times g\times X_p\right)+\\SF\times SM+\mu\times randn\times\left(X_m-X_p\right),rand<0.5\\\left(X_m+r\times SF\times g\times X_m\right)+\\SF\times SM+\mu\times randn\times\left(X_A-X_B\right),rand\geq0.5&\end{cases}\end{aligned}\tag{2} Xn+1= (Xp+r×SF×g×Xp)+SF×SM+μ×randn×(XmXp),rand<0.5(Xm+r×SF×g×Xm)+SF×SM+μ×randn×(XAXB),rand0.5(2)
其中,方向因子r是一个值为 1 或-1 的整数;Xp为勘探领导者;Xm为开发领导者;SF为平衡因子;SM为领导搜索因子。

位置增量为:
Δ X = 2 × r a n d × ∣ S t p ∣ S t p = r a n d × ( ( X b − r a n d × X a ν g ) + γ ) γ = r a n d × ( X n − r a n d × ( u b − l b ) ) × e ( − 4 × i M a x i ) (3) \begin{gathered} \Delta X=2{\times}rand{\times}|Stp| \\ Stp=rand\times\left(\left(X_b-rand\times X_{a\nu g}\right)+\gamma\right) \\ \gamma=rand\times\left(X_{n}-rand\times\left(ub-lb\right)\right)\times\mathrm{e}^{\left(-4\times\frac{i}{Maxi}\right)} \end{gathered}\tag{3} ΔX=2×rand×StpStp=rand×((Xbrand×Xaνg)+γ)γ=rand×(Xnrand×(ublb))×e(4×Maxii)(3)
领导者为:
X p = φ × X n + ( 1 − φ ) × X A X m = φ × X b e s t + ( 1 − φ ) × X l b e s t (4) \begin{aligned}&X_{p}=\varphi\times X_{n}+(1-\varphi)\times X_{A}\\&X_{m}=\varphi\times X_{best}+(1-\varphi)\times X_{lbest}\end{aligned}\tag{4} Xp=φ×Xn+(1φ)×XAXm=φ×Xbest+(1φ)×Xlbest(4)
平衡因子SF为:
S F = 2 ⋅ ( 0.5 − r a n d ) × a × e ( − b × r a n d × i M a x i ) (5) SF=2\cdot(0.5-rand)\times a\times\mathrm{e}^{\left(-b\times rand\times\frac{i}{Maxi}\right)}\tag{5} SF=2(0.5rand)×a×e(b×rand×Maxii)(5)
在这里插入图片描述

强化个体质量:

为了提高个体质量,防止算法陷入局部最优,RUN使用强化个体质量 (Enhanced solution quality, ESQ)对更新后的个体进行质量增强:
x n e w 2 = { x n e w 1 + r w ∣ ( x n e w 1 − x a v g ) + r a n d n ∣ , r a n d < 0.5 , w < 1 ( x n e w 1 − x a v g ) + r w ∣ ( u x n e w 1 − x a v g ) + r a n d n ∣ , r a n d < 0.5 , w ≥ 1 (6) \mathrm{x_{new2}=\begin{cases}x_{new1}+rw|(x_{new_{1}}-x_{avg})+randn|,rand<0.5,w<1\\(x_{new1}-x_{avg})+rw|(ux_{new1}-x_{avg})+randn|,rand<0.5,w\geq1&&\end{cases}}\tag{6} xnew2={xnew1+rw(xnew1xavg)+randn,rand<0.5,w<1(xnew1xavg)+rw(uxnew1xavg)+randn,rand<0.5,w1(6)
其中,参数为:
w = r a n d ( 0 , 2 ) ∗ e x p ( − c i / M a x i ) x a v g   =   x r 1   + x r 2   + x r 3 3 x n e w 1   = β ∗ x a v g   + ( 1 − β ) x b e s t (7) \mathrm{w=rand(0,2)*exp(-ci/Max_i)}\\\mathrm{x_{avg}~=~\frac{x_{r1}~+x_{r2}~+x_{r3}}3}\\\mathrm{x_{new1}~=\beta*x_{avg}~+(1-\beta)x_{best}}\tag{7} w=rand(0,2)exp(ci/Maxi)xavg = 3xr1 +xr2 +xr3xnew1 =βxavg +(1β)xbest(7)
为了增强解的质量,将生成另一个新解:
x n e w 3 = ( x n e w 2 − r a n d x n e w 2 ) + S F ( r a n d ∗ x R K + ( v x b − x n e w 2 ) ) (8) \mathrm{x}_{{\mathrm{new}3}}=(\mathrm{x}_{{\mathrm{new}2}}-\mathrm{rand}\mathrm{x}_{{\mathrm{new}2}})+\mathrm{SF}\left(\mathrm{rand}*\mathrm{x}_{{\mathrm{RK}}}+(\mathrm{v}\mathrm{x}_{{\mathrm{b}}}-\mathrm{x}_{{\mathrm{new}2}})\right)\tag{8} xnew3=(xnew2randxnew2)+SF(randxRK+(vxbxnew2))(8)
在这里插入图片描述

伪代码
在这里插入图片描述
流程图
在这里插入图片描述
在这里插入图片描述

3.结果展示

在这里插入图片描述

4.参考文献

[1] Ahmadianfar I, Heidari A A, Gandomi A H, et al. RUN beyond the metaphor: An efficient optimization algorithm based on Runge Kutta method[J]. Expert Systems with Applications, 2021, 181: 115079.

  • 18
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
基于龙格-Runge-Kutta)优化的机器人路径规划算法是一种基于数值计算方法的优化算法,用于解决机器人路径规划问题。下面是该算法的基本思想和步骤: 1. 问题建模:将机器人路径规划问题转化为数学模型,定义目标函数和约束条件。目标函数可以是路径长度最短、时间最短、能耗最低等,约束条件可以包括避开障碍物、遵守限制速度等。 2. 龙格-方法简介:龙格-方法是一种常用的数值计算方法,用于求解常微分方程。它通过逐步逼近微分方程的解,可以提高数值解的精度和稳定性。 3. 初始路径生成:根据机器人当前位置和目标位置,生成初始路径。 4. 路径优化:利用龙格-方法,对初始路径进行优化。将路径分割成一系列小段,通过迭代计算每个小段的最优控制量,以得到整体路径的优化结果。 5. 目标函数评估:根据目标函数和约束条件,评估优化后的路径的适应度,即衡量其路径规划方案的优劣程度。 6. 适应度更新:根据路径的适应度,通过选择、交叉和变异等操作,更新路径规划方案。较优的路径将有更高的概率被选择和保留,以便于更好地探索和利用搜索空间。 7. 终止条件:根据预设的终止条件(如达到最大迭代次数、适应度达到要求等),判断是否终止算法。 8. 最优路径提取:在算法终止后,选择适应度最好的路径作为最优路径规划方案。 9. 可选的后处理:对最优路径进行后处理,如平滑路径、优化路径等,以得到更优的机器人路径规划结果。 需要注意的是,龙格-优化算法中的路径优化过程可以根据具体问题进行设计。此外,优化算法的性能还受到参数设置、迭代次数等因素的影响,需要进行合理调整和实验验证。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小O的算法实验室

谢谢大佬的肯定!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值