SOLUCIONES MATEMÁTICAS INSPIRADAS EN LA NATURALEZA
6 julio, 2018Las metaheurísticas se usan, para la solución de problemas en sistemas de control, programación de horarios, bioinformática, minería de datos, hidráulica, ingeniería aeronáutica, clasificación y reconocimiento de patrones y problemas de transporte.
Fuente: Academia Mexicana de Ciencias
El rápido crecimiento de los procesadores, el incremento de la velocidad con la que operan y el abaratamiento de las memorias de las computadoras hacia finales del siglo XX, contribuyó a popularizar el uso de las metaheurísticas, técnicas que buscan soluciones buenas, donde bueno no necesariamente significa óptimo —lo cual no es problema porque los problemas que se resuelven con metaheurísticas son de alta complejidad—, y tienen un costo computacional razonable, dijo Carlos Coello Coello, investigador del Departamento de Computación del Centro de Investigación y Estudios Avanzados (Cinvestav).
Por la flexibilidad y facilidad de uso que ofrecen, las metaheurísticas se han vuelto una opción recurrente para resolver problemas (sobre todo de optimización) de alta complejidad, sin embargo, se recomienda su uso prudente al no ser adecuadas para todo tipo de problemas. Por su utilidad, este es el siglo de las metaheurísticas, ya que su uso se popularizará aún más y se les utilizará para problemas cada vez más complejos y desafiantes como el diseño de fármacos. Es pionero en la optimización evolutiva multiobjetivo, área que se enfoca en la solución de problemas utilizando algoritmos con inspiración biológica; con sus diseños de algoritmos ha ayudado a resolver problemas en Estados Unidos, Colombia, Chile y Cuba.
Señaló en la charla que impartió sobre el tema en el Foro de Química de Universum, Museo de las Ciencias, que dentro de las diferentes metaheurísticas que se conocen hay una clase en particular que se ha vuelto muy popular en los últimos años, y están basadas en conceptos biológicos, las cuales se conocen como metaheurísticas bioinspiradas, y aunque solo se refirió a cuatro de ellas —algoritmos evolutivos, cúmulos de partículas, sistemas inmunes artificiales y colonias hormigas—, apuntó que existen muchas más. En la actualidad existen tres tipos de algoritmos evolutivos principales: programación evolutiva, estrategias evolutivas y algoritmos genéticos (que están relacionados con programación genética).
Algunas aplicaciones
Las metaheurísticas se aplican para la solución de problemas en sistemas de control (robótica, estructuras), programación de horarios (scheduling), bioinformática (clasificación y optimización), minería de datos (sobre todo con grandes volúmenes de datos), hidráulica (calibración de modelos, redes hidráulicas), ingeniería aeronáutica (diseño de aviones, perfiles aerodinámicos), clasificación y reconocimiento de patrones y problemas de transporte. Ha logrado que sus algoritmos se apliquen en diferentes casos: “Hace algunos años tuvimos una colaboración en Valparaíso, Chile, donde usaron un algoritmo que nosotros desarrollamos para obtener configuraciones óptimas de redes de distribución de potencia eléctrica; ellos querían minimizar las pérdidas del sistema de potencia y aumentar los índices de confiabilidad”.
Pero el trabajo del científico mexicano también llegó a Colombia, en este caso se desarrolló un algoritmo para diseñar el marco de una motocicleta, lo cual significó un problema costoso, “porque la estructura del marco se modela con elemento finito, las simulaciones se resuelven con un sistema de ecuaciones diferenciales y ello, en términos computacionales, era muy alto puesto que cada evaluación podía tomar entre 10 a 15 minutos – por una sola evaluación de la función objetivo—, por lo que se usaron técnicas de neuro-aceleración, con redes neuronales se hicieron las predicciones para no tener que hacer demasiadas evaluaciones”.
También se han formado nuevos investigadores en el área. Recordó que un estudiante que tuvo hace varios años y ahora está en el Instituto Max Planck, en Alemania, donde es doctorando en informática, usó un algoritmo evolutivo para realizar la diferencia de modelos de redes reguladoras de genes, “es un programa interesante en bioinformática y esto lo implementó en procesadores GPUs, como los que tienen las consolas de juegos en la actualidad, pero para resolver problemas de optimización”. Igualmente, se refirió al proyecto en el que participó hace algún tiempo con el investigador Akira Oyama, de la Agencia Aeroespacial Japonesa (JAXA), quien requería un algoritmo que sirviera para el diseño de un vehículo aéreo no tripulado para explorar Marte en 2020.
El avión pesa un kilogramo y tiene integrada una cámara. Se empezó a diseñar en 2006 y el objetivo es que realice un mapa del planeta rojo, el proyecto fue optimizado con algoritmos evolutivos. “Logramos que un joven investigador estuviera en JAXA en su estancia posdoctoral y Akira ha hecho un gran esfuerzo por involucrar a colegas de la JAXA en el uso de algoritmos evolutivos en sus aplicaciones”.