2.6. Técnicas de Optimización
2.6.1. Técnicas Tradicionales y No Tradicionales
La investigación de operaciones o investigación operativa es la rama de las mátematicas aplicadas y el análisis númerico que entre otra cosas se encarga de proponer técnicas para resolver problemas de optimización[20].
En los últimos años diversas técnicas basadas en el uso de heurísticas y de- dicadas a la resolución de problemas de optimización han surgido; la motivación
2.6. Técnicas de Optimización 11 Región Factible Región Infactible x1 x2 g(~x) h(~x)
Figura 2.1: Ejemplo del espacio de búsqueda de un problema con dos variables de diseño, el problema posee dos restricciones g(~x) y h(~x) las cuales limitan las soluciones dentro de la región factible(línea gruesa)
principal es que pese a que las técnicas tradicionales aportan soluciones satisfacto- rias a la mayoría de los problemas en los que se aplican, la complejidad sobre todo de problemas del mundo real pueden llegar a ser muy demandante. Las técnicas no tradicionales aportan una buena herramienta al momento de resolver problemas donde el espacio de búsqueda es muy amplio y/o las restricciones de las soluciones son altamente complejas.
Por otra parte, existen diversos tipos de técnicas para la resolución de proble- mas de optimización, dentro de la optimización global es posible encontrar diversos métodos los cuales Deb [3] propone la clasificación en las siguientes categorías:
1. Métodos Tradicionales
Algoritmos de optimización de variable simple: Estos algoritmos son clasificados en dos categorías métodos directos y métodos basados en gradientes. Además estos algoritmos proporcionan buena información sobre las propiedades de los máximos o mínimos en la función, traba- jando de manera iterativa.
Algoritmos de optimización multi-variable: son clasificadas en técnicas directas y técnicas basadas en gradiente.
Algoritmos de optimización restringida: Funcionan utilizando técnicas de variable simple y multi-variable de manera repetida y simultánea, manteniendo los esfuerzos de búsqueda en la región factible.
12 CAPÍTULO2. Optimización
Algoritmos de optimización especializada: Son métodos utilizados pa- ra cierta clase de problemas debido a su capacidad para resolverlos. 2. Métodos no tradicionales. Métodos que incorporan conceptos heurísticos pa-
ra mejorar la búsqueda.
Por otro lado Tomas Weise [1] propone la siguiente clasificación para estos algoritmos.
1. De acuerdo al método de operación
Determinísticos: Son los más utilizados si se encuentra una relación clara entre las características de las posibles soluciones y su utilidad para el problema. Sin embargo si la relación entre las soluciones y la función objetivo es muy compleja o la dimensionalidad del espacio de búsqueda es demasiado grande, estas técnicas se vuelven imprácticas o incapaces de resolver el problema de optimización por lo que son aplicables para un grupo reducido de problemas.
Probabilísitcos: Son técnicas que procuran garantizar la mejor solución en un tiempo corto de ejecución; en este tipo de algoritmos se utilizan heurísticas, las cuales son funciones que ayudan al algoritmo a decidir de un conjunto de posibles soluciones cuál será la siguiente en ser ana- lizada. A su vez las técnicas probabilísticas pueden trabajar de acuerdo a dos enfoques :
• Heurísticas. Que es una parte del algoritmo de optimización que utiliza la información del estado actual de la búsqueda para decidir cuál solución debería ser la siguiente en ser evaluada o generada. Generalmente depende del problema con el que se esté trabajando • Metaheurísticas. Es un método que se utiliza para resolver proble- mas de manera más general, mediante la combinación de funcio- nes objetivo o heurísticas de una manera eficiente, comúnmente sin un conocimiento profundo de la estructura del problema, vis- tas como una caja negra.
2. De acuerdo a sus propiedades Velocidad de optimización
• Online optimization: Son problemas de optimización que deben ser resueltos rápidamente, ya sea en cuestión de segundos o una fracción de ellos. Por ejemplo, la localización robótica, el balance de cargas o actualizaciones en la programación de una máquina de fabricación
• Offline optimization: En este tipo de optimización no es tan im- portante el tiempo y es posible esperar incluso varios días siempre
2.6. Técnicas de Optimización 13
que la solución sea la mejor o muy cercana a la mejor. Un ejemplo de estos problemas son los sugidos de data mining, optimización estructural, u optimización de mecanismos.
Número de objetivos
• Mono-objetivo: Técnicas que se utilizan cuando es necesario ma- ximizar o minimizar un único valor en el problema y el problemas solo posee una función objetivo.
• Multi-objetivo: Técnicas usadas cuando es necesario maximizar o minimizar múltiples valores por lo que el problema posee varias funciones objetivo.
En el siguiente capítulo se abordarán algunas técnicas heurísticas para la so- lución de problemas de optimización, particularmente se tratará el algoritmo de Evolución Diferencial sus componentes principales y algunos casos de éxito en su aplicación.
Capítulo 3
Evolución Diferencial
En este capítulo se presentan las principales técnicas metaheurísticas para la resolución de problemas de optimización; de manera partícular se habla sobre los algoritmos evolutivos, principalmente del algoritmo de evolución diferencial. Por otro lado se explica la clasificación de las técnicas para el manejo de restricciones y se describe la utilizada en este trabajo.
3.1.
Algoritmos de Optimización
Debido a su facilidad de implementación, los métodos no tradicionales, como las heurísticas y las metaheurísticas han sido ampliamente utilizados en el área de la optimización; uno de los principales motivos, es la complejidad de los problemas que se resuelven; mientras más cercanos son a la realidad, es más difícil aplicar métodos tradicionales.
Siempre es conveniente considerar como primera opción los métodos clásicos pues a pesar de todas las ventajas que ofrecen los métodos no tradicionales, és- tos no garantizan el encontrar el óptimo global. Sin embargo, suelen proporcionar soluciones altamente competitivas [10]. Dentro de los métodos no tradicionales existe un grupo especial de técnicas las cuales basan su funcionamiento en com- portamientos o situaciones observadas en la naturaleza conocidos como algoritmos bio-inspirados. Los que a su vez se dividen en:
Computación Evolutiva [21] Inteligencia Colectiva [22]
3.1.1. Algoritmos de Inteligencia Colectiva
Estos algoritmos se caracterizan principalente por el intento de emular el com- portamiento de lo seres vivos y la manera en que se adaptan al entorno en el que viven; de esta esfera han surgido diversos trabajos, entre los que podemos encontrar 15