Somersault foraging seagull optimization algorithm - with code

Seagull optimization algorithm for somersault foraging


Abstract: Aiming at the shortcomings of the basic seagull optimization algorithm (SOA) in dealing with complex optimization problems, such as low precision, slow convergence and easy to fall into local optimum, a SOA algorithm based on somersault foraging strategy (SFSOA) is proposed. The algorithm first adopts the nonlinear decreasing strategy of the control parameter A based on the inverted sigmoid function to update the position of the seagull individual to improve the quality of the individual and speed up the convergence speed; a learning mechanism based on somersault foraging strategy is introduced to increase the position The diversity can avoid the algorithm from falling into the local optimal value in the later stage of the search.

1. Seagull optimization algorithm

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

2. Improved seagull optimization algorithm

2.1 Nonlinear parameter A strategy

In SOA, the migration behavior of individual seagulls is an important operation of the algorithm, by introducing a parameter AAA is used to control the position of individual seagulls, to avoid collisions between individual seagulls and other adjacent individuals during the flight optimization process, and to avoid repeated positions. Therefore, the parameterAAASOA \mathrm{SOA}The SOA search process plays an important role in balancing the exploration and mining capabilities of the algorithm. However, it can be seen from formula (2) that the parameterAAThe value of A increases with the number of iterations fromfc f_cfcDecreases linearly to 0. In general, fc f_cfcThe value of is 2, that is, AAThe value of A decreases linearly from 2 to 0 .
UsingSOA \mathrm{SOA}In solving optimization problems in SOA , the search process is very complicated and presents a non-linear downward trend. At the same time, the unresolved problem also requires non-linear changes in the exploratory and exploitative behaviors of the algorithm to avoid local optimal solutions. If the control parameterAAA purely simulating the migration process of the seagull population in a linearly decreasing manner will reducethe SOA \mathrm{SOA}The optimal search capability of SOA . Therefore, this paper proposes a method based on invertedSSNonlinear Decreasing Control ParameterAA of Sigmoid FunctionA strategy, its mathematical expression is
A = fc , max − ( fc , max − fc , min ) × 1 1 + e η − μ (12) A=f_{c, \text { max }}-\left( f_{c, \text { max }}-f_{c, \text { min }}\right) \times \frac{1}{1+\mathrm{e}^{\eta-\mu}}\tag {12}A=fc, max (fc, max fc, min )×1+eh m1( 12 )
where:fc , max f_{c, \text { max }}fc, max sum fc , min f_{c, \text { min }}fc, min Respectively, the frequency control parameters fc f_cfcThe maximum and minimum values ​​of ; η \etaημ \muμ is a constant. It can be known from formula (12) that in the process of SOA optimization, the parameterAADecreasing the value of A in a non-linear way can enhance the global search ability of the algorithm, and at the same time, it can not only avoid the position overlap between individual seagulls, but also obtain a better balance between the global exploration and local development capabilities .

2.2 Somersault foraging strategy

In the later stage of the algorithm search, all seagull individuals move closer to the area where the optimal individual in the current group is located, resulting in a loss of group diversity. If the current optimal individual is not the global optimal solution, the algorithm will fall into a local optimum, which is swarm intelligence optimization. Inherent disadvantages of algorithms. In order to overcome this shortcoming, researchers have introduced many strategies into the swarm intelligence optimization algorithm, such as mutation operator, reverse learning, Lévy flight, lens imaging learning, pinhole imaging learning, etc. Feeding somersaults is one of the most efficient ways manta rays hunt for food. When they find a food source, they perform a series of backward somersaults, spinning around plankton (prey) to attract it to them. Inspired by this phenomenon, Zhao et al. proposed a new somersault feeding strategy to be used in the swarm intelligence optimization algorithm. The principle is as follows: In this strategy, the position of the prey is regarded as a fulcrum, and each bat Rays tend to swim back and forth around pivots and somersaults to a new position, and its mathematical model is
X ( t + 1 ) = X ( t ) + S ⋅ ( r 1 ⋅ X best − r 2 ⋅ X ( t ) ) (13) X(t+1)=X(t)+S \cdot\left(r_1 \cdot X_{best}-r_2 \cdot X(t)\right) \tag{13}X(t+1)=X(t)+S(r1Xbestr2X(t))( 13 )
Among them:XXX is the individual position of the manta ray;X best X_{\text {best }}Xbest is the current global optimal individual position; SSS is called flip factor;r 1 r_1r1and r 2 r_2r2are [ 0 , 1 ] [0,1][0,1 ] random number.
To reduceSOA \mathrm{SOA}The probability of SOA falling into a local optimum in the later stage of search, the manta ray somersault feeding strategy is introduced into SOA, its mathematical expression is
P s ( t + 1 ) = P s ( t ) + S ⋅ ( r 1 ⋅ P bs − r 2 ⋅ P s ( t ) ) (14) P_s(t+1)=P_s(t)+S \cdot\left(r_1 \cdot P_{bs}-r_2 \cdot P_s(t)\ right)\tag{14}Ps(t+1)=Ps(t)+S(r1Pbsr2Ps(t))( 14 )
where: somersault factorS = 2 S=2S=2

insert image description here

3. Experimental results

insert image description here

4. References

[1] Xu Ming, Long Wen, Yang Yang. Somersault Foraging Seagull Optimization Algorithm for Function Optimization and Feature Selection [J]. Computer Application Research, 2022, 39(12): 3639-3643+3650. DOI: 10.19734/j.issn.1001-3695.2022.05.0224.

5. Matlab code

6.python code

Guess you like

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