Simheuristics: Nueva herramienta «smart» para un mundo complejo

3 febrero, 2014

Vivimos mayoritariamente en grandes ciudades con sistemas de transporte multimodales, viajamos por el mundo a través de una compleja red de aeropuertos interconectados, compramos productos en línea que nos entregan en la puerta de casa, en casi cualquier lugar del planeta, utilizamos sistemas de e-salud altamente costosos, tenemos contacto con nuestros amigos y colegas a través de múltiples servicios basados ​​en Internet, y nuestras vidas están ligadas a las fluctuaciones de los mercados financieros globales. El mundo se está volviendo cada vez más complejo, y la mayoría de los sistemas que nos rodean son muy ineficientes en términos de costos (económicos, medioambientales, etc.). Esto es debido principalmente, a la alta complejidad de dichos problemas, que hace que los seres humanos no tengamos capacidad analítica suficiente como para resolverlos de manera óptima en un tiempo limitado.

Ante esta carencia, una posible solución es aprovechar la potencia de cálculo y capacidad de las TIC para ayudar en la toma de decisiones. Hay una clara necesidad de construcción de herramientas para mejorar el diseño, fiabilidad, y las operaciones diarias que afectan a la sociedad tanto desde el punto de vista económico como desde su impacto medioambiental. Pero, ¿qué soluciones proporciona «la ciencia» para hacer frente a este tipo de problemas? Es posible encontrar bastantes herramientas avanzadas de análisis de datos que pueden ser de gran utilidad en la obtención de información a partir de grandes volúmenes (de datos), ya sean provenientes de redes de sensores, de Internet, etc. Pero, ¿cómo podemos utilizar toda esta información de manera eficiente con el fin de mejorar el diseño, la fiabilidad, la explotabilidad y las operaciones diarias de todos estos sistemas? La respuesta, por supuesto, es «Mediante el uso de los algoritmos apropiados», es decir, la elección de aquellos métodos de áreas como la investigación operativa (OR – Operations Research), las ciencias de la computación (CS – Computer Science) o la inteligencia artificial (AI – Artificial Intelligence) que permiten (entre otras cosas) optimizar el diseño y el rendimiento de dichos sistemas complejos.

Ciclomotor de una sola rueda. Imagen sin copyright reconocido.

Normalmente, cuando se habla de sistemas, problemas o retos complejos desde el punto de vista de la aproximación tecnológica (y no humana, como comentábamos previamente) nos referimos a aquellos para los que no hay una solución algorítmica (un conjunto de pasos ordenados y finitos) que los pueda resolver en tiempo polinómico respecto al tamaño del problema. Por tanto, si el tamaño del problema crece linealmente, el del espacio de posibles soluciones que tendremos que explorar, crecerá más que linealmente (e.g. cuadráticamente, exponencialmente, etc.)

Históricamente, los investigadores han intentado diseñar sus algoritmos para encontrar la mejor solución y además, incluir en la búsqueda la demostración de que esa es la mejor posible. Estos son algoritmos que algunos llaman exactos y otros, completos. A pesar de su interés científico, los algoritmos de optimización completos (e.g. programación lineal (LP – Linear Programming), programación mixta entera (MILP – Mixed Integer Linear Programming), generación de columnas (CG – Column Generation), relajación lagrangiana (LR – Lagrangian Relaxation), programación con restricciones (CP – Constraint Programming), etc.) no suelen ser adecuados para resolver problemas de la vida real debido a la complejidad de su propia naturaleza no lineal respecto al tamaño de dichos problemas. Es por esto que en las últimas décadas, y a menudo fijándonos en procesos químicos, biológicos, etc. del mundo que nos rodea, un nuevo tipo de algoritmos, llamado metaheurísticas, ha ido desarrollándose. Así pues, entre ellos, encontramos los algoritmos genéticos (GA – Genetic Algorithms), el Simulated Annealing (SA), la búsqueda tabú (TS – Tabu Search), las colonias de hormigas (ACO – Ant Colony Optimization), algoritmos de estimación de la distribución (EDA – Estimation of Distribution Algorithms), optimización de enjambres de partículas (PSO – Particle Swarm Optimization), etc.

Las metaheurísticas se benefician del crecimiento que ha habido en la potencia de la tecnología así como de la observación del mundo que nos rodea para generar soluciones pseudo-óptimas a problemas complejos, de gran escala. Hasta ahora, sin embargo, se aplican principalmente a escenarios simplificados, donde por lo general no se considera la incertidumbre (i.e. comportamientos aleatorios/estocásticos), omnipresente en la vida real. Realmente, no hay muchas maneras de lidiar con esta incertidumbre. Probablemente la más utilizada y sencilla es la simulación. Las técnicas de simulación permiten, a partir de un modelo lo más cercano a la realidad, reproducir artificialmente el comportamiento del sistema representado para escenarios concretos. Desafortunadamente, la simulación no se puede (o suele) utilizar como herramienta de optimización por sí sola.

Pero, ¿qué pasaría si tomásemos la poderosa capacidad de optimización de las metaheurísticas y le añadiésemos la flexibilidad de la simulación para hacer frente a la incertidumbre? En principio, la integración de ambos enfoques resultaría en una metodología muy potente, flexible y relativamente sencilla de implementar, que convenientemente ajustada, podría generar soluciones pseudo-óptimas (o , al menos, de alta calidad) para problemas complejos de la vida real sin dejar de lado la incertidumbre. Esta herramienta se llama Simheuristics, y ha llegado recientemente al escenario de optimización, pero sin duda, se puede convertir en un jugador importante, ya que puede dar respuesta a la necesidad de soluciones en el apoyo a la toma de decisiones en un mundo smart, pero complejo. Veremos.

Ángel A. Juan y Daniel Riera codirigen el programa ICSO – Internet Computing and Systems Optimization del IN3-UOC y el Máster en Bioinformática y Bioestadística de la UOC además de algunos proyectos nacionales e internacionales de investigación relacionados con el modelado, simulación y optimización de problemas combinatorios. Ángel A. Juan es también director del Máster Universitario en Ingeniería Computacional y Matemática ofrecido por UOC y URV.

(Visited 59 times, 1 visits today)
Autor / Autora
Comentarios
ads20 febrero, 2014 a las 1:56 pm

Tu crees que esta tecnología podría ser aplicable a las tecnologías y códigos que rigen hoy en día Internet ?? Refiriendome a la web en si.

Responder
    tusp21 febrero, 2014 a las 5:30 pm

    Claro que si. Es más ya están aplicando muchas de estas tecnologías. 🙂

    Responder
alfredo27 febrero, 2014 a las 12:43 am

que tipo de smart se refiere este tema
Escuchar Musica Gratis.

Responder
Deja un comentario