Optimización de un solo objetivo: Optimizador de escarabajos peloteros (DBO)

El optimizador de escarabajos peloteros (DBO) fue propuesto por Jiankai Xue y Bo Shen en 2022. Este algoritmo se inspira principalmente en los comportamientos de las bolas rodantes, el baile, la búsqueda de alimento, el robo y la cría de escarabajos peloteros.
inserte la descripción de la imagen aquí

1. Algoritmo de optimización del escarabajo pelotero

1.1 Bola rodante de escarabajo pelotero

(1) Cuando el escarabajo pelotero se mueve hacia adelante sin obstáculos, el escarabajo pelotero usará el sol para navegar durante el proceso de rodar la bola de estiércol. La flecha roja en la siguiente figura indica la dirección de rodadura. Este documento asume que la intensidad de la fuente de luz afectará la posición del escarabajo pelotero
inserte la descripción de la imagen aquí
La actualización de la posición durante el proceso de bola de estiércol es la siguiente:

xi ( t + 1 ) = xi ( t ) + α × k × xi ( t − 1 ) + segundo × Δ x , Δ x = ∣ xi ( t ) − X w ∣ \begin{alineado} x_{i}( t+1) &=x_{i}(t)+\alpha \times k \times x_{i}(t-1)+b \times \Delta x, \\ \Delta x &=\left|x_{ i}(t)-X^{w}\derecho| \end{alineado}Xyo( t+1 )Δ x=Xyo( t )+a×k×Xyo( t1 )+b×Δx , _=xyo( t )Xw∣ _
Entre ellos, ttt representa el número de iteración actual,xi ( t ) x_{i}(t)Xyo( t ) significa laiiLa información de posición del escarabajo pelotero en la iteración t del tiempo i, k ∈ ( 0 , 0.2 ] k ∈ (0,0.2]k( 0 ,0.2 ] es el coeficiente de perturbación ,bbb es( 0 , 1 ) (0,1)( 0 ,1 ) , un número aleatorio entreα \alphaα toma -1 o 1,X w X^{w}Xw representa la peor posición global,Δ x \Delta xΔx se utiliza para simular el cambio de intensidad de la luz.
Entre ellos,α \alphaEl valor de α adopta el Algoritmo 1:
inserte la descripción de la imagen aquí

(2) Cuando un escarabajo pelotero encuentra un obstáculo y no puede avanzar, necesita reajustarse bailando para obtener una nueva ruta. En este documento, la función tangente se usa para imitar el comportamiento de baile para obtener una nueva dirección de balanceo.La dirección de balanceo solo se considera como [ 0 , π ] [0,π][ 0 ,π ] entre.
inserte la descripción de la imagen aquí
Una vez que el escarabajo pelotero haya determinado con éxito una nueva dirección, debe continuar haciendo rodar la pelota hacia atrás. La posición del escarabajo pelotero se actualiza de la siguiente manera:
xi ( t + 1 ) = xi ( t ) + tan ⁡ ( θ ) ∣ xi ( t ) − xi ( t − 1 ) ∣ x_{i}(t+1) =x_{i}(t)+\tan (\theta)\left|x_{i}(t)-x_{i}(t-1)\right|Xyo( t+1 )=Xyo( t )+bronceado ( θ )xyo( t )Xyo( t1 )
Entre ellos,θ \thetaθ es el ángulo de desviación y su valor es[ 0 , π ] [0,π][ 0 ,π ] , usando el Algoritmo 2:
inserte la descripción de la imagen aquí

1.2 Reproducción del escarabajo pelotero

inserte la descripción de la imagen aquí

En la naturaleza, los escarabajos peloteros hembras hacen rodar bolas de estiércol a un lugar seguro adecuado para poner huevos y los esconden para proporcionar un entorno seguro para sus crías. Inspirándose en esto, se propone una estrategia de selección de límites para simular el área de desove de las hembras de escarabajos coprófagos:
L b ∗ = max ⁡ ( X ∗ × ( 1 − R ) , L b ) U b ∗ = min ⁡ ( X ∗ × ( 1 + R ) , U segundo ) \begin{array}{l} L segundo^{*}=\max \left(X^{*} \times(1-R), L segundo\right) \ \ Ub^{*}=\min \left(X^{*} \times(1+R), Ub\right) \end{matriz}L b=máximo( X×( 1R ) ,L b )Ub _=min( X×( 1+R ) ,U b )
Entre ellos, X ∗ X^{*}X representa la posición óptima actual,L b ∗ L b^{*}L b sumaU segundo ∗ U segundo^{*}Ub _ representan el límite inferior y el límite superior del área de desove respectivamente,R = 1 − t / T max R=1−t/T_{max}R=1 - t / Tmx _ _T máx T_{máx}Tmx _ _Indica el número máximo de iteraciones, L b LbL bU b UbU b denota los límites inferior y superior del problema de optimización, respectivamente.
Una vez que el escarabajo pelotero hembra ha determinado el área de desove, elegirá poner huevos en la bola de cría en esta área. Cada escarabajo pelotero hembra solo produce un huevo en cada iteración.Se puede ver que el rango límite del área de desove cambia dinámicamente, determinado principalmente por el valor R. Por lo tanto, la posición de la bola de cría también es dinámica durante el proceso de iteración, que se define de la siguiente manera:
B i ( t + 1 ) = X ∗ + b 1 × ( B i ( t ) − L b ∗ ) + b 2 × ( segundo yo ( t ) − U segundo ∗ ) B_{i}(t+1)=X^{*}+b_{1} \times\left(B_{i}(t)-L b^{* }\right) +b_{2} \times\left(B_{i}(t)-U b^{*}\right)Byo( t+1 )=X+b1×( Byo( t )L b )+b2×( Byo( t )Ub _ )
Entre ellos,B i ( t ) B_{i}(t)Byo( t ) representa la información de posición de la i-ésima bola de cría en la t-ésima iteración,b 1 b_{1}b1y b 2 b_{2}b2Ambos son vectores aleatorios de 1×D, y D representa la dimensión del problema de optimización.
La selección del área de desove se muestra en el Algoritmo 3:
inserte la descripción de la imagen aquí

1.3 Forrajeo del escarabajo pelotero

inserte la descripción de la imagen aquí
Los huevos puestos por los escarabajos peloteros hembra crecerán gradualmente, y algunos escarabajos peloteros jóvenes y maduros saldrán del suelo para encontrar comida. El área óptima de alimentación de los escarabajos peloteros jóvenes se modela de la siguiente manera: L bb = max ⁡ (
X segundo × ( 1 − R ) , L segundo ) U segundo = min ⁡ ( X segundo × ( 1 + R ) , U segundo ) \begin{array}{l} L segundo^{b}=\max \left(X ^{b} \times(1-R), L b\right) \\ U b^{b}=\min \left(X^{b} \times(1+R), U b\right) \ fin {matriz}L bb=máximo( Xb×( 1R ) ,L b )Ub _b=min( Xb×( 1+R ) ,U b )
donde, Xb X^{b}Xb representa la posición óptima global,L bb L b^{b}L bb sumaU bb U b^{b}Ub _b representan el límite inferior y el límite superior del área de alimentación óptima, respectivamente.
inserte la descripción de la imagen aquí

小蜣螂的位置更新如下:
xi ( t + 1 ) = xi ( t ) + C 1 × ( xi ( t ) − L bb ) + C 2 × ( xi ( t ) − U bb ) x_{i}( t+1)=x_{i}(t)+C_{1} \times\left(x_{i}(t)-L b^{b}\right)+C_{2} \times\left(x_ {i}(t)-U b^{b}\right)Xyo( t+1 )=Xyo( t )+C1×( Xyo( t )L bsegundo )+C2×( Xyo( t )Ub _b )
Entre ellos,xi ( t ) x_{i}(t)Xyo( t ) indica la posición del i-ésimo escarabajo pelotero en la t-ésima iteración,C 1 C_{1}C1es un número aleatorio sujeto a distribución normal, C 2 C_{2}C2Un vector aleatorio de (0,1).

1.4 Robo de escarabajo pelotero

inserte la descripción de la imagen aquí

Por otro lado, algunos escarabajos peloteros roban bolas de estiércol de otros escarabajos peloteros, y la ubicación de los escarabajos peloteros ladrones se actualiza de la siguiente manera:

xi ( t + 1 ) = X segundo + S × gramo × ( ∣ xi ( t ) − X ∗ ∣ + ∣ xi ( t ) − X segundo ∣ ) x_{i}(t+1)=X^{b} +S \times g \times\left(\left|x_{i}(t)-X^{*}\right|+\left|x_{i}(t)-X^{b}\right|\ bien)Xyo( t+1 )=Xb+S×gramo×( Xyo( t )X+Xyo( t )Xb)
, dondexi ( t ) x_{i}(t)Xyo( t ) representa la posición del i-ésimo escarabajo pelotero ladrón en la t-ésima iteración, g es un vector aleatorio 1×D que sigue una distribución normal, y S es una constante.

2. Descripción del algoritmo de optimización del escarabajo pelotero

La distribución de proporciones de escarabajo rodante, escarabajo reproductor, escarabajo forrajeador y escarabajo ladrón es la siguiente: El
inserte la descripción de la imagen aquí
algoritmo DBO se describe de la siguiente manera:
inserte la descripción de la imagen aquí
Referencia: Xue, J., Shen, B. Dung beetle Optimizer: un nuevo algoritmo metaheurístico para global optimización J Supercomput (2022) https://doi.org/10.1007/s11227-022-04959-6

Supongo que te gusta

Origin blog.csdn.net/weixin_46204734/article/details/128138381
Recomendado
Clasificación