Improved Sandcat Swarm Optimization Algorithm (ISCSO) - with code

Improved Sandcat Swarm Optimization Algorithm (ISCSO)


Abstract: Improve the sand cat group optimization algorithm. In the improved sand cat swarm optimization algorithm, the uniformity of chaotic map is used to initialize the population to increase the diversity of the population; the negative influence of the local optimal solution is reduced by integrating the mutual benefit symbiosis and Levi's flight strategy, and the convergence speed and accuracy of the algorithm are improved.

1. Sandcat group optimization algorithm

The specific principle reference of the basic sand cat group optimization algorithm, my blog: https://blog.csdn.net/u011835903/article/details/126624550

2. Improved sand cat group optimization algorithm

2.1 Chaos Map Initialization

Chaos map [12] { }^{[12]}[ 12 ] has good randomness, regularity and ergodicity, which can not only make the population have good diversity, but also improve the algorithm's global search ability, convergence speed and convergence accuracy. The improved formula is as follows:
C k + 1 = { C k / a , 0 ⩽ C k ⩽ a ( 1 − C k ) / ( 1 − a ) , a ⩽ C k ⩽ 1 ( 7 ) P os → id = lb + ( ub − lb ) × C id ( 8 ) \begin{aligned} C_{k+1}= & \begin{cases}C_k / a, & 0 \leqslant C_k \leqslant a \\ \left(1-C_k\ right) /(1-a), & a \leqslant C_k \leqslant 1\end{cases} (7)\\ & \overrightarrow{\mathrm{Pos}}_{id}=l b+(u bl b) \ times C_{id}\ (8) \end{aligned}Ck+1={ Ck/a,(1Ck)/(1a),0CkaaCk1(7)Pos id=lb+(ublb)×Cid (8)
location; ububu blblbl b represents the search range of the population;C id C_{id}CidRepresents the chaotic sequence generated by equation (7).

2.2 Introducing Mutually Beneficial Coexistence Strategies

When the sand cat group optimization algorithm attacks the prey, it will randomly select the angle through the roulette method to approach the prey to attack. However, such an attack method is relatively random, and it is easy to fall into a local optimum. By strengthening the information exchange between the individual and the optimal individual, the mutual-benefit symbiosis strategy can eliminate the negative impact of the sand cat when it attacks its prey, and improve the optimization accuracy and optimization accuracy of the sand cat. convergence speed. The improved formula is as follows:
P os → new = P os → bc + ( P os → bc − bf × RMV ) (9) \overrightarrow{\mathrm{Pos}}_{new}=\overrightarrow{\mathrm{Pos}} _{bc}+(\overrightarrow{\mathrm{Pos}}_{bc}-bf\times R_{MV})\tag{9}Pos new=Pos bc+(Pos bcbf×RMV)(9)

RMV = ( P os → bc + P os → rnd ) / 2 (10) R_{MV}=(\overrightarrow{\mathrm{Pos}}_{bc}+\overrightarrow{\mathrm{Pos}}_{rnd })/2 \tag{10}RMV=(Pos bc+Pos rnd)/2(10)

P o s → n e w \overrightarrow{\mathrm{Pos}}_{new} Pos newis the updated position; P os → rnd \overrightarrow{\mathrm{Pos}}_{\mathrm{rnd}}Pos rndis the position of random individual; P os → bc \overrightarrow{\mathrm{Pos}}_{\mathrm{bc}}Pos bcis the position of the optimal individual; bfbfb f represents the interest factor, 1 or 2 is randomly selected, which means that some or all benefits may be obtained;
RMV R_{MV}RMVRepresents the information exchange between the optimal individual and the random individual.

2.3 Introducing Levi's flight strategy

The sand cat swarm optimization algorithm searches for prey and attacks prey through random angles, resulting in the algorithm missing some better solutions and reducing the accuracy of collection. In order to enhance the thoroughness of the search and eliminate the negative influence of the local optimal solution, this algorithm introduces the Levy flight strategy [13] { }^{[13]}[ 13 ] , not only strengthen the local search ability of the algorithm, but also ensure that the algorithm has good thoroughness in the global search. The improved formula is as follows:
P os → new = P os → bc + ∣ P os → bc − P os → L evy ∣ lcos ( 2 π l ) (11) \overrightarrow{\mathrm{Pos}}_{new} = \ overrightarrow{\mathrm{Pos}}_{bc}+|\overrightarrow{\mathrm{Pos}}_{bc}-\overrightarrow{\mathrm{Pos}}_{Levy}|lcos(2\pi l)\ tag{11}Pos new=Pos bc+Pos bcPos Levylcos(2πl)(11)

P os → L evy = μ ∣ α ∣ 1 / β ( P os → rnd − P os → bc ) (12) \overrightarrow{\mathrm{Pos}}_{Levy}=\frac{\mu}{|\ alpha|^{1/\beta}}(\overrightarrow{\mathrm{Pos}}_{rnd}-\overrightarrow{\mathrm{Pos}}_{bc})\tag{12}Pos Levy=α1/ bm(Pos rndPos bc)(12)

σ µ = { Γ ( 1 + β ) sin ⁡ ( π β 2 ) Γ [ ( 1 + β ) 2 ] β ⋅ 2 β − 1 2 } (13) \begin{aligned} & \sigma_\mu=\left \{\frac{\Gamma(1+\beta)\sin\left(\frac{\pi\beta}{2}\right)}{\Gamma\left[\frac{(1+\beta)}{ 2}\right] \beta\cdot 2^{\frac{\beta-1}{2}}}\right\}\\&\end{aligned}\tag{13}pm= C[2( 1 + b )]b22b 1C ( 1+b )sin(2p b) (13)
P o s → n e w \overrightarrow{\mathrm{Pos}}_{new} Pos newis the updated position; P os → L evy \overrightarrow{P os}_{\mathrm{Levy}}Pos LevyIndicates the flight position of Levi; lll is(0, 1) (0,1)(0,1 ) random number;P os → rnd \overrightarrow{\mathrm{Pos}}_{\mathrm{rnd}}Pos rndRepresents the position of a random individual; μ \muμ是服剎μ ∼ N ( 0 , σ μ 2 ) \mu \sim N\left(0, \sigma_\mu^2\right)mN(0,pm2) , whereΓ \GammaΓ is the gamma function,β \betaβ is( 0 , 2 ) (0,2)(0,2 ) A random number.

3. Experimental results

insert image description here

4. References

[1] Jia Heming, Li Yongchao, You Jinhua, etc. Robot Path Planning Based on Improved Sandcat Swarm Optimization Algorithm [J]. Journal of Fujian Institute of Technology, 2023, 21(01): 72-77.

5. Matlab code

6. Python code

Guess you like

Origin blog.csdn.net/u011835903/article/details/130494672