目录
- 1.背景
- 2.算法原理
- 2.1算法思想
- 2.2算法过程
- 3.结果展示
- 4.参考文献
1.背景
2016年,Mirjalili 等人受到宇宙膨胀理论启发,提出了多元宇宙优化算法(Multi-verse Optimization, MVO)。
2.算法原理
2.1算法思想
MVO基于宇宙膨胀的原理,利用白洞和黑洞的不同膨胀率,模拟了宇宙中粒子通过虫洞从白洞向黑洞位置转移的过程。MVO有以下规则:
- 膨胀率越高,产生白洞的概率越高
- 膨胀率越高,产生黑洞的概率越低
- 膨胀率较高的宇宙倾向于通过白洞发送物体。
- 膨胀率较低的宇宙倾向于通过黑洞接收更多物体
- 所有宇宙中的物体可能通过虫洞朝着最佳宇宙进行随机移动,而不受膨胀率的影响
2.2算法过程
多元宇宙:
每一行可以看作一个宇宙,行向量上每一维看作黑洞。
U = [ x 1 1 x 1 2 … x 1 d x 2 1 x 2 2 … x 2 d ⋮ ⋮ ⋮ ⋮ x n 1 x n 2 … x n d ] U=\begin{bmatrix}x_1^1&x_1^2&\dots&x_1^d\\x_2^1&x_2^2&\dots&x_2^d\\\vdots&\vdots&\vdots&\vdots\\x_n^1&x_n^2&\dots&x_n^d\end{bmatrix} U= x11x21⋮xn1x12x22⋮xn2……⋮…x1dx2d⋮xnd
x i j = { x k j r 1 < N I ( U i ) x i j r 1 ≥ N I ( U i ) \left.x_i^j=\left\{\begin{array}{cc}x_k^j&r1<NI(Ui)\\x_i^j&r1\geq NI(Ui)\end{array}\right.\right. xij={xkjxijr1<NI(Ui)r1≥NI(Ui)
其中,NI为宇宙膨胀率。
黑洞位置更新:
x i j = { { X j + T D R × ( ( u b j − l b j ) × r 4 + l b j ) r 3 < 0.5 X j − T D R × ( ( u b j − l b j ) × r 4 + l b j ) r 3 ≥ 0.5 x i j r 2 ≥ W E P x_i^j=\begin{cases}\begin{cases}X_j+\mathrm{TDR}\times\left(\left(ub_j-lb_j\right)\times r4+lb_j\right)&r3<0.5\\X_j-\mathrm{TDR}\times\left(\left(ub_j-lb_j\right)\times r4+lb_j\right)&r3\ge0.5\\x_i^j&r2\ge\mathrm{WEP}\end{cases}\\\end{cases} xij=⎩ ⎨ ⎧⎩ ⎨ ⎧Xj+TDR×((ubj−lbj)×r4+lbj)Xj−TDR×((ubj−lbj)×r4+lbj)xijr3<0.5r3≥0.5r2≥WEP
其中,TDR为旅行距离率:
T D R = 1 − l 1 / p L 1 / p \mathrm{TDR}=1-\frac{l^{1/p}}{L^{1/p}} TDR=1−L1/pl1/p
虫洞存在率:
W E P = min + l × ( max − min L ) \mathrm{WEP}=\min+l\times\left(\frac{\max-\min}L\right) WEP=min+l×(Lmax−min)
3.结果展示
4.参考文献
[1] Mirjalili S, Mirjalili S M, Hatamlou A. Multi-verse optimizer: a nature-inspired algorithm for global optimization[J]. Neural Computing and Applications, 2016, 27: 495-513.