09 diciembre 2013

Algoritmo evolutivo multiobjetivo

En la ingeniería, en las ciencias de la computación, y en otras áreas, la mayoría de los problemas que se presentan involucran la optimización simultánea de varios objetivos. Según Lima, en el trabajo escrito el año 2010 para ascenso al grado de asistente titulado “Algoritmo genético multiobjetivo “SPEA” para el enrutamiento de agentes en redes de sensores inalámbricos heterogéneos”, en varios casos, los objetivos se expresan en unidades de medida no comparables, o se encuentran en conflicto mutuamente, es decir, que un objetivo no puede ser mejorado sin empeorar el valor de otro. Estos problemas son llamados multiobjetivo o multicriterio. La optimización multiobjetivo es muy diferente de la optimización de un simple objetivo. En optimización de un único objetivo, se intenta obtener el mejor diseño o decisión, la cual es, por lo general, un mínimo local o un máximo local dependiendo del tipo de problema de optimización. Para múltiples objetivos, no existe una única solución, sino un conjunto de alternativas de solución. Estas soluciones son óptimas en el amplio sentido que ninguna otra solución en el espacio de búsqueda es superior a ellas para todos los objetivos considerados, es decir, cuando ningún objetivo puede mejorarse sin degradar algún otro objetivo. Si las metas están en conflicto, ninguna de las soluciones podría ser superior si no se cuenta con información de preferencia. Así, si tal información no está disponible, se considera útil tener información sobre todas las alternativas posibles para ayudar al gerente en la toma de decisiones. Al conjunto de estas soluciones óptimas se le conoce como soluciones Pareto óptimas. Su nombre les fue dado en honor al ingeniero y economista Vilfredo Pareto, en el libro escrito el año 1896 titulado “Curso de economía política”, quien fue el primero en definir un nuevo criterio de optimalidad para los problemas en los que existen múltiples objetivos a optimizar, y existen conflictos al realizar la optimización simultánea de los mismos.

En palabras de Miettinen, en el libro escrito el año 1998 titulado “Optimización multiobjetivo no lineal”, la investigación de operaciones ha desarrollado un número considerable de técnicas para resolver problemas multiobjetivo. Sin embargo, dada la complejidad de la mayoría de los problemas de optimización multiobjetivo del mundo real, entre las que se cuentan la alta dimensionalidad, discontinuidad, multimodalidad, estas técnicas tienen severas limitantes, entre otras algunas son aplicables solo cuando el frente de Pareto es convexo, o resultan incluso inaplicables para resolverlos. Uno de los enfoques más exitosos para resolver eficazmente estos problemas lo constituyen los algoritmos evolutivos. Estos algoritmos son especialmente apropiados para resolver problemas multiobjetivo ya que su naturaleza poblacional les permite encontrar varios elementos del conjunto de soluciones compromiso en una sola ejecución. Además, son menos susceptibles a la forma y continuidad del frente de Pareto. Los algoritmos de optimización multiobjetivo, representan una excelente alternativa cuando se intenta combinar varios objetivos en conflicto. Según Deb, en el artículo escrito el año 1999 titulado “Algoritmos evolucionarios para la optimización multicriterio en el diseño ingenieril”, en especial, los algoritmos evolutivos son capaces de encontrar en una sola corrida múltiples soluciones y no requieren conocimiento previo del problema a resolver, a diferencia de los métodos clásicos en los que no se obtiene un efecto sinérgico.

De manera informal, un problema de optimización multiobjetivo, en palabras de Osyczka, en el libro escrito el año 1984 titulado “Optimización multicriterio en ingeniería con programas Fortran”, se define como: “El problema de encontrar un vector de variables de decisión que satisfaga un conjunto de restricciones y optimice una función vectorial cuyos elementos representan a las funciones objetivo. Estas funciones son una descripción matemática de criterios de desempeño que están en conflicto entre sí. En este sentido, el término “optimizar” significa encontrar aquella solución que proporcione valores para todas las funciones objetivo, aceptables para el diseñador. En los problemas de optimización de un solo objetivo, el algoritmo se concentra en encontrar el óptimo global o su vecindad. Sin embargo, en los problemas multiobjetivo, se trata con un valor de aptitud por cada función objetivo. Esto hace que la noción de “optimo” se torne más compleja en este contexto. Para comprender mejor esta situación, póngase por caso, el problema de optimizar el diseño de un puente, en el cual se requiere minimizar el riesgo de accidentes y el costo del puente. Suponga que la solución uno consigue un costo bastante bajo, pero a costa de un alto riesgo; por otro lado, la solución dos implica un costo alto, pero minimiza el riesgo de accidentes; alternativamente, la solución tres tiene valores promedio en ambos objetivos. En este ejemplo, ninguna de las soluciones puede ser considerada mejor que la otra con respecto a todos los objetivos. Por esta razón, en los problemas de optimización multiobjetivo, con objetivos en conflicto, se busca un conjunto de soluciones óptimas, en lugar de una sola solución. La noción de optimalidad que se acepta comúnmente es aquella que propuso originalmente Francis Ysidro Edgeworth, en el libro escrito el año 1881 titulado “Física matemática”, que más tarde generalizara Vilfredo Pareto, en el libro escrito el año 1896 mencionado anteriormente.

No hay comentarios:

Publicar un comentario