Juan Manuel Herrero, investigador del grupo de CPOH

Publicado el 27 marzo, 2019

 

Os voy a hablar de las herramientas de optimización multiobjetivo porque son las que utilizamos habitualmente en el grupo CPOH para abordar los diferentes problemas que nos surgen y que pueden ser tan útiles en vuestros proyectos como en los nuestros.

Es muy común que, en nuestra investigación, los problemas a los que nos enfrentamos se planteen como problemas de optimización. Generalmente, tenemos que contemplar diferentes objetivos a optimizar simultáneamente, que se encuentran en contraposición. Construimos modelos más o menos complicados (conceptos de diseño) que queremos evaluar sobre dichos objetivos. Y para ello establecemos un problema de optimización multiobjetivo.

Existen principalmente dos enfoques para resolver este tipo de problemas:

  1. Un enfoque a priori, donde uno establece sus preferencias con respecto a los objetivos antes de la optimización y transforma el problema multiobjetivo en monoobjetivo agregando los objetivos en base a dichas preferencias. El resultado es una solución óptima.
  2. Un enfoque a posteriori donde, en una primera etapa, una optimización multiobjetivo se lleva a cabo para determinar el conjunto de soluciones óptimas (frente de Pareto). En una segunda etapa, el diseñador analiza el frente y fija sus preferencias para escoger una solución óptima.

Si bien el primer enfoque propone una metodología más sencilla, establecer las preferencias puede ser una tarea no trivial, especialmente cuando nos enfrentamos a problemas nuevos en los que tenemos poca experiencia.

Por otro lado, en el segundo enfoque, evitamos tener que tomar una decisión a priori, ya que no necesitamos agregar los diferentes objetivos que se plantean en el problema a solucionar. El obtener el frente de Pareto permite dar una visión más general de las capacidades de nuestro concepto de diseño, pudiendo medir la bondades y deficiencias con respecto a los objetivos. Este espacio de objetivos resulta ideal para comparar diferentes conceptos de diseño que pudiesen surgir. Este enfoque no está exento de inconvenientes, ya que, tras obtener e inspeccionar el frente, hay que elegir de él la solución óptima final. Esta tarea no tiene por qué ser sencilla, especialmente en problemas multiobjetivo con más de dos o tres objetivos.

Si bien podemos encontrar herramientas de optimización específicas para problemas concretos, los algoritmos evolutivos (EAs), y su versión multiobjetivo (MOEAs) son una alternativa muy interesante. Son fáciles de adaptar a multitud de problemas, permitiendo optimizar funciones no convexas (evitando óptimos locales), tener en cuenta restricciones, etc. Y en el caso multiobjetivo caracterizar el frente en una sola ejecución del algoritmo.

En relación al enfoque a priori, el grupo hace tiempo que desarrolló un algoritmo genético (GA) con codificación real que tenéis disponible en Matlab central. Ha sido pensado para ser usado de manera sencilla, y aunque es posible ajustar sus parámetros para un uso más particular, puede ser usado simplemente indicando la función de Matlab que calcula el objetivo a optimizar y el espacio de búsqueda de los parámetros.

Con respecto al enfoque a posteriori, en Matlab central, usando la misma filosofía de sencillez en su uso que con el GA, hemos dejado el algoritmo evMOGA que permite caracterizar el frente de Pareto.

En relación a la etapa de decisión final, para ayudar a la representación gráfica del frente de Pareto en un espacio multidimensional, es posible usar la herramienta interactiva Level Diagrams, que el grupo ha dejado también en Matlab central. Level Diagrams representa cada objetivo y parámetro de diseño en diagramas separados. Las soluciones se clasifican usando diferentes normas y se representan en los diagramas de forma sincronizada. Resulta muy útil la posibilidad que ofrece de colorear soluciones para establecer preferencias.

Por último, comentar que estos últimos años hemos dirigido nuestro esfuerzo en la caracterización de soluciones casi óptimas no dominadas en su vecindad (e-eficientes). En un problema de optimización, tradicionalmente, el diseñador sólo analiza las soluciones óptimas, descartando el resto. Pero con ello, también se descartan las soluciones e-eficientes que pueden resultar interesantes al diseñador. Las soluciones e-eficientes son soluciones buenas con respecto a los objetivos establecidos y diferentes a las óptimas. Como poco, dichas soluciones pueden ayudar al diseñador a tener un conocimiento mayor del problema en cuestión, además de ser alternativas a las óptimas, por el mero hecho de ser casi óptimas y diferentes. Hemos desarrollado el algoritmo nevMOGA, que permite caracterizar las soluciones óptimas y casi óptimas no dominadas en su vecindad. En breve estará también disponible en Matlab central.

Para terminar, a modo de ejemplo, simplemente mencionar algunos casos donde hemos aplicado estas herramientas. Además de los típicos casos de ajuste de parámetros de controladores (PIDs, SMC en aerogeneradores, DMCs, etc.) y en modelado (invernaderos, UAVs, sistemas de generación de energía, etc.) también los hemos aplicado en diseño de pantallas y difusores de sonido y recientemente en la gestión de carteras financieras.

Os animo a que los probéis y nos consultéis sobre cualquier duda en su uso o aplicación particular que tengáis.

https://es.mathworks.com/matlabcentral/fileexchange/39021-basic-genetic-algorithm?s_tid=prof_contriblnk

https://es.mathworks.com/matlabcentral/fileexchange/31080-ev-moga-multiobjective-evolutionary-algorithm

https://es.mathworks.com/matlabcentral/fileexchange/62224-interactive-tool-for-decision-making-in-multiobjective-optimization-with-level-diagrams


Noticias

Próximos Eventos

No hay nuevos eventos.

 

 

 

 

 

Cómo llegar I  Planos I Contacto
Universitat Politècnica de València © 2015 · Tel. (+34) 96 387 90 00 · informacion@upv.es
campus UPV de excelencia campus UPV de excelencia