t distribution and chaotic adaptive vulture search algorithm (CBBES) for spiral slime mold search-with code

t distribution and a chaotic adaptive vulture search algorithm (CBBES) for spiral slime mold search


Abstract: Aiming at the low search accuracy, slow convergence speed and easy to fall into local optimum of the vulture search algorithm, a chaotic adaptive vulture search algorithm based on t-distribution and spiral slime mold search is proposed. First, chaotic Bernoulli mapping is introduced to initialize the population to enrich the diversity of the population. Then, in the search space prey stage, the spiral slime mold search strategy is used to dynamically modify the position update method according to the search process, which improves the global search ability and convergence accuracy of the algorithm. In the dive capture prey stage, an adaptive inertia weight strategy is introduced to balance the global search and local development of the algorithm to improve the accuracy of the algorithm solution. Finally, the t-distribution random perturbation strategy is used to mutate the individual population according to probability, increasing the probability of the algorithm jumping from the local optimum and finding the global optimum.

1. Vulture optimization algorithm

The specific principle reference of the basic vulture optimization algorithm, my blog: https://blog.csdn.net/u011835903/article/details/113775430

2. Improved Vulture Optimization Algorithm

2.1 Population initialization strategy

Form the Bernoulli function:
yk + 1 = { yk / ( 1 − µ ) , 0 < yk ≤ 1 − µ ( yk − 1 + µ ) / µ , 1 − µ < yk < 1 (14) y_{k+1}=\left\{\begin{array}{l} y_k /(1-\mu), 0< y_k \leq 1-\mu \\ \left(y_k-1+\mu\right) / \mu, 1-\mu<y_k<1 \end{array}\right.\tag{14}yk+1={ yk/(1m ) ,0<yk1m(yk1+m )/ m ,1m<yk<1
In formula ( 14 ) , μ \muμ is a chaotic parameter, generallyμ = 0.4 \mu=0.4m=0.4

Therefore, the improved algorithm will use chaotic Bernoulli mapping to realize population initialization. Remap the generated Bernoulli chaotic sequence to the search space of the algorithm, the specific way is:
xi , j = lbj + yi , j × ( ubj − lbj ) (15) x_{i, j}=l b_j+y_{i, j} \times\left(u b_j-l b_j\right)\tag{15}xi,j=lbj+yi,j×(ubjlbj)( 15 )
where:xi , j x_{i, j}xi,jfor individual iii is in dimensionjjj upper position,yi , j y_{i, j}yi,jIndividual ii generated for equation (14)i is in dimensionjjChaos value on j , lbjl b_jlbjJapanese ubju b_jubjfor individual iii is in dimensionjjposition boundaries on j , j = 1 , 2 , … , d , dj=1,2, \ldots, d, dj=1,2,,d,d is the location dimension.

2.2 Search strategy of Spiral Slime Mold

In the standard BES algorithm, individuals are prone to population aggregation when searching for prey in the space. Although such a gradual aggregation method helps to improve the speed of the algorithm, but in the state of gradual population aggregation, the population diversity of the algorithm will gradually decrease and the probability of falling into a local optimum will increase. Slime mold optimization algorithm SMA [ 23 ] \mathrm{SMA}^{[23]}SMA[ 23 ] used the way that the slime mold vein width changes with the food concentration to guide the search area of ​​the population when searching for the target position. It has excellent global search ability, and its position update method is: X new = X b ( iter ) + vb ⋅ ( W ⋅ XA ( iter ) − XB ( iter ) ) (17) X_{new}=X_b(\text { iter })+v_b \cdot\left (W \cdot X_A(\text { iter })-X_B(\text { iter })\right) \tag
{17}Xnew=Xb( iter )+vb(WXA( iter )XB( iter ))( 17 )
,X new X_{\text {new }}Xnew is the new position of the individual, X b ( X_b(Xb( iter ) ) ) is the position of the individual with the best fitness for iter iterations,XA ( X_A(XA( iter ) 、 X B ( ) 、 X_B( )XB( iter ) ) ) is randomly selected individualsA , BA , BThe positions of A and B ,vb v_bvbis the control parameter, WWW is the quality of slime mold, which can be regarded as a weight parameter. In order to improve the accuracy of the vulture search space prey, the search strategy of the slime mold optimization algorithm is introduced into the BES search space prey stage, making full use of the individual position information of the previous generation population, and at the same time using the improved spiral search operator to improve the target search ability of the BES algorithm.
Pi, new =Pbest ( iter )+x(i)rot(v)(WPZ( iter )Pi( iter ))+y(i)rot(v)(WPi( iter )Pmean ( iter ))( 18 )
where,PZ ( P_Z(PZ( iter ) ) ) is to randomly select individual ZZwhen iterating iterThe position of Z ,P best ( P_{\text {best }}(Pbest ( iter ) ) ) is the optimal position of the current population,P mean ( P_{\text {mean }}(Pmean ( iter ) ) ) is the average position of the population when iterating iter,rot ⁡ ( v ) \operatorname{rot}(v)rot ( v ) is a spiral search operator, defined as:
rot ⁡ ( v ) = env cos ⁡ ( 2 π v ) (19) \operatorname{rot}(v)=e^{nv} \cos (2 \pi v) \tag{19}rot(v)=envcos(2πv)( 19 )
where,nnn is the logarithmic spiral curve constant,vvv is a normal distribution random quantity, defined as:
v = rand ⋅ arctan ⁡ h ( 1 − 1 / T max ⁡ ) (20) v=\text { rand } \cdot \arctan h\left(1-1 / T_{\max }\right) \tag{20}v= rand arctanh(11/Tmax)( 20 )
Weight parameterWWW 定义为:
W ( S I ( i ) ) = { 1 + r ⋅ log ⁡ ( f min  − S ( i ) f min  − f max  + 1 ) , i = C 1 − r ⋅ log ⁡ ( f min  − S ( i ) f min  − f max  + 1 ) , i = O S I ( i ) = sort ⁡ ( S ) (21) W(S I(i))=\left\{\begin{array}{l} 1+r \cdot \log \left(\frac{f_{\text {min }}-S(i)}{f_{\text {min }}-f_{\text {max }}}+1\right), i=C \\ 1-r \cdot \log \left(\frac{f_{\text {min }}-S(i)}{f_{\text {min }}-f_{\text {max }}}+1\right), i=O \\ S I(i)=\operatorname{sort}(S) \end{array}\right. \tag{21} W ( S I ( i ))= 1+rlog(fmin fmax fmin S(i)+1),i=C1rlog(fmin fmax fmin S(i)+1),i=OS I ( i )=sort(S)(21)
式中, r ∈ [ 0 , 1 ] r \in[0,1] r[0,1 ] is a random quantity,f min f_{\text {min }}fmin is the optimal fitness of the population, S ( i ) S(i)S ( i ) is the bodyiii fitness,f max f_{\text {max }}fmax is the worst fitness of the population, SI ( i ) SI(i)S I ( i ) for individualsiiThe fitness ranking of i , i = C i=Ci=C is the first half of individuals in the fitness ranking,i = O i=Oi=O is the second half of individuals in the fitness ranking.

2.3 Adaptive inertia weight strategy

inertia weight wwThe first use of w is in the particle swarm algorithm, and the goal is to balance the global search and local development capabilities of the algorithm. For the iterative process of the intelligent optimization algorithm, a larger weight should be used to enhance the global search ability of the algorithm in the early iteration, and a smaller weight should be used to improve the local development ability of the algorithm in the later iteration. Especially in the process of the algorithm processing multi-peak functions, if the optimal solution cannot be determined in the global search process, and the local development ability is too strong, the algorithm may fall into local optimum. For the vulture search algorithm, in the later stage of the iteration, the vulture's attack on the prey is limited to a small local area. In order to maintain a certain global search ability of the vulture at this stage, the adaptive inertia weight is used to adjust the position of the vulture to improve the convergence accuracy of the algorithm. Utilize the following adaptive non-linear inertial weight update method:
w i (  iter  ) = { w max ⁡ − w max ⁡ − w min ⁡ T max ⁡ × f i (  iter  ) − f min ⁡ (  iter  ) f max ⁡ (  iter  ) − f min ⁡ (  iter  ) , f i (  iter  ) < f avg  (  iter  ) w min ⁡ + w max ⁡ − w min ⁡ T max ⁡ × f i (  iter  ) − f min ⁡ (  iter  ) f max ⁡ (  iter  ) − f min ⁡ (  iter  ) , f i (  iter  ) ≥ f avg  (  iter  ) (22) w_i(\text { iter })=\left\{\begin{array}{l} w_{\max }-\frac{w_{\max }-w_{\min }}{T_{\max }} \times \frac{f_i(\text { iter })-f_{\min }(\text { iter })}{f_{\max }(\text { iter })-f_{\min }(\text { iter })} \\ , f_i(\text { iter })<f_{\text {avg }}(\text { iter }) \\ w_{\min }+\frac{w_{\max }-w_{\min }}{T_{\max }} \times \frac{f_i(\text { iter })-f_{\min }(\text { iter })}{f_{\max }(\text { iter })-f_{\min }(\text { iter })} \\ , f_i(\text { iter }) \geq f_{\text {avg }}(\text { iter }) \end{array}\right.\tag{22} wi( iter )= wmaxTmaxwmaxwmin×fmax( iter )fmin( iter )fi( iter )fmin( iter ),fi( iter )<favg ( iter )wmin+Tmaxwmaxwmin×fmax( iter )fmin( iter )fi( iter )fmin( iter ),fi( iter )favg ( iter )(22)
式中, w min  、 w max  w_{\text {min }} 、 w_{\text {max }} wmin wmax is the minimum and maximum value of the inertia weight, f min ( f_{\text {min }}(fmin ( iter ) ) ) f max ⁡ ( f_{\max }( fmax( iter ) ) ) represents the minimum and maximum fitness,f avg ( f_{\text {avg }}(favg ( iter ) ) ) represents the mean value of population fitness,fi ( f_i(fi( iter ) ) ) means individualiiThe fitness value of i .
The inertia weightw ( w(w( iter ) ) ) is introduced into the stage of diving to capture prey, the vulture’s position update method is:
P i , new = rand ⁡ × P best + x 1 ( i ) × ( wi ( iter ) × P i − c 1 × P mean ) + y 1 ( i ) × ( wi ( iter ) × P i − c 2 × P best ) (23) \begin{align ed} & P_{i, \text { new }}=\operatorname{rand} \times P_{\text {best }}+x_1(i) \times\left(w_i(\text { iter }) \times P_i-c_1 \times P_{\text {mean }}\right) \\ & +y_1(i) \times\left(w_i(\ text { iter }) \times P_i-c_2 \times P_{\text {best }}\right) \end{aligned}\tag{23}Pi, new =rand×Pbest +x1(i)×(wi( iter )×Pic1×Pmean )+y1(i)×(wi( iter )×Pic2×Pbest )(23)

2.4 t-distributed random perturbation

In order to further prevent the BES algorithm from falling into local optimum in the late stage of iteration, the ttThe t- distribution perturbs the vulture individual position with variation. At this time, the position variation method is:
P i ∗ = P i + P i × t ( iter ) (26) P_i^*=P_i+P_i \times t(\text { iter })\tag{26}Pi=Pi+Pi×t( iter )( 26 )
where,P i P_iPivulture individual iiposition i , P i ∗ P_i^*Pifor ttIndividual iiafter t distribution variationThe new position of i ,t ( t(t( iter ) ) ) is ttwhen the degree of freedom parameter itert distribution operator.
based onttThe position perturbation mechanism of t distribution can make full use of the effective information of the current population. In the early stage of the iteration, iter is small, which means that the degree of freedom parameter is small, and the model is close to the Cauchy distribution. At this time,t ( t(t( iter ) ) ) for individualP i P_iPiThe disturbance effect of is greater, the algorithm has a stronger global search ability, and can avoid the aggregation of individuals at local positions; in the later stage of the algorithm iteration, iter is larger, that is, the degree of freedom parameter is larger, ttThe t distribution is close to the Gaussian distribution, and the distribution operator pairP i P_iPiThe disturbance of t is weakened, which can improve the local development ability and collection accuracy; while in the middle stage of the algorithm iteration, because ttThe t distribution is gradually converting from the Cauchy distribution to the Gaussian distribution, so the advantages of the two distributions can be combined to better balance the algorithm between global search and local development.
In addition, in order to retain a certain amount of information about the original population, whether vulture individuals undergottThe t- distribution variation depends on the mutation probability Pro. If the randomly generated variabler ∈ [ 0 , 1 ] r \in[0,1]r[0,1 ] is greater than or equal to Pro, then the individual will bettt distribution variation; otherwise, keep the original individual position, namely:
P i , new = { P i ∗ , r ≥ Pro P i , r < Pro (27) P_{i, \text { new }}=\left\{\begin{array}{l} P_i^*, r \geq \text { Pro } \\ P_i, r<\text { Pro } \end{array}\r sight.\tag{27}Pi, new ={ Pi,r Pro Pi,r< Pro (27)

3. Experimental results

insert image description here

4. References

[1] Zhang Haiyu, Jia Runliang. t distribution and a chaotic adaptive vulture search algorithm for spiral slime mold search [J/OL]. Small microcomputer system: 1-12 [2023-06-14]. http://kns.cnki.net/kcms/detail/21.1106.TP.20230518.1419.010.html

5. Matlab code

6.python code

Guess you like

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