Articulo de referencia

Algoritmo de optimización en espiral

La espiral comparte el comportamiento global (azul) e intensivo (rojo). En matemáticas, el algoritmo de optimización en espiral (SPO, por sus siglas en inglés) es una metaheurís...

La espiral comparte el comportamiento global (azul) e intensivo (rojo).

En matemáticas, el algoritmo de optimización en espiral (SPO, por sus siglas en inglés) es una metaheurística inspirada en los fenómenos espirales de la naturaleza.

El primer algoritmo SPO se propuso para la optimización bidimensional sin restricciones [ 1 ] , basado en modelos espirales bidimensionales. Este se extendió a problemas n-dimensionales generalizando el modelo espiral bidimensional a un modelo espiral n-dimensional [ 2 ] . Existen configuraciones efectivas para el algoritmo SPO: la configuración de la dirección de descenso periódico [ 3 ] y la configuración de convergencia [ 4 ] .

Metáfora

La motivación para centrarse en los fenómenos espirales surgió de la constatación de que la dinámica que genera las espirales logarítmicas comparte comportamientos de diversificación e intensificación. El comportamiento de diversificación puede ser útil para una búsqueda global (exploración), mientras que el de intensificación permite una búsqueda intensiva en torno a una buena solución encontrada hasta el momento (explotación).

Algoritmo

Algoritmo de optimización en espiral (SPO)

El algoritmo SPO es un algoritmo de búsqueda multipunto sin gradiente de función objetivo , que utiliza múltiples modelos espirales que pueden describirse como sistemas dinámicos deterministas. A medida que los puntos de búsqueda siguen trayectorias espirales logarítmicas hacia el centro común, definido como el mejor punto actual, se pueden encontrar mejores soluciones y actualizar el centro común.

El algoritmo SPO general para un problema de minimización bajo el criterio de iteración máxima (criterio de terminación) es el siguiente: kmáximo{\displaystyle k_{\max }}

0) Establezca el número de puntos de búsqueda y el número máximo de iteraciones .metro2{\displaystyle m\geq 2}kmáximo{\displaystyle k_{\max }} 1) Coloque los puntos de búsqueda iniciales y determine el centro , , y luego establezca .incógnitai(0)Rnorte (i=1,,metro){\displaystyle x_{i}(0)\in \mathbb {R} ^{n}~(i=1,\ldots ,m)}x(0)=xib(0){\displaystyle x^{\star }(0)=x_{i_{\text{b}}}(0)}ib=argmini=1,,m{f(xi(0))}{\displaystyle \displaystyle i_{\text{b}}=\mathop {\text{argmin}} _{i=1,\ldots ,m}\{f(x_{i}(0))\}}k=0{\displaystyle k=0} 2) Determina la frecuencia de los pasos mediante una regla.r(k){\displaystyle r(k)} 3) Actualizar los puntos de búsqueda: 4) Actualizar el centro: donde .xi(k+1)=x(k)+r(k)R(θ)(xi(k)x(k))(i=1,,m).{\displaystyle x_{i}(k+1)=x^{\star }(k)+r(k)R(\theta )(x_{i}(k)-x^{\star }(k))\quad (i=1,\ldots ,m).}x(k+1)={xib(k+1)(if f(xib(k+1))<f(x(k))),x(k)(otherwise),{\displaystyle x^{\star }(k+1)={\begin{cases}x_{i_{\text{b}}}(k+1)&{\big (}{\text{if }}f(x_{i_{\text{b}}}(k+1))<f(x^{\star }(k)){\big )},\\x^{\star }(k)&{\big (}{\text{otherwise}}{\big )},\end{cases}}}ib=argmini=1,,m{f(xi(k+1))}{\displaystyle \displaystyle i_{\text{b}}=\mathop {\text{argmin}} _{i=1,\ldots ,m}\{f(x_{i}(k+1))\}} 5) Establezca . Si se cumple, finalice y muestre . De lo contrario, vuelva al paso 2). k:=k+1{\displaystyle k:=k+1}k=kmax{\displaystyle k=k_{\max }}x(k){\displaystyle x^{\star }(k)}

Configuración

El rendimiento de la búsqueda depende de la configuración de la matriz de rotación compuesta , la velocidad de paso y los puntos iniciales . Las siguientes configuraciones son nuevas y efectivas. R(θ){\displaystyle R(\theta )}r(k){\displaystyle r(k)}xi(0) (i=1,,m){\displaystyle x_{i}(0)~(i=1,\ldots ,m)}

Configuración 1 (Configuración de la dirección de descenso periódico)

Esta configuración es eficaz para problemas de alta dimensión con la iteración máxima . Las condiciones sobre y juntas aseguran que los modelos espirales generen direcciones de descenso periódicamente. La condición funciona para utilizar las direcciones de descenso periódicas bajo la terminación de búsqueda . kmax{\displaystyle k_{\max }}R(θ){\displaystyle R(\theta )}xi(0) (i=1,,m){\displaystyle x_{i}(0)~(i=1,\ldots ,m)}r(k){\displaystyle r(k)}kmax{\displaystyle k_{\max }}

  • Establecemos lo siguiente: donde es la matriz identidad y es el vector cero.R(θ){\displaystyle R(\theta )}R(θ)=[0n11In10n1]{\displaystyle R(\theta )={\begin{bmatrix}0_{n-1}^{\top }&-1\\I_{n-1}&0_{n-1}\\\end{bmatrix}}}In1{\displaystyle I_{n-1}}(n1)×(n1){\displaystyle (n-1)\times (n-1)}0n1{\displaystyle 0_{n-1}}(n1)×1{\displaystyle (n-1)\times 1}
  • Coloca los puntos iniciales al azar para satisfacer la siguiente condición:xi(0)Rn{\displaystyle x_{i}(0)\in \mathbb {R} ^{n}}(i=1,,m){\displaystyle (i=1,\ldots ,m)}

mini=1,,m{maxj=1,,m{rank[dj,i(0) R(θ)dj,i(0)    R(θ)2n1dj,i(0)]}}=n{\displaystyle \min _{i=1,\ldots ,m}\{\max _{j=1,\ldots ,m}{\bigl \{}{\text{rank}}{\bigl [}d_{j,i}(0)~R(\theta )d_{j,i}(0)~~\cdots ~~R(\theta )^{2n-1}d_{j,i}(0){\bigr ]}{\bigr \}}{\bigr \}}=n} donde . Tenga en cuenta que esta condición se cumple casi por completo con una colocación aleatoria y, por lo tanto, no realizar ninguna comprobación es realmente aceptable. dj,i(0)=xj(0)xi(0){\displaystyle d_{j,i}(0)=x_{j}(0)-x_{i}(0)}

  • Establecido en el paso 2) de la siguiente manera: donde un suficientemente pequeño como o . [ 3 ]r(k){\displaystyle r(k)}r(k)=r=δkmax    (constant value){\displaystyle r(k)=r={\sqrt[{k_{\max }}]{\delta }}~~~~{\text{(constant value)}}}δ>0{\displaystyle \delta >0}δ=1/kmax{\displaystyle \delta =1/k_{\max }}δ=103{\displaystyle \delta =10^{-3}}

Configuración 2 (Configuración de convergencia)

Esta configuración garantiza que el algoritmo SPO converja a un punto estacionario bajo el número máximo de iteraciones . Las configuraciones de y los puntos iniciales son los mismos que en la Configuración 1 anterior. La configuración de es la siguiente. kmax={\displaystyle k_{\max }=\infty }R(θ){\displaystyle R(\theta )}xi(0) (i=1,,m){\displaystyle x_{i}(0)~(i=1,\ldots ,m)}r(k){\displaystyle r(k)}

  • Establecido en el Paso 2) de la siguiente manera: donde es una iteración cuando el centro se actualiza por primera vez en el Paso 4) y tal como . Por lo tanto, debemos agregar las siguientes reglas sobre al Algoritmo:r(k){\displaystyle r(k)}r(k)={1(kkk+2n1),h(kk+2n),{\displaystyle r(k)={\begin{cases}1&(k^{\star }\leqq k\leqq k^{\star }+2n-1),\\h&(k\geqq k^{\star }+2n),\end{cases}}}k{\displaystyle k^{\star }}h=δ2n,δ(0,1){\displaystyle h={\sqrt[{2n}]{\delta }},\delta \in (0,1)}δ=0.5{\displaystyle \delta =0.5}k{\displaystyle k^{\star }}
•(Paso 1) .k=0{\displaystyle k^{\star }=0}
•(Paso 4) Si entonces . [ 4 ]x(k+1)x(k){\displaystyle x^{\star }(k+1)\neq x^{\star }(k)}k=k+1{\displaystyle k^{\star }=k+1}

Trabajos futuros

  • Los algoritmos con la configuración anterior son deterministas . Por lo tanto, la incorporación de algunas operaciones aleatorias hace que este algoritmo sea potente para la optimización global . Cruz-Duarte et al. [ 5 ] lo demostraron al incluir perturbaciones estocásticas en trayectorias de búsqueda en espiral. Sin embargo, esta posibilidad queda abierta a futuras investigaciones.
  • Encontrar un equilibrio apropiado entre las espirales de diversificación e intensificación, dependiendo de la clase de problema objetivo (incluyendo ), es importante para mejorar el rendimiento.kmax{\displaystyle k_{\max }}

Obras ampliadas

Se han realizado numerosos estudios exhaustivos sobre el SPO debido a su estructura y concepto sencillos; estos estudios han contribuido a mejorar su rendimiento de búsqueda global y han propuesto nuevas aplicaciones. [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ]

Referencias

  1. ^ Tamura, K.; Yasuda, K. (2011). "Estudio primario de optimización inspirada en dinámica espiral". IEEJ Transactions on Electrical and Electronic Engineering . 6 (S1): 98– 100. doi : 10.1002/tee.20628 . S2CID 109093423 . 
  2. ^ Tamura, K.; Yasuda, K. (2011). "Optimización inspirada en la dinámica espiral" . Journal of Advanced Computational Intelligence and Intelligent Informatics . 132 (5): 1116– 1121. doi : 10.20965/jaciii.2011.p1116 .
  3. ^ a b Tamura, K.; Yasuda, K. (2016). "Algoritmo de optimización en espiral utilizando direcciones de descenso periódicas" . SICE Journal of Control, Measurement, and System Integration . 6 (3): 133– 143. Bibcode : 2016JCMSI...9..134T . doi : 10.9746/jcmsi.9.134 .
  4. ^ a b Tamura, K.; Yasuda, K. (2020). "El algoritmo de optimización en espiral: condiciones y configuraciones de convergencia". IEEE Transactions on Systems, Man, and Cybernetics: Systems . 50 (1): 360– 375. doi : 10.1109/TSMC.2017.2695577 . S2CID 126109444 . 
  5. ^ Cruz-Duarte, Jorge M.; Martín-Díaz, Ignacio; Muñoz-Minjares, JU; Sánchez-Galindo, Luis A.; Avina-Cervantes, Juan G.; García-Pérez, Arturo; Correa-Cely, C. Rodrigo (2017). "Estudio primario sobre el algoritmo de optimización en espiral estocástica" . 2017 IEEE International Autumn Meeting on Power, Electronics and Computing (ROPEC) . pp.  1–6 . doi : 10.1109/ROPEC.2017.8261609 . ISBN 978-1-5386-0819-7. S2CID  37580653 .
  6. ^ Nasir, ANK; Tokhi, MO (2015). "Un algoritmo de optimización dinámica espiral mejorado con aplicación en ingeniería". IEEE Transactions on Systems, Man, and Cybernetics: Systems . 45 (6): 943– 954. doi : 10.1109/tsmc.2014.2383995 . S2CID 24253496 . 
  7. ^ Nasir, ANK; Ismail, RMTR; Tokhi, MO (2016). "Algoritmo metaheurístico de dinámica espiral adaptativa para optimización global con aplicación al modelado de un sistema flexible" (PDF) . Modelado Matemático Aplicado . 40 ( 9–10 ): 5442–5461 . doi : 10.1016/j.apm.2016.01.002 .
  8. ^ Ouadi, A.; Bentarzi, H.; Recioui, A. (2013). "Diseño multiobjetivo de filtros digitales mediante la técnica de optimización en espiral" . SpringerPlus . 2 ( 461): 697– 707. doi : 10.1186/2193-1801-2-461 . PMC 3786071. PMID 24083108 .  
  9. ^ Benasla, L.; Belmadani, A.; Rahli, M. (2014). "Algoritmo de optimización en espiral para la resolución de la gestión combinada de la economía y las emisiones". International Journal of Electrical Power & Energy Systems . 62 : 163–174 . Bibcode : 2014IJEPE..62..163B . doi : 10.1016/j.ijepes.2014.04.037 .
  10. ^ Sidarto, KA; Kania, A. (2015). "Encontrar todas las soluciones de sistemas de ecuaciones no lineales usando optimización inspirada en dinámica espiral con agrupamiento" . Journal of Advanced Computational Intelligence and Intelligent Informatics . 19 (5): 697– 707. doi : 10.20965/jaciii.2015.p0697 .
  11. ^ Kaveh, A.; Mahjoubi, S. (octubre de 2019). "Enfoque de optimización en espiral hipotrocoidal para la optimización del dimensionamiento y la disposición de estructuras de celosía con múltiples restricciones de frecuencia". Ingeniería con computadoras . 35 (4): 1443– 1462. doi : 10.1007/s00366-018-0675-6 . S2CID 54457145 . 
Obtenido de " https://en.wikipedia.org/w/index.php?title=Spiral_optimization_algorithm&oldid=1318674210 "