Services on Demand
Journal
Article
Indicators
-
Cited by SciELO -
Access statistics
Related links
-
Similars in
SciELO
uBio
Share
Universidad, Ciencia y Tecnología
Print version ISSN 1316-4821
uct vol.18 no.71 Puerto Ordaz 2014
comparación de métodos metaheurísticos de optimización: recocido simulado, algoritmos genéticos y búsqueda del cuco.
Candotti, Keila1 Mavares, Dimas2 Velásquez, Reinaldo3
1MSc. en Ingeniería Electrónica / Estudiante de Doctorado Universidad de Carabobo Profesora ordinaria UNEXPO VR Barquisimeto. keilacandotti@gmail.com
2Doctor por la Universidad de Cantabria / Profesor ordinario UNEXPO VR Barquisimeto. dmavares@gmail.com
3MSc. en Ingeniería Electrónica / Estudiante de Doctorado Universidad de Carabobo Coordinador de Telecomunicaciones de CORPOELEC de la Región Lara- Cojedes- Portuguesa-Yaracuy. reinaldo.velasquez@gmail.com
Resumen:
La optimización está en todas partes, en áreas como ingeniería de diseño, ciencias de la computación o economía. Los estudios en esta área en las últimas dos décadas tienden a usar algoritmos metaheurísticos tales como Recocido Simulado, Algoritmos Genéticos y Búsqueda del Cuco, capaces de resolver difíciles problemas de optimización. En este artículo, se analiza el rendimiento de estos algoritmos en función del número de aciertos y el número de iteraciones requeridas para lograr la convergencia, sobre diferentes superficies multimodo, bajo MATLAB. Se consideran dos superficies con diferentes características respecto al número de óptimos locales y la existencia de regiones planas. Para hacer más dinámica la búsqueda se ha utilizado un sistema multiagente. La ubicación inicial de los agentes puede establecerse en zonas específicas de la superficie. En todos los casos, se puede observar que Recocido Simulado es más consistente que Algoritmos Genéticos y Búsqueda del Cuco ya que con un número suficiente de iteraciones puede llegar a encontrar el óptimo global en todas las simulaciones, independientemente de la superficie en estudio. Además, Recocido Simulado tiene la capacidad de escapar de los máximos locales sin importar la zona de inicialización de los agentes.
Palabras Claves: optimización, algoritmos metaheurísticos, superficies multimodo.
comparison of metaheuristic optimization methods: simulated annealing, genetic, algorithms and cuckoo search
Abstract:
Optimization is everywhere, in fields such as design engineering, computer science or economy. Researches in this area usually use metaheuristic techniques able to solve tough optimization problems, such as Simulated Annealing, Genetic Algorithms and Cuckoo Search. In this paper, performance of the aforementioned algorithms has been evaluated, as a function of the number of successes and the number iterations required to achieve convergence, over two different multimode surfaces, using the MATLAB platform. The surfaces are different in the number of local maxima points and the existence of flat regions. To improve search, a multiagent approach has been used. The initial location of such agents could be established in a specific zone of the surface. It can be seen that Simulated Annealing is more consistent than Genetic Algorithms and Cuckoo Search in terms of the number of iterations required to find the global maxima, for both search surfaces. Furthermore, Simulated Annealing is able to escape local maxima regardless of agents initial location.
Keywords: optimization, metaheuristic algorithms, multimode surfaces.
INTRODUCCIÓN
La optimización tiene enorme aplicabilidad en diversas ramas del conocimiento. En el día a día, se requiere optimizar algún proceso, por ejemplo, una organización quiere maximizar sus beneficios, minimizar los costos y maximizar el rendimiento. La optimización puede incluir una gama de problemas con el objetivo de buscar la solución óptima. No existe ningún método de optimización que pueda resolver eficientemente todo tipo de problemas y de allí que se hayan desarrollado diversos métodos a través de los años. La mayoría de las técnicas de optimización modernas son por lo general heurísticas o metaheurísticas. Algoritmos metaheurísticos como Recocido Simulado (SA), Algoritmos Genéticos (GA), Optimización por Enjambre de Partículas (PSO), Búsqueda del Cuco (CS), entre otros, tienen una gran capacidad de solución de difíciles problemas de optimización y han sido aplicados en casi todos los ámbitos de la ciencia y la ingeniería así como en la industria.
Un problema de optimización típico es la búsqueda de óptimos globales de superficies multimodales aplicando estos algoritmos metaheurísticos, los cuales en su mayoría tienen dos componentes fundamentales, en primer lugar la selección de las mejores soluciones que permite la convergencia del algoritmo y en segundo lugar el factor aleatorio que evita en cierta medida que las soluciones queden atrapadas en óptimos locales, incrementando la diversidad de las soluciones. Yang [1] implementa los algoritmos antes mencionados en código para Matlab/Octave con la finalidad de encontrar los óptimos globales (máximos o mínimos) de diferentes superficies que pueden ser encontradas en la literatura. En este sentido, en el presente artículo se realiza una evaluación de SA, GA y CS en Matlab, con el objetivo de analizar el potencial de cada uno de ellos, la tasa de convergencia y la efectividad cuando se busca el óptimo global en dos superficies multimodo. Este artículo se organiza como sigue. En la siguiente sección se presenta la metodología, donde se describen los métodos que se evaluarán y las condiciones de simulación. Posteriormente, se realiza el análisis de los resultados comparando los diferentes métodos. Finalmente se establecen las respectivas conclusiones.
METODOLOGÍA:
1. Descripción Técnica
Algoritmos Genéticos
El algoritmo genético es un modelo de la evolución biológica basada en la teoría de la selección natural de Charles Darwin. John Holland [2] y sus colaboradores entre los años 60 y 70 fueron los primero en utilizar el cruce y la recombinación, mutación y selección en el estudio de los sistemas adaptativos y artificiales. Estos operadores genéticos son la parte esencial del algoritmo genético como una estrategia de solución de problemas. Desde entonces, muchas variantes de los algoritmos genéticos se han desarrollado [3] y aplicado a una amplia gama de problemas de optimización. Holland describe el procedimiento básico para algoritmos genéticos como se observa en la figura 1.
Recocido simulado
El recocido simulado imita el proceso de recocido en el procesamiento de materiales cuando un metal se enfría y se congela en un estado cristalino con el mínimo de energía a fin de reducir los defectos en las estructuras metálicas. El proceso de recocido implica el control cuidadoso de la temperatura y la velocidad de enfriamiento. La aplicación de recocido simulado en problemas de optimización fue iniciado por Kirkpatrick [4] en 1983. La idea básica del algoritmo de recocido simulado es usar una búsqueda aleatoria, que no sólo acepta los cambios que mejoran la función objetivo, sino que también mantiene algunos , llamada probabilidad de transición. Kirkpatrick describe el procedimiento básico para recocido simulado como se observa en la figura 2.
Búsqueda del Cuco
El cuco es un pájaro fascinante con una agresiva estrategia reproductiva, algunas especies dejan sus huevos en nidos anfitriones para incrementar la probabilidad de nacimiento de sus crías. Cuando un ave de acogida del nido descubre un huevo ajeno entonces lo puede expulsar del nido o simplemente abandona este nido y construye uno nuevo. El método propuesto por Yang [5] se basa en este comportamiento y se describe en la figura 3. En la actualidad, se han presentado algunas variantes del CS [6] como ha ocurrido con la mayoría de los algoritmos metaheurísticos.
2. Implementacion
Los algoritmos seran evaluados usando dos superficies de prueba con diferentes caracteristicas respecto al numero de optimos locales y una determinada region plana. La primera superficie posee pocas zonas planas y optimos locales distantes y esta determinada por la siguiente funcion:

la cual tiene un maximo global f»
Una segunda superficie consiste en un mayor número de óptimos locales y zonas planas, y está determinada por replicas de la siguiente función:

la cual tiene un maximo global f.23.472en (-0.0318,-0.0619), se denomina perpeaks y se observa en la figura 5. Para este caso el numero de iteraciones utilizadas en la simulacion es de 3000.
Condiciones de Simulación:
Para la simulación, se ha utilizado un tamaño de la población o número de agentes igual a 20, en el caso de CS este también es el número de nidos y Pa=0.05. Para SA se ha implementado un sistema multiagente, aunque originalmente este planteado para un solo agente, y se ha utilizado el método de enfriamiento lineal. En lugar de usar codificación binaria para GA se ha realizado codificación real, las probabilidades de cruce y mutación son respectivamente Pc=0.95y Pm=0.25. Adicionalmente, se puede establecer la ubicación inicial de los agentes en cualquier parte de la superficie de manera aleatoria o en alguna zona específica de la misma, esquina superior derecha o izquierda y esquina inferior derecha o izquierda.
RESULTADOS Y DISCUSIÓN
A continuación se presentan los resultados obtenidos de las simulaciones en Matlab de las rutinas para GA, SA y CS, para cada superficie y considerando la ubicación inicial de los agentes. Los parámetros de comparación entre un algoritmo y otro son el número de aciertos y el número de iteraciones en las que encuentra la solución. En la figura 6 se muestran los resultados de la simulación para encontrar el máximo global de la superficie inveggcrate, los agentes se han distribuido de manera aleatoria sobre la superficie en estudio. A la izquierda de la figura 6, se observa que CS es más efectivo que GA y SA ya que obtiene el mayor número de aciertos en menos iteraciones. A la derecha se muestra la función de densidad de probabilidad acumulada (CDF) en función del número de iteraciones representadas en intervalos de diez elementos, se puede observar que CS obtiene el 95 por ciento de los aciertos entre el cuarto y quinto intervalo de iteraciones, es decir, entre 35 y 45 iteraciones, GA lo obtiene entre el sexto y el séptimo intervalo, entre 55 y 65 iteraciones, mientras que SA nunca llega a ese valor ya que solo obtiene el 93,5 por ciento de los aciertos.
En la figura 7 se muestran los resultados de la simulación para encontrar el máximo global de la superficie anterior pero los agentes se han distribuido inicialmente en zonas especificas. A la izquierda, se observa que a pesar de que el número de aciertos de CS y GA es el mismo, CS llega a su objetivo en un menor número de iteraciones, esto se debe a que GA depende de la zona de inicialización siendo muy sensible a los máximos locales, mientras que CS al igual que SA son independientes de la misma. A la derecha, en la CDF se observa que, CS obtiene el 95 por ciento de los aciertos entre el tercer y el cuarto intervalo, es decir, entre 25 y 35 iteraciones, GA lo obtiene entre el intervalo dieciséis y diecisiete, entre 155 y 165 iteraciones, SA solo obtiene el 93,5 por ciento de los aciertos.
En la figura 8 se muestran los resultados de la simulación para encontrar el máximo global de la superficie perpeaks, los agentes se han distribuido de manera aleatoria sobre la superficie en estudio. A la izquierda de la figura, se observa que SA es más efectivo ya que obtiene mayor número de aciertos en menos iteraciones. La tasa de convergencia de GA es más alta que SA y CS al comienzo de las iteraciones pero luego se equipara a CS. Por otro lado, a la derecha se observa la CDF en función del número de iteraciones representadas en intervalos de cien elementos, la cual muestra que SA obtiene el 95 por ciento de las iteraciones en el séptimo intervalo, entre 550 y 650 iteraciones, GA lo obtiene en el intervalo veinticuatro, entre 2250 y 2350 iteraciones, logrando en total solo el 96 por ciento de los aciertos y CS nunca llega al percentil 95 ya que solo obtiene el 86.5 por ciento de los aciertos.
En la figura 9 se muestran los resultados de la simulación para encontrar el máximo global de la superficie anterior pero los agentes se han distribuido inicialmente en determinadas zonas. A la izquierda, se observa que SA presenta mayor efectividad para lograr el óptimo global que los otros algoritmos. Con respecto a la CDF se observa que, SA obtiene el 95 por ciento de los aciertos entre el sexto y séptimo intervalo, es decir, entre 650 y 750 iteraciones, ni GA ni CS llegan al percentil 95 ya que solo obtienen el 73 por ciento y el 86.5 por ciento de aciertos respectivamente.
CONCLUSIONES:
En este artículo, se ha realizado una comparación entre los métodos metaheurísticos de optimización, Algoritmos Genéticos (GA), Recocido Simulado (SA) y Búsqueda del Cuco (CS). Las simulaciones han mostrado que en la superficie con óptimos locales distantes y pocas zonas planas, la tasa de convergencia de GA es mayor pero su efectividad depende de la zona de inicialización, en este caso SA y CS no se ven afectados por la misma. El CS obtiene el mayor número de aciertos en menos iteraciones, SA no logra el 100 por ciento de los aciertos pero se estima que con un aumento del número de iteraciones podría llegar al objetivo. Por otra parte, en la superficie con un elevado número de óptimos locales y zona plana amplia, SA tiene mayor efectividad que los otros algoritmos. En todos los casos, se puede observar que SA es más consistente que GA y CS ya que con un número suficiente de iteraciones puede llegar a encontrar el óptimo global en todas las simulaciones, independientemente de la superficie en estudio, además tiene la capacidad de escapar de los máximos locales sin importar la zona de inicialización de los agentes.
REFERENCIAS BIBLIOGRÁFICAS
1. Yang XS. Engineering Optimization: An Introduction with Metaheuristic Applications. USA, John Wiley & Sons; 2010. [ Links ]
2. Holland JH. Adaptation in Natural and Artificial Systems. USA: University of Michigan Press; 1975. [ Links ]
3. Deb K, Pratap A, Agarwal S and Meyarivan T. A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II, IEEE Transactions on Evolutionary Computation, Vol 6 (2), 2002, 182-197. [ Links ]
4. Kirkpatrick S, Gellat C and Vecchi M. Optimization by Simulated Annealing. Science. 1983, 220 (4598), 671-680. [ Links ]
5. Yang XS and Deb S. Cuckoo Search via Lévy Flights, in: Proc. Of World Congress on Nature & Biologically Inspired Computing (NABIC 2009). IEEE Publ. 2009, 210-214. [ Links ]
6. Valian E, Mohanna S and Tavakoli S. Improved Cuckoo Search Algorithm for Global Optimization. International Journal of Communications and Information Technology (IJCIT), Vol 1 (1), 2011, 31-44. [ Links ]





















