116
Centro de Investigaci´ on y de Estudios Avanzados del Instituto Polit´ ecnico Nacional Unidad Zacatenco Departamento de Computaci´ on Uso de un Algoritmo de C´ umulo de Part´ ıculas Basado en Hipervolumen para Resolver Problemas Multi-Objetivo Tesis que presenta Iv´ an Christhofer Chaman Garc´ ıa para obtener el Grado de Maestro en Ciencias en Computaci´ on Director de la Tesis Dr. Carlos Artemio Coello Coello Mexico, D.F. Octubre de 2012

Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Centro de Investigacion y de Estudios Avanzados

del Instituto Politecnico Nacional

Unidad Zacatenco

Departamento de Computacion

Uso de un Algoritmo de Cumulo de Partıculas Basado en

Hipervolumen para Resolver Problemas Multi-Objetivo

Tesis que presenta

Ivan Christhofer Chaman Garcıa

para obtener el Grado de

Maestro en Ciencias

en Computacion

Director de la Tesis

Dr. Carlos Artemio Coello Coello

Mexico, D.F. Octubre de 2012

Page 2: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

ii

Page 3: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Resumen

Muchos problemas de la vida real requieren de la optimizacion de dos o mas objetivosa la vez, los cuales, estan en conflicto unos con otros al mismo tiempo. Por lo general, losproblemas de optimizacion multi-objetivo no tienen una solucion unica sino un conjunto desoluciones que representan los diferentes compromisos entre los objetivos.

La mayorıa de los algoritmos evolutivos multi-objetivo utilizan la dominancia de Paretocomo criterio de seleccion. Si bien este mecanismo es efectivo en problemas con dos o tresobjetivos, no es escalable ya que la proporcion de soluciones incomparables que se generancrece rapidamente al aumentar el numero de objetivos.

En este trabajo de tesis se utiliza la optimizacion mediante cumulos de partıculas (PSO),la cual es una tecnica evolutiva inspirada en el comportamiento social de los bancos de peces.Se plantea una forma de hacer que un algoritmo de cumulo de partıculas resuelva problemasde optimizacion multi-objetivo. Al optimizador propuesto se le integra como mecanismo deseleccion la metrica denominada hipervolumen, a fin de obtener a los mejores lıderes o guıasen su proceso de busqueda. Nuestra propuesta obtiene buenos resultados para problemascon dos y tres objetivos y presenta resultados prometedores para problemas con muchosobjetivos (cuatro o mas).

iii

Page 4: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

iv

Page 5: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Abstract

Many real-life problems require optimization the simultaneous of two or more conflictingobjectives. Usually, multiobjective optimization problems do not have a single solution buta set of them, representing the trade-offs among the objetives.

Most multiobjective evolutionary algorithms use Pareto dominance as their selectioncriterion. This mechanism is effective in problems having two or three objectives but itdoes not properly scale since number of incomparable solutions that this selection criteriongenerates rapidly grows as the number of objectives increases.

In this thesis we use Particle Swarm Optimization (PSO), which is an evolutionarytechnique inspired in the social behavior of fish schools. We present here a way to adaptPSOs that it can solve multiobjetive optimization problems. The proposed approach adoptsas its selection mechanism, a performance measure called hypervolume to find the bestleaders during the search process. Our proposed approach was able to obtain good resultsfor problems with two and three objectives and presented promising results for problemswith many objectives (more than three).

v

Page 6: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

vi

Page 7: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Agradecimientos

Agradezco a los excelentes profesores que hacen posible el conocimiento dentro de lasaulas.

A mis companeros de generacion y a todas aquellas personas que conocı en las aulasde clases, en las canchas deportivas y en los diversos departamentos de esta institucion,por todos los buenos y malos momentos que vivı con ellos. A todos los que alguna vez hancompartido su tiempo.

Agradezco a el CONACYT por el apoyo economico brindado durante mis estudios demaestrıa.

Agradezco al CINVESTAV, esta intitucion de enorme calidad, que me brindo todo elapoyo durante mi estancia.

Quiero agradecerle a mi asesor de tesis, el Dr. Carlos A. Coello Coello por sus cono-cimientos invaluables que me brindo para llevar a cabo esta investigacion, y por su granpaciencia para esperar a que este trabajo pudiera llegar a su fin.

Agradezco a los miembros del jurado, el Dr. Eduardo Arturo Rodrıguez Tello y al Dr.Alfredo Arias, por sus contribuciones que hicieron al trabajo final y por el tiempo quededicaron para revisarlo.

Agradezco a Sofia Reza, por toda su comprension, nobleza y dedicacion que en todomomento muestra hacia todos.

Agradezco a toda mi familia y amigos por su carino, paciencia, comprension, apoyo ynunca dejar de creer en mı.

Este trabajo de tesis se derivo del proyecto CONACyT titulado “Escalabilidad y NuevosEsquemas Hıbridos en Optimizacion Evolutiva Multiobjetivo” (Ref. 103570), cuyo respon-sable es el Dr. Carlos A. Coello Coello.

vii

Page 8: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

viii

Page 9: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Dedicatoria

A Dios por haberme permitido llegar hasta este punto y haberme dado salud para lograrmis objetivos, ademas de su infinita bondad y amor.

Dedico esta tesis a todas las personas que forman y formaron parte de mi vida. Pero muyen especial a mi madre Blanca Garcıa Rendon, mi madrina Maria de los Angeles OrdonezRobles y mi hermano Aldo C. Chaman Garcıa por ensenarme a ser la persona que soy y aquienes admiro por su fortaleza de caracter a pesar de todos los problemas a los que se hanenfrentado en su vida y por permitirme llevar a cabo las metas fijadas hasta el momento eimpusarme para lograrlas.

A mi padre Jeronimo Chaman Chaman que esta en presencia del Altısimo, el dedicarleeste trabajo muestra el permanente apoyo que me ofrecio con su espıritu alentador, contri-buyendo incondicionalmente a lograr mis metas y objetivos propuestos y que al brindarmecon su ejemplo a ser perseverante y darme la fuerza que me impulso a conseguirlo.

ix

Page 10: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

x

Page 11: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Indice general

Resumen III

Agradecimientos VI

Dedicatoria VII

Indice de figuras XII

Indice de tablas XIV

Introduccion 1

1. Conceptos Basicos 3

1.1. Conceptos de computacion evolutiva . . . . . . . . . . . . . . . . . . . . . . 3

1.1.1. Representacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.1.2. Operadores evolutivos . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.1.3. Principales paradigmas . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2. Optimizacion multi-objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2.1. Metricas para evaluar la eficacia . . . . . . . . . . . . . . . . . . . . 9

1.2.2. Algoritmos evolutivos multi-objetivo . . . . . . . . . . . . . . . . . . 11

1.2.3. Clasificacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.3. Algoritmo basado en cumulos de partıculas . . . . . . . . . . . . . . . . . . 17

1.3.1. Paradigma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.3.2. Estructura de una partıcula . . . . . . . . . . . . . . . . . . . . . . . 19

1.3.3. Trayectoria de una partıcula . . . . . . . . . . . . . . . . . . . . . . 19

1.3.4. Descripcion de la version basica . . . . . . . . . . . . . . . . . . . . . 21

1.3.5. Topologıas del cumulo de partıculas . . . . . . . . . . . . . . . . . . 22

1.3.6. Aspectos avanzados del algoritmo . . . . . . . . . . . . . . . . . . . . 24

1.3.7. Descripcion de la version multi-objetivo . . . . . . . . . . . . . . . . 26

1.4. Hipervolumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

1.4.1. Indicador de hipervolumen . . . . . . . . . . . . . . . . . . . . . . . 29

1.4.2. Contribucion al hipervolumen . . . . . . . . . . . . . . . . . . . . . . 33

1.4.3. HypE: Estimacion de la Contribucion del Hipervolumen . . . . . . . 33

2. Algoritmo MOPSO-hv 39

xi

Page 12: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

xii INDICE GENERAL

3. Evaluacion del algoritmo propuesto y resultados 473.1. Conjunto de problemas ZDT . . . . . . . . . . . . . . . . . . . . . . . . . . 493.2. Evaluacion del conjunto de problemas ZDT . . . . . . . . . . . . . . . . . . 533.3. Conjunto de problemas DTLZ . . . . . . . . . . . . . . . . . . . . . . . . . . 653.4. Evaluacion del conjunto de problemas DTLZ . . . . . . . . . . . . . . . . . 713.5. Resultados de escalabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

4. Conclusiones y trabajo futuro 914.1. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 914.2. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 914.3. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

Bibliografıa 95

Page 13: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Indice de figuras

1.1. Ejemplo de un cromosoma binario (a) y otro real (b). . . . . . . . . . . . . 5

1.2. Cromosoma binario constituido por tres genes. . . . . . . . . . . . . . . . . 51.3. Decodificacion del genotipo al fenotipo. . . . . . . . . . . . . . . . . . . . . 5

1.4. Un problema de dos objetivos con dos variables . . . . . . . . . . . . . . . . 71.5. Dominancia de Pareto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.6. Frente de Pareto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.7. Vector Ideal y vector de Nadir . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.8. Dos esquemas para llevar a cabo el elitismo. . . . . . . . . . . . . . . . . . . 121.9. Trayectoria de la partıcula ~x . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

1.10. Ejemplo de la inicializacion del cumulo . . . . . . . . . . . . . . . . . . . . . 211.11. Ejemplo de entornos geograficos y sociales . . . . . . . . . . . . . . . . . . . 23

1.12. Topologıas de Vecindarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241.13. Hipervolumen por punto de referencia . . . . . . . . . . . . . . . . . . . . . 30

1.14. Eleccion del Punto de Referencia . . . . . . . . . . . . . . . . . . . . . . . . 311.15. Contribucion al Hipervolumen . . . . . . . . . . . . . . . . . . . . . . . . . . 34

2.1. Ejemplo de calculo de la contribucion al hipervolumen . . . . . . . . . . . . 422.2. Tiempo entre MOPSOhv en dos dimensiones (a) . . . . . . . . . . . . . . . 43

2.3. Tiempo entre MOPSOhv en dos dimensiones (b) . . . . . . . . . . . . . . . 432.4. Tiempo entre MOPSOhv en tres dimensiones . . . . . . . . . . . . . . . . . 43

2.5. Ejemplo de soluciones no dominadas ordenadas . . . . . . . . . . . . . . . . 44

3.1. Frente de Pareto verdadero de ZDT1 . . . . . . . . . . . . . . . . . . . . . . 51

3.2. Frente de Pareto verdadero de ZDT2 . . . . . . . . . . . . . . . . . . . . . . 513.3. Frente de Pareto verdadero de ZDT3 . . . . . . . . . . . . . . . . . . . . . . 52

3.4. Frente de Pareto verdadero de ZDT4 . . . . . . . . . . . . . . . . . . . . . . 523.5. Frente de Pareto verdadero de ZDT6 . . . . . . . . . . . . . . . . . . . . . . 53

3.6. Resultados graficos correspondientes al problema ZDT1. . . . . . . . . . . . 563.7. Resultados graficos correspondientes al problema ZDT2. . . . . . . . . . . . 58

3.8. Resultados graficos correspondientes al problema ZDT3. . . . . . . . . . . . 603.9. Resultados graficos correspondientes al problema ZDT4. . . . . . . . . . . . 62

3.10. Resultados graficos correspondientes al problema ZDT6. . . . . . . . . . . . 643.11. Frente de Pareto verdadero de DTLZ1 . . . . . . . . . . . . . . . . . . . . . 68

3.12. Frente de Pareto verdadero de DTLZ2 . . . . . . . . . . . . . . . . . . . . . 693.13. Frente de Pareto verdadero de DTLZ5 . . . . . . . . . . . . . . . . . . . . . 69

3.14. Frente de Pareto verdadero de DTLZ6 . . . . . . . . . . . . . . . . . . . . . 70

xiii

Page 14: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

xiv INDICE DE FIGURAS

3.15. Frente de Pareto verdadero de DTLZ7 . . . . . . . . . . . . . . . . . . . . . 703.16. Resultados graficos correspondientes al problema DTLZ1. . . . . . . . . . . 743.17. Resultados graficos correspondientes al problema DTLZ2. . . . . . . . . . . 763.18. Resultados graficos correspondientes al problema DTLZ3. . . . . . . . . . . 783.19. Resultados graficos correspondientes al problema DTLZ4. . . . . . . . . . . 803.20. Resultados graficos correspondientes al problema DTLZ5. . . . . . . . . . . 823.21. Resultados graficos correspondientes al problema DTLZ6. . . . . . . . . . . 843.22. Resultados graficos correspondientes al problema DTLZ7. . . . . . . . . . . 863.23. Tiempos en escalamiento para el problema DTLZ2. . . . . . . . . . . . . . . 90

Page 15: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Indice de tablas

3.1. Parametros para los algoritmos de cumulos de partıculas . . . . . . . . . . . 473.2. Parametros de NSGA-II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483.3. Parametros de SMS-EMOA . . . . . . . . . . . . . . . . . . . . . . . . . . . 483.4. Puntos de referencia utilizados para el conjunto de problemas ZDT . . . . . 543.5. Resultados correspondientes al problema ZDT1. . . . . . . . . . . . . . . . . 553.6. Resultados correspondientes al problema ZDT2. . . . . . . . . . . . . . . . . 573.7. Resultados correspondientes al problema ZDT3. . . . . . . . . . . . . . . . . 593.8. Resultados del problema ZDT4. . . . . . . . . . . . . . . . . . . . . . . . . . 613.9. Resultados correspondientes al problema ZDT6. . . . . . . . . . . . . . . . . 633.10. Puntos de referencia utilizados para el conjunto de problemas DTLZ . . . . 723.11. Resultados correspondientes al problema DTLZ1. . . . . . . . . . . . . . . . 733.12. Resultados correspondientes al problema DTLZ2. . . . . . . . . . . . . . . . 753.13. Resultados correspondientes al problema DTLZ3. . . . . . . . . . . . . . . . 773.14. Resultados correspondientes al problema DTLZ4. . . . . . . . . . . . . . . . 793.15. Resultados correspondientes al problema DTLZ5. . . . . . . . . . . . . . . . 813.16. Resultados correspondientes al problema DTLZ6. . . . . . . . . . . . . . . . 833.17. Resultados correspondientes al problema DTLZ7. . . . . . . . . . . . . . . . 853.18. Resultados de la metrica de espaciado para DTLZ2 de 2 a 10 objetivos. . . 883.19. Resultados de la metrica de hipervolumen para DTLZ2 con 2 a 10 objetivos. 89

xv

Page 16: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

xvi INDICE DE TABLAS

Page 17: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Introduccion

Se muestra una breve introduccion a este trabajo de tesis, ası como el planteamientodel problema a resolverse y los objetivos planteados. En la parte final se proporciona unabreve descripcion del contenido de cada capıtulo de este trabajo de tesis.

Antecedentes

Los algoritmos evolutivos pueden verse como una analogıa del mecanismo de seleccionnatural, cuyo principal objetivo es simular el proceso evolutivo en una computadora y usarlopara resolver problemas de optimizacion. El uso de algoritmos evolutivos se ha extendido aun gran numero de dominios debido, sobre todo, a su simplicidad conceptual y facilidad deuso.

Un problema de optimizacion multi-objetivo difiere de un problema de optimizacionmono-objetivo en la cantidad de objetivos a optimizarse. Mientras que en un problema deoptimizacion mono-objetivo se busca la mejor solucion posible en todo el espacio de busque-da, en un problema multi-objetivo, se tienen varios objetivos (posiblemente en conflicto),y normalmente no hay una solucion unica sino un conjunto de soluciones compromiso. Porlo tanto, en este ultimo caso se requiere elegir una solucion entre varias, a partir de laspreferencias del usuario [Miettinen, 1999].

La principal motivacion para usar algoritmos evolutivos para resolver problemas deoptimizacion multi-objetivo es explotar su poblacion, de manera que podamos generar variosmiembros del conjunto de optimos de Pareto en una sola ejecucion del algoritmo, en lugarde tener que realizar una serie de ejecuciones por separado como en el caso de las tecnicasde programacion matematica. Ademas, los algoritmos evolutivos son menos susceptibles ala forma o la continuidad del frente de Pareto, mientras que las tecnias de programacionmatematica suelen tener dificultades para lidiar con frentes de Pareto desconectados y noconvexos [Osyczka, 1985].

Planteamiento del problema

El uso de esquemas de seleccion basados en la optimalidad de Pareto presenta diversaslimitantes, dentro de las que destaca su pobre escalabilidad cuando se aumenta la canti-dad de funciones objetivo. En anos recientes, se han planteado diferentes mecanismos deseleccion para algoritmos evolutivos multi-objetivo que no se basan en la optimalidad dePareto. Una de las alternativas mas prometedoras es el uso de indicadores de desempenopara seleccionar soluciones. De entre los posibles indicadores que pueden utilizarse, el hi-

1

Page 18: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

2 INDICE DE TABLAS

pervolumen (o metrica S) es, sin duda el mas popular debido, sobre todo, a sus propiedadesmatematicas (se ha podido demostrar que maximizar el hipervolumen conduce a lograr con-vergencia). En este trabajo se plantea incorporar en un algoritmo de cumulos de partıculasun mecanismo basado en el indicador de hipervolumen para seleccionar a los mejores lıde-res que conduciran la busqueda. El nuevo algoritmo debera ser competitivo con respecto aalgoritmos evolutivos multi-objetivo del estado del arte.

Objetivos

Objetivo general

Desarrollar un algoritmo multi-objetivo con base en la metaheurıstica conocida comocumulos de partıculas, el cual utilice el hipervolumen en su mecanismo de seleccion y seacompetitivo con otros algoritmos evolutivos multi-objetivo.

Objetivos especıficos

Estudiar las diferentes maneras de implementar el calculo del hipervolumen (de ma-nera exacta o aproximada).

Analizar diferentes algoritmos basados en cumulos de partıculas para establecer lasdiferencias y similitudes entre ellos.

Disenar un mecanismo de seleccion que aproveche las caracterısticas del hipervolumen,e incorporarselo a un algoritmo multi-objetivo basado en cumulos de partıculas.

Comparar el desempeno de las soluciones del algoritmo desarrallado con respecto alas soluciones de otros algoritmos utilizando un conjunto diverso de problemas de laliteratura especializada.

Organizacion

La organizacion de este trabajo de tesis es la siguiente:

En el capıtulo 1 se describen algunos conceptos basicos sobre algoritmos evolutivos,optimizacion multiobjetivo, la metaheurıstica de cumulos de partıculas y las cara-terısticas del indicador de hipervolumen que serviran como marco teorico para elresto del trabajo de tesis. Ademas, se proporciona una revision del estado del artesobre los algoritmos evolutivos multi-objetivo.

En el capıtulo 2 se describe el algoritmo de cumulos de partıculas multi-objetivopropuesto en este trabajo de tesis, cuyo mecanismo de seleccion esta basado en lacontribucion al hipervolumen y adopta un operador de turbulencia.

En el capıtulo 3 se compara el algoritmo propuesto con respecto a otros algoritmosevolutivos multi-objetivo tomados de la literatura especializada utilizando los indica-dores de calidad descritos en el capıtulo 1.

En el capıtulo 4 se proporcionan las conclusiones y el trabajo futuro.

Cinvestav Departamento de Computacion

Page 19: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Capıtulo 1

Conceptos Basicos

Un numero considerable de problemas de la vida real requieren de la optimizacion de doso mas objetivos a la vez, los cuales, en general, estan en conflicto unos con otros al mismotiempo. En este capıtulo se describen algunos conceptos basicos de algoritmos evolutivos,de la optimizacion multi-objetivo y del algoritmo de cumulos de partıculas que servirancomo marco teorico para el resto de la tesis. En este capıtulo se proporcionan tambien lasprincipales caracterısticas del indicador llamado hipervolumen, ası como un breve estadodel arte sobre los algoritmos evolutivos multi-objetivo mas relacionados con este trabajo detesis.

1.1. Conceptos de computacion evolutiva

La computacion evolutiva consiste en tecnicas estocasticas de busqueda y optimizacioninspiradas en el neodarwinismo. A estas tecnicas se les conoce genericamente como Algorit-mos Evolutivos y han tenido mucho exito en la solucion de problemas de optimizacion, debi-do a que presentan las siguientes caracterısticas [Santana Quintero and Coello Coello, 2006]:

No requieren de conocimientos especıficos sobre el problema.

Pueden actuar como eficaces optimizadores globales, ya que son menos propensos aquedar atrapados en optimos locales.

Son faciles de comprender e implementar en forma secuencial y paralela.

Se pueden hibridizar con otras tecnicas de optimizacion (por ejemplo, tecnicas deprogramacion matematica).

El neodarwinismo se compone de tres aspectos basicos:

La teorıa de la evolucion de Darwin . La contribucion de Darwin a los conoci-mientos cientıficos acerca de la evolucion se centro directamente en la identificacion delmecanismo principal de la evolucion, llamado seleccion natural. Esta teorıa estableceque las condiciones del medio favorecen o dificultan la reproducion de los individuospara adaptarse al medio y sus cambios constantes. Esta adaptabilidad que presentanlos individuos hacia los cambios del medio se sostiene con la afirmacion de que losdescendientes tienen variaciones no aleatorias y no deterministas que son, en parte,heredables y otras variaciones que dan lugar a una mejor sobrevivencia y exito repro-ductivo, haciendo que a lo largo de las generaciones se produzca el fenomeno evolutivo[Darwin, 1959].

3

Page 20: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

4 Capıtulo 1

La teorıa de Germoplasma de Weismann . [Weismann, 1893] propuso la teorıade germoplasma como un mecanismo de herencia en la teorıa de Darwin. Esta teorıadistingue dos componentes en los individuos: el primero, son las celulas germinalesque contienen informacion hereditaria que no puede ser alterada por las habilidadesadquiridas durante la vida del individuo, es decir, son las celulas que dan origen a ladescendencia; el segundo, son las celulas somaticas las responsables de las funcionescorporales.

La Genetica Mendeliana o Leyes de Mendel. Las leyes de Mendel son un con-junto de reglas sobres la transmision por herencia entre los individuos (padres a hijos).Estas leyes fueron derivadas por [Mendel et al., 1965]:

1. Ley de la segregacion: establece que durante la formacion de los gametoscada alelo de un par se separa del otro miembro para determinar la constituciongenetica del gameto.

2. Ley de la segregacion independiente: durante la formacion de los gametosla segregacion de los alelos de un par es independiente de la segregacion de losalelos de otro par.

3. Ley de la dominancia: cuando un individuo tiene dos alelos diferentes paraun rasgo (un alelo es dominante y otro recesivo), el alelo dominante se expresamientras que el alelo recesivo se mantiene oculto.

De acuerdo con el neodarwinismo, se tienen cuatro procesos estocasticos que actuanen todas las especies [Hoffman, 1989]:

• La reproduccon: es la formacion de nuevos individuos a partir de otros pre-existentes y, por tanto, pueden aparecer individuos diferentes a los de los proge-nitores, es decir, es un proceso que permite la creacion de nuevos individuos.

• La mutacion: son cambios al azar que se producen en la composicion geneticade un individuo. Se originan en los cromosomas, por lo que se pueden transmitira la descendencia durante la reproduccion. Consisten generalmente en que ungen sufre alguna modificacion.

• La competencia: es la interaccion entre los individuos que pertenecen a unacomunidad, debido a la disponibilidad de ciertos recursos limitados.

• La seleccion: las combinaciones peor adaptadas al medio se eliminan, mientrasque las mejor adaptadas seran mas abundantes, porque sus portadores se repro-duciran mas eficientemente, las transmitiran a su descendencia y aumentaran suproporcion en la poblacion.

A continuacion se definen algunos conceptos basicos de la computacion evolutiva.

1.1.1. Representacion

Se denomina cromosoma a una estructura de datos que contiene una cadena de variablesde decision de algun problema (figura 1.1). Usualmente es una cadena binaria, pero tambienes posible usar una cadena con valores enteros o reales.

Cinvestav Departamento de Computacion

Page 21: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Conceptos Basicos 5

Figura 1.1: Ejemplo de un cromosoma binario (a) y otro real (b).

Llamamos gene a una subcadena del cromosoma que codifica, comunmente, a un soloparametro de diseno. Estos genes toman ciertos valores, llamados alelos, de algun alfabetogenetico. De esta manera, si usamos una representacion binaria, los alelos pueden tomar elvalor de 0 o de 1. Un locus define la posicion de un gene dentro del cromosoma (figura 1.2).

Figura 1.2: Cromosoma binario constituido por tres genes.

Se denomina genotipo a la codificacion (por ejemplo, binaria, entera o real) de losparametros de decision. Mientras que fenotipo es la decodificacion del genotipo, con elfin de obtener los valores de los parametros usados como entrada en la funcion objetivo delproblema que se trata (figura 1.3).

Figura 1.3: Decodificacion del genotipo al fenotipo.

Un individuo es una solucion potencial al problema que se trata. Cada individuo contieneun cromosoma. A un conjunto de individuos se le nombra poblacion. La aptitud de unindividuo es la evaluacion de la funcion de aptitud e indica que tan bueno es el individuo(es decir, la solucion al problema) con respecto a los demas.

1.1.2. Operadores evolutivos

Existe una amplia variedad de operadores que se han empleado en los algoritmos evoluti-vos. Algunos de ellos estan disenados especialmente para una clase particular de problemas.A continuacion se describen los mas usados comunmente:

Seleccion: la seleccion determina la probabilidad de elegir un individuo para queproduzca descendencia por medio de la recombinacion y la mutacion. El esquemade seleccion es una de las partes cruciales de un algoritmo evolutivo, puesto quesesga la busqueda de manera que eventualmente se llegue a la solucion optima (o suproximidad).

Cinvestav Departamento de Computacion

Page 22: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

6 Capıtulo 1

Recombinacion: el operador de recombinacion (cruza) tiene la finalidad de heredarla informacion (genes) de dos o mas padres a la descendencia. En la computacionevolutiva la cruza entre cromosomas se simula intercambiando segmentos de cade-nas lineales de longitud fija. Lo usual es que las tecnicas de cruza se apliquen sobrerepresentaciones binarias; sin embargo, con las modificaciones adecuadas, se puedengeneralizar a alfabetos de cardinalidad mayor.

Mutacion: la mutacion consiste en pequenas modificaciones al cromosoma de un indi-viduo. En los algoritmos geneticos la mutacion es considerada un operador secundario.

1.1.3. Principales paradigmas

Actualmente existen, principalmente, tres paradigmas inspirados en los principios delneodarwinismo: los algoritmos geneticos, la programacion evolutiva y las estrategias evoluti-vas. De manera generica, a los algoritmos de la computacion evolutiva se les llama algoritmosevolutivos. Estas tres tecnicas tienen en comun la reproduccion, la variacion aleatoria, lacompetencia y la seleccion de individuos contendientes dentro de una poblacion.

Estrategias Evolutivas: este modelo enfatiza los nexos conductuales entre padrese hijos, en lugar del nexo genetico. Estas fueron concebidas para construir sistemascapaces de resolver problemas de optimizacion complejos en los que las variables sonnumeros reales. Por ello, la representacion natural fue un vector de genes con valo-res reales, el cual era manipulado, principalmente, por operadores de mutacion queperturbaban dichos valores reales [Back et al., 1997].

La primera version de una estrategia evolutiva, nombrada (1 + 1)-EE, crea un solohijo a partir de un solo padre, y ambos competıan para sobrevivir; el peor individuoera eliminado, mientras que el mejor se mantenıa para la siguiente generacion. Enla (1 + 1)-EE, a partir de un padre xt = (x1, . . . , xn), el hijo se genera mediante laexpresion:

xt+1i = xt +Ni(0, σ

ti)

donde t se refiere a la generacion actual, i = 1, . . . , n es la i-esima componente de losvectores x, N , σ y σti es un numero aleatorio gaussiano con media cero y desviacionestandar σi . Los numeros aleatorios son generados de manera independiente.

Programacion Evolutiva: propuesta por Lawrence Fogel consideraba que el com-portamiento inteligente requiere de dos habilidades: la primera, a traves de un orga-nismo para poder hacer predicciones correctas dentro de su ambiente; y la segunda, esla capacidad de traducir estas predicciones en una respuesta adecuada para una metadada. Los automatas de estados finitos fueron la representacion ideal para modelareste comportamiento [Fogel, 1964].

Algoritmos Geneticos. Propuestos por [Holland, 1992]. Hay tres caracterısticasprincipales que los distinguen de los demas algoritmos evolutivos: la representacion delos individuos (cadena binaria); el metodo de seleccion (seleccion proporcional); y eluso de la cruza como el operador principal para modificar al individuo. En este caso,la mutacion es un operador secundario.

Cinvestav Departamento de Computacion

Page 23: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Conceptos Basicos 7

Figura 1.4: Un problema de dos objetivos con dos variables

1.2. Optimizacion multi-objetivo

Se define el problema de optimizacion multi-objetivo como: “La tarea de encontrar unvector de variables de decision que satisfaga restricciones y optimice un vector de funcio-nes objetivo. Esas funciones, generalmente estan en conflicto unas con otras y, describenmatematicamente un criterio de desempeno. Por lo tanto, el termino optimizar significaencontrar un vector solucion con valores aceptables para todas las funciones objetivo”[Osyczka, 1985]. Los problemas multi-objetivo son aquellos en los que se deben optimi-zar k ≥ 2 funciones objetivo simultaneamente. El proceso de optimizacion puede significarla maximizacion de las k funciones, la minimizacion de las k funciones o una combinacionde maximizacion y minimizacion de estas funciones.

Definicion 1.1 (Problema de Optimizacion). Un problema de optimizacion multi-objetivose define como la tarea de minimizar (o maximizar)

F (~x) = (f1 (~x) , . . . , fk (~x)) ,

donde k ≥ 2 es el numero de funciones a optimizar, sujetas a gi (~x) ≤ 0 (restricciones dedesigualdad) y hj (~x) = 0 (restricciones de igualdad) con i = 1, . . . ,m, j = 1, . . . , n y~x ∈ Ψ, donde ~x es un vector n-dimensional de variables de decision (~x = (x1, . . . , xn) ∈ Ψ).Las restricciones gi (~x) ≤ 0 y hj (~x) = 0 deben ser satisfechas al mismo tiempo que seminimiza (o maximiza) F (~x) y Ψ contiene todos los posibles ~x que pueden ser usados parasatisfacer la evaluacion de F (~x).

El vector de variables de decision puede ser continuo o discreto mientras que las kfunciones pueden ser lineales o no, ası como continuas o discretas. La funcion de evaluacionF : Ψ→ Ω es una transformacion del vector de variables de decision ~x = (x1, . . . , xn) en unvector de respuesta ~y = (y1, . . . , yk). La figura 1.4 muestra un problema de dos objetivoscon dos variables.

Cinvestav Departamento de Computacion

Page 24: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

8 Capıtulo 1

Figura 1.5: Dominancia de Pareto

Cuando el problema es multi-objetivo existe un conflicto que ocasiona que la mejora enalgun objetivo provoque el deterioro de otros. Por lo tanto, un problema de optimizacionmulti-objetivo consiste en encontrar el mejor compromiso (balance) entre todos los objetivos.Las soluciones que representan los mejores compromisos entre los objetivos se denominanoptimos de Pareto.

Definicion 1.2 (Optimalidad de Pareto). Una solucion ~x∗ ∈ Ψ es un optimo de Paretocon respecto a Ψ si y solo si no existe ~x ∈ Ψ, para la cual ~v = F (~x) = (f1 (~x) , . . . , fk (~x))domina a ~u∗ = F (~x∗) = (f1 (~x

∗) , . . . , fk (~x∗)).

Definicion 1.3 (Dominancia de Pareto). Un vector ~u = (u1, . . . , uk) se dice que domina a~v = (v1, . . . , vk), denotado por ~u ~v, si y solo si ~u es parcialmente menor que ~v, es decir,∀i ∈ 1, . . . , k : ui ≤ vi ∧ ∃i ∈ 1, . . . , k : ui < vi.

La figura 1.5 muestra graficamente la dominancia de Pareto para un problema de opti-mizacion con dos objetivos en el cual A C tal que A es mejor en ambas funciones, A Etal que A es igual con respecto a f2 pero es mejor con respecto a f1, B E tal que B esigual con respecto a f1 pero mejor con respecto a f2, B D tal que B es mejor en ambasfunciones, y A y B son incomparables (A y B son optimos de Pareto).

Definicion 1.4 (Conjunto de optimos de Pareto). Para un problema multi-objetivo de-terminado F (~x), el conjunto de optimos de Pareto, denotado por P ∗ o Preal, esta definidocomo:

P ∗ = ~x ∈ Ψ| ∄~y ∈ Ψ F (~y) F (~x)

Los elementos del conjunto de optimos de Pareto tienen vectores objetivo que no puedenser mejorados sin empeorar al menos otro objetivo. Los vectores objetivo de las solucionesoptimas de Pareto se denominan vectores (o soluciones) no dominados. Los vectores delas funciones objetivo correspondientes al conjunto de optimos de Pareto conforman eldenominado frente de Pareto (F∗).

Cinvestav Departamento de Computacion

Page 25: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Conceptos Basicos 9

Figura 1.6: Frente de Pareto

Definicion 1.5 (Frente de Pareto). Para un problema multi-objetivo determinado F (~x),siendo su conjunto de optimos de Pareto (P ∗) , el Frente de Pareto F∗ o Freal, esta definidocomo (ver figura 1.6):

F∗ = ~u = F (~x) | ~x ∈ P ∗

Definicion 1.6 (Vector Ideal y vector de Nadir). Para un problema multi-objetivo deter-minado F (~x), siendo su conjunto de optimos de Pareto, P ∗, el vector ideal se define como(ver figura 1.7):

fideal =(

mın~x∈P ∗f1 (~x) , . . . ,

mın~x∈P ∗ fk (~x)

)

Si el vector ideal de un problema es alcanzabe, entonces los objetivos del problemano estan en conflicto y la solucion del problema es unica. Por lo tanto, cada objetivo delproblema puede ser optimizado por separado, sin requerirse el uso de un algoritmo evolutivomulti-objetivo. De manera similar, el vector de Nadir se define como (ver figura 1.7):

fnadir =(

max~x∈P ∗f1 (~x) , . . . ,

max~x∈P ∗ fk (~x)

)

Este vector contiene, entonces, los peores valores de las funciones objetivo y suele usarse(junto al vector ideal) para acotar el frente de Pareto.

1.2.1. Metricas para evaluar la eficacia

Al trabajar en optimizacion multi-objetivo, se tienen que tomar en cuenta dos nocionesimportantes: la convergencia y la dispersion. Para medir la convergencia, se debe de estimarque tan lejos estan las soluciones que generamos del verdadero frente de Pareto y para medirla dispersion, se debe estimar que tan uniformemente estan distribuidos las soluciones a lolargo del frente de Pareto. Para medir la convergencia se pueden usar medidas como lassiguientes:

Cinvestav Departamento de Computacion

Page 26: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

10 Capıtulo 1

Figura 1.7: Vector Ideal y vector de Nadir

Definicion 1.7 (Distancia Generacional Invertida (IGD)). Determina cuan lejos, en pro-medio, se encuentra el verdadero frente de Pareto, del frente obtenido por el algoritmo.Esta metrica evita algunos problemas que posee la denominada Distancia Generacional, enparticular, en los casos en los que el frente obtenido posee pocos puntos, pero agrupados enuna sola region [Veldhuizen and Lamont, 1998]. Su definicion es la siguiente:

IGD =1

N∑

i=1

d2i ,

donde N es la cantidad de puntos del verdadero frente de Pareto, di la distancia euclidiana(medida en el espacio de las funciones objetivo) entre cada punto del verdadero frente, alpunto mas cercano del frente obtenido. Un valor IGD = 0 indica que el frente obtenido esel verdadero frente de Pareto, cualquier otro valor indica que el frente obtenido se desvıadel verdadero frente de Pareto.

Definicion 1.8 (Cobertura de Conjuntos (C)). Determina la cobertura relativa de un con-junto, con respecto a otro. Fue propuesta por [Zitzler et al., 2000] para valorar cuantitativa-mente cuanto un conjunto cubre o domina a otro. Si A y B son dos conjuntos no dominados,la metrica de cobertura de C(A,B) calcula la fraccion de vectores en B que son dominadosdebilmente por los vectores de A. Se define como:

C (A,B) =|~b ∈ B;∃~a ∈ A : ~a ~b|

|B|

Si todos los vectores en B son dominados o son iguales a los vectores en A, entoncesC es igual a uno. Si ninguno de los vectores en B es dominado o igual a algun vector deA, entonces C es igual a cero. Lo ideal es que C (A,B) y C (B,A) se consideren de maneraseparada, ya que C (A,B) no es equivalente a 1− C (B,A)

Definicion 1.9 (Dispersion o Espaciamiento (Spread) (S)). Determina la dispersion delos puntos sobre el frente. Fue utilizada por [Deb et al., 2000] para conocer como estan

Cinvestav Departamento de Computacion

Page 27: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Conceptos Basicos 11

distribuidas las soluciones a lo largo del frente de Pareto. Se define como:

S =df + dl +

∑N−1i=1 |di − d

|

df + dl + (N − 1) · d′

donde N es la cantidad de puntos del frente, di es la distancia euclidiana entre solucionesconsecutivas, d

es el valor medio de todas las distancias y, df y dl son las distanciaseuclidianas a los extremos del frente de Pareto. Un valor S = 0 indica la distribucionideal (dispersion perfecta).

La dispersion indica que tan bien estan distribuidas las soluciones en el verdadero frentede Pareto (o su aproximacion). Este indicador es importante, ya que ofrece mas opcionespara la toma de decisiones al momento de elegir una o mas soluciones no dominadas.

1.2.2. Algoritmos evolutivos multi-objetivo

Hoy en dıa existen diversas tecnicas de programacion matematica para resolver pro-blemas de optimizacion multi-objetivo [Miettinen, 1999, Osyczka, 1985]. Sin embargo, lacomplejidad de muchos problemas de optimizacion multi-objetivo del mundo real vuelven aestas tecnicas inadecuadas o incluso inaplicables para resolverlos. La complejidad de estosproblemas se debe, por ejemplo a: la multimodalidad, la alta dimensionalidad del espacio debusqueda, a la discontinuidad de las funciones objetivo, a desconexiones tanto en el espaciode la variables de decision como en el de las funciones objetivo, entre otras causas.

Rosenberg planteo utilizar un metodo genetico de busqueda para resolver problemasde optimizacion multi-objetivo por primera vez, pero no llego a desarrollar un algorit-mo, dado que transformo el problema bi-objetivo de su interes en uno mono-objetivo[Rosenberg, 1967]. La primera implementacion de lo que actualmente se conoce como unalgoritmo evolutivo multi-objetivo fue propueta por [Schaffer, 1985].

Los algoritmos evolutivos resultan particularmente adecuados para resolver problemasde optimizacion multi-objetivo gracias a que trabajan simultaneamente con un conjuntode soluciones potenciales (es decir, la poblacion). Esta caracterıstica les permite encontrarvarias soluciones del conjunto de optimos de Pareto en una sola ejecucion. Tambien, sonmenos sensibles a la forma o continuidad del frente de Pareto. Adicionalmente, son facilesde usar y no requieren informacion especıfica del problema a resolverse.

Los algoritmos evolutivos y los algoritmos evolutivos multi-objetivo son estructuralmentesimilares. La diferencia principal es que los segundos utilizan un esquema de seleccion quedebe considerar k (k ≥ 2) funciones objetivo, ademas de contar con un estimador densidaden el espacio de las funciones objetivo que sesga el mecasnimo de seleccion de manera que semantenga diversidad en la poblacion. Sin embargo, el operador de seleccion espera un solovalor de aptitud. La forma mas sencilla de mantener la estructura de un algotirmo evolutivosimple al abordar problemas multi-objetivo (si bien, no es la mas adecuada) consiste entransformar el vector de aptitudes en un valor escalar. En el algoritmo 1.1 se describe unaestructura basica de un algoritmo evolutivo multi-objetivo, de este tipo. Notese que estealgoritmo no incluye un estimador de densidad.

En general, existen diferentes esquemas para manejar varias funciones objetivo en laseleccion: los basados en agregacion, los basados en poblaciones, y los basados en el conceptode dominancia de Pareto [Zitzler and Thiele, 1999]. Otro componente fundamental de losalgoritmos evolutivos multi-objetivo modernos es el elitismo.

Cinvestav Departamento de Computacion

Page 28: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

12 Capıtulo 1

Algoritmo 1.1 Estructura basica de un algoritmo evolutivo multi-objetivo agregativo1: t← 0.2: Generar aleatoriamente la poblacion inicial P t.3: Mientras t < maxGen Hacer4: Para cada individuo ~x ∈ P t calcular el valor escalar de aptitud F (~x).5: Seleccionar de P t un grupo de padres P ′t basandose en la aptitud.6: Recombinar los individuos de P ′t para obtener P ′′t.7: Mutar los individuos de P ′′(t) para obtener P ′′′t.8: P t+1 ← P ′′′t.9: t← t+ 1.

Actualmente hay dos formas principales de llevar a cabo la implementacion del elitismoen un algoritmo evolutivo multi-objetivo. La primera, es combinar la poblacion anterior y ladescendencia o la poblacion nueva, y posteriormente aplicar una seleccion determinista enlugar de reemplazar la vieja poblacion por la descendencia [Deb et al., 2000]. La segunda,es mantener una poblacion secundaria llamada archivo historico (poblacion secundaria,poblacion elitista o archivo externo) en el cual se retienen las soluciones no dominadasencontradas en el transcurso del proceso de busqueda [Zitzler and Thiele, 1999](ver figura1.8). En muchos problemas de optimizacion multi-objetivo, el conjunto de optimos de Paretoes muy grande. Por ello, se debe aplicar una estrategia para decidir la entrada de la nuevassoluciones al archivo y evitar que el archivo crezca indefinidamente.

Figura 1.8: Dos esquemas para llevar a cabo el elitismo.

1.2.3. Clasificacion

Existen diferentes maneras de clasificar a los algoritmos evolutivos multi-objetivo. Quizasla taxonomıa mas simple, es la basada en el tipo de mecanismo de seleccion que usan[Coello et al., 2006]:

Enfoques basados en agregacion. Esta tecnica simplemente combina todos losobjetivos en un valor escalar, es decir, transforman un problema de optimizacion

Cinvestav Departamento de Computacion

Page 29: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Conceptos Basicos 13

multi-objetivo en un problema de optimizacion mono-objetivo. Para ello se usa lasiguiente expresion:

mınk∑

i=1

wi · fi (~x)

donde wi > 0 son los coeficientes de ponderacion que representan la importacia decada cada objetivo k del problema. Usualmente se presupone que:

k∑

i=1

wi = 1

Las funciones agregativas lineales tienen diversos inconvenientes, entre los que destacael hecho de no poder generar partes no convexas del frente de Pareto. Las funcionesagregativas no lineales no tienen esta limitante, pero no son muy comunes en la litera-tura especializada. Pese a sus limitantes, las funciones agregativas han sido utilizadascon exito en problemas combinatorios multi-objetivo.

Enfoques basados en poblacion. En este tipo de enfoque, la poblacion se utilizapara la diversificacion de la busqueda, pero el concepto de dominancia de Pareto no seincorporan directamente en el proceso de seleccion. Un ejemplo clasico es el algoritmoVEGA (Vector Evaluated Genetic Algorithm) [Schaffer, 1985]. VEGA consiste en unalgoritmo genetico con un mecanismo de seleccion modificado. En cada generacion,se crea un numero de sub-poblaciones de acuerdo con una seleccion proporcional acada objetivo por cada funcion a la vez. Estas sub-poblaciones son luego mezcladasentre sı para obtener una nueva poblacion, en la que el algoritmo genetico aplicalos operadores de cruza y mutacion. VEGA tiene varios problemas, del cual se puededestacar el que su esquema de seleccion se opone al concepto de dominancia de Pareto.

Enfoques basados en optimilidad de Pareto. En este tipo de enfoque, se consi-deran los algoritmos evolutivos multi-objetivo que incorporan el concepto de Paretoen su mecanismo de seleccion. Los siguentes algoritmos evolutivos son un conjuntorepresentativo que utilizan este enfoque en los ultimos anos:

• PAES (The Pareto Archived Evolution Strategy): este metodo consisteen una estrategia evolutiva (1+1), en combinacion con un archivo historico quealmacena algunas de las soluciones no dominadas encontradas previamente. Es-te archivo es usado como un conjunto de referencia contra el cual se comparacada individuo mutado. PAES tambien utiliza un nuevo enfoque de mantenerdiversidad, que consiste de un procedimiento de agrupamiento que divide el es-pacio de las funciones objetivo de una manera recursiva. Cada solucion se situaen una rejilla de localizacion, con base en los valores de las funciones objetivo.Se mantiene un mapa en dicha rejilla y un conteo del numero de soluciones queresiden en cada retıcula de la misma. Dado que el procedimiento es adaptivo, nose requieren parametros extras en el algoritmo [Angeline et al., 1999].

Cinvestav Departamento de Computacion

Page 30: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

14 Capıtulo 1

• NSGA (The Nondominated Sorting Genetic Algorithm): este metodoclasifica a los individuos de la poblacion en varias capas. Antes de hacer la selec-cion, la poblacion se clasifica conforme a su no dominancia: todos los individuosno dominados se clasifican en una categorıa con un valor ficticio de aptitud elcual es proporcional al tamano de la poblacion, para ofrecer el potencial repro-ductivo de estos individuos [Srinivas and Deb, 1994]. NSGA es un algoritmo noelitista. La siguiente version de este algoritmo, es el NSGA-II, que utiliza elelitismo y un operador de comparacion que clasifica a la poblacion conforme ala dominancia de Pareto y la densidad de la region. Por lo que, este algoritmo esmas eficiente y efectivo que su predecesor.

• SPEA (The Strength Pareto Evolutionary Algorithm): este metodo in-troduce elitismo al almacenar a los individuos no dominados en un archivo. Paracada individuo de este conjunto externo se calcula un valor llamado fortaleza(strength). Este valor es proporcional al numero de soluciones que domina uncierto individuo del conjunto externo. La aptitud de los miembros de la pobla-cion actual se calcula de acuerdo a la fortaleza de los individuos de la poblacionexterna que lo dominan. En este esquema el objetivo es minimizar la aptitud,es decir, los valores pequenos de aptitud corresponden a altas probabilidadesde reproduccion. El esquema para asignar la aptitud pretende conseguir que labusqueda se dirija hacia el frente de Pareto y a la vez preservar la diversidadde las soluciones no dominadas. Para proveer diversidad a la poblacion, se uti-liza una tecnica de cumulos (clustering), llamada metodo de enlace promedio[Zitzler and Thiele, 1999].

La siguiente version de este algoritmo, es el SPEA2, el cual tiene las siguientesdiferencias [Zitzler et al., 2002]:

Incorpora una estrategia de asignacion de aptitud de grano-fino, que porcada individuo toma en cuenta el numero de individuos a los que domina yel numero de individuos por los cuales es dominado.

Utiliza una tecnica de estimacion del vecino mas cercano que guıa la busque-da de una manera mas efectiva.

Presenta un metodo mejorado de truncamiento del archivo, que garantiza lapreservacion de las soluciones de los extremos del frente de Pareto.

Utiliza un algotitmo de clustering de menor complejidad.

Como se mostro anteriormente en la literatura existen muchas formas de poder resolverproblemas multi-objetivo utilizando diversos enfoques. En este trabajo de investigacionse plantea comparar el desempeno del algoritmo propuesto con respecto a las solucionesobtenidas con los siguientes algoritmos reprensetativos de la literatura especializa:

El primero, es el que presentan [Raquel and Jr., 2005] en el cual se plantea el uso de unalgoritmo de cumulos de partıculas para problemas multi-objetivo (An effective useof Crowding Distance in Multiobjetive Particle Swarm Optimization, MOPSOcd)mediante la incorporacion del mecanismo del calculo de la distancia de Crowdingespecıficamente para seleccionar al mejor lıder global y en el metodo para mantener lassoluciones no dominadas en el archivo externo. El algoritmo 1.2 muestra la estructurabasica del MOPSOcd.

Cinvestav Departamento de Computacion

Page 31: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Conceptos Basicos 15

Las caracterısticas que enmarcan al algoritmo MOPSOcd son:

• Hace uso de un operador de mutacion junto a la distacia de Crowding paramantener la diversidad de soluciones no dominadas en un archivo externo.

• La seleccion del mejor lıder global se hace de entre aquellas soluciones no domi-nadas con los valores mas altos de la distancia de crowding (por ejemplo, 10%de la parte superior del archivo ordenado de manera desdente).

• La seleccion de diferentes guıas para cada partıcula en una parte determinadadel archivo de soluciones no dominadas ordenadas en funcion de las distanciade crowding (por ejemplo, 10% de la parte inferior del archivo) permite que laspartıculas de la poblacion primaria avancen hacıa las soluciones no dominadasdel archivo externo con el menor agrupamiento en el espacio de las funcionesobjetivo.

• Los resultados muestran que este algoritmo es competitivo en lo que a conver-gencia hacia el frente de Pareto se refiere, generando tambien un conjunto biendistribuido de soluciones no dominadas.

• Adapta un mecanismo de manejo de restricciones usado por el NSGA-II, debidoa su simplicidad en la factibilidad y la comparacion de soluciones no dominadas.

El segundo, es un algoritmo cuyo mecanismo de seleccion adopta el hipervolumen,llamado S metric selection evolutionary multiobjective algorithm (SMS-EMOA) pro-puesto por [Beume et al., 2007]. Este algoritmo genera en cada iteracion nuevas so-luciones por medio de operadores de variacion aleatoria. Por tanto, las soluciones sedescartan conforme a su contribucion al hipervolumen. Los resultados muestran que elSMS-EMOA es muy potente para problemas difıciles. Su principal inconveniente es sualta complejidad computacional, que esta relacionada con el calculo de la contribucional hipervolumen que puede tomar mucho tiempo conforme se aumenta el numero deobjetivos. El algoritmo 1.3 muestra la estructura basica del SMS-EMOA.

Los pilares principales que enmarcan al algoritmo SMS-EMOA son:

• El ordenamiento no dominado con base en los niveles o jerarquıas de no domi-nancia (rank) usado por el NSGA-II.

• El hipervolumen se aplica como criterio de seleccion para descartar individuos.

Por ultimo, pero no menos importante, esta el NSGA-II el cual ha sido muy popularen la literatura especialzada debido, sobre todo, a su eficiencia y facilidad de uso.Este algoritmo tiene tambien un bajo costo computacional, basandose en un operadorde agrupamiento (Crowding) y un esquema de seleccion que compara la poblacionde padres con la de hijos quedandose con los mejores individuos de entre todos ellos[Deb et al., 2000]. El algoritmo 1.4 muestra la estructura basica del NSGA-II.

Las caracterısticas que enmarcan al algoritmo NSGA-II son:

• El ordenamiento no dominado mediante una tecnica de comparacion que utilizauna subpoblacion auxilizar.

Cinvestav Departamento de Computacion

Page 32: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

16 Capıtulo 1

Algoritmo 1.2 Estructura basica del MOPSOcd

Entrada: Problema de Optimizacion F .Salida: Soluciones no dominadas en un archivo acotado A.1: Inicializar la velocidad ~v ← 0 del cumulo S.2: Inicializar aleatoriamente las posiciones del cumulo S.3: Evaluar las partıculas del cumulo S de acuerdo a las funciones objetivo.4: Seleccionar el pBest inicial de las partıculas.5: Seleccionar el ~gBest como el mejor encontrado en el cumulo S.6: Inicializar el contador de generaciones con t← 0.7: Insertar las partıculas no dominadas de la poblacion en el archivo A.8: Mientras t < maxGen Hacer9: Calcular la distancia de crowding de cada partıcula no dominada en el archivo A

10: Ordenar las partıculas no dominadas en el archivo A de manera descendiente deacuerdo a los valores de crowding.

11: Para i← 1 hasta tamS Hacer12: Seleccionar aleatoriamente el ~gBest desde una porcion especificada (por ejem-

plo, 10% de la parte superior) del archivo ordenado A.13: Generar una nueva velocidad

~vt+1i ← ω · ~vti + φ1 · rnd1 ·

(

~pBesttti −~Sti

)

+ φ2 · rnd2 ·(

~gBest− ~Sti

)

14: Calcular las nuevas posiciones~St+1i ← ~St

i + ~vt+1i

15: Reintegrar la partıcula i si no pertenece a la region de busqueda y la velocidadde esta partıcula se multiplica por −1.

16: Si t < maxGen · pMut Entonces17: Aplicar el operador de mutacion en la partıcula i.18: Evaluar la partıcula i de acuerdo a las funciones objetivo.19: Insertar todas las pastıculas no dominadas de S en A si no son dominadas por

alguna partıcula ya almacenada. Todas las partıculas en el archivo que sean domi-nadas por la nueva partıcula son eliminadas. Si el archivo esta lleno, las partıculasse reemplazan de acuerdo al siguiente criterio:

• Calcular la distancia de Crowding de cada partıcula no dominada del archivoA.

• Ordenar las partıculas no dominadas en el archivo A de manera descendientede acuerdo a los valores

• Seleccionar aleatoriamente una partıcula desde una porcion espeficada (porejemplo, 10% de la parte inferior) del archivo ordenado A, las cuales com-prenden las partıculas mas agrupadas en el archivo y luego sustituirla por lanueva partıcula.

20: Actualizar el pBest de cada partıcula en S. Si el actual pBest domina la posicionen memoria, la posicion de la es actualizada utilizando pBest⇐ S

21: t← t+ 1.

Cinvestav Departamento de Computacion

Page 33: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Conceptos Basicos 17

Algoritmo 1.3 Estructura basica del SMS-EMOA

Entrada: Problema de Optimizacion F .Salida: Una aproximacion al frente de Pareto.1: t← 02: Inicializar la poblacion aleatoriamente Pt

3: Mientras criterio de paro Hacer4: Generar un nuevo individuo x de acuerdo con un operador de variacion aleatoria.5: Qt+1 ← Pt ∪ x.6: Calcular el frente de Pareto de acuerdo con la asignacion de valores de aptitud con

base en los niveles o jerarquıas de no dominancia (rank) de Qt+1.7: W ← individuos con la peor clasificacion del frente.8: r ← individuos (en W ) que menos contribuyen al valor del hipervolumen cubierto

por W .9: Pt+1 ← Qt+1r, eliminar los peores inviduos detectados de la poblacion.

10: t← t+ 1.

• El uso de una tecnica de agrupacion, que no requiere especificar parametrosadicionales para la preservacion de la diversidad en la poblacion.

• La asignacion de valores de aptitud con base en los niveles o jerarquıas de nodominancia (rank), aunque se considera en el procedimiento de asignacion devalores de distancia de crowding utilizados para evaluar la diversidad de lassoluciones.

Algoritmo 1.4 Estructura basica del NSGA-II

Entrada: Problema de Optimizacion F .Salida: Una aproximacion al frente de Pareto.1: t← 02: Inicializar la poblacion Pt

3: Mientras t < maxGen Hacer4: Aplicar cruza y mutacion a Pt, para generar Qt

5: Evauar poblacion Qt de acuerdo a las funciones objetivo6: Rt ← Pt ∪Qt

7: Asignar gerarquias con base en la dominacia de Pareto a Rt

8: Asignar distancia de agrupamiento a Rt

9: Seleccionar los N individuos de Rt, de acuerdo al operador de comparacion deagrupamiento ≺n para obtener Pt+1.

10: tt+ 1

A continuacion se describe mas a detalle el algoritmo basado en cumulos de partıculas.

1.3. Algoritmo basado en cumulos de partıculas

El algoritmo de optimizacion mediante cumulos de partıculas fue propuesto en 1995usandose originalmente para el balance de pesos de una red neuronal. A continuacion se

Cinvestav Departamento de Computacion

Page 34: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

18 Capıtulo 1

describen las principales componentes de la heurıstica, los modelos mono-objetivo mas ca-racterısticos y, finalmente, como llevar esta misma a su version multi-objetivo.

1.3.1. Paradigma

Un algoritmo basado en cumulos de partıculas o Particle Swarm Optimization (PSO) esuna tecnica inspirada en el comportamiento social del vuelo de las aves o el movimiento de losbancos de peces que intentan encontrar comida. Se fundamenta en los factores que influyenen la toma de decisiones de una partıcula que forma parte de un cumulo de partıculassimilares. La decision de cada partıcula se realiza conforme a una componente social yuna componente individual, mediante las que se determina el movimiento (direccion) paraalcanzar una nueva posicion en el espacio de soluciones. La metafora se puede resumir dela siguiente forma: “los individuos que conviven en una sociedad tienen una opinion quees parte de un conjunto de creencias (el espacio de busqueda) compartido por todos losposibles individuos” [Eberhart et al., 2001].

Siguiendo ciertas reglas de interaccion, las partıculas en la poblacion adaptan sus es-quemas de creencias al de las partıculas con mas exito de su entorno. Con el tiempo, surgeuna cultura de creencias estrechas entre los individuos. Cada solucion (partıcula) es un aveen el espacio de busqueda que esta siempre en continuo movimiento y que nunca muere. Elcumulo de partıculas (Swarm) es un sistema multiagente; es decir, las partıculas son agentessimples que se mueven por el espacio de busqueda y que guardan (y posiblemente comu-nican) la mejor solucion que han encontrado hasta el momento. Cada partıcula tiene unaposicion y un vector velocidad que dirige su movimiento. El movimiento de las partıculaspor el espacio esta guiado por las partıculas optimas en el momento actual.

Esta heurıstica posee las siguientes caracterıtisticas [Kennedy and Eberhart, 1995]: Enprimer lugar, asume un intercambio de informacion (interacciones sociales) entre las partıcu-las de busqueda. Es decir, las partıculas modifican su direccion en funcion de las direccionesde las partıculas de su vecindario. Ademas, almacena informacion historica de la experienciapropia de cada partıcula (influencia individual). Cada partıcula decide su nueva direccionen funcion de la mejor posicion por la que paso anteriormente. Suele tener una convergenciarapida a buenas soluciones.

Tambien comparte otras caracterısticas con los algoritmos evolutivos, tales como:

La poblacion es inicializada aleatoriamente y evoluciona iterativamente buscando lamejor solucion posible.

Realiza una busqueda ciega, es decir, no dispone de ningun conocimiento especıficodel problema, de manera que la busqueda se basa exclusivamente en los valores de lafuncion objetivo.

Trabaja con informacion codificada (binaria, entera o real), no directamente sobre eldominio del problema, sino sobre una representacion de sus elementos.

Es una tecnica de busqueda estocastica.

En particular, cada partıcula puede modificar su propia direccion de busqueda basandoseen tres factores:

Su conocimiento sobre el entorno.

Cinvestav Departamento de Computacion

Page 35: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Conceptos Basicos 19

Su conocimiento historico o experiencias anteriores.

El conocimiento historico o experiencias anteriores de las partıculas situadas en suvecindario.

Sin embargo, no tiene operadores de variacion tales como la mutacion (como un algo-ritmo genetico [Yang, 2008]) o la cruza, sino que tiene operadores de movimiento. Ademas,no se crean nuevas partıculas sino que las mismas partıculas iniciales son modificadas a lolargo del proceso de busqueda.

A continuacion se describen los principales elementos que caracterizan a una partıcula.

1.3.2. Estructura de una partıcula

La estructura basica de una partıcula consta de los siguientes componentes:

Un vector ~x que describe la ubicacion de la partıcula dentro del espacio de soluciones.El tamano de este vector depende del numero de variables necesarias para resolver elproblema.

Valor objetivo, representa la calidad de la solucion representada por el vector ~x,obtenido a traves del calculo de la funcion de evaluacion o funcion objetivo corres-pondiente al problema especıfico.

Un vector ~v que representa la velocidad de la partıcula. Este vector, al igual que ~x,se modifica en cada iteracion del algoritmo, reflejando ası el cambio de direccion quesufre la partıcula dentro del espacio de busqueda.

pBest , mejor valor objetivo encontrado por la partıcula hasta el momento.

gBest , mejor valor objetivo encontrado por las partıculas del cumulo. Este valoresta presente si se utiliza un modelo global, es decir, un modelo en el que los individuosson influenciados por el mejor de toda la poblacion.

lBest , mejor valor objetivo encontrado en el vecindario de una partıcula. Este valoresta presente si se utiliza un modelo local, es decir, un modelo en el que los individuosson influenciados por el mejor de un grupo de individuos (vecindario). La determi-nacion del vecindario depende de la forma en la que se efectua el agrupamiento deindividuos de la poblacion.

1.3.3. Trayectoria de una partıcula

La trayectoria de la partıcula dentro del espacio de busqueda esta definida con base enel vector de ubicacion ~x y el de velocidad ~v, los cuales son sumados para obtener la nuevadireccion. Justamente estos cambios de trayectoria son los que determinan la caracterısticaprincipal de la heurıstica PSO, ya que a traves de los mismos las partıculas son forzadas abuscar soluciones en las areas mas prometedoras del espacio de busqueda.

Mas especıficamente, en cada generacion o iteracion, la ubicacion de cada individuo opartıcula es afectado por el movimiento del mejor de toda la poblacion o del vecindario alque pertenezca. La trayectoria de las partıculas esta definida por la velocidad asociada a

Cinvestav Departamento de Computacion

Page 36: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

20 Capıtulo 1

Figura 1.9: Trayectoria de la partıcula ~x

cada una de ellas, y es la que regula la exploracion del espacio de busqueda. Cada partıcularecorre el espacio ayudada por dos valores adicionales: el mejor alcanzado por la partıculahasta el momento (pBest) y el mejor alcanzado por todas las partıculas de la poblacion(gBest o lBest si se consideran vecindarios). De esta manera se efectua una busqueda“guiada” por los espacios mas prometedores. Estos valores aseguran que el tamano de pasocon que se mueven las partıculas dentro del espacio sea variable, asegurando que las mismasno “caigan en una rutina”, es decir, que no se muevan siempre con el mismo paso. La figura1.9 ilustra la obtencion de la nueva posicion ~x′ como consecuencia de la suma de la velocidady los valores adicionales.

La ecuacion (1.1) muestra de manera mas formal como una partıcula se mueve desdeuna posicion del espacio de busqueda hasta otra, simplemente, anadiendo al vector posicion~xti el vector velocidad ~v

ti para obtener un nuevo vector posicion, en la generacion t:

~xt+1i ← ~xti + ~vti (1.1)

El vector velocidad de cada partıcula es modificado utilizando la velocidad anterior, uncomponente cognitivo o individual y un componente social. El modelo matematico resultantey que representa el corazon de esta heurıstica, viene representado por la siguiente ecuacion:

~vt+1i ← ~vti + φ1 · rnd1 ·

(

~pBestt

i − ~xti

)

+ φ2 · rnd2 ·(

~gti − ~xti

)

(1.2)

La ecuacion (1.2) actualiza el vector velocidad de cada partıcula i en cada generacion t.

El componente cognitivo esta modelado por el factor φ1 ·rnd1 ·(

~pBesti − ~xti

)

y representa la

distancia entre la posicion actual y la mejor conocida por esa partıcula, es decir, la decisionque tomara la partıcula influenciada por su propia experiencia a lo largo de su vida. Elcomponente social esta modelado por φ2 · rnd2 ·

(

~gi − ~xti

)

y representa la distancia entrela posicion actual y la mejor posicion del vecindario, es decir, la decision que tomara lapartıcula segun la influencia que el resto del cumulo ejerce sobre ella.

Cinvestav Departamento de Computacion

Page 37: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Conceptos Basicos 21

Figura 1.10: Ejemplo de la inicializacion del cumulo. Las partıculas se mueven a traves de un procesoiterativo.

1.3.4. Descripcion de la version basica

El cumulo se inicializa generando aleatoriamente las posiciones (ver figura 1.10) y lasvelocidades iniciales de las partıculas. Una vez generadas las posiciones, se calcula el valor de

la funcion objetivo de cada una y se actualizan los valores iniciales de ~xt y ~pBestt, en la ge-

neracion t = 0. El algoritmo 1.5 muestra una version basica de PSO [Eberhart et al., 2001],que puede usarse para minimizacion o maximizacion. Por conveniencia se representa la me-

jor partıcula del vecindario como ~gt, pudiendo ser esta ~gBestto ~lBest

tsi se consideran

vecindarios.

Algoritmo 1.5 Pseudocodigo del algoritmo de PSO basico

Entrada: Funcion a optimizarse f (~x).Salida: La mejor solucion encontrada.1: Iniciar el contador de generacion es t = 0.2: Iniciar aleatoriamente las posiciones ~xi y ~vi de las n partıculas del cumulo S.3: Evaluar la funcion objetivo con las posiciones ~xt.

4: Encontrar ~pBestt.

5: Encontrar ~gt.6: Mientras t < maxG Hacer7: Para i← 1 hasta size(S) Hacer8: Generar una nueva velocidad.

~vt+1i ← ~vti + φ1 · rnd1 ·

(

~pBestt− xti

)

+ φ2 · rnd2 ·(

~gt − ~xti)

9: Calcular las nuevas posiciones.~xt+1i ← ~xti + ~vt+1

i

10: Evaluar la funcion objetivo con las nuevas posiciones ~xt+1.

11: Encontrar ~pBestt.

12: Encontrar ~gt.13: t = t+ 1.14: Retornar La mejor solucion encontrada.

Cinvestav Departamento de Computacion

Page 38: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

22 Capıtulo 1

En este algoritmo se pueden observar dos partes importantes: la primera es la inicializa-cion del cumulo que asigna a cada partıcula de la poblacion un valor aleatorio. La segundaes la busqueda en la cual, el cumulo recorre el espacio de busqueda para hallar la mejorsolucion posible.

Siguiendo este proceso iterativo, se actualizan la velocidad y posicion con base en losvalores adicionales pBest y g; los valores de las funciones objetivo correspondientes a pBest yg son recalculados y estos se actualizan solo si se mejoraron con respecto a los valores previos.Existen dos maneras para actualizar los valores pBest y g: la primera es la forma sıncrona, esdecir, la actualizacion de los mejores valores encontrados se realiza en forma separada de laactualizacion de las posiciones de las partıculas. La otra forma es la actualizacion asıncrona,donde la unica diferencia es la ubicacion de las actualizaciones de los mejores individuos.El modelo asıncrono mantiene actualizadas instantaneamente a las mejores partıculas delcumulo, mientras que en la version sıncrona se realiza la actualizacion solo una vez poriteracion.

1.3.5. Topologıas del cumulo de partıculas

Un aspecto muy importante a considerar es la manera en la que una partıcula interaccio-na con las demas partıculas de su vecindario. El desarrollo de una partıcula depende tanto dela topologıa del cumulo como de la version del algoritmo. Las topologıas definen el entornode interaccion de una partıcula individual con su vecindario. La propia partıcula siemprepertenece a su entorno, y este puede ser de dos tipos (ver figura 1.11) [Eberhart et al., 2001]:

Geografico: se calcula la distancia de la partıcula actual al resto y se toman las mascercanas para componer su entorno.

Social: se define previamente una lista de vecinos para la partıcula, independiente-mente de su posicion en el espacio.

Todos los individuos pertenecientes a la misma estructura social comparten informacion,aprenden y siguen a los mejores dentro de su propia estructura. Por lo tanto, es posibleconfigurar varios tipos de topologıas o interacciones dentro de un entorno social del cumulo(ver figura 1.12):

Global (gBest o totalmente conectados) [Kennedy and Eberhart, 1995]: se esta-blece un vecindario global en el que toda partıcula es vecina de la totalidad del cumulofavoreciendo la explotacion del espacio de soluciones.

Local (lBest) [Kennedy and Eberhart, 1995]: se establece un vecindario local y cadapartıcula es conectada con sus vecinas inmediatas en el cumulo. Esta topologıa ofrecela ventaja de establecer subcumulos que realizan busquedas en diversas regiones delespacio del problema y de esta forma se favorece la exploracion.

Circular o Anular [Eberhart et al., 2001]: cada individuo esta conectado con sus nvecinos inmediatos, intentando imitar al mejor de ellos. En este tipo de estructura,cada vecindario facilita el intercambio de informacion y, de esta manera, converge auna unica solucion.

Cinvestav Departamento de Computacion

Page 39: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Conceptos Basicos 23

Figura 1.11: Ejemplo de entornos geograficos y sociales. Los entornos sociales son los mas empleados.Una vez defınido un entorno, es necesario definir su tamano; son habituales valores de 3 y 5 parael tamano del cumulo pues con esos valores, PSO suele tener un buen comportamiento. Obviamen-te, cuando el tamano es todo el cumulo de partıculas, el entorno es a la vez geografico y social,

obteniendose ası un PSO Global.

Cuadrada [Kennedy and Mendes, 2006]: se dispone el cumulo como una matriz rec-tangular, donde cada partıcula es conectada con las partıculas de manera toroidal.

Arcos aleatorios [Cagnina, 2010]: para n partıculas se asignan n conexiones simetri-cas entre pares de individuos. Como su nombre lo indica, las conexiones son asignadasde forma aleatoria entre las n partıculas.

Piramide [Cagnina, 2010] : la idea de esta topologıa es la creacion de una estructuratridimensional que comunique a las partıculas. Se asemeja a un modelo de alambretridimensional.

Vacıo [Reyes Sierra and Coello Coello, 2006]: se establece que las partıculas estanaisladas, es decir, cada partıcula esta conectada solo consigo misma.

Red estrella [Reyes Sierra and Coello Coello, 2006]: en esta topologıa una partıculaesta conectada a todas las demas. Las partıculas estan conectadas a una sola centralque tiene toda la informacion.

Arbol [Eberhart et al., 2001]: cada partıcula es influenciada por su mejor posicionhasta el momento y por la partıcula con la que se encuentre conectada por encima delarbol.

El objetivo de utilizar estructuras de vecindarios es evitar la convergencia prematura delalgoritmo hacia optimos locales. Esto es posible porque en una topologıa de vecindario, cadaindividuo es influenciado por el mejor valor objetivo encontrado por grupos mas pequenosde partıculas, y no por el mejor valor hallado por algun individuo de la poblacion entera.

Cinvestav Departamento de Computacion

Page 40: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

24 Capıtulo 1

Figura 1.12: (a) Topologıa circular. (b) Topologıa circular con conexiones variantes (c) Topologıade anillo. (d) Topologıa de rueda con conexiones variantes. (e) Topologıa de arcos aleatorios. (f)

Topologıa piramidal. (g) Topologıa cuadrada. (h) Topologıa toroidal.

1.3.6. Aspectos avanzados del algoritmo

Se han propuesto varias modificaciones a la version basica de PSO (ver algoritmo 1.5,pagina 21), de manera que se mejore la velocidad de convergencia y la calidad de las solu-ciones encontradas. A continuacion se describen brevemente algunas variantes del algoritmooriginal.

Control de velocidad

Un objetivo importante es lograr un balance entre la explotacion y exploracion delespacio de busqueda. En esta heurıstica la tarea recae en la velocidad de las partıculas. Si nose controla este elemento, podrıa suceder que las partıculas escapen del espacio de busquedadel problema, resultando esto en la divergencia de los individuos. Por este motivo es comunlimitar el crecimiento de la velocidad utilizando algun metodo [Eberhart et al., 1996]. El massimple es emplear un parametro de velocidad maxima (elegido dependiendo el problema),de manera que la actualizacion se efectua siguiendo la ecuacion (1.3) en vez de la (1.2):

~vti = ~vt+1i si ~vt+1

i < ~vmax

~vmax si ~vt+1i ≥ ~vmax

(1.3)

donde ~vti es la nueva velocidad, definida como: ~vt+1i (calculada con la ecuacion (1.2)) o

~vmax, dependiendo de la condicion. El valor de ~vmax nos permite controlar la granularidadde la busqueda escalando las velocidades. Valores grandes facilitan la exploracion del espa-cio, mientras que los valores mas chicos aseguran la explotacion, aunque si son demasiadopequenos podrıa convergerse a optimos locales.

Cinvestav Departamento de Computacion

Page 41: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Conceptos Basicos 25

Factor de Constriccion

El factor de Constriccion consta de un conjunto de ecuaciones lineales que derivan enla convergencia optima de las partıculas. En este modelo, la velocidad esta restringida poruna constante χ, con el objeto de asegurar la convergencia a un punto estable del espacio[Clerc, 1999]. La ecuacion (1.2) de velocidad se reemplaza por la (1.4).

~vt+1i = χ

(

~vti + φ1 · rnd1 ·(

~pBestt

i − ~xti

)

+ φ2 · rnd2 ·(

~gti − ~xti

)

)

(1.4)

donde el factor χ se define como lo muestra la ecuacion (1.5).

χ =2 ·K

|2− ϕ−√

ϕ (ϕ− 4)|(1.5)

siendo

ϕ = ϕ1 + ϕ2

ϕ ≥ 4

ϕ1 = φ1 · rnd1

ϕ2 = φ2 · rnd2

con K ∈ [0, 1]. El parametro K controla la exploracion y explotacion del cumulo. Paravalores de K cercanos a cero, se obtiene una rapida convergencia con explotacion local. Paravalores de K cercanos a uno, la convergencia se produce mas lentamente y se experimentaun grado mayor de exploracion.

Factor de Inercia

El factor de Inercia (ω) fue introducido por [Shi and Eberhart, 1998a] en la formula deactualizacion de la velocidad de las partıculas. Inicialmente fue utilizado como mecanismo decontrol de exploracion y explotacion del cumulo. Su objetivo es que la velocidad no excedalos lımites establecidos. El factor multiplica a la velocidad previa en la formula basica develocidad y, puede permanecer fijo o ser linealmente decrementado en cada generacion. Laecuacion (1.2) de velocidad se reemplaza por la (1.6), mientras que la de actualizacion deposiciones (ecuacion 1.1) permanece sin cambios en esta variante.

~vt+1i = ω · ~vti + φ1 · rnd1 ·

(

~pBestt

i − ~xki

)

+ φ2 · rnd2 ·(

~gti − ~xti

)

(1.6)

El valor de ω es importante para la convergencia del algoritmo. Para valores ω ≥ 1 lasvelocidades se van incrementando en cada ciclo de vuelo acelerando las partıculas al maximovalor permitido, lo que produce la divergencia del cumulo (incremento de la diversidad).Para valores ω < 1, las partıculas se desaceleran hasta velocidad casi cero (explotacion).Generalmente el mejor valor para ω es dependiente del problema [Shi and Eberhart, 1998b].

Cinvestav Departamento de Computacion

Page 42: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

26 Capıtulo 1

Modelos de configuracion

Se pueden obtener diferentes modelos atendiendo a diversos factores de configuracion,por ejemplo, segun la importancia de los pesos cognitivo y social, y segun el tipo de ve-cindario utilizado. Dependiendo de la influencia de los factores cognitivo y social (valoresφ1 y φ2 , respectivamente) sobre la direccion de la velocidad que toma una partıcula en elmovimiento, se identifican cuatro tipos de modelos [Kennedy, 1997]:

Modelo completo: φ1 > 0, φ2 > 0. Tanto el componente cognitivo como el socialintervienen en el movimiento.

Modelo cognitivo: φ1 > 0 y φ2 = 0. Unicamente el componente cognitivo intervieneen el movimiento.

Modelo social: φ1 = 0 y φ2 > 0. Unicamente el componente social interviene en elmovimiento.

Modelo social exclusivo: φ1 = 0, φ2 > 0 y ~g = ~xi. La posicion de la partıcula ensı no puede ser la mejor de su entorno.

Los factores cognitivo y social no son crıticos para la convergencia. Sin embargo, el valorcorrecto de estos factores da lugar a una convergencia mas rapida y a la reduccion de losmınimos locales. Existe evidencia que indica elegir un factor mas cognitivo (φ1) que unfactor social (φ2), con φ1 + φ2 < 4 [Clerc and Kennedy, 2002]. A continuacion, se hace unadescripcion de como extender el algoritmo PSO para problemas multi-objetivo.

1.3.7. Descripcion de la version multi-objetivo

Extender el algoritmo 1.5 para que resuelva problemas multi-objetivo, requiere un disenoque busca alcanzar tres metas [Padhye, 2009]:

Maximizar el mayor numero de elementos del conjunto de optimos de Pareto.

Minimizar la distancia entre las soluciones obtenidas por el algoritmo y el conjuntode optimos de Pareto.

Maximizar la dispersion de las soluciones encontradas, de modo que podamos teneruna distribucion lo mas uniforme posible.

La principal dificultad en extender PSO a una version multi-objetivo, es encontrar lamejor forma de seleccionar al lıder de cada partıcula en el cumulo. La dificultad radicaen que no hay una nocion clara sobre como definir cual es la mejor posicion alcanzadapor una partıcula hasta el momento (pBest), ası como la mejor posicion alcanzada poralguna partıcula de la poblacion (gBest o lBest si se consideran vecindarios) para el casode optimizacion multi-objetivo. En los problemas de optimizacion multi-objetivo, todaslas soluciones no dominadas son igualmente buenas, por lo que cualquiera de ellas puedeadoptarse como lıder. El algoritmo 1.6 muestra una estructura basica de un PSO extendidoa su version multi-objetivo, S es el cumulo y At es el archivo de las mejores soluciones enla generacion t.

Existen varias propuestas en la literatura para la seleccion del lıder, tanto para gBest

como para pBest . Las propuestas siguientes son las mas populares [Padhye, 2009]:

Cinvestav Departamento de Computacion

Page 43: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Conceptos Basicos 27

Algoritmo 1.6 Pseudocodigo del algoritmo PSO multi-objetivo

Entrada: Problema de Optimizacion.Salida: Soluciones no dominadas en un archivo acotado A.1: Iniciar contador de generaciones, t← 02: Iniciar contador (C ← 0) de partıculas no dominadas en el archivo A3: Iniciar aleatoriamente las posiciones ~x0i de la poblacion, donde i = 0, . . . , n.4: Iniciar la velocidad ~v0i = 0 de la poblacion, donde i = 0, . . . , n.5: Si la partıcula i no pertenece a la region de busqueda, se descarta, se muta y se calcula

nuevamente.6: Evaluar las n partıculas de la poblacion.7: Seleccionar el ~pBest inicial de las partıculas.8: Insertar las partıculas no dominadas de la poblacion en el archivo A0.9: Mientras t < maxG Hacer

10: Seleccionar un g.11: Calcular la nueva velocidad y posicion de cada partıcula en la poblacion.12: Para i← 1 hasta size(S) Hacer13: Generar una nueva velocidad

~vt+1i ← ω · ~vti + φ1 · rnd1 ·

(

~pBestt

i − ~xki

)

+ φ2 · rnd2 ·(

~gt − ~xki)

14: Calcular las nuevas posiciones~xt+1i ← ~xti + ~vt+1

i

15: Si la partıcula i no pertenece a la region de busqueda, se descarta, se muta y secalcula nuevamente.

16: Evaluar las n partıculas de la poblacion.17: Actualizar el ~pBest de las partıculas.18: Actualizar las partıculas no dominadas en el archivo At.19: t← t+ 1.20: Retornar Soluciones no dominadas en un archivo acotado A.

Cinvestav Departamento de Computacion

Page 44: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

28 Capıtulo 1

Seleccion basada en dominancia de Pareto: Existen tres metodos principalesde seleccion de lıderes basados exclusivamente en la dominancia de Pareto para laseleccion del mejor alcanzado por alguna partıcula de la poblacion (gBest). Ademas,estos metodos presentan una menor dependencia del “factor de turbulencia”:

• ROUNDS: es un tanto complejo y promueve explıcitamente la diversidad enla poblacion mediante la atraccion hacia las regiones escasamente pobladas. Losmiembros del archivo que dominan la menor cantidad de partıculas deben serasignados preferentemente como lıderes globales. Este metodo puede ser compu-tacionalmente costoso cuando el tamano del archivo se hace muy grande.

• RANDOM: es simple y promueve la convergencia. Por cada partıcula se buscanlos miembros en el archivo que lo dominan y se elige uno al azar. Si no existe, seelige aleatoriamente de entre cualquier elemento del archivo.

• PROB: es un metodo probabilıstico ponderado y forma un compromiso entrelas dos anteriores. Al igual que en RANDOM, se encuentran todos los miembrosdel archivo que dominan a cada partıcula. Para elegir un lıder se le asigna a lapartıcula una probabilidad de seleccion inversamente proporcional al numero departıculas que la dominan. En el caso de que la partıcula no este dominada porninguna otra, se selecciona al lıder aleatoriamente de entre todo el archivo.

Seleccion basada en Indicadores: en este metodo, se seleccionan individuos deacuerdo a su contribucion al hipervolumen. El hipervolumen se calcula para todo elarchivo y el miembro del archivo cuya contribucion del hipervolumen sea mayor eselegido como lıder. En el caso de que la partıcula no esta dominada por ninguno delos miembros del archivo, entonces no hay seleccion y el lıder se toma aleatoriamentedel archivo. El metodo es menos dependiente del factor de turbulencia (uso de unoperador de mutacion) y funciona muy bien tanto para la seleccion pBest como parala del gBest [Chang et al., 2005].

La literatura presenta varias formas de poder resolver problemas multi-objetivo utilizan-do un algoritmo de cumulo de partıculas, usando una topologıa totalmente conectada o conel uso de vecindarios. Por ejemplo, [Parsopoulos and Vrahatis, 2002] usan un enfoque queconsiste en combinar todos los objetivos del problema en uno solo, es decir, transformanun problema multi-objetivo en uno mono-objetivo. Otros como [Hu and Eberhart, 2002,Hu et al., 2003] clasifican a los objetivos en orden de importancia, es decir, operan co-menzando con el objetivo mas importante y luego procesan los objetivos restantes deacuerdo al orden establecido. Existen metodos que hacen uso de varias sub-poblacionescomo optimizadores de un solo objetivo. En este caso, las subpoblaciones de alguna mane-ra intercambian diferentes soluciones generadas por las sub-poblaciones que optimizan losobjetivos por separado [Mostaghim and Teich, 2004, Martınez and Coello, 2011]. La formamas comun de seleccionar al lıder es utilizar la dominancia de Pareto, cuya idea basicaes seleccionar como lıderes a las partıculas que son no dominadas con respecto al cumulo[Coello et al., 2004, Lechuga and Rowe, 2005]. Finalmente, otros autores consideran un en-foque de estrategias combinadas o utilizando una estrategia maximin para determinar ladominancia de Pareto [Mostaghim et al., 2007, Fu et al., 2011]. Tambien hay algoritmos quehacen uso de estrategias paralelas utilizando medidas de desempeno [Chang et al., 2005].

Cinvestav Departamento de Computacion

Page 45: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Conceptos Basicos 29

La mayorıa de estos algoritmos incorporan un esquema dinamico por el peso de la inerciaω, un archivo externo y un factor de turbulencia que es un operador de mutacion cuyoproposito es evitar la convergencia prematura a mınimos locales.

1.4. Hipervolumen

El descubrimiento de importantes beneficios del hipervolumen, a comparacion de otrosindicadores, ha llevado a los investigadores a buscar metodos mas eficientes de calcularlo,sobre todo cuando lidiamos con bastantes funciones objetivo. A continuacion se hace unadescripcion del hipervolumen y sus caracterısticas principales.

1.4.1. Indicador de hipervolumen

El hipervolumen es un indicador muy comun que se utiliza para medir y comparar lacalidad de las soluciones finales producidas por un algoritmo evolutivo. La metrica del hi-pervolumen fue propuesta originalmente por [Zitzler and Thiele, 1998], quienes lo definencomo “el tamano del espacio cubierto o del espacio dominado”. Hay algunos estudios queanalizan el uso de esta medida para la busqueda multi-objetivo y varios mas sobre meto-dos eficientes para el calculo del hipervolumen [Fonseca et al., 2006, Beume et al., 2009,Emmerich et al., 2005]

Definicion 1.10 (El indicador de hipervolumen). Dada Λ que denota la metrica de Lebesgueo metrica S, el hipervolumen es definido formalmente como [Coello et al., 2006]:

Ih (P) = S(P, yref ) = Λ

y∈P

y′| y ≺ y′ ≺ yref

,P ⊆ Rm

El hipervolumen se define como la medida de Lebesgue de la union de los hipercu-bos que estan limitados por algun punto de referencia yref , y las imagenes de y ∈ P[Zitzler et al., 2006]. Por ejemplo, para hacer el calculo del hipervolumen para dos funcio-nes objetivo, se define como el area de cobertura del Fconocido en relacion con el espacioobjetivo de dichas funciones. Esto equivale a la suma de todas las areas rectangulares, deli-mitadas por un punto de referencia (f1 (x) , f2 (x)) (ver figura 1.13). Matematicamente, sedescribe como [Coello et al., 2006]:

S(P, yref ) =⋃

i

voli| veci ∈ Fconocido

Este indicador tiene dos ventajas importantes, las cuales son [Zitzler et al., 2006]:

1. Es sensible a cualquier tipo de mejora, es decir, cuando se calcula el hipervolumen paraun conjunto A de soluciones, que domina a otro conjunto B de soluciones, entoncesel aporte del hipervolumen sera de mayor calidad para el primer conjunto que para elsegundo.

2. Como resultado de la primera propiedad, el hipervolumen garantiza que, cualquieraproximacion al conjunto A de soluciones que alcanza el valor maximo de calidadposible para un problema particular contiene todo el conjunto de optimos de Pareto.

Cinvestav Departamento de Computacion

Page 46: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

30 Capıtulo 1

Figura 1.13: (a) El hipervolumen que se centra en un punto de referencia dado. (b) El hipervolumenque se centra en un punto en el origen.

El principal inconveniente de este indicador, es que no existe ningun algoritmo quelo pueda calcular en tiempo polinomial, lo cual, limita un tanto su uso en la practica. Sinembargo, posee ciertas propiedades que lo hacen muy atractivo [Rodrıguez Villalobos, 2011]:

El hipervolumen es el unico indicador de calidad unario, que garantiza la monotonici-dad estricta con respecto a la relacion de dominancia de Pareto. Un conjunto P ∈ Rm

alcanza el valor maximo de hipervolumen si y solo si todos los puntos de a ∈ P sonoptimos de Pareto.

Se puede maximizar o minimizar, pero el punto de referencia debe ser escogido deacuerdo con las siguientes reglas:

• El punto de referencia debe ser menor o igual que el vector ideal para la minimi-zacion del hipervolumen.

• El punto de referencia debe ser mayor o igual que el vector Nadir para la maxi-mizacion del hipervolumen.

Este indicador no es invariante a la escala: es sensible a la eleccion del punto de refe-rencia. La eleccion del punto de referencia puede afectar el resultado del hipervolumen(ver figura 1.14) [Reehuis, 2010].

[Bringmann and Friedrich, 2008] han demostrado que el calculo del hipervolumen es#P -hard .

El calculo del hipervolumen requiere un espacio objetivo normalizado y positivo[Emmerich et al., 2005].

La pendiente del frente de Pareto determina los puntos que maximizan el hipervolu-men.

Cinvestav Departamento de Computacion

Page 47: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Conceptos Basicos 31

Figura 1.14: El valor relativo del hipervolumen depende de la eleccion del punto de referencia. Porejemplo, sean dos conjuntos no dominados. A = 1, 2, 3 y B = 4, 5, 6, se muestran sus imagenes enel espacio objetivo a, b, c y d, e, f. En (a) Ih (A) > Ih (B), mientras que en (b) Ih (A) < Ih (B).

Existen diversas propuestas para hacer el calculo de la metrica del hipervolumen. Porejemplo: [Beume, 2009] describe la forma de considerar la metrica S como un caso especialde un problema mas general llamado problema de la metrica de Klee. Para esta metrica

existe un algoritmo con tiempo de ejecucion O(n log(n)+nd2 log(n)), para n puntos con d ≥ 3

dimensiones. [Fonseca et al., 2006] propoponen un algoritmo con un tiempo de ejecucion deO(nd−2 · log(n)).

Otra propuesta la hacen [Yang and Ding, 2007], con un algoritmo que trabaja en untiempo de ejecucion O((d2 )

n) para un conjunto de n puntos incomparables. El algoritmo 1.7crea un hiper-cubo en d-dimensiones que dividen en secciones o hiper-rectangulos el espaciode los objetivos con algunos puntos de referencia, para posteriormente sumar los valores delas secciones directamente. Este algoritmo requiere de un conjunto de n puntos iniciales dedimension d obtenidos a lo largo de un hiper-cuboideH y de un conjunto de parametros, loscuales son: order, que es una matriz bidimensional que contiene todos los puntos dominadosordenados por cada dimension y los vectores split, splitCount y coveredCount que indicanlos puntos de corte en el espacio y los puntos visitados.

Las entradas del algoritmo son un conjunto de soluciones no dominadas y un punto dereferencia, por lo que los hiper-rectangulos se representan de forma implıcita. De hecho,cuando el hiper-cuboide se corta en dos hiper-retangulos, puede haber algunos puntos do-minados por el punto de referencia en la division cuboide mas grande. En este algoritmo noimporta si esos puntos se quitan o no.

Por otro lado, el uso de algoritmos que “aproximan” el calculo de hipervolumen, debenconsiderar que existe un compromiso entre la precision y la eficiencia al estimar el valor delhipervolumen en alta dimensionalidad [Braberman et al., 2007, Bader et al., 2008].

Este compromiso es aceptable, siempre y cuando los indicadores que aproximan el valordel hipervolumen, a pesar de la perdida de precision adoptada, siguen siendo capaces declasificar y comparar de forma fiable los conjuntos de soluciones [Bader and Zitzler, 2011].Se han desarrollado metodos de muestreo (o Monte Carlo) para aproximar el hipervolumen

Cinvestav Departamento de Computacion

Page 48: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

32 Capıtulo 1

Algoritmo 1.7 CalcV olume (H)

Entrada: Una poblacion P = y1, . . . , yn, donde Pi = (yi1, . . . , yid), un punto de referen-cia R = (r1, . . . , rn) y H = y1, . . . , yn, r

Salida: El valor del hipervolumen volume1: Si n = 1 Entonces2: Retornar

∏dj=1 |rj − y1j|

3: volume← 04: splitCount []⇐ n5: Para j ← 1, n Hacer6: ordenar y1j , . . . , ynj7: Para i=1,n Hacer8: order [i− 1] [j − 1]⇐ numero de puntos estrictamente dominados yij9: Para i← 1, n Hacer

10: coveredCount []⇐ 011: Para j ← 1, d Hacer12: coveredCount [order [i− 1] [j − 1]] + +13: Para k =← n− 1, 0 Hacer14: Si coveredCount [k] < splitCount [k] Entonces15: split← i16: splitCount []⇐ coveredCount []17: break18: Para j ← 1, d Hacer19: Si order [split− 1] [j − 1] > 0 Entonces20: H2⇐ 21: Para yi ∈ H\ ysplit, r Hacer22: Si yij es dominado estrictamente por ysplit,j Entonces23: H2⇐ H2 + yi24: yij ⇐ ysplit,j25: r2⇐ r26: r2 [j − 1]⇐ ysplit,j27: H2⇐ H2 + r228: volume← volumen+ CalcV olume (H2)29: volume← volumen +

∏dj=1 |rj − ysplit,j|

30: Retornar volume.

Cinvestav Departamento de Computacion

Page 49: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Conceptos Basicos 33

el cual ha demostrado ser un buen estimador, capaz de aumentar la precision conforme seaumenta el numero de puntos de la muestra [Everson et al., 2002].

1.4.2. Contribucion al hipervolumen

Es un valor que se basa en el indicador del hipervolumen, para obtener la contribucionde cada solucion al valor total en la maximizacion del hipervolumen teniendo en cuenta susvecinos en cada objetivo (ver figura 1.15). El algoritmo 1.8 muestra una forma de calcularla contribucion de cada solucion usando el algoritmo 1.7 del indicador del hipervolumen,excluyendo una solucion a la vez del valor total del hipervolumen. En este algoritmo deno-minamos con Ca a la contribucion al hipervolumen de a ∈ P. Sin embargo, la seleccion delconjunto optimo de µ soluciones implica el calculo de

(

)

contribuciones al hipervolumen,lo cual es muy costoso en tiempo (computacionalmente hablando).

Algoritmo 1.8 estimandoContribucion (P)

Entrada: Una poblacion P = y1, . . . , yn, donde Pi = (yi,1, . . . , yn,d), un punto de refe-rencia R = (r1, . . . , rn).

Salida: Contribucion al hipervolumen CP

1: C ⇐ 02: Mientras ∀a ∈ P Hacer3: Ca ← CalcV olume(P, r) − CalcV olume(P\a , R)4: Retornar C

En la literatura se pueden encontrar formas mas eficientes de hacer el calculo de lacontribucion al hipervolumen. Por ejemplo, [Bringmann and Friedrich, 2010] muestran unalgoritmo que calcula un conjunto λ de soluciones que menos contribuyen a la maximizaciondel hipervolumen en O(n

m2 log n + nλ), donde n es el numero de soluciones, m el numero

de objetivos y λ el numero de soluciones a descartar.

Otro metodo es descartar de forma iterativa a la poblacion con el menor aporte hasta untamano µ. [Bringmann and Friedrich, 2009] demuestran que este metodo puede dar lugar aun conjunto que no sea el optimo de acuerdo con la maximizacion del hipervolumen.

HypE es otro algoritmo basado en muestreo para aproximar las contribuciones al hiper-volumen de un conjunto de soluciones P. En HypE se utiliza el metodo de Monte Carlo,sosteniendo que en los problemas de optimizacion multi-objetivo, la importancia de losvalores de los indicadores reales es relativamente baja en comparacion con las solucionesdeducidas mediante el uso de hipervolumen [Bader and Zitzler, 2011]. Dada su importancia,HypE se discute a continuacion en mayor detalle.

1.4.3. HypE: Estimacion de la Contribucion del Hipervolumen

El algoritmo HypE aborda la cuestion de como calcular los valores de contribucion alhipervolumen para una poblacion P ∈ ψ. [Bader and Zitzler, 2011] proponen determinarlos valores de contribucion de a, denotada como Ck

h (a,P,R), para todos los elementos dea ∈ P con un punto fijo de referencia R de manera exacta (ver algoritmo 1.9). Este opera deacuerdo al principio de “hipervolumen por corte de objetivos”, el cual difiere de los metodosexistentes permitiendo: (i) considerar un conjunto de puntos de referencia R y (ii) obtenertodos los valores de contribucion de la poblacion P. La complejidad de tiempo de ejecucion

Cinvestav Departamento de Computacion

Page 50: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

34 Capıtulo 1

Figura 1.15: Contribucion al Hipervolumen

del peor caso es O(|P|d + d|P| log |P|), suponiendo que la poblacion ya esta ordenada entodas las dimensiones, denotando a d como la dimension de los objetivos.

El algoritmo 1.9 corta el espacio dominado de forma recusiva, devolviendo un valor deaptitud para cada a ∈ P correspondiente al par (a, v) donde v es el valor de contribucion dea. En cada nivel de recursion, se hace una exploracion a lo largo de un objetivo en especıfi-co, dado i con u∗ que representa la posicion actual de exploracion. El vector (z1, . . . , zd)contiene todas las posiciones de las dimensiones de la exploracion y en cada invocacion losvectores objetivo y los puntos de referencia son filtrados de acuerdo con estas posiciones, ytambien se pueden seleccionar las soluciones dominadas. Ademas, el volumen parcial V seactualiza antes de invocarlo recursivamente basado en la distancia a la posicion siguientede exploracion, por lo que en el nivel de recursion mas bajo (i = 0), la variable V contieneel hipervolumen de todos los objetivos. Se tiene en cuenta que la poblacion es un conjuntomultiple, es decir, puede contener soluciones duplicadas. Por lo tanto, todos los conjuntosen el algoritmo son multiples, donde k es el numero de soluciones a descartar (comunmentek = 1).

Debido a que el algoritmo 1.9 es viable solo para un numero reducido de objetivos,se utiliza el metodo de Monte Carlo que es conocido por ser facil de usar para resolverproblemas numericamente mediante el uso de numeros aleatorios. Dado que una de lasaplicaciones mas comunes del metodo de Monte Carlo es el calculo de integrales, este esuna buena opcion para estimar el hipervolumen. El algoritmo 1.10 muestra una forma deaproximar el valor de la contribucion al hipervolumen para una poblacion P.

Para este proposito, se define un espacio de muestreo S ⊆ Z. Las muestras se tomandentro de una caja delimitada por un conjunto de puntos, es decir:

S = (z1, . . . , zd) ∈ Z| 1 ≤ i ≤ d : li ≤ zi ≤ ui

donde li =mına∈P fi (a) y ui =max

(r1,...,rd)∈Rri, para 1 ≤ i ≤ d, por lo que, el volumen V del

espacio de muestreo de S esta definido por V =∏d

i=1max 0, ui − li .

Cinvestav Departamento de Computacion

Page 51: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Conceptos Basicos 35

Algoritmo 1.9 hypeExact (P, R, k, i, V, (z1, . . . , zd)). Calculo exacto de la contribucion delHipervolumen

Entrada: P = y1, . . . , yn, donde Pi = (yi,1, . . . , yn,d) , Γ =⋃

a∈P (a, 0), un punto dereferencia R = (r1, . . . , rn), un parametro k ∈ N

Salida: Contribucion del hipervolumen CP

1: Se filtran las soluciones relevantes AU ←⋃

(a,v)∈Γ,∀i<j≤d:fj(a)≤zjf (a)

2: Se filtran los puntos de referencia UR ←⋃

(r1,...,rd)∈R,∀i<j≤d:rj≥zj(r1, . . . , rd)

3: Si i = 0 ∧ UR ! = 0 Entonces4: α←

∏|AU |−1j=1 (k − j) / (|Γ | − j).

5: Γ′

← 06: Para (a, v) ∈ Γ Hacer7: Si ∀1 ≤ j ≤ d : fj (a) ≤ zj Entonces

8: Γ′

← Γ′

∪(

a, v + α|Au|· V)

9: Sino10: Se actualiza el hipervolumen de las soluciones filtradas

Γ′

← Γ′

∪ (a, v)11: Sino12: Si i > 0 Entonces13: Γ

← Γ14: U ← AU ∪ UR

Continua la recursion15: Mientras U

! = ∅ Hacer16: u∗ ← min(u1,...,ud)∈Uui

17: U′

← (u1, . . . , ud) ∈ U |ui > u∗Se analiza la dimension actual en forma ascendente

18: Si U ′ ! = ∅ Entonces19: V

= V ·((

min(u′

1,...,u

d)∈U′u

i

)

− u∗)

20: Γ′

← hypeExact(

Γ′

, R, k, i− 1, V′

, (z1, . . . , zi−1, u∗, zi+1, . . . , zd)

)

21: U ← U′

22: C ← Γ′

23: Retornar C

Cinvestav Departamento de Computacion

Page 52: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

36 Capıtulo 1

Algoritmo 1.10 hypeSampling (P, R, k, i, V, (z1, . . . , zd) ,M). Estimando el calculo de lacontribucion del Hipervolumen

Entrada: P = y1, . . . , yn, donde Pi = (yi,1, . . . , yn,d), un punto de referencia R =(r1, . . . , rn), un parametro k ∈ N y un numero de muestras M ∈ N

1: Para i← 1, n Hacer2: li ← mina∈Pfi (a)3: Ui ← max(r1....,rd)∈Rri4: S ← [l1, u1]× . . .× [ld, ud]5: V ←

∏di=1max 0, (ui, li)

6: Γ ←⋃

a∈P (a, 0)7: Para j ← 1,m Hacer8: elegir s ∈ S aleatoriamente9: Si ∃r ∈ R : s ≤ r Entonces

10: AU ←⋃

a∈P,f(a)≤s f (a)11: Si |AU | ≤ k Entonces

12: α←∏|AU |−1

l=1k−l|P|−l

13: Γ′

← 014: Para (A,V ) ∈ F Hacer15: Si f (a) ≤ s Entonces

16: Γ′

← Γ′

∪(

a, v + α|AU | ·

Vm

)

17: Sino18: Γ

← Γ′

∪ (a, v)19: Γ

← Γ20: C = Γ

21: Retornar C

Cinvestav Departamento de Computacion

Page 53: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Conceptos Basicos 37

La manera de hacerlo es seleccionar al azar de manera uniforme varios objetivos (s1, . . . , sm)de la caja de muestreo S. Para cada sj se comprueba si existe dentro de algun par Ii (a,P,R),con 1 ≤ i ≤ k. Esto se hace en dos pasos: en primer lugar, se verifica que sj este por debajodel conjunto de referencia R, es decir, si existe r ∈ R, que este dominado por sj; en segundolugar, se verifica que en el conjunto P exista algun miembro que domine a sj . Si ambascondiciones se cumplen, entonces el punto de muestreo sj se encuentra en todas las partesIi (a,P,R) donde i = |P| y a ∈ P. Esta situacion se denota como un acierto del par i dea ∈ P y si alguna de las dos condiciones anteriores no se cumplen, se considera un fallo.

Denotan a X(i,a)j como una variable aleatoria que toma valor igual a 1 en el caso de un

acierto de sj con respecto al par i y 0 en caso contrario. Basandose en los m puntos demuestreo, se estima el valor de Ci (a,P,R) simplemente contando el numero de aciertosy multiplicandlo por el volumen de la caja de muestreo, lo que se expresa de la siguientemanera:

Ii (a,P,R) =

∑mj=1X

(i,a)

m· V

De alguna manera esta tecnica aprovecha el valor exacto del hipervolumen, incremen-tando m por un numero muy grande. Por lo que, los autores proponen utilizar la siguienteformula para estimar la contribuciones:

Ci (a,P,R) =k∑

i=1

αi

i

(

∑mj=1X

(i,a)

m· V

)

donde αi =∏i−1

l=1k−l|P|−l .

Cinvestav Departamento de Computacion

Page 54: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

38 Capıtulo 1

Cinvestav Departamento de Computacion

Page 55: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Capıtulo 2

Algoritmo MOPSO-hv

En este capitulo se describe el algoritmo de cumulo de partıculas multi-objetivo propues-to en este trabajo de tesis. Dicho algoritmo tiene un mecanismo de seleccion basado en lacontribucion al hipervolumen y adopta un operador de turbulencia. El algoritmo propuesto,se denomino multi-objective particle swarm optimizer based on hypervolume (MOPSOhv).

Descripcion del algoritmo

La idea principal de nuestro algoritmo es mantener un cumulo de partıculas, cuyassoluciones sean las mejores posibles de todo el espacio de busqueda. En este, se estableceun vecindario global (gBest) del cual se escoge (desde un archivo que contiene las mejoressoluciones encontradas hasta el momento), como la mejor, a la partıcula que contribuye masal valor del hipervolumen, a fin de favorecer la explotacion del espacio de soluciones. Parabeneficiar la exploracion en el espacio de busqueda, se utiliza un operador de turbulenciael cual tambien busca prevenir la convergencia prematura, debido a que algunos problemasde optimizacion multi-objetivo son multi-frontales. Siguiendo el algoritmo 1.6 (ver pagina27) se tiene el algoritmo 2.1, utilizando la siguiente notacion:

tamS : es el tamano de la poblacion principal.

tamA: es el tamano de la poblacion secundaria o del archivo A.

dim: es e numero de objetivos del problema.

maxGen: es el numero maximo de generaciones.

t: es el contador del numero de iteraciones o generaciones.

nd: es el contador de partıculas no dominadas en el archivo.

S: contiene a la poblacion o cumulo principal, donde S = si,k con i = 1, . . . , tamS yk = 1, . . . , dim.

A: contiene a la poblacion secundaria o del archivo, dondeA = aj,k con j = 1, . . . , tamA

y k = 1, . . . , dim.

~l, ~u: son los intervalos inferior y superior del problema de optimizacion multi-objetivo,donde ~l = l1, · · · , ldim y ~u = u1, · · · , udim.

39

Page 56: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

40

v: contiene la velocidad de todas las partıculas en el cumulo, donde v = vi,k coni = 1, . . . , tamS y k = 1, . . . , dim.

p: contiene el valor objetivo de todas las partıculas en el cumulo, donde p = pi,k coni = 1, . . . , tamS y k = 1, . . . , dim.

~w: contiene a la partıcula que menos contribuye al valor hipervolumen de la poblacionsecundaria, ~w = w1, · · · , wtamS

.

F : es el problema de optimizacion multi-objetivo, donde F = f1, · · · , fk con k =1, · · · , dim.

~C: contiene el valor de la contribucion al hipervolumen de todas las partıculas delcumulo S, donde ~C = C1, · · · , CtamS

.

~ref : contiene el punto de referencia para hacer el calculo del hipervolumen, donde~ref = ref1, · · · , refdim.

Algoritmo 2.1 Algoritmo PSO multi-objetivo basado en Hipervolumen

Entrada: Problema de Optimizacion.Salida: Soluciones no dominadas en un archivo acotado A.1: Inicializar el contador de generaciones con t = 0.2: Inicializar aleatoriamente las posiciones y la velocidad del cumulo S.3: Reintegrar las partıculas que no pertenezcan a la region de busqueda.4: Evaluar las partıculas del cumulo S.5: Seleccionar el pBest inicial de las partıculas.6: Insertar las partıculas no dominadas de la poblacion en el archivo A.7: Mientras t < maxGen Hacer8: Calcular las contribuciones al hipervolumen del cumulo S

Calcular la nueva velocidad y posicion de cada partıcula en la poblacion.9: Para i = 1 hasta tamS Hacer

10: Seleccionar un gBest conforme a una porcion de los mejores (por ejemplo 5%).Se ordena el archivo de manera descendiente de acuerdo a su contribucion alhipervolumen.

11: Generar una nueva velocidad~vt+1i = ω · ~vti + φ1 · rnd1 ·

(

~pBestt

i − ~Sti

)

+ φ2 · rnd2 ·(

~gBest− ~Sti

)

12: Calcular las nuevas posiciones~St+1i = ~St

i + ~vt+1i

13: Reintegrar las partıculas que no pertenezcan a la region de busqueda.14: Aplicar el operador de mutacion.15: Evaluar las partıculas del cumulo S.16: Actualizar el pBest de las partıculas.17: Actualizar las partıculas no dominadas en el archivo A.18: t = t+ 1.19: Retornar A.

A continuacion se hace una descripcion mas detallada del algoritmo 2.1:

Cinvestav Departamento de Computacion

Page 57: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Algoritmo MOPSO-hv 41

1. Inicializar la poblacion:

Inicializar el contador de generaciones con t = 0.

Inicializar el contador de partıculas no dominadas con nd = 0

Inicializar el punto de referencia:

ref t = (01, 02, . . . , 0k)

Inicializar los valores de la poblacion de manera aleatoria. Todas las partıcu-las i en cada objetivo j, se inicializan con un valor aleatorio en el vecindariodeterminado por l y u.

Sti,k = Random(l, u)

Calcular velocidad inicial. Todas las partıculas i y en todos los objetivos k, ini-cializan su velocidad en cero.

vti,k = 0

Evaluar todas las partıculas de la poblacion inicial St. Se evaluan o se obtienenlos valores objetivo de todas las partıculas i en cada objetivo k.

pti,k = F(

Sti,k

)

Almacenar el pBest inicial de todas las partıculas del cumulo. Se copian todaslas partıculas i del cumulo en el pBest inicial.

pBestt = St

2. Almacenar las soluciones no dominadas encontradas en St en el archivo A.

Determinar la factibilidad y la no dominacia de una partıcula i.

Si el archivo esta vac]ıo, se almacena la partıcula i. De lo contrario, se verificasi la partıcula i es factible y si no es dominada por alguna otra partıcula yaalmacenada en A. Todas las soluciones dominadas por la nueva solucion soneliminadas.

Si la partıcula es factible y no es dominada por alguna otra, entonces esta sealmacena.

3. Actualizar gBest.

Actualizar el punto de referencia como:

ref t =(

maxi∈S S1, . . . ,

max Sdim

)

+ δ

Si se encuentra un valor peor que ref t−1 se actualiza el punto de referencia.

Calcular la contribucion al hipervolumen de cada partıcula i en el archivo A:Para hacer el calculo de la contribucion al hipervolumen, se utiliza el algoritmo1.8 (ver pagina 33) que hace uso de la metrica del hipervolumen (ver figura 2.1).

Cinvestav Departamento de Computacion

Page 58: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

42

Figura 2.1: Ejemplo para calcular la contribucion para D utilizando el algoritmo 1.8. La contribuconde D es igual a la diferencia entre el volumen total calculado con D y el volumen sin D.

Se hace notar, sin embargo, que este algoritmo es muy costoso en tiempo, por loque se decidio mejor hacer uso del algoritmo de HypE para hacer el calculo dela contribucion al hipervolumen (figuras 2.2, 2.3 y 2.4).

Para realizar la contrinucion al hypervolumen se utiliza el algoritmo 2.2: Si dim <3, entonces, se hace el calculo de la contribucion al hipervolumen utilizando elalgoritmo (exacto) 1.9 (ver pagina 35). De lo contrario, se hace uso del algoritmo1.10 (ver pagina 36), que aproxima la contribucion al hipervolumen (con unnumero de muestras igual a m = 10000), usando cero como intervalo inferior yel peor valor del punto de referencia como intervalo superior.

Algoritmo 2.2 Calcular la contribucion de las partıculas de la poblacion

1: Si dim < 3 Entonces2: hypeExact(C, tamA, ref, 1, S)3: Sino4: m = 100005: hypeSampling(C, tamA, 0,

max ref ,m, 1, S)6: Retornar C.

Ordenar a la poblacion en el archivo A de manera descendiente conforme a sucontribucion al hipervolumen.

Encontrar la partıcula w, cuyo valor es el que menos contribuye al hipervolumen.

a) Para cada partıcula i del cumulo S, se hace lo siguiente:

Cinvestav Departamento de Computacion

Page 59: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Algoritmo MOPSO-hv 43

0 100 200 300 400 500 600 700 800 900 10000

0.1

0.2

0.3

0.4

0.5

0.6

0.7Ejemplo de tiempo para dos dimensiones

generaciones

segu

ndos

MOPSOhv usando metricaMOPSOhv usando hype

Figura 2.2: Tiempo requerido en dos obje-tivos por el algoritmo 2.1 usando la metricacompleta y el algoritmo Hype en las primeras

mil generaciones.

1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 20000

50

100

150

200

250

300

350

400

450

generaciones

segu

ndos

MOPSOhv usando metricaMOPSOhv usando hype

Figura 2.3: Tiempo requerido en dos ob-jetivos por el algoritmo 2.1 usando lametrica completa y el algoritmo Hype

despues de mil generaciones.

0 5 10 15 20 25 30 35 40 45 500

50

100

150

200

250

300

350

generaciones

segu

ndos

MOPSOhv usando metricaMOPSOhv usando hype

Figura 2.4: Tiempo requerido en tres ob-jetivos por el algoritmo 2.1 usando lametrica completa y el algoritmo Hype

en las primeras 50 generaciones.

Cinvestav Departamento de Computacion

Page 60: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

44

Figura 2.5: Un conjuto de soluciones no dominadas ordenadas de manera descendente conforme asu contribucion al hipervolumen.

Actualizar la velocidad y la posicion.

Seleccionar aleatoriamente el mejor guıa global (gBest) para la partıculaPi de un porcentaje p de las mejores partıculas de la poblacion secundaria,la cual es ordenada de manera descendente confome a su contribucion alhipervolumen (en nuestro caso, p = 0.01 del porcentaje de la poblacionsecundaria actual). En la figura 2.5 se muestra un ejemplo de como ordenarla poblacion del archivo de manera descendente conforme a su contribucional hipervolumen.

Actualizar velocidad.Se utiliza la ecuacion (1.2) (ver pagina 20) para actualizar la velocidad decada partıcula i del cumulo S. Para acelerar la convergencia se hace uso deun factor de inercia ω = 0.4, por tanto, la ecuacion utilizada es la (1.6) (verpagina 25). Finalmente, la ecuacion queda de la siguiente manera:

vt+1i,k = ω · vti,k + φ1 · rnd1 ·

(

pBestti − Sti,k

)

+ φ2 · rnd2 ·(

gBest− Sti,k

)

,

donde φ1 = φ2 = 1, rnd1 = Random(0, 1) y rnd2 = Random(0, 1). Cadapartıcula es evaluada en cada objetivo k.

Actualizar posicion.Se utiliza la ecuacion (1.1) (ver pagina 20) para actualizar la posicion de cadapartıcula i en cada objetivo k. La ecuacion queda de la siguiente manera:

St+1i,k = St

i,k + vt+1i,k

Cinvestav Departamento de Computacion

Page 61: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Algoritmo MOPSO-hv 45

Si la partıcula i se sale de la region de busqueda, entonces, hay que reinte-grarla utilizando los lımites de busqueda correspondientes al problema. Semultiplica la velocidad de la partıcula i por −1 para cambiar la direccion debusqueda.

La mutacion es una parte importante para favorecer la explotacion del es-pacio de busqueda. Se aplica el factor de turbulencia si se cumple que t esmenor a maxGen · pMuta.El algoritmo de cumulos de partıculas tiene una alta velocidad de convergen-cia. Sin embargo, esta elevada velocidad de convergencia puede ser perjudicialen el contexto de optimizacion multi-objetivo, debido a que puede conver-gerse a un falso frente de Pareto (es decir, el equivalente de un optimo localen la optimizacion global). Para ello, introdujimos el operador de mutacionque se muentra en el algoritmo 2.3 [Coello et al., 2004].

Algoritmo 2.3 Operador de Mutacion

Entrada: Partıcula Si para mutar, dim el numero de dimensiones, maxGen el numeromaximo de generaciones, pMuta la probabilidad de mutacion y t la generacion actual.

Salida: Partıcula Si mutada.

1: Si flip(

(1− t/maxGen)5/pMuta

)

Entonces

2: wdim = random(0, dim− 1)

3: rango = (uwdim − lwdim) · (1− t/maxGen)5/pMuta

4: ub = Si,wdim + rango5: lb = Si,wdim + rango6: Si lb < lwdim Entonces7: lb = lwdim

8: Si ub > uwdim Entonces9: ub = uwdim

10: Si,wdim = random (lb, ub)11: Retornar Si

b) Evaluar todas las partıculas de la poblacion St. Se evaluan los valores de todaslas partıculas i en cada funcion objetivo k.

pti,k = F(

Sti,k

)

c) Actualizar las soluciones no dominadas en At.

Se insertan todas las soluciones no dominadas de St en At, solo si las so-luciones no son dominadas por alguna ya almacenada. Todas las solucionesdominadas por la nueva solucion son eliminadas del archivo.

Si el archivo A ya esta lleno, es decir, nd > tamA. Las soluciones son reem-plazadas conforme al siguiente criterio: se hace uso del algoritmo 1.10 queaproxima la contribucion (de la misma forma que el paso 3). Se reemplazala partıcula w, que es la que menos contribuye, con la nueva partıcula. Secalcula la contribucion y se encuentra otra vez a la partıcula w.

d) Actualizar el pBest de cada partıcula i en cada dimension k.

Cinvestav Departamento de Computacion

Page 62: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

46

Una forma de realizarlo es si el actual pBesti es mejor que el almacenado enmemoria, entonces se actualiza el pBestt, de la siguiente manera:

pBestti,k = Sti,k

Siguiendo esta topologıa no se tiene una buena interaccion con las demas partıcu-las para generar buenas soluciones. Por lo tanto, se decidio actualizar el pBestt

utilizando la poblacion secundaria (sin considear el porcentaje p de las mejorespartıculas de esta poblacion), es decir, solo se comparte informacion de un por-centaje r de partıculas que pertenecen a las mejores soluciones generadas hastael momento, las cuales seran utlizadas en el entorno social del algoritmo (paranuestro caso r = 1). El pBestt se actualiza de acuerdo al algoritmo 2.4.

Algoritmo 2.4 Actualizar pBestt

1: nttop = ((tamA − 1) · r)2: top = ((tamA − 1) · p)3: Para cada partıcula i hasta tamS Hacer4: j = RandomInt(top+ 1, nttop)5: pBestti = At

j

6: Retornar pBestt.

e) Incrementar el contador de generaciones en uno.

t = t+ 1

f ) Si no se cumple el criterio de paro, retornar al paso 3.

4. Retornar al cumulo con la aproximacion al frente de Pareto.

Cinvestav Departamento de Computacion

Page 63: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Capıtulo 3

Evaluacion del algoritmo propuesto

y resultados

En este capıtulo se presenta la evaluacion experimental del algoritmo desarrollado eneste trabajo de tesis. La evaluacion se realizo utilizando un conjunto diverso de problemasmulti-objetivo que reunen diferentes caracterısticas que causan dificultades a un algoritmoevolutivo multi-objetivo. El estudio experimental descrito en este capıtulo esta dividido entres partes: la primera parte muestra los resultados para el conjunto de problemas ZDT(Zitzler-Deb-Thiele), la segunda muestra los resultados para el conjunto de problemas deDTLZ (deb-Thiele-Laumanns-Zitzler). Finalmente, la tercera y ultima parte muestra losresultados de escalabilidad. Los resultados se contrastan con las soluciones obtenidas porlos algoritmos NSGA-II (the Nondominated Sorting Genetic Algoritm -II ), SMS-EMOA(Multi-objective Selection based on Dominated Hypervolume) y MOPSOcd (Multi-objectiveParticle Swarm Optimizer based on Crowding Distance).

Parametros

Los parametros utilizados para generar las soluciones de los algoritmos MOPSOhv yMOPSOcd se muentran en la tabla 3.1. Se uso un factor de inercia ω = 0.4 y constantessociales ϕ1 = ϕ2 = 1.

Generaciones Poblacion Mutacion

MOPSOhv 1200 100 0.5

MOPSOcd 1200 100 0.5

Tabla 3.1: Parametros para los algoritmos de cumulos de partıculas

Los parametros utilizados para generar las soluciones del NSGA-II se muestran en latabla 3.2. Los parametros utilizados para generar las soluciones del SMS-EMOA se muestranen la tabla 3.3.

47

Page 64: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

48

Generaciones 1200

Poblacion 100

Cruza 0.9

Mutacion 1~x

Tabla 3.2: Parametros de NSGA-II

Generaciones 1200

Poblacion 100

ηc = ηm 20

Mutacion 1~x

Tabla 3.3: Parametros de SMS-EMOA

El codigo esta implementado en lenguaje C y la evaluacion del conjunto diverso deproblemas multi-objetivo se realizaron en una computadora portatil con las siguientes ca-racterısticas: un procesador Intel(R) Core(TM)2 Duo CPU T5800 a 2.00GHz, 4 Gb deMemoria RAM, un disco duro de 320 Gb y un sistema operativo Ubuntu 12.04.1 LTS de 64bits.

El uso de una sola metrica difıcilmente puede reflejar el desempeno global de un al-goritmo evolutivo multi-objetivo. Algunas metricas miden la convergencia del algoritmo alfrente de Pareto real, otras la distribucion y la diversidad de las soluciones. En este ca-so necesitamos evaluarlo considerando varias metricas simultaneamente. Sin embargo, lametricas evaluan dos objetivos en conflicto (la convergencia y la diversidad). Si los valoresde las metricas de un algoritmo dominan a las de otro, entonces podemos afirmar que elprimero es mejor que el segundo. En otro caso, no podemos concluir nada acerca de los dosalgoritmos. Las metricas que se utilizaran para evaluar la eficacia son el espaciamiento paraevaluar la distribucion; y la distancia generacional invertida, la cobertura de dos conjuntosy el indicador del hipervolumen para evaluar la convergencia. La definicion formal de lasmetricas utilizadas se muestran en la seccion 1.2.1 en la pagina 9.

Cinvestav Departamento de Computacion

Page 65: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Evaluacion del algoritmo propuesto y resultados 49

3.1. Conjunto de problemas ZDT

Estos problemas estan disenados poniendo enfasis en algunas de las caracterısticas quecausan dificultades para un algoritmo evolutivo multi-objetivo. Estos problemas tienenuna misma estructura y consisten de tres funciones, F , g y h, se describe a continuacion[Zitzler et al., 2000]:

Minimizar F = (f1(x1), f2(x2))

Sujeto a f2(x) = g(x2, . . . , xm) · h(f1(x1), g(x2, . . . , xm)),

donde x = (x1, . . . , xm)

La funcion f1 depende solamente de la primera variable de decision, g es una funcion delas m− 1 variables restantes, y los parametros de h son los valores de las funciones f1 y g.

La funcion de prueba ZDT1 tiene un frente de Pareto convexo:

f1(x) = x1

f2(x, g(x)) = g(x) ·

(

1−

f1g(x)

)

g(x) = 1 +9

n− 1·

n∑

i=2

xi

donde n = 30 y xi ∈ [0, 1] con i = 1, . . . , n. El frente de Pareto real se forma cong(x) = 1 (figura 3.1).

La funcion de prueba ZDT2 tiene un frente de Pareto concavo:

f1(x) = x1

f2(x, g(x)) = g(x) · (1−

(

f1g(x)

)2

)

g(x) = 1 +9

n− 1·

n∑

i=2

xi

donde n = 30 y xi ∈ [0, 1] con i = 1, . . . , n. El frente de Pareto real se forma cong(x) = 1 (figura 3.2).

La funcion de prueba ZDT3 tiene un frente de Pareto discontinuo y convexo:

f1(x) = x1,

f2(x, g) = g(x) ·

(

1−

f1(x)

g(x)−f1(x)

g(x)sen(10 · π · f1(x))

)

g(x) = 1 +9

n− 1·

n∑

i=2

xi

Cinvestav Departamento de Computacion

Page 66: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

50 Capıtulo 3

donde n = 30 y xi ∈ [0, 1] con i = 1, . . . , n. El frente de Pareto real se forma cong(x) = 1. La funcion seno en h produce una discontinuidad en el frente de Pareto. Sinembargo, no hay discontinuidad en el espacio de las variables de decision (figura 3.3).

La funcion de prueba ZDT4 tiene 219 frentes locales, lo que pone a prueba la habilidadde un algoritmo para lidiar con problemas multifrontales:

f1(x) = x1,

f2(x, g(x)) = g(x) ·

(

1−

f1(x)

g(x)

)

,

g(x) = 1 + 10 · (n− 1) +

n∑

i=2

(x2i − 10 · cos(4 · π · xi))

donde n = 10, x1 ∈ [0, 1] y xi ∈ [−5, 5] con i = 2, . . . , n. El frente de Pareto real seforma con g(x) = 1 (figura 3.4).

La funcion de prueba ZDT6 tiene un espacio de busqueda no uniforme:

f1(x) = 1− e(−4·x1) · sen6(6 · π · x1),

f2(x, g(x)) = g(x) · (1−

(

f1g(x)

)2

),

g(x) = 1 + 9 ·

[∑ni=2

9

]0.25

donde n = 10, x1 ∈ [0, 1] y xi ∈ [−5, 5] con i = 2, . . . , n. El frente de Pareto real seforma con g(x) = 1. Este problema tiene una baja densidad en las soluciones cercadel frente de Pareto real y una alta densidad lejos del mismo (figura 3.5).

Cinvestav Departamento de Computacion

Page 67: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Evaluacion del algoritmo propuesto y resultados 51

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Frente de Pareto ZDT 1

f1

f2

Figura 3.1: Frente de Pareto verdadero de ZDT1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Frente de Pareto ZDT 2

f1

f2

Figura 3.2: Frente de Pareto verdadero de ZDT2

Cinvestav Departamento de Computacion

Page 68: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

52 Capıtulo 3

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1Frente de Pareto ZDT 3

f1

f2

Figura 3.3: Frente de Pareto verdadero de ZDT3

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Frente de Pareto ZDT 4

f1

f2

Figura 3.4: Frente de Pareto verdadero de ZDT4

Cinvestav Departamento de Computacion

Page 69: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Evaluacion del algoritmo propuesto y resultados 53

0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Frente de Pareto ZDT 6

f1

f2

Figura 3.5: Frente de Pareto verdadero de ZDT6

3.2. Evaluacion del conjunto de problemas ZDT

La comparacion de los resultados de cada algoritmo se realizo con los valores promedioobtenidos por cada metrica. El punto de referencia utilizado en cada caso para el indicadordel hipervolumen se muestra en la tabla 3.4.

Los resultados obtenidos para los primeros tres problemas ZDT son similares para amayoria de los resultados. Donde el SMS-EMOA resulta ganador en la mayor parte de lasmetricas convergencia seguido por nuestra propuesta (MOPSOhv), como se muestra en lastablas 3.5, 3.6 y 3.7. Sin embargo, nuestra propuesta dominada a las soluciones del NSGA-IIy MOPSOcd excepto al SMS-EMOA, de acuerdo a la metrica de cobertura.

Conforme a estos resultados se tiene una jerarquıa en orden descendente en terminos deconvergencia en estos primeros tres problemas:

1. SMS-EMOA

2. MOPSOhv

3. NSGA-II

4. MOPSOcd

En estos problemas puede verse que, se tienen dos casos especiales (ZDT4 y ZDT6).El problema ZDT4 tiene un frente de Pareto que es altamente multifrontal el cual

consiste en 219 frentes de Paretos locales. Nuestra propuesta (MOPSOhv) no es capaz degenerar buenas soluciones del frente quedando rezagado ligeramente por el SMS-EMOA y elNSGA-II (como muestra la tabla 3.8). Sin embargo, obtiene, en general, mejores resultadosen la metrica de cobertura las soluciones obtenidas por el SMS-EMOA y marginalmentepeores que los del NSGA-II. Los resultados grficas obtenidas por el algoritmo MOPSOcd

Cinvestav Departamento de Computacion

Page 70: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

54 Capıtulo 3

Problema Punto de referencia

ZDT1 (1.1, 1.1)

ZDT2 (1.1, 1.1)

ZDT3 (1.1, 1.1)

ZDT4 (0.9, 1.1)

ZDT6 (1.1, 1.1)

Tabla 3.4: Puntos de referencia utilizados para el conjunto de problemas ZDT

muestran que queda atrapado en un frente de Pareto local, por lo que, nuestra propuestaes mejor.

Los resultados graficos de las figuras 3.1, 3.2 y 3.3 muestran que el SMS-EMOA se dis-tribuye mejor en la mayoria de esto problemas seguido por nuestra propuesta (MOPSOhv).En la figura 3.4 muestra como el MOPSOcd queda atrapado en un frete de Pareto local.

El problema ZDT6 presenta un espacio de busqueda no uniforme. Los resultados obte-nidos por nuestra propuesta (MOPSOhv) son ligeramente superados por los obtenidos porel SMS-EMOA y el NSGA-II. Debido a la baja densidad de las soluciones obtenidas por elalgoritmo MOPSOcd como se muestra en la figura 3.5 no es capaz de alcanzar una buenaaproximacion al frente de Pareto real, por lo que, nuestra propuesta es mejor.

Conforme a estos resultados se tiene una jerarquıa en orden descendente en terminos deconvergencia en estos ultimos dos problemas:

1. NSGA-II

2. SMS-EMOA

3. MOPSOhv

4. MOPSOcd

En general, las soluciones obtenidas por nuestra propuesta (MOPSOhv), para el conjuntode problemas ZDT, quedan entre las soluciones obtenidas por SMS-EMOA y el NSGA-II,y siendo mejores que las soluciones obtenidas por el MOPSOcd.

Los resultados se muestran de la siguiente forma: el color negro para el mejor valor, elcolor azul para el segundo, el color verde para el tercero y el color rojo para la peor valorde las metricas.

Cinvestav Departamento de Computacion

Page 71: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Evaluacion del algoritmo propuesto y resultados 55

EspaciadoAlgoritmo Menor Mayor Promedio Desviacion

MOPSOhv 0.003157 0.004218 0.003524 0.000305MOPSOcd 0.006072 0.007475 0.006962 0.000362NSGA-II 0.005950 0.007813 0.007020 0.000447SMS-EMOA 0.001840 0.002976 0.002320 0.000270

DGI

MOPSOhv 0.017011 0.017021 0.017014 0.000003MOPSOcd 0.017092 0.017240 0.017173 0.000036NSGA-II 0.017008 0.017021 0.017011 0.000003SMS-EMOA 0.017008 0.017010 0.017009 0.000001

Hipervolumen

MOPSOhv 0.871620 0.871991 0.871849 0.000095MOPSOcd 0.861718 0.868142 0.864645 0.001562NSGA-II 0.870107 0.871006 0.870461 0.000206SMS-EMOA 0.872115 0.872134 0.872129 0.000006

Cobertura

Algoritmo MOPSOhv MOPSOcd NSGA-II SMS-EMOA

MOPSOhv — 0.722500 0.074500 0.000001MOPSOcd 0.000001 — 0.005500 0.000001NSGA-II 0.022500 0.618000 — 0.013500SMS-EMOA 0.028500 0.762500 0.053500 —

Tabla 3.5: Resultados correspondientes al problema ZDT1.

La convergencia y la distribucion de las soluciones de nuestra propuesta (MOPSOhv) esbuena para este problema, seguido por el SMS-EMOA que presenta la mejor convergencia ydistribucion (como se muestra en la tabla 3.5). Conforme a estos resultados se puede crearuna jerarquıa en orden descendente en terminos de convergencia del conjunto de solucionesproximas al frente de Pareto real:

1. SMS-EMOA

2. MOPSOhv

3. NSGA-II

4. MOPSOcd

Tambien, se observa que en las soluciones de nuestra propuesta dominan a las solucionesdel NSGA-II y MOPSOcd, y siendo superado por las soluciones del SMS-EMOA.

Cinvestav Departamento de Computacion

Page 72: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

56 Capıtulo 3

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.2

0.4

0.6

0.8

1

1.2

1.4Frente de Pareto obtenido por MOPSOcd en ZDT1

f1

f2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.2

0.4

0.6

0.8

1Frente de Pareto obtenido por MOPSOhv en ZDT1

f1

f2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.2

0.4

0.6

0.8

1Frente de Pareto obtenido por NSGA−II en ZDT1

f1

f2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.2

0.4

0.6

0.8

1Frente de Pareto obtenido por SMS−EMOA en ZDT1

f1

f2

Figura 3.6: Resultados graficos correspondientes al problema ZDT1.

Cinvestav Departamento de Computacion

Page 73: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Evaluacion del algoritmo propuesto y resultados 57

EspaciadoAlgoritmo Menor Mayor Promedio Desviacion

MOPSOhv 0.004345 0.005129 0.004679 0.000217MOPSOcd 0.006054 0.007826 0.007014 0.0005170NSGA-II 0.006027 0.008074 0.006956 0.000610SMS-EMOA 0.002167 0.004664 0.004063 0.000543

DGI

MOPSOhv 0.027389 0.027394 0.027391 0.000001MOPSOcd 0.027462 0.027521 0.027497 0.000015NSGA-II 0.027386 0.027389 0.027387 0.000001SMS-EMOA 0.027386 0.027387 0.027386 0.000000

Hipervolumen

MOPSOhv 0.538426 0.538666 0.538568 0.000058MOPSOcd 0.530732 0.534137 0.532098 0.000882NSGA-II 0.537163 0.537699 0.537424 0.000148SMS-EMOA 0.538808 0.538879 0.538872 0.000015

Cobertura

Algoritmo MOPSOhv MOPSOcd NSGA-II SMS-EMOA

MOPSOhv — 0.637500 0.044000 0.000500MOPSOcd 0.000001 — 0.003500 0.000500NSGA-II 0.036500 0.589500 — 0.017500SMS-EMOA 0.026500 0.665000 0.034000 —

Tabla 3.6: Resultados correspondientes al problema ZDT2.

La convergencia y la distribucion de las soluciones de nuestra propuesta (MOPSOhv) esbuena para este problema, seguido por el SMS-EMOA que presenta la mejor convergencia ydistribucion (como se muestra en la tabla 3.6). Conforme a estos resultados se puede crearuna jerarquıa en orden descendente en terminos de convergencia del conjunto de solucionesproximas al frente de Pareto real:

1. SMS-EMOA

2. MOPSOhv

3. NSGA-II

4. MOPSOcd

Tambien, se observa que en las soluciones de nuestra propuesta dominan a las solucionesdel NSGA-II y MOPSOcd, y siendo superado por las soluciones del SMS-EMOA.

Cinvestav Departamento de Computacion

Page 74: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

58 Capıtulo 3

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.2

0.4

0.6

0.8

1

1.2

1.4Frente de Pareto obtenido por MOPSOcd en ZDT2

f1

f2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.2

0.4

0.6

0.8

1

1.2

1.4Frente de Pareto obtenido por MOPSOhv en ZDT2

f1

f2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.2

0.4

0.6

0.8

1Frente de Pareto obtenido por NSGA−II en ZDT2

f1

f2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.2

0.4

0.6

0.8

1Frente de Pareto obtenido por SMS−EMOA en ZDT2

f1

f2

Figura 3.7: Resultados graficos correspondientes al problema ZDT2.

Cinvestav Departamento de Computacion

Page 75: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Evaluacion del algoritmo propuesto y resultados 59

EspaciadoAlgoritmo Menor Mayor Promedio Desviacion

MOPSOhv 0.005672 0.006958 0.006248 0.000328MOPSOcd 0.007001 0.008605 0.007656 0.000425NSGA-II 0.006809 0.009101 0.007875 0.000565SMS-EMOA 0.001994 0.002563 0.002209 0.000165

DGI

MOPSOhv 0.011174 0.011219 0.011198 0.000012MOPSOcd 0.011389 0.011604 0.011492 0.000064NSGA-II 0.011140 0.011184 0.011166 0.000016SMS-EMOA 0.019892 0.019894 0.019892 0.000001

Hipervolumen

MOPSOhv 0.952055 0.953776 0.952907 0.000452MOPSOcd 0.936835 0.946304 0.941991 0.002510NSGA-II 0.953544 0.954219 0.953912 0.000145SMS-EMOA 0.522460 0.522466 0.522464 0.000001

Cobertura

Algoritmo MOPSOhv MOPSOcd NSGA-II SMS-EMOA

MOPSOhv — 0.637500 0.044000 0.000500MOPSOcd 0.000001 — 0.003500 0.000500NSGA-II 0.036500 0.589500 — 0.017500SMS-EMOA 0.026500 0.665000 0.034000 —

Tabla 3.7: Resultados correspondientes al problema ZDT3.

La convergencia y la distribucion de las soluciones de nuestra propuesta (MOPSOhv)es buena para este problema, seguido por el NSGA-II que presenta la mejor convergenciay el SMS-EMOA presenta la mejor distribucion (como se muestra en la tabla 3.7). Confor-me a estos resultados se puede crear una jerarquıa en orden descendente en terminos deconvergencia del conjunto de soluciones proximas al frente de Pareto real:

1. NSGA-II

2. MOPSOhv

3. MOPSOcd

4. SMS-EMOA

Tambien, se observa que en las soluciones de nuestra propuesta dominan a las solucionesdel NSGA-II y MOPSOcd, y siendo superado por las soluciones del SMS-EMOA.

Cinvestav Departamento de Computacion

Page 76: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

60 Capıtulo 3

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9−1

−0.5

0

0.5

1

1.5Frente de Pareto obtenido por MOPSOcd en ZDT3

f1

f2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9−1

−0.5

0

0.5

1

1.5Frente de Pareto obtenido por MOPSOhv en ZDT3

f1

f2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9−1

−0.5

0

0.5

1Frente de Pareto obtenido por NSGA−II en ZDT3

f1

f2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.90

0.2

0.4

0.6

0.8

1Frente de Pareto obtenido por SMS−EMOA en ZDT3

f1

f2

Figura 3.8: Resultados graficos correspondientes al problema ZDT3.

Cinvestav Departamento de Computacion

Page 77: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Evaluacion del algoritmo propuesto y resultados 61

EspaciadoAlgoritmo Menor Mayor Promedio Desviacion

MOPSOhv 0.004345 0.005129 0.004679 0.000217MOPSOcd 0.006054 0.007826 0.007014 0.000517NSGA-II 0.007089 0.009201 0.008052 0.000616SMS-EMOA 0.002105 0.002981 0.002492 0.000240

DGI

MOPSOhv 0.027389 0.027394 0.027391 0.000001MOPSOcd 0.027462 0.027521 0.027497 0.000015NSGA-II 0.017008 0.017016 0.017011 0.000002SMS-EMOA 0.017008 0.017030 0.017011 0.000004

Hipervolumen

MOPSOhv 0.328865 0.329046 0.328971 0.000052MOPSOcd 0.323038 0.325624 0.324090 0.000668NSGA-II 0.653158 0.654108 0.653614 0.000237SMS-EMOA 0.654266 0.655054 0.654940 0.000165

Cobertura

Algoritmo MOPSOhv MOPSOcd NSGA-II SMS-EMOA

MOPSOhv — 1.000000 0.022500 0.033000MOPSOcd 0.000500 — 0.000001 0.000001NSGA-II 0.004000 1.000000 — 0.024500SMS-EMOA 0.000001 0.991000 0.001000 —

Tabla 3.8: Resultados del problema ZDT4.

La multimodalidad de ZDT4 causa dificultad a nuestra propuesta (MOPSOhv) paraconverger de manera optima, como se muestra en la tabla 3.8. Sin embargo, presenta unabuena distribucion de las soluciones quedando despues del SMS-EMOA. Nuestra propuestaes superada por el SMS-EMOA y NSGA-II y conforme a estos resultados se puede crearuna jerarquıa en orden descendente en terminos de convergencia del conjunto de solucionesproximas al frente de Pareto real:

1. NSGA-II

2. SMS-EMOA

3. MOPSOhv

4. MOPSOcd

Tambien, se observa que en las soluciones de nuestra propuesta dominan a las solucionesde los otros algoritmos.

Cinvestav Departamento de Computacion

Page 78: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

62 Capıtulo 3

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 12.5

3

3.5

4

4.5

5Frente de Pareto obtenido por MOPSOcd en ZDT4

f1

f2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.2

0.4

0.6

0.8

1Frente de Pareto obtenido por MOPSOhv en ZDT4

f1

f2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.2

0.4

0.6

0.8

1

1.2

1.4Frente de Pareto obtenido por NSGA−II en ZDT4

f1

f2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.2

0.4

0.6

0.8

1

1.2

1.4Frente de Pareto obtenido por SMS−EMOA en ZDT4

f1

f2

Figura 3.9: Resultados graficos correspondientes al problema ZDT4.

Cinvestav Departamento de Computacion

Page 79: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Evaluacion del algoritmo propuesto y resultados 63

EspaciadoAlgoritmo Menor Mayor Promedio Desviacion

MOPSOhv 0.001587 0.002728 0.001975 0.000324MOPSOcd 0.042774 0.294482 0.115691 0.053160NSGA-II 0.005925 0.007914 0.007055 0.000437SMS-EMOA 0.000256 0.001011 0.000603 0.000181

DGI

MOPSOhv 0.027380 0.027549 0.027434 0.000046MOPSOcd 0.000281 0.000281 0.000281 0.000000NSGA-II 0.017011 0.027398 0.026356 0.003115SMS-EMOA 0.027390 0.027397 0.027395 0.000002

Hipervolumen

MOPSOhv 0.496939 0.54493 0.512122 0.002083MOPSOcd 0.156527 0.479775 0.383107 0.076527NSGA-II 0.480422 0.870700 0.519667 0.117011SMS-EMOA 0.503836 0.504173 0.503956 0.000093

Cobertura

Algoritmo MOPSOhv MOPSOcd NSGA-II SMS-EMOA

MOPSOhv — 0.127778 0.000001 0.000001MOPSOcd 0.059000 — 0.025500 0.019000NSGA-II 0.037500 0.645500 — 0.011000SMS-EMOA 0.138889 0.850000 0.009000 —

Tabla 3.9: Resultados correspondientes al problema ZDT6.

El espacio de los objetivos para ZDT6 muestra una densidad no uniforme causa dificultada nuestra propuesta (MOPSOhv) para converger de manera optima, como se muestra en latabla 3.9. Sin embargo, presenta una buena distribucion de las soluciones quedando despuesdel SMS-EMOA y superando al MOPSOcd, ya que este no es capaz de alcanzar una buenaaproximacion al frente de Pareto real. Nuestra propuesta es superada por el SMS-EMOA yNSGA-II y conforme a estos resultados se puede crear una jerarquıa en orden descendenteen terminos de convergencia del conjunto de soluciones proximas al frente de Pareto real:

1. NSGA-II

2. SMS-EMOA

3. MOPSOhv

4. MOPSOcd

Tambien, se observa que en las soluciones de nuestra propuesta dominan a las solucionesdel MOPSOcd y siendo superado por las soluciones de manera ligera por el NSGA-II y SMS-EMOA.

Cinvestav Departamento de Computacion

Page 80: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

64 Capıtulo 3

0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

1

2

3

4

5

6

7Frente de Pareto obtenido por MOPSOcd en ZDT6

f1

f2

0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.2

0.4

0.6

0.8

1Frente de Pareto obtenido por MOPSOhv en ZDT6

f1

f2

0.4 0.5 0.6 0.7 0.8 0.9 10

0.2

0.4

0.6

0.8

1Frente de Pareto obtenido por NSGA−II en ZDT6

f1

f2

0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.2

0.4

0.6

0.8

1Frente de Pareto obtenido por SMS−EMOA en ZDT6

f1

f2

Figura 3.10: Resultados graficos correspondientes al problema ZDT6.

Cinvestav Departamento de Computacion

Page 81: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Evaluacion del algoritmo propuesto y resultados 65

3.3. Conjunto de problemas DTLZ

Los problemas siguientes son parte de la serie de problemas DTLZ con tres funcionesobjetivo, tal y como se describen a continuacion [Deb et al., 2002]:

La funcion de pruebaDTLZ1 tiene un frente de Pareto lineal, separable y multimodal:

f1(x) =1

2· x1 · x2 · . . . · xM−1 · (1 + g(x))

f2(x) =1

2· x1 · x2 · . . . · (1− xM−1) · (1 + g(x))

...

fM(x) =1

2· (1− x1) · (1 + g(x))

g(x) = 100 · [k +n∑

i=M

(xi − 0.5)2 − cos(20 · π · (xi − 0.5))]

donde n =M +k−1 (se sugiere una k = 5) y xi ∈ [0, 1] con i = 1, . . . , n (figura 3.11).

La funcion de prueba DTLZ2 tiene un frente de Pareto concavo:

f1(x) = cos(x1π

2) · cos(x2

π

2) · . . . · cos(xM−1

π

2) · (1 + g(x))

f2(x) = cos(x1π

2) · cos(x2

π

2) · . . . · sen(xM−1

π

2) · (1 + g(x))

f3(x) = cos(x1π

2) · cos(x2

π

2) · . . . · sen(xM−2

π

2) · (1 + g(x))

...

fM−1(x) = cos(x1π

2) · sen(x2

π

2)(1 + g(x))

fM(x) = sen(x1π

2) · (1 + g(x))

g(x) =∑

i

= (xi − 0.5)2

donde n = M + k − 1 (se sugiere una k = 10) y xi ∈ [0, 1] con i = 1, . . . , n. Esteproblema se puede utilizar para investigar la escalabilidad (figura 3.12).

Cinvestav Departamento de Computacion

Page 82: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

66 Capıtulo 3

La funcion de prueba DTLZ3 tiene un frente de Pareto concavo y multimodal:

f1(x) = cos(x1π

2) · cos(x2

π

2) · . . . · cos(xM−1

π

2) · (1 + g(x))

f2(x) = cos(x1π

2) · cos(x2

π

2) · . . . · sen(xM−1

π

2) · (1 + g(x))

f3(x) = cos(x1π

2) · cos(x2

π

2) · . . . · sen(xM−2

π

2) · (1 + g(x))

...

fM−1(x) = cos(x1π

2) · sen(x2

π

2) · (1 + g(x))

fM(x) = sen(x1π

2) · (1 + g(x))

g(x) = 100 · [k +n∑

i=M

(xi − 0.5)2 − cos(20 · π · (xi − 0.5))]

donde n = M + k − 1 (se sugiere una k = 10) y xi ∈ [0, 1] con i = 1, . . . , n. La formadel frente de Pareto de este problema es similar al del problema DTLZ2 (figura 3.12).

La funcion de prueba DTLZ4 tiene un frente de Pareto concavo, separable y multi-modal:

f1(x) = cos(xα1π

2) · cos(xα2

π

2) · . . . · cos(xαM−1

π

2) · (1 + g(x))

f2(x) = cos(xα1π

2) · cos(xα2

π

2) · . . . · sen(xαM−1

π

2) · (1 + g(x))

f3(x) = cos(xα1π

2) · cos(xα2

π

2) · . . . · sen(xαM−2

π

2) · (1 + g(x))

...

fM−1(x) = cos(xα1π

2) · sen(xα2

π

2) · (1 + g(x))

fM(x) = sen(xα1π

2) · (1 + g(x))

g(x) =∑

i

(xi − 0.5)2

donde n = M + k − 1 (se sugiere una k = 10 y α = 100) y xi ∈ [0, 1] con i =1, . . . , n. Este problema prueba la habilidad de mantener una buena distribucion delas soluciones. La forma del frente de Pareto de este problema es similar al del problemaDTLZ2 (figura 3.12).

La funcion de prueba DTLZ5 tiene un frente de Pareto curvo:

Cinvestav Departamento de Computacion

Page 83: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Evaluacion del algoritmo propuesto y resultados 67

f1(x) = cos(θ1π

2) · cos(θ2

π

2) · . . . · cos(θM−1

π

2) · (1 + g(x))

f2(x) = cos(θ1π

2) · cos(θ2

π

2) · . . . · sen(θM−1

π

2) · (1 + g(x))

f3(x) = cos(θ1π

2) · cos(θ2

π

2) · . . . · sen(θM−2

π

2) · (1 + g(x))

...

fM−1(x) = cos(θ1π

2) · sen(θ2

π

2) · (1 + g(x))

fM(x) = sen(θ1π

2) · (1 + g(x))

θ1 =π

2x1

θi =π

4 · (1 + g(x))(1 + 2 · g(x) · xi),para i = 2, 3 . . . , (M − 1)

g(x) =

n∑

i

(xi − 0.5)2

donde n = M + k − 1 (se sugiere una k = 10) y xi ∈ [0, 1] con i = 1, . . . , n (figura3.13).

La funcion de prueba DTLZ6 tiene un frente de Pareto curvo:

f1(x) = cos(θ1π

2) · cos(θ2

π

2) · . . . · cos(θM−1

π

2) · (1 + g(x))

f2(x) = cos(θ1π

2) · cos(θ2

π

2) · . . . · sen(θM−1

π

2) · (1 + g(x))

f3(x) = cos(θ1π

2) · cos(θ2

π

2) · . . . · sen(θM−2

π

2) · (1 + g(x))

...

fM−1(x) = cos(θ1π

2) · sen(θ2

π

2) · (1 + g(x))

fM(x) = sen(θ1π

2) · (1 + g(x))

θ1 =π

2x1

θi =π

4(1 + g(x))(1 + 2 · g(x) · xi),para i = 2, 3 . . . , (M − 1)

g(x) =n∑

i

= (xi − 0.5)0.1

donde n = M + k − 1 (se sugiere una k = 10) y xi ∈ [0, 1] con i = 1, . . . , n (figura3.14).

La funcion de prueba DTLZ7 tiene un frente de Pareto discontinuo:

Cinvestav Departamento de Computacion

Page 84: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

68 Capıtulo 3

00.1

0.20.3

0.40.5

00.1

0.20.3

0.40.5

0

0.1

0.2

0.3

0.4

0.5

f1

Frente de Pareto DTLZ 1

f2

f3

Figura 3.11: Frente de Pareto verdadero de DTLZ1

f1(x) = x1

f2(x) = x2...

fM−1(x) = xM−1

fM (x) = (1 + g(xM )) · h(f1, f2, . . . , fM−1g(x))

g(x) = 1 +9

n∑

i=2

xi

h(f1, f2, . . . , fM−1g(x)) =M −M−1∑

i=1

(fi

1 + g(x)(1 + sen (3 · π · fi)))

donde n = M + k − 1 (se sugiere una k = 20) y xi ∈ [0, 1] con i = 1, . . . , n. Esteproblema prueba la habilidad de mantener individuos en las diferentes regiones delfrente de Pareto (figura 3.15).

Cinvestav Departamento de Computacion

Page 85: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Evaluacion del algoritmo propuesto y resultados 69

00.2

0.40.6

0.81

0

0.2

0.4

0.6

0.8

1

0

0.2

0.4

0.6

0.8

1

f1

Frente de Pareto DTLZ 2

f2

f3

Figura 3.12: Frente de Pareto verdadero de DTLZ2

0

0.2

0.4

0.6

0.8 0

0.2

0.4

0.6

0.80

0.2

0.4

0.6

0.8

1

f2

Frente de Pareto DTLZ 5

f1

f3

Figura 3.13: Frente de Pareto verdadero de DTLZ5

Cinvestav Departamento de Computacion

Page 86: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

70 Capıtulo 3

0

0.2

0.4

0.6

0.8 0

0.2

0.4

0.6

0.80

0.2

0.4

0.6

0.8

1

f2

Frente de Pareto DTLZ 6

f1

f3

Figura 3.14: Frente de Pareto verdadero de DTLZ6

00.2

0.40.6

0.81 0

0.20.4

0.60.8

12

3

4

5

6

f2

Frente de Pareto DTLZ 7

f1

f3

Figura 3.15: Frente de Pareto verdadero de DTLZ7

Cinvestav Departamento de Computacion

Page 87: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Evaluacion del algoritmo propuesto y resultados 71

3.4. Evaluacion del conjunto de problemas DTLZ

Para calcular la metrica del hipervolumen se utiliza como punto de referencia el mostradoen la tabla 3.10.

Los resultados obtenidos por nuestra propuesta (MOPSOhv) para los problemas DTLZ1,DTLZ3 y DTLZ6 son mejores que los obtenidos por el MOPSOcd, ya que las soluciones denuestra propuesta, segun la metrcia de cobertura, dominan completamente las solucionesarrojadas por MOPSOcd. Sin embargo, los resultados de nuestra propuesta son malos encomparacion con los obtenidos por SMS-EMOA y NSGA-II, los cuales obtuvieron solucionesque dominan completamente a las nuestras como se muestra en las tablas 3.11, 3.13 y 3.16.

Conforme a estos resultados se tiene una jerarquıa en orden descendente en terminos deconvergencia en estos primeros tres problemas:

1. NSGA-II

2. SMS-EMOA

3. MOPSOhv

4. MOPSOcd

El problema DTLZ4 presenta un frente de Pareto concavo. En la la figura 3.19 se mues-tran como los resultados obtenidos por nuestra propuesta (MOPSOhv) se distribuyen hacialos extremos del frente de Pareto, lo que causa tener una menor cobertura sobre este y cau-sando que el valor en la metrica del hipervolumen sea menor que los otros algoritmos. Sinembargo, las soluciones dominan a las soluciones de los demas algoritmos como se muestraen la tabla 3.14.

El problema DTLZ5 presenta un frente de Pareto curvo. DTLZ5 se considera un proble-ma facil, ya que su espacio de busqueda presenta sesgo hacia soluciones cercanas al frentede Pareto verdadero. La figura 3.20 muestra que los resultados son similares para todos losalgoritmos. Sin embargo, nuestras soluciones (MOPSOhv) dominan a las soluciones de losdemas algoritmos excepto por las de SMS-EMOA como se muestra en la tabla 3.15.

El problema DTLZ7 presenta un frente de Pareto con regiones discontinuas. Los resul-tados de nuestra propuesta (MOPSOhv) son similares que los de los algoritmos NSGA-IIy MOPSOcd. Sin embargo, nuestras soluciones son dominadas por las obtenidas por SMS-EMOA (tabla 3.17). La figura 3.22 muestra como las soluciones se concentran en una partedel frente de Pareto.

Conforme a estos resultados se tiene una jerarquıa general en orden descendente enterminos de convergencia para DTLZ4, DTLZ5 y DTLZ7 problemas:

1. NSGA-II

2. SMS-EMOA

3. MOPSOhv

4. MOPSOcd

Cinvestav Departamento de Computacion

Page 88: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

72 Capıtulo 3

Problema Punto de referencia

DTLZ1 (1.1, 1.1, 1.1)

DTLZ2 (1.1, 1.1, 1.1)

DTLZ3 (5.0, 5.0, 5.0)

DTLZ4 (1.1, 1.1, 1.1)

DTLZ5 (1.1, 1.1, 1.1)

DTLZ6 (1.1, 1.1, 1.1)

DTLZ7 (1.1, 1.1, 7.0)

Tabla 3.10: Puntos de referencia utilizados para el conjunto de problemas DTLZ

Cinvestav Departamento de Computacion

Page 89: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Evaluacion del algoritmo propuesto y resultados 73

EspaciadoAlgoritmo Menor Mayor Promedio Desviacion

MOPSOhv 0.026239 0.184637 0.081790 0.045829MOPSOcd 0.531066 1.547502 0.974734 0.295577NSGA-II 0.015203 0.023959 0.019360 0.002384SMS-EMOA 0.005793 0.012914 0.006947 0.001461

DGI

MOPSOhv 0.000617 0.035965 0.013359 0.011381MOPSOcd 0.145461 0.462595 0.269641 0.080597NSGA-II 0.000540 0.003699 0.001261 0.001148SMS-EMOA 0.005777 0.011575 0.006088 0.001259

Hipervolumen

MOPSOhv 0.000000 1.290672 0.838140 0.351522MOPSOcd 0.000000 0.000000 0.000000 0.000000NSGA-II 1.244198 1.297406 1.270538 0.016839SMS-EMOA 1.123310 1.305100 1.295857 0.039586

Cobertura

Algoritmo MOPSOhv MOPSOcd NSGA-II SMS-EMOA

MOPSOhv — 0.964500 0.000000 0.000000MOPSOcd 0.000000 — 0.000000 0.000000NSGA-II 0.838500 0.977500 — 0.039000SMS-EMOA 0.771000 0.911500 0.000000 —

Tabla 3.11: Resultados correspondientes al problema DTLZ1.

La multimodalidad de DTLZ1 causa dificultad a nuestra propuesta (MOSPSOhv) paraconverger de manera optima, como se muestra en la tabla 3.11. En la grafica 3.16 se muestraque el MOPSOcd no tiene una buena convergencia al frente de Pareto y no muestra unabuena distribucion de las soluciones, por lo que nuestra propuesta se mantienen arribade este. Sin embargo, nuestra propuesta es superada por el SMS-EMOA y NSGA-II yconforme a estos resultados se puede crear una jerarquıa en orden descendente en terminosde convergencia del conjunto de soluciones proximas al frente de Pareto real:

1. NSGA-II

2. SMS-EMOA

3. MOPSOhv

4. MOPSOcd

Cinvestav Departamento de Computacion

Page 90: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

74 Capıtulo 3

0510152025

0 5 10 15 20 25

0

5

10

15

20

25

f1

Frente de Pareto obtenido por MOPSOcd en DTLZ1

f2

f3

00.1

0.20.3

0.40.5

00.2

0.40.6

0.8

0

0.2

0.4

0.6

0.8

f1

Frente de Pareto obtenido por MOPSOhv en DTLZ1

f2

f3

00.10.20.30.40.5

0 0.1 0.2 0.3 0.4 0.5

0

0.05

0.1

0.15

0.2

f1

Frente de Pareto obtenido por NSGA−II en DTLZ1

f2

f3

00.2

0.40.6

0.8

00.2

0.40.6

0.8

0

0.1

0.2

0.3

0.4

0.5

f1

Frente de Pareto obtenido por SMS−EMOA en DTLZ1

f2

f3

Figura 3.16: Resultados graficos correspondientes al problema DTLZ1.

Cinvestav Departamento de Computacion

Page 91: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Evaluacion del algoritmo propuesto y resultados 75

EspaciadoAlgoritmo Menor Mayor Promedio Desviacion

MOPSOhv 0.031912 0.087823 0.056173 0.012780MOPSOcd 0.042795 0.064965 0.052077 0.005154NSGA-II 0.043968 0.065239 0.055460 0.005003SMS-EMOA 0.040210 0.047397 0.042716 0.001942

DGI

MOPSOhv 0.000421 0.003117 0.000806 0.000611MOPSOcd 0.000353 0.000430 0.000383 0.000022NSGA-II 0.000354 0.000437 0.000380 0.000018SMS-EMOA 0.005000 0.005000 0.005000 0.000000

Hipervolumen

MOPSOhv 0.477781 0.695914 0.626972 0.046583MOPSOcd 0.637661 0.700693 0.669615 0.019100NSGA-II 0.676094 0.709199 0.697212 0.007736SMS-EMOA 0.757997 0.758163 0.758091 0.000047

Cobertura

Algoritmo MOPSOhv MOPSOcd NSGA-II SMS-EMOA

MOPSOhv — 0.225500 0.009000 0.000000MOPSOcd 0.000000 — 0.001500 0.000000NSGA-II 0.001000 0.296000 — 0.010000SMS-EMOA 0.003000 0.444000 0.006000 —

Tabla 3.12: Resultados correspondientes al problema DTLZ2.

En el problema DTLZ2 se observa que en nuestra propuesta (MOPSOhv) no tiene unadistribucion de las soluciones, lo que causa que existan espacios grandes en la aproximacional frente de Pareto, como se observa en la figura 3.17, lo que causa que no se tenga unamayor cobertura del frente de Pareto, por lo tanto, el valor de la metrica del hipervolumendisminuya, como se observa en la tabla 3.12. Esto se debe, a que nuestra propuesta utilizauna metrica que aproxima las contribuciones al hipervolumen para reemplazar soluciones enel archivo, por lo que, disminuye la calidad de las soluciones alcanzadas por este. Nuestrapropuesta es superada por el SMS-EMOA y NSGA-II y conforme a estos resultados sepuede crear una jerarquıa en orden descendente en terminos de convergencia del conjuntode soluciones proximas al frente de Pareto real:

1. SMS-EMOA

2. NSGA-II

3. MOPSOhv

4. MOPSOcd

Tambien, se observa que en las soluciones de nuestra propuesta dominan a las solucionesdel NSGA-II y MOPSOcd, y siendo superado por las soluciones del SMS-EMOA.

Cinvestav Departamento de Computacion

Page 92: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

76 Capıtulo 3

00.5

11.5

00.5

11.5

0

0.5

1

1.5

f1

Frente de Pareto obtenido por MOPSOcd en DTLZ2

f2

f3

00.20.40.60.81

00.5

11.5

0

0.5

1

1.5

f1

Frente de Pareto obtenido por MOPSOhv en DTLZ2

f2

f3

00.2

0.40.6

0.81

00.2

0.40.6

0.81

0

0.5

1

1.5

f1

Frente de Pareto obtenido por NSGA−II en DTLZ2

f2

f3

00.2

0.40.6

0.81

00.2

0.40.6

0.81

0

0.2

0.4

0.6

0.8

1

f1

Frente de Pareto obtenido por SMS−EMOA en DTLZ2

f2

f3

Figura 3.17: Resultados graficos correspondientes al problema DTLZ2.

Cinvestav Departamento de Computacion

Page 93: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Evaluacion del algoritmo propuesto y resultados 77

EspaciadoAlgoritmo Menor Mayor Promedio Desviacion

MOPSOhv 0.523852 6.539527 1.759328 1.322038MOPSOcd 0.774392 5.346362 2.143857 0.915538NSGA-II 0.045404 0.067297 0.056032 0.004531SMS-EMOA 0.037710 0.083937 0.043889 0.009394

DGI

MOPSOhv 0.187750 1.484958 0.594644 0.302257MOPSOcd 0.199480 1.812156 0.630432 0.323953NSGA-II 0.001123 0.001441 0.001235 0.000083SMS-EMOA 0.015616 0.031270 0.016425 0.003406

Hipervolumen

MOPSOhv 0.000000 0.000000 0.000000 0.000000MOPSOcd 0.000000 0.000000 0.000000 0.000000NSGA-II 123.004398 124.174476 123.673815 0.295556SMS-EMOA 120.390195 124.425951 124.221079 0.878873

Cobertura

Algoritmo MOPSOhv MOPSOcd NSGA-II SMS-EMOA

MOPSOhv — 0.546000 0.000000 0.000000MOPSOcd 0.215500 — 0.000000 0.000000NSGA-II 1.000000 0.980000 — 0.052000SMS-EMOA 0.960000 0.940000 0.000000 —

Tabla 3.13: Resultados correspondientes al problema DTLZ3.

La multimodalidad de DTLZ3 causa dificultad a nuestra propuesta (MOPSOhv) paraconverger de manera optima, como se muestra en la tabla 3.13. En la grafica 3.18 se muestraque el MOPSOcd y nuestra propuesta no tiene una buena convergencia al frente de Paretoy no muestran una buena distribucion de las soluciones. Sin embargo, nuestra propuestadomina a las soluciones del MOPSOcd. Nuestra propuesta es superada por el SMS-EMOAy NSGA-II y conforme a estos resultados se puede crear una jerarquıa en orden descendenteen terminos de convergencia del conjunto de soluciones proximas al frente de Pareto real:

1. NSGA-II

2. SMS-EMOA

3. MOPSOhv

4. MOPSOcd

Cinvestav Departamento de Computacion

Page 94: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

78 Capıtulo 3

010

2030

40

010

2030

40

0

10

20

30

40

f1

Frente de Pareto obtenido por MOPSOcd en DTLZ3

f2

f3

05

1015

02

46

810

0

5

10

15

f1

Frente de Pareto obtenido por MOPSOhv en DTLZ3

f2

f3

00.20.40.60.81

0 0.2 0.4 0.6 0.8 1

0

0.5

1

1.5

f1

Frente de Pareto obtenido por NSGA−II en DTLZ3

f2

f3

00.511.522.5

0 0.5 1 1.5 2 2.5

0

0.5

1

1.5

2

2.5

f1

Frente de Pareto obtenido por SMS−EMOA en DTLZ3

f2

f3

Figura 3.18: Resultados graficos correspondientes al problema DTLZ3.

Cinvestav Departamento de Computacion

Page 95: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Evaluacion del algoritmo propuesto y resultados 79

EspaciadoAlgoritmo Menor Mayor Promedio Desviacion

MOPSOhv 0.009443 0.080015 0.047999 0.021016MOPSOcd 0.052363 0.061539 0.056542 0.002922NSGA-II 0.000000 0.063012 0.051862 0.013087SMS-EMOA 0.039215 0.045833 0.042030 0.001928

DGI

MOPSOhv 0.003982 0.010549 0.006694 0.002366MOPSOcd 0.001142 0.001271 0.001208 0.000037NSGA-II 0.001097 0.015257 0.001875 0.003071SMS-EMOA 0.015606 0.015606 0.015606 0.000000

Hipervolumen

MOPSOhv 0.337305 0.666145 0.548703 0.117426MOPSOcd 0.668445 0.708459 0.688920 0.010033NSGA-II 0.121000 0.715370 0.674632 0.127135SMS-EMOA 0.757966 0.758160 0.758069 0.000050

Cobertura

Algoritmo MOPSOhv MOPSOcd NSGA-II SMS-EMOA

MOPSOhv — 0.189000 0.013500 0.017000MOPSOcd 0.000000 — 0.000500 0.000000NSGA-II 0.008421 0.199500 — 0.000000SMS-EMOA 0.000000 0.275500 0.009500 —

Tabla 3.14: Resultados correspondientes al problema DTLZ4.

En el problema DTLZ4 se observa que en las soluciones de nuestra propuesta (MOP-SOhv) la distribucion de las soluciones se concentren en los extremos, causando que existanespacios muy grandes en el centro del frente de Pareto, como se observa en la figura 3.19, ycomo consecuencia el valor de la metrica del hipervolumen disminuya, como se observa en latabla 3.14. Esto puede ser por que nuestra propuesta se concentra en los extremos del fren-te, ya que estos, pueden ser aquellas partıculas que guıan la busqueda de nuevas solciones,segun su contribucion al hipervolumen. Nuestra propuesta es superada por el SMS-EMOAy NSGA-II y conforme a estos resultados se puede crear una jerarquıa en orden descendenteen terminos de convergencia del conjunto de soluciones proximas al frente de Pareto real:

1. SMS-EMOA

2. NSGA-II

3. MOPSOhv

4. MOPSOcd

Tambien, se observa que en las soluciones de nuestra propuesta dominan a las solucionesde los otros algoritmos.

Cinvestav Departamento de Computacion

Page 96: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

80 Capıtulo 3

00.5

11.5

00.5

11.5

0

0.5

1

1.5

f1

Frente de Pareto obtenido por MOPSOcd en DTLZ4

f2

f3

0

0.5

1

1.5

0

0.5

1

1.5

0

0.5

1

1.5

f1

Frente de Pareto obtenido por MOPSOhv en DTLZ4

f2

f3

00.2

0.40.6

0.81

00.2

0.40.6

0.81

0

0.5

1

1.5

f1

Frente de Pareto obtenido por NSGA−II en DTLZ4

f2

f3

00.2

0.40.6

0.81

00.2

0.40.6

0.81

0

0.2

0.4

0.6

0.8

1

f1

Frente de Pareto obtenido por SMS−EMOA en DTLZ4

f2

f3

Figura 3.19: Resultados graficos correspondientes al problema DTLZ4.

Cinvestav Departamento de Computacion

Page 97: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Evaluacion del algoritmo propuesto y resultados 81

EspaciadoAlgoritmo Menor Mayor Promedio Desviacion

MOPSOhv 0.009066 0.027088 0.016552 0.005419MOPSOcd 0.007105 0.009411 0.008436 0.000610NSGA-II 0.008281 0.011557 0.009727 0.000757SMS-EMOA 0.008044 0.009672 0.008763 0.000463

DGI

MOPSOhv 0.000125 0.001589 0.000439 0.000390MOPSOcd 0.000049 0.000058 0.000054 0.000002NSGA-II 0.000061 0.000083 0.000069 0.000005SMS-EMOA 0.009901 0.009901 0.009901 0.000000

Hipervolumen

MOPSOhv 0.396024 0.435369 0.428426 0.010028MOPSOcd 0.438762 0.438946 0.438852 0.000056NSGA-II 0.437414 0.438274 0.437990 0.000223SMS-EMOA 0.439348 0.439390 0.439374 0.000011

Cobertura

Algoritmo MOPSOhv MOPSOcd NSGA-II SMS-EMOA

MOPSOhv — 0.024500 0.024500 0.000000MOPSOcd 0.006500 — 0.034500 0.010000NSGA-II 0.020500 0.000000 — 0.010000SMS-EMOA 0.000500 0.000000 0.022000 —

Tabla 3.15: Resultados correspondientes al problema DTLZ5.

En el problema DTLZ5 se observa que en nuestra propuesta (MOPSOhv) no tieneuna distribucion de las soluciones, lo que causa que existan espacios en la aproximacional frente de Pareto, como se observa en la figura 3.17, lo que causa que no se tenga unabuena cobertura del frente de Pareto, por lo tanto, el valor de la metrica del hipervolumendisminuya, como se observa en la tabla 3.12. Nuestra propuesta es superada por el SMS-EMOA y NSGA-II y conforme a estos resultados se puede crear una jerarquıa en ordendescendente en terminos de convergencia del conjunto de soluciones proximas al frente dePareto real:

1. NSGA-II

2. SMS-EMOA

3. MOPSOcd

4. MOPSOhv

Tambien, se observa que en las soluciones de nuestra propuesta dominan a las solucionesdel NSGA-II y MOPSOcd, y siendo superado por las soluciones del SMS-EMOA.

Cinvestav Departamento de Computacion

Page 98: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

82 Capıtulo 3

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.80

0.5

10

0.2

0.4

0.6

0.8

1

f1

Frente de Pareto obtenido por MOPSOcd en DTLZ5

f2

f3

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.80

0.2

0.4

0.6

0.80

0.2

0.4

0.6

0.8

1

f1

Frente de Pareto obtenido por MOPSOhv en DTLZ5

f2

f3

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.80

0.5

10

0.2

0.4

0.6

0.8

1Frente de Pareto obtenido por NSGA−II en DTLZ5

f1f2

f3

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.80

0.5

1

0

0.2

0.4

0.6

0.8

1Frente de Pareto obtenido por SMS−EMOA en DTLZ5

f1f2

f3

Figura 3.20: Resultados graficos correspondientes al problema DTLZ5.

Cinvestav Departamento de Computacion

Page 99: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Evaluacion del algoritmo propuesto y resultados 83

EspaciadoAlgoritmo Menor Mayor Promedio Desviacion

MOPSOhv 0.128037 0.220886 0.158278 0.026187MOPSOcd 0.271101 0.501514 0.343938 0.052728NSGA-II 0.011479 0.029482 0.020970 0.004354SMS-EMOA 0.009705 0.020519 0.013185 0.002414

DGI

MOPSOhv 0.007386 0.015926 0.009931 0.002293MOPSOcd 0.009901 0.062068 0.036889 0.012547NSGA-II 0.000083 0.001194 0.000648 0.000236SMS-EMOA 0.010475 0.011392 0.010786 0.000231

Hipervolumen

MOPSOhv 0.000000 0.000616 0.000391 0.000277MOPSOcd 0.000000 0.000000 0.000000 0.000000NSGA-II 0.303244 0.437448 0.361529 0.028920SMS-EMOA 0.282821 0.374890 0.340557 0.024323

Cobertura

Algoritmo MOPSOhv MOPSOcd NSGA-II SMS-EMOA

MOPSOhv — 0.920000 0.000000 0.000000MOPSOcd 0.000000 — 0.000000 0.000000NSGA-II 0.958000 0.996000 — 0.479500SMS-EMOA 0.630000 0.640000 0.001500 —

Tabla 3.16: Resultados correspondientes al problema DTLZ6.

El problema DTLZ6 es muy dificil para nuestra propuesta (MOPSOhv) y el MOPSOcdpara converger de manera optima, como se muestra en la tabla 3.16 ya que no logran acerceal frente de Parto, como se muestra en la grafica 3.21. Sin embargo, nuestra propuestadomina a las soluciones del MOPSOcd. Nuestra propuesta es superada por el SMS-EMOAy NSGA-II y conforme a estos resultados se puede crear una jerarquıa en orden descendenteen terminos de convergencia del conjunto de soluciones proximas al frente de Pareto real:

1. NSGA-II

2. SMS-EMOA

3. MOPSOhv

4. MOPSOcd

Cinvestav Departamento de Computacion

Page 100: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

84 Capıtulo 3

0 1 2 3 4 5 6 70

2

4

6

8

0

2

4

6

Frente de Pareto obtenido por MOPSOcd en DTLZ6

f1

f2

f3

0 0.5 1 1.5 2 2.5 30

1

2

30

1

2

3

Frente de Pareto obtenido por MOPSOhv en DTLZ6

f1

f2

f3

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.80

0.5

10

0.5

1

1.5Frente de Pareto obtenido por NSGA−II en DTLZ6

f1f2

f3

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.80

0.5

10

0.5

1

1.5Frente de Pareto obtenido por SMS−EMOA en DTLZ6

f1f2

f3

Figura 3.21: Resultados graficos correspondientes al problema DTLZ6.

Cinvestav Departamento de Computacion

Page 101: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Evaluacion del algoritmo propuesto y resultados 85

EspaciadoAlgoritmo Menor Mayor Promedio Desviacion

MOPSOhv 0.029933 0.140179 0.085100 0.025882MOPSOcd 0.063885 0.453648 0.114527 0.112693NSGA-II 0.043496 0.085744 0.068548 0.009758SMS-EMOA 0.044055 0.063838 0.057420 0.005603

DGI

MOPSOhv 0.001446 0.005356 0.002800 0.001392MOPSOcd 0.001228 0.002112 0.001558 0.000205NSGA-II 0.000802 0.005285 0.001123 0.000957SMS-EMOA 0.013925 0.021469 0.015064 0.002691

Hipervolumen

MOPSOhv 2.359510 2.812829 2.608814 0.123164MOPSOcd 2.430821 2.744141 2.648845 0.072522NSGA-II 2.578211 3.011594 2.974631 0.091615SMS-EMOA 5.055289 5.528637 5.456793 0.168653

Cobertura

Algoritmo MOPSOhv MOPSOcd NSGA-II SMS-EMOA

MOPSOhv — 0.460000 0.061500 0.00000MOPSOcd 0.003000 — 0.000000 0.000000NSGA-II 0.008000 0.658500 — 0.000000SMS-EMOA 0.940000 0.890000 0.980000 —

Tabla 3.17: Resultados correspondientes al problema DTLZ7.

El frente discontinuo de DTLZ7 causa dificultad a nuestra propuesta (MOPSOhv) paraconverger de manera optima, como se muestra en la tabla 3.17. En la grafica 3.22 se muestraque las partıculas se concentran en una mayor parte del frente de Pareto. Nuestra propuestaes superada por el SMS-EMOA y NSGA-II y conforme a estos resultados se puede crearuna jerarquıa en orden descendente en terminos de convergencia del conjunto de solucionesproximas al frente de Pareto real:

1. NSGA-II

2. SMS-EMOA

3. MOPSOhv

4. MOPSOcd

Tambien, se observa que en las soluciones de nuestra propuesta dominan a las solucionesdel NSGA-II y MOPSOcd, y siendo superado por las soluciones del SMS-EMOA.

Cinvestav Departamento de Computacion

Page 102: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

86 Capıtulo 3

00.2

0.40.6

0.81

0

0.2

0.4

0.6

0.8

10

5

10

f1

Frente de Pareto obtenido por MOPSOcd en DTLZ7

f2

f3

00.2

0.40.6

0.81

0

0.2

0.4

0.6

0.8

10

5

10

f1

Frente de Pareto obtenido por MOPSOhv en DTLZ7

f2

f3

00.2

0.40.6

0.81

0

0.2

0.4

0.6

0.8

12

4

6

f1

Frente de Pareto obtenido por NSGA−II en DTLZ7

f2

f3

00.2

0.40.6

0.81

0

0.2

0.4

0.6

0.8

10

2

4

f1

Frente de Pareto obtenido por SMS−EMOA en DTLZ7

f2

f3

Figura 3.22: Resultados graficos correspondientes al problema DTLZ7.

Cinvestav Departamento de Computacion

Page 103: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Evaluacion del algoritmo propuesto y resultados 87

3.5. Resultados de escalabilidad

Se utiliza el problema DTLZ2 para probar la escalabilidad de nuestro algoritmo de dos adiez objetivos. Las soluciones son comparadas con el NSGA-II, MOPSO-cd y el SMS-EMOA.Se realizaron diez ejecuciones independientes, con 100 individuos y 1200 generaciones usandolos parametros de las tablas 3.1, 3.2 y 3.3. El punto ~1.1 es utlizado como referencia para lametrica del hipervolumen.

2 ObjetivosAlgoritmo Menor Mayor Promedio Desviacion

MOPSOhv 0.006496 0.008450 0.007529 0.000509MOPSOcd 0.006508 0.007755 0.007165 0.000350NSGA-II 0.006558 0.008114 0.007298 0.000441SMS-EMOA 0.007164 0.008134 0.007687 0.000324

3 Objetivos

MOPSOhv 0.040552 0.075311 0.060766 0.010465MOPSOcd 0.046830 0.059367 0.052755 0.003508NSGA-II 0.047551 0.062545 0.055653 0.004653SMS-EMOA 0.040739 0.045160 0.042945 0.001627

4 Objetivos

MOPSOhv 0.060814 0.103256 0.076769 0.013224MOPSOcd 0.255004 0.351009 0.307083 0.029160NSGA-II 0.099124 0.121004 0.110590 0.007367SMS-EMOA 0.060019 0.063409 0.061934 0.001271

5 Objetivos

MOPSOhv 0.062663 0.115829 0.096073 0.016611MOPSOcd 0.357735 0.509170 0.439317 0.048635NSGA-II 0.176407 0.213365 0.194858 0.012554SMS-EMOA — — — —

6 Objetivos

MOPSOhv 0.069909 0.146411 0.115437 0.022606MOPSOcd 0.472034 0.601704 0.536438 0.044512NSGA-II 0.326463 0.462761 0.393104 0.040260SMS-EMOA — — — —

7 Objetivos

MOPSOhv 0.104604 0.198331 0.134378 0.027768MOPSOcd 0.567486 0.800344 0.666199 0.064909NSGA-II 0.555849 0.750226 0.626970 0.053539SMS-EMOA — — — —

8 Objetivos

MOPSOhv 0.091730 0.173281 0.122761 0.025681MOPSOcd 0.656487 0.898391 0.768978 0.083783NSGA-II 0.707636 0.843402 0.773139 0.048302SMS-EMOA — — — —

Cinvestav Departamento de Computacion

Page 104: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

88 Capıtulo 3

9 Objetivos

MOPSOhv 0.069848 0.150881 0.109239 0.026673MOPSOcd 0.656487 0.898391 0.768978 0.083783NSGA-II 0.883374 0.977749 0.913665 0.025785SMS-EMOA — — — —

10 Objetivos

MOPSOhv 0.090387 0.180091 0.129630 0.028221MOPSOcd 0.682277 0.953287 0.826685 0.093907NSGA-II 0.936894 1.132359 1.032422 0.071610SMS-EMOA — — — —

Tabla 3.18: Resultados de la metrica de espaciado paraDTLZ2 de 2 a 10 objetivos.

La tabla 3.18 muestra como la distribucion de las soluciones mejoran para nuestra pro-puesta al aumentar el numero de objetivos del problema DTLZ2. Mientras que en el NSGA-II y MOPSOcd el valor de la metrica de espaciado crece al aumentar el numero de objetivosnuestra propuesta se mantiene constante.

2 ObjetivosAlgoritmo Menor Mayor Promedio Desviacion

MOPSOhv 0.420910 0.420993 0.420962 0.000031MOPSOcd 0.420317 0.420437 0.420372 0.000037NSGA-II 0.418849 0.419966 0.419588 0.000323SMS-EMOA 0.421020 0.421027 0.421023 0.000003

3 Objetivos

MOPSOhv 0.597900 0.697158 0.644946 0.030303MOPSOcd 0.622449 0.698677 0.667862 0.024190NSGA-II 0.676373 0.708493 0.697689 0.009213SMS-EMOA 0.757991 0.758168 0.758071 0.000056

4 Objetivos

MOPSOhv 0.570237 0.735955 0.649871 0.046065MOPSOcd 0.000000 0.000000 0.000000 0.000000NSGA-II 0.805413 0.876853 0.834518 0.019843SMS-EMOA 1.044708 1.044792 1.044734 0.000030

5 Objetivos

MOPSOhv 0.526935 0.821024 0.686608 0.091850MOPSOcd 0.000000 0.000000 0.000000 0.000000NSGA-II 0.624795 0.874966 0.806271 0.075088SMS-EMOA — — — —

6 Objetivos

MOPSOhv 0.588840 0.897113 0.768027 0.106912MOPSOcd 0.000000 0.000000 0.000000 0.000000NSGA-II 0.016168 0.385332 0.195606 0.133364

Cinvestav Departamento de Computacion

Page 105: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Evaluacion del algoritmo propuesto y resultados 89

SMS-EMOA — — — —

7 Objetivos

MOPSOhv 0.779870 0.986701 0.897171 0.059289MOPSOcd 0.000000 0.000000 0.000000 0.000000NSGA-II 0.000960 0.336963 0.146724 0.119704SMS-EMOA — — — —

8 Objetivos

MOPSOhv 0.711453 1.069716 0.923948 0.098939MOPSOcd 0.000000 0.000000 0.000000 0.000000NSGA-II 0.071442 0.358558 0.185958 0.088435SMS-EMOA — — — —

9 Objetivos

MOPSOhv 0.767567 1.063881 0.894945 0.098291MOPSOcd 0.000000 0.000000 0.000000 0.000000NSGA-II 0.039463 0.397496 0.212041 0.124973SMS-EMOA — — — —

10 Objetivos

MOPSOhv 0.946736 1.228404 1.080952 0.085351MOPSOcd 0.000000 0.000000 0.000000 0.000000NSGA-II 0.015169 0.440330 0.224003 0.127577SMS-EMOA — — — —

Tabla 3.19: Resultados de la metrica de hipervolumen paraDTLZ2 con 2 a 10 objetivos.

La tabla 3.19 muestra los resultados obtenidos para la metrica del hipervolumen parael problema DTLZ2 con 2 a 10 objetivos. El NSGA-II muestra un deterioro en la cali-dad de las soluciones cuando aumenta el numero de objetivos del problema con un costocomputacional bajo. El SMS-EMOA muestra tener buenos resultados, pero es muy costoso,computacionalmente hablando. MOPSOcd muestra que su desempeno no es escalable yaque se degrada rapidamente al aumentar el numero de funciones objetivo.

Conforme a estos resultados se puede crear una jerarquıa en orden descendente en termi-nos del valor del hipervolumen del conjunto de soluciones proximas al frente de Pareto real:

1. MOPSOhv

2. NSGA-II

3. SMS-EMOA

4. MOPSOcd

Nuestra propuesta muestra tener buenos resultados en la calidad de las soluciones cuandoaumentan el numero de objetivos del problema al mantenerse constante en la metrica delhipervolumen y manteniendo un costo computacional razonable, lo que hace a nuestroalgoritmo competitivo respecto a los demas como se muestra en la figura 3.23.

Cinvestav Departamento de Computacion

Page 106: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

90 Capıtulo 3

2 3 4 5 6 7 8 9 100

1000

2000

3000

4000

5000

6000

objetivos

segu

ndos

MOPSOcdMOPSOhvNSGA−IISMS−EMOA

Figura 3.23: Resultados de tiempo en segundos aumentando el numero de objetivos del problemaDTLZ2.

Cinvestav Departamento de Computacion

Page 107: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Capıtulo 4

Conclusiones y trabajo futuro

4.1. Resumen

El objetivo principal de este trabajo de tesis fue proponer un nuevo algoritmo multi-objetivo basado los cumulos de partıculas la cual mostrara ser competitiva con respecto aalgoritmos evolutivos multiobjetivo (AEMOs) representativos del estado del arte.

Para llevar a cabo este objetivo se realizo un estudio de las metaheurısticas multi-objetivo basadas en cumulos de partıculas que existen actualmente. Posteriormente, serealizo un estudio del denominado hipervolumen para poder incorporarlo en el mecanis-mo de seleccion de nuestra metaheurıstica. A este respecto, se identificaron varias formasde utilizar el hipervolumen como mecanismo de seleccion, sobresaliendo el uso del algoritmoHypE que usa un metodo para aproximar las contribuciones al hipervolumen. Como pro-ducto de este analisis se propuso un algoritmo de cumulos de partıculas multi-objetivo queaprovecha las contribuciones al hipervolumen para seleccionar la mejor guıa global a fin degenerar soluciones potenciales no dominadas.

El algoritmo propuesto fue comparado con respecto a NSGA-II, SMS-EMOA y MOP-SOcd. La evaluacion se realizo utilizando un conjunto de problemas multi-objetivo quereunen diferentes caracterısticas que causan dificultades a un algoritmo evolutivo multi-objetivo.

4.2. Conclusiones

A partir de los experimentos realizados se desprenden las siguientes conclusiones:

Una de las principales dificultades en extender el algoritmo del PSO a una versionmulti-objetivo, es encontrar la mejor forma de seleccionar al lıder de cada partıcula enel cumulo. Esta dificultad radica en que no hay una nocion clara sobre como definirquien es el mejor alcanzado hasta el momento (pBest) y el mejor alcanzado por todala poblacion (gBest). En los problemas de optimizacion multi-objetivo, todas lassoluciones no dominadas son igualmente buenas, por lo que cualquiera de ellas puedeadoptarse como lıder. Por tanto, el uso del hipervolumen nos permitio seleccionar almejor lıder alcanzado de un conjunto de soluciones no dominadas. La seleccion serealiza conforme a su contribucion al hipervolumen, es decir, aquella partıcula quecontribuye mas al valor del hipervolumen es seleccionada como lıder.

El uso del hipervolumen para seleccionar al lıder en nuestro algoritmo muestra unamejora con respecto al algoritmo MOPSOcd.

91

Page 108: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

92 Capıtulo 4

La forma de seleccionar al conjunto de partıculas que influyen en el entorno socialdel algoritmo (pBest) mejora considerablemente la busqueda de nuevas solucionesno dominadas. Es mejor utilizar el archivo o la poblacion secundaria, en lugar de lapoblacion primaria, para actualizar el pBest del algoritmo propuesto.

La contribucion al hipervolumen es un valor que se basa en la metrica del hipervolu-men. Por lo que, resulta ser muy costoso computacionalmente hablando. Sin embargo,el uso de algoritmos que hacen uso de metodos de muestreo para calcular la contribu-cion al hipervolumen resultan ser mas eficientes. El uso de HypE es un algoritmo queutiliza el metodo de Monte Carlo y muestra ser mas eficiente al calcular las contribu-ciones al hipervolumen.

El uso del algoritmo de HypE para calcular las contribuciones al hipervolumen per-mite aumentar el numero de generaciones del algoritmo y el numero de objetivos delproblema.

Debido a que se utiliza una aproximacion de la contribucion al hipervolumen, sedecidio utilizar un operador de turbulencia para evitar quedar atrapado en frentes dePareto locales.

Los resultados obtenidos en promedio para los primeros tres problemas ZDT son simi-lares. Para el problema ZDT4 es mejor que los resultados obtenidos por el SMS-EMOAy marginalmente peores que los del NSGA-II. Ası mismo, nuestros resultados son me-jores que los de MOPSOcd. Para el problema ZDT6 los resultados son ligeramentemejores que los de SMS-EMOA y ligeramente peores que los de NSGA-II, siendomucho mejores que los del MOPSOcd.

Los resultados obtenidos por nuestra propuesta para los problemas DTLZ1, DTLZ3y DTLZ6 son mejores que los del MOPSOcd. Sin embargo, nuestro algoritmo nopudo obtener buenas aproximaciones al frente de Pareto real, y nuestros resultadosfueron dominados por los de SMS-EMOA y NSGA-II. Los resultados para los demasproblemas (DTLZ2, DTLZ4, DTLZ5 y DTLZ7) muestran que en la mayoria de loscasos, nuestra propuesta obtiene soluciones que dominan a las de los algoritmos NSGA-II, SMS-EMOA y MOPSOcd.

Los resultados obtenidos de nuestra propuesta muestran que en la mayoria de losproblemas (2 y 3 objetivos), en promedio ,es competitiva con respecto a los algoritmosNSGA-II, SMS-EMOA y MOPSOcd.

Nuestro algoritmo mantiene un buen desempeno al aumentar el numero de objetivosdel problema, manteniendo un costo computacional razonable. Esto hace que nuestroalgoritmo sea competitivo con respecto a los algoritmos NSGA-II, al SMS-EMOA yal MOPSOcd.

4.3. Trabajo futuro

Existen diversas formas de poder disenar un algoritmo multi-objetivo con base en lametaheurıstica de cumulos de partıculas, pues es posible usar diferentes tipos de topologıas

Cinvestav Departamento de Computacion

Page 109: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Conclusiones y trabajo futuro 93

o conexiones para que las partıculas interactuen o influyan entre ellas a fin de generar buenasaproximaciones hacia el verdadero frente de Pareto.

En particular se podrıan realizar las siguientes extensiones a nuestro algoritmo:

Utilizar modelos de configuracion diferentes al modelo completo que se uso aquı (mo-delo cognitivo, modelo social o modelo social exclusivo).

Utilizar otros apectos avanzados que pueden acelerar la convergencia del algoritmo(factor de constriccion, factor de inercia adaptable o control de velocidad).

Seleccionar a los guıas locales de otra manera, de tal forma, que afecten la partecognitiva del algoritmo permitiendo generar nuevas soluciones.

Seleccionar un mejor estimador de densidad para hacer el reemplazo de los solucionesno dominadas en la poblacion secundaria.

Cinvestav Departamento de Computacion

Page 110: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

94 Capıtulo 4

Cinvestav Departamento de Computacion

Page 111: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

Bibliografıa

[Angeline et al., 1999] Angeline, P. J., Michalewicz, Z., Schoenauer, M., Yao, X., and Zal-zala, A., editors (1999). The Pareto Archived Evolution Strategy: A New Baseline Al-gorithm for Pareto Multiobjective Optimisation, volume 1, Mayflower Hotel, WashingtonD.C., USA. IEEE Press.

[Back et al., 1997] Back, T., Fogel, D., and Michalewicz, Z. (1997). Handbook of Evolutio-nary Computation. Oxford Univ. Press.

[Bader et al., 2008] Bader, J., Deb, K., and Zitzler, E. (2008). Faster Hypervolume-BasedSearch Using Monte Carlo Sampling. In Ehrgott, M., Naujoks, B., Stewart, T. J., and Wa-llenius, J., editors, MCDM, volume 634 of Lecture Notes in Economics and MathematicalSystems, pages 313–326. Springer.

[Bader and Zitzler, 2011] Bader, J. and Zitzler, E. (2011). HypE: An Algorithm for FastHypervolume-Based Many-Objective Optimization. Evolutionary Computation, 19(1):45–76.

[Beume, 2009] Beume, N. (2009). S-Metric Calculation by Considering Dominated Hyper-volume as Klee’s Measure Problem. Evolutionary Computation, 17(4):477–492.

[Beume et al., 2009] Beume, N., Fonseca, C. M., Lopez-Ibanez, M., Paquete, L., and Vah-renhold, J. (2009). On the Complexity of Computing the Hypervolume Indicator. IEEETrans. Evolutionary Computation, 13(5):1075–1082.

[Beume et al., 2007] Beume, N., Naujoks, B., and Emmerich, M. (2007). SMS-EMOA: Mul-tiobjective Selection Based on Dominated Hypervolume. European Journal of OperationalResearch, 181(3):1653–1669.

[Braberman et al., 2007] Braberman, V. A., Obes, J. L., Olivero, A., and Schapachnik, F.(2007). Hypervolume Approximation in Timed Automata Model Checking. In Raskin, J.-F. and Thiagarajan, P. S., editors, FORMATS, volume 4763 of Lecture Notes in ComputerScience, pages 69–81. Springer.

[Bringmann and Friedrich, 2008] Bringmann, K. and Friedrich, T. (2008). Approximatingthe volume of unions and intersections of high-dimensional geometric objects. In Hong,S.-H., Nagamochi, H., and Fukunaga, T., editors, ISAAC, volume 5369 of Lecture Notesin Computer Science, pages 436–447. Springer.

95

Page 112: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

96 BIBLIOGRAFIA

[Bringmann and Friedrich, 2009] Bringmann, K. and Friedrich, T. (2009). Don’t be Greedywhen Calculating Hypervolume Contributions. In Garibay, I. I., Jansen, T., Wiegand,R. P., and Wu, A. S., editors, FOGA, pages 103–112. ACM.

[Bringmann and Friedrich, 2010] Bringmann, K. and Friedrich, T. (2010). An EfficientAlgorithm for Computing Hypervolume Contributions. Evolutionary Computation,18(3):383–402.

[Cagnina, 2010] Cagnina, L. C. (2010). Optimizacion Mono y Multiobjetivo a traves de unaHeurıstica de Interligencia Colectiva. PhD thesis, Universidad Nacional de San Luis.

[Chang et al., 2005] Chang, J.-F., Chu, S.-C., Roddick, J. F., and Pan, J.-S. (2005). AParallel Particle Swarm Optimization Algorithm with Communication Strategies. J. Inf.Sci. Eng., 21(4):809–818.

[Clerc, 1999] Clerc, M. (1999). The Swarm and the Queen: Towards a Deterministic andAdaptive Particle Swarm Optimization. In Congress on Evolutionary Computation, vo-lume 3, pages 1951–1957.

[Clerc and Kennedy, 2002] Clerc, M. and Kennedy, J. (2002). The Particle Swarm: Ex-plosion, Stability and Convergence in a Multidimensional Complex Space. IEEE Trans.Evolutionary Computation, 6(1):58–73.

[Coello et al., 2006] Coello, C. A. C., Lamont, G. B., and Veldhuizen, D. A. V. (2006).Evolutionary Algorithms for Solving Multi-Objective Problems (Genetic and EvolutionaryComputation). Springer-Verlag New York, Inc., Secaucus, NJ, USA.

[Coello et al., 2004] Coello, C. A. C., Pulido, G. T., and Lechuga, M. S. (2004). Hand-ling Multiple Objectives With Particle Swarm Optimization. IEEE Trans. EvolutionaryComputation, 8(3):256–279.

[Darwin, 1959] Darwin, C. (1959). The origin of species by means of natural selection byMeans of Natural Selection, or The Preservation of Struggle for Life. Penguin Book Ltd.New York :Hurst,. http://www.biodiversitylibrary.org/bibliography/2106.

[Deb et al., 2000] Deb, K., Agrawal, S., Pratap, A., and Meyarivan, T. (2000). A Fast ElitistNon-dominated Sorting Genetic Algorithm for Multi-objective Optimisation: NSGA-II.In Schoenauer, M., Deb, K., Rudolph, G., Yao, X., Lutton, E., Guervos, J. J. M., andSchwefel, H.-P., editors, PPSN, volume 1917 of Lecture Notes in Computer Science, pages849–858. Springer.

[Deb et al., 2002] Deb, K., Thiele, L., Laumanns, M., and Zitzler, E. (2002). Scalable Multi-Objective Optimization Test Problems. In Congress on Evolutionary Computation (CEC2002), pages 825–830. IEEE Press.

[Eberhart et al., 1996] Eberhart, R., Simpson, P., and Dobbins, R. (1996). Computationalintelligence PC tools. Academic Press Professional, Inc., San Diego, CA, USA.

[Eberhart et al., 2001] Eberhart, R. C., Shi, Y., and Kennedy, J. (2001). Swarm Intelligence(The Morgan Kaufmann Series in Evolutionary Computation). Morgan Kaufmann, 1stedition.

Cinvestav Departamento de Computacion

Page 113: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

BIBLIOGRAFIA 97

[Emmerich et al., 2005] Emmerich, M., Beume, N., and Naujoks, B. (2005). An EMO Al-gorithm Using the Hypervolume Measure as Selection Criterion. In Coello, C. A. C.,Aguirre, A. H., and Zitzler, E., editors, EMO, volume 3410 of Lecture Notes in ComputerScience, pages 62–76. Springer.

[Everson et al., 2002] Everson, R. M., Fieldsend, J. E., and Singh, S. (2002). Full Elite Setsfor Multi-Objective Optimisation. Conference on Adaptive Computing in Design andManufacture, pages 343–354. In I. Parmee (Eds.).

[Fogel, 1964] Fogel, L. (1964). On the Organization of Intellect. University of California,Los Angeles - Engineering.

[Fonseca et al., 2006] Fonseca, C. M., Paquete, L., and Lopez-Ibanez, M. (2006). An Im-proved Dimension-Sweep Algorithm for the Hypervolume Indicator. In Proceedings ofthe 2006 Congress on Evolutionary Computation (CEC 2006), pages 1157–1163. IEEEPress, Piscataway, NJ.

[Fu et al., 2011] Fu, W., Johnston, M., and Zhang, M. (2011). Hybrid Particle SwarmOptimisation based on history Information Sharing. In Krasnogor, N. and Lanzi, P. L.,editors, GECCO, pages 77–84. ACM.

[Hoffman, 1989] Hoffman, A. (1989). Arguments on evolution. A paleontologist’s perspecti-ve. American Journal of Physical Anthropology, Oxford University Press USA, 80(3):405–406.

[Holland, 1992] Holland, J. H. (1992). Adaptation in Natural and Artificial Systems. MITPress, Cambridge, MA, USA.

[Hu and Eberhart, 2002] Hu, X. and Eberhart, R. (2002). Multiobjective OptimizationUsing Dynamic Neighborhood Particle Swarm Optimization. Computational Intelligence,Proceedings of the World on Congress on, 2:1677–1681.

[Hu et al., 2003] Hu, X., Eberhart, R., and Shi, Y. (2003). Particle Swarm with ExtendedMemory for Multiobjective Optimization. In Swarm Intelligence Symposium, 2003. SIS’03. Proceedings of the 2003 IEEE, pages 193 – 197.

[Kennedy, 1997] Kennedy, J. (1997). The Particle Swarm: Social Adaptation of Knowledge.In Proceedings of IEEE International Conference on Evolutionary Computation, pages303–308.

[Kennedy and Eberhart, 1995] Kennedy, J. and Eberhart, R. (1995). Particle Swarm Opti-mization. IEEE International Conference on Neural Networks. Proceedings., 4:1942–1948vol.4.

[Kennedy and Mendes, 2006] Kennedy, J. and Mendes, R. (2006). Neighborhood topologiesin fully informed and Best of Neighborhood Particle Swarms. IEEE Transactions onSystems, Man, and Cybernetics, Part C: Applications and Reviews., 36(4):515–519.

[Lechuga and Rowe, 2005] Lechuga, M. S. and Rowe, J. E. (2005). Particle Swarm Optimi-zation and Fitness Sharing to Solve Multiobjective Optimization Problems. In Congresson Evolutionary Computation, pages 1204–1211. IEEE.

Cinvestav Departamento de Computacion

Page 114: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

98 BIBLIOGRAFIA

[Martınez and Coello, 2011] Martınez, S. Z. and Coello, C. A. C. (2011). A Multi-objectiveParticle Swarm Optimizer Based on Decomposition. In Krasnogor, N. and Lanzi, P. L.,editors, GECCO, pages 69–76. ACM.

[Mendel et al., 1965] Mendel, G., Fisher, R. A., and Bennett, J. H. (1965). Experimentsin plant hybridisation: Mendel’s original paper in English translation, with commentaryand assessment by the late Sir Ronald A. Fisher, together with a reprint of W. Bateson’sbiographical notice of Mendel / Gregor Mendel ; edited by J.H. Bennett . Oliver andBoyd, Edinburgh.

[Miettinen, 1999] Miettinen, K. (1999). Nonlinear Multiobjective Optimization, volume 12of International Series in Operations Research and Management Science. Kluwer Aca-demic Publishers, Dordrecht.

[Mostaghim et al., 2007] Mostaghim, S., Branke, J., and Schmeck, H. (2007). Multiobjec-tive Particle Swarm Optimization on Computer Grids. In Lipson, H., editor, GECCO,pages 869–875. ACM.

[Mostaghim and Teich, 2004] Mostaghim, S. and Teich, J. (2004). Covering Pareto-optimalFronts by Subswarms in Multi-objective Particle Swarm Optimization. In IEEE Pro-ceedings, World Congress on Computational Intelligence (CEC’04), pages 1404–1411,Portland, USA.

[Osyczka, 1985] Osyczka, A. (1985). Multicriterion Optimization in Engineering with FOR-TRAN Programs. Academic Press.

[Padhye, 2009] Padhye, N. (2009). Comparison of Archiving Methods in MultiobjectiveParticle Swarm Optimization (MOPSO): Empirical Study. In Rothlauf, F., editor, GEC-CO, pages 1755–1756. ACM.

[Parsopoulos and Vrahatis, 2002] Parsopoulos, K. E. and Vrahatis, M. N. (2002). ParticleSwarm Optimization Method in Multiobjective Problems. In SAC, pages 603–607. ACM.

[Raquel and Jr., 2005] Raquel, C. R. and Jr., P. C. N. (2005). An Effective use of CrowdingDistance in Multiobjective Particle Swarm Optimization. In Beyer, H.-G. and O’Reilly,U.-M., editors, GECCO, pages 257–264. ACM.

[Reehuis, 2010] Reehuis, E. (2010). Multiobjective Robust Optimization of Water Distribu-tion Networks. Master’s thesis, Leiden Institute of Advanced Computer Science, LeidenUniversity, The Netherlands.

[Reyes Sierra and Coello Coello, 2006] Reyes Sierra, M. and Coello Coello, C. A. (2006).Multi-Objective Particle Swarm Optimizers: A Survey of the State of the Art. Interna-tional Journal of Computational Intelligence Research, 2(3):287–308.

[Rodrıguez Villalobos, 2011] Rodrıguez Villalobos, C. A. (2011). A New MultiobjectiveEvolutionary Algorithm Based on a Performance Assessment Indicator. Master’s the-sis, Centro de Investigacion y de Estudios Avanzados del Instituto Politecnico Nacional,campus Zacatenco, Departamento de Ciencias de la Computacion, D.F, Mexico.

Cinvestav Departamento de Computacion

Page 115: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

BIBLIOGRAFIA 99

[Rosenberg, 1967] Rosenberg, R. (1967). Simulation of Genetic Populations with Bioche-mical Properties. PhD thesis, Univ. Michigan.

[Santana Quintero and Coello Coello, 2006] Santana Quintero, L. V. and Coello Coello,C. A. (2006). Una introduccion a la Computacion Evolutiva y Algunas de sus Apli-caciones en Economıa y Finanzas. Revista de Metodos Cuantitativos para la Economıa yla Empresa, 2:3–26.

[Schaffer, 1985] Schaffer, J. D. (1985). Multiple Objective Optimization with Vector Eva-luated Genetic Algorithms. In Grefenstette, J. J., editor, ICGA, pages 93–100. LawrenceErlbaum Associates.

[Shi and Eberhart, 1998a] Shi, Y. and Eberhart, R. (1998a). A Modified Particle SwarmOptimizer. Evolutionary Computation Proceedings, 1998. IEEE World Congress onComputational Intelligence., The 1998 IEEE International Conference on, pages 69–73.

[Shi and Eberhart, 1998b] Shi, Y. and Eberhart, R. C. (1998b). Parameter Selection inParticle Swarm Optimization, volume 160. Springer.

[Srinivas and Deb, 1994] Srinivas, N. and Deb, K. (1994). Multiobjective optimization usingnondominated sorting in genetic algorithms. Evolutionary Computation, 2(3):221–248.

[Veldhuizen and Lamont, 1998] Veldhuizen, D. A. V. and Lamont, G. B. (1998). Multi-objective Evolutionary Algorithm Research: A History and Analysis. Technical ReportTR-98-03, Department of Electrical and Computer Engineering, Graduate School of En-gineering, Air Force Institute of Technology, Wright-Patterson AFB, Ohio.

[Weismann, 1893] Weismann, A. (1893). The germ-plasm : a theory of heredity / by A.Weismann ; translated by W. Newton Parker and H. Ronnfeldt . W. Scott, London :.

[Yang and Ding, 2007] Yang, Q. and Ding, S. (2007). Novel Algorithm to Calculate Hyper-volume Indicator of Pareto Approximation Set. CoRR, abs/0704.1196.

[Yang, 2008] Yang, X.-S. (2008). Nature-Inspired Metaheuristic Algorithms. Luniver Press.

[Zitzler et al., 2006] Zitzler, E., Brockhoff, D., and Thiele, L. (2006). The HypervolumeIndicator Revisited: On the Design of Pareto-compliant Indicators Via Weighted Integra-tion. In Obayashi, S., Deb, K., Poloni, C., Hiroyasu, T., and Murata, T., editors, EMO,volume 4403 of Lecture Notes in Computer Science, pages 862–876. Springer.

[Zitzler et al., 2000] Zitzler, E., Deb, K., and Thiele, L. (2000). Comparison of Multiobjecti-ve Evolutionary Algorithms: Empirical Results. Evolutionary Computation, 8(2):173–195.

[Zitzler et al., 2002] Zitzler, E., Laumanns, M., and Thiele, L. (2002). SPEA2: Improvingthe Strength Pareto Evolutionary Algorithm for Multiobjective Optimization. In Gian-nakoglou, K. et al., editors, Evolutionary Methods for Design, Optimisation and Controlwith Application to Industrial Problems (EUROGEN 2001), pages 95–100. InternationalCenter for Numerical Methods in Engineering (CIMNE).

Cinvestav Departamento de Computacion

Page 116: Unidad Zacatenco Departamento de Computacion Uso de un ... · Mientras que en un problema de optimizacio´n mono-objetivo se busca la mejor solucio´n posible en todo el espacio de

100 BIBLIOGRAFIA

[Zitzler and Thiele, 1998] Zitzler, E. and Thiele, L. (1998). Multiobjective OptimizationUsing Evolutionary Algorithms: A Comparative Case Study. In Eiben, A. E., Back, T.,Schoenauer, M., and Schwefel, H.-P., editors, PPSN, volume 1498 of Lecture Notes inComputer Science, pages 292–304. Springer.

[Zitzler and Thiele, 1999] Zitzler, E. and Thiele, L. (1999). Multiobjective EvolutionaryAlgorithms: a Comparative Case Study and the Strength Pareto Approach. IEEE Trans.Evolutionary Computation, 3(4):257–271.

Cinvestav Departamento de Computacion