¿Qué son las metaheurísticas?

¿Cómo se podrían optimizar, en tiempos de cálculo razonables, problemas complejos de redes de transporte, estructuras de hormigón (puentes, pórticos de edificación, túneles, etc.) y otros tipos de problemas de decisión empresarial cuando la dimensión del problema es de tal calibre que resulta imposible resolverlos con métodos matemáticos exactos? La respuesta consiste en métodos aproximados, también denominados heurísticos. Este artículo divulgativo trata de ampliar otros anteriores en los que ya hablamos de los algoritmos, de la optimización combinatoria, de los modelos matemáticos y otros temas similares. Más adelante explicaremos otros temas relacionados específicamente con aplicaciones a problemas reales. Aunque para los más curiosos, os paso en abierto una publicación donde se han optimizado con éxito algunas estructuras de hormigón como muros, pórticos o marcos de carretera: (González et al., 2008).

Desde los primeros años de la década de los 80, la investigación sobre los problemas de optimización combinatoria se centra en el diseño de estrategias generales que guíen las heurísticas. Se les ha llamado metaheurísticas. Se trata de combinar inteligentemente diversas técnicas para explorar el espacio de soluciones. Osman y Kelly (1996) nos aportan la siguiente definición: “Los procedimientos metaheurísticos son una clase de métodos aproximados diseñados para resolver problemas de optimización combinatoria difíciles, en los que los heurísticos clásicos no son ni efectivos ni eficientes. Los metaheurísticos proporcionan un marco general para crear nuevos algoritmos híbridos que combinan diferentes conceptos derivados de la inteligencia artificial, la evolución biológica y la mecánica estadística”.

Aunque existen diferencias apreciables entre los distintos métodos desarrollados hasta el momento, todos ellos tratan de conjugar en mayor o menor medida la intensificación en la búsqueda –seleccionando movimientos que mejoren la valoración de la función objetivo-, y la diversificación –aceptando aquellas otras soluciones que, aun siendo peores, permiten la evasión de los óptimos locales-.

Las metaheurísticas pueden agruparse de varias formas. Algunas clasificaciones recurren a cambios sucesivos de una solución a otra en la búsqueda del óptimo, mientras otras se sirven de los movimientos aplicados a toda una población de soluciones. El empleo, en su caso, de la memoria que guíe la exploración del espacio de posibles elecciones permite otro tipo de agrupamiento. En otras circunstancias, se emplean perturbaciones en las opciones, en la topología del espacio de soluciones o en la función objetivo. En la Figura se presenta una propuesta de clasificación de las heurísticas y metaheurísticas empleadas en la optimización combinatoria (Yepes, 2002), que comparten todas ellas la necesidad de contar con soluciones iniciales que permitan cambios para alcanzar otras mejores. Es evidente que en este momento existen muchas más técnicas de optimización, pero dicha clasificación puede ser un punto de partida para una mejor taxonomía de dichas técnicas.

Taxonomía de estrategias empleadas en la resolución aproximada de problemas de optimización combinatoria sobre la base de soluciones iniciales.
Figura. Taxonomía de estrategias empleadas en la resolución aproximada de problemas de optimización combinatoria sobre la base de soluciones iniciales (Yepes, 2002)

Las  metaheurísticas empleadas en la optimización combinatoria podrían clasificarse en tres grandes conjuntos. Las primeras generalizan la búsqueda secuencial por entornos de modo que, una vez se ha emprendido el proceso, se recorre una trayectoria de una solución a otra vecina hasta que este concluye. En el segundo grupo se incluyen los procedimientos que actúan sobre poblaciones de soluciones, evolucionando hacia generaciones de mayor calidad. El tercero lo constituyen las redes neuronales artificiales. Esta clasificación sería insuficiente para aquellas metaheurísticas híbridas que emplean, en mayor o menor medida, estrategias de unos grupos y otros. Esta eventualidad genera un enriquecimiento deseable de posibilidades adaptables, en su caso, a los distintos problemas de optimización combinatoria.

Referencias

GONZÁLEZ-VIDOSA-VIDOSA, F.; YEPES, V.; ALCALÁ, J.; CARRERA, M.; PEREA, C.; PAYÁ-ZAFORTEZA, I. (2008) Optimization of Reinforced Concrete Structures by Simulated Annealing. TAN, C.M. (ed): Simulated Annealing. I-Tech Education and Publishing, Vienna, pp. 307-320. (link)

OSMAN, I.H.; KELLY, J.P. (Eds.) (1996). Meta-Heuristics: Theory & Applications. Kluwer Academic Publishers.

YEPES, V. (2002). Optimización heurística económica aplicada a las redes de transporte del tipo VRPTW. Tesis Doctoral. Escuela Técnica Superior de Ingenieros de Caminos, Canales y Puertos. Universitat Politècnica de València. 352 pp. ISBN: 0-493-91360-2. (pdf)

Licencia de Creative Commons
Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional.

Automatic design of concrete vaults using iterated local search and extreme value estimation

La optimización de estructuras reales de hormigón armado constituye un campo de gran interés no solo en la investigación, sino también en su aplicación en obra. Os paso un artículo reciente que explica una forma de optimizar las bóvedas de hormigón empleadas habitualmente en pasos inferiores, como falsos túneles. Los ahorros que se pueden conseguir, en este caso, han sido de un 7% respecto a un diseño tradicional. En el caso de obras lineales de gran longitud, los ahorros pueden ser nada despreciables. La revista Latin American Journal of Solids and Structures es de acceso abierto, por lo que podéis descargar este y otros artículos de interés.

Pincha aquí para descargar

 

Licencia de Creative Commons
Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional.

¿Qué es un algoritmo?

Algoritmo de Euclides
Algoritmo de Euclides

Un algoritmo es un conjunto de reglas o instrucciones bien definidas para resolver un problema. En general, se trata de encontrar el método más “eficiente”, no siendo baladí el modo de medir dicha eficiencia. Para resolver esta circunstancia, en la década de los 70 numerosos científicos se interesaron por la complejidad computacional de los problemas y de los algoritmos. En muchos casos, se asimila el rendimiento algorítmico a la medición del tiempo medio de ejecución de un procedimiento al completar su ejecución sobre un conjunto de datos. Además, es posible relacionar el esfuerzo de cálculo con la dimensión del problema a resolver.

Un algoritmo tiene complejidad polinómica si requiere tiempo O(nk), donde n es la dimensión de entrada y k es una constante independiente de n. Si la función que denota la complejidad no está acotada por un polinomio, el algoritmo presenta una complejidad en tiempo exponencial.

Un problema de decisión es aquel que puede resolverse mediante una afirmación o una negación. Llamemos P a la clase de problemas de decisión que pueden ser resueltos en tiempo de cálculo que crece de forma polinomial ante incrementos lineales del número de elementos que intervienen, y NP aquellos solubles en un tiempo polinomial indeterminado, es decir, que se pueden resolver en tiempo polinomial con una máquina Turing no determinística (ordenador). Un ordenador no determinístico puede considerarse un autómata capaz de ejecutar un número ilimitado (pero finito) de ejecuciones en paralelo. Solo los problemas en P son resolubles eficientemente mediante algoritmos, no conociéndose un procedimiento polinomial de resolución para los NP, siendo obvio que P pertenezca NP. Si lo contrario también ocurriera, P pertenecería a NP, querría decir que para la mayoría de los problemas de interés existen algoritmos eficientes que los resolvieran. Sin embargo, no se conoce la forma de demostrar que la igualdad P=NP sea cierta, ni tampoco que haya problemas en NP que no estén en P, es decir, la existencia de algún problema en NP que no se pueda resolver en tiempo polinómico (ver Díaz et al., 1996).

Se dice que un problema X es NP-completo (NPC) si cualquier problema en NP puede transformarse en X en tiempo polinomial. En este sentido, los NPC son una clase de problemas en NP muy difíciles. Si un solo problema en NPC se resolviera en tiempo polinomial, entonces todos los problemas NP también lo harían, lo cual no está demostrado a fecha de hoy. Sin embargo, no es necesario demostrar que un problema pertenece a NP para ofrecer evidencias de que es imposible resolverlo eficientemente. Sea Y un problema de decisión que no se conoce si es NP. Si un problema en NP-completo puede transformarse en Y, entonces Y no puede resolverse en tiempo polinomial (salvo que se demuestre que P=NP). Este problema Y sería como mínimo tan difícil como los NPC, llamándose NP-hard (NPH). Es decir, pueden existir problemas NPH que no sean NPC. A efectos prácticos, únicamente nos interesa confirmar la NP-dificultad de un problema.

En la vida real existen numerosos problemas prácticos para los cuales se desconocen algoritmos eficientes (Yepes, 2002), pero cuya dificultad intrínseca no ha conseguido demostrar nadie. Es posible que existan realmente algoritmos eficientes, aunque también puede ocurrir que estos problemas sean intrínsecamente difíciles; no obstante, se carece de las técnicas necesarias para demostrarlo. La importancia práctica de estos problemas ha asegurado que cada uno de ellos, por separado, haya sido objeto de esfuerzos sostenidos para hallar un método de solución eficiente. Por este motivo, se cree que no existen tales algoritmos. Como nadie, de momento, ha encontrado algoritmos eficientes para los problemas NP-completos, cuando se demuestra que un problema pertenece a esta clase, muchos investigadores tienden a pensar que no merece la pena buscarlos. Lamentablemente, muchos de los problemas importantes que surgen en la investigación operativa son NP-completos. En Garey y Johnson (1979) se presenta una visión más completa de la complejidad computacional.

REFERENCIAS

DÍAZ, A.; GLOVER, F.; GHAZIRI, H.M.; GONZÁLEZ, J.L.; LAGUNA, M.; MOSCATO, P.; TSENG, F.T. (1996). Optimización Heurística y Redes Neuronales en Dirección de Operaciones e Ingeniería. Paraninfo, Madrid. 235 pp.

GAREY, M.R.; JOHNSON, D.S. (1979). Computers and Intractability – A Guide to the Theory of NP-Completeness. W. H. Freeman and Company.

YEPES, V. (2002). Optimización heurística económica aplicada a las redes de transporte del tipo VRPTW. Tesis Doctoral. Escuela Técnica Superior de Ingenieros de Caminos, Canales y Puertos. Universitat Politècnica de València. 352 pp. ISBN: 0-493-91360-2. (pdf)

Licencia de Creative Commons
Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional.