一、理论基础
被囊群优化算法(Tunicate Swarm Algorithm,TSA)是Satnam Kaur等提出的一种新的优化算法,它的灵感来自以在深海中成功生存被膜的成群行为,该算法模拟了被囊动物在导航和觅食过程中的喷气推进和群体行为,与其他竞争算法相比,TSA算法能产生更好的最优解,并且能够解决具有未知搜索空间的实际研究案例。
1、避免搜索位置冲突
为了避免搜索个体位置之间的冲突,向量 A → \overrightarrow A A表示计算出来的新的个体搜索位置,计算公式如下: A → = G → M → (1) \overrightarrow A=\frac{\overrightarrow G}{\overrightarrow M}\tag{1} A=MG(1) G → = c 2 + c 3 − F → (2) \overrightarrow G=c_2+c_3-\overrightarrow F\tag{2} G=c2+c3−F(2) F → = 2 ⋅ c 1 (3) \overrightarrow F=2\cdot c_1\tag{3} F=2⋅c1(3)式中, G → \overrightarrow G G表示重力作用, F → \overrightarrow F F表示深海中的水流平流,变量 c 1 , c 2 , c 3 c_1,c_2,c_3 c1,c2,c3均为 [ 0 , 1 ] [0,1] [0,1]的随机数。 M → \overrightarrow M M表示个体之间的互相作用力,计算公式如下: M → = ⌊ P m i n + c 1 ⋅ ( P m a x − P m i n ) ⌋ (4) \overrightarrow M=\lfloor{P_{min}+c_1\cdot(P_{max}-P_{min})}\rfloor\tag{4} M=⌊Pmin+c1⋅(Pmax−Pmin)⌋(4)式中, P m i n , P m a x P_{min},P_{max} Pmin,Pmax分别表示个体相互作用的初始速度和从属速度,一般 P m i n , P m a x P_{min},P_{max} Pmin,Pmax的值定义为1和4。
2、向最优邻居方向移动
在避免邻域之间的冲突后,搜个体向最佳邻居的方向移动,计算公式如下: P D → = ∣ F S → − r a n d ⋅ P p → ( x ) ∣ (5) \overrightarrow{PD}=|\overrightarrow{FS}-r_{and}\cdot \overrightarrow{P_p}(x)|\tag{5} PD=∣FS−rand⋅Pp(x)∣(5)式中, P D → \overrightarrow{PD} PD表示食物源与搜索个体之间的距离, F S → \overrightarrow{FS} FS表示食物源的位置, x x x表示当前迭代次数, P p → ( x ) \overrightarrow{P_p}(x) Pp(x)表示被囊个体的位置, r a n d r_{and} rand是 [ 0 , 1 ] [0,1] [0,1]之间的随机数。
3、向最优位置靠拢
搜索个体可以保持其朝向最优搜索个体(即食物源)的位置,计算公式如下: P p → ( x ′ ) = { F S → + A → ⋅ P D → , i f r a n d ≥ 0.5 F S → − A → ⋅ P D → , i f r a n d < 0.5 (6) \overrightarrow{P_p}(x')=\begin{dcases}\overrightarrow{FS}+\overrightarrow A\cdot\overrightarrow{PD},\quad if\, r_{and}≥0.5\\\overrightarrow{FS}-\overrightarrow A\cdot\overrightarrow{PD},\quad if\, r_{and}<0.5\end{dcases}\tag{6} Pp(x′)={FS+A⋅PD,ifrand≥0.5FS−A⋅PD,ifrand<0.5(6)式中, P p → ( x ′ ) \overrightarrow{P_p}(x') Pp(x′)表示更新后的位置。
4、群体行为
为了从数学上模拟被囊的群体行为,保存前两个最优解,并根据最优搜索个体的位置更新其他搜索个体的位置。以下公式用于定义被囊动物的群体行为: P → p ( x + 1 ) = P p → ( x ) + P p → ( x + 1 ) 2 + c 1 (7) \overrightarrow P_p( x+1)=\frac{\overrightarrow{P_p}(x)+\overrightarrow{P_p}(x+1)}{2+c_1}\tag{7} Pp(x+1)=2+c1Pp(x)+Pp(x+1)(7)
二、仿真实验与结果分析
对常用基准函数F1,F2,F3进行仿真,TSA算法寻优过程如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210430141047666.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzgyMTU1OQ==,size_16,color_FFFFFF,t_70#pic_center)
三、参考文献
[1] Satnam Kaur, Lalit K. Awasthi, A.L. Sangal, et al. Tunicate Swarm Algorithm: A new bio-inspired based metaheuristic paradigm for global optimization[J]. Engineering Applications of Artificial Intelligence, 2020, 90: 103541.