1.背景
2012年,Gandomi等人受到自然界中磷虾生存行为启发,提出了磷虾群算法(Krill Herd Algorithm, KHA)。
2.算法原理
2.1算法思想
KHA受南极鳞虾群觅食行为和运动规律的启发,磷虾群个体位置随时间不断变化,KHA目标是通过总结每次个体变化的规律去寻找磷虾群中最优磷虾个体的位置。
2.2算法过程
个体在运动过程中受到的影响因素主要包括:
- 周围磷虾个体对它的影响Ni
- 食物的影响Fi
- 个体自身随机物理扩散Di
磷虾个体随时间的运动数学方程:
d X i / d t = N i + F i + D i (1) d_{X_{i}}/d_{t}=N_{i}+F_{i}+D_{i}\tag{1} dXi/dt=Ni+Fi+Di(1)
诱导运动:
磷虾个体的运动首先受到它周围磷虾对它的诱导,根据磷虾受周围环境影响的运动规律:
N i + 1 = N max α i + ω n N i (2) N_{i+1}=N^{\max}\alpha_{i}+\omega_{n}N_{i}\tag{2} Ni+1=Nmaxαi+ωnNi(2)
其中,Ni+1为磷虾诱导更新后的位置;Nmax为最大诱导速度;Ni为磷虾诱导更新前的位置;wn为诱导运动惯性权重;ai为诱导运动系数:
α i = α i b e s t + α i l o c a l (3) \alpha_{i}=\alpha_{i}^{best}+\alpha_{i}^{local}\tag{3} αi=αibest+αilocal(3)
abest,alocal分别为全局最优磷虾的引导系数和周围磷虾引导系数。影响范围是以该磷虾为圆心的圆形区域:
r i j = 1 5 N P ∑ j = 1 N P ∥ x i − x j ∥ (4) r_{ij}=\frac{1}{5NP}\sum_{j=1}^{NP}\Bigl\Vert x_i-x_j\Bigr\Vert \tag{4} rij=5NP1j=1∑NP
xi−xj
(4)
觅食运动:
磷虾的运动规律第二是受到食物的影响:
F i + 1 = V f β i + ω f F i (5) F_{i+1}=V_{f}\beta_{i}+\omega_{f}F_{i}\tag{5} Fi+1=Vfβi+ωfFi(5)
其中,wf,Vf为觅食惯性系数和最大觅食速度, β i \beta_i βi为觅食运动方向:
β i = β i f o o d + β i b e s t (6) \beta_{i}=\beta_{i}^{food}+\beta_{i}^{best}\tag{6} βi=βifood+βibest(6)
其中, β f o o d , β b e s t \beta_{food},\beta_{best} βfood,βbest分别为“虚拟食物”的诱导方向和个体磷虾历史最优适应度的诱导方向。
自由扩散:
磷虾个体运动的最后一个影响因素是个体随机物理扩散:
D i + 1 = D m a x ( 1 − t t m a x ) δ (7) D_{i+1}=D_{\mathrm{max}}(1-\frac{t}{t_{\mathrm{max}}})\delta \tag{7} Di+1=Dmax(1−tmaxt)δ(7)
Dmax为最大随机物理扩散速度。
流程图:
3.结果展示
4.参考文献
[1] Gandomi A H, Alavi A H. Krill herd: a new bio-inspired optimization algorithm[J]. Communications in nonlinear science and numerical simulation, 2012, 17(12): 4831-4845.