1.背景
2016年,V Muthiah-Nakarajan受星系运动启发,提出了星系群优化算法(Galactic Swarm Optimization, GSO)。
2.算法原理
2.1算法思想
GSO其灵感来源于星体、星系和星系团在重力影响下的运动。GSO采用多个探索和利用阶段的循环,以达到探索新解和利用现有解之间的最优权衡。在探索阶段,不同的子群体独立地探索搜索空间;在利用阶段,不同子群体的最佳解被视为一个超级群体,并朝向超级群体发现的最佳解移动。
参数意义
2.2算法过程
GSO通过将潜在解的种群划分为多个子群体(子星系),每个子群体独立探索搜索空间,来模拟星系内部星体的动态。每个子群体中的解都试图向该群体中识别的最优解移动。
位置和速度的更新(子群体内)
v j ( i ) ← ω 1 v ( i ) + c 1 r 1 ( p j ( i ) − x j ( i ) ) + c 2 r 2 ( g ( i ) − x j ( i ) ) x j ( i ) ← x j ( i ) + v j ( i ) (1) \begin{aligned}&\mathbf{v}_{j}^{(i)}\leftarrow\omega_{1}\mathbf{v}^{(i)}+c_{1}r_{1}\left(\mathbf{p}_{j}^{(i)}-\mathbf{x}_{j}^{(i)}\right)+c_{2}r_{2}\left(\mathbf{g}^{(i)}-\mathbf{x}_{j}^{(i)}\right)\\&\mathbf{x}_{j}^{(i)}\leftarrow\mathbf{x}_{j}^{(i)}+\mathbf{v}_{j}^{(i)}\end{aligned}\tag{1} vj(i)←ω1v(i)+c1r1(pj(i)−xj(i))+c2r2(g(i)−xj(i))xj(i)←xj(i)+vj(i)(1)
速度和位置的更新(超级群体内)
v ( i ) ← ω 2 v ( i ) + c 3 r 3 ( p ( i ) − y ( i ) ) + c 4 r 4 ( g − y ( i ) ) y ( i ) ← y ( i ) + v ( i ) (2) \begin{aligned}&\mathbf{v}^{(i)}\leftarrow\omega_2\mathbf{v}^{(i)}+c_3r_3(\mathbf{p}^{(i)}-\mathbf{y}^{(i)})+c_4r_4(\mathbf{g}-\mathbf{y}^{(i)})\\&\mathbf{y}^{(i)}\leftarrow\mathbf{y}^{(i)}+\mathbf{v}^{(i)}\end{aligned}\tag{2} v(i)←ω2v(i)+c3r3(p(i)−y(i))+c4r4(g−y(i))y(i)←y(i)+v(i)(2)
伪代码
3.结果展示
4.参考文献
[1] Muthiah-Nakarajan V, Noel M M. Galactic swarm optimization: a new global optimization metaheuristic inspired by galactic motion[J]. Applied Soft Computing, 2016, 38: 771-787.