Herramientas Para Algoritmos Evolutivos Multi Objetivo

187
Repositorio de la Universidad de Zaragoza – Zaguan http://zaguan.unizar.es Tesis Doctoral Herramientas para algoritmos evolutivos multiobjetivo Autora Isolina Alberto Moralejo Director/es Pedro M. Mateo Collazos Facultad de Ciencias. Departamento de Métodos Estadísticos 2011

description

Tesis doctoral

Transcript of Herramientas Para Algoritmos Evolutivos Multi Objetivo

Page 1: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Repositorio de la Universidad de Zaragoza – Zaguan http://zaguan.unizar.es  

Tesis Doctoral

Herramientas para algoritmos evolutivos multiobjetivo

Autora

Isolina Alberto Moralejo

Director/es

Pedro M. Mateo Collazos

Facultad de Ciencias.

Departamento de Métodos Estadísticos 2011

Page 2: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Herramientas para algoritmosevolutivos multiobjetivo

Memoria presentada por Isolina Alberto Moralejopara optar al grado de Doctor en Ciencias (Matematicas)

Dirigida porDr. D. Pedro M. Mateo Collazos

Departamento de Metodos EstadısticosUniversidad de Zaragoza

Zaragoza, mayo de 2011

Page 3: Herramientas Para Algoritmos Evolutivos Multi Objetivo
Page 4: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Indice general

Presentacion I

Autorizacion para la presentacion de Tesis Doctoral en modali-dad de compendio de publicaciones III

Certificacion V

Financiacion VII

1. Introduccion 11.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3. Conceptos basicos y metodologıa general . . . . . . . . . . . . . 5

1.3.1. Problema de optimizacion multiobjetivo . . . . . . . . . 51.3.2. Algoritmos evolutivos . . . . . . . . . . . . . . . . . . . 61.3.3. Operadores de recombinacion . . . . . . . . . . . . . . . 81.3.4. Operadores de mutacion . . . . . . . . . . . . . . . . . . 111.3.5. Operadores de seleccion . . . . . . . . . . . . . . . . . . 141.3.6. Medidas para la evaluacion de la calidad de las poblaciones 151.3.7. Colecciones de problemas test . . . . . . . . . . . . . . . 16

2. Optimization with simulation and multiobjective analysis inindustrial decision-making: A case study 212.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.2. Aportaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.3. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.3.1. Simulacion del sistema . . . . . . . . . . . . . . . . . . . 232.3.2. Optimizacion del sistema . . . . . . . . . . . . . . . . . 23

2.4. Resultados obtenidos . . . . . . . . . . . . . . . . . . . . . . . . 262.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3. Representation and management of MOEA populations basedon graphs 293.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3

Page 5: Herramientas Para Algoritmos Evolutivos Multi Objetivo

4 Indice general

3.2. Aportaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.3. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.3.1. Definiciones previas y notacion . . . . . . . . . . . . . . 313.3.2. Grafos de dominacion . . . . . . . . . . . . . . . . . . . 323.3.3. Construccion del grafo de dominacion irreducible . . . . 343.3.4. Actualizacion del grafo de dominacion irreducible . . . . 363.3.5. Calculo de la complejidad de los algoritmos propuestos . 38

3.4. Resultados obtenidos. Experimento computacional . . . . . . . 403.4.1. Primer experimento: Requerimientos de almacenamiento 403.4.2. Segundo experimento: Tiempo computacional para la

construccion del grafo de dominacion irreducible . . . . 403.4.3. Tercer experimento: Insercion y eliminacion de nodos . . 413.4.4. Cuarto experimento: Modificacion del proceso de selec-

cion del algoritmo NSGA −II . . . . . . . . . . . . . . 413.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4. A crossover operator that uses Pareto Optimality in its defi-nition 434.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434.2. Aportaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.3. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.3.1. Esquema general . . . . . . . . . . . . . . . . . . . . . . 444.3.2. Factores de correccion . . . . . . . . . . . . . . . . . . . 464.3.3. Planteamiento de los experimentos . . . . . . . . . . . . 47

4.4. Resultados obtenidos . . . . . . . . . . . . . . . . . . . . . . . . 484.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5. A Mutation Operator based on a Pareto Ranking for Multi-Objective Evolutionary Algorithms 515.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515.2. Aportaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525.3. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

5.3.1. Mecanismo basado en el ranking . . . . . . . . . . . . . 525.3.2. Mecanismo basado en la iteracion . . . . . . . . . . . . . 545.3.3. Seleccion de parametros en los operadores RMO, PMO,

NUMO y GMO . . . . . . . . . . . . . . . . . . . . . . 555.3.4. Planteamiento de los experimentos . . . . . . . . . . . . 57

5.4. Resultados obtenidos . . . . . . . . . . . . . . . . . . . . . . . . 585.4.1. Primer experimento: Comparacion de PRBMO frente

a RMO, NUMO, PMO y GMO . . . . . . . . . . . . . 585.4.2. Segundo experimento: implementacion de NSGA− II . 59

5.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

Apendices 63

Page 6: Herramientas Para Algoritmos Evolutivos Multi Objetivo

A. Artıculos publicados 63A.1. Optimization with simulation and multiobjective analysis in in-

dustrial decision-making: A case study . . . . . . . . . . . . . . 63A.2. Representation and management of MOEA populations based

on graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75A.3. A crossover operator that uses Pareto Optimality in its definition 91A.4. A Mutation Operator based on a Pareto Ranking for Multi-

Objective Evolutionary Algorithms . . . . . . . . . . . . . . . . 119

B. Indices de impacto 157Bibliografıa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

Page 7: Herramientas Para Algoritmos Evolutivos Multi Objetivo

6 Indice general

Page 8: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Indice de figuras

1.1. Esquema de un algoritmo evolutivo basico. . . . . . . . . . . . . . . 61.2. Ilustracion del ranking propuesto por Goldberg (1989) para un prob-

lema de dos funciones objetivo de mınimo. . . . . . . . . . . . . . . 71.3. Recombinacion naıve. . . . . . . . . . . . . . . . . . . . . . . . . 81.4. Recombinacion lineal. . . . . . . . . . . . . . . . . . . . . . . . . 91.5. Recombinacion blend. . . . . . . . . . . . . . . . . . . . . . . . . 91.6. Recombinacion binaria simulada. . . . . . . . . . . . . . . . . . . . 101.7. Mutacion aleatoria. . . . . . . . . . . . . . . . . . . . . . . . . . . 111.8. Mutacion polinomial. . . . . . . . . . . . . . . . . . . . . . . . . . 121.9. Mutacion no uniforme. . . . . . . . . . . . . . . . . . . . . . . . . 13

2.1. Diagrama del proceso de optimizacion con simulacion. . . . . . . . . 25

3.1. Representacion grafica de la poblacion de la Tabla 3.1 en el espacio

de funciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.2. Grafo de dominacion correspondiente a la poblacion de la Tabla 3.1. 343.3. Grafo de dominacion irreducible asociado al grafo de la Figura 3.2. . 353.4. Eliminacion de nodos del GDI. . . . . . . . . . . . . . . . . . . . . 373.5. Insercion de nodos en el GDI. . . . . . . . . . . . . . . . . . . . . 39

4.1. Factor de correccion en funcion de la distancia entre soluciones. . . . 46

5.1. Funcion λ(r) para distintos valores del parametro β. . . . . . . . . . 535.2. Evolucion de la amplitud maxima de la mutacion δ(t,r). . . . . . . . 56

B.1. European Journal of Operational Research. . . . . . . . . . . . . . 158B.2. TOP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159B.3. Journal of Heuristics. . . . . . . . . . . . . . . . . . . . . . . . . . 160B.4. Journal of Heuristics. . . . . . . . . . . . . . . . . . . . . . . . . . 161

Page 9: Herramientas Para Algoritmos Evolutivos Multi Objetivo

8 Indice de figuras

Page 10: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Indice de tablas

1.1. Coleccion de problemas test. . . . . . . . . . . . . . . . . . . . . 171.2. Problemas test ZDT y DTLZ originales relacionados con los

utilizados en los experimentos. . . . . . . . . . . . . . . . . . . 181.3. Propiedades de los problemas test de las versiones rotadas y/o

desplazadas de los problemas de la Tabla 1.2. S: Separable; NS:No separable; U: Unimodal; M: Multimodal. . . . . . . . . . . . 20

3.1. Ejemplo de poblacion y valores de las funciones objetivo (f1, f2). 333.2. Relaciones de dominacion entre las soluciones de la Tabla 3.1. . 343.3. Complejidad de los procesos. . . . . . . . . . . . . . . . . . . . 39

5.1. Valores de los parametros de los operadores. . . . . . . . . . . . 56

Page 11: Herramientas Para Algoritmos Evolutivos Multi Objetivo

10 Indice de tablas

Page 12: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Presentacion

De acuerdo con la normativa actual de la Universidad de Zaragoza, queregula la elaboracion y defensa de tesis doctorales, Tıtulo IV, Capıtulo IIdel Acuerdo de 17 de diciembre de 2008 del Consejo de Gobierno de estaUniversidad, la memoria titulada “Herramientas para algoritmos evolutivosmultiobjetivo” que presenta Da. Isolina Alberto Moralejo para optar al gradode Doctor se presenta como compendio de las siguientes publicaciones:

Alberto I., Azcarate C., Mallor F. and Mateo P. M. (2002), Optimiza-tion with simulation and multiobjective analysis in industrial decision-making: A case study. European Journal of Operational Research, 140(2):373-383.

Alberto I. and Mateo P. M. (2004), Representation and management ofMOEA populations based on graphs. European Journal of OperationalResearch, 159(1): 52–65.

Alberto I. and Mateo P. M. (2009), A crossover operator that uses ParetoOptimality in its definition. TOP, DOI 10.1007/s11750-009-0082-7.

Mateo P. M. and Alberto I. (2011), A Mutation Operator based on aPareto Ranking for Multi-Objective Evolutionary Algorithms. Journalof Heuristics, DOI 10.1007/s10732-011-9156-4.

Esta memoria ha sido realizada dentro del programa de doctorado Es-tadıstica e Investigacion Operativa del Departamento de Metodos Estadısticosde la Universidad de Zaragoza, bajo la direccion del Doctor D. Pedro M. MateoCollazos.

Zaragoza, mayo de 2011

La doctoranda El director

Fdo.: Isolina Alberto Moralejo Fdo.: Pedro M. Mateo Collazos

i

Page 13: Herramientas Para Algoritmos Evolutivos Multi Objetivo
Page 14: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Autorizacion para lapresentacion de TesisDoctoral en modalidad decompendio de publicaciones

D. Pedro Mateo Collazos, Profesor Titular del Departamento de MetodosEstadısticos de la Universidad de Zaragoza,

AUTORIZA

La presentacion, en la modalidad de compendio de publicaciones, de lamemoria de Tesis Doctoral titulada “Herramientas para algoritmos evolutivosmultiobjetivo” presentada por Da. Isolina Alberto Moralejo para optar al gradode Doctor en Ciencias (Matematicas) por la Universidad de Zaragoza, y cer-tifica que ha sido realizada bajo su direccion en el Departamento de MetodosEstadısticos de la Universidad de Zaragoza.

Y para que conste a los efectos oportunos expido la presente autorizacionen Zaragoza, a 12 de mayo de 2011

Fdo.: Pedro M. Mateo Collazos

iii

Page 15: Herramientas Para Algoritmos Evolutivos Multi Objetivo
Page 16: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Certificacion

D. Pedro Mateo Collazos, Profesor Titular del Departamento de MetodosEstadısticos de la Universidad de Zaragoza,

CERTIFICA

Que la Tesis Doctoral titulada “Herramientas para algoritmos evolutivosmultiobjetivo” ha sido realizada por la Licenciada en Ciencias MatematicasDa. Isolina Alberto Moralejo en el Departamento de Metodos Estadısticos dela Universidad de Zaragoza y reune, a su juicio, las condiciones requeridaspara optar al grado de Doctor en Ciencias (Matematicas).

Zaragoza, a 12 de mayo de 2011

Fdo.: Pedro M. Mateo Collazos

v

Page 17: Herramientas Para Algoritmos Evolutivos Multi Objetivo
Page 18: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Financiacion

Los trabajos que se incluyen en esta memoria han sido parcialmente finan-ciados por los siguientes proyectos de investigacion:

Por el Gobierno de Navarra y Reciclauto S.L. a traves del Proyecto LIFEProject of European Community LIFE99 ENV/E/000375.

Por la Universidad de Zaragoza a traves del proyecto Algoritmos Evolu-tivos Multiobjetivo del 1 de enero de 2004 al 31 de diciembre de 2004.

Por el Ministerio de Educacion y Ciencia a traves del proyecto Pro-gramacion binivel: Propiedades y algoritmos. Aplicacion a la evaluaciondel rendimiento de sistemas hidrologicos, MTM2004-00177, del 13 dediciembre de 2004 al 13 de diciembre de 2007.

Por el Ministerio de Educacion y Ciencia a traves del Proyecto MTM2007-66893.

vii

Page 19: Herramientas Para Algoritmos Evolutivos Multi Objetivo
Page 20: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Capıtulo 1

Introduccion

1.1. Introduccion

En la presente memoria se incluyen las cuatro publicaciones que se enu-meran a continuacion:

• Alberto I., Azcarate C., Mallor F. and Mateo P. M. (2002), Optimiza-tion with simulation and multiobjective analysis in industrial decision-making: A case study. European Journal of Operational Research, 140(2):373-383.

• Alberto I. and Mateo P. M. (2004), Representation and management ofMOEA populations based on graphs. European Journal of OperationalResearch, 159(1): 52–65.

• Alberto I. and Mateo P. M. (2009), A crossover operator that uses ParetoOptimality in its definition. TOP, DOI 10.1007/s11750-009-0082-7 (26paginas).

• Mateo P. M. and Alberto I. (2011), A Mutation Operator based on aPareto Ranking for Multi-Objective Evolutionary Algorithms. Journalof Heuristics, DOI 10.1007/ s10732-011-9156-4 (36 paginas).

Todas ellas se engloban en el topico de los Algoritmos Evolutivos Multiob-jetivo.

Hay que diferenciar el primero de estos artıculos titulado Optimization withsimulation and multiobjective analysis in industrial decision-making: A casestudy de los restantes. Este trabajo constituyo la introduccion de la doctorandaen el campo de los Algoritmos Evolutivos Multiobjetivo. En el, a partir de unmodelo de simulacion de una planta de reciclado de Vehıculos Fuera de Uso

1

Page 21: Herramientas Para Algoritmos Evolutivos Multi Objetivo

2 Capıtulo 1 Introduccion

(VFU) inicialmente desarrollado para la empresa RECICLAUTO NAVARRAS.L., dentro del proyecto LIFE99 ENV/E/000375, se construyo un problemade programacion meta con el objeto de optimizar ciertas medidas de interesdel sistema; sistema que fue optimizado mediante el diseno y aplicacion deun Algoritmo Evolutivo que generaba soluciones y una herramienta de simu-lacion que las evaluaba. Este fue el punto de partida de la investigacion que,aunque inicialmente fue de caracter mas aplicado, posteriormente se centro enaspectos mas teoricos de los Algoritmos Evolutivos Multiobjetivo.

Los restantes tres trabajos: Representation and management of MOEApopulations based on graphs, A crossover operator that uses Pareto Optimalityin its definition y A Mutation Operator based on a Pareto Ranking for Multi-Objective Evolutionary Algorithms se centran en el desarrollo de elementosutilizados en los Algoritmos Evolutivos Multiobjetivo (Algoritmos Geneticos,Estrategias Evolutivas, etc) con el proposito de aumentar su eficiencia.

El primero, Representation and management of MOEA populations basedon graphs, se centra en un elemento no demasiado estudiado en su momento nien la actualidad; a fecha de hoy, y hasta lo que la doctoranda ha encontrado,unos pocos trabajos relevantes se han dedicado a temas similares y solo dos deellos al mismo tema. El elemento es el manejo eficiente de las poblaciones delos Algoritmos Evolutivos Multiobjetivo. La manera habitual es utilizar listaso matrices para contener la informacion de las poblaciones. La doctoranda, eneste trabajo, propone la utilizacion de una metodologıa para el almacenamien-to y manipulacion de la poblacion en la que la idea principal es construir ungrafo basado en las relaciones de eficiencia entre los individuos de la poblaciony evolucionar la poblacion insertando y eliminando nodos y arcos en este grafo.

Los dos trabajos siguientes se dedican al diseno de operadores de variacionde la poblacion del Algoritmo Evolutivo Multiobjetivo que utilicen expresa-mente la calidad de las soluciones, en terminos de Pareto eficiencia, de cara aarticular su funcionamiento. En el primero de ellos, A crossover operator thatuses Pareto Optimality in its definition, se presenta un nuevo operador de re-combinacion que hace uso de la optimalidad Pareto y asigna distinto rangomaximo de variacion dependiendo de la calidad de la solucion. Basicamente,este operador utiliza las soluciones eficientes para centrar la busqueda en en-tornos cercanos de la solucion (explotacion) y las no eficientes para hacerlo enregiones mas lejanas (exploracion), teniendo en cuenta, ademas, la distanciaentre ellas. En el segundo artıculo, A Mutation Operator based on a ParetoRanking for Multi-Objective Evolutionary Algorithms, se define un nuevo ope-rador de mutacion cuya principal novedad es el hecho de que utiliza la calidadde la solucion, medida en terminos de la capa Pareto1 en la que la solucionesta localizada, para modular la amplitud maxima de la mutacion.

1La definicion de este concepto esta en la Seccion 1.3.2 de la pagina 7.

Page 22: Herramientas Para Algoritmos Evolutivos Multi Objetivo

1.1. Introduccion 3

Destacar ademas, que los cuatro artıculos que componen esta Tesis estanpublicados en revistas recogidas en posiciones relevantes del Journal CitationReport, como se muestra en el Apendice B. Ademas, hasta la fecha, el primerode ellos ha sido citado en 13 trabajos, y el segundo, en 3 (citas localizadasutilizando la herramienta “Scopus” (www.scopus.com) y Google academico).Los dos ultimos, dada su reciente aparicion, todavıa no han recibido citas.

La continuacion de estos ultimos artıculos es la incorporacion de estas he-rramientas, tanto el mecanismo de almacenamiento como los operadores devariacion, en dos algoritmos evolutivos clasicos como NSGA− II y SPEA2,para comprobar como su uso mejora el rendimiento de estos. Un trabajo pre-liminar sobre este tema fue presentado en The Pyrenees International Work-shop and Summer School on Statistics, Probability and Operations Research,celebrado en Jaca en septiembre de 2009, y aparecera en los Proceedings ofthe Pyrenees International Workshop and Summer School on Statistics, Pro-bability and Operations Research, (Alberto y Mateo, 2009b). Actualmente seesta trabajando en este problema.

Existen muchos elementos de la Computacion Evolutiva Multiobjetivo enlos que es deseable la aportacion de nuevos trabajos y esfuerzos. En esta memo-ria se presentan resultados para tres de estos: un primer trabajo de modeladoy resolucion de un problema real, un segundo trabajo dedicado al manejo efi-ciente de poblaciones y dos trabajos dedicados al desarrollo de operadores devariacion especıficos para problemas de optimizacion multiobjetivo.

Dado que esta Tesis se presenta como compendio de publicaciones, puedeno haber uniformidad en cuanto a la notacion utilizada en los distintos artıcu-los que la forman. Sin embargo, cada uno de estos artıculos es autocontenidoen el sentido de que en el se presentan las notaciones y los conceptos necesariospara su desarrollo.

Esta memoria esta estructurada de la siguiente manera. En la Seccion1.2 de este capıtulo, se presentan los objetivos generales de la investigacion.A continuacion, la Seccion 1.3 muestra los conceptos basicos relativos a lainvestigacion: problemas multiobjetivo, algoritmos evolutivos y operadores derecombinacion y mutacion; y las cuestiones metodologicas generales relativasa los experimentos realizados: las medidas de evaluacion de la calidad de lassoluciones y las colecciones de problemas test utilizadas en los experimentos.En los cuatro capıtulos siguientes, del 2 al 5, se resumen cada una de laspublicaciones. Finalmente, en el Apendice A se incluyen copias de los cuatrotrabajos; y en el Apendice B, los factores de impacto de las revistas.

Page 23: Herramientas Para Algoritmos Evolutivos Multi Objetivo

4 Capıtulo 1 Introduccion

1.2. Objetivos

Los problemas con mas de un objetivo surgen de forma natural en la ma-yorıa de las disciplinas y, durante mucho tiempo, su resolucion ha sido un retopara los investigadores. A pesar de que se han desarrollado muchas tecnicasde Investigacion Operativa para abordar estos problemas, la complejidad desu resolucion demanda tecnicas alternativas.

El uso de tecnicas y metodos heurısticos ha permitido a los investigadorestratar problemas reales que, debido a su tamano o caracterısticas (incumpli-miento de alguna condicion de regularidad, por ejemplo), eran inabordablesutilizando las tecnicas clasicas. En particular, el uso de Algoritmos Evolutivos(AEs) para resolver problemas de optimizacion multiobjetivo ha sido motiva-do, principalmente, por la naturaleza de aquellos, basada en poblaciones, quepermite la generacion de varios elementos del conjunto Pareto optimo en unaunica ejecucion del algoritmo. Ademas, la complejidad de la optimizacion de losproblemas multiobjetivo (por ejemplo, espacios muy amplios, incertidumbre,ruido, curvas Pareto disjuntas, etc.) puede hacer que las tecnicas tradicionalesde Investigacion Operativa para resolver estos problemas sean poco utiles.

Como se ha mencionado, todos los artıculos que se presentan en esta memo-ria estan dentro del ambito de los Algoritmos Evolutivos Multiobjetivo.

El objetivo principal de la Tesis es el desarrollo de herramientas que au-mentaran la eficiencia de los Algoritmos Evolutivos Multiobjetivo. Mas con-cretamente se pretende:

• Definir nuevas formas de representacion y manipulacion de los individuosde las poblaciones de los Algoritmos Evolutivos que permitan disponerde la informacion sobre las relaciones de dominacion entre ellos mas “amano”, que ahorren tiempo y espacio de computacion y que nos permitandefinir nuevos operadores de recombinacion y mutacion.

• Definir nuevos operadores de recombinacion y mutacion que utilicen lainformacion sobre la calidad de las soluciones involucradas y que denlugar a individuos “mejores”.

Dado que la Tesis se presenta como compendio de publicaciones, paradetallar las aportaciones de la doctoranda se va a seguir el orden cronologicode los artıculos presentados, dedicando un capıtulo a cada uno de ellos. Ası,al finalizar este capıtulo se presentan cuatro mas, uno para cada uno de losartıculos que componen la memoria. En cada capıtulo se detallan los objetivos,las aportaciones, el resumen, los resultados obtenidos y las conclusiones.

Page 24: Herramientas Para Algoritmos Evolutivos Multi Objetivo

1.3. Conceptos basicos y metodologıa general 5

1.3. Conceptos basicos y metodologıa general

En esta seccion se presentan los conceptos basicos relacionados con losartıculos de esta Tesis, ası como las herramientas metodologicas utilizadas.

1.3.1. Problema de optimizacion multiobjetivo

Un problema de optimizacion multiobjetivo se caracteriza por tener unconjunto de funciones objetivo, generalmente de naturaleza conflictiva, que sehan de optimizar. Puede enunciarse formalmente, sin perdida de generalidad,de la siguiente manera:

Minimizar f(x) = (f1(x), f2(x), . . . , fq(x)) ,

sujeto a x = (x1, x2, . . . , xp) ∈ D ⊆ Rp.

En general, los problemas multiobjetivo no suelen tener una solucion opti-ma, sino que se acostumbra a considerar que sus soluciones estan formadas portodas las soluciones factibles tales que las componentes de la funcion objetivof(x) no pueden ser igualadas y al menos una de ellas mejorada estrictamentepor ninguna otra solucion factible. Estas soluciones se llaman Pareto optimaso eficientes.

De una manera mas formal:

Definicion 1. Eficiencia. Una solucion factible x ∈ D es Pareto optimao eficiente si y solo si @y ∈ D tal que ∀k = 1, 2, . . . , q, fk(y) ≤ fk(x) y∃k ∈ {1, 2, . . . , q} tal que fk(y) < fk(x).

Definicion 2. Dominancia Pareto. Dadas dos soluciones x,y ∈ D talesque ∀k = 1, 2, . . . , q, fk(x) ≤ fk(y) y ∃k ∈ {1, 2, . . . , q} tal que fk(x) < fk(y),diremos que la solucion x domina a la solucion y, y lo denotaremos x ≺ y. Sifk(x) ≤ fk(y),∀k, diremos que la solucion x domina debilmente a la soluciony, y lo denotaremos x ≼ y.

Definicion 3. Conjunto Pareto optimo. Para un problema de optimizacionmultiobjetivo dado, f(x), el conjunto Pareto optimo, P true, se define como:

P true = {x ∈ D|@x′ ∈ D tal que x′ ≺ x}.

Definicion 4. Pareto front. Para un problema de optimizacion multiobje-tivo dado, f(x) y su conjunto Pareto optimo, P true, se define el Pareto front,PF true como:

PF true = {u = f(x)|x ∈ P true}.

Page 25: Herramientas Para Algoritmos Evolutivos Multi Objetivo

6 Capıtulo 1 Introduccion

1.3.2. Algoritmos evolutivos

Los Algoritmos Evolutivos son tecnicas heurısticas de busqueda y opti-mizacion que, en su version multiobjetivo, han mostrado ser muy efectivos enla aproximacion de la resolucion de gran cantidad de problemas. Los algoritmosevolutivos estan basados en la evolucion natural y la genetica. La diferenciamas importante entre las tecnicas clasicas de optimizacion y los algoritmosevolutivos es que estos procesan en cada iteracion una poblacion de solucionespotenciales en lugar de una unica solucion del problema. Esta caracterısticales da a los algoritmos evolutivos una gran ventaja para su uso en la resolucionde problemas de optimizacion multiobjetivo.

Denotemos con Pt la poblacion del algoritmo evolutivo multiobjetivo en lat-esima iteracion y con n su tamano. Los individuos de la poblacion, que secorresponden con soluciones del problema multiobjetivo, los denotaremos con

x(i,t) = (x(i,t)1 , . . . , x

(i,t)p ), i = 1, 2, . . . , n. El esquema basico de un algoritmo

evolutivo se muestra en la Figura 1.1.

generar poblacion inicial P0

evaluar P0

t := 0mientras (no se verifica la condicion de finalizacion)

variar Pt

evaluar Pt

seleccionar Pt+1

t := t+ 1fin mientras

Figura 1.1: Esquema de un algoritmo evolutivo basico.

Los tres operadores principales asociados a un algoritmo evolutivo son losoperadores de variacion: recombinacion y mutacion; y los de seleccion.

• Operador de recombinacion. Su funcion depende del tipo de algorit-mo en el que se incluya. Por ejemplo, en Programacion Genetica es elunico operador y es responsable de toda la busqueda, en la ProgramacionEvolutiva no se utiliza y en Algoritmos Geneticos es el principal respon-sable de realizar la busqueda en el espacio de soluciones (Eiben y Smith(2007), p. 22). Hay gran cantidad de operadores de recombinacion, pero,en casi todos, se selecciona de forma aleatoria a dos individuos de lapoblacion, llamados padres, y estos se recombinan para crear dos indivi-duos, llamados hijos. En general, los hijos seran diferentes de sus padres,pero con caracterısticas geneticas de ambos progenitores.

Page 26: Herramientas Para Algoritmos Evolutivos Multi Objetivo

1.3. Conceptos basicos y metodologıa general 7

• Operador de mutacion. El papel de este operador nuevamente de-pende del tipo de algoritmo en el que se incluya. Por ejemplo, en Al-goritmos Geneticos es el encargado de contribuir a la diversidad de lapoblacion, y en Programacion Evolutiva es el unico operador encargadode toda la busqueda. Otra caracterıstica importante es que el operadorde mutacion es el responsable de garantizar que cualquier solucion delespacio es alcanzable (Eiben y Smith (2007), p. 21). En general, es unoperador unario que altera localmente los individuos para crear otrosque, con suerte, seran mejores.

• Operador de seleccion. Basado en una medida de adecuacion de lassoluciones, se encarga de decidir que individuos formaran parte de lasiguiente poblacion. En el caso de problemas uniobjetivo, la funcion quemide la adecuacion de las soluciones puede ser directamente el valor dela funcion objetivo. Sin embargo, en el caso multiobjetivo, no es posibledefinir un orden total sobre el conjunto de soluciones. Debido a esto,suelen utilizarse distintos rankings que definen un orden parcial en losindividuos de la poblacion. En los trabajos que se presentan posterior-mente, se utilizo uno de ellos aunque se podrıa haber utilizado otrocualquiera de los existentes en la literatura. El ranking utilizado fueel propuesto por Goldberg (1989), que asigna un valor igual a 1 a lassoluciones eficientes. A continuacion, estas soluciones se eliminan de lapoblacion y a las eficientes de este nuevo conjunto se les asigna ranking2. El proceso continua de esta forma hasta que no quedan soluciones.En la Figura 1.2 se muestra un ejemplo con las soluciones agrupadassiguiendo este procedimiento. Las soluciones con ranking 1 formarıan laprimera capa Pareto; las de ranking 2, la segunda; etc.

Figura 1.2: Ilustracion del ranking propuesto por Goldberg (1989) para un problema

de dos funciones objetivo de mınimo.

Page 27: Herramientas Para Algoritmos Evolutivos Multi Objetivo

8 Capıtulo 1 Introduccion

1.3.3. Operadores de recombinacion

En el artıculo: A crossover operator that uses Pareto optimality in its de-finition se definio un nuevo operador de recombinacion que utilizaba la in-formacion de las soluciones eficientes de una forma mas provechosa que losoperadores habituales. Con el objeto de comprobar su buen comportamiento,este operador se comparo con otros operadores habituales en la literatura yutilizados en gran cantidad de algoritmos. Dichos operadores se muestran acontinuacion.

Sean x(1,t) = (x(1,t)1 , . . . , x

(1,t)p ) y x(2,t) = (x

(2,t)1 , . . . , x

(2,t)p ) dos soluciones

de la poblacion, correspondientes a la iteracion t de un algoritmo evolutivo,que se van a recombinar.

• Recombinacion naıve o standard one-point crossover (C1), Holland (1975):Este operador selecciona un punto aleatorio de cruce j entre 2 y p e inter-cambia las componentes de la j-esima a la p-esima en ambas soluciones.En la Figura 1.3, y con p = 2, se recombinan las soluciones x(1,t) =

(x(1,t)1 , x

(1,t)2 ) y x(2,t) = (x

(2,t)1 , x

(2,t)2 ) tomando como punto de cruce la se-

gunda componente, obteniendo los descendientes x(1,t+1) = (x(1,t)1 , x

(2,t)2 )

y x(2,t+1) = (x(2,t)1 , x

(1,t)2 ).

Figura 1.3: Recombinacion naıve.

• Recombinacion lineal (C2), Wright (1991): Este operador crea tres des-cendientes a partir de dos padres. El valor de la i-esima componente delos descendientes se obtiene de acuerdo con las expresiones:

0.5 · (x(1,t)i + x(2,t)i ),

1.5 · x(1,t)i − 0.5 · x(2,t)i , y

−0.5 · x(1,t)i + 1.5 · x(2,t)i .

Posteriormente se seleccionan los dos mejores descendientes y el tercerose descarta. En el artıculo se ha utilizado una ligera modificacion de este

Page 28: Herramientas Para Algoritmos Evolutivos Multi Objetivo

1.3. Conceptos basicos y metodologıa general 9

operador que consiste en mantener los tres descendientes generados enlugar de seleccionar los dos mejores. En la Figura 1.4 se ilustra el efecto

de este operador, donde x(L)i y x

(U)i , son las cotas inferior y superior,

respectivamente, de la componente i-esima (i = 1, . . . , p) del problema,y los descendientes aparecen marcados con cırculos huecos.

Figura 1.4: Recombinacion lineal.

• Recombinacion blend (C3), Eshelman y Schaffer (1993): Este operador,tambien denotado con BLX-α, genera los individuos de acuerdo con la

siguiente formula (suponiendo que x(1,t)i < x

(2,t)i ):

(1− γi) · x(1,t)i + γi · x(2,t)i ,

donde γi = (1 + 2α) · ui − α, ui ∈ U(0, 1) y α es un parametro quedetermina la amplitud del intervalo en el que se van a obtener los nuevosindividuos. Una propiedad muy importante de este operador es que si lospadres estan proximos entre si, entonces los descendientes estaran tam-bien proximos a los padres. Esto constituye un mecanismo adaptativo:en las generaciones iniciales, cuando generalmente los padres no estanproximos entre si, el operador tiende a buscar en todo el espacio de va-riables (exploracion); y cuando el algoritmo itera y las soluciones tiendena estar mas proximas, el operador lleva a cabo una busqueda localizada(explotacion). En la Figura 1.5 aparece marcado con una lınea el inter-valo en el que se generaran los descendientes utilizando una distribucionuniforme.

Figura 1.5: Recombinacion blend.

Page 29: Herramientas Para Algoritmos Evolutivos Multi Objetivo

10 Capıtulo 1 Introduccion

• Recombinacion binaria simulada (C4), Deb y Agrawal (1995): Este ope-rador genera las componentes de los descendientes de la siguiente mane-ra:

x(1,t+1)i = 0.5 ·

[(1 + βi) · x(1,t)i + (1− βi) · x(2,t)i

]y

x(2,t+1)i = 0.5 ·

[(1− βi) · x(1,t)i + (1 + βi) · x(2,t)i

],

donde

βi =

(2 · ui)1

η+1 , si ui ≤ 0.5,(1

2·(1−ui)

) 1η+1

, en otro caso,

ui ∈ U(0, 1) y η es un numero real no negativo. Valores grandes deη dan probabilidades altas de crear soluciones proximas a los padres,mientras que valores pequenos permiten seleccionar como descendientesa soluciones distantes. Notar que los dos descendientes son simetricosrespecto a los padres. En la Figura 1.6, la lınea representa la funcionde densidad de la distribucion utilizada para generar los descendientes.En caso de que los padres esten alejados entre si, habra una mayorprobabilidad de crear soluciones alejadas de los padres. Sin embargo,si los padres estan proximos, sera menos probable crear descendientesalejados.

Figura 1.6: Recombinacion binaria simulada.

Page 30: Herramientas Para Algoritmos Evolutivos Multi Objetivo

1.3. Conceptos basicos y metodologıa general 11

1.3.4. Operadores de mutacion

En el artıculo: A mutation operator based on a Pareto ranking for mul-tiobjective evolutionary algorithms se definio un nuevo operador de mutacionque utilizaba la informacion sobre la calidad de la solucion que se va a mutar,medida en terminos de la capa Pareto en la que la solucion esta localizada,con el objeto de modular la amplitud maxima de la mutacion.

Para contrastar si el funcionamiento del operador propuesto era mejor queel de otros operadores existentes, de entre los operadores de mutacion clasicosse consideraron cuatro de ellos frente a los que comparar el nuevo. Todosellos son operadores unarios, es decir, operadores que actuan solo sobre unindividuo. Estos operadores son los siguientes:

• Mutacion aleatoria (RMO), (Michalewicz, 1996, p. 102), (Deb, 2001, p.118): Este operador fue uno de los primeros operadores de mutacion.En la version original de Michalewicz (1996), dado un individuo x(t) =

(x(t)1 , . . . , x

(t)p ) perteneciente a la t-esima poblacion Pt, el operador crea

un valor distribuido uniformemente en el intervalo (x(L)i , x

(U)i ), donde

x(L)i y x

(U)i son las cotas inferior y superior, respectivamente, de la com-

ponente i-esima (i = 1, . . . , p). Utilizaremos una version modificada, in-troducida en Deb (2001), en la cual el valor nuevo de una componentemutada de x(t) se crea en el vecindario del padre de acuerdo con:

x(t+1)i = x

(t)i + ui ·∆ · (x(U)

i − x(L)i ),

donde ui ∼ U [−1, 1] y ∆ es un parametro que representa la amplitudmaxima de la mutacion, como se muestra en la Figura 1.7, donde lalınea representa la funcion de densidad utilizada para crear la nuevacomponente de la solucion.

Figura 1.7: Mutacion aleatoria.

• Mutacion polinomial (PMO), Deb y Goyal (1996): Dada una solucionque actua como padre, este operador genera soluciones cercanas con unaprobabilidad mas alta que soluciones lejanas a el, independientemente

Page 31: Herramientas Para Algoritmos Evolutivos Multi Objetivo

12 Capıtulo 1 Introduccion

de la iteracion. Utiliza una distribucion de probabilidad polinomial de lasiguiente manera:

x(t+1)i = x

(t)i +

(x(U)i − x

(L)i

)· δi,

donde

δi =

{(2 · ui)1/(η+1) − 1, si ui < 0.5,

1− [2 · (1− ui)]1/(η+1), si ui ≥ 0.5,

ui ∼ U [0, 1] y η es un parametro que controla la variabilidad de la per-turbacion. Este operador se ha utilizado, entre otros, en los algoritmosSPEA2 de Zitzler et al. (2001) y NSGA − II de Deb et al. (2002a).En la Figura 1.8 esta representado el comportamiento de este operadorpara diferentes valores del parametro η.

Figura 1.8: Mutacion polinomial.

• Mutacion no uniforme (NUMO), (Michalewicz, 1996, p. 103): Este o-perador hace, en las generaciones iniciales, una busqueda uniforme en elespacio (exploracion), pero esta busqueda es mas local en las generacio-nes finales (explotacion). La probabilidad de crear una solucion cercanaal padre es mayor que la de crearla alejado de el, pero segun avanzanlas iteraciones, esta probabilidad se hace mas y mas grande. Para elcaso uniobjetivo, este operador ha proporcionado buenos resultados y hasido incluso utilizado como elemento principal en el diseno de algoritmosnuevos, como por ejemplo en Zhao et al. (2007) y Deep y Thakur (2007).En la version de Deb (2001) (p. 119), este operador tiene la siguienteforma:

x(t+1)i = x

(t)i + τ ·

(x(U)i − x

(L)i

)·(1− u

(1−t/tmax)b

i

),

donde ui ∼ U [0, 1], tmax es el numero maximo de iteraciones permitido, τvale +1 o -1, con probabilidad 0.5, y b es un parametro que determina elgrado de dependencia de la iteracion. La Figura 1.9 representa la funcionde densidad empleada para la creacion de la nueva componente.

Page 32: Herramientas Para Algoritmos Evolutivos Multi Objetivo

1.3. Conceptos basicos y metodologıa general 13

Figura 1.9: Mutacion no uniforme.

• Mutacion gaussiana (GMO), Schwefel (1981) y Beyer y Schwefel (2002):Se va a utilizar una de las variantes del operador de mutacion gaussianoque es estandar en las Estrategias Evolutivas. Su principal diferenciarespecto a los operadores anteriores recae en el hecho de que los indi-viduos se representan por medio de dos vectores: el primero de ellosrepresenta un punto en el espacio de busqueda, como es habitual, y elsegundo es un vector de desviaciones estandar, normalmente llamadovector de parametros de estrategia, que contiene los parametros que es-tablecen la amplitud de la mutacion. Ademas, cuando se evolucionanlos individuos, se evoluciona toda la representacion, la parte correspon-diente a la solucion y la correspondiente a las desviaciones estandar. Si

(x(t)1 , . . . , x

(t)p , σ

(t)1 , . . . , σ

(t)p ) representa un individuo y sus parametros, el

operador de mutacion trabaja de la siguiente manera:

σ(t+1)i = σ

(t)i · eτ ′·z+τ ·zi , i = 1, . . . , p,

x(t+1)i = x

(t)i + σ

(t+1)i · z′i, i = 1, . . . , p,

donde z, zi y z′i denotan numeros aleatorios siguiendo una distribuciongaussiana de media 0 y desviacion tıpica 1. Este tipo de operadores enlos que algunos de los parametros evolucionan junto con las soluciones sellaman operadores auto-adaptativos. En este caso, las amplitudes de lamutacion evolucionan junto con las soluciones. En las formulas anterio-res, los parametros τ y τ ′ pueden interpretarse como un tipo de tasa deaprendizaje. Segun Schwefel (1995), un buen heurıstico para la eleccionde estas constantes es:

τ =1√

2 · √py τ ′ =

1√2 · p

.

Es mas, para prevenir que las desviaciones estandar, σ(t)i , sean cero, se

fija un valor σ0 y se aplica la siguiente regla: si σ(t+1)i < σ0 entonces

σ(t+1)i = σ0. Finalmente, en contraste a otros operadores, lo habitual es

Page 33: Herramientas Para Algoritmos Evolutivos Multi Objetivo

14 Capıtulo 1 Introduccion

aplicar el operador de mutacion gaussiano a todas las componentes dela solucion, tal y como aparece en las formulas anteriores. Este operadorse ha utilizado ampliamente en problemas de optimizacion uniobjetivo,pero tambien en el diseno de algoritmos evolutivos multiobjetivo, comopor ejemplo en Knowles y Corne (2000); Abbas y Sarker (2002); Donget al. (2007) o Yang et al. (2005).

1.3.5. Operadores de seleccion

En los dos trabajos comentados en los puntos anteriores se plantean ex-perimentos similares en los cuales se utiliza un Algoritmo Evolutivo basicocomo el de la Figura 1.1 en el que, tras la aplicacion del operador de mutaciono de recombinacion, se crea una nueva poblacion temporal consistente en lapoblacion actual junto con los nuevos individuos creados. Sobre esta poblaciontemporal hay que aplicar el operador de seleccion para obtener la poblacionsiguiente. En los trabajos, se han utilizado tres operadores de seleccion dife-rentes: dos de ellos del tipo ruleta (seleccion de supervivientes y de muertes) yotro de tipo elitista. Los tres operadores que se van a presentar necesitan es-tablecer un ranking de los individuos de la poblacion. Para ello se ha utilizadoel propuesto por Goldberg (1989) ya mencionado antes pero se podrıa haberutilizado cualquier otro, por ejemplo el introducido por Fonseca y Fleming(1993) o incluso el definido por Zitzler et al. (2001) para el algoritmo SPEA2.

Los operadores de seleccion considerados son los siguientes:

• Seleccion de supervivientes (S1), (Michalewicz, 1996, p. 34): Este ope-rador asigna una probabilidad mayor de ser seleccionados a aquellosindividuos con menor ranking. En la iteracion t, la probabilidad de se-leccion pi(t) se define para cada individuo x(i,t) ∈ Pt de acuerdo con laexpresion:

pi(t) =rmax + 1− ri∑

x(j,t)∈Pt(rmax + 1− rj)

,

donde rj es el ranking del individuo x(j,t) de Pt y rmax = maxj{rj}. Acontinuacion, utilizando estas probabilidades, se ejecuta una seleccion detipo ruleta para completar la nueva poblacion.

• Seleccion de muertes (S2), (Michalewicz, 1996, p. 62): En este caso, acada individuo se le asigna una probabilidad de no sobrevivir mayorcuanto mayor es su ranking. Esta definida de acuerdo con la expresion:

pi(t) =ri∑

x(j,t)∈Ptrj.

Page 34: Herramientas Para Algoritmos Evolutivos Multi Objetivo

1.3. Conceptos basicos y metodologıa general 15

A continuacion, se ejecuta una seleccion de tipo ruleta con estas pro-babilidades para eliminar los individuos sobrantes hasta que se alcanzael tamano fijado de la poblacion. Con este mecanismo la poblacion norecibe dos copias del mismo individuo.

• Seleccion elitista (S3): Teniendo en cuenta el tamano de la poblacion,los individuos de mayor ranking se eliminan de la poblacion sin seleccionaleatoria, hasta que se alcanza el tamano fijado de poblacion. Si en unmomento dado hay varios individuos con el mismo ranking, de entrelos cuales hay que eliminar unos cuantos, entonces se sigue un procesoque consiste en utilizar una medida de la densidad de soluciones en elentorno de la solucion. Aquella que posea un entorno menos pobladosera seleccionada. Este proceso es similar al utilizado en el algoritmoclasico NSGA− II. Para una descripcion mas detallada del proceso, sepuede consultar, por ejemplo, Deb et al. (2002a)).

1.3.6. Medidas para la evaluacion de la calidad de las pobla-ciones

Con objeto de comparar las poblaciones finales resultantes tras aplicarlos algoritmos es necesario seleccionar algunas medidas que indiquen si unapoblacion ha de considerarse mejor o peor que otra. De entre las numerosasmedidas existentes en la literatura para la evaluacion de la calidad de lassoluciones se han considerado tres: diferencia de hipervolumen respecto a unconjunto de referencia (CEC, 2007; Huang et al., 2007a), distancia generacional(Coello et al., 2007) y cubrimiento de conjuntos (Zitzler, 1999).

Siendo P ∗ el conjunto de soluciones no dominadas resultante de la ejecucionde un algoritmo de optimizacion y PF ∗ su imagen en el espacio de objetivos,la descripcion de las medidas es la siguiente:

• Diferencia de hipervolumen respecto a un conjunto de referencia (HD):El hipervolumen original definido por Zitzler y Thiele (1999) calcula elvolumen cubierto por el hipercubo formado por los vectores de PF ∗

(considerando que todas las funciones objetivo son de mınimo) y unpunto de referencia. El punto de referencia se localiza de tal forma quesea al menos debilmente dominado por todos los miembros de P ∗. Puededefinirse, por ejemplo, construyendo un vector con los peores valores defuncion objetivo en PF ∗. Para poder obtener el valor de la diferencia dehipervolumen, HD, se calcula la diferencia entre el hipervolumen de unconjunto de referencia contenido en PF true y el hipervolumen de PF ∗.En los trabajos presentados, para los problemas seleccionados para elestudio, se han considerado los conjuntos de PF true proporcionados porCEC (2007), que consisten en 500 y 5000 puntos para los problemas con

Page 35: Herramientas Para Algoritmos Evolutivos Multi Objetivo

16 Capıtulo 1 Introduccion

2 y 3 objetivos, respectivamente. En contraste con el hipervolumen ori-ginal, para esta medida, cuanto menor es el valor, mejor es la poblacion.

• Distancia generacional (GD): Esta medida, que tambien requiere elconocimiento de un conjunto de referencia contenido en PF true, informade cuan lejos, en media, esta PF ∗ respecto de PF true. Matematicamentese define como

GD =

(∑d2i)1/2

|PF ∗|,

donde |PF ∗| es el numero de soluciones en PF ∗ y di es la distanciaeuclıdea entre cada miembro xi de PF ∗ y el miembro de PF true mascercano a xi. Para esta medida, cuanto menor es el valor, mejor es lapoblacion.

• Cubrimiento de conjuntos (C): Sean P ∗1 y P ∗

2 los conjuntos de solucionesno dominadas resultantes de la ejecucion de dos algoritmos diferentes.La medida C(P ∗

1 , P∗2 ) calcula la proporcion de soluciones en el conjunto

P ∗2 que son debilmente dominadas por soluciones en P ∗

1 . Es decir:

C(P ∗1 , P

∗2 ) =

|{b ∈ P ∗2 |∃a ∈ P ∗

1 , a ≼ b}||P ∗

2 |.

Como la medida no es simetrica, hay que calcular C(P ∗1 , P

∗2 ) y C(P ∗

2 , P∗1 ).

En la mejor situacion, P ∗1 es mejor que P ∗

2 si C(P ∗1 , P

∗2 ) es proximo a

uno y C(P ∗2 , P

∗1 ) proximo a cero. En general, P ∗

1 es mejor que P ∗2 si

C(P ∗1 , P

∗2 ) es notablemente mayor que C(P ∗

2 , P∗1 ).

1.3.7. Colecciones de problemas test

El uso de un conjunto de problemas test ayuda a garantizar que los meto-dos propuestos se enfrentaran con espacios de soluciones eficientes de diferentescaracterısticas, y por tanto, puede obtenerse una idea mas precisa del compor-tamiento de estos. A continuacion se describen brevemente los dos conjuntosde problemas test que se utilizaron en los trabajos.

Primer conjunto de problemas test

La primera coleccion de problemas test utilizada para los experimentosfueron los propuestos por Van Veldhuizen (1999) que tambien aparecen enDeb (2001). Este conjunto de problemas contiene ejemplos con 1, 2 o 3 varia-bles de decision y 2 o 3 funciones objetivo, conjuntos Pareto optimos conexos,disconexos, simetricos, asimetricos, etc. La definicion de los problemas se puedever en la Tabla 1.1.

Page 36: Herramientas Para Algoritmos Evolutivos Multi Objetivo

1.3. Conceptos basicos y metodologıa general 17

Tabla 1.1: Coleccion de problemas test.

Prob. Funciones objetivo Restriccionestest (D ⊆ Rp)

MOP1 f1 = x2 −4 ≤ x ≤ 4f2 = (x− 2)2

MOP2 f1 = 1− exp(−∑3

i=1(xi − 1√3)2)

−4 ≤ xi ≤ 4

f2 = 1− exp(−∑3

i=1(xi +1√3)2)

i = 1, 2, 3

MOP3 f1 = 1 + (A1 −B1)2 + (A2 −B2)

2 −π ≤ xi ≤ πf2 = (x1 + 3)2 + (x2 + 1)2 i = 1, 2A1 = 0.5 sen 1− 2 cos 1 + sen 2− 1.5 cos 2A2 = 1.5 sen 1− cos 1 + 2 sen 2− 0.5 cos 2B1 = 0.5 senx1 − 2 cosx1 + senx2 − 1.5 cosx2

B2 = 1.5 senx1 − cosx1 + 2 senx2 − 0.5 cosx2

MOP4 f1 =∑2

i=1 −10 exp(−0.2

√x2i + x2

i+1

)−5 ≤ xi ≤ 5

f2 =∑3

i=1

(|xi|a + 5 sin(xi)

b)

i = 1, 2, 3a = 0.8, b = 3

f1 = 0.5(x21 + x2

2) + sen(x21 + x2

2) −30 ≤ xi ≤ 30

MOP5 f2 = (3x1−2x2+4)2

8 + (x1−x2+1)2

27 + 15 i = 1, 2f3 = 1

x21+x2

2+1− 1.1 exp

(−x2

1 − x22

)MOP6 f1 = x1 0 ≤ xi ≤ 1

f2 = (1 + 10x2)[1−

(x1

1+10x2

− x1

1+10x2sen(2πqx1)

]q = 4, α = 2

f1 = (x1−2)2

2 + (x2+1)213 + 3 −400 ≤ xi ≤ 400

MOP7 f2 = (x1+x2−3)2

36 + (−x1+x2+2)2

8 − 17 i = 1, 2

f3 = (x1+2x2−1)2

175 + (−x1+2x2)2

17 − 13

Las caracterısticas de estos problemas son las siguientes. En MOP1, P true

es conexo y PF true esta formado por una unica curva Pareto convexa. MOP2tiene la ventaja de ser escalable en el numero de variables de decision sincambiar la forma o localizacion de PF true. En este problema, P true es conexoy PF true es una unica curva concava. En MOP3, P true consiste en dos areasdisconexas en el espacio de soluciones mientras que PF true son dos curvasPareto disconexas. Algo similar ocurre con MOP4, cuyo PF true consiste en trescurvas Pareto disconexas y P true esta formado por varias areas en el espaciode soluciones disconexas y asimetricas. Este problema es tambien escalable enel numero de variables de decision, y el cambio varıa ligeramente la forma dePF true pero no cambia su localizacion en el espacio de objetivos. El problemaMOP5 tiene P true disconexo y asimetrico y PF true conexo, siendo este unaunica curva Pareto en tres dimensiones. MOP6 tiene P true y PF true disco-nexos, este ultimo formado por cuatro curvas Pareto (el numero de curvasPareto es escalable). MOP7 parece complementar al problema MOP5, con

Page 37: Herramientas Para Algoritmos Evolutivos Multi Objetivo

18 Capıtulo 1 Introduccion

P true conexo y PF true disconexo.

Segundo conjunto de problemas test

Las colecciones de problemas test ZDT propuestas por Zitzler et al. (2000)y DTLZ de Deb et al. (2002b) han sido ampliamente utilizadas en la compara-cion del rendimiento de algoritmos. Algunos de los problemas de estas colec-ciones han sido utilizados en nuestros experimentos y son los que se muestranen la Tabla 1.2.

Tabla 1.2: Problemas test ZDT y DTLZ originales relacionados con los uti-lizados en los experimentos.

Prob. Funciones objetivo Variables Pareto frontZDT1 f1(x1) = x1 xk ∈ [0, 1] g(x2) = 1

f2(x) = g · h(f1, g) k = 1, . . . , 30

g(x2) = 1 + 9∑30

k=2 xk

29 x2 = (x2, . . . , x30)

h(f1, g) = 1−√

f1g

ZDT2 f1(x1) = x1 xk ∈ [0, 1] g(x2) = 1f2(x) = g · h(f1, g) k = 1, . . . , 30

g(x2) = 1 + 9∑30

k=2 xk

29 x2 = (x2, . . . , x30)h(f1, g) = 1− (f1/g)

2

ZDT4 f1(x1) = x1 x1 ∈ [0, 1] g(x2) = 1f2(x) = g · h(f1, g) xk ∈ [−5, 5]g(x2) = 1 + 10(p− 1)+ k = 2, . . . , p Mejor PF∑p

k=2

[x2k − 10 cos(4πxk)

]x = (x2, . . . , xp) optimo local:

h(f1, g) = 1−√

f1g g(x2) = 1.25

ZDT6 f1(x1) = 1− exp(−4x1) sin6(6πx1) xk ∈ [0, 1] g(x2) = 1

f2(x) = g · h(f1, g) k = 1, . . . , 30

g(x2) = 1 + 9[∑30

k=2xk

29

]0.25x2 = (x2, . . . , x30)

h(f1, g) = 1− (f1/g)2

DTLZ2 f1(x) = (1 + g) cos(x1π2

)cos

(x2π2

)xk ∈ [0, 1] PF

f2(x) = (1 + g) cos(x1π2

)sin

(x2π2

)k = 1, . . . , p optimo

f3(x) = (1 + g) sin(x1π2

)x3 = (x3, . . . , xp) esferico

g(x3) =∑p

k=3(xk − 0.5)2∑3

j=1 f2j = 1

DTLZ3 f1(x) = (1 + g) cos(x1π2

)cos

(x2π2

)xk ∈ [0, 1]

f2(x) = (1 + g) cos(x1π2

)sin

(x2π2

)k = 1, . . . , 30

f3(x) = (1 + g) sin(x1π2

)x3 = (x3, . . . , x30)

g(x3) = 100[28 +

∑30k=3(xk − 0.5)2

− cos (20π(xk − 0.5))]

Las principales caracterısticas de estos problemas son las siguientes: ZDT1tiene el Pareto front optimo convexo; ZDT2 lo tiene no convexo; ZDT4 contiene

Page 38: Herramientas Para Algoritmos Evolutivos Multi Objetivo

1.3. Conceptos basicos y metodologıa general 19

219 Pareto fronts optimos locales y por tanto, comprueba la habilidad delalgoritmo evolutivo para enfrentarse a la multifrontalidad; ZDT6 incluye dosdificultades causadas por la no uniformidad del espacio de busqueda (el P true

no esta uniformemente distribuido a lo largo del PF true y la densidad desoluciones es menor cerca del PF true y mayor alejada de el); en DTLZ2 lassoluciones Pareto optimas se corresponden con xi = 0.5, i = 3, . . . , p, y todaslas funciones objetivo deben satisfacer

∑3j=1 f

2j = 1; finalmente, DTLZ3 es

igual a DTLZ2 excepto por la funcion g, que introduce 83 Pareto fronts optimoslocales y un Pareto front optimo global (todos los Pareto fronts optimos localesson paralelos al global y el algoritmo evolutivo multiobjetivo puede quedarseatascado en uno de los fronts locales antes de converger al global), el PF true esconcavo y multimodal y este problema comprueba la habilidad del algoritmoevolutivo multiobjetivo para converger al PF true.

Sin embargo, las colecciones ZDT y DTLZ tienen algunos inconvenientesya que los problemas test comparten algunas caracterısticas y por lo gene-ral tienen fallos en el diseno. Por ejemplo, para todos los problemas el opti-mo global tiene los mismos valores de los parametros para distintas varia-bles/dimensiones y cae en el centro del espacio de busqueda o en las fronteras.Tambien, todos estos problemas son separables. Por tanto, para llevar a cabolas comparaciones se han utilizado las versiones rotadas y/o desplazadas de al-gunos de estos problemas, versiones que han sido propuestas por Huang et al.(2007a), y que corrigen las deficiencias senaladas. Una descripcion de algunasde sus caracterısticas se muestra en la Tabla 1.3. Para los problemas 1 a 3 y 5,el numero de funciones objetivo es 2 y el de variables de decision 30. Para losproblemas 6 y 8 estos valores son 3 y 30, respectivamente. Los problemas 4 y7 tienen 10 variables de decision y 2 y 3 funciones objetivo, respectivamente.En todos estos problemas test, el conjunto Pareto optimo es conocido.

Page 39: Herramientas Para Algoritmos Evolutivos Multi Objetivo

20 Capıtulo 1 Introduccion

Tabla 1.3: Propiedades de los problemas test de las versiones rotadas y/odesplazadas de los problemas de la Tabla 1.2. S: Separable; NS: No separable;U: Unimodal; M: Multimodal.

Problema Funciones Numero de Separa- Modalidad Geometrıatest objetivo variables bilidad

f1 1 S U1. S-ZDT1 convexo

f2 >1 S Uf1 1 S U

2. S-ZDT2 concavof2 >1 S Uf1 1 S U

3. S-ZDT4 convexof2 >1 S M

4. R-ZDT4 f1, f2 >1 NS M convexof1 1 S M

5. S-ZDT6 concavof2 >1 S M

6. S-DTLZ2 f1, f2, f3 >1 S U concavo7. R-DTLZ2 f1, f2, f3 >1 NS M concavo8. R-DTLZ3 f1, f2, f3 >1 S M concavo

Page 40: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Capıtulo 2

Optimization with simulationand multiobjective analysis inindustrial decision-making: Acase study

2.1. Objetivos

Debido a un cambio en la normativa europea en el ano 2000 sobre el re-ciclado de vehıculos, la recogida y recuperacion de Vehıculos Fuera de Uso(VFU) dejo de ser responsabilidad de las autoridades publicas y se traspaso alos productores de materiales y vehıculos, distribuidores, recicladores, etc.

Por este motivo, y dentro del proyecto LIFE de la Comunidad Europea(LIFE 99 ENV/E/000375), se realizo el estudio previo a la construccion deuna planta industrial dedicada a la descontaminacion y reciclado de VFU enNavarra.

La finalidad de la investigacion fue optimizar el diseno y operacion deuna hipotetica planta con objeto de conocer las caracterısticas que debıa reu-nir para cumplir con ciertos requerimientos tecnicos, economicos, etc. Masconcretamente, se trato de determinar las dimensiones que deberıa tener laplanta respecto a espacio fısico (tamano de la planta, tamano del almacen,etc), capacidad de trabajo en la planta (no de lıneas de descontaminacion, no

de estaciones de trabajo, etc) y la logıstica de transporte de estos vehıculosde vuelta a los desguaces (tipo de camion, no de camiones, horas de trabajo,etc). Ademas, se definieron y contrastaron diferentes polıticas de gestion de laplanta.

Para completar estos objetivos se combinaron distintas herramientas de la

21

Page 41: Herramientas Para Algoritmos Evolutivos Multi Objetivo

22 Capıtulo 2 Optimization with simulation ...

Investigacion Operativa: modelos de redes de colas, optimizacion con simu-lacion y algoritmos evolutivos.

2.2. Aportaciones

Las principales aportaciones de este trabajo fueron las siguientes:

• El modelado de un sistema real mediante una herramienta de simulacion.

• La combinacion de la simulacion con un metodo de generacion de solu-ciones basado en Algoritmos Evolutivos Multiobjetivo.

• La construccion de una herramienta informatica util para los gestores dela futura planta de descontaminacion de VFU.

2.3. Resumen

A grandes rasgos, el modelo planteado funcionaba de la siguiente forma: ala planta llegaban los vehıculos traıdos por los desguaces, se depositaban enel sistema y se pactaba una fecha de entrega del vehıculo ya descontaminado.Tras ello, el vehıculo se descontaminaba y se enviaba de vuelta al desguacepropietario cuando se estimaba oportuno. De esta forma, el sistema industrialbajo estudio se modelo como un sistema de redes de colas con las siguientescaracterısticas:

• Dos servidores conectados en serie: la planta de descontaminacion y elsistema de transporte para la devolucion del VFU.

• Varias fuentes de entrada (los desguaces) de VFU.

• Una sala de espera con capacidad finita (el almacen en planta) que escomun para ambos servidores.

• Disciplina de servicios de colas con prioridad para los dos servidores.Esta disciplina de servicio depende de la polıtica de gestion del almaceny de los viajes del camion.

• El segundo servidor (el sistema de transporte) trabaja con “bulk-service”,por lo que el tiempo de servicio depende del tamano del grupo y del tipode cliente.

Las distribuciones de probabilidades asociadas a los elementos estocasticosdel sistema se estimaron con la informacion proporcionada por las bajas en

Page 42: Herramientas Para Algoritmos Evolutivos Multi Objetivo

2.3. Resumen 23

circulacion, las licencias y el numero de vehıculos en uso a lo largo de variosanos, informacion que fue obtenida de la Direccion General de Trafico. Ademas,se elaboro una lista de desguaces de la region, buscando su localizacion y elnumero de vehıculos que gestionaban anualmente. El tiempo que se necesitabapara la descontaminacion de un vehıculo ası como el tiempo de carga y descargade los vehıculos en el camion fueron medidos en una planta piloto hecha paraeste proposito. Tambien, se recogieron de varias companıas de transporte datossobre la capacidad y velocidad de varios modelos de camiones.

Las reglas de seleccion de vehıculos para descontaminar y transportarsiguen una disciplina FIFO con prioridades ya que incorpora varias condi-ciones, como por ejemplo, acuerdos para la devolucion de vehıculos en ciertafecha, el descontaminar vehıculos del mismo propietario para optimizar viajesdel camion, etc. Ası, el que no se verificaran las propiedades Markovianas yque la disciplina de colas estuviera basada en una serie de reglas dependien-tes del estado del sistema hicieron difıcil que el modelo del sistema pudieraestudiarse con herramientas analıticas.

2.3.1. Simulacion del sistema

Debido a las caracterısticas del sistema, se considero la tecnica de simu-lacion de eventos discretos como la herramienta que permitio construir unmodelo mas realista.

Uno de los problemas de la simulacion tradicional es que no proporcionasoluciones concretas a los problemas, sino que proporciona soluciones posibles,evaluando el funcionamiento del sistema bajo unas condiciones particulares.Ası, para encontrar una buena solucion al problema se necesita un conjuntode soluciones suficientemente amplio y representativo de todas las solucionesfactibles.

La simulacion moderna trata de evitar este problema combinando el proce-so de simulacion con un metodo de optimizacion que cambie automaticamentede una solucion a otra, buscando la optima.

2.3.2. Optimizacion del sistema

Una vez construido el sistema de simulacion que dependıa de varios para-metros, se planteo la busqueda de la mejor combinacion de los valores de estoscon el objeto de optimizar ciertos objetivos. En particular, se trabajo con cua-tro variables de decision: tiempo de trabajo diario en planta, tiempo de trabajodiario del camion, tamano del almacen y tiempo de descontaminacion (rela-cionado con el numero de empleados). Se consideraron seis funciones objetivoa minimizar, clasificadas en tres grupos: objetivos de tipo economico, de tipo

Page 43: Herramientas Para Algoritmos Evolutivos Multi Objetivo

24 Capıtulo 2 Optimization with simulation ...

ecologico y relacionados con la calidad del servicio:

Objetivos economicos:

• Maximizar la tasa de utilizacion de la planta.

• Maximizar la tasa de utilizacion del sistema de transporte.

• Maximizar la tasa de utilizacion del almacen.

Objetivos ecologicos:

• Minimizar la tasa de vehıculos no descontaminados debido a lasaturacion del sistema.

Objetivos relacionados con la calidad del servicio:

• Minimizar la tasa de vehıculos que superan el tiempo maximo depermanencia permitido.

• Minimizar el tiempo medio que pasan los VFU en el sistema.

Para resolver el problema multiobjetivo se selecciono la aproximacion me-diante programacion por metas ponderadas, una vez fijados los niveles deaspiracion para cada criterio. Como las funciones objetivo consideradas eranvariables aleatorias, tambien lo era la funcion meta ponderada, por lo que seoptimizo su valor esperado. Ademas, puesto que las esperanzas de estas fun-ciones objetivo no tenıan una expresion explıcita en funcion de las variablesde decision, estos valores tuvieron que ser estimados a traves de la simulacion.

Ası, para la resolucion de este problema de optimizacion se combino laoptimizacion con la simulacion como se muestra en la Figura 2.1.

De esta forma, empezando por unos valores iniciales de las variables de de-cision, x0, se repite cıclicamente el siguiente proceso. En el paso (k+1)-esimo,el modelo de simulacion recibe los valores de las variables de decision, xk, delalgoritmo de optimizacion; en este momento se simula el sistema con estosvalores. Un conjunto de medidas de funcionamiento del sistema, sk, directa-mente obtenidas del programa de simulacion, nos permite estimar los valoresesperados de las funciones objetivo ası como la funcion objetivo ponderada,Z(xk) = f(sk). A continuacion, el vector de variables de decision, xk, y elvalor estimado de la funcion meta, Z(xk), son las entradas del algoritmo deoptimizacion, que devuelve un nuevo vector de variables de decision, xk+1,y comienza una nueva iteracion del procedimiento. Este proceso finaliza conuna estimacion de la solucion del problema (x∗, Z∗) cuando el algoritmo deoptimizacion verifica cierta regla de parada.

El algoritmo de optimizacion utilizado fue un algoritmo evolutivo, en par-ticular, una estrategia evolutiva EE-(1+1), que opera con dos individuos, un

Page 44: Herramientas Para Algoritmos Evolutivos Multi Objetivo

2.3. Resumen 25

Figura 2.1: Diagrama del proceso de optimizacion con simulacion.

padre y un hijo por generacion, que compiten el uno con el otro para formarparte de la siguiente generacion. El operador de mutacion crea el descendientea partir del padre y se ejecuta siguiendo la regla de 1/5 en la que la varianzade la perturbacion depende de la proporcion de mutaciones exitosas (aquellasen las que el descendiente es mejor que el padre).

Como cuestiones tecnicas del algoritmo de optimizacion, y en contraste conla implementacion habitual, se generaron valores enteros para las variables dedecision, lo que hizo que se debiera modificar la regla de 1/5 para evitar la con-vergencia prematura a optimos locales. Se fijo una varianza maxima y mınimapara la perturbacion y se aplico la regla de 1/5 de forma cıclica. Cuando eltamano de la mutacion alcanzaba el mınimo, este valor se mantenıa, comomucho, durante un cierto numero de iteraciones y, al acabar, se considerabade nuevo el tamano maximo de la varianza.

Las funciones objetivo previamente construidas se evaluaron por mediodel modelo de simulacion de eventos discretos. Cada ejecucion del simuladorproporciono una estimacion de la media y la varianza de la funcion objeti-vo dividiendo la ejecucion en tramos (“batches”), con la amplitud del tramodefinida previamente. Para definir la longitud de las simulaciones se estable-cio un test estadıstico de forma que habıa un numero maximo de simulaciones,pero esta podıa ser interrumpida si dicho test encontraba diferencias significa-tivas que indicaran que la nueva solucion (hijo) era peor que la actual (padre),en cuyo caso se interrumpıa la simulacion y se pasaba a considerar una nuevasolucion.

Page 45: Herramientas Para Algoritmos Evolutivos Multi Objetivo

26 Capıtulo 2 Optimization with simulation ...

La regla de parada para el algoritmo de optimizacion con simulacion com-bino dos reglas: un numero total de generaciones y un numero fijo de genera-ciones sin mejorar las funciones objetivo.

2.4. Resultados obtenidos

Los experimentos realizados en el trabajo estaban enfocados a mostrar elfuncionamiento de nuestro optimizador bajo determinadas condiciones, ya queel uso final de este estaba reservado a los gestores de la futura planta y, portanto, los valores de los parametros que nosotros utilizamos en el experimentopodrıan no coincidir con los que en su momento estipularan estos.

En primer lugar se propuso la optimizacion del sistema de reciclado con lasvariables de decision y parametros del sistema que a continuacion se detallan:

• Minutos de trabajo en la planta industrial: 360 ≤ x1 ≤ 480.

• Minutos de trabajo de los camiones: 360 ≤ x2 ≤ 480.

• Tamano del almacen: 50 ≤ x3 ≤ 100.

• Tiempo exponencial para la descontaminacion, con media entre 15 y 25minutos (x4).

• Un camion con capacidad para tres VFU.

• Niveles de aspiracion igual a 80 para las funciones objetivo de maxi-mo e igual a 10 para las funciones objetivo de mınimo, expresados enporcentajes.

• Pesos identicos para todas las metas.

• Numero maximo de iteraciones igual a 2000.

• Valor inicial de σ en el operador de mutacion igual al 75% del rango devariacion de la variable.

• Valor mınimo de σ en el operador de mutacion igual al 5% del rango devariacion de la variable.

• La verificacion de la proporcion de mutaciones exitosas cada 20 indivi-duos y la preservacion del mınimo valor de σ durante 5 iteraciones.

• bmın = 5 y bmax = 15.

Page 46: Herramientas Para Algoritmos Evolutivos Multi Objetivo

2.5. Conclusiones 27

Para determinar el tamano de “batch” adecuado de cara a realizar la esti-macion de las funciones objetivo se consideraron 24 configuraciones distintasdel sistema y se realizaron 50 ejecuciones considerando tamanos de 1, 2, 3y 4 anos. En la Tabla 3 del artıculo (pagina 72 del Apendice A.1) se puedever que un tamano de batch igual a un ano era suficiente para garantizar laindependencia en los datos recogidos. Tambien se estudio la dependencia de lasolucion final respecto a como se tomaba la primera solucion del algoritmo. Seconsidero que las variables partieran de la cota inferior, la superior o aleato-riamente. En la Tabla 4 del trabajo (pagina 72 del Apendice A.1) se muestranlos resultados obtenidos desprendiendose de estos la robustez del algoritmo,ya que los resultados alcanzados eran equivalentes independientemente de lapoblacion de arranque del algoritmo.

2.5. Conclusiones

El programa propuesto proporciono una herramienta util para el analisis deuna planta industrial dedicada a los procesos de descontaminacion y recicladode VFU, permitiendo a los gestores de Reciclauto S.L. evaluar, contrastar yoptimizar la operacion de la planta bajo diferentes configuraciones y diferentesescenarios de trabajo.

Los ingenieros responsables reconocieron el incremento en el conocimientodel problema con el uso de un programa de ordenador.

La principal contribucion de este trabajo reside en la resolucion de unproblema industrial real, habiendo integrado la optimizacion evolutiva en unmodelo multiobjetivo, junto con la optimizacion con simulacion de un modelode redes de colas.

Page 47: Herramientas Para Algoritmos Evolutivos Multi Objetivo
Page 48: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Capıtulo 3

Representation andmanagement of MOEApopulations based on graphs

3.1. Objetivos

Hasta el momento de la publicacion de este artıculo se habıa prestado muypoca atencion al almacenamiento y manipulacion de las poblaciones de losAlgoritmos Evolutivos Multiobjetivo, realizandose, en la mayorıa de los casos,por medio de listas. Algunos trabajos presentaban estructuras que almacenanlas soluciones eficientes de la poblacion, como por ejemplo las estructuras lla-madas “quad-trees” (Mostaghim et al., 2002) o los “dominated/nondominatedtrees” (Fieldsend et al., 2003), pero como ya se ha comentado, trabajan unica-mente con las soluciones eficientes.

El objetivo principal de este artıculo fue proponer una metodologıa maseficiente que las que habıa hasta ese momento para la manipulacion de todoslos individuos de la poblacion, es decir, para las soluciones eficientes y las noeficientes. La idea principal fue construir un grafo basado en las relacionesde dominacion entre los individuos de la poblacion, en el que los nodos estenasociados a las soluciones y mediante arcos se representen las relaciones dedominacion entre las soluciones que unen, y trabajar insertando y eliminandonodos y arcos en este grafo. Este grafo es un tipo especial de grafo llamadoreduccion transitiva de un grafo dirigido.

Una vez definida la estructura y sus caracterısticas, se generaron proce-dimientos para su creacion y actualizacion. Ademas, se realizaron estudiosteoricos y practicos de la complejidad computacional de estos algoritmos.

Las caracterısticas mas importantes de la metodologıa propuesta para la

29

Page 49: Herramientas Para Algoritmos Evolutivos Multi Objetivo

30 Capıtulo 3 Representation and management ...

manipulacion de las poblaciones de los Algoritmos Evolutivos Multiobjetivoson las siguientes:

• Proporciona de forma explıcita informacion sobre las relaciones entre lassoluciones.

• Puede utilizarse para reimplementar operadores y algoritmos existentes.

• Ahorra tiempo y espacio computacionales.

En la actualidad, sigue habiendo muy pocos trabajos dedicados al almace-namiento eficiente de todos los individuos de la poblacion. El reciente artıculode Shi et al. (2009) propone un arbol binario llamado “dominance tree” quealmacena la poblacion y la informacion sobre las dominaciones entre los indi-viduos de la poblacion, con una idea y objetivos similares a los que propusimos.

3.2. Aportaciones

La primera de las aportaciones fue la definicion de la estructura de Grafode Dominacion Irreducible (GDI) como una nueva forma de almacenamientode los individuos de la poblacion del Algoritmo Evolutivo Multiobjetivo, enun-ciando y demostrando un lema de caracterizacion de la irreducibilidad y unteorema de unicidad de tal estructura. Ademas, se propuso un algoritmo deconstruccion del GDI y un lema que demostraba que, efectivamente, el grafoconstruido con tal algoritmo es un GDI.

Una vez construido el GDI, y puesto que este cambiara conforme la pobla-cion del algoritmo evoluciona, se propusieron dos algoritmos de actualizaciondel grafo, uno para la insercion y otro para la eliminacion de nodos, juntocon los correspondientes lemas que ayudaban a tal fin y demostraban que losgrafos actualizados seguıan siendo grafos de dominacion irreducibles.

Finalmente, se realizaron estudios teoricos y practicos de la complejidadde todos los procesos presentados: almacenamiento del GDI, construccion delGDI inicial, e insercion y eliminacion de nodos.

En particular, en este artıculo se estudian lemas y teoremas sobre:

• La caracterizacion de la irreducibilidad de un grafo.

• La unicidad del GDI.

Se proponen algoritmos para:

• La construccion del GDI inicial.

Page 50: Herramientas Para Algoritmos Evolutivos Multi Objetivo

3.3. Resumen 31

• La insercion de nodos en el GDI.

• La eliminacion de nodos del GDI.

Y se demuestran resultados sobre:

• La correccion de los algoritmos de construccion del GDI y de inserciony eliminacion de nodos.

• Las complejidades en tiempo y espacio de los algoritmos.

3.3. Resumen

3.3.1. Definiciones previas y notacion

Un grafo G es un par (N ,A) donde el conjunto N = {x1, . . . , xn} es elconjunto de nodos y el conjunto A = {(xi, xj)|xi, xj ∈ N} ⊆ N × N es elconjunto de arcos.

Se van a considerar grafos dirigidos, es decir, grafos en los que los arcos(xi, xj) y (xj , xi) son diferentes. Un camino dirigido en G del nodo xi al nodoxj es una secuencia de arcos distintos, v1, v2, . . . , vp, p ≥ 1, tal que existe lacorrespondiente secuencia de nodos xi = xs0 , xs1 , . . . , xsp = xj satisfaciendovh = (xsh−1

, xsh) ∈ A, para 1 ≤ h ≤ p. Un camino dirigido es simple si todoslos nodos xi = xs0 , xs1 , . . . , xsp = xj son diferentes. Un ciclo es un caminodirigido en el que el primer y ultimo nodo coinciden. Un grafo G sin ciclos sellama grafo acıclico.

Denotaremos xi ↪→ xj si y solo si existe un camino dirigido simple de xia xj en G. Si el camino dirigido esta formado unicamente por el arco (xi, xj),podremos utilizar tambien la notacion xi → xj , si es explıcitamente necesarioenfatizarlo.

Dado un nodo xj , el nodo xi es un ancestro de xj si existe un caminodirigido del nodo xi al xj , xi ↪→ xj , en G. Si xi es un ancestro de xj , entoncesxj es un descendiente de xi. Si existe el arco (xi, xj) en G, entonces xi es unpadre de xj y xj es un hijo de xi.

Dado el nodo xi en G, denotaremos:

• Ai = {xj ∈ N|xj es un ancestro de xi}

• Pi = {xj ∈ N|xj es un padre de xi}

• Ci = {xj ∈ N|xj es un hijo de xi}

• Di = {xj ∈ N|xj es un descendiente de xi}

Page 51: Herramientas Para Algoritmos Evolutivos Multi Objetivo

32 Capıtulo 3 Representation and management ...

Finalmente, sea G = (N ,A) un grafo dirigido. La clausura transitiva de Ges el grafo G = (N ,A∗) donde A∗ = {(xi, xj)|xi, xj ∈ N , xi ↪→ xj en G}. Lareduccion transitiva de G es el grafo G− = (N ,A−) con el mınimo numero dearcos satisfaciendo G = (G−), es decir, el grafo con el numero mınimo de arcoscuya clausura transitiva coincide con la clausura transitiva del grafo original.

3.3.2. Grafos de dominacion

La idea para la construccion de la estructura de almacenamiento fue asociara cada individuo xi ∈ Pt de la poblacion del Algoritmo Evolutivo Multiobjetivo(es decir, a cada solucion potencial del problema multiobjetivo) un nodo xien un grafo G. Por medio de arcos dirigidos representaremos las relaciones dedominacion entre los individuos de Pt. Ası, si xi, xj ∈ Pt, tales que xi domina axj , xi ≺ xj

1, entonces existira el arco (xi, xj) ∈ A en G. Por la transitividad dela relacion de dominacion, un camino dirigido xi ↪→ xj tambien indicara quela solucion xi ∈ Pt asociada al nodo xi ∈ N domina a la solucion xj ∈ Pt

asociada al nodo xj ∈ N .

El par (N ,A) = G lo llamaremos Grafo de Dominacion, GD, asociado ala poblacion Pt del algoritmo evolutivo multiobjetivo.

Por construccion, los grafos de dominacion son grafos acıclicos dirigidos,pero, a priori, hay muchos grafos G que pueden servir para representar unamisma poblacion Pt.

La idea es elegir aquel grafo G para representar a Pt que sea “lo massimple posible” para hacer ası mas eficiente su manipulacion (construccion yeliminacion o insercion de nodos). No nos olvidemos de que la poblacion Pt

del algoritmo evolutivo va cambiando conforme avanzan las iteraciones. Esdecir, deberemos elegir aquel grafo con el menor numero de arcos, pero querepresente todas las relaciones de dominacion existentes entre los individuosde la poblacion. A este grafo lo llamaremos Grafo de Dominacion Irreducible.

Lema 1. Caracterizacion de la irreducibilidad de un grafo. Dada unapoblacion Pt y un grafo de dominacion asociado G, diremos que G es irre-ducible si y solo si ∀xi, xj ∈ N tal que xi ≺ xj, solo se cumple una de las doscondiciones siguientes:

(i) El unico camino dirigido de xi a xj es el arco xi → xj; o

(ii) Todo camino dirigido de xi a xj, xi ↪→ xj, tiene dos o mas arcos.

Este lema nos ayuda a probar la unicidad del grafo de dominacion irre-ducible.

1En el artıculo original, se utilizo la notacion xi ≼ xj para senalar que xi domina a xj ,ver pagina 77 del Apendice A.2.

Page 52: Herramientas Para Algoritmos Evolutivos Multi Objetivo

3.3. Resumen 33

Teorema 1. Unicidad. Dada una poblacion Pt, el grafo de dominacion irre-ducible asociado a ella es unico.

Veamos esto sobre un ejemplo. Supongamos que el problema de opti-mizacion tiene dos funciones objetivo f1, f2 que hay que minimizar. Supon-gamos tambien que en un momento de aplicacion del algoritmo evolutivo seha llegado a la poblacion de la Tabla 3.1, cuyo espacio de funciones objetivoaparece representado en la Figura 3.1.

Tabla 3.1: Ejemplo de poblacion y valores de las funciones objetivo (f1, f2).

Sol. a b c d e f g h i j

f (0,3) (3,0) (1,7) (4,4) (5,1) (2,9) (6,5) (7,2) (8,8) (9,6)

Figura 3.1: Representacion grafica de la poblacion de la Tabla 3.1 en el espacio de

funciones.

Las relaciones de dominacion existentes entre las soluciones son las enu-meradas en la Tabla 3.2. Ası, las soluciones eficientes son a y b, por lo queellas formaran la primera capa del grafo de dominacion. A continuacion, delconjunto de soluciones restantes, {c, d, e, f, g, h, i, j}, las eficientes son c, d, ye, por lo que ellas formaran la segunda capa del grafo. Aplicamos nuevamenteel proceso a las soluciones restantes, y la tercera capa del grafo esta formadapor las soluciones f, g y h, quedando i y j en la ultima capa.

En el grafo de dominacion, las soluciones se representan mediante nodos ylas relaciones mediante arcos, con lo que resulta el grafo de la Figura 3.2.

Page 53: Herramientas Para Algoritmos Evolutivos Multi Objetivo

34 Capıtulo 3 Representation and management ...

Tabla 3.2: Relaciones de dominacion entre las soluciones de la Tabla 3.1.

Solucion Domina a Solucion Domina a

a c, d, f, g, i, j f ∅b d, e, g, h, i, j g i, jc f, i h i, jd g, i, j i ∅e g, h, i, j j ∅

Figura 3.2: Grafo de dominacion correspondiente a la poblacion de la Tabla 3.1.

La reduccion transitiva de este grafo es el grafo de dominacion irreducibleque buscamos y que se muestra en la Figura 3.3.

3.3.3. Construccion del grafo de dominacion irreducible

El algoritmo propuesto para la construccion de este grafo se basa en laclasificacion en capas de los individuos de la poblacion Pt propuesta por Gold-berg (1989). La idea es buscar los individuos eficientes en Pt, asignarles ranking1 (primera capa del grafo) y eliminarlos de Pt. De esta nueva poblacion, sevuelven a buscar los eficientes, se les asigna ranking 2 (segunda capa del grafo)y se eliminan, repitiendo este proceso hasta clasificar en capas todos los indi-viduos de Pt. En este momento, tenemos las capas del grafo. El siguiente pasoes anadir los arcos entre los individuos de una capa y las siguientes, en caso

Page 54: Herramientas Para Algoritmos Evolutivos Multi Objetivo

3.3. Resumen 35

Figura 3.3: Grafo de dominacion irreducible asociado al grafo de la Figura 3.2.

de que los hubiera. Para este proceso se usa un proceso de marcado como porejemplo Breadth First Search (BFS) o Depth First Search (DFS). Ademas, enel Lema 2 del trabajo se demuestra que el grafo construido con este algoritmoes irreducible.

El algoritmo es el siguiente:

Paso 1. Paux = Pt, Nt = Pt, At = ∅

Paso 2. Determinar X1 = {xi ∈ Paux |xi eficiente}; l = 1

Paso 3. Paux = Paux \X1

Paso 4. Determinar Xl+1 = {xi ∈ Paux |xi eficiente}

Paso 5. ∀xj ∈ Xl+1

∀xi ∈ Xt t = l, . . . , 1

si xi esta sin marcar y xi ≺ xj

At = At ∪ {(xi, xj)}marcar xi y todos los xk ∈ Ai sin marcar

desmarcar los nodos de∪

t=1,...,l Xt

Paso 6. Paux = Paux \Xl+1 ; l = l + 1

Paso 7. Si Paux = ∅ ir al Paso 4

Page 55: Herramientas Para Algoritmos Evolutivos Multi Objetivo

36 Capıtulo 3 Representation and management ...

3.3.4. Actualizacion del grafo de dominacion irreducible

En cada generacion del algoritmo evolutivo multiobjetivo, la poblacionPt evoluciona hacia Pt+1 tras la aplicacion de los operadores de mutacion yrecombinacion y el proceso de seleccion, por lo que el grafo G tambien va acambiar. Con el fin de no tener que recalcular desde el principio el nuevo grafode dominacion y para reducir el tiempo de calculo, se estudian dos algoritmos:uno para la eliminacion y otro para la insercion de nodos.

Eliminacion

Cuando un individuo xi ∈ Pt no pasa a formar parte de Pt+1, el correspon-diente nodo xi ∈ G ha de ser eliminado. En este proceso es necesario eliminartambien todas las relaciones entre xr y xi tales que xr ≺ xi (xr ∈ Ai) y todaslas relaciones entre xi y xs tales que xi ≺ xs (xs ∈ Di), ası como eliminar xide G. Despues habremos de restablecer las relaciones de dominacion entre losnodos xr y xs.

El Lema 3 del trabajo (ver pagina 80 del Apendice A.2) determina queunicamente es necesario eliminar los arcos entre los nodos de Pi y xi y entre xiy Ci, con lo que para restablecer las relaciones unicamente habra que hacerloente nodos de Pi y Ci.

El algoritmo es el siguiente:

Paso 1. Determinar el conjunto Pi = {xj ∈ Nt|xj es un padre de xi}

Paso 2. ∀xj ∈ Pi

At = At \ {(xj , xi)}

Paso 3. Determinar el conjunto Ci = {xj ∈ Nt|xj es un hijo xi}

Paso 4. ∀xj ∈ Ci

At = At \ {(xi, xj)}

Paso 5. Nt = Nt \ {xi}

Paso 6. ∀xj ∈ Pi

Marcar todos los nodos de Dj

∀xk ∈ Ci sin marcar

At = At ∪ {(xj , xk)}Desmarcar todos los nodos de Dj

Page 56: Herramientas Para Algoritmos Evolutivos Multi Objetivo

3.3. Resumen 37

Supongamos que en el ejemplo anterior el individuo g desaparece de lapoblacion. En este caso, hay que eliminar del grafo el nodo asociado, junto contodos los arcos que entran o salen de dicho nodo. A continuacion, las relacionesde dominacion existentes entre los restantes individuos de la poblacion han derepresentarse en el grafo. La Figura 3.4 muestra estos pasos.

Figura 3.4: Eliminacion de nodos del GDI.

Insercion

Una insercion en el grafo se produce cuando un individuo nuevo entraa formar parte de Pt+1. Al insertar un nuevo nodo en G, lo primero quehay que hacer es buscar la posicion (capa) en la que este nodo va a entrar.Hay que identificar a los dominadores y los dominados del nodo xi, para locual, con objeto de ahorrar tiempo computacional, se utiliza un proceso deetiquetado que asegura que, en general, no se van a tener que hacer todas lascomparaciones con todos los individuos.

Una vez encontrada la capa en la que el nodo va a entrar, hay que reflejarlas relaciones de dominacion mediante arcos y actualizar el grafo eliminandolos posibles arcos redundantes entre dominadores y dominados, puesto queestas relaciones se reflejan ahora a traves de xi.

El algoritmo es el siguiente:

Paso 0. Bi = ∅, bi = ∅

Paso 1. ∀xj ∈ Nt y xj sin marcar

si xj ≺ xi, marcar todos los nodos de Aj sin marcar

Page 57: Herramientas Para Algoritmos Evolutivos Multi Objetivo

38 Capıtulo 3 Representation and management ...

Bi = Bi ∪ {xj}si xj ≻ xi, marcar todos los nodos de Dj sin marcar

bi = bi ∪ {xj}

Paso 2. Determinar el conjunto B∗i de nodos de Bi sin marcar

Paso 3. Determinar el conjunto b∗i de nodos de bi sin marcar

Paso 4. At = At \ {(xj , xk)|xj ∈ B∗i , xk ∈ b∗i }

Paso 5. Nt = Nt ∪ {xi}

Paso 6. ∀xj ∈ B∗i

At = At ∪ {(xj , xi)}

Paso 7. ∀xj ∈ b∗i

At = At ∪ {(xi, xj)}

Supongamos que en el ejemplo anterior, con la poblacion de la Tabla 3.1,un nuevo individuo, k, entra a formar parte de la poblacion. Si, por ejemplo, losvalores de las funciones objetivo en k son (8, 6), las relaciones de dominacionque aparecen al introducir este individuo en la poblacion son las siguientes:a, b, d, e, g, h ≺ k ≺ i, j, es decir, a, b, d, e, g, h son los ancestros de k, e i y json sus descendientes. Entre estos individuos hay que encontrar a los padrese hijos de k y eliminar los arcos que los unen. A continuacion, se anadiranlos arcos entre los padres de k y k, y entre k y sus hijos. En este ejemplo, lospadres de k son g y h y los hijos de k son i y j. Estos pasos se muestran en laFigura 3.5.

Para ambos procesos de eliminacion e insercion de nodos se demostro en losLemas 4 y 5 del trabajo (ver paginas 80 y 81 del Apendice A.2) la correccion delos algoritmos, garantizando que tras su aplicacion el nuevo grafo seguıa siendoun GDI que contenıa todas las relaciones existentes en la nueva poblacion.

3.3.5. Calculo de la complejidad de los algoritmos propuestos

Sea m el numero de arcos de G; n el numero de nodos de G, que se co-rresponde con el numero de individuos de la poblacion P; y sea q el numerode funciones objetivo del problema. En el artıculo se calculo la complejidadcomputacional, tanto de almacenamiento como en tiempo, para los algorit-mos de construccion y actualizacion (eliminacion e insercion de nodos) de losgrafos. Estas complejidades se muestran en la Tabla 3.3, donde C(q, n) es lacomplejidad del algoritmo de obtencion de las capas del grafo.

Page 58: Herramientas Para Algoritmos Evolutivos Multi Objetivo

3.3. Resumen 39

Figura 3.5: Insercion de nodos en el GDI.

Tabla 3.3: Complejidad de los procesos.

Lema Complejidad

Lema 6: Almacenamiento O(m)

Lema 7: Construccion grafo O(n3 + n2 · q + C(q, n))

Lema 8: Eliminacion de nodo O(m · n+ n2)

Lema 9: Insercion de nodo O(m+ n · q)

Dependiendo del algoritmo seleccionado para la obtencion de las capas delgrafo, se obtienen distintas complejidades para el algoritmo de construccion delGDI inicial. Si, por ejemplo, es el algoritmo propuesto por Kung et al. (1975),C(q, n) tiene complejidad de orden O(n · (log n)q−2) si q ≥ 4 y O(n · log n) siq ≤ 3 y por tanto, la complejidad del algoritmo de construccion del GDI iniciales O(n3 + n2 · q). Sin embargo, si el algoritmo es cualquiera de los propuestospor Deb (2001) (p. 33-38), entonces C(q, n) = n3 · q, y la complejidad delalgoritmo de construccion pasa a ser O(n3 · q). Y si el algoritmo utilizado parala obtencion de las capas es el metodo propuesto por Deb (2001) (p. 42-43),entonces C(q, n) = n2 ·q, y por lo tanto la complejidad del algoritmo propuestoes O(n3 + n2 · q), pero en este caso, los requerimientos de almacenamiento seincrementarıan hasta O(n2), puesto que estos son los requerimientos necesariospara el metodo propuesto por Deb (2001).

Page 59: Herramientas Para Algoritmos Evolutivos Multi Objetivo

40 Capıtulo 3 Representation and management ...

3.4. Resultados obtenidos. Experimento computa-cional

Ademas del estudio teorico de las complejidades, se llevo a cabo un analisiscomputacional de los algoritmos propuestos. Se hicieron cuatro experimentos.El primero de ellos tenıa por objeto verificar que, aunque el numero de arcosde G esta acotado por n2, en la practica, este numero es significativamentemenor. El segundo experimento estudia el comportamiento del algoritmo deconstruccion del grafo de dominacion irreducible inicial, concluyendo que lacomplejidad practica en tiempo es menor que la teorica. Un analisis similar serealiza en el tercer experimento con los algoritmos de eliminacion e insercion denodos. Finalmente, se muestra el uso de nuestra metodologıa para el procesode seleccion del algoritmo NSGA− II en el cuarto experimento.

Todos los experimentos se realizaron sobre una coleccion de problemas testpropuestos por Van Veldhuizen (1999) y Deb (2001) que han sido presentadosen la Seccion 1.3.7 del Capıtulo 1.

3.4.1. Primer experimento: Requerimientos de almacenamien-to

Para cada problema test, MOP1, . . . , MOP7, se consideraron 20 tamanosde poblacion (1000, 1100, . . . , 2900 individuos) y se generaron 10 poblacionessobre las que se aplico el algoritmo de construccion del grafo de dominacionirreducible.

Para cada tamano de poblacion, se recogieron los datos del numero de arcosdel GDI asociado a la poblacion, calculando el maximo, y se represento estevalor en funcion del tamano de la poblacion, en un diagrama de dispersion. Eneste grafico se observo un comportamiento practicamente lineal. Se ajusto unmodelo de regresion potencial, tiempo = b0 ·nb1 , obteniendose valores de b1 ∼ 1excepto para el problema MOP5 en el que se obtuvo un valor de b1 igual a1.5929. Este valor era obviamente inferior al teorico. Este hecho era esperableya que el estudio teorico proporciona la complejidad en el caso mas desfavo-rable.

3.4.2. Segundo experimento: Tiempo computacional para laconstruccion del grafo de dominacion irreducible

En experimentos previos se observo que la aplicacion sucesiva del algoritmode insercion de nodos proporcionaba mejores resultados en cuanto al tiempocomputacional para la construccion del grafo inicial que el algoritmo propuestopara su construccion, por lo que fue con este algoritmo con el que se trabajo.

Page 60: Herramientas Para Algoritmos Evolutivos Multi Objetivo

3.4. Resultados obtenidos. Experimento computacional 41

Nuevamente, para cada uno de los 20 tamanos de poblacion y 7 proble-mas test se generaron 10 poblaciones y se construyo el grafo, midiendo eltiempo empleado para tal fin. Se calculo el maximo de estos tiempos, y serepresento graficamente en un diagrama de dispersion, en funcion del tamanode la poblacion.

El modelo de regresion ajustado fue un modelo de regresion potencialtiempo = b0 · nb1 , obteniendose valores de b1 ∼ 2 excepto para el proble-ma MOP7 en el que b1 = 2.5, mientras que la complejidad teorica era delorden de n3.

3.4.3. Tercer experimento: Insercion y eliminacion de nodos

Para estos experimentos, para cada problema y tamano de poblacion seconstruyo una poblacion y se inserto (elimino) un nodo 100 veces (en el ca-so de la eliminacion, 200 veces), midiendo el tiempo requerido. La diferenciaestribaba en que el proceso de eliminacion, debido a sus caracterısticas, pre-sentaba mas variabilidad que en el caso de la insercion.

El ajuste es similar a los anteriores, tiempo = b0 · nb1 , con valores delparametro b1 ∼ 1 excepto para MOP7 que vale 2. En general, en la practica,para ambos algoritmos, el comportamiento puede considerarse lineal, mientrasque la complejidad teorica era del orden de n3 para el de eliminacion y n2 parael de insercion de nodos.

3.4.4. Cuarto experimento: Modificacion del proceso de selec-cion del algoritmo NSGA −II

En este experimento se implemento una modificacion del proceso de se-leccion del algoritmo NSGA − II con y sin la metodologıa que proponemos.En cada iteracion del algoritmo, este proceso selecciona para la poblacion si-guiente a aquellos individuos de las capas mas altas del GDI construido con lapoblacion de padres y la de descendientes juntas. Como la poblacion conjuntatiene 2n individuos y hay que seleccionar n, algunas de las soluciones de lascapas mas bajas del GDI no entraran a formar parte de la nueva poblacion. Enel experimento realizado, en lugar de utilizar la distancia de “crowding” habi-tual del algoritmo NSGA− II, se simplifico el proceso eligiendo las primerassoluciones de la capa en la que este el proceso de seleccion.

En este experimento se observo que, en general, obtenemos menores tiem-pos de ejecucion con la metodologıa propuesta y que ademas, cuanto mayores el tamano de la poblacion mayor es la ventaja de utilizarla frente al meto-do habitual, ahorrando gran cantidad de tiempo (ver Figura 5 del artıculo,pagina 88 del Apendice A.2).

Page 61: Herramientas Para Algoritmos Evolutivos Multi Objetivo

42 Capıtulo 3 Representation and management ...

3.5. Conclusiones

La metodologıa propuesta es una nueva forma de representacion y ma-nipulacion de las poblaciones de los algoritmos evolutivos multiobjetivo quemostro ser mas rapida que las utilizadas habitualmente mediante vectores omatrices, sobre la coleccion de problemas test y los experimentos considerados.Ademas, esta metodologıa nos va a permitir definir de una forma mas comodaoperadores de recombinacion y mutacion que hagan un uso mas eficiente quelos operadores actuales de la informacion sobre las relaciones de dominacionentre las soluciones.

Page 62: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Capıtulo 4

A crossover operator thatuses Pareto Optimality in itsdefinition

4.1. Objetivos

Los operadores de recombinacion y mutacion juegan un papel clave en eldiseno de un algoritmo evolutivo. Ambos operadores son responsables de laexploracion y explotacion del espacio de las soluciones. El objetivo de estetrabajo fue el desarrollo de un operador de recombinacion que utilizara infor-macion explıcita sobre la calidad de las soluciones (eficiencia o no de los padres)en su diseno, con objeto de obtener mejores rendimientos que los operadoresde recombinacion habituales en la literatura.

Mas especıficamente, en este artıculo se presento un nuevo operador de re-combinacion de tipo uniforme que hacıa uso de la optimalidad Pareto y asigna-ba distinta capacidad de generar valores cercanos o alejados de los padres enfuncion de la calidad de la solucion. La idea es que el operador utilice lassoluciones “buenas” para explotar el espacio de soluciones (es decir, realizaruna busqueda en su entorno) y las “no tan buenas” para buscar en zonas delespacio de soluciones mas alejadas. El operador tambien tiene en cuenta ladistancia entre las soluciones que se van a recombinar, dando mayor capaci-dad de variacion cuando las soluciones estan proximas. Mas especıficamente,en el caso de soluciones no eficientes, la capacidad de variacion por defectose incrementara o se reducira en un maximo del 33%, manteniendo de estaforma una capacidad importante de exploracion. Por otro lado, en el caso desoluciones eficientes, su amplitud por defecto se multiplicara por un factorque tiende a cero cuando aumenta el numero de iteraciones, de tal maneraque la capacidad exploratoria inicial se va sustituyendo progresivamente por

43

Page 63: Herramientas Para Algoritmos Evolutivos Multi Objetivo

44 Capıtulo 4 A crossover operator ...

capacidad de explotacion.

Una vez presentado el operador de recombinacion, se llevo a cabo un expe-rimento computacional para comparar el comportamiento del operador pro-puesto con el de otros operadores habituales en la literatura como son “naıve”o “standard one-point crossover”, “linear crossover”, “blend crossover” y “si-mulated binary crossover”, y que han sido presentados en la Seccion 1.3.3del Capıtulo 1. Los resultados de los experimentos mostraron que el nuevooperador se comportaba mejor que los restantes en la coleccion de problemastest utilizada. Exceptuando casos puntuales, el nuevo operador obtiene mejoresvalores de las medidas consideradas (diferencia de hipervolumen, distanciageneracional y cubrimiento de conjuntos) que los otros.

4.2. Aportaciones

La aportacion de este trabajo fue la construccion de un operador de recom-binacion cuya principal novedad era el uso de la informacion sobre la eficienciade las soluciones, haciendo que las soluciones eficientes “explotaran” el espa-cio de soluciones y las no eficientes lo “exploraran”, tratando de encontrar unequilibrio adecuado entre explotacion y exploracion. Esto se hizo teniendo encuenta la eficiencia o no de los padres a recombinar y su proximidad o no,comparada esta con la distancia media entre los individuos eficientes de lapoblacion.

En el experimento realizado se puso de manifiesto la superioridad del ope-rador presentado frente a los otros operadores considerados.

4.3. Resumen

4.3.1. Esquema general

Comenzaremos este resumen presentando el esquema general del operador.

Sea Pt la poblacion del algoritmo en la t-esima generacion y POSt suconjunto Pareto optimo, es decir, el conjunto de soluciones eficientes de Pt.En la estructura de grafo de dominacion irreducible, POSt coincide con lacapa superior del grafo.

Se calcula la distancia euclıdea entre todas las parejas x(i,t) y x(j,t), conx(i,t),x(j,t) ∈ POSt, dist(x(i,t),x(j,t)). A continuacion, se calcula la media,d(eff,t), y la desviacion tıpica, σ(eff,t), de estas distancias.

Sean x(1,t) y x(2,t) las soluciones a recombinar y d = dist(x(1,t),x(2,t)) ladistancia euclıdea entre ellas. Dependiendo de esta distancia, se aumentara o

Page 64: Herramientas Para Algoritmos Evolutivos Multi Objetivo

4.3. Resumen 45

disminuira la semiamplitud del intervalo donde se crearan las soluciones. Parallevar a cabo la recombinacion de x(1,t) y x(2,t) se consideran tres casos: ningu-na de las soluciones es eficiente, ambas son eficientes y solo una es eficiente.Los intervalos se construyen utilizando unos factores de correccion, denotadosmediante fNeff y f (eff,t), cuyos valores se determinaran en la Seccion 4.3.2.

• Caso 1: Ninguna es eficiente. Las componentes nuevas se generan aleato-riamente en el intervalo:[x(1,t)i + x

(2,t)i

2− |x(1,t)

i − x(2,t)i | · fNeff ,

x(1,t)i + x

(2,t)i

2+ |x(1,t)

i − x(2,t)i | · fNeff

].

• Caso 2: Ambas son eficientes. Las componentes se generan aleatoria-mente en los intervalos:[xhi − 3

4· |x(1,t)

i − x(2,t)i | · f (eff,t), xh

i +3

4· |x(1,t)

i − x(2,t)i | · f (eff,t)

], h = 1, 2,

donde:

xhi =

{x(h,t)i , con probabilidad 3

4 ,

x(3−h,t)i , con probabilidad 1

4 .

Es decir, el punto central del intervalo se intercambia con probabilidad0.25.

• Caso 3: Solo una solucion, por ejemplo x(1,t), es eficiente. En este caso,un valor se obtiene en el intervalo[

x1i −3

4· |x(1,t)i − x

(2,t)i | · f (eff,t), x1i +

3

4· |x(1,t)i − x

(2,t)i | · f (eff,t)

],

con

x1i =

{x(1,t)i , con probabilidad 3

4 ,

x(2,t)i , con probabilidad 1

4 ,

y el otro valor en el intervalo[x2i −

3

4· |x(1,t)i − x

(2,t)i | · fNeff , x1i +

3

4· |x(1,t)i − x

(2,t)i | · fNeff

],

con

x2i =

{x(1,t)i , con probabilidad 1

4 ,

x(2,t)i , con probabilidad 3

4 .

Page 65: Herramientas Para Algoritmos Evolutivos Multi Objetivo

46 Capıtulo 4 A crossover operator ...

4.3.2. Factores de correccion

Asociadas a las soluciones no eficientes y eficientes de Pt hay unas can-tidades, denotadas con fNeff y f (eff,t), respectivamente, que inicialmentetoman el siguiente valor:

fNeff = 1, para las soluciones no eficientes,

f (eff,t) = 1− 0.11 · ⌊ tstepsIter⌋, para las soluciones eficientes,

donde stepsIter es el numero maximo de iteraciones ejecutadas por el algo-ritmo dividido por 10 y ⌊·⌋ representa la funcion suelo. Estas cantidades semultiplicaran por un factor de correccion, definido como la siguiente funcion,representada graficamente en la Figura 4.1:

factor =

4/3, si d < d(eff,t) − 3 · σ(eff,t),

1 + 0.11 · d(eff,t)−dσ(eff,t) , si d ∈

[d(eff,t) − 3 · σ(eff,t),

d(eff,t) + 3 · σ(eff,t)],

2/3, si d > d(eff,t) + 3 · σ(eff,t).

Figura 4.1: Factor de correccion en funcion de la distancia entre soluciones.

Es decir, cuando las soluciones x(1,t) y x(2,t) estan muy proximas (primercaso), el factor de correccion es constante e igual a 4/3, lo que hace que au-mente en un 33% el intervalo en el que se van a generar las soluciones. Silas soluciones estan muy alejadas (tercer caso), el factor es constante e iguala 2/3, lo que reduce este intervalo tambien en un 33%. En las situaciones

Page 66: Herramientas Para Algoritmos Evolutivos Multi Objetivo

4.3. Resumen 47

intermedias (segundo caso), el factor es una funcion lineal de la distancia,

1 + 0.11 · d(eff,t) − d

σ(eff,t),

que, como maximo, amplıa o reduce el intervalo en un 33%.

Finalmente, hay que hacer notar que en todos los casos las soluciones segeneran aleatoriamente en los intervalos indicados utilizando una distribucionuniforme. Si la solucion obtenida resultara ser no factible, se genera otra dela misma manera. Ademas, a todas las componentes de las soluciones involu-cradas se les aplica la recombinacion.

4.3.3. Planteamiento de los experimentos

Para comprobar el buen funcionamiento del operador propuesto, denotadoen el experimento como PBC (Pareto Based Crossover), se diseno el siguienteexperimento computacional. Se programo un algoritmo evolutivo multiobjeti-vo basico como el de la Figura 1.1 del Capıtulo 1, en el que en el paso “variarPt” unicamente intervino el operador de recombinacion. Se comparo el opera-dor de recombinacion propuesto con los cuatro operadores de recombinacion,naıve, linear, blend y simulated binary crossover, mencionados en el Capıtulo1, en la Seccion 1.3.3, y denotados en este capıtulo mediante C1, C2, C3 y C4,respectivamente; y bajo los tres esquemas de seleccion diferentes, de super-vivientes, de eliminados y elitista, del Capıtulo 1, Seccion 1.3.5, y denotadasaquı mediante S1, S2 y S3, respectivamente.

Para comparar las poblaciones resultantes de la aplicacion del algoritmoevolutivo basico con cada uno de los operadores de recombinacion, se conside-raron las siguientes medidas de la calidad del conjunto de soluciones eficientes:diferencia de hipervolumen, distancia generacional y cubrimiento de conjuntos,que han sido previamente expuestas en el Capıtulo 1, Seccion 1.3.6.

El algoritmo se ejecuto sobre una coleccion de problemas test habitualesen la literatura que son las versiones rotadas y/o desplazadas de los problemasZDT y DTLZ, y que han sido presentados en la Seccion 1.3.7 del Capıtulo 1.

El desarrollo fue el siguiente: se tomo un tamano de poblacion fijo igual a100 individuos. Se definio un escenario para cada una de las combinaciones delos niveles de los factores numero de iteraciones (100, 500 y 1000) y operadorde seleccion (S1, S2 y S3), con lo que se tenıan nueve escenarios posibles. Paracada problema test se generaron 50 poblaciones iniciales y se ejecuto el algo-ritmo utilizando cada uno de los cinco operadores de recombinacion (el nuevoy los cuatro de la comparacion), considerando cada uno de los 9 escenariosposibles. Ası, para cada problema y combinacion de escenario y operador derecombinacion, se obtuvieron 50 poblaciones finales. De estas poblaciones se

Page 67: Herramientas Para Algoritmos Evolutivos Multi Objetivo

48 Capıtulo 4 A crossover operator ...

extrajeron los conjuntos de soluciones eficientes y sobre ellos se calcularon losvalores de las medidas anteriormente mencionadas.

4.4. Resultados obtenidos

Para cada problema, en cada escenario se calculo y represento graficamentela media de cada medida obtenida sobre las 50 poblaciones. Estas representa-ciones graficas pueden verse en las Figuras 3 a 11 del artıculo (ver paginas 103a 107 del Apendice A.3). Pero como el valor de la media por si solo no essuficiente para garantizar el mejor comportamiento de nuestro operador, serealizaron tambien contrastes de hipotesis de comparacion de medias empare-jando los datos de nuestro operador con los de los operadores restantes en cadauno de los escenarios. Los resultados obtenidos se codificaron en tablas de lasiguiente manera: Si aparece un signo ‘+’ significa que el operador de recom-binacion propuesto, PBC se comporta mejor que Ci. Si aparece un signo ‘=’significa que ambos operadores, PBC y Ci, son equivalentes. Y finalmente, siaparece un signo ‘−’ significa que el operador propuesto es peor que Ci. Estosresultados se muestran en el artıculo en la Tabla 2 con todos los problemasjuntos (ver paginas 108 y 109 del Apendice A.3) y en las Tablas 3 a 6, concada problema por separado (ver paginas 111 a 114 del Apendice A.3).

Ademas, en la Tabla 2 de resultados conjuntos aparece el intervalo deconfianza para la diferencia de medias de las medidas en las muestras empare-jadas MCi − MPBC , siendo M cualquiera de las tres medidas anteriormentemencionadas.

Como se han elegido tres medidas para cuantificar la calidad del conjuntode soluciones, el problema de decidir que operador de recombinacion es mejores, en si mismo, un problema multiobjetivo. Por ello se tomo la siguientedecision de compromiso: si la diferencia entre el numero de signos ‘+’ y ‘−’en un escenario es positiva diremos que el operador de recombinacion PBC esmejor que el operador Ci en ese escenario. Si la diferencia es negativa, diremosque el operador Ci es mejor que PBC en ese escenario. En caso contrario,diremos que los operadores Ci y PBC se comportan de forma equivalente.

Se puede observar en la Tabla 2 del artıculo que no hay ningun escenarioen el que el operador Ci se comporte mejor que PBC en las tres medidassimultaneamente. Es mas, se puede observar que PBC es siempre mejor quelos operadores C2 y C4 en todos los escenarios considerados y en todas las me-didas. Respecto a C1, solo con la medida HD este operador presenta mejoresresultados que PBC en cuatro de los nueve escenarios, siendo PBC mejorque C1 en los cinco restantes y en todos con las otras dos medidas. Respectoa C3, unicamente en dos escenarios este es mejor que PBC con la medidaHD y equivalente en otros dos. En los restantes escenarios y medidas, PBC

Page 68: Herramientas Para Algoritmos Evolutivos Multi Objetivo

4.5. Conclusiones 49

presenta mejor comportamiento que C3. Por tanto, globalmente se puede con-cluir que el operador propuesto PBC presenta mejor comportamiento queCi, i = 1, 2, 3, 4 cuando se consideran todas las medidas y de acuerdo con lasolucion de compromiso adoptada.

A la vista de las Figuras 3 a 11 y de las Tablas 3 a 6 del artıculo, se puedeconcluir que ninguno de los operadores considerados es claramente mejor quePBC en todos los problemas. Es mas, C1 siempre se comporta peor que PBCexcepto en tres escenarios del problema R-DTLZ3, y son equivalentes en unescenario del problema R-DTLZ2. PBC es siempre mejor que C2. C3 no secomporta mejor que PBC en los problemas S-ZDT1, S-ZDT4, R-ZDT4, S-DTLZ2, R-DTLZ2 y R-DTLZ3 en los que PBC es mejor que C3 en todos.Solo en los problemas S-ZDT2 y S-ZDT6, el operador C3 es mejor que PBCen algunos escenarios (dos para S-ZDT2 y cuatro para S-ZDT6), por lo quesolo es en el problema S-ZDT6 en el que C3 es mejor que PBC. Finalmente,PBC se comporta mejor que C4 excepto en dos escenarios en los que sonequivalentes y tres en los que C4 es mejor, todos ellos del problema R-DTLZ2.

4.5. Conclusiones

En este trabajo se propuso un nuevo operador de recombinacion que tieneen cuenta la calidad de la solucion y la distancia entre padres en relacion con ladistancia media entre las soluciones eficientes. Este operador se comparo concuatro operadores de recombinacion estandar.

De los experimentos llevados a cabo, se concluye que el nuevo operadorde recombinacion presentado se comporta mejor que los otros operadores derecombinacion considerados para los problemas test considerados. Exceptopara algunos escenarios, el operador propuesto obtiene mejores valores paralas medidas consideradas que los otros operadores.

Page 69: Herramientas Para Algoritmos Evolutivos Multi Objetivo
Page 70: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Capıtulo 5

A Mutation Operator basedon a Pareto Ranking forMulti-Objective EvolutionaryAlgorithms

5.1. Objetivos

El operador de mutacion se considera un elemento importante en el disenode algoritmos evolutivos puesto que es el que, en general, ayuda a crear di-versidad en la poblacion y, por tanto, a evitar que el algoritmo converja aun optimo local. En el caso de algoritmos evolutivos con codificacion real, elcontrol del tamano del paso/varianza es un elemento muy importante en eldiseno del operador de mutacion.

Los objetivos de este trabajo son similares a los del trabajo anterior perocentrados en el operador de mutacion en lugar del de recombinacion. De estaforma, en este artıculo se presenta un nuevo operador de mutacion cuya prin-cipal novedad es el hecho de que utiliza la calidad de la solucion, medida enterminos de la capa Pareto en la que la solucion esta localizada, para modularla amplitud maxima de la mutacion, teniendo tambien en cuenta la iteracion.

A continuacion, se compara el comportamiento de este operador con el deotros operadores de mutacion habituales en la literatura, “random mutation”,“polynomial mutation”, “non-uniform mutation” y “Gaussian mutation”, quehan sido presentados en la Seccion 1.3.4 del Capıtulo 1, utilizando una colec-cion de problemas test. Como se vera, el nuevo operador de mutacion tienemejor comportamiento que los habituales.

51

Page 71: Herramientas Para Algoritmos Evolutivos Multi Objetivo

52 Capıtulo 5 A mutation operator ...

5.2. Aportaciones

La aportacion de este artıculo fue la definicion de un nuevo operador demutacion y el estudio realizado para compararlo con operadores de mutacionampliamente utilizados en la literatura, mediante el cual se confirma la supe-rioridad de nuestro operador.

El operador presentado tiene un comportamiento dinamico en dos sentidos.Por un lado, tiene un control determinista del tamano del paso, puesto que de-pende de la iteracion: como las soluciones obtenidas en las iteraciones inicialesdel algoritmo no seran tan buenas como las encontradas en las ultimas, inicial-mente, dara a las soluciones capacidad exploratoria (es decir, pasos grandes)que, conforme avancen las iteraciones, se ira sustituyendo por capacidad deexplotacion (pasos pequenos). Por otro lado, como ya se ha mencionado antes,el operador tiene en cuenta la calidad de la solucion que se va a mutar (y portanto, la evolucion del algoritmo), basandonos en el concepto de capas Paretointroducidas por Goldberg (1989), siguiendo la idea del heurıstico Shrink thestep size when making progress, expand when stuck. Esto significa que las solu-ciones “buenas” se utilizaran para explotar el espacio, mientras que las “notan buenas” lo seran para explorarlo.

5.3. Resumen

El funcionamiento de este operador se articula utilizando dos elementos: lacalidad de la solucion y la iteracion actual del algoritmo. Para la presentaciondel operador, se mostrara primero la parte basada en la calidad (ranking) yluego la basada en la iteracion.

5.3.1. Mecanismo basado en el ranking

Consideramos una funcion r que asigna un ranking a cada individuo de lapoblacion, por ejemplo, el definido por Goldberg (1989), y presentado en laSeccion 1.3.2 del Capıtulo 1. Definimos una funcion λ(r), tal que asigne valorespequenos a valores pequenos de r (soluciones “buenas”) y valores grandes asoluciones con ranking r grande (soluciones “no tan buenas”). En particular,

λ(r) : {1, 2, . . . , rtmax} → [0, 1],

donde en la iteracion t-esima, rtmax representa el ranking maximo de los indi-viduos de Pt, Esta funcion λ(r) debera verificar que λ(1) = 0, λ(rtmax) = 1,0 < λ(r) < 1, ∀r ∈ {1, 2, . . . , rtmax} y λ(r) < λ(r′) si r < r′. Tambien sera de-seable que la funcion λ(r) tenga la cualidad de equilibrar adecuadamente la

Page 72: Herramientas Para Algoritmos Evolutivos Multi Objetivo

5.3. Resumen 53

aportacion de las soluciones en funcion de su calidad. Si se introduce un para-metro de forma, β, en la definicion de la funcion, resultara mas facil modularsu comportamiento.

Entre las muchas funciones que verifican las propiedades antes mencionadas,se ha definido la funcion λ(r) de la siguiente manera:

λ(r) =1− e−β(r−1)

1− e−β(rtmax−1)

y su comportamiento se ilustra en la Figura 5.1 (en el artıculo se muestranotras posibilidades de eleccion de la funcion λ(r), cuyas graficas se muestranen la Figura 2 de la pagina 127 del Apendice A.4).

5 10 15 20

0.0

0.2

0.4

0.6

0.8

1.0

λ(r)=(1 − e−β(r−1)) (1 − e−β(rmax−1)), − 1 ≤ β ≤ 1

rank value

λ(r)

Figura 5.1: Funcion λ(r) para distintos valores del parametro β.

Como ventajas destacables de esta funcion podemos nombrar el hecho deque el comportamiento de las curvas, dependiendo del valor del parametroβ, es simetrico respecto a la recta que va de (0, 0) a (rtmax, 1), por lo que esfacil intercambiar la aportacion entre soluciones “buenas” y “malas”. Ademas,considerando el rango de variacion de β en el intervalo [−1, 1] o incluso en[−0.5, 0.5], se puede obtener un conjunto de curvas suficientemente represen-tativo.

Como ya se ha comentado, λ(r) va a controlar la amplitud maxima demutacion de los individuos en el sentido de que asignara amplitudes maximas

Page 73: Herramientas Para Algoritmos Evolutivos Multi Objetivo

54 Capıtulo 5 A mutation operator ...

mas grandes a aquellos individuos con valores altos del ranking (es decir, alos de las capas inferiores del grafo de dominacion irreducible asociado) yamplitudes maximas mas pequenas a los individuos con valores pequenos delranking (es decir, soluciones de las capas superiores del grafo).

5.3.2. Mecanismo basado en la iteracion

La idea anterior se completa incorporando la dependencia de la iteracion detal forma que, en las etapas iniciales, la funcion mantiene el valor de λ(r) pro-puesto pero, segun avanzan las iteraciones del algoritmo, el nuevo mecanismotiende a reducir el valor inicial de amplitud maxima de la mutacion proporcio-nada por λ(r). Esta idea se aplica tanto a las soluciones eficientes como a lasno eficientes aunque con ponderaciones diferentes. Por ejemplo, en las etapasiniciales, el conjunto de soluciones eficientes encontradas no tiene por que ser“bueno” (es decir, sus valores no tienen por que estar cerca del Pareto Front).Ası, una solucion de ranking 1 (eficiente) en las etapas iniciales podrıa teneruna amplitud maxima de mutacion igual al 25% del rango de variacion dela variable y en las iteraciones siguientes, las soluciones de ranking 1 tendranamplitudes maximas mas pequenas, siendo practicamente cero en las ultimasiteraciones del algoritmo. Sin embargo, las soluciones con valores grandes deranking (soluciones no eficientes) mantendrıan siempre una amplitud maximade mutacion grande a pesar de la reduccion.

Con las ideas anteriores en mente, se propuso el operador de mutacion dela siguiente manera:

x(t+1)k = x

(t)k + u · δ(t,r) ·

(x(U)k − x

(L)k

),

donde u ∼ U(0, 1), x(L)k y x(U)k son las cotas inferior y superior, respectiva-

mente, de la componente k-esima de x y δ(t,r) define la amplitud dependiendodel ranking r y de la iteracion t de acuerdo con:

δ(t,r) =

{2 · ϵ(t) + κ · (1− ϵ(t)), si rtmax = 1,ϵ(t) + (1− ϵ(t)) · λ(r), si rtmax ≥ 2,

donde

ϵ(t) = 0.25 ·(tmax − t

tmax

)2

,

tmax es el numero maximo de iteraciones y κ es un parametro que habra quefijar.

Si todas las soluciones son eficientes, es decir, rtmax = 1, la amplitud de lasmutaciones esta basada unicamente en la iteracion t y disminuye conforme t

Page 74: Herramientas Para Algoritmos Evolutivos Multi Objetivo

5.3. Resumen 55

aumenta, de forma similar al operador de mutacion no uniforme. Ademas, eneste caso, la amplitud maxima de mutacion de estas soluciones se mantiene,durante la mayorıa de las iteraciones, mayor que la que se tendrıa en caso deque hubiera simultaneamente soluciones eficientes y no eficientes (lıneas conr = 1 y punteada del grafico de la Figura 5.2). Esto es debido a que si solo haysoluciones eficientes, estas deben ser tambien responsables de la exploraciondel espacio de busqueda. El termino κ · (1− ϵ(t)) garantiza que esta amplitudmaxima no llega a hacerse 0 conforme avanzan las iteraciones, si todas lassoluciones son eficientes.

Respecto al parametro κ que aparece en la expresion de δ(t,r), este re-presenta el mınimo tamano de paso maximo a considerar segun avanzan lasiteraciones, para prevenir que el operador de mutacion haga mutaciones queno modifiquen realmente los valores de las componentes. Ası, el valor κ de-pende del rango de variacion de las variables de decision. En los problemasconsiderados en las pruebas, estos rangos son similares y por ello se ha tomadoun valor comun de κ igual a 0.0001.

En relacion con la constante 0.25 de la definicion de ϵ(t) se ha establecidode esta manera para que al comienzo de la ejecucion, el tamano maximo de lamutacion para las soluciones eficientes sea igual a este valor.

Para fijar el valor del parametro β se ha llevado a cabo un experimento quese explicara mas adelante, junto con los parametros de los otros operadores demutacion considerados.

Con objeto de ilustrar el operador propuesto, la Figura 5.2 muestra el com-portamiento del valor de δ(t,r) de una poblacion hipotetica que tuviera rankingmaximo constante e igual a 5. Mediante lıneas continuas, en la parte de arribadel grafico, se puede observar que las soluciones con ranking igual a 5 (es decir,las peores soluciones) se utilizan siempre para la exploracion del espacio ya quela amplitud maxima de la mutacion es igual a 1. Para soluciones con valoresde ranking menor que 5, la amplitud maxima se reduce conforme avanzan lasiteraciones. Ademas, la amplitud maxima de las soluciones eficientes (las deranking igual a 1) comienza con valores proximos a 0.25 y finaliza con valoresproximos a 0. Mediante puntos se muestra la evolucion de δ(t,r) cuando sesupone que rtmax = 1, es decir, la evolucion de la amplitud suponiendo quetodos los individuos fueran eficientes.

5.3.3. Seleccion de parametros en los operadores RMO, PMO,NUMO y GMO

Como en nuestro primer experimento se utilizo, como operador de variacion,unicamente el operador de mutacion, podrıa ocurrir que los valores que ha-bitualmente se utilizan en la literatura para los parametros asociados a los

Page 75: Herramientas Para Algoritmos Evolutivos Multi Objetivo

56 Capıtulo 5 A mutation operator ...

0 10 20 30 40 50

0.0

0.2

0.4

0.6

0.8

1.0

Iteration

Max

imal

ste

p si

zer=5

r=4

r=3

r=2

r=1

Figura 5.2: Evolucion de la amplitud maxima de la mutacion δ(t,r).

operadores de mutacion considerados (∆ para RMO, η para PMO, b paraNUMO y σ0 para GMO) no fueran los mejores ya que estos valores se habrıanfijado, presumiblemente, en un algoritmo evolutivo que utilizara, ademas deloperador de mutacion, uno de recombinacion. Por tanto, previo a nuestro ex-perimento, propusimos realizar otro para determinar los mejores valores delos parametros de los operadores de mutacion considerados. En la Tabla 5.1aparecen los operadores junto con el parametro, sus caracterısticas y cuatroposibles valores, de entre los que elegimos “el mejor”.

Tabla 5.1: Valores de los parametros de los operadores.

Operador Parametro Caracterısticas ValoresRMO ∆ A mayor ∆, 0.1, 0.25,

mayor amplitud de mutacion 0.5, 0.75NUMO b A mayor b, menor probabilidad 1, 2,

de obtener amplitud grande 5, 8PMO η A mayor η, menor probabilidad 5, 10,

de obtener amplitud grande 15, 20GMO σ0 σ0 representa la mınima 10−5, 10−4,

amplitud maxima permitida 10−3, 10−2

PRBMO β Equilibrio en la aportacion -0.5, -0.1,de las soluciones “buenas” y las “malas” 0.1, 0.5

El proceso seguido fue el siguiente. Se tomo un tamano fijo de poblacionigual a 100 individuos y una probabilidad de mutacion igual a 1/n excepto parael operador GMO en el que todas las componentes de todos los individuos semutan ya que es lo habitual en este operador. Se definio un escenario comouna combinacion de los factores numero de iteraciones y operador de seleccion.Cada factor tenıa tres niveles (100, 500 y 1000 para el numero de iteracionesy S1, S2 y S3 para el operador de seleccion) por lo que habıa nueve escenarios

Page 76: Herramientas Para Algoritmos Evolutivos Multi Objetivo

5.3. Resumen 57

diferentes.

Para cada problema se generaron 30 poblaciones iniciales que se hicieronevolucionar considerando cada uno de los distintos operadores de mutacion conlos distintos valores de los parametros en cada uno de los nueve escenarios. Deestas poblaciones finales, se extrajo el conjunto de soluciones eficientes sobrelas que se calculo el valor de la medida diferencia de hipervolumen, HD. Seselecciono unicamente una medida para simplificar el proceso, y, en particular,se tomo HD ya que esta medida tiene en cuenta a la vez la distribucionuniforme de las soluciones a lo largo del Pareto front y la parte del Paretofront cubierta.

A continuacion se calculo, para cada operador de mutacion, el numero deveces en las que el operador, con un valor determinado del parametro, ganaba,respecto a la medidaHD, al mismo operador pero con otro valor del parametrocuando evolucionaba la misma poblacion inicial bajo los mismos escenarios.Con estos valores se ejecuto un test de hipotesis para determinar cuales podıanser considerados estadısticamente equivalentes, comparando todas las parejas.Despues de este proceso, los valores seleccionados para los parametros, quese utilizaran en los dos experimentos posteriores, fueron los que se muestranen la Tabla 5.1 en negrita. Una descripcion mas detallada puede verse en laSeccion 5.5 del trabajo original, en la pagina 137 del Apendice A.4.

5.3.4. Planteamiento de los experimentos

Para llevar a cabo la comparacion del nuevo operador de mutacion pro-puesto con los operadores de mutacion considerados se realizaron dos expe-rimentos similares al del artıculo anterior. En el primero de ellos, en el quecomparamos el funcionamiento del operador propuesto con los restantes, sediseno un algoritmo evolutivo como el de la Figura 1.1 del Capıtulo 1 en elque en el paso “variar Pt” se considero unicamente el operador de mutacion.Se comparo el operador de mutacion propuesto con los cuatro operadores demutacion, aleatorio, polinomial, no uniforme y gaussiano, mencionados en elCapıtulo 1, en la Seccion 1.3.4, y denotados mediante RMO,PMO,NUMOy GMO, respectivamente.

En el segundo experimento comparamos la implementacion clasica del al-goritmo NSGA − II con una nueva en la que se sustituyo el operador demutacion por el nuevo que proponemos.

Los problemas test, los operadores de seleccion y las medidas utilizadaspara llevar a cabo las comparaciones de los conjuntos de soluciones eficientesfueron los mismos que los utilizados en el trabajo anterior.

Page 77: Herramientas Para Algoritmos Evolutivos Multi Objetivo

58 Capıtulo 5 A mutation operator ...

5.4. Resultados obtenidos

5.4.1. Primer experimento: Comparacion de PRBMO frente aRMO, NUMO, PMO y GMO

Para este experimento se seleccionaron los mismos escenarios, tamano depoblacion y probabilidad de mutacion que para el experimento de seleccion deparametros, pero en este caso, para cada problema se generaron 50 poblacionesiniciales distintas de las anteriores. A partir de aquı, el experimento es similaral contado en la Seccion 4.3.3 del Capıtulo 4, pero cambiando el papel de losoperadores de recombinacion por los de mutacion y obteniendo la mediana enlugar de la media.

Las Tablas 6 a 9 del artıculo (ver paginas 140 a 147 del Apendice A.4)muestran las medianas de HD y GD y de la diferencia C(PRBMO,MO) −C(MO,PRBMO), siendo MO cualquiera de los operadores RMO, NUMO,PMO o GMO. Los resultados del test de Wilcoxon de igualdad de medianasfueron codificados de forma analoga al artıculo anterior: si aparece un signo‘=’, significa que ambos operadores MO y PRBMO se pueden considerarequivalentes; si aparece un signo ‘−’, significa que PRBMO se considera peorqueMO; y si aparece un signo ‘+’, indica que PRBMO se considera mejor queMO, pero este signo se ha omitido para simplificar las tablas de resultados.

Al igual que ocurrıa en el caso del operador de recombinacion, al tener tresmedidas para comparar los operadores, tenemos un problema multicriterio,por lo que se adopto la misma solucion de compromiso que en el Capıtulo 4para comentar los resultados del experimento: si la diferencia entre el numerode signos ‘+’ y ‘−’ en un escenario es positiva, diremos que PRBMO es mejorque MO en ese escenario. Si la diferencia es negativa, diremos que MO esmejor que PRBMO en ese escenario. Y en otro caso, diremos que MO yPRBMO son equivalentes.

En el trabajo estan comentados los resultados problema por problema y enconjunto. Globalmente, se puede decir que PRBMO proporciono, en general,mejores resultados que los restantes operadores. Solo hubo un escenario, con100 iteraciones y seleccion S3, con uno de los problemas (S-DTLZ2), en el quetodos los otros operadores eran, simultaneamente, mejores que PRBMO. Enlos restantes casos no volvio a producirse una situacion similar; en algunoscasos, aparece un signo ‘=’ o ‘−’, pero solo para algunos operadores. Si tu-vieramos que seleccionar un operador entre los competidores que hiciera frentea PRBMO serıa muy difıcil o incluso imposible. Puede observarse que RMOjunto con NUMO con 100 iteraciones son los que tienen mas signos ‘=’ o‘−’(cuatro y cinco, respectivamente, en total, frente a solo uno de PMO yGMO). Cuando consideramos 500 iteraciones, la situacion anterior se diluyeun poco ya que PRBMO resulta ser mejor que RMO en todos los casos y

Page 78: Herramientas Para Algoritmos Evolutivos Multi Objetivo

5.5. Conclusiones 59

NUMO mantiene dos situaciones en las cuales es equivalente a PRBMO.Finalmente, con 1000 iteraciones, puede senalarse que el operador NUMO enlos problemas de tres funciones objetivo (S-DTLZ2, R-DTLZ2 y S-DTLZ3)es el unico que trata de presentar un mejor comportamiento que PRBMOobteniendo tres signos ‘=’ y un signo ‘−’.

5.4.2. Segundo experimento: implementacion de NSGA− II

En este segundo experimento se comprobo que la introduccion de nuestrooperador mejoraba un algoritmo clasico como es el algoritmo NSGA− II.

En este caso se consideraron solo tres escenarios definidos al variar el factornumero de iteraciones en el conjunto habitual {100, 500, 1000}. Se realizo elmismo contraste de comparacion de medianas de antes sobre las poblacionesobtenidas con la version original de NSGA−II y con la version de NSGA−IIutilizando nuestro operador, NSGA− IIPRBMO.

En este caso, tras realizar el test estadıstico se obtuvo, para todas las me-didas, signos ‘+’, concluyendo que en todos los problemas test, el rendimientode la implementacion que utilizaba el operador propuesto era superior. De-bido a esto no se mostraron las tablas en el trabajo, incluyendo en su lugar losdiagramas de caja de los valores obtenidos, donde se ponen de manifiesto losmejores resultados del operador propuesto (ver Figuras 5, 6 y 7 del artıculooriginal, paginas 152 y 153 del Apendice A.4).

5.5. Conclusiones

En este artıculo se propuso un nuevo operador de mutacion que considera lacalidad de la solucion y la iteracion para modelar la amplitud de la mutacion.Este operador se comparo con cuatro operadores de mutacion estandar y seutilizo para reimplementar el algoritmo NSGA− II.

A la vista de los resultados obtenidos se puede concluir que el nuevo opera-dor PRBMO tiene claramente mejor comportamiento que los restantes en losproblemas test utilizados. Es un operador que proporciona mejores resultadosque los operadores de mutacion considerados y que mejora el comportamientode un algoritmo de referencia clasico como es NSGA− II.

Page 79: Herramientas Para Algoritmos Evolutivos Multi Objetivo
Page 80: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendices

61

Page 81: Herramientas Para Algoritmos Evolutivos Multi Objetivo
Page 82: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A

Artıculos publicados

A.1. Optimization with simulation and multiobjec-tive analysis in industrial decision-making: Acase study

63

Page 83: Herramientas Para Algoritmos Evolutivos Multi Objetivo

64 Apendice A.1 Optimization with simulation ...

Optimization with simulation and multiobjective analysis

in industrial decision-making: A case study

I. Alberto a, C. Azc�aarate b, F. Mallor b,*, P.M. Mateo a

a Department of Statistical Methods, Faculty of Mathematics, University of Zaragoza, 50009 Zaragoza, Spainb Department of Statistics and Operations Research, Public University of Navarra, 31006 Pamplona, Spain

Received 26 August 2000; accepted 24 July 2001

Abstract

In order to ensure that end of life vehicles (ELVs) are discarded without endangering the environment, appropriate

collection systems should be set up. In accordance with the European Community Directive, the construction of an

industrial plant for the decontamination and recycling processes of ELVs is currently being planned in Navarra (Spain).

The aim of this study is to optimize the design and management of this industrial plant. We will provide a modelling

framework that integrates different OR methodologies: queueing networks, optimization with simulation, evolutionary

computation and multiobjective methods. Ó 2002 Elsevier Science B.V. All rights reserved.

Keywords: Simulation; Optimization; Multiobjective

1. Introduction

A current serious ecological problem in modern

countries is the impact of end of life vehicles

(ELVs) on the environment. To handle this issue

the European Community has recently (June 2000)

adopted a new Directive laying down measures

which are aimed, as first priority, at the prevention

of waste from vehicles and, in addition, at the re-

use (any operation by which components of ELV

are used for the same purpose for which they were

conceived), recycling (the reprocessing in a pro-

duction process of the waste materials for the

original purpose or for other purposes excluding

the processing for use as fuel or as other means of

generating energy) and other forms of recovery

(any of the applicable operations provided for in

Annexe II B to Directive 75/442/EEC) of vehicles

and their components.

In accordance with the polluter-pays principle

and in order to implement the principle of pro-

ducer responsibility, collection and recovery of

ELVs should no longer be a responsibility of

public authorities and should be shifted to eco-

nomic operators (producers of materials and of

vehicles, distributors, dismantlers, shredders, re-

coverers and recyclers). This means that the Gov-

ernments of the European Community States shall

European Journal of Operational Research 140 (2002) 373–383

www.elsevier.com/locate/dsw

*Corresponding author.

E-mail addresses: [email protected] (I. Alberto),

[email protected] (C. Azc�aarate), [email protected]

(F. Mallor), [email protected] (P.M. Mateo).

0377-2217/02/$ - see front matter Ó 2002 Elsevier Science B.V. All rights reserved.

PII: S0377-2217 (02 )00075-9

Page 84: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.1 Optimization with simulation ... 65

take the necessary measures to ensure that these

economic operators set up systems for the collec-

tion of all ELVs and to ensure the availability and

balanced allocation of collection facilities within

their territory. They shall also take the necessary

measures to ensure that all ELVs are transferred to

authorized treatment facilities where a certificate

of destruction, to be used as a prerequisite for the

de-registration of vehicles, should be set up. More

details can be found in the Directive of the Euro-

pean Parliament and of the Council on end of life

vehicles (see http://www.finishing.com/Library/

EOL-vehicles.html).

The purpose of this research is to optimize the

design and operation of one of these ELV decon-

taminating plants. Concretely, this study aims to

determine the dimensions that this plant should

have regarding physical spaces (size of the plant,

size of the vehicle storage area, etc.), work capacity

in the plant (number of lines of decontamination,

number of workstations, hours of work, etc.), and

transportation logistics for the return of these ve-

hicles (type of truck, number of trucks, hours of

work, etc.). Furthermore, different plant manage-

ment policies are defined and contrasted. To ac-

complish these objectives, we have combined

different tools of the Operations Research field

such as queueing network models, optimization

with simulation and evolutionary computation.

The paper will proceed as follows. The next

section describes our case study in Spain. The

mathematical model for the optimization of the

design and operation of the industrial plant will be

outlined in Section 3. This will be followed by the

results from the study, summarized in Section 4.

Finally, we will present our conclusions and indi-

cate future research lines.

2. Case study. Description of the Spanish system

operation

Until now in Spain, ELVs are stripped at scrap

heaps and then sent to steel mills to finish their life

cycle. For the ecological reasons mentioned be-

fore, it is necessary for them to be previously de-

contaminated. The company Reciclauto S.L. plans

to install in Navarra (Spain) one industrial plant to

carry out this decontamination process, including

the capacity to separate specific materials that can

later be re-used or recycled. Scrap heaps have been

implied in this project because at present they

handle the recycled and re-used materials.

The main elements that describe the operation

of this system, as well as their physical and logical

interrelationships, are shown in Fig. 1. When an

ELV arrives at the system, brought by a private

owner, a dealer, the town council, etc., its sale to a

Fig. 1. Main elements of the system considered in the pilot plant.

374 I. Alberto et al. / European Journal of Operational Research 140 (2002) 373–383

Page 85: Herramientas Para Algoritmos Evolutivos Multi Objetivo

66 Apendice A.1 Optimization with simulation ...

scrap heap has already been transacted. Therefore,

when the decontamination process in the plant is

finished for this ELV, it is known to which scrap

heap it has to be transported. When a vehicle ar-

rives at the system and finds the decontamination

plant busy, it is placed in a storage area, where it

stays until being selected to begin its decontami-

nation process.

The decontamination process fundamentally

consists of two stages or stations: a first stage

called Ecological Station, and a second one called

Material Valuation. The first station is devoted to

the extraction of all the liquids of the car (oil,

brake fluid, etc.) and other pollutant components

such as batteries, tyres, air bags, catalysts, oil fil-

ters, etc. In the second station, the materials that

are going to be recycled or re-used such as glass,

plastic, copper, aluminium, etc. are separated by

removing the windows, bumper, radiator grids,

seats, etc.

When a vehicle comes to the end of its decon-

tamination process it is placed again into the

storage area, where it remains until a truck takes it

to its scrap heap owner. The company deals with

transportation logistics for the return of the vehi-

cles to the scrap heaps.

The management policies of this system consist

of deciding which contaminated ELV is selected

from the store to begin its decontamination pro-

cess in the plant, and which decontaminated ELVs

will be transported by a truck on its next trip.

3. System modelling and research methodology

In this section we shall outline the research

methodology to optimize the design and operation

of the decontaminating industrial plant. We shall

provide an approach that integrates different Op-

erations Research methodologies: queueing net-

works, simulation, optimization with simulation

and evolutionary computation.

3.1. Queueing network model

Queueing network models are a common tool

for modelling and evaluating production systems,

computational systems and communication net-

works. Different analytical and approximated

methods for their study and resolution have been

developed by Whittle (1986), Walrand (1988),

Bolch et al. (1998). Some references and a short

description of the use of these techniques in the

analysis and design of general production systems

can be found in Papadopoulos et al. (1993).

However, in practice, simulation is a useful tech-

nique for analysing queueing network complex

systems.

We modelled this industrial system through a

queueing network model (Fig. 2), with the fol-

lowing characteristics:

• Two servers connected in series: the decontami-

nation plant and the transportation system for

the return of ELVs.

• Several sources of arrivals (the scrap heaps) of

ELVs (the customers of the system).

• A waiting room (the storage area in the plant)

with finite capacity, which is common for the

two servers.

• Queueing service discipline with priority for the

two servers. This service discipline depends on

both the management policy of the store and

the management policy of the truck trips.

• The second server (the transportation system)

works on a bulk service basis; thus, the service

time depends on the bulk size and on the type

of customer.

The probability distributions associated with the

stochastic elements of the model were estimated

from information gathered from different agents.

We obtained data related to the withdrawals, li-

censing and number of vehicles in use over the last

few years from the State Traffic Centre. At the

same time, a list of the scrap heaps in the region

was elaborated, with their locations and with the

number of vehicles they handle annually. The time

needed for the decontamination of vehicles and the

timing related to the loading and unloading of ve-

hicles in a truck were measured in a pilot plant built

for this purpose. Data about capacity and speed of

several truck models were collected from several

transportation companies.

A monthly seasonal component, SEAðiÞ; i ¼1; . . . ; 12, of the generation process of ELVs has

been detected through a time series analysis. From

this result, the arrival process of ELVs to the

I. Alberto et al. / European Journal of Operational Research 140 (2002) 373–383 375

Page 86: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.1 Optimization with simulation ... 67

decontamination plant has been modelled for each

scrap heap as a non-stationary Poisson Process.

The rate of arrivals per workable hour for the jth

scrap heap during the ith month is kij, where

kij ¼kj � SEAðiÞ

12 � WKDðiÞ � hours

� �

with kj the annual generation rate of ELVs asso-

ciated with the jth scrap heap; WKDðiÞ the number

of workable days in the ith month; hours the

number of hours of a working day in the plant, i.e.,

the period for receiving vehicles.

The rules of vehicle selection for decontamina-

tion and transportation follow a FIFO service

discipline with priorities, since it incorporates

several conditions, e.g. the agreement of vehicle

return on a certain date, the decontamination of

vehicles of the same owner in order to optimize the

truck trips, and so on.

Then, the non-verification of Markovian prop-

erties and a queue discipline based on a set of rules

depending on the system state make it difficult to

study the model of the system by using only ana-

lytical tools.

3.2. Simulation of the system

So, as the mathematical approach introduced in

Section 3.1 would have required too many sim-

plifications in order to obtain analytical solutions,

we considered the discrete event simulation tech-

nique as a tool that allowed us to build a more

realistic model.

Stochastic simulation is a very developed and

consolidated tool, both in terms of its theoretical

bases (Rubinstein, 1981; Fishman, 1996), and of its

use in real systems (Law and Kelton, 2000).

In the first stage, we used a conventional sim-

ulation model to represent the design and man-

agement of this industrial plant. Thus, allowing

the agents of Reciclauto S.L. to compare the per-

formance under several scenarios defined by the

working capacity, storage spaces, transport ca-

pacity and logistics.

Incorporating the parameters defined in Table 1

and the system characteristics presented in Section

3.1, we built a computer simulator for the indus-

trial plant. The program was written in C++

Builder and incorporates a friendly interface for

the introduction of all the values associated with

the different parameters. The results of the simu-

lation provide a complete statistic summary (with

tables and figures) of the system performance, with

information about the indicators shown in Table

2.

One of the drawbacks of the traditional simu-

lation is that it provides no concrete solutions to

problems, but only possible ones, evaluating the

Fig. 2. Queueing network model.

376 I. Alberto et al. / European Journal of Operational Research 140 (2002) 373–383

Page 87: Herramientas Para Algoritmos Evolutivos Multi Objetivo

68 Apendice A.1 Optimization with simulation ...

operation of the system under these conditions.

Thus, to find a good solution to the problem, we

would need the evaluation of a set of solutions

sufficiently wide and representative of all the fea-

sible solutions. Modern simulation tries to avoid

this drawback by combining the simulation pro-

cess with an optimization method that automati-

cally changes from one solution to another,

seeking the optimal solution (see Law and Kelton,

2000 and further references given there). In our

application we are combining optimization with

simulation, as we will explain in the next section.

3.3. Optimization of the system

3.3.1. Optimization problem

After gathering information from interviewing

engineers of Reciclauto S.L., we considered some

Table 1

Parameters of the system

Parameter Description

Parameters associated with the plant

Size of the line Number of workstations in the decontamination line

Decontamination time Distribution functions of the decontamination time in plant

Storage capacity Capacity of the storage area

Working day in plant Start and finish of work time in plant

Parameters associated with the transport system

Characteristics of the

fleet of trucks

Number, capacity, speed, ELV loading and unloading times

Working day for the

trucks

Start and finish of work time of the truck, including the possibility of extra time in order to end trips that

begin in daily hours but would end out of time

Parameters associated with the external agents (scenarios)

Plant Location of the decontamination plant in Navarra (Spain)

ELV Seasonal factors of the monthly generation of ELVs and number of ELV assigned to each scrap heap

Scrap heaps Number, location and travelling time (depending on the truck time) of scrap heaps considered in the

system

Timetable Workable days and their yearly distribution

Parameters associated with the operational policies

Return time Agreement of ELV return on a certain date to the scrap heaps

Line buffer Maximum number of vehicles for which the decontamination process has started or has been scheduled

Complete truck trips Parameter related to priority service discipline. At each time, the number of trips with the load completed

with ELVs of the same owner is considered. When this number is lower than the value of the parameter,

then the queue discipline of the plant changes so as to give higher priority to the ELV that could first

complete a trip for a truck. This parameter can be understood as a security level for the ‘truck trips in

stock’

Upper and lower

occupation rates of

the plant

Parameters that also affect the priority service discipline. The first one defines the upper threshold from

which it is necessary to try to empty the storage area (danger of saturation), by activating the

corresponding mechanism (to give priority to return ELV to the nearest scrap heap). The second one

defines the threshold from which to take advantage to return ELV to the farthest scrap heaps

Table 2

Statistics and distributions from the simulation

Percentage of time with n non-decontaminated/

decontaminated/total vehicles in plant

Mean number of vehicles lost by saturation of the plant

Average of idle time in the decontamination line

Percentage of days with overtime for the transport trucks

Average of idle time for trucks and average overtime

Average number of truck trips

Average load per trip

Distribution of the load size

Percentage of vehicles returned after the agreement deadline

with the scrap heap, for each scrap heap

Distribution of input and output number of vehicles, for each

scrap heap

Distribution of the time that the ELVs of each scrap heap

spend in the system. Also the average and the maximum time

in the system are calculated

I. Alberto et al. / European Journal of Operational Research 140 (2002) 373–383 377

Page 88: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.1 Optimization with simulation ... 69

of the design parameters (those associated with the

plant and the transportation system) of the initial

simulator as variables to be optimized, and we

maintained as parameters the scenario and oper-

ational policy, in order to build some different

scenarios. The decision variables considered are

the following:

• working day in plant (x1);

• working day for the trucks (x2);

• size of the storage area (x3);

• staff size (decontamination time) (x4).

The engineers also identified several types of

objectives to be attained: economic objectives re-

lated to the plant internal operation, ecological

objectives and quality service objectives related to

commitments with the owners of the vehicles, as

follows:

Economic objectives:

maximize the utilization rate of the plant (z1);

maximize the utilization rate of the transporta-

tion system (z2);

maximize the utilization rate of the storage area

(z3).

Ecological objectives:

minimize the non-decontaminated vehicles rate

due to saturation of the system (z4).

Objectives related to the quality service:

minimize the vehicle rate that exceeds the max-

imum staying time allowed (z5);

minimize the expected time of ELV in the sys-

tem (z6).

Each of these objectives takes the following

functional form:

zi ¼ giðx; p; cÞ; i ¼ 1; . . . ; 6;

where x is the vector of decision variables; p is

the vector of system parameters; and

c ¼ ðv;w; yÞ, the stochastic elements of the sys-

tem: arrivals of ELV, ðvÞ, decontamination

times, ðwÞ, and delivery times, ðyÞ.We then defined a multicriteria decision prob-

lem, since we considered six objective functions of

a conflicting nature. The methodology chosen for

the resolution of this multiobjective problem is

weighted goal programming (Schniederjans, 1995),

where, given the aspiration levels, (ai), for each of

the six criteria, the weighted sum of the appro-

priate deviation variables is minimized:

X

3

i¼1

wi zi½ ÿ ai�ÿþX

6

i¼4

wi zi½ ÿ ai�þ: ð1Þ

But, as these objective functions are random

variables and therefore, so is the goal program-

ming objective function, we considered the mini-

mization of its expected value, that is,

Min ZðxÞ ¼X

3

i¼1

wi EðziÞ½ ÿ ai�ÿ

þX

6

i¼4

wi EðziÞ½ ÿ ai�þ: ð2Þ

Furthermore, as the objective functions’ ex-

pected values, E½zi� ¼ hiðx; pÞ, do not have an ex-

plicit functional expression in terms of x and p, it is

through the simulation that the value of such ex-

pected values can be estimated.

Thus, for the resolution of this optimization

problem we combined optimization with simula-

tion according to Fig. 3.

Starting from some initial values of the decision

variables, x0, the following process is repeated: at

step k þ 1, the simulation model receives the values

of the decision variables, xk, from the optimization

algorithm; the simulation of the queueing network

is run with these values. A set of system perfor-

mance measures, sk, directly obtained from the

statistical accumulators of the simulation pro-

gram, allows us to estimate the expected values of

the objective functions as well as the goal pro-

gramming objective function, ZZðxkÞ ¼ f ðskÞ. Now,

both the vector of the decision variables, xk, and

the estimated value for Z; ZZk, are the inputs for the

optimization algorithm, which returns a new vec-

Fig. 3. Scheme of optimization with simulation.

378 I. Alberto et al. / European Journal of Operational Research 140 (2002) 373–383

Page 89: Herramientas Para Algoritmos Evolutivos Multi Objetivo

70 Apendice A.1 Optimization with simulation ...

tor of decision variables, xkþ1, and a new iteration

of this procedure starts. This process ends with an

estimation of the solution to the problem when the

optimization algorithm verifies a stopping crite-

rion.

3.3.2. Optimization algorithm. Evolutionary Com-

putation

The optimization algorithm used to solve the

problem in our simulation–optimization method is

an Evolutionary Algorithm. Evolutionary Algo-

rithms, currently included under the name of

Evolutionary Computation, are problem-solving

methods based on the principles of natural evolu-

tion (Goldberg, 1989; Schwefel, 1995; Michalewicz,

1996; B€aack et al., 1997). The general structure of an

Evolutionary Algorithm is the following. In each

iteration, a population of individuals, that repre-

sents potential solutions to a problem, is main-

tained. A measure of quality allows us to evaluate

these individuals. With this evaluation a selection

process favouring the best individual is accom-

plished. The descendants of these individuals are

generated by random processes modelled by the

mutation operator (light modifications in an indi-

vidual) and by recombination or crossing (infor-

mation exchange between two or more existing

individuals). After a certain number of generations,

the best individual will represent a near-optimal

solution to the problem. These algorithms have

been used in numerous applications in the design,

planning and management of production systems,

as well as in the context of queueing networks

(B€aack et al., 1997; Chen et al., 1995; Gen and

Cheng, 1997; Hung et al., 1999; Rose and Yates,

1996, among many others).

There are several ways of encoding solutions

into individuals, of accomplishing selection pro-

cesses, evaluations, and a wide range of mutation

and recombination operators. The different ways

of using and combining all these elements state the

differences among the three main forms of Evolu-

tionary Algorithms: Genetic Algorithms (GAs),

Evolutionary Strategies and Evolutionary Pro-

gramming.

In this application we used an Evolutionary

Strategy (ES). These strategies usually handle

continuous variables, employ mutations with

normal distribution and deterministic selection

operator. Concretely, we used an ES-(1 + 1) (B€aack

and Schwefel, 1995; Schwefel and B€aack, 1995).

This algorithm (Fig. 4) operates with two indi-

viduals, one father and one descendant per gen-

eration, which compete with each other. If the

descendant is better than the parent, the descen-

dant replaces it as the father in the next generation.

The mutation operator creates the descendant

from the father. This mutation is performed

through the 1/5-rule (Fig. 5) where the variance of

the perturbation depends on the proportion (prop)

of successful mutations.

3.3.3. Technical issues of the optimization with

simulation algorithm

Our optimization algorithm, in contrast to the

usual implementation, generates integer values for

the decision variables. This fact makes it necessary

to modify the 1/5-rule in order to avoid premature

convergence. We fixed a minimum and a maxi-

mum variance for the perturbation and the 1/5-

rule is applied in a cyclic way. When the size of

mutation reaches the minimum value, this value is

kept for a maximum number of iterations at most.

In this case, the maximum variance value is con-

sidered again.

In order to evaluate the objective functions of

the optimization problem, we used a discrete event

simulation model. We defined the events that pick

Fig. 4. ES-(1+ 1).

I. Alberto et al. / European Journal of Operational Research 140 (2002) 373–383 379

Page 90: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.1 Optimization with simulation ... 71

up distinctive situations of the system. Basically,

the events considered are: the moment when the

industrial plant/scrap heap starts (the beginning of

the shift); the moment when trucks start work (the

beginning of the shift); the arrival of an automo-

bile from a scrap heap; the return of a truck; the

end of the decontamination process of a vehicle;

the end of the shift in the industrial plant/scrap

heap; the end of trucks shift.

Each run of the simulator provides an estima-

tion of the mean and variance of the objective

function, by dividing the complete run in several

batches. The size of the batch was previously de-

fined. To avoid the effects of the seasonal com-

ponent, the batch size must be a multiple of one

calendar year. This batch size is a fixed quantity

for the whole simulation run as well as for the

whole algorithm.

Simulations are generally computationally ex-

pensive, and the optimization process needs to

extensively seek the solution space. In order to

avoid wasting computational efforts and to quickly

eliminate from consideration low-quality solu-

tions, we used a mixed criterion to stop the simu-

lation run, where the number of batches, b, varies.

There are a minimum number of batches, bmin, that

are always simulated and a maximum number of

batches, bmax, that cannot be surpassed. To reach

this number bmax or not depends on the evolution

of the simulation run. When bmin batches have

been simulated, we consider the following test to

determine if there are significant differences be-

tween the results of the current simulation and the

reference one:

H0 : ZðxkÞ ¼ Zðxkÿ1Þ;

H1 : ZðxkÞ 6¼ Zðxkÿ1Þ:ð3Þ

We used the sample mean, ZZðxkÞ, and the sam-

ple standard deviation, SSzðxkÞ, obtained from the b

batches simulated until then, to test the hypothesis

that the expected value ZðxkÞ is equal to the ex-

pected value Zðxkÿ1Þ. We also used in this test the

values ZZðxkÿ1Þ and SSzðxkÿ1Þ obtained in the previ-

ous iteration of the algorithm.

Note that if the difference shows a better solu-

tion or no difference is detected, the simulation

continues until bmax is reached with the aim of

getting solutions with lower variance. Otherwise,

the evaluation of non-promising solutions is in-

terrupted. These stopping criteria are shown in an

algorithm (Fig. 6).

This procedure has been shown to be very

useful in advanced states of the system optimiza-

tion when a reference solution of small value and

small variance is available, which makes the dis-

crimination of non-promising solutions faster.

The stopping criteria for the simulation–opti-

mization algorithm combine two rules: a fixed total

number of generations and a fixed number of gen-

erations without improving the objective function.

4. Results

In this section we shall show some of the results

obtained when applying the proposed algorithm to

Fig. 6. Simulation stopping criterion.

Fig. 5. Mutation operator.

380 I. Alberto et al. / European Journal of Operational Research 140 (2002) 373–383

Page 91: Herramientas Para Algoritmos Evolutivos Multi Objetivo

72 Apendice A.1 Optimization with simulation ...

the model of the industrial plant for the decon-

tamination and recycling of ELV.

As an example, we present the results for the

following parameters and bounds for the vari-

ables:

• minutes of work of the industrial plant,

3606 x16 480;

• minutes of work of the trucks, 3606 x26 480;

• size of the storage area, 506 x36 100;

• exponential time for decontamination, with

mean between 15 and 25 minutes (x4);

• one truck with capacity for three ELVs;

• aspiration level of 80 for the maximum objective

functions (ai ¼ 80 for i ¼ 1; 2; 3) and 10 for the

minimum objective functions (ai ¼ 10 for

i ¼ 4; 5; 6) (expressed in percentages);

• same weights for the goals ðwi ¼ 1 8iÞ;• the maximum fixed number of iterations equals

2000;

• the initial sigma of the mutation operator equals

75% of the variable range;

• the minimum sigma equals 5% of the variable

range;

• the verification of the proportion of successful

mutations every 20 individuals and the preserva-

tion of the minimum sigma through 5 further it-

erations;

• bmin ¼ 5 and bmax ¼ 15.

In this case, to determine the appropriate batch

size, 24 different configurations of the system and

batch sizes of 1, 2, 3 and 4 years were considered.

For each of the configurations, 50 batches were

generated. With the collected data, we observed

their independence when we considered a batch

size of one year by analysing the autocorrelation of

these observations. Table 3 shows the results for

one configuration.

To study the independence of the solution on

the initial conditions, several runs of the simula-

tor were done starting from different initial val-

ues: the lower and upper bounds (5 runs), the

midpoint (5 runs) and a random point (10 runs)

in the range of variation of the variables. Table 4

presents the results of these runs. The first column

shows the iteration number (iter.) in which the

Table 4

Runs with different initial points

Iter. Decision variables O.F. S.D.

Random point

212 363 463 50 20 98.85 3.85

243 367 464 50 21 98.56 2.62

570 368 465 50 21 97.86 2.13

670 360 465 50 20 97.96 2.49

242 365 475 50 21 98.23 2.63

695 371 470 50 21 97.84 2.65

680 360 464 50 20 97.51 2.59

658 360 463 50 20 98.52 4.94

291 373 476 50 21 98.51 1.60

1031 391 467 50 22 98.21 1.66

Midpoint

46 391 477 50 22 98.94 2.01

303 365 473 50 21 98.49 1.65

1415 373 465 50 21 97.36 1.78

1370 373 479 50 21 98.24 1.70

272 390 469 51 22 98.35 2.38

Upper bound

710 360 466 51 20 98.76 4.09

288 361 475 51 20 98.09 3.31

202 393 465 51 22 99.57 2.12

562 372 478 50 21 98.25 3.27

1033 377 474 50 21 97.18 2.32

Lower bound

693 368 478 50 21 97.52 2.18

186 394 467 50 22 99.05 3.22

249 378 473 51 21 98.26 3.65

1078 371 466 50 21 97.64 1.93

168 368 463 50 21 97.41 1.87

Table 3

Autocorrelations

Lag Auto-corr. Stand

err.

Box–Ljung Prob.

1 )0.036 0.137 0.068 0.795

2 0.021 0.136 0.091 0.955

3 0.001 0.134 0.091 0.993

4 )0.155 0.133 1.456 0.834

5 )0.024 0.132 1.488 0.914

6 0.063 0.130 1.725 0.943

7 0.033 0.129 1.790 0.971

8 )0.133 0.127 2.881 0.942

9 )0.095 0.126 3.454 0.944

10 )0.152 0.124 4.950 0.894

11 )0.075 0.122 5.326 0.914

12 0.043 0.121 5.454 0.941

13 )0.138 0.119 6.783 0.913

14 0.074 0.118 7.179 0.928

15 )0.121 0.116 8.263 0.913

16 )0.052 0.114 8.471 0.934

I. Alberto et al. / European Journal of Operational Research 140 (2002) 373–383 381

Page 92: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.1 Optimization with simulation ... 73

best solution is reached. From the second to the

fifth column we can see the values of the decision

variables (working day in plant, working day for

the trucks, size of the storage area and decon-

tamination time). The two last columns show the

estimations of the expected value (O.F.) of the

objective function and its standard deviation

(S.D.). Observe that starting from different initial

points the objective function values reached are

similar.

Finally, Fig. 7 shows five complete runs of the

algorithm for the solutions shown in Table 4 with

lower bounds as initial points.

The program was written in C++ Builder, a

Pentium III 733 MHz processor was used to exe-

cute the program and the time needed for 2000

iterations was approximately 7 minutes.

5. Conclusions

The proposed program provides a useful tool

for the analysis of the industrial plant for the de-

contamination and recycling processes of ELV,

allowing the agents of Reciclauto S.L. to evaluate,

contrast and optimize the plant operation under

different configurations and different working

scenarios. The engineers acknowledged the in-

crease in the knowledge of the problem with the

use of our computer program.

The main contribution of this work resides in

the resolution of a real industrial problem, having

integrated the evolutionary optimization in a

multiobjective model, together with the optimiza-

tion with simulation of a queueing network model.

Note that the combination of optimization with

simulation has shown to be a successful tool for

analysing these kinds of optimization models

where the objective function does not have an

analytical expression.

The methodology developed in this work out-

lines problems for deeper theoretical studies. For

instance, as no similar plant exists, this project

presents a novelty and the preferences of the de-

cision-maker are not well known. Then, to ap-

proach the multiobjective optimization problem

an interactive method seems to be helpful, allow-

ing the decision-maker to become involved in the

solution process to find the best solution. We are

working on the incorporation of an interactive

Fig. 7. Evolution of the objective function. Five runs.

382 I. Alberto et al. / European Journal of Operational Research 140 (2002) 373–383

Page 93: Herramientas Para Algoritmos Evolutivos Multi Objetivo

74 Apendice A.1 Optimization with simulation ...

goal programming technique, based on the meth-

od proposed by Reeves and Hedin (1993), and on

the construction of a Genetic Algorithm (GA)

with the ability to handle the interactive method-

ology and the special characteristics of the prob-

lem. The main idea of this GA is to evolve a

population of individuals which, at the end, in-

cludes an estimation of the best solution for the

weighted goal function, one estimation for each of

the individual objectives and other individuals that

are estimations of efficient solutions and introduce

and keep diversity in the population. The algo-

rithm uses different mutation and recombination

operators for the individuals, depending on the

type of individual in which they are applied.

Acknowledgements

This research was partially financed by the

Government of Navarra (Spain), and Reciclauto

S.L. through a LIFE Project of European Com-

munity (LIFE99 ENV/E/000375). The authors are

grateful to both the editor and referees for their

comments, which greatly improved the presenta-

tion of this paper.

References

B€aack, T., Schwefel, H.P., 1995. Evolution strategies I: Variants

and their computational implementation. In: Winter, G.,

Periaux, J., Galan, M., Cuesta, P. (Eds.), Genetic Algo-

rithms in Engineering and Computer Science, Proceedings

of 1st Short Course EUROGEN-95. Wiley, New York, pp.

111–126.

B€aack, T., Fogel, D.B., Michalewicz, Z. (Eds.), 1997. Handbook

of Evolutionary Computation. IOP Publishing and Oxford

University Press, Oxford.

Bolch, G., Greiner, S., de Meer, H., Trivedi, K.S., 1998.

Queueing Networks and Markov Chain. Wiley, New York.

Chen, C.-L., Venkateswara, S.V., Aljaber, N., 1995. An

application of genetic algorithms for flow shop problems.

European Journal of Operational Research 80, 389–

396.

Fishman, G.S., 1996. Monte Carlo. Concepts, Algorithms and

Applications. Springer, Berlin.

Gen, M., Cheng, R., 1997. Genetic Algorithms & Engineering

Design. Wiley, New York.

Goldberg, D.E., 1989. Genetic Algorithm in Search, Optimiza-

tion and Machine Learning. Addison-Wesley, Reading,

MA.

Hung, Y.-F., Shis, C.-C., Chen, C.P., 1999. Evolutionary

algorithms for production planning problems with setup

decisions. Journal of the Operational Research Society 50

(8), 857–866.

Law, A.M., Kelton, W.D., 2000. Simulation Modelling and

Analysis, third ed. McGraw-Hill, New York.

Michalewicz, Z., 1996. Genetic Algorithm+Data Struc-

tures¼Evolution Programs. Springer, Berlin.

Papadopoulos, H.T., Heavey, C., Browne, J., 1993. Queueing

Theory in Manufacturing Systems Analysis and Design.

Chapman & Hall, London.

Reeves, G.R., Hedin, S.R., 1993. A generalized interactive goal

programming procedure. Computers and Operations Re-

search 20 (7), 747–753.

Rose, C., Yates, R.D., 1996. Genetic algorithms and call

admission to telecommunication networks. Computers and

Operations Research 23 (5), 4885–4899.

Rubinstein, R.Y., 1981. Simulation and the Monte Carlo

Method. Wiley, New York.

Schniederjans, M.J., 1995. Goal Programming, Methodology

and Applications. Kluwer Academic Publishers, Dordrecht.

Schwefel, H.P., 1995. Evolution and Optimum Seeking. Wiley,

New York.

Schwefel, H.P., B€aack, T., 1995. Evolution strategies II: Theo-

retical aspects. In: Winter, G., Periaux, J., Gal�aan, M.,

Cuesta, P. (Eds.), Genetic Algorithms in Engineering and

Computer Science, Proceedings of 1st Short Course EURO-

GEN-95. Wiley, New York, pp. 127–140.

Walrand, J., 1988. An Introduction to Queueing Networks.

Prentice-Hall, Englewood Cliffs, NJ.

Whittle, P., 1986. Systems in Stochastic Equilibrium. Wiley,

New York.

I. Alberto et al. / European Journal of Operational Research 140 (2002) 373–383 383

Page 94: Herramientas Para Algoritmos Evolutivos Multi Objetivo

A.2. Representation and management of MOEA po-pulations based on graphs

Page 95: Herramientas Para Algoritmos Evolutivos Multi Objetivo

76 Apendice A.2 Representation and management ...

Discrete Optimization

Representation and management of MOEA

populations based on graphs

I. Alberto, P.M. Mateo *

Department of Statistical Methods, Faculty of Mathematics, University of Zaragoza, C/Pedro Cerbuna 12, 50009 Zaragoza, Spain

Received 3 September 2002; accepted 20 May 2003

Available online 23 September 2003

Abstract

Until now, in the literature, little attention has been paid to the storage and handling of populations of multiob-

jective evolutionary algorithms (MOEAs). In this work, we present a new tool for representing and managing popu-

lations of MOEAs by means of the use of graphs that keep the information on the relations among the individuals of

the population. In the paper, we establish the theoretical basis of this sort of graph. In addition, we develop algorithms

for its construction and updating (addition and removal of individuals in the population), analyzing their theoretical

complexities. We also study several aspects of their practical behaviour including storage requirements, time needed for

the construction and the management of these graphs. Finally, we present a selection process time comparison with and

without the proposed methodology.

Ó 2003 Elsevier B.V. All rights reserved.

Keywords: Evolutionary computation; Multiple objective programming; Graph theory; Heuristics

1. Introduction

The great number of publications about multi-

objective evolutionary algorithms (MOEAs) dur-

ing the last years (Fonseca and Fleming, 1995;

Coello, 1999; Van Veldhuizen and Lamont, 2000)

have shown their great importance in the multi-

objective field. This fact is presumably due to their

natural population-approach which makes these

methods very well suited for complex multiobjec-

tive problems.

The different MOEAs can be classified accord-

ing to several criteria. One of them is how the

MOEA manages the objective functions. In this

classification we can distinguish methods that use

Pareto ranking orders (Fonseca and Fleming,

1995; Goldberg, 1989; Deb, 2001; Srinivas and

Deb, 1994).

In this paper we present a process based on

graphs for managing populations sorted by using

Pareto ranking orders. Until now, the storage of

individuals of a population has mostly been car-

ried out by means of linear lists. In the litera-

ture, some works that use quad-trees structures

(Habenicht, 1983; Mostaghim et al., 2002) can be

found, but the purposes of those works are dif-

ferent. While quad-tree structures are used to

*Corresponding author. Tel.: +34-976-761000; fax: +34-976-

761115.

E-mail addresses: [email protected] (I. Alberto), ma-

[email protected] (P.M. Mateo).

0377-2217/$ - see front matter Ó 2003 Elsevier B.V. All rights reserved.

doi:10.1016/S0377-2217(03)00405-3

European Journal of Operational Research 159 (2004) 52–65

www.elsevier.com/locate/dsw

Page 96: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.2 Representation and management ... 77

handle efficiently sets of efficient solutions, in our

work, we present a methodology for handling the

whole population (efficient and non-efficient so-

lutions). The main idea is to build a domination

graph based on the efficiency relations among the

individuals of the population, and to work by

inserting and deleting nodes and arcs in this

graph. This type of graph is a special sort of

graph called a transitive reduction of a directed

graph.

The methodology we propose has the follow-

ing important characteristics. First, since it is a

representation methodology, it can be used to re-

implement existing operators or algorithms. An-

other important element is the fact that the graph

structure provides us, in a more explicit way, with

the relations among the solutions, which can al-

low us to define new operators, new algorithms

and so on. With regard to its use in existing al-

gorithms, in the section corresponding to the

practical behaviour, we show a simplification of

the selection process of the NSGA-II algorithm

and we show how the dynamic updating of the

proposed graph for making the ranking and se-

lection behaves more efficiently. This is because

when, for example, a new population is con-

structed, if some elements are retained from the

old one, it is only necessary to make the calcu-

lations corresponding to the new individuals be-

cause the information of the individuals that are

retained is already stored in the graph. Further-

more, when adding one individual to the popu-

lation, with our structure, in general, it will not

be generally necessary to compare it with all the

existing ones.

The development of the paper is as follows. In

Section 2, we present the definitions and notations

about MOEAs and graphs that we will later use.

In Section 3, the idea of domination graphs is

defined and characterized. In Section 4, we present

an algorithm for constructing the initial domina-

tion graph. Two algorithms for updating the

domination graph when removing or adding a

node are presented in Section 5 together with an

example. In Section 6, a study on the complexity

and practical behaviour of the algorithms is car-

ried out. Finally, the conclusions and future re-

search lines are presented in Section 7.

2. Definitions, notation and basic results

Multiobjective optimization problems tend to

be characterized by a family of alternatives that

must be considered equivalent in the absence of

information concerning the relevance of each ob-

jective with respect to the others. As the number of

competing objectives increases and less well be-

haved objectives are considered, the problem of

finding a satisfactory compromise solution rapidly

becomes more and more complex.

A multiobjective programming problem (MOP)

can be defined as follows:

Minimize fðxÞ ¼ ðf1ðxÞ; . . . ; fqðxÞÞ

subject to x 2 D � Rp

and the solutions to one of such problems are

formed with all the feasible solutions of the search

space such that the components of the objective

function, fðxÞ, cannot all be simultaneously im-

proved. These solutions are called Pareto optimal

or efficient.

A more formal definition of Pareto optimality

is: x 2 D is said to be Pareto optimal if and only if

there is no y 2 D such that

8k ¼ 1; . . . ; q; fkðyÞ6 fkðxÞ and

9k 2 f1; . . . ; qg such that fkðyÞ < fkðxÞ:

If x; y 2 D such that 8k ¼ 1; . . . ; q; fkðxÞ6 fkðyÞand 9k 2 f1; . . . ; qg such that fkðxÞ < fkðyÞ we saythat solution x dominates solution y. Solution y is

called a non-efficient solution.

Pareto optimality allows us to define a strict

partial order in the set of feasible solutions: a so-

lution x has less order than another y if x domi-

nates y. We denote x � y.

A striking difference between classical search and

optimization methods and evolutionary algorithms

(EAs), is that in the latter a population of solutions

is processed in every generation. This feature gives

EAs a tremendous advantage for its use in solving

multiobjective optimization problems.

We denote by Pt the population of a MOEA in

its tth iteration, and by n its size. The individuals

of the population, feasible solutions of the MOP,

are denoted by xi, i ¼ 1; . . . ; n. The basic schema of

an EA is shown in Fig. 1.

I. Alberto, P.M. Mateo / European Journal of Operational Research 159 (2004) 52–65 53

Page 97: Herramientas Para Algoritmos Evolutivos Multi Objetivo

78 Apendice A.2 Representation and management ...

Next, we shall introduce the graph elements

used in this paper. A graph G is a pair ðN;AÞwhere the set N ¼ fx1; . . . ; xng is called the node

set of G and its elements are called nodes; and the

set A ¼ fðxi; xjÞjxi; xj 2 Ng � N�N is called

the arc set and its elements are called arcs.

We will consider directed graphs, that is to say,

if the arcs ðxi; xjÞ and ðxj; xiÞ exist in A, then they

are different. A directed path in G from node xi to

node xj is a sequence of distinct arcs, v1; v2; . . . ; vp,

pP 1, such that a corresponding sequence of

nodes exists xi ¼ xs0 ; xs1 ; . . . ; xsp ¼ xj satisfying

vh ¼ ðxshÿ1; xshÞ 2 A, for 16 h6 p. A directed path

is a simple directed path if all the nodes

xi ¼ xs0 ; xs1 ; . . . ; xsp ¼ xj are different. A cycle is a

directed path where the first and last nodes coin-

cide. A graph G with no cycles is called an acyclic

graph. We write xi,!xj if and only if there exists a

simple directed path from xi to xj in G. If the di-

rected path only consists of the arc ðxi; xjÞ, we can

use the notation xi ! xj, if it is explicitly necessary

to emphasize it.

Given a node xj, the node xi is an ancestor of xjif there exists a directed path from xi to xj, xi,!xj,

in G. If xi is an ancestor of xj, then xj is a de-

scendant of xi. If the arc ðxi; xjÞ exists in G, then xi

is a parent of xj and xj is a child of xi. Given the

node xi, we denote

• Ai ¼ fxj 2 N jxj is an ancestor of xig,• Pi ¼ fxj 2 N jxj is a parent of xig,• Ci ¼ fxj 2 N jxj is a child of xig,• Di ¼ fxj 2 N jxj is a descendant of xig.

Finally, let G ¼ ðN;AÞ be a directed graph.

The transitive closure of G is the graph�G ¼ ðN;A

�Þ where A� ¼ fðxi; xjÞjxi; xj 2 N; xi,!

xj inGg. The transitive reduction of G is graph

Gÿ ¼ ðN;A

ÿÞ with a minimal number of arcs

satisfying �G ¼ ðGÿÞ.

3. Domination graphs

We define a domination graph (DG) as a graph

whose nodes, denoted by xi, have associated indi-

viduals of a population of a MOEA, and in which,

by means of the arcs, the domination relations

between individuals are represented. An arc xi ! xj

means that the solution associated with xi domi-

nates the solution associated with xj. A directed

path xi,!xj also means, by the transitivity of the

domination relation, that the solution associated

with xi dominates the solution associated with xj.

Definition 1. Let N be the set of nodes associated

with all the feasible solutions to a problem, one

node per solution. LetNt � N be the set of all the

nodes associated with the tth population, Pt, in a

run of the MOEA. Let At � Nt �Nt be the arc

set such that it reflects the domination relations of

the elements in the current population, i.e., given xi

and xj in Pt such that xi dominates xj, xi � xj, then

a directed path from xi to xj has to exist. We call the

pair ðNt;AtÞ a domination graph associated with

the population Pt, and we denote Gt ¼ ðNt;AtÞ.

By construction, the DGs are directed acyclic

graphs (DAGs) and since there is not only one DG

associated with one population of the MOEA, we

can take any of the different DGs to represent our

population.

To make the management of a DG as efficient

as possible, we must select, from among all the

DGs associated with the MOEA, those which have

the fewest number of arcs.

Definition 2. A DG associated with the population

Pt with the minimum number of arcs will be called

irreducible domination graph (IDG).

The IDG is actually the transitive reduction of

any of the DGs of our population.

Definition 3. The arcs of a DG that can be re-

moved without affecting the domination relations

reflected in the graph are called redundant arcs.

Fig. 1. General schema of an evolutionary algorithm.

54 I. Alberto, P.M. Mateo / European Journal of Operational Research 159 (2004) 52–65

Page 98: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.2 Representation and management ... 79

Since our graphs are acyclic, the transitive re-

duction (IDG) is contained in any of the DGs of

the population (Aho et al., 1972). Then, we can

also define an IDG as a DG such that there exists

no subgraph contained in it and which is also a

DG for the population. In other words, if any of

the arcs is removed from A, the resulting graph

does not reflect all the domination relations, i.e., if

it does not contain any redundant arc.

The following lemma establishes a character-

ization of our IDG that we will later use.

Lemma 1. Given a population Pt and a DG asso-

ciated, Gt, then Gt is irreducible if and only if

8xi; xj 2 Nt such that xi � xj only one of the next

statements holds:

(1) The only directed path from xi to xj is the arc

xi ! xj.

(2) Every directed path from xi to xj, xi,!xj, has two

or more arcs.

Proof. ()) If both xi,!xj and xi ! xj exist, then

the arc would be redundant because xi,!xj reflects

the domination relation. In this case, the arc

xi ! xj could be removed and Gt would not be an

IDG.

(Ü) If Gt was not irreducible, there would be a

redundant arc, xi ! xj. This arc means that a

domination relation xi � xj exists. Since the arc is

redundant, there must exist xi,!xj with two or

more arcs. This is a contradiction because only one

of either (arc or directed path) can exist. h

The following result can be found in other pa-

pers but here we present another proof based on

the previous lemma (Aho et al., 1972).

Theorem 1. Given a population Pt, the irreducible

domination graph associated with it is unique.

Proof. Suppose that there are two different IDGs,

Gt ¼ ðNt;AtÞ and G0t¼ ðNt;A

0tÞ. Then there ex-

ist xi and xj such that xi � xj and there would exist

two different directed paths from xi to xj, one inAt

and another in A0t. Without loss of generality, we

can suppose that these directed paths in which At

and A0tdiffer are: xi ! xj in At and xi,!xj in A

0t,

i.e., in At the arc ðxi; xjÞ exists, and in A0twe go

from xi to xj by means of a set of nodes and arcs in

G0t. Let xl be any node in the directed path from xi

to xj in A0t. Since xl is in the directed path, then we

have xi � xl and xl � xj, and these domination

relations have to be reflected in At by means of

both directed paths from xi to xl and from xl to xj.

This fact contradicts the lemma above because

both xi ! xj and xi,!xl,!xj exist and At is irre-

ducible. h

4. Construction of the irreducible domination graph

In this section we shall outline the algorithm for

constructing IDGs associated with populationsPt.

Given a population Pt, an irreducible domination

graph can be constructed using the layers classifi-

cation proposed by Goldberg (1989).

The algorithm is as follows:

(1) Paux ¼ Pt, Nt ¼ Pt, At ¼ ;(2) Determine X1 ¼ fxi 2 Paux jxi efficientg; l ¼ 1

(3) Paux ¼ Paux n X1

(4) Determine Xlþ1 ¼ fxi 2 Paux jxi efficientg(5) 8xj 2 Xlþ1

8xi 2 Xt, t ¼ l; . . . ; 1

if xi is unmarked and xi � xj

At ¼ At [ fðxi; xjÞgmark xi and all currently unmarked

xk 2 Ai

unmark nodes ofS

t¼1;...;l Xt

(6) Paux ¼ Paux n Xlþ1; l ¼ lþ 1

(7) If Paux 6¼ ; go to step 4

Any standard search technique for graphs can

be used to accomplish the marking process of the

algorithm, for instance, BFS or DFS (Breadth-

First or Depth-First Search, respectively) (Cormen

et al., 1990).

Lemma 2. The DG associated with Pt constructed

with this algorithm, Gt, is irreducible.

Proof. Obviously the graph built is a DAG. We

shall see then that the former characterization

holds. Before adding a new arc ðxi; xjÞ to the graph,

it is checked in step 5 of the algorithm that no

directed path from xi to xj exists, i.e. if xi is

I. Alberto, P.M. Mateo / European Journal of Operational Research 159 (2004) 52–65 55

Page 99: Herramientas Para Algoritmos Evolutivos Multi Objetivo

80 Apendice A.2 Representation and management ...

unmarked, and only in this case is the arc added.

So, there will never be nodes xi and xj such that

xi � xj and both arc and directed path exist. h

In the next section, we will present an algorithm

for inserting nodes in an IDG that can also be used

for constructing the IDG by means of successive

insertions of nodes.

5. Updating domination graphs

After the processes of mutation and recombi-

nation, the selection process of the MOEA deter-

mines which elements of the current population

remain (non-modified and selected individuals

for the new population), which new elements are

added to the population (mutated and/or recom-

bined individuals which are selected for the new

population) and which elements disappear (every

modified and non-modified individuals that are

not selected for the new population). In the dom-

ination graph this fact is reflected by the addition

of new nodes and the removal of some existing

ones and the corresponding arcs.

With the aim of not having to recalculate from

the beginning the new domination graph and then,

to reduce the calculation time, we will study here

the updating methods of the existing domination

graph that do not require it to be calculated from

the beginning.

In the literature there are several works re-

garding the updating of transitive reductions and

transitive closures, but they are only devoted to

updating arcs (Poutre and van Leeuwen, 1988).

Since we have to update nodes and arcs, we have

had to develop the following algorithms. In the

two following sections, we show the processes

for the removal of one individual from the graph

and for the addition of a new individual to the

graph.

5.1. Node removal

The next process assumes that node xi is going

to be removed from the graph (its associated so-

lution has not been selected for the new popula-

tion). In this process it will be necessary to remove

all the relations between xr such that xr � xi (i.e.,

xr 2 Ai) and xi, and between xs such that xi � xs

(i.e., xs 2 Di) and xi from the IDG. After this, it

will be necessary to re-establish all the domination

relations between elements xr and elements xs.

Lemma 3. Given an IDG, Gt, and a node xi 2 Nt to

be removed, in order to remove all the domination

relations between the nodes from Ai and xi (xi and

Di) we only have to remove the arcs between Pi and

xi (xi and Ci). Consequently, the domination rela-

tions that are to be re-established are only between

nodes from Pi and Ci.

Proof. The result is a consequence of the irreduc-

ibility of Gt and the transitivity of the domination

relation, since all the domination relations be-

tween xr 2 Ai n Pi pass through a parent of xi (the

same with xs 2 Ai n Ci that pass through a child

of xi), otherwise Gt will not be irreducible. Then,

the only domination relations that are affected

by the removal of the node xi are those that pass

through xi, therefore, the relations that are to

be re-established are between nodes from Pi and

Ci. h

The algorithm is as follows:

(1) Determine the set Pi ¼ fxj 2 Nt jxj is a parent

of xig(2) 8xj 2 Pi

At ¼ At n fðxj; xiÞg(3) Determine the set Ci ¼ fxj 2 Nt jxj is a child

of xig(4) 8xj 2 Ci

At ¼ At n fðxi; xjÞg(5) Nt ¼ Nt n fxig(6) 8xj 2 Pi

Mark all nodes of Dj

8xk 2 Ci unmarked

At ¼ At [ fðxj; xkÞgUnmark all nodes of Dj

Lemma 4. Let Gt be an IDG and G0tthe graph ob-

tained by applying the former algorithm to eliminate

the node xi. Then G0tis an IDG (it preserves all the

existing relations and does not reflect fictitious

ones).

56 I. Alberto, P.M. Mateo / European Journal of Operational Research 159 (2004) 52–65

Page 100: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.2 Representation and management ... 81

Proof. We shall see that all the previous relations

are retained. The only domination relations that

are affected by the removal of xi are those between

xr 2 Ai and xs 2 Di. By the previous lemma, it is

enough to consider the relations between xr 2 Pi

and xs 2 Ci. Let xr 2 Pi and xs 2 Ci (so, xr � xs). If

xr ! xi ! xs is the only directed path from xr to xs

in Gt, the arc xr ! xs is added in step 6 of the al-

gorithm. If there is another directed path xr,!xs in

Gt, this path is maintained in G0t. So, in both cases

the domination relation xr � xs is reflected in G0t

without adding redundant arcs.

Furthermore, no fictitious relations have been

added because the only arcs that are added are

those between xr 2 Pi and xs 2 Ci and these domi-

nation relations already were reflected through

xi. h

5.2. Node addition

When a new node is going to be added to the

graph (a new individual incorporated to the pop-

ulation), we have to find the position where it has

to be inserted.

The next process assumes that node xi is going

to be added to the graph. In order to do this, we

have to identify the set of nodes that dominate

xi (xiÕs dominator set) and the set of nodes that

xi dominates (xiÕs dominated set). To save com-

putational time, our methodology uses a label-

ling technique which ensures that, in general, we

do not have to make all the dominance compari-

sons with the existing individuals. After this, we

have to reflect all these new domination rela-

tions. At this moment, all the relations between

the dominator and the dominated sets that

were expressed by means of a direct arc have to be

removed because these arcs now become redun-

dant.

The algorithm is as follows:

(1) 8xj 2 Nt and xj unmarked

if xj � xi mark all unmarked nodes of Aj and

Bi ¼ Bi [ fxjgif xj � xi mark all unmarked nodes of Dj and

bi ¼ bi [ fxjg(2) Determine the set B�

iof unmarked nodes of Bi

(3) Determine the set b�iof unmarked nodes of bi

(4) At ¼ At n fðxj; xkÞjxj 2 B�i; xk 2 b

�ig

(5) Nt ¼ Nt [ fxig(6) 8xj 2 B

�i

At ¼ At [ fðxj; xiÞg(7) 8xj 2 b

�i

At ¼ At [ fðxi; xjÞg

Lemma 5. Let Gt be an IDG and G0tthe graph ob-

tained by applying the former algorithm to add the

node xi. Then G0tis an IDG (it preserves all the

existing relations, adds the new ones and does not

add fictitious relations).

Proof. We shall see first that G0tis an IDG. As the

node xi is new in G0t, the new arcs added in steps 6

and 7 of the algorithm cannot be redundant. The

existing arcs that could have been made redundant

are those that went from xr 2 B�ito xs 2 b

�ibecause

in G0tthere is a new directed path with two arcs

xr ! xi ! xs. But those arcs have been removed in

step 4 of the algorithm.

G0tpreserves all the existing relations because

the only ones that could be affected by the inser-

tion of xi are those that passed through an arc

xr ! xs in Gt with xr 2 B�iand xs 2 b

�i. But the

domination relation xr � xs is reflected in G0tby

means of the directed path xr ! xi ! xs, therefore

it is preserved.

G0treflects the new domination relations because

the algorithm adds the arcs from B�ito xi and from

xi to b�iand the domination relation is transitive.

Finally, the algorithm does not add fictitious

relations because the only arcs that have been

added are those that reflect the existing domina-

tion relations xr � xi with xr 2 B�iand xi � xs with

xs 2 b�i. h

As we have mentioned before, this algorithm

can also be used for constructing the initial IDG

associated with the initial population, without

more ado than considering N0 ¼ ; and inserting

nodes successively.

In order to finish this section we show a small

example in which we construct an IDG, we remove

one node and we add a new solution. In Fig. 2(a)

we can observe the process of construction of the

IDG associated with the population shown in

Table 1.

I. Alberto, P.M. Mateo / European Journal of Operational Research 159 (2004) 52–65 57

Page 101: Herramientas Para Algoritmos Evolutivos Multi Objetivo

82 Apendice A.2 Representation and management ...

In this figure, we can observe the subsequent

layers of solutions and the arcs associated with

each one.

Fig. 2(b) shows the removal process for node g.

First of all, its parents fd; eg and children fi; jg are

identified, then both g and its adjacent arcs are

deleted. After that, the relations among parents

and children of g lost when node g was deleted are

re-established by means of arcs ðd; iÞ and ðd; kÞ.Finally Fig. 2(c) shows the addition of a new so-

lution that dominates nodes fi; jg and which is

dominated by fa; b; d; e; g; hg. First of all, the sets

B� ¼ fg; hg and b

� ¼ fi; jg are identified. After

that, all the arcs between nodes of B� and b� are

removed. Finally, the new node is added to the

graph and all arcs between nodes from B� to the

new node, and from the new node to all nodes of

b� are also added to the graph.

6. Complexity of the processes and computational

study

In this section, we will study the complexities of

the algorithms presented so far. We will study the

complexity in time and the storage requirements.

Lemma 6. The storage requirements of all the

processes are OðmÞ, where m is the maximum be-

tween the number of arcs at the beginning and at the

end of the process.

Proof. Basically, the storage requirements are

being led by the storage of the arcs that are cre-

ated. For this we use input and output adjacency

lists for every node, and an auxiliary vector for

labelling nodes (Ahuja et al., 1993; Bertsekas,

1991). Also, we need auxiliary adjacency lists, a

vector for the adjacency lists and the vector for

labelling, all of them of at most size m. h

In the following, the complexities will be cal-

culated in function of the number of objective

functions (q) and the node and arc numbers (n and

m respectively) of the considered IDG associated

with the population at the beginning of the pro-

cesses.

Observe that these graphs are not necessarily

connected, and then m is bounded by 0 and

ðn2 ÿ nÞ=2. Later we will show that, although we

have this upper bound for m, in practice this value

is substantially below its upper bound.

Lemma 7. The algorithm for constructing the initial

IDG has complexity in time Oðn3 þ n2qþ Cðq; nÞÞ

where Cðq; nÞ is the complexity of the process for

calculating the layers Xt.

Proof. The establishment of the structures in step 1

and the updating of Paux in steps 3 and 6 have

order OðnÞ. By hypothesis, steps 2 and 4 have

complexity Cðn; qÞ. Let us see that each iteration of

a b

c d e

f g h

i j

a b

c d e

f h

i j

a b

c d e

f h

i j(b)

c d e

f

a b

g h

i j

c d e

f

a b

g h

i j

a b

c d e

f g h

i j

(c)

a b

c d e

f g h

i j

a b

c d e

a b

c d e

f g h

(a)

Fig. 2. (a) Construction of the IDG, (b) removal of node g and

(c) new node addition.

Table 1

Population and its objective function values ðf1; f2Þ

Sol. a b c d e f g h i j

f ð0; 3Þ ð3; 0Þ ð1; 7Þ ð4; 4Þ ð5; 1Þ ð2; 9Þ ð6; 5Þ ð7; 2Þ ð8; 8Þ ð9; 6Þ

58 I. Alberto, P.M. Mateo / European Journal of Operational Research 159 (2004) 52–65

Page 102: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.2 Representation and management ... 83

step 5 can be done in a time Oðn2Þ. For each xj

selected at the beginning of step 5, the process

takes every node xi in the previous layers and tests

if it is unmarked and if it is dominated and, in-

side the if, one arc is added. All this takes OðnqÞ.And also inside the if a labelling process is car-

ried out for all xi. This takes, in the worst case,

Oðn2Þ. Since this process is repeated for all

xj 2 Xlþ1, step 5 takes Oðn3 þ n2qÞ. Summing up

all these quantities we have a total complexity

Oðn3 þ n2qþ Cðq; nÞÞ. h

Let us observe that in general n � q and, in this

case, the complexity results in Oðn3 þ Cðq; nÞÞ.Depending on the algorithm selected for

constructing the layers, we can obtain different

complexities. For instance, if the algorithm

proposed by Kung et al. (1975) is used, Cðq; nÞhas complexity order Oðnðlog nÞqÿ2Þ if qP 4 and

Oðnðlog nÞÞ if q6 3. Then, the complexity of our

algorithm is Oðn3 þ n2qÞ. However, if the algo-

rithm used is any of the ones proposed by Deb

(2001, pp. 33–38), Cðq; nÞ ¼ n3q, the complexity

order of our algorithm is Oðn3qÞ. And if the al-

gorithm used for constructing the layers is the

method proposed by Deb (2001, pp. 42–43),

Cðq; nÞ ¼ n2q, the complexity is Oðn3 þ n

2qÞ but in

this case, the storage requirements will increase up

to Oðn2Þ (storage requirements needed for this al-

gorithm).

Lemma 8. The time complexity of the node removal

algorithm is Oðmnþ n2Þ, independently of the

number of objectives, q.

Proof. Steps 1 and 3 have complexity order OðnÞbecause we have to take, at most, every node of the

graph. In steps 2 and 4, since we search for parents

and children and the search is carried out by ex-

amining the arcs, we have to examine all the arcs

of the initial graph at most once. Then, the com-

plexity is OðmÞ. Step 5 has order Oð1Þ. In step 6,

for each parent, the labelling process has order

OðmÞ and, globally, we have to add at most n2 new

arcs. Then, the total complexity of step 6 is

Oðmnþ n2Þ. Consequently, the total complexity

order Oðmnþ n2Þ. h

Lemma 9. The time complexity of the node addition

algorithm is Oðmþ nqÞ.

Proof. In step 1, we make at the most n dominance

comparisons and then we have complexity OðnqÞ.In steps 1 we also use a labelling process to identify

B�iand b

�i(future parent and child sets of xi). Since

we examine at the most every arc in the current

graph maximum once, the complexity is, in total,

OðmÞ. Then, the total complexity of step 1 is

Oðmþ nqÞ. In steps 2 and 3, we examine at the

most every node of the graph, then the complexity

is OðnÞ. The arcs deletion accomplished in step 4

has order OðmÞ, and the node deletion in step 5 has

order Oð1Þ. Finally, steps 6 and 7 have complexity

OðnÞ since, at the most, n arcs are added to the

graph. Summing up all these quantities, the total

complexity order is Oðmþ nqÞ. h

As we have pointed out before, the node addi-

tion algorithm can be used for constructing the

initial IDG. To do so, we construct a graph with

only one node. The rest of the individuals of the

population are added one by one by means of

successive executions of the algorithm. If so, the

complexity order reached is Oðn3 þ n2qÞ.

After the theoretical study, we present a com-

putational analysis of the algorithms proposed. To

do so, four experiments have been designed. The

first one is directed towards verifying that, al-

though the arc number of the graph is bounded by

n2, in practice, this number is lower. The second

experiment is devoted to studying the behaviour of

the IDG construction algorithm, obtaining a re-

quired complexity time substantially lower than

the theoretical one. Later on, the removal/addition

times provided by our algorithms are analyzed.

Finally, the use of our methodology in the selec-

tion process of the NSGA-II algorithm is shown

(with a modification to make it simpler).

All the experiments have been executed in a

Pentium III 733 MHz, and the programs have

been coded in GNU C. As we have pointed out

before, for managing and storing the graph, ad-

jacency lists have been used (Ahuja et al., 1993;

Bertsekas, 1991). The test problems considered

were the ones proposed by Van Veldhuizen (1999)

and which also appear in Deb (2001). This set

I. Alberto, P.M. Mateo / European Journal of Operational Research 159 (2004) 52–65 59

Page 103: Herramientas Para Algoritmos Evolutivos Multi Objetivo

84 Apendice A.2 Representation and management ...

contains examples with 1, 2 or 3 decision variables,

2 and 3 objective functions, Pareto optimal sets

connected, disconnected, symmetric, unsymmetric,

and so on. The use of a set of test problems helps

to guarantee that the proposed methods will con-

front efficient solution spaces of different charac-

teristics, and then a more precise idea of the

behaviour of the methods facing different situa-

tions can be obtained.

For each test problem, we have considered a

discretization of their domain with 106 points in

the first three experiments and with 1012 points in

the last one.

For each test problem (MOP1; . . . ;MOP7) and

each population size (1000; . . . ; 2900), sets with 10

populations have been generated. After that, the

construction algorithm has been applied to the

populations of each set and the maximum number

of arcs obtained for each set has been taken. First

of all, we must note that, although the theoretical

storage requirements have order OðmÞ, and there-

fore they could reach order Oðn2Þ, in our compu-

tational experiments, these requirements have had

a nearly linear behaviour. To test this we have

tried several regression models finding that the

best one is a power regression model bm ¼ b0nb1

where m is the arc number and n is the population

size. In Fig. 3, the scatter-plot and the adjusted

model for each test problem are presented. In the

graph we have plotted this maximum number of

arcs for each population size. In Table 2, the

square of PearsonÕs correlation coefficient and the

coefficients of the adjusted model are presented.

Observe that the adjusted model suggests that the

average complexity is OðnbÞ where b is approxi-

mately equal to 1 except for MOP5, which has a

higher value of b1 but a smaller value of b0.

For analyzing the IDGs construction time, we

have used successively the node addition algorithm

because it has shown a slightly better behaviour in

1000 2000 3000

0.5

1

1.5

2

2.5

x 104 MOP1

1000 2000 3000

0.5

1

1.5

2

2.5

x 104 MOP2

1000 2000 3000

0.5

1

1.5

2

2.5

x 104 MOP3

1000 2000 3000

0.5

1

1.5

2

2.5

x 104 MOP4

1000 2000 3000

0.5

1

1.5

2

2.5

x 104 MOP5

1000 2000 3000

0.5

1

1.5

2

2.5

x 104 MOP6

1000 2000 3000

0.5

1

1.5

2

2.5

x 104 MOP7

observedadjusted

x axis: population sizey axis: arc number

Fig. 3. Scatter-plots and adjusted models (m versus n).

60 I. Alberto, P.M. Mateo / European Journal of Operational Research 159 (2004) 52–65

Page 104: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.2 Representation and management ... 85

our experiments than the IDG construction algo-

rithm. Again, 140 sets of 10 populations with the

same characteristics as before have been generated,

and the maximum time (in microseconds) for

constructing the IDG associated to each set has

been computed. Fig. 4 shows for each test prob-

lem, the scatter-plot and the new best adjusted

model (again a power regression model dtime ¼b0n

b1). The points correspond to the maximum

time needed for each population size. In Table 3,

the square of PearsonÕs correlation coefficient and

the coefficients of the adjusted model are shown.

Observe that, although the theoretical complexity

is Oðn3 þ n2qÞ, in practice, the adjusted model

suggests that the average complexity is OðnbÞwhere b is approximately equal to 2, except for

MOP7, which has a higher value of b1 but a

smaller value of b0.

For the experiment of adding (removing) nodes,

for each test problem (MOP1; . . . ;MOP7), and

each population size (1000; . . . ; 1900) we have

constructed one population. In each of these

populations, the next process has been carried out

100 times for addition (200 for removal): we have

Table 2

PearsonÕs correlation and adjusted model coefficients

MOP1 MOP2 MOP3 MOP4 MOP5 MOP6 MOP7

R2 1 1 1 1 0.885 1 0.999

b0 1.1706 1.7045 1.6739 1.8198 0.0210 2.5546 1.3527

b1 1.0327 1.1627 1.1635 1.1612 1.5929 1.1079 1.2472

1000 2000 3000

2

4

6

8

10

x 105 MOP1

1000 2000 3000

2

4

6

8

10

x 105 MOP2

1000 2000 3000

2

4

6

8

10

x 105 MOP3

1000 2000 3000

2

4

6

8

10

x 105 MOP4

1000 2000 3000

2

4

6

8

10

x 105 MOP5

1000 2000 3000

2

4

6

8

10

x 105 MOP6

1000 2000 3000

2

4

6

8

10

x 105 MOP7

observedadjusted

x axis: population sizey axis: time needed (microseconds)

Fig. 4. Scatter-plots and adjusted models (time versus n).

I. Alberto, P.M. Mateo / European Journal of Operational Research 159 (2004) 52–65 61

Page 105: Herramientas Para Algoritmos Evolutivos Multi Objetivo

86 Apendice A.2 Representation and management ...

added (removed) one node, computing the time

required, and after that, we have restored the ini-

tial population. We have considered more runs for

these algorithms because of their higher variability

caused by the high dependence on the character-

istics of the considered node. For instance, if the

node to be removed is located at the bottom (the

top) of the graph, the only consuming time steps of

the algorithm are steps 1 and 2 (3 and 4), which are

the least time consuming ones (step 6 is the one

that leads the complexity order). We have also

taken the mean time instead of the maximum be-

cause of this higher variability, which can be at-

tenuated by working with the mean. In Tables 4

and 5 we can observe the mean and variance of the

addition and removal times of one individual.

For both algorithms, a similar adjustment to

the former has been made, finding that the esti-

mated parameters b1 are near 1, except for MOP7,

for which they are near 2, but in this case, the

parameters b0 are practically zero (around 5 · 10ÿ5

for the node addition and 3 · 10ÿ4 for the node

removal). In general, the practical behaviour can

be considered linear.

The last experiment implements, with and

without our methodology, a modification of the

selection process of the NSGA-II algorithm (Deb,

2001, pp. 235–241). In each iteration of this pro-

Table 4

Mean and variance of the time needed for adding a node, for each problem and population size

Pop. size MOP1 MOP2 MOP3 MOP4 MOP5 MOP6 MOP7

1000 Mean 72.44 139.13 114.04 137.66 84.58 125.37 156.15

Variance 11.43 146.61 199.94 323.47 33.25 396.32 425.66

1100 Mean 83.08 155.87 129.28 155.73 98.18 138.00 171.72

Variance 6.16 223.46 347.96 305.18 167.31 547.47 534.04

1200 Mean 89.43 169.19 137.73 170.52 101.18 154.41 191.64

Variance 6.60 170.48 406.85 535.29 26.15 566.39 617.38

1300 Mean 98.59 186.42 150.25 185.26 110.34 161.81 225.81

Variance 12.33 267.12 529.15 520.77 50.37 563.91 953.32

1400 Mean 105.45 201.57 163.30 200.09 122.27 182.62 247.52

Variance 13.01 318.88 800.21 497.74 103.71 749.55 1143.05

1500 Mean 114.82 214.55 172.04 219.38 130.35 191.60 297.43

Variance 7.68 352.21 621.43 938.85 185.68 765.86 1619.39

1600 Mean 123.42 228.72 189.88 226.36 138.31 208.71 336.11

Variance 14.29 348.16 790.35 939.62 153.28 1273.82 3272.81

1700 Mean 132.42 267.10 221.51 259.88 145.96 227.51 402.20

Variance 32.29 695.56 898.82 1183.21 134.92 1191.19 3947.31

1800 Mean 141.93 273.94 233.07 294.13 156.32 289.13 467.21

Variance 25.19 719.20 1374.58 1701.22 138.30 2039.83 6155.96

1900 Mean 148.92 332.31 252.40 326.97 163.48 305.26 553.19

Variance 9.46 1109.22 1729.55 1461.21 148.62 2368.95 10320.77

Table 3

PearsonÕs correlation and adjusted model coefficients

MOP1 MOP2 MOP3 MOP4 MOP5 MOP6 MOP7

R2 1 0.993 0.997 0.996 0.999 0.998 0.996

b0 0.0192 0.0326 0.0308 0.0232 0.0533 0.0282 0.0016

b1 2.0907 2.1135 2.0941 2.1597 1.9771 2.1191 2.5532

62 I. Alberto, P.M. Mateo / European Journal of Operational Research 159 (2004) 52–65

Page 106: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.2 Representation and management ... 87

cess an offspring population Qt is first created by

using the parent population Pt, then the two

populations are combined together to form Rt of

size 2n. After that, a non-dominated sorting is used

to classify the entire population Rt. Once the non-

dominated sorting is over, the new population

Ptþ1 is filled by solutions of different non-domi-

nated fronts, one at a time, starting with the best

non-dominated front, after that, it continues with

the second non-dominated front, and so on. Since

the size of Ptþ1 is n and we have 2n solutions, some

non-dominated fronts will be discarded. Usually,

all the solutions of the last front considered cannot

be included in Ptþ1, then, they proposed a niching

strategy to choose the members of this last front

that will be included in Ptþ1. In our experiment we

have simplified this by directly taking for the last

front of Ptþ1 the first solutions found instead of

using the niching strategy.

In this study we have measured the time needed

for accomplishing the process of passing from Rt

to Ptþ1. Firstly, we have measured this time using

a direct process, given Rt we carry out the non-

dominated sorting and selection of the best n so-

lutions, using the Oðn2qÞ non-dominated sorting

procedure proposed by Deb (2001, pp. 42–43).

Secondly, we have measured the time needed for

doing the same process with our tools. Given Pt

and its IDG associated, and given Qt, we add the n

solutions of Qt to the IDG and then we remove the

n worse solutions resulting in Ptþ1. In order to

compare the methods, the populations Pt and Qt

are the same for both.

Fig. 5 shows the comparison between the two

processes. It can be clearly noticed that the behav-

iour of the process using our tools is better than

other methods proposed, it always provides a

smaller computation time. Furthermore, the bigger

the size of population, the bigger the advantage of

our implementation. It can also be noticed that,

whereas in our implementation the storage require-

ments are, in practice, almost linear, the non-

dominated sorting method always needs Oðn2Þstorage requirements. In the light of these results,

Table 5

Mean and variance of the time needed for removing a node, for each problem and population size

Pop. size MOP1 MOP2 MOP3 MOP4 MOP5 MOP6 MOP7

1000 Mean 16.70 124.14 100.05 139.46 10.55 115.96 230.82

Variance 189.01 5433.86 3967.33 9398.95 16.91 3870.63 20293.79

1100 Mean 23.83 133.47 105.05 149.69 8.96 123.87 242.13

Variance 347.58 5624.84 3687.72 7328.55 8.10 5844.28 22686.13

1200 Mean 21.54 153.39 121.29 170.45 9.60 134.30 265.56

Variance 323.34 7671.08 5458.07 8355.01 10.03 6120.96 44664.44

1300 Mean 28.66 163.85 122.43 179.39 10.77 151.33 286.23

Variance 572.29 8791.95 5590.17 9328.90 11.80 11146.84 37433.89

1400 Mean 27.50 164.92 155.70 192.38 19.70 178.15 395.50

Variance 591.40 9233.13 10945.07 14738.08 174.49 10422.14 81312.98

1500 Mean 33.62 184.79 156.86 217.64 12.98 183.59 393.20

Variance 778.31 10388.65 7657.19 19684.02 112.27 10164.63 76594.26

1600 Mean 37.01 215.24 161.50 254.24 27.63 196.77 455.10

Variance 914.32 15832.38 10716.48 19056.70 570.36 12071.38 78663.50

1700 Mean 37.85 230.80 182.13 277.20 18.84 218.89 551.92

Variance 1001.11 15027.57 31220.09 22795.72 94.32 16578.64 115521.2

1800 Mean 40.28 281.27 212.35 316.33 14.39 211.06 665.52

Variance 1039.44 24087.74 21907.03 30993.06 19.22 12115.96 195145.6

1900 Mean 47.03 317.99 258.64 349.25 15.23 270.65 765.38

Variance 1385.15 33763.04 29512.27 46516.42 24.33 20432.33 257204.1

I. Alberto, P.M. Mateo / European Journal of Operational Research 159 (2004) 52–65 63

Page 107: Herramientas Para Algoritmos Evolutivos Multi Objetivo

88 Apendice A.2 Representation and management ...

the use of this representation could directly improve

the performance of some of the existing MOEAs.

7. Conclusions and future research

In this work we have presented a new repre-

sentation of populations of MOEAs by means of

graphs, as well as tools for their management, in-

cluding algorithms for its construction, insertion

and removal of elements in populations. For all of

them, we have presented their outline, their com-

plexities have been analyzed, and a first practical

study has been accomplished.

For all these algorithms, we have done a theo-

retical study of their correctness and complexity.

The work ends with a practical study which states

that the estimated practical complexity is sub-

stantially lower than the theoretical one (which

was always calculated in the worst case).

We wish to emphasize that in the last experi-

ment, the use of our tools manages an important

reduction of the performance times opposite to a

implementation that uses a classical representation

of populations.

We have therefore proposed a framework for

managing MOEA populations that behaves effi-

ciently and that can also be used to re-implement

existing algorithms, and by means of which some

of the elements used are automatically defined (for

example, GoldbergÕs ranking, depth of the node in

the graph, Fonseca and FlemingÕs ranking, cardi-

nal of the ancestor set of the node, and so on).

We are now working on the use of the graph

structure to define new operators bearing in mind

the neighbourhood of each individual, selection

strategies that let us control the size of the graph (arc

number, layer number, parent/child numbers per

node, and so on). Themain idea of these operators is

that they will use all the information contained in

1000 2000 3000

2

4

6

8

10

12

14x 10

6 MOP1

1000 2000 3000

2

4

6

8

10

12

14x 10

6 MOP2

1000 2000 3000

2

4

6

8

10

12

14x 10

6 MOP3

1000 2000 3000

2

4

6

8

10

12

14x 10

6 MOP4

1000 2000 3000

2

4

6

8

10

12

14x 10

6 MOP5

1000 2000 3000

2

4

6

8

10

12

14x 10

6 MOP6

1000 2000 3000

2

4

6

8

10

12

14x 10

6 MOP7

mean time needed method 1mean time needed proposed method

x axis: population sizey axis: time needed (microseconds)

Fig. 5. Direct process versus implementation based on IDGs.

64 I. Alberto, P.M. Mateo / European Journal of Operational Research 159 (2004) 52–65

Page 108: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.2 Representation and management ... 89

the population by means of the graph structure

more efficiently than the usual methods do.

Acknowledgements

The authors are grateful to both the editor and

referees for their comments, which greatly im-

proved the presentation of this paper.

References

Aho, A.V., Garey, M.R., Ullman, J.D., 1972. The transitive

reduction of a directed graph. SIAM Journal of Computing

1 (2), 131–137.

Ahuja, R.K., Magnanti, T.L., Orlin, J.B., 1993. Network

Flows: Theory, Algorithms, and Applications. Prentice

Hall, Englewood Cliffs, NJ.

Bertsekas, D.P., 1991. Linear Network Optimization: Algo-

rithms and Codes. The MIT Press, Cambridge, MA.

Coello, C.A., 1999. A comprehensive survey of evolutionary-

based multiobjective optimization techniques. Knowledge

and Information Systems 1 (3), 269–308.

Cormen, T.H., Leiserson, C.E., Rivest, R.L., 1990. Introduc-

tion to Algorithms. The MIT Press, Cambridge, MA.

Deb, K., 2001. Multi-Objective Optimization Using Evolution-

ary Algorithms. John Wiley and Sons, Chichester.

Fonseca, C.M., Fleming, P.J., 1995. An overview of evolution-

ary algorithms in multiobjective optimization. Evolutionary

Computation 3 (1), 1–16.

Goldberg, D.F., 1989. Genetic Algorithms in Search, Optimi-

zation, and Machine Learning. Addison Wesley, Reading,

MA.

Habenicht, W., 1983. Quad-Trees, A Data Structure for

Discrete Vector Optimization Problems. In: Lecture Notes

in Economic and Mathematical Systems, vol. 209. Springer-

Verlag. pp. 136–145.

Kung, H.T., Luccio, F., Preparata, F.P., 1975. On finding the

maxima of a set of vectors. Journal of the Association for

Computing Machinery 22 (4), 469–478.

Mostaghim, S., Teich, J., Tyagi, A., 2002. Comparison of data

structures for storing Pareto-sets in MOEAs. Proceedings of

the 2002 Congress on Evolutionary Computation CEC

2002, Hawaii, USA, pp. 843–848.

Poutre, J.A., van Leeuwen, J., 1988. Maintenance of Transitive

Closure and Transitive Reduction of a Graph. In: Lecture

Notes in Computer Science, vol. 314. pp. 106–120.

Srinivas, N., Deb, K., 1994. Multi-objective function optimi-

zation using nondominated sorting genetic algorithms.

Evolutionary Computation Journal 2 (3), 221–248.

Van Veldhuizen, D.A., 1999. Multiobjective evolutionary

algorithms: Classifications, analyses, and new innovations,

Ph.D. Thesis, TR-AFIT/DS/ENG/99-01, Air Force Institute

of Technology, Dayton, OH.

Van Veldhuizen, D.A., Lamont, G.B., 2000. Multiobjective

evolutionary algorithms: Analyzing the state-of-the-art.

Evolutionary Computation 8 (2), 125–147.

I. Alberto, P.M. Mateo / European Journal of Operational Research 159 (2004) 52–65 65

Page 109: Herramientas Para Algoritmos Evolutivos Multi Objetivo
Page 110: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.3 A crossover operator ... 91

A.3. A crossover operator that uses Pareto Opti-mality in its definition

Page 111: Herramientas Para Algoritmos Evolutivos Multi Objetivo

92 Apendice A.3 A crossover operator ...

Top

DOI 10.1007/s11750-009-0082-7

OR IG INAL PAPER

A crossover operator that uses Pareto optimality

in its definition

I. Alberto · P.M. Mateo

Received: 15 February 2008 / Accepted: 21 March 2009

© Sociedad de Estadística e Investigación Operativa 2009

Abstract Evolutionary Algorithms are search and optimisation methods based on the

principles of natural evolution and genetics that attempt to approximate the optimal

solution of a problem. Instead of only one, they evolve a population of potential

solutions to the problem, using operators like mutation, crossover and selection.

In this work, we present a new crossover operator, in the context of Multiobjective

Evolutionary Algorithms, which makes use of the concept of Pareto optimality. After

that it is compared to four common crossover operators. The results obtained are very

promising.

Keywords Multiobjective decision making ·Metaheuristics · Evolutionary

algorithms

Mathematics Subject Classification (2000) 90C29 · 90C59 · 68T20

1 Introduction

In order to model problems in a more realistic way, complex formulations of real

systems have to be established. A great amount of these formulations constitute mul-

tiobjective problems in which there are more than one objective function for compar-

ing the quality of solutions. Often, these complex models are unapproachable with

I. Alberto

Department of Statistical Methods, Technical School of Industrial Engineers, University of Zaragoza,

C/María de Luna 3, 50018 Zaragoza, Spain

e-mail: [email protected]

P.M. Mateo (B)

Department of Statistical Methods, Faculty of Sciences (Mathematics), University of Zaragoza,

C/Pedro Cerbuna 12, 50009 Zaragoza, Spain

e-mail: [email protected]

Page 112: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.3 A crossover operator ... 93

I. Alberto, P.M. Mateo

Fig. 1 General schema of an

evolutionary algorithmgenerate initial population P0

evaluate P0

t = 0

while (no termination condition)

variate Pt

evaluate Pt

select Pt+1

t = t + 1

end while

classical techniques, but the use of heuristic methods allows the researchers to deal

with them.

Evolutionary Algorithms, EAs, can be considered the most adequate methods

for solving complex Multiobjective Optimisation Problems (MOOPs). The general

schema of an EA is shown in Fig. 1. For a general vision in this field, the reader is

referred to these classical books: Holland (1975), Goldberg (1989) and Michalewicz

(1996), and the more recent book with a complete description of the different tech-

niques by Eiben and Smith (2007).

Regarding the multiobjective optimisation field, since the Vector Evaluated Ge-

netic Algorithm (VEGA) was proposed by Schaffer in the mid-1980s Schaffer (1984,

1985), a large amount of different EA implementations have been proposed and a

great quantity of papers on this matter have appeared. The web site by Coello (2008)

and the books by Coello et al. (2007) and Deb (2001) provide a good and complete

introduction as well as a broad list of references about Evolutionary Multiobjective

Optimisation.

Researchers are aware of the importance of efficiency in these kinds of algorithms

in the sense of obtaining different elements whose improvement provide us with “bet-

ter” solutions in a “faster” way. These elements can be: solution representation, man-

agement of solutions, design of operators (mutation, crossover, selection), techniques

for improving the coverage of the Pareto front, and so on.

The crossover operator is an important element in the design of EAs. Together

with the mutation operator, both are responsible for the exploration of the space of

solutions. A great amount of crossover operators can be found in the literature, for

example, in Deb (2001) and in Coello (2005) some of the most widely used are pre-

sented.

In this work, a new crossover operator is introduced and compared to the following

operators (Deb 2001): naïve crossover, linear crossover, blend crossover, and simu-

lated binary crossover. As it will be shown, the new crossover operator outperforms

the other ones.

The paper is organised as follows: In the next section, we briefly present the defin-

itions and notations on multiobjective problems that we will need later. In Sect. 3, we

present the four crossover operators we will use to compare them to the new crossover

operator, which is explained in Sect. 4. Next, we explain the experiment carried out

for accomplishing the comparison. Finally, the conclusions are presented in Sect. 6.

Page 113: Herramientas Para Algoritmos Evolutivos Multi Objetivo

94 Apendice A.3 A crossover operator ...

A crossover operator that uses Pareto optimality in its definition

2 Multiobjective optimisation problems and Pareto optimality

The aim of Multiobjective Optimisation is to optimise a set of objective functions

which, in general, may be of a conflicting nature. Hence, the term “optimise” means

to find a solution satisfying the constraints, which would give reasonable values of

all objective functions to the decision maker. More formally, MOOPs can be defined

in the following way:

min f(x) =

(

f1(x), . . . , fm(x)

)

s.t. x = (x1, . . . , xn) ∈ D ⊂ Rn.

Contrary to single objective optimisation, in multiobjective optimisation it is usu-

ally impossible to find one optimal solution. Instead, algorithms for optimising mul-

tiobjective problems try to find a family of points known as the Pareto optimal set.

These points verify that there is no different feasible solution which strictly improves

one component of the objective function vector without worsening at least one of the

remaining ones.

A more formal definition of Pareto optimality or Pareto efficiency is the following:

Definition 1 If given a solution y, there exists another solution x such that ∀j =

1, . . . ,m, fj (x) ≤ fj (y) and ∃j ∈ {1, . . . ,m} such that fj (x) < fj (y), then we will

say that solution x dominates solution y (denoted by x ≺ y), and, obviously, solution

y will never be sensibly selected as the solution to the problem.

Definition 2 A solution x ∈ D is said to be Pareto optimal or efficient if and only if

@y ∈ D such that y ≺ x.

Definition 3 The real Pareto optimal set will be denoted with Ptrue. The image of

Ptrue in the objective function space is called Pareto front and it will be denoted by

PFtrue.

The crossover operator we propose takes into account the quality of the solution

in terms of its efficiency. In this sense, we will need the solutions to be divided into

two groups: the first one contains the efficient solutions and the second the remaining

ones. The way in which the operator works depends on whether the selected individ-

uals are efficient or not.

3 Crossover operators

Among the crossover operators that can be found in the literature, we have considered

four of them. These operators and their characteristics are the following:

– Naïve crossover or standard one-point crossover (C1) (Holland 1975): Given x(1,t)

and x(2,t) two solutions of the current population in iteration t of an EA, the

naïve crossover operator selects a random crossover point j (between 2 and n)

and then the components j to n in both solutions are swapped. In Fig. 2, the

Page 114: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.3 A crossover operator ... 95

I. Alberto, P.M. Mateo

Fig. 2 Crossover operators considered. The values x(L)

iand x

(U)

irepresent the lower and upper bounds

of component xi , respectively. Parents are marked by filled circles. This is a reprint of Figs. 57, 58, 59, 61,

and 62 of Deb (2001). Copyright John Wiley & Sons Limited, 2001. Reproduced with permission

solutions x(1,t)= (x

(1,t)

1 , x(1,t)

2 ) and x(2,t)= (x

(2,t)

1 , x(2,t)

2 ) are recombined taking

as the crossover point the second component, obtaining the offsprings x(1,t+1)=

(x(1,t)

1 , x(2,t)

2 ) and x(2,t+1)= (x

(2,t)

1 , x(1,t)

2 ).

– Linear crossover (C2) (Wright 1991): This operator creates three solutions from

two parents. The value of the ith component of the offsprings are obtained accord-

ing to:

0.5(

x(1,t)

i+ x

(2,t)

i

)

, 1.5x(1,t)

i− 0.5x

(2,t)

i, −0.5x

(1,t)

i+ 1.5x

(2,t)

i.

Unlike the original version of this operator, we have used a slight modification

which consists of keeping the three offsprings instead of selecting the two best

ones. In Fig. 2, the offsprings are marked with empty circles.

– Blend crossover (C3) (Eshelman and Schaffer 1993): This operator, also de-

noted BLX-α, generates individuals according to the following formula (assuming

x(1,t)

i< x

(2,t)

i):

(1 − γi)x(1,t)

i+ γix

(2,t)

i,

where γi = (1 + 2α)ui − α and ui ∈ U(0,1). The authors of this crossover as

well as, for example, of Herrera et al. (1998) reported the value α = 0.5 to behave

better than others, probably because this value provides a balanced relationship

between exploitation and exploration. An important property of this operator is the

following: If the parents are close to each other then the offsprings are close to

the parents, too. This constitutes an adaptive device: In the early stages when the

Page 115: Herramientas Para Algoritmos Evolutivos Multi Objetivo

96 Apendice A.3 A crossover operator ...

A crossover operator that uses Pareto optimality in its definition

parents are usually not close to each other, the operator tends to search through the

whole variable space. And when the algorithm iterates and the solutions tend to be

closer, the operator carries out a focused search. In Fig. 2, marked with a line is the

range where the offsprings are generated using a uniform distribution.

• Simulated binary crossover (C4) (Deb and Agrawal 1995): This operator simulates

the behaviour of the single-point crossover operator on binary strings in the sense

that common interval schemata between the parents are kept in the offspring. It

works generating the components of the offsprings as follows:

x(1,t+1)

i= 0.5

[

(1 + βi)x(1,t)

i+ (1 − βi)x

(2,t)

i

]

,

x(2,t+1)

i= 0.5

[

(1 − βi)x(1,t)

i+ (1 + βi)x

(2,t)

i

]

,

where

βi =

{

(2u)

1η+1 if u ≤ 0.5,

(1

2(1−u))

1η+1 otherwise.

For parameter η, we have considered the value 20 as used in Deb et al. (2002) and

Zitzler et al. (2001). In Fig. 2, the line represents the probability density function

for generating offsprings in the corresponding interval: The higher the line, the

greater the probability of the offspring to be generated there.

4 The new Pareto based crossover operator

The new Pareto based crossover operator, PBC, is a uniform crossover operator which

has a different maximum range of variation depending on the quality of the solution.

The main idea of the operator is to use good parents (efficient ones) to improve the

quality of the offspring (exploitation) and to use not so good parents (non-efficient

ones) to explore the whole space (exploration).

More specifically, when pairs of non-efficient solutions are considered for

crossover, they are recombined with a BLX-α with α initially equal to 0.5. But α

is slightly modified depending on the distance between the solutions in such a way

that, if the solutions are very close, the parameter α is increased, and, if the solutions

are distant, α is decreased, with the objective of keeping the capacity of exploration

more or less stable.

In any other case, two efficient solutions, or one efficient and the other non-

efficient, are recombined generating points in intervals centred around them, with

the amplitude of the interval depending on both the solutions and the iteration. If

both solutions are efficient, the amplitude of the interval depends on the distance be-

tween them and on the iteration t . If only one of the solutions is efficient, the efficient

one behaves as in the previous case, and the non-efficient one has an amplitude of the

interval that only depends on the distance between the solutions. Also, in both cases,

with probability equal to 0.25, the centres of the intervals are interchanged with the

objective of increasing the capacity of sharing information between the solutions.

Let Pt be the current population in iteration t , POSt its Pareto optimal set, and

pt = |POSt |. In order to decide whether or not the parents are close to each other, a

fact that will be used in the design of the operator, we use the following process:

Page 116: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.3 A crossover operator ... 97

I. Alberto, P.M. Mateo

Step 1: Let dist(x,y) be the Euclidean distance between x and y. Calculate d(eff,t),

the mean distance between all pairs of solutions in POSt , and σ(eff,t), the standard

deviation, according to:

d(eff,t)

=

2

p2t− pt

x(i,t),x(j,t)

∈ POSt

i < j

dist(

x(i,t),x(j,t)

)

,

σ(eff,t)

=

2

p2t− pt

x(i,t),x(j,t)

∈ POSt

i < j

(

dist(

x(i,t),x(j,t)

)

− d(eff,t)

)2.

Step 2: Let fNeff and f

(eff,t) be the amplitude factors associated to the non-efficient

and efficient solutions, respectively, calculated according to

fNeff

= 1,

f(eff,t)

= 1 − bt/stepsIterc · 0.11,

where stepsIter corresponds to the maximum number of iterations performed by the

algorithm divided by 10 and b·c represents the floor function, i.e. the greatest integer

less than or equal to its argument. Observe that f(eff,t) is a decreasing step function

that takes values in [0.01,1].

The amplitude factors f(eff,t) and f

Neff will act in such a way that, if the indi-

viduals are close, the factors extend the default amplitude of the interval, 1(i) =

34

|x(1,t)

i− x

(2,t)

i|, i = 1, . . . , n, in which the components of the descendants will take

values. Otherwise, they will reduce the amplitude.

After the above establishments, let x(1,t) and x(2,t) be the parent solutions selected

for crossover. At that moment, and depending on the distance between x(1,t) and

x(2,t) and on the values of d(eff,t) and σ

(eff,t), the factors f(eff,t) and f

Neff are both

multiplied by one of the following quantities:

(i) 1 if d(eff,t)

= 0 or σ(eff,t)

= 0,

(ii) 43

if dist(x(1,t),x(2,t)

) < d(eff,t)

− 3σ(eff,t)

,

(iii) 23

if dist(x(1,t),x(2,t)

) > d(eff,t)

+ 3σ(eff,t)

,

(iv) (1 +

d 0.11σ

(eff,t) ) if d(eff,t)

− 3σ(eff,t)

≤ dist(x(1,t),x(2,t)

) < d(eff,t)

,

(v) (1 −

d 0.11σ

(eff,t) ) if d(eff,t)

+ 3σ(eff,t)

≥ dist(x(1,t),x(2,t)

) ≥ d(eff,t)

,

where d = |d(eff,t)

− dist(x(1,t),x(2,t)

)|.

It can be observed that in cases (ii) and (iii) the factors are increased and decreased

by a factor of 33%, respectively. In cases (iv) and (v), a continuous correction is made

but the maximum modification is equal to 33%.

Finally, the last correction in f(eff,t) is accomplished by

f(eff,t)

= min{

1, f(eff,t)

}

.

Page 117: Herramientas Para Algoritmos Evolutivos Multi Objetivo

98 Apendice A.3 A crossover operator ...

A crossover operator that uses Pareto optimality in its definition

After these calculations and in order to carry out the crossover, three cases are

considered: neither solution is efficient, both solutions are efficient, and only one is

efficient.

• Case 1: Neither of the parents is efficient. In this situation, the new components

x(1,t+1)

iand x

(2,t+1)

i, will be generated taking two random values in the interval

[

x(1,t)

i+ x

(2,t)

i

2−

4

31(i) f

Neff,

x(1,t)

i+ x

(2,t)

i

2+

4

31(i) f

Neff

]

.

Note that this corresponds to a BLX-α operator, where 16

≤ α ≤

56

, depending on

the value fNeff.

• Case 2: Both parents are efficient solutions. Then the two values, x(h,t+1)

i, h = 1,2,

for the new solutions are randomly created in the intervals

[

xh

i− 1(i) f

(eff,t), x

h

i+ 1(i) f

(eff,t)]

, h = 1,2,

where, when we are obtaining x(h,t+1)

i, x

h

iis equal to x

(h,t)

iwith probability 0.75

or equal to x(3−h,t)

iwith probability 0.25, h = 1,2.

• Case 3: Only one of the parents is efficient. This situation is similar to Case 2.

Assuming that x(1,t) is the efficient solution (the other case is analogous), then one

value is obtained in the interval

[

x1i

− 1(i) f(eff,t)

, x1i

+ 1(i) f(eff,t)

]

,

where x1i

is equal to x(1,t)

iwith probability 0.75 or equal to x

(2,t)

iwith probability

0.25. And the other value is taken in the interval

[

x2i

− 1(i) fNeff

, x2i

+ 1(i) fNeff

]

,

where x2i

is equal to x(2,t)

iwith probability 0.75 or equal to x

(1,t)

iwith probability

0.25.

In all these situations, the solutions are randomly generated in the corresponding

intervals using the uniform distribution (i.e. using a constant probability density func-

tion in the interval). In all the cases, if the obtained solution is not feasible, another

one is generated in the same way.

From the former cases, the following key ideas can be observed: All the values of

the new components are obtained using the uniform distribution in an interval cen-

tred in (x(1,t)

i+ x

(2,t)

i)/2 or x

h

i, and with a default amplitude equal to 4

31(i) or 1(i)

depending on whether Case 1, 2 or 3 holds. Our aim is to use non-efficient solu-

tions to broadly explore the space and the efficient ones to maintain the capacity of

exploitation. Then, in the case of non-efficient solutions, their default amplitude is

increased or reduced by a maximal amount of 33%, maintaining an important capac-

ity of exploration. On the other hand, in the case of efficient solutions, their default

amplitude is also multiplied by a factor that tends to zero when the number of it-

erations is advanced in such a way that initially it has also an exploratory capacity

which is subsequently substituted, when iterations proceed, by a higher capacity of

exploitation.

Page 118: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.3 A crossover operator ... 99

I. Alberto, P.M. Mateo

5 Computational experiment

In this section, the computational experiment we have carried out to test the perfor-

mance of PBC is explained. We should remark that the aim of the paper is to com-

pare the PBC with some of the existing crossover operators and not to create a new

Evolutionary Algorithm. Therefore, the comparison is accomplished using a naïve

algorithm as the one shown in Fig. 1, and in which the ‘variate’ step only involves

one of the crossover operators considered and no mutation operator is used.

All the calculations were carried out on a PC Pentium 2.66 Ghz with 512 MB of

RAM under Linux Mandriva 2006, and all programmes were coded in C language

and compiled with a GNU GCC compiler. A precision of 10−8 has been taken for all

arithmetical calculations, one unit of accuracy more than the one used in the Pareto

Fronts supplied by CEC (2007). All the codes used in the paper were written by

the authors, except the code for the hypervolume calculation that was obtained from

Fonseca et al. (2006b) based on Fonseca et al. (2006a), and all the codes for the

function evaluations that were extracted from the available codes provided in CEC

(2007).

This section contains four subsections. The first focuses on showing the perfor-

mance measures used to accomplish the comparison of the results, and the second

shows the test problems that we have considered. In the third subsection, we describe

how the experiment is carried out and, finally, in the last part we report the obtained

results.

5.1 Measures for comparing the operators

In order to compare our crossover operator with the other operators pointed out be-

fore, we have considered three measures: hypervolume difference to a reference set

(CEC 2007; Huang et al. 2007), generational distance (Coello et al. 2007), and set

coverage (Zitzler 1989).

The outline of these measures is the following: Given P∗, the set of non-dominated

solutions resulting from the execution of an optimisation algorithm, and PF∗, its im-

age in the objective space,

– Hypervolume difference to a reference set (HD): The original hypervolume mea-

sure (Zitzler and Thiele 1999) calculates the volume covered by the hypercube

formed by the vectors of PF∗ (considering that all the objectives are to be min-

imised) and a reference point. The reference point is placed in such a way so as to

be at least weakly dominated by every member in P∗, and can be found, for exam-

ple, by constructing a vector of worst objective function values in PF∗. Since this

metric is not free from arbitrary scaling of objectives, we will normalise the objec-

tive values first. In order to obtain the value of the hypervolume difference, HD,

we calculate the difference between the hypervolume of a reference set contained

in PFtrue and the hypervolume of PF∗. This reference set consists of 500 points for

two objective problems and of 5000 points for three objective problems, they have

all been obtained from CEC (2007). For this measure, the smaller the value, the

better the population, in contrast to the original hypervolume measure.

Page 119: Herramientas Para Algoritmos Evolutivos Multi Objetivo

100 Apendice A.3 A crossover operator ...

A crossover operator that uses Pareto optimality in its definition

– Generational distance (GD): This measure, which also requires a reference set

contained in PFtrue to be known, reports how far, on average, PF∗ is from PFtrue.

Mathematically, it is defined as:

GD =

(

n

i=1 d2i)1/2

|PF∗

|

,

where |PF∗

| is the number of vectors in PF∗ and di is the Euclidean phenotypic

distance between each member, i, of PF∗ and the closest member in PFtrue to that

member i. For this measure, the smaller the value, the better the population.

– Set coverage (C): Let P∗

1 and P∗

2 the non-dominated sets resulting from the exe-

cution of two different algorithms. This measure calculates the proportion of so-

lutions in set P∗

2 which are weakly dominated (¹ means ≺ or =) by solutions in

set P∗

1 :

C(P∗

1 ,P∗

2 ) =

|{b ∈ P∗

2 |∃a ∈ P∗

1 , a ¹ b}|

|P∗

2 |

.

Since this operator is not symmetrical, both C(P∗

1 ,P∗

2 ) and C(P∗

2 ,P∗

1 ) have to be

calculated. In the best situation, P∗

1 is better than P∗

2 if C(P∗

1 ,P∗

2 ) is close to one

and C(P∗

2 ,P∗

1 ) is close to zero. In general, P∗

1 is better than P∗

2 if C(P∗

1 ,P∗

2 ) is

notably greater than C(P∗

2 ,P∗

1 ).

5.2 The test problems

The use of a set of test problems helps to guarantee that the proposed operator will

confront efficient solution spaces of different characteristics. The test suites ZDT (Zit-

zler et al. 2000) and DTLZ (Deb et al. 2002) have been extensively used. However,

these suites have some drawbacks since the test problems share some characteristics

and often have some design flaws. Then, we have used the extended and rotated or

shifted version of some of these problems proposed by Huang et al. (2007). A short

description of their characteristics is shown in Table 1.

For problems 1 to 3 and 5, the number of objective functions is 2 and the number

of decision variables is 30; for problems 6 and 8, these numbers are equal to 3 and

10, respectively; and finally, problems 4 and 7 have 10 decision variables and 2 and

3 objective functions, respectively. In all of these test problems, the Pareto optimal

set is known. For a review on multiobjective test problems the reader is addressed to

Huband et al. (2007).

5.3 Selection operators

After applying the crossover operator, we conform a temporary population consisting

of the current one together with the new individuals obtained in order to apply the

selection process. We have used three different selection operators: two of them of

the roulette wheel selection type (surviving and death selection) and the other of

the elitist type. The operators use a ranking of the individuals of the population. To

establish this ranking, we have used the one proposed by Goldberg (1989), but any

other can be used, for example, the one introduced by Fonseca and Fleming (1993)

Page 120: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.3 A crossover operator ... 101

I. Alberto, P.M. Mateo

Table 1 Properties of the test functions. S: Separable; NS: Nonseparable; U: Unimodal; M: Multimodal

Test Objective Number of Separability Modality Geometry

problem variables

1. S-ZDT1 f1 1 S U Convex

f2 >1 S U

2. S-ZDT2 f1 1 S U Concave

f2 >1 S U

3. S-ZDT4 f1 1 S U Convex

f2 >1 S M

4. R-ZDT4 f1:2 >1 NS M Convex

5. S-ZDT6 f1 1 S M Concave

f2 >1 S M

6. S-DTLZ2 f1:3 >1 S U Concave

7. R-DTLZ2 f1:3 >1 NS M Concave

8. R-DTLZ3 f1:3 >1 S M Concave

or even the raw fitness defined in Zitzler et al. (2001) for the algorithm SPEA2. The

ranking proposed by Goldberg assigns a value equal to 1 to the efficient solutions,

then these solutions are removed from the population. The efficient solutions of this

new set are assigned ranking 2, and the process continues until there are no solutions

left.

The selection operators considered are the following:

– Surviving selection (S1) (Michalewicz 1996) (pp. 34): This operator assigns a

higher probability to those individuals with smaller ranking. In iteration t , the

selection probability pi(t) is defined for each individual x(i,t)∈ Pt according

to:

pi(t) =

rmax + 1 − ri∑

x(j,t)∈Pt

(rmax + 1 − rj )

,

where rj is the ranking value of individual x(j,t) in Pt and rmax = maxj {rj }. Then,

using these probabilities, a roulette wheel selection is performed in order to fill the

whole new population.

– Death selection (S2) (Michalewicz 1996) (pp. 62): In this case, each individual

receives a probability of not surviving (a higher probability to those individuals

with greater ranking) defined according to:

pi(t) =

ri∑

x(j,t)∈Pt

rj

.

Then, a roulette wheel selection with these probabilities is accomplished in order

to eliminate the spare individuals until reaching the fixed population size. With this

mechanism the population does not receive two copies of the same individual, thus

helping to avoid crowding the population with the same individuals.

Page 121: Herramientas Para Algoritmos Evolutivos Multi Objetivo

102 Apendice A.3 A crossover operator ...

A crossover operator that uses Pareto optimality in its definition

– Elitist selection (S3): Taking into account the size of the population, the spare

individuals with higher ranking, i.e. the worst solutions, are removed from the

population without random selection. The process is similar to the selection opera-

tor used in the algorithm NSGA-II (Deb et al. 2002): It uses a crowding distance to

keep a diverse front by making sure each member stays a crowding distance apart.

This keeps the population diverse and helps the algorithm to explore the fitness

landscape.

5.4 Implementation and execution

For implementing the experiment we have considered a usual fixed population size

equal to 100 individuals as in Zitzler et al. (2001) and Deb et al. (2002). The compar-

ison of our PBC with C1, C2, C3, and C4 is carried out taking into account different

scenarios. A scenario is defined by any combination of the levels of the factors: num-

ber of iterations and selection operator. The number of iterations takes three different

values (levels of this factor): 100, 500 and 1000 times which represent 104, 5 × 104

and 105 function evaluations since, for each individual x ∈ Pt , the probability of

crossover is 1, which means that in every generation all the individuals are recom-

bined. Also, when two individuals are selected for crossover, all their components

are recombined. The factor selection operator has three different levels which corre-

spond to the three different selection operators of the previous subsection. Since both

factors have 3 levels, the number of different scenarios is equal to 9.

For each problem, 50 initial populations are generated. We apply the algorithm

using a different crossover operator each time, considering each of the 9 differ-

ent scenarios. By doing so, we obtain 50 final populations for each combination of

crossover operator and scenario. In each of these populations, we obtain the set of ef-

ficient solutions, P∗, and we calculate the measures of Sect. 5.1. For calculating HD,

for each problem and number of iterations, the reference point is placed by obtain-

ing the worst objective function value among all the P∗ populations obtained with

the different crossover and selection operators. That is to say, for each problem the

same reference point is used for all the P∗ once the number of iterations has been

fixed.

Figures 3 to 11 summarise the results for the three measures considered: Figs. 3,

4 and 5 for a number of iterations equal to 100; Figs. 6, 7 and 8 for a number of

iterations equal to 500, and finally, Figs. 9, 10 and 11 for a number of iterations equal

to 1000. The figures show the mean value of the 50 executions in each scenario. To

be able to slightly distinguish the results in Figs. 4, 7 and 10 (those corresponding

to the measure GD) the scale of edge y is limited to 500. In this measure and for

Problem 8 (R-DTLZ3), values around 2500 are reached in some scenarios. Some

relevant results for Problem 8 and the measure GD are the following: In the case of

100 iterations, the best value of GD is reached by C1 for all the selection operators

and the second best by PBC. For 500 iterations, the best is C1 for selections S1 and

S2, and PBC for selection S3. The second best is PBC for selections S1 and S2, and

C1 for selection S3. And for 1000 iterations, the best crossover operator is always

PBC followed by C1.

Since only the mean values themselves are not enough to decide whether an op-

erator is better for a given measure than other or not, we have considered carrying

Page 122: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.3 A crossover operator ... 103

I. Alberto, P.M. Mateo

Fig. 3 Mean values of hypervolume difference (HD) for each scenario and crossover operator considered.

Results for 100 iterations

Fig. 4 Mean values of generational distance (GD) for each scenario and crossover operator considered.

Results for 100 iterations

Page 123: Herramientas Para Algoritmos Evolutivos Multi Objetivo

104 Apendice A.3 A crossover operator ...

A crossover operator that uses Pareto optimality in its definition

Fig. 5 Mean values of coverage for each scenario; C(PBC,Ci ) in grey and C(Ci ,PBC) in white. The

black dot represents the difference C(PBC,Ci ) − C(Ci ,PBC). Results for 100 iterations

out a statistical test to determine this fact (Casella and Berger 2002). To perform

statistical hypothesis tests for comparing PBC with Ci , i = 1,2,3,4, and with the

objective of determining the effect of the crossover when using them in the algorithm

starting from identical initial conditions, the data are paired in the following way: For

each scenario, the measure obtained in the resulting population using crossover Ci is

paired with the measure obtained in the resulting population using crossover PBC.

Two different hypothesis tests are performed. For each measure, the first hypoth-

esis test is H0: PBC performs worse than or equal to Ci versus H1: PBC performs

strictly better than Ci , i = 1,2,3,4. Note that this hypothesis test is the one that

least favours our operator PBC, since the fact of PBC being strictly better than Ci

is placed in the alternative hypothesis. The second hypothesis test, applied when the

former null hypothesis H0 is accepted, is H0: PBC performs equally to Ci versus H1:

PBC is different from Ci , i = 1,2,3,4. For both tests, the significance level is equal

to 0.05.

In Table 2, the results of these tests are shown. A ‘+’ sign appears when the first

null hypothesis is rejected (and so, PBC is strictly better than Ci ). If the first null

hypothesis is accepted, an ‘=’ sign appears when the second null hypothesis H0:

PBC is equal to Ci is accepted (then, both operators PBC and Ci have an equivalent

behaviour); and a ‘−’ sign otherwise (which means that PBC cannot be considered

equal to or better than Ci , i = 1,2,3,4). Then, in this table, the fewer ‘−’ signs

Page 124: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.3 A crossover operator ... 105

I. Alberto, P.M. Mateo

Fig. 6 Mean values of hypervolume difference (HD) for each scenario and crossover operator considered.

Results for 500 iterations

Fig. 7 Mean values of generational distance (GD) for each scenario and crossover operator considered.

Results for 500 iterations

Page 125: Herramientas Para Algoritmos Evolutivos Multi Objetivo

106 Apendice A.3 A crossover operator ...

A crossover operator that uses Pareto optimality in its definition

Fig. 8 Mean values of coverage for each scenario; C(PBC,Ci ) in grey and C(Ci ,PBC) in white. The

black dot represents the difference C(PBC,Ci ) − C(Ci ,PBC). Results for 500 iterations

Fig. 9 Mean values of hypervolume difference (HD) for each scenario and crossover operator considered.

Results for 1000 iterations

Page 126: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.3 A crossover operator ... 107

I. Alberto, P.M. Mateo

Fig. 10 Mean values of generational distance (GD) for each scenario and crossover operator considered.

Results for 1000 iterations

Fig. 11 Mean values of coverage for each scenario; C(PBC,Ci ) in grey and C(Ci ,PBC) in white. The

black dot represents the difference C(PBC,Ci ) − C(Ci ,PBC). Results for 1000 iterations

Page 127: Herramientas Para Algoritmos Evolutivos Multi Objetivo

108 Apendice A.3 A crossover operator ...

A crossover operator that uses Pareto optimality in its definition

Tab

le2

Res

ult

sof

the

hypoth

esis

test

sper

form

edco

nsi

der

ing

all

pro

ble

ms

sim

ult

aneo

usl

y.A

‘+’

sign

mea

ns

that

the

hypoth

esis

“PB

Cper

form

sbet

ter

than

Ci”

isac

cep

ted

.

An

‘=’

mea

ns

that

the

hypoth

esis

“PB

Cper

form

seq

ual

lyto

Ci”

isac

cep

ted

.A

nd

a‘−

’re

pre

sents

that

the

hypoth

esis

“PB

Cper

form

sw

ors

eth

anC

i”

isac

cep

ted

.T

he

num

ber

sre

pre

sent

the

95%

confi

den

cein

terv

alfo

rth

em

ean

of

the

pai

red

dif

fere

nce

of

mea

sure

sM

Ci−

MP

BC

,by

mea

ns

of

the

mea

nval

ue

and

the

sem

iam

pli

tude

Sel

.M

ea.

PB

Cver

sus

C1

C2

No.it

erat

ions

No.

iter

atio

ns

100

500

1000

100

500

1000

S1

HD

+:0.1

22

±0.0

14

+:0.3

25

±0.0

14

+:0.3

20

±0.0

15

+:0.0

95

±0.0

05

+:0.1

82

±0.0

13

+:0.1

72

±0.0

15

GD

−:−

164.2

±41.6

2+

:32.1

16.0

3+

:142.6

±22.9

6+

:87.8

15.1

4+

:271.4

±50.3

6+

:374.4

±74.6

6

C+

:0.4

50

±0.0

51

+:0.7

34

±0.0

43

+:0.7

76

±0.0

43

+:0.6

74

±0.0

42

+:0.7

66

±0.0

39

+:0.6

72

±0.0

39

S2

HD

+:0.0

62

±0.0

10

+:0.3

01

±0.0

16

+:0.3

06

±0.0

17

+:0.1

09

±0.0

09

+:0.2

36

±0.0

16

+:0.2

14

±0.0

18

GD

−:−

202.9

±46.6

3−

:−

17.4

15.1

9+

:84.0

13.1

4+

:79.2

19.5

1+

:215.5

±48.5

0+

:270.4

±60.5

0

C+

:0.4

18

±0.0

54

+:0.7

83

±0.0

39

+:0.8

49

±0.0

38

+:0.7

32

±0.0

48

+:0.8

27

±0.0

33

+:0.7

89

±0.0

33

S3

HD

+:0.0

47

±0.0

04

+:0.1

22

±0.0

13

+:0.1

20

±0.0

13

+:0.1

02

±0.0

09

+:0.1

81

±0.0

17

+:0.1

72

±0.0

16

GD

−:−

130.9

±33.0

6+

:48.1

7.5

00

+:71.7

9.7

64

+:182.1

±33.2

4+

:355.5

±66.1

6+

:376.7

±70.7

4

C+

:0.7

30

±0.0

42

+:0.9

92

±0.0

04

+:0.9

93

±0.0

04

+:0.8

56

±0.0

34

+:0.9

57

±0.0

16

+:0.9

57

±0.0

16

Page 128: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.3 A crossover operator ... 109

I. Alberto, P.M. Mateo

Tab

le2

(Conti

nued

)

Sel

.M

ea.

PB

Cver

sus

C3

C4

No.it

erat

ions

No.

iter

atio

ns

100

500

1000

100

500

1000

S1

HD

+:0.0

28

±0.0

04

=:−

0.0

02

±0.0

06

−:−

0.0

22

±0.0

08

+:0.1

80

±0.0

13

+:0.3

58

±0.0

15

+:0.3

50

±0.0

13

GD

+:63.0

14.2

6+

:155.1

±39.9

1+

:211.6

±55.7

8+

:149.0

±33.1

6+

:209.5

±43.9

0+

:284.4

±61.3

6

C+

:0.4

52

±0.0

62

+:0.1

57

±0.0

82

+:0.0

87

±0.0

82

+:0.6

88

±0.0

50

+:0.6

67

±0.0

45

+:0.5

43

±0.0

45

S2

HD

+:0.0

17

±0.0

02

+:0.0

08

±0.0

04

−:−

0.0

08

±0.0

06

+:0.1

41

±0.0

10

+:0.2

95

±0.0

15

+:0.2

85

±0.0

15

GD

+:78.0

16.9

8+

:220.4

±51.5

0+

:299.3

±70.2

5+

:76.1

22.9

4+

:90.0

28.4

0+

:127.3

±27.6

3

C+

:0.5

09

±0.0

58

+:0.5

65

±0.0

61

+:0.5

32

±0.0

61

+:0.6

67

±0.0

57

+:0.7

02

±0.0

47

+:0.6

03

±0.0

47

S3

HD

+:0.0

07

±0.0

02

=:0.0

01

±0.0

02

+:0.0

02

±0.0

02

+:0.1

34

±0.0

10

+:0.1

62

±0.0

15

+:0.1

40

±0.0

14

GD

+:102.8

±24.8

8+

:115.1

±29.9

9+

:84.1

23.1

1+

:107.5

±26.6

0+

:203.7

±41.6

0+

:215.8

±43.5

3

C+

:0.4

07

±0.0

65

+:0.2

85

±0.0

66

+:0.2

31

±0.0

66

+:0.7

68

±0.0

50

+:0.9

50

±0.0

13

+:0.9

62

±0.0

13

Page 129: Herramientas Para Algoritmos Evolutivos Multi Objetivo

A crossover operator that uses Pareto optimality in its definition

appear, the better the operator PBC is. With the same codification, in Tables 3 to 6

the results for all the problems appear separately.

Table 2 also shows, for every combination of crossover Ci , i = 1,2,3,4, and

scenario, the confidence interval for the mean of the paired difference of measures

MCi− MPBC, where MCi

is the hypervolume difference or the generational distance

calculated in the final population using crossover Ci in a specific scenario and MPBC

is the measure calculated in the final population using PBC in the same scenario.

Since for both measures the smaller is the better, when the interval lays above 0, it

means that MCi> MPBC, PBC performing then better than Ci for that measure in

that scenario. In the case of coverage, for each scenario, we have calculated the in-

terval for the mean of the difference C(PBC,Ci) − C(Ci,PBC). In this case, when

the interval lays above 0, we can also say that PBC performs better than Ci in this

measure.

5.5 Results from the experiment

First and foremost, we have to point out that, in the great majority of the scenarios

and for both hypothesis tests, the decision to accept or reject the corresponding null

hypothesis is taken with p-values higher than 30% (accepting H0), or of the order of

10−5 or smaller (rejecting H0). That is to say, there are not many indecisive situations

for accepting or rejecting H0 with p-values close to the chosen significance level.

Before starting the analysis of the results obtained, note that, since there are three

measures for judging the behaviour of the crossover operators to be compared, the de-

cision of which crossover operator behaves better is itself a multiobjective problem.

Then, we have decided to make the following compromise decision: For commenting

on the remaining tables we have organised the results in such a way that if the differ-

ence between the number of ‘+’ and ‘−’ signs in a scenario is positive, we will say

that PBC “performs better than” Ci in that scenario; if that difference is negative, we

will say that Ci “performs better than” PBC in that scenario; Ci and PBC performing

in an equivalent way otherwise.

In Table 2, it can be observed that there is no combination of scenario and

crossover for which PBC performs worse than Ci in the three measures simulta-

neously. It can be observed that for C2 and C4, under the 9 scenarios considered,

PBC always obtains a behaviour strictly superior in the three measures considered.

With respect to C1, the only measure in which C1 is superior to PBC is in the gen-

erational distance with 100 iterations with all the selection operators, and with 500

iterations with selection operator S2; this fact is due mainly to the values obtained in

this measure for problem R-DTLZ3. With respect to hypervolume and coverage, the

values obtained with PBC are better than those obtained with C1 in all the scenarios.

In relation to C3, this operator presents a better behaviour than PBC only in hypervol-

ume in two of the nine scenarios considered, PBC being better than C3 in the other

measures in most cases and in two cases equal to C3. Also, as it was commented at

the beginning of the subsection, the confidence intervals corroborate that there are no

indecisive situations in which the p-value of the test is close to the significance level.

Then, globally, we can conclude that the new operator PBC has clearly a better be-

haviour than Ci , i = 1,2,3,4, when considering all the measures together, according

to the compromise solution established.

Page 130: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.3 A crossover operator ... 111

I. Alberto, P.M. Mateo

Table 3 Results of the hypothesis tests performed for S-ZDT1 (left) and S-ZDT2 (right). A ‘+’ sign

means that the hypothesis “PBC performs better than Ci” is accepted. An ‘=’ means that the hypothesis

“PBC performs equally to Ci” is accepted. And a ‘−’ represents that the hypothesis “PBC performs worse

than Ci” is accepted

Sel. Measure S-ZDT1. PBC versus S-ZDT2. PBC versus

C1 C2 C1 C2

No. iterations No. iterations No. iterations No. iterations

100 500 1000 100 500 1000 100 500 1000 100 500 1000

S1 HD + + + + + + + + + + + +

GD = + + + + + = + + + + +

C + + + + + + + + + + + +

S2 HD + + + + + + + + + + + +

GD = + + + + + = + + + + +

C + = + + + + + + + + + +

S3 HD + + + + + + + + + + + +

GD + + + + + + + + + + + +

C + + + + + + + + + + + +

C3 C4 C3 C4

S1 HD + + = + + + + − − + + +

GD + + + + + + + − − + + +

C + + + + + + + − − + + +

S2 HD + + = + + + + + = + + +

GD + + + + + + + + = + + +

C + + + + + + + + + + + +

S3 HD + − = + + + + = = + + +

GD + + + + + + + = = + + +

C + = + + + + + + = + + +

However, when considering the problems separately, there exist some scenarios for

some problems in which the behaviour of PBC is not the best, and then, we comment

on the previous results separately for each problem. If we observe Figs. 3 to 11 and

Tables 3 to 6, we can conclude the following:

S-ZDT1 If we observe Figs. 3, 6 and 9 which correspond to HD and with regard to

this problem, our operator PBC obtains better values than C1, C2 and C4. For C3,

the values are too close to appreciate the difference in the figures. This also happens

in Figs. 4, 7 and 10 due to the high values of GD obtained for problems S-ZDT4,

R-DTLZ2 and R-DTLZ3. With respect to the coverage measure, Figs. 5, 8 and 11

clearly show that PBC presents better behaviour than the other operators. In a more

rigorous way, if we look at the results of the hypothesis tests performed in Table 3,

we can conclude that for this problem PBC clearly outperforms Ci , i = 1,2,3,4.

There is only one scenario in which a ‘−’ sign appears, which corresponds to C3,

Page 131: Herramientas Para Algoritmos Evolutivos Multi Objetivo

112 Apendice A.3 A crossover operator ...

A crossover operator that uses Pareto optimality in its definition

Table 4 Results of the hypothesis tests performed for S-ZDT4 (left) and R-ZDT4 (right). A ‘+’ sign

means that the hypothesis “PBC performs better than Ci” is accepted. An ‘=’ means that the hypothesis

“PBC performs equally to Ci” is accepted. And a ‘−’ represents that the hypothesis “PBC performs worse

than Ci” is accepted

Sel. Measure S-ZDT4. PBC versus R-ZDT4. PBC versus

C1 C2 C1 C2

No. iterations No. iterations No. iterations No. iterations

100 500 1000 100 500 1000 100 500 1000 100 500 1000

S1 HD + + + + + + + + + + + +

GD + + + + + + + + + + + +

C + + + + + + + + + = = =

S2 HD + + + + + + + + + + + +

GD − + + + + + + + + = + +

C + + + + + + + + + = + +

S3 HD + + + + + + + + + + + +

GD + + + + + + + + + + + +

C + + + + + + + + + + + +

C3 C4 C3 C4

S1 HD + + = + + + + = = + + +

GD + + = + + + + = = + + +

C + + = + + + + = = + + +

S2 HD + + = + + + = + + + + +

GD + + + + + + = + + + + +

C + + + + + + = + + + + +

S3 HD = + + + + + + + + + + +

GD = + + + + + = + + + + +

C = + + + + + = + + + + +

but the other two measures have a ‘+’ and an ‘=’ sign, and so PBC and C3 can

be considered equivalent in this scenario. In the other scenarios, the number of ‘+’

signs is 2 or 3.

S-ZDT2 Figures 3, 6 and 9 for HD and Figs. 5, 8 and 11 for coverage show that PBC

only alternates the first position with C3, and only in two scenarios (S1 with 500

and 1000 iterations). When considering the hypothesis tests performed, as Table 3

shows, for this problem PBC clearly outperforms Ci , i = 1,2,4. C3 outperforms

PBC in scenarios (S1, 500 and 1000 iterations) for all the measures. In the other

seven scenarios, PBC clearly outperforms C3 in 4 cases, PBC performs better than

C3 in two cases, and both are equivalent in one case.

S-ZDT4 If we observe the values of HD corresponding to this problem in Figs. 3, 6

and 9, it can be noticed that PBC obtains better values than C1, C2 and C4. With

respect to C3, it presents values which are close but, in general, slightly worse than

those obtained with PBC. Something similar happens with respect to GD (Figs. 4,

Page 132: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.3 A crossover operator ... 113

I. Alberto, P.M. Mateo

Table 5 Results of the hypothesis tests performed for S-ZDT6 (left) and S-DTLZ2 (right). A ‘+’ sign

means that the hypothesis “PBC performs better than Ci” is accepted. An ‘=’ means that the hypothesis

“PBC performs equally to Ci” is accepted. And a ‘−’ represents that the hypothesis “PBC performs worse

than Ci” is accepted

Sel. Measure S-ZDT6. PBC versus S-DTLZ2. PBC versus

C1 C2 C1 C2

No. iterations No. iterations No. iterations No. iterations

100 500 1000 100 500 1000 100 500 1000 100 500 1000

S1 HD + + + + + + + + + + = −

GD + + + + + + + + + + + +

C + + + + + + + + + + + +

S2 HD + + + + + + + + + + − −

GD + + + + + + + + + + + +

C + + + + + + + + + + + +

S3 HD + + + + + + + + + + + +

GD + + + + + + + + + + + +

C + + + + + + + + + + + +

C3 C4 C3 C4

S1 HD = − − + + + + − − + + +

GD = − − + + + + + + + + +

C = − − + + + + + + + + +

S2 HD + = = + + + + − − + + +

GD + = = + + + + + + + + +

C + = + + + + + + + + + +

S3 HD + − − + + + + + + + + +

GD + − − + + + + + + + + +

C + − − + + + + + + + + +

7 and 10) and coverage (Figs. 5, 8 and 11). On the other hand, the hypothesis tests

presented in Table 4 show that PBC clearly performs better than Ci , i = 1,2,3,4

for all the scenarios, except when compared to C3 in scenarios (S1, 1000 iterations)

and (S3, 1000 iterations) where they can be considered equivalent.

R-ZDT4 It can be observed in Figs. 3, 4, 6, 7, 9, and 10 that the only operator that

presents values of these measures close but, in general, slightly worse than those

obtained with PBC is C3. With respect to coverage, in Figs. 5, 8 and 11, the only

operators and scenarios that present values better than those obtained with PBC are

C2 (S1, 100 iterations) and C3 (S1 500 and 1000 iterations). Also, attending to the

results of Table 4, we can say that PBC clearly performs better than Ci , i = 1,2,4 in

all the scenarios. With respect to C3, PBC clearly outperforms C3 in five scenarios,

in one scenario PBC performs better than C3 and in the remaining three scenarios

PBC and C3 are equivalent.

Page 133: Herramientas Para Algoritmos Evolutivos Multi Objetivo

114 Apendice A.3 A crossover operator ...

A crossover operator that uses Pareto optimality in its definition

Table 6 Results of the hypothesis tests performed for R-DTLZ2 (left) and R-DTLZ3 (right). A ‘+’ sign

means that the hypothesis “PBC performs better than Ci” is accepted. An ‘=’ means that the hypothesis

“PBC performs equally to Ci” is accepted. And a ‘−’ represents that the hypothesis “PBC performs worse

than Ci” is accepted

Sel. Measure R-DTLZ2. PBC versus R-DTLZ3. PBC versus

C1 C2 C1 C2

No. iterations No. iterations No. iterations No. iterations

100 500 1000 100 500 1000 100 500 1000 100 500 1000

S1 HD + + + + + + + + + + + +

GD − + + + + + − − + + + +

C + + + + + + − + + + + +

S2 HD + + + + + + − + + + + +

GD − − + = = + − − + + + +

C = + + + + + − + + + + +

S3 HD + + + + + + − + + + + +

GD - + + + + + − + + + + +

C + + + + + + − + + + + +

C3 C4 C3 C4

S1 HD + + = + + + + + + + + +

GD + + = = + + + + + + + +

C + + + − = + + + + + + =

S2 HD + + + = + + + + + + + +

GD + + + − − − + + + + + +

C + + + − − = + + + + + +

S3 HD + + + − + + + + + + + +

GD + + + − + + + + + + + +

C + + + − + + + + + + + +

S-ZDT6 After examining Figs. 3 to 11 and Table 5, we observe that when comparing

PBC with Ci , i = 1,2,4, PBC clearly outperforms the other operators since all the

signs are ‘+’. When comparing PBC with C3, C3 outperforms PBC in four scenar-

ios, PBC outperforms C3 clearly in two scenarios. So, globally, in this problem, C3

outperforms PBC.

S-DTLZ2 In Figs. 3, 6 and 9, it can be noticed that the operator C2 obtains better

values in the measure HD than PBC in three out of nine scenarios, and C3 obtains

better values than PBC in four out of nine scenarios. However, with respect to cov-

erage, in Figs. 5, 8 and 11, it can be observed that the values obtained with PBC are

better than those obtained with all the other operators. These facts are also reflected

in the hypothesis tests of Table 5. For this problem, PBC performs better than Ci ,

i = 1,2,3,4 in all the scenarios, with only some ‘−’ signs appearing in the measure

HD.

Page 134: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.3 A crossover operator ... 115

I. Alberto, P.M. Mateo

R-DTLZ2 With respect to HD it is not possible to distinguish the values in Figs. 3,

6 and 9. For GD, PBC shows bad results with few iterations which are improved

when the number of iterations increases. For 100 iterations, C1 and C4 obtain better

results with all the selection operators considered; for 500 iterations, C1 and C4

are better only with S2; and when 1000 iterations are considered, only C4 with S2

remains better than PBC. With respect to coverage, Figs. 5, 8 and 11 show that C4

is the only operator that obtains, in four cases, better values than PBC (S1, S2 and

S3 with 100 iterations, and S2 with 500 iterations). From Table 6 we obtain that in

four scenarios the operator PBC outperforms C4. In two scenarios, C4 outperforms

PBC and in one it performs better that PBC. In the remaining scenarios, PBC and

C4 are equivalent. With respect to Ci , i = 1,2,3, PBC outperforms all of them.

R-DTLZ3 It can be observed in Figs. 3, 6 and 9 that the values obtained for HD with

PBC are better than those obtained with Ci , i = 1,2,3,4, except when selection S3

is used. In this case, all the values of HD are very close to each other. With respect to

coverage, in Figs. 5, 8 and 11 it can be observed that the only operator that obtains

better values than PBC is C1 with 100 iterations. Looking at Table 6, PBC clearly

outperforms Ci , i = 2,3,4. With respect to C1, this operator clearly outperforms

PBC in all scenarios with 100 iterations. But with 500 and 1000 iterations, PBC

outperforms C1.

In the light of these reports, none of the crossover operators considered be-

haves better than PBC for every problem. Furthermore, C1 always performs worse

than PBC except in three scenarios for problem R-DTLZ3 and both operators

can be considered equivalent in one scenario for problem R-DTLZ2. PBC per-

forms always better than C2. C3 does not outperform PBC in problems S-ZDT1,

S-ZDT4, R-ZDT4, S-DTLZ2, R-DTLZ2, and R-DTLZ3, PBC being superior to

C3 in all of them. Only in problems S-ZDT2 and S-ZDT6, C3 gets to out-

perform PBC in some scenarios (two of them in problem S-ZDT2 and four in

problem S-ZDT6), and then, only problem S-ZDT6 is the one in which PBC

has been outperformed by C3. And finally, PBC performs better than C4 ex-

cept in two scenarios in which they can be considered equivalent and three sce-

narios in which C4 performs better than PBC, all these cases in problem R-

DTLZ2.

Therefore, globally, we can conclude that the new crossover operator, PBC,

presented in this paper performs better than all the crossover operators consid-

ered.

6 Conclusions and further research

In this work, we have proposed a new crossover operator that takes into account the

quality of the solution (efficient or not) and the distance between parents in rela-

tion to the mean distance among efficient solutions, and we have compared it with

four standard crossover operators. From the experiments carried out, it follows that

our new operator behaves better than the usual ones for the selected test problems.

Except for some scenarios, the operator PBC obtains better values of the measures

Page 135: Herramientas Para Algoritmos Evolutivos Multi Objetivo

116 Apendice A.3 A crossover operator ...

A crossover operator that uses Pareto optimality in its definition

considered (hypervolume difference, generational distance and set coverage) than the

other operators.

Considering the mutation operator proposed by the authors in Alberto and

Mateo (2008) and this new crossover operator, the next step is to carry out a

study of some of the well-established algorithms in the literature (NSGA-II Deb

et al. 2002, SPEA2 Zitzler et al. 2001, etc.) by substituting the operators pro-

posed by their authors with our operators and some of the currently most promis-

ing algorithms as those based on Differential Evolution for Multiobjective Opti-

misation. This approach was first introduced for uniobjective optimisation prob-

lems by Storn and Price (1995) and subsequently adapted for multiobjective op-

timisation problems. An updated survey can be found in Mezura-Montes et al.

(2008).

Acknowledgements This research work has been supported by the Spanish Ministry of Education and

Science under grant MTM2007-66893.

The authors are also grateful to both the editor and referees for their comments, which greatly improved

the presentation of this paper.

References

Alberto I, Mateo PM (2008) Using Pareto optimality for defining the mutation operator step size. Technical

report. In: Prepublicaciones del seminario matemático García Galdeano, University of Zaragoza, 8,

pp 1–19

Casella G, Berger RL (2002) Statistical inference, 2nd edn. Duxbury advanced series. Duxbury, Pacific

Grove

CEC (2007) Special session and competition on performance assessment of multi-objective optimization

algorithms. Available in web page http://www3.ntu.edu.sg/home/epnsugan/. Accessed August 2008

Coello CA (2005) Recent trends in evolutionary multiobjective optimization. In: Abraham A, Jain L,

Goldberg R (eds) Evolutionary multiobjective optimization: theoretical advances and applications.

Springer, London, pp 7–32

Coello CA (2008) EMOO repository (online). Available in http://delta.cs.cinvestav.mx/~ccoello/EMOO/.

Accessed September 2008

Coello CA, Lamont GB, Van Veldhuizen DA (2007) Evolutionary algorithms for solving multi-objective

problems, 2nd edn. Springer, Berlin

Deb K (2001) Multi-objective optimization using evolutionary algorithms, 2nd edn. Wiley, Chichester

Deb K, Agrawal S (1995) Simulated binary crossover for continuous search space. Complex Syst 9(2):115–

148

Deb K, Pratap A, Agarwal S, Meyarivan T (2002) A fast and elitist multiobjective genetic algorithm:

NSGA-II. IEEE Trans Evol Comput 6(2):182–197

Deb K, Thiele L, Laumanns M, Zitzler E (2002) Scalable multi-objective optimization test problems. In:

Congress on evolutionary computation CEC’2002, vol 1. IEEE Press, Piscataway, pp 825–830

Eiben AE, Smith JE (2007) Introduction to evolutionary computing, 2nd edn. Springer, Berlin

Eshelman LJK, Schaffer JD (1993) Real-coded genetic algorithms and interval-schemata. In: Whitley LD

(ed) Foundations of genetic algorithms II. Morgan Kaufmann, Los Altos, pp 187–202

Fonseca CM, Fleming PJ (1993) Genetic algorithms for multi-objective optimization: formulation, discus-

sion and generalization. In: Forrest S (ed) Genetic algorithms: proceedings of the fifth international

conference. Morgan Kaufmann, San Mateo, pp 416–423

Fonseca CM, Paquete L, Lopez-Ibanez M (2006a) An improved dimension-sweep algorithm for the hy-

pervolume indicator. In: Congress on evolutionary computation CEC’2006. IEEE Press, Vancouver,

pp 1157–1163

Fonseca CM, Paquete L, Lopez-Ibanez M (2006b) Computation of the hypervolume indicator, codes avail-

able in web page http://sbe.napier.ac.uk/~manuel/hypervolume. Accessed August 2008

Goldberg DE (1989) Genetic algorithms in search, optimization and machine learning. Addison–Wesley,

Reading

Page 136: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.3 A crossover operator ... 117

I. Alberto, P.M. Mateo

Herrera F, Lozano M, Verdegay JL (1998) Tackling real-coded genetic algorithms: operators and tools for

behavioural analysis. Artif Intell Rev 12(4):265–319

Holland JH (1975) Adaptation in natural and artificial systems. University of Michigan Press, Ann Arbor

Huang VL, Qin AK, Deb K, Zitzler E, Suganthan PN, Liang JJ, Preuss M, Huband S (2007) Problem

definitions for performance assessment on multiobjective optimization algorithms. Technical report

CEC-TR2007, Nanyang Technological University, Singapore

Huband S, Hingston P, Barone L, While L (2007) A review of multiobjective test problems and a scalable

test problem toolkit. IEEE Trans Evol Comput 10(5):477–506

Mezura-Montes E, Reyes-Sierra M, Coello CA (2008) Multi-objective optimization using differential evo-

lution: a survey of the state-of-the-art. In: Chakraborty UK (ed) Advances in differential evolution.

Springer, Berlin, pp 173–196

Michalewicz Z (1996) Genetic algorithms + data structures = evolution programs, 3rd edn. Springer,

Berlin

Schaffer JD (1984) Multiple objective optimization with vector evaluated genetic algorithms. Ph.D. thesis,

Vanderbilt University, Nashville, Tennessee

Schaffer JD (1985) Multiple objective optimization with vector evaluated genetic algorithms. In: Grefen-

stette JJ (ed) Genetic algorithms and their applications, proceedings of the first international confer-

ence on genetic. Lawrence Erlbaum, Hillsdale, pp 93–100

Storn R, Price K (1995) Differential evolution—a simple and efficient adaptive scheme for global optimiza-

tion over continuous spaces. Technical report TR-95-12, International Computer Science, Berkeley,

California, pp 1–12

Wright AH (1991) Genetic algorithms for real parameter optimization. In: Rawlins GJE (ed) Foundations

of genetic algorithms. Morgan Kaufmann, San Mateo, pp 205–218

Zitzler E (1999) Evolutionary algorithms for multiobjective optimization: methods and applications. Ph.D.

thesis, dissertation ETH no 13398, Swiss Federal Institute of Technology (ETH), Zürich, Switzerland

Zitzler E, Thiele L (1999) Multiobjective evolutionary algorithms: a comparative case study and the

strength Pareto approach. IEEE Trans Evol Comput 3(4):257–271

Zitzler E, Deb K, Thiele L (2000) Comparison of multiobjective evolutionary algorithms: empirical results.

Evol Comput 8(2):173–195

Zitzler E, Laumanns M, Thiele L (2001) SPEA2: improving the strength Pareto evolutionary algorithm.

Technical report 103, Computer Engineering and Networks Laboratory (TIK), Swiss Federal Institue

of Technology (ETH), Zurich, Switzerland, pp 1–21

Page 137: Herramientas Para Algoritmos Evolutivos Multi Objetivo
Page 138: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.4 A mutation operator ... 119

A.4. A Mutation Operator based on a Pareto Ran-king for Multi-Objective Evolutionary Algo-rithms

Page 139: Herramientas Para Algoritmos Evolutivos Multi Objetivo

120 Apendice A.4 A mutation operator ...

J Heuristics

DOI 10.1007/s10732-011-9156-4

A mutation operator based on a Pareto ranking for

multi-objective evolutionary algorithms

P.M. Mateo · I. Alberto

Received: 24 November 2009 / Revised: 30 April 2010 / Accepted: 3 January 2011

© Springer Science+Business Media, LLC 2011

Abstract Evolutionary Algorithms, EA’s, try to imitate, in some way, the principles

of natural evolution and genetics. They evolve a population of potential solutions to

the problem using operators such as mutation, crossover and selection. In general, the

mutation operator is responsible for the diversity of the population and helps to avoid

the problem of premature convergence to local optima (a premature stagnation of the

search caused by the lack of population diversity).

In this paper we present a new mutation operator in the context of Multi-Objective

Evolutionary Algorithms, MOEA’s, which makes use of the definition of Pareto op-

timality and manages the maximal amplitude or maximal step size of the mutation

according to the Pareto layer of the individual and also of the iteration number. The

behaviour of our mutation operator reveals that the use of variation operators which

take into consideration the quality of the solutions, in terms of Pareto dominance or

Pareto layers, can help to improve them. The Pareto based mutation operator pro-

posed is compared with four well established and extensively used mutation oper-

ators: random mutation, non-uniform mutation, polynomial mutation and Gaussian

mutation. The accomplished experiments reveal that our mutation operator performs,

in most of the test problems considered, better than the others.

Keywords Multi-objective decision making ·Metaheuristics · Evolutionary

algorithms

P.M. Mateo (B)

Department of Statistical Methods, Universidad de Zaragoza, Faculty of Sciences, C/Pedro Cerbuna

12, 50009 Zaragoza, Spain

e-mail: [email protected]

I. Alberto

Department of Statistical Methods, Universidad de Zaragoza, Technical School of Industrial

Engineers, C/María de Luna 3, 50018 Zaragoza, Spain

e-mail: [email protected]

Page 140: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.4 A mutation operator ... 121

P.M. Mateo, I. Alberto

1 Introduction

The formulation of real problems fits the multi-objective optimisation field in a nat-

ural way because, in general, these complex real problems take into consideration

more than one criterium when comparing or measuring the quality of the candidate

solutions. Besides, these formulations become so complicated that classical tech-

niques do not allow us to solve them directly. As a consequence, Operations Research

practitioners must resort to EA’s.

The enormous amount of papers on Evolutionary Algorithms that can be found

in the literature shows that they can be considered as one of the most appropriate

methods for solving real complex optimisation problems with one or more objective

functions. A simple schema of an EA is shown in Fig. 1. For an overall view on

this field, the reader is referred, for example, to the books: Holland (1975), Goldberg

(1989) and Michalewicz (1996) and a more recent book with a complete description

of the different techniques by Eiben and Smith (2007).

As for the topic of multi-objective optimisation, a large number of papers and

different EA implementations have been written since the pioneering Vector Evalu-

ated Genetic Algorithm (VEGA) was presented by Schaffer in his PhD in Schaffer

(1984, 1985). The books by Coello et al. (2007) and Deb (2001) and the web site by

Coello (2009), with more than 4 300 papers, provide a good, complete and updated

introduction as well as a broad list of references about Evolutionary Multi-Objective

Optimisation.

In general EA’s and MOEA’s are highly time consuming algorithms so a great

amount of the research on them is focused on developing algorithms reaching “bet-

ter” solutions in a “faster” way. The elements researchers try to improve are solu-

tion representation, the management of solutions, the design of operators (mutation,

crossover, selection), techniques for improving the coverage of the Pareto front, and

so on. However, the number of papers devoted to building variation operators, mu-

tation and crossover, that bear in mind the specific issues of Multi-Objective Opti-

misation Problems is scarce. On reading recent publications, we can find different

works devoted to the mutation operator (the majority considering the single objec-

tive case), operators which are designed taking characteristics from other kinds of

algorithms like in Xing et al. (2009), where they use ideas from immune systems,

calculating the distribution of the values of the variables for guiding the mutation. In

the Estimation of Distribution Algorithms, Larrañaga and Lozano (2002) instead of

mutating individuals by means of the perturbation of current values they try to learn

Fig. 1 General Schema of an

Evolutionary Algorithm

Page 141: Herramientas Para Algoritmos Evolutivos Multi Objetivo

122 Apendice A.4 A mutation operator ...

A mutation operator based on a Pareto ranking for multi-objective

the locations of the most promising regions of the search space in order to sample

in them. In Yuen and Chow (2009a, 2009b), the amplitude of the mutation depends

on an estimation of the diversity of the solution space previously visited. Deep and

Thakur (2007) present a mutation operator based on a potential distribution. Other

works define operators that manipulate the mutation probability: Oliveto et al. (2009)

and Gomes et al. (2008) establish the mutation probabilities based on a predefined

ranking on the value of the objective function: the worse the value of the objective

function, the greater the mutation probability and viceversa. Similarly, Zhang et al.

(2007) settle the mutation and crossover probabilities by means of a fuzzy system

based on the size of some clusters built with the best solutions of the population.

Other works define mutation operators by means of the combination of other existing

ones. Some examples of these are Xue et al. (2005); Yang et al. (2005); Dong et al.

(2007); Teo et al. (2007); Huang et al. (2007b); Fu et al. (2008); Chen and Lu (2008);

Pant et al. (2009).

The mutation operator may be considered an important element in the design of

the EA because it helps to create diversity in the population. In the case of real coded

EAs, the control of the step size/variance is a very important issue in the design of

the mutation operator. As it will be shown, the new operator introduced in this paper

presents a better behaviour than the usual ones.

The main novelty of our operator is the fact that it uses the quality of the solutions,

measured in terms of the Pareto layer where the solution is located, for modulating the

maximal amplitude of the mutation. In particular, it shows a dynamical behavior in

two senses. On the one hand, it has a deterministic step size control, since it depends

on the iteration. On the other hand, it takes into account the “quality” of the solution

to be mutated (therefore, the evolution of the algorithm) on the basis of the Pareto

layer introduced by Goldberg (1989) in which the solution is located, following the

idea of the heuristic “shrink the step size when making progress, expand when stuck”.

This means that “good” solutions will be used for exploitation while “not so good”

ones will be used for exploration.

The proposed operator is compared with four well-known classical mutation op-

erators that can be found in the literature and it is also incorporated in a well known

MOEA, NSGA-II , in order to show how the algorithm is improved.

The paper is organised as follows: In the next section we will present the defin-

itions and notations on Multi-Objective Problems that we will later use. In Sect. 3,

we present four common mutation operators we will use so as to compare them with

the new mutation operator. Section 4 is devoted to the explanation of this new mu-

tation operator. In Sect. 5 we report the elements that conform the computational

experiments (measures taken for making the comparisons, test problems, selection

operators, mutation operator parameter settings and implementation of the experi-

ments) as well as the results obtained. Finally, the conclusions and future research

lines are presented in Sect. 6.

2 Multi-Objective optimisation problems and Pareto optimality

Multi-Objective Optimisation attempts to simultaneously optimise a set of objective

functions. However, this set generally exhibits a conflicting nature. The attempt to im-

Page 142: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.4 A mutation operator ... 123

P.M. Mateo, I. Alberto

prove some of them causes some others to worsen. So, by means of “optimising” we

mean finding solutions which would provide acceptable values for all objective func-

tions to the decision maker. More formally, a Multi-Objective Optimisation Problem

(MOOP) can be defined, without loss of generality, in the following way:

min f(x) = (f1(x), . . . , fm(x))

s.t. x = (x1, . . . , xn) ∈ D ⊂ Rn,

where f1(x), . . . , fm(x) are the functions to be minimised, x = (x1, . . . , xn) is the

decision variable vector and ∅ 6= D ⊂ Rn is the feasible space. From now on, all

the definitions given are supposed to be for minimization problems, without loss of

generality.

As we have pointed out before, in multi-objective optimisation it is usually im-

possible to find a solution simultaneously optimising all the objective functions. In-

stead, algorithms attempt to find a set of points known as the Pareto optimal set.

These points verify that there is no other feasible solution which strictly improves

one component of the objective function vector without worsening at least one of

those remaining.

The concept of Pareto optimality or Pareto efficiency is based on the concept of

dominance:

Definition 1 If given a solution y, there exists another solution x such that ∀j =

1, . . . ,m fj (x) ≤ fj (y) and ∃j ∈ {1, . . . ,m} such that fj (x) < fj (y), then we will

say that solution x dominates solution y (denoted by x ≺ y). If given a solution y,

there exists another solution x such that ∀j = 1, . . . ,m fj (x) ≤ fj (y), then we will

say that solution x weakly dominates solution y (denoted by x ¹ y).

Therefore, a formal definition of Pareto optimality or Pareto efficiency is the fol-

lowing:

Definition 2 A solution x ∈ D is said to be Pareto optimal or efficient if and only if

@y ∈ D such that y ≺ x.

Definition 3 The real Pareto optimal set will be denoted with Ptrue. The image of

Ptrue in the objective function space is called Pareto front and it will be denoted with

PFtrue.

The mutation operator we propose considers the quality of the solution in terms of

its efficiency level. In this sense, we will need a ranking in the solution set which takes

into account if one solution is “more efficient than another or not”. Considering this,

we could use, for example, the rankings proposed by Goldberg (1989), by Fonseca

and Fleming (1993), by Zitzler et al. (2001), etc. The first one assigns a value equal

to 1 to the efficient solutions (1st Pareto layer), then these solutions are removed

from the population. The efficient solutions of this new set are assigned rank 2 (2nd

Pareto layer), and the process continues until there are no solutions left. The second

ranking was defined by Fonseca and Fleming: An individual’s rank is equal to one

Page 143: Herramientas Para Algoritmos Evolutivos Multi Objetivo

124 Apendice A.4 A mutation operator ...

A mutation operator based on a Pareto ranking for multi-objective

plus the number of individuals in the current population that dominate it. By doing so,

the non-dominated solutions are assigned a rank equal to 1, and the dominated ones

are assigned values of rank between 2 and the population size minus one. The last

ranking, proposed by Zitzler et al. (2001) for their algorithm SPEA2, raw fitness, first

calculates for each individual the number of solutions that it dominates. After that,

the raw fitness for a solution is obtained adding these previously calculated values for

all the solutions that dominates it. In this ranking the efficient solutions obtain a rank

value equal to 0.

3 Mutation operators

Among the classical mutation operators that can be found in the literature, we have

considered four of them. All correspond to unary operators (mutation operators that

act only over one individual at each time), as is the new method proposed in this

paper. The first one has no adaptive behaviour, it has been selected because it is the

simplest and one of the first operators proposed in the literature. The second mutation

operator allocates a higher probability of mutation to those solutions closer to the

parent, but this probability does not vary with time. It has been used in algorithms

such as SPEA2 by Zitzler et al. (2001) and NSGA-II by Deb et al. (2002a) as

well as in many other algorithms. The third mutation operator works as the previous

one, assigning a higher probability of obtaining individuals closer to the parents than

away from them, but it also controls the amplitude of the mutation according to the

iteration: the more iterations, the smaller the probability of obtaining solutions far

away from the parents. For the single objective case it has been reported that this

operator presents very good results and it is even used as the principal element for the

design of new algorithms as for example in Zhao et al. (2007) and Deep and Thakur

(2007). As well as the previous one, it constitutes a broadly used operator in the

single and multi-objective cases. Finally, the fourth mutation operator, the Gaussian

mutation operator presented by Schwefel (1981, 1995), is the main variation operator

in, for instance, Evolution Strategies. Its main characteristic, in the most commonly

used version, is the fact that it jointly codifies the individuals and their mutation step

sizes. Furthermore, the evolution of individuals considers both the individuals as well

as the corresponding mutation step sizes. Gaussian mutation operators of different

kinds have not only been broadly used in single optimisation problems but also in

the design of multi-objective evolutionary algorithms, see for instance Knowles and

Corne (2000); Abbass and Sarker (2002); Dong et al. (2007); Yang et al. (2005).

1. Random Mutation Operator (RMO) (Michalewicz 1996, p. 102 and Deb 2001,

p. 118). This operator shows the simplest mutation scheme. In its original version

by Michalewicz (1996), given an individual x(t)= (x

(t)

1 , . . . , x(t)

n ) belonging to the

t th population Pt , it creates a uniform distributed value in the interval (x(L)

k, x

(U)

k),

where x(L)

kand x

(U)

kare the lower and upper bounds, respectively, for component

k (k = 1, . . . , n). We will use a modified version introduced in Deb (2001) in

which the new value of a mutated component of x(t) is created in the neighbour-

hood of the parent solution according to:

x(t+1)

k= x

(t)

k+ u · 1 · (x

(U)

k− x

(L)

k),

Page 144: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.4 A mutation operator ... 125

P.M. Mateo, I. Alberto

where u is a random value in [−1,1] and 1 is a parameter which represents the

mutation step size and will be fixed in Sect. 5.4.

2. Polynomial Mutation Operator (PMO) Deb and Goyal (1996). Given a solution

to be mutated, this operator provides a higher probability of generating solutions

close to it, independently of the generation number. This mutation operator uses a

polynomial distribution in the following way:

x(t+1)

k= x

(t)

k+

(

x(U)

k− x

(L)

k

)

· δk,

where

δk =

{

(2 · u)1/(η+1)

− 1, if u < 0.5,

1 − [2 · (1 − u)]1/(η+1)

, if u ≥ 0.5,

u is a random number in [0,1] and η is a parameter to control the variability of

the perturbation.

3. Non-Uniform Mutation Operator (NUMO) (Michalewicz 1996, p. 103). It

searches the space uniformly in the early generations and very locally in the last

ones, acting as a fine tune search. The probability of creating a solution closer to

the parent is greater than the probability of creating one farther away from it. Fur-

thermore, as generations move forward, this probability becomes much greater.

The form of the operator, in the version of (Deb 2001, p. 119), that we have used,

is:

x(t+1)

k= x

(t)

k+ τ ·

(

x(U)

k− x

(L)

k

)

·

(

1 − u(1−t/tmax)

b)

,

where u is a random number in [0,1], tmax is the maximum number of iterations

allowed, τ is +1 or -1, each with probability 0.5, and b is a system parameter

determining the degree of dependency on the iteration number. Parameter b will

be fixed in Sect. 5.4.

4. Gaussian Mutation Operator (GMO) Schwefel (1981) and Beyer and Schwefel

(2002). The variant of the Gaussian operator we will use is one of the standards

in Evolution Strategies (ES). Its main difference with regard to the previous oper-

ators lies in the fact that individuals are represented by two vectors, one of which

represents a point in the search space, as usual, and the second one is a vector of

standard deviations, usually named strategy parameter vector which contains, in

some sense, the mutation step size. Additionally, when the individuals are evolved,

they evolve all the representation, the part corresponding to the solution and the

one corresponding to the standard deviations. If (x(t)

1 , . . . , x(t)

n , σ(t)

1 , . . . , σ(t)

n ) rep-

resents an individual and its strategy parameters, the mutation operator works as

follows:

σ(t+1)

k= σ

(t)

k· e

τ′

z+τzk, k = 1, . . . , n

x(t+1)

k= x

(t)

k+ σ

(t+1)

k· z

k, k = 1, . . . , n,

where z, zk, z′

kdenote random numbers drawn from a Gaussian distribution with

zero mean and standard deviation 1. These kinds of variation operators in which

Page 145: Herramientas Para Algoritmos Evolutivos Multi Objetivo

126 Apendice A.4 A mutation operator ...

A mutation operator based on a Pareto ranking for multi-objective

some parameters are co-evolved with the solutions are named self-adaptive mu-

tation operators. In this case, the mutation step sizes are co-evolved with the so-

lutions. In the above formulae, parameters τ and τ′ can be interpreted as a sort

of learning rate, as in neural networks. According to Schwefel (1995), a good

heuristic for the choice of these constants is:

τ =

1√

2√

n

, τ′

=

1√

2 · n

.

Furthermore, in order to prevent standard deviations, σ(t)

k, from becoming zero,

a boundary rule is commonly used: if σ(t+1)

k< σ0 then it is set to σ

(t+1)

k= σ0.

Finally, in contrast to the other operators, it is common to apply the Gaussian

mutation operator to all the components of the solution, as it has been shown in

the former formulae, and in our comparison we will adhere to this standard. The

value of the σ0 parameter will be fixed in Sect. 5.4.

4 The new Pareto rank based mutation operator

As we have previously mentioned, the new Pareto Rank Based Mutation Operator,

PRBMO , has two main tuning devices since the maximal amplitude of the mutation

depends on both the iteration and the Pareto rank of the individual. The novelty is in

the fact of using a Pareto ranking (therefore, the quality of the solution) to control

this maximum amplitude: The smaller the rank (better solution), the smaller the max-

imum amplitude. With this idea, efficient solutions try to generate solutions closer to

the parent (exploitation) whereas the less efficient ones try to generate solutions far

away from them (exploration). The main theoretical advantage is that this mutation

operator tries to not waste too much effort exploring near “bad” solutions but in us-

ing those solutions for making big steps in the feasible region. And viceversa, when

“good” solutions are evolved, the operator tries to avoid big steps in order to tune the

search in the proximities of the solution. Moreover, deciding on the extent to which

a solution explores or exploits must be carried out taking into consideration the iter-

ation and the Pareto layer in a conjoint way. For example, the efficient solutions of

the initial iterations do not have to be as good as those obtained in the last iterations,

so their ability to explore and/or exploit need not be the same. Initially, the solution

should start with some exploratory capacity that, as iterations proceed, leave room for

exploitation (although all of them are efficient solutions). All these facts have been

taken into account for designing the operator.

First of all, we present the element based on the ranking used to control the am-

plitude and then we link it with the amplitude control based on the iteration.

We build a function, λ(r), where r represents the rank value of a certain individual,

such that it gives small values to those solutions with small rank, i.e. “good solutions”;

and solutions with high rank, “not so good solutions”, get high values of λ(r); all the

values being between 0 and 1. More formally,

λ(r) : {1, . . . , rt

max} → [0,1],

Page 146: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.4 A mutation operator ... 127

P.M. Mateo, I. Alberto

where in iteration t , rt

max represents the maximum rank of the individuals of the

population of the MOEA in that iteration. Furthermore, it will verify that λ(1) = 0,

λ(rt

max) = 1, 0 < λ(r) < 1, ∀1 < r < rt

max and λ(r) < λ(r′

) if r < r′. Also, it would

be desirable that function λ(r) had the quality to easily modulate the commitments

between “good” and “bad” solutions.

There are many ways of selecting this function λ(r). Fig. 2 shows four possible

alternatives, calculated considering a maximal rank value, rmax, equal to 20 (the su-

perscript t has been deliberately removed from rt

max to simplify the figure). In the first

alternative, plot at the top-left, function λ(r) = log(r)/ log(rmax) shows only one line

because there is no way of modulating its behaviour. On the other hand, in the three

remaining plots, the functions contain a β shape parameter. Depending on the value

of β , function λ(r) exhibits different shapes which involve different commitments

between “good” and “bad” solutions. For shape parameter β we have taken 20 dif-

ferent uniformly distributed values in the interval shown at the top of each plot. If we

consider a curve at the top-left, the solutions with very low rank receive small values

Fig. 2 Four possible choices for function λ(r)

Page 147: Herramientas Para Algoritmos Evolutivos Multi Objetivo

128 Apendice A.4 A mutation operator ...

A mutation operator based on a Pareto ranking for multi-objective

of λ(r); but if the rank increases a little then, the value of λ(r) increases very fast to

1. In the most extreme situation, if we consider a curve on the bottom-right side, the

solutions maintain a value of λ(r) close to zero for moderately high values of rank;

only when the value of the rank reaches high values, does the value of λ(r) increase

in a significant way. It can be observed that, if parameter β is adjusted properly we

can obtain similar lines with all three options. Therefore, any one could be a valid

choice.

Taking into account the desired qualities for function λ(r), from among these three

alternatives we will select the last one, λ(r) = (1 − e−β(r−1)

)/(1 − e−β(rmax−1)

). The

behaviour of the curves is symmetrical with respect to the line that goes from (0,0) to

(rmax,1), so it is very easy to interchange the commitment between “good” and “bad”

solutions. Considering, as well, the range of variation of β in −1 ≤ β ≤ 1 (or even

in a shorter range since the values beyond [−0.5,0.5] really represent very extreme

tradeoffs between “bad” and “good” solutions) we can obtain a representative set of

curves that shows all the tradeoffs between “good” and “bad” solutions.

As we have just established, λ(r) controls the maximum amplitude of the indi-

vidual mutations in the sense that it will give higher maximum mutation amplitude

to those with worse ranks (higher rank values) and smaller values for individuals

with good rank values (small rank values). This idea is improved by incorporating

the dependence on the iteration in such a way that, in the initial stages, this function

maintains the value of λ(r), but when the algorithm proceeds, it tends to reduce the

initial value of the maximal step size proposed by λ(r). This idea is applied to all the

solutions, including the efficient ones. In the early iterations, the efficient solutions do

not have to be “good” solutions, (i.e. their objective values do not have to be near the

Pareto front) and therefore we will allow them to have a moderate amplitude which

will be reduced as iterations proceed. For example, one solution having a rank equal

to 1 (efficient solution) in the early iterations could have a maximum amplitude close

to 0.25 times the variable range of variation and, in the following iterations, the solu-

tions with rank equal to 1 will have smaller values of the maximum amplitude, being

practically zero in the last iterations of the algorithm. However, the solutions with

higher rank values, i.e. not so good solutions, will always have an important range of

variation.

According to the ideas of the previous paragraphs, Fig. 3 shows an example of the

evolution of the maximal step size of solutions of a set of hypothetical populations

with maximal constant rank equal to five. With solid lines, at the top of the figure we

can see that the solutions with rank equal to five, i.e. the worst ones, are always used

for exploration since the maximal step size of the mutation is 1. For solutions with

rank values smaller than 5 (rmax), the maximal amplitude is reduced as iterations pro-

ceed. In particular, we can observe how the maximal amplitude of efficient solutions,

i.e. solutions with rank equal to one, start with a maximal amplitude close to 0.25 and

end with a maximal amplitude close to zero.

With the ideas expressed above, we can establish our mutation operator in the

following way:

x(t+1)

k= x

(t)

k+ u · δ

(t,r)· (x

(U)

k− x

(L)

k),

where u is a random number in [−1,1], δ(t,r) defines the amplitude that depends on

both, the current iteration t and the rank r of the individual to be mutated, according

Page 148: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.4 A mutation operator ... 129

P.M. Mateo, I. Alberto

Fig. 3 Assuming a constant value rt

max = 5 through the iterations, the five solid lines show the evolution

of the maximal step size for solutions with rank equal to 1 at the bottom, equal to 2 the second one, and

so on. On the other hand, assuming a constant value rt

max = 1 in all the iterations, the black dots show the

evolution of the maximal step size of the solutions.

to the expression:

δ(t,r)

=

{

2 · ε(t) + κ · (1 − ε(t)), if rt

max = 1,

ε(t) + (1 − ε(t)) · λ(r), if rt

max ≥ 2,

where

ε(t) = 0.25 ·

(

tmax − t

tmax

)2

,

and tmax, as we have previously said, is the maximum number of iterations.

If all the solutions are efficient and, consequently, only individuals with rank equal

to 1 exist, the amplitude of the mutation is only based on the iteration number t , be-

coming smaller as iterations proceed, in a similar way to the non-uniform mutation

operator. For this situation the black dots printed in Fig. 3 show an example of the evo-

lution of the maximal amplitude when the maximal rank is assumed as one, rt

max = 1.

Initially, the maximal amplitude takes the value 0.5 and when iterations proceed, it is

reduced towards values near zero. Furthermore, we can see that, in this case, where

only efficient solutions are available for evolution, the maximal amplitude of these

efficient solutions is maintained throughout the majority of iterations higher than the

one obtained in the case of having efficient and non efficient solutions simultane-

ously. This is because, in this case, efficient solutions will also be responsible for

exploration, so we do not allow the maximal amplitude to be reduced very quickly.

The term κ · (1 − ε(t)) guarantees that the maximum amplitude, if all the solutions

are efficient, does not converge to 0 when iterations proceed.

In order to finish the presentation of the mutation operator, we should comment on

the setting up of the different free elements of the sketch, i.e. function λ(r), constants

κ and β , and the value 0.25 in the definition of ε(t). Function

λ(r) = (1 − e−β(r−1)

)/(1 − e−β(r

t

max−1))

Page 149: Herramientas Para Algoritmos Evolutivos Multi Objetivo

130 Apendice A.4 A mutation operator ...

A mutation operator based on a Pareto ranking for multi-objective

is selected for the two reasons we have pointed out before. Regarding κ , it essentially

represents the minimal maximal step size to be considered when iterations proceed,

in order to prevent the mutation operator from being caught in null or near null mu-

tations that do not really modify the values of the components. So, the value of κ

depends on the range of variation of the decision variables. As it can be observed in

CEC (2007), the magnitude and range of the values of the decision variables of our

test problems are similar. Therefore, taking this fact into consideration, we have fixed

a common value of κ equal to 0.0001. In relation to the constant 0.25 in the definition

of ε(t), it has been established in order to provide a maximal amplitude of the effi-

cient solutions equal to this value at the beginning of the execution. The selection of

an appropriate value for β is a difficult task, and its establishment is postponed until

Sect. 5.4.

Finally, as we have mentioned before, to establish the rank of the individuals we

have used the one proposed by (Goldberg 1989), but any other can be used.

5 Computational experiment

In this section we comment on the computational experiments that we have carried

out to test the performance of PRBMO . We should note that the aim of the paper

is to compare the PRBMO with some classical mutation operators existing in the

literature in order to investigate whether the results obtained with it are better than the

others or not, and not to create a new Evolutionary Algorithm. Therefore, the exper-

iments are accomplished taking this fact into to consideration. The first experiment

uses a simplified version of the algorithm shown in Fig. 1 in which only the mutation

operator is used in the ‘variate’ step. The second experiment implements the well-

known NSGA-II algorithm in its original version by Deb et al. (2002a) and using

our mutation operator PRBMO .

A PC Pentium IV 2.66 GHz under Linux Mandriva 2008 has been used to ac-

complish all the calculations. All programmes have been coded in C language and

compiled with a GNU GCC compiler and they have been written by the authors ex-

cept: the code for the hypervolume calculation that was obtained from Fonseca et al.

(2006b) based on Fonseca et al. (2006a), and all the codes for the function evaluations

that were extracted from the available codes provided in CEC (2007). Finally, preci-

sion of 10−8 has been taken for all the numerical comparisons, one unit of accuracy

more than the one used in the Pareto fronts supplied by CEC (2007).

There are six sections. The first focusses on showing the performance measures

used to accomplish the comparison of the results; the second exhibits the selected

test problems; Sect. 3 shows the selection mechanisms used for the first experiment;

Sect. 4 describes how the parameters of the operators have been set; the fifth one

shows how the experiments are executed and, finally, in Sect. 6 the results obtained

are reported.

5.1 Measures for the comparison of the operators

To accomplish the comparisons of both experiments, we have considered three mea-

sures that usually appear in the literature: Hypervolume difference to a reference

Page 150: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.4 A mutation operator ... 131

P.M. Mateo, I. Alberto

set, see CEC (2007) and Huang et al. (2007a), generational distance taken from Van

Veldhuizen and Lamont (2000) and set coverage from Zitzler (1999). The two first

measures need a reference set included in PFtrue to be known. We have considered as

reference sets the ones provided by CEC (2007). These reference sets consist of 500

points for two objective problems and of 5000 points for three objective problems.

The sketches of the measures are the following: Let P∗ be the set of non-

dominated solutions reached after the execution of an optimisation algorithm and

PF∗ its image in the objective space:

– Hypervolume difference to a reference set (HD): The original hypervolume mea-

sure by Zitzler and Thiele (1999) calculates the volume covered by the hypercube

formed by the vectors of PF∗ and a reference point. The reference point is placed

in such a way so as to be at least weakly dominated by every member in P∗. In

order to obtain the value of the hypervolume difference, HD, we calculate the dif-

ference between the hypervolume of the reference set contained in PFtrue obtained

from CEC (2007) and the hypervolume of PF∗. For this measure, the smaller the

value is, the better the population.

– Generational distance (GD): Similar to the previous one, it also needs a reference

set included in PFtrue to be known. It calculates how far, on average, PF

∗ is from

PFtrue. For this measure, the smaller the value, the better the population.

– Set coverage (C): Let P∗

1 and P∗

2 be the non-dominated sets resulting from the

execution of two different algorithms. This measure calculates the proportion of

solutions in set P∗

2 which are weakly dominated by solutions in set P∗

1 . Since

this operator is not symmetrical, both C(P∗

1 ,P∗

2 ) and C(P∗

2 ,P∗

1 ) have to be cal-

culated. In the best situation, P∗

1 is better than P∗

2 if C(P∗

1 ,P∗

2 ) is close to one

and C(P∗

2 ,P∗

1 ) is close to zero. In general, P∗

1 is better than P∗

2 if C(P∗

1 ,P∗

2 ) is

notably greater than C(P∗

2 ,P∗

1 ).

For a more detailed explanation, the reader is referred to the previous references.

5.2 The test problems

The use of a set of test problems helps to guarantee that the proposed operator will

confront efficient solution spaces of different characteristics. A usual and very often

used test suite is the one composed of the ZDT given by Zitzler et al. (2000) and

DTLZ provided by Deb et al. (2002b) problems. Those related to the ones used for

the experiment are shown in Table 1. The main characteristics of these problems are

the following: The ZDT1 problem has a convex Pareto-optimal front; ZDT2 has a

non-convex Pareto-optimal front; ZDT4 contains 219 local Pareto-optimal fronts and

therefore, tests for EA’s ability to deal with multifrontality; ZDT6 includes two diffi-

culties caused by the non-uniformity of the search space (the Ptrue are non-uniformly

distributed along the PFtrue and the density of the solutions is lowest near the PF

true

and highest away from the front); in DTLZ2, the Pareto-optimal solutions correspond

to xi = 0.5, i = 3, . . . , n and all objective functions must satisfy∑3

j=1 f2j

= 1; and

finally, DTLZ3 is the same as DTLZ2 except for function g, which introduces 83 lo-

cal Pareto-optimal fronts and one global Pareto-optimal front (all local Pareto-optimal

fronts are parallel to the global Pareto-optimal front and a MOEA can get stuck at any

Page 151: Herramientas Para Algoritmos Evolutivos Multi Objetivo

132 Apendice A.4 A mutation operator ...

A mutation operator based on a Pareto ranking for multi-objective

Table 1 Original ZDT and DTLZ test problems related to the ones used for the experiments

Problem Objective functions Variables Pareto front

ZDT1 f1(x1) = x1 xk ∈ [0,1] g(x2) = 1

f2(x) = g · h(f1, g) k = 1, . . . ,30

g(x2) = 1 + 9

∑30k=2 xk

29x2 = (x2, . . . , x30)

h(f1, g) = 1 −

f1g

ZDT2 f1(x1) = x1 xk ∈ [0,1] g(x2) = 1

f2(x) = g · h(f1, g) k = 1, . . . ,30

g(x2) = 1 + 9

∑30k=2 xk

29x2 = (x2, . . . , x30)

h(f1, g) = 1 − (f1/g)2

ZDT4 f1(x1) = x1 x1 ∈ [0,1] g(x2) = 1

f2(x) = g · h(f1, g) xk ∈ [−5,5]

g(x2) = 1 + 10(n − 1) k = 2, . . . , n Best local Pareto

+

n

k=2

[

x2k

− 10 cos(4πxk)

]

x2 = (x2, . . . , xn) optimal front:

h(f1, g) = 1 −

f1g

g(x2) = 1.25

ZDT6 f1(x1) = 1 − exp(−4x1) sin6(6πx1) xk ∈ [0,1] g(x2) = 1

f2(x) = g · h(f1, g) k = 1, . . . ,30

g(x2) = 1 + 9[

∑30k=2

xk

29

]0.25x2 = (x2, . . . , x30)

h(f1, g) = 1 − (f1/g)2

DTLZ2 f1(x) = (1 + g) cos(

x1π

2

)

cos(

x2π

2

)

xk ∈ [0,1] Spherical

f2(x) = (1 + g) cos(

x1π

2

)

sin(

x2π

2

)

k = 1, . . . , n Pareto-optimal

f3(x) = (1 + g) sin(

x1π

2

)

x3 = (x3, . . . , xn) front

g(x3) =

n

k=3(xk − 0.5)2

∑3j=1 f

2j

= 1

DTLZ3 f1(x) = (1 + g) cos(

x1π

2

)

cos(

x2π

2

)

xk ∈ [0,1]

f2(x) = (1 + g) cos(

x1π

2

)

sin(

x2π

2

)

k = 1, . . . ,30

f3(x) = (1 + g) sin(

x1π

2

)

x3 = (x3, . . . , x30)

g(x3) = 100[

28 +

∑30k=3(xk − 0.5)

2

− cos (20π(xk − 0.5))

]

of these local Pareto-optimal fronts before converging to the global one), the PFtrue

is concave and multimodal and this problem tests the MOEA’s ability to converge to

PFtrue.

However, these suites have some drawbacks since the test problems share some

characteristics and often have some design flaws. For example, for all the problems,

the global optimum has the same parameter values for different variables/dimensions

and it lies in the centre of the search range or on the boundaries. Also, all these

problems are separable. Therefore, to overcome the shortcomings of the ZDT and

Page 152: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.4 A mutation operator ... 133

P.M. Mateo, I. Alberto

Table 2 Properties of the

extended and rotated/shifted

versions of the corresponding

original ones. S: Separable; NS:

Nonseparable; U: Unimodal; M:

Multimodal

Test problem Separability/Modality No. variables Geometry

1. S-ZDT1 f1, f2: S/U 30 convex

2. S-ZDT2 f1, f2: S/U 30 concave

3. S-ZDT4 f1: S/U 30 convex

f2: S/M

4. R-ZDT4 f1, f2: NS/M 10 convex

5. S-ZDT6 f1, f2: S/M 30 concave

6. S-DTLZ2 f1, f2, f3: S/U 30 concave

7. R-DTLZ2 f1, f2, f3: NS/M 10 concave

8. S-DTLZ3 f1, f2, f3: S/M 30 concave

DTLZ test functions, in Huang et al. (2007a), some of the usual ZDT and DTLZ test

functions have been extended and rotated and/or shifted. After these transformations,

the problems have no external nor medial optima and the optima continues being

known. In our experiments we have considered these new versions of the ZDT and

DTLZ test functions. A short description of their characteristics is shown in Table 2.

In order to obtain a more detailed description of them the reader is referred to Huang

et al. (2007a).

5.3 Selection operators for the first experiment

The outline of the first experiment is similar to the one accomplished in Alberto

and Mateo (2009). In the simplified version of the algorithm showed in Fig. 1, after

applying the mutation operator, we built a temporary population consisting of the

current one together with the new individuals to carry out the selection process. We

have taken into consideration three different selection operators: Two of them of the

roulette wheel selection type (surviving and death selection) and the other of the

elitist type. In order to classify the individuals and to establish the selection/death

probability, the selection operators use a ranking. As we have mentioned before, we

have used the one proposed by Goldberg (1989).

The selection operators considered are the following:

– Surviving selection (S1) from (Michalewicz 1996, p. 34): This operator assigns a

higher probability of surviving to those individuals with a smaller rank (better indi-

viduals). In iteration t , the selection probability pi(t) for each individual x(i,t)∈ Pt

is obtained according to:

pi(t) =

rt

max + 1 − ri∑

x(j,t)∈Pt

(

rt

max + 1 − rj

) ,

where rj is the rank value of individual x(j,t). Then, in order to build the new

population, a roulette wheel selection is performed using these probabilities.

– Death selection (S2) from (Michalewicz 1996, p. 62): Different from the previous

selection operator, this operator defines a probability of not surviving for each

Page 153: Herramientas Para Algoritmos Evolutivos Multi Objetivo

134 Apendice A.4 A mutation operator ...

A mutation operator based on a Pareto ranking for multi-objective

individual according to:

pi(t) =

ri∑

x(j,t)∈Pt

rj

.

It can be observed that individuals with greater rank (worse individuals) receive

a higher probability of not surviving. Then, a roulette wheel selection is accom-

plished in order to eliminate the spare individuals until the fixed population size is

reached. With this operator the population does not receive two copies of the same

individual, thus helping to avoid crowding the population with the same individu-

als.

– Elitist selection (S3): Taking into account the size of the population, the spare in-

dividuals with higher rank are removed from the population without random selec-

tion. The process is similar to the selection operator used in the algorithm NSGA-

II proposed by Deb et al. (2002a): When several individuals are candidate for

elimination, the size of the largest cuboid enclosing any of them without includ-

ing any other point in the population is obtained (crowding distance). Then, the

individuals with smaller crowding distance are removed from the population. This

device attempts to keep the population diverse along the Pareto front.

5.4 Parameter settings

The four mutation operators selected to be compared with the new one we propose

have been broadly used in the literature. In many cases, the free parameters they have

are fixed, for example b = 5 in Michalewicz (1996) (p. 103) or η = 20 in Deb et al.

(2002b) and Zitzler et al. (2001) for NUMO and PMO , respectively. In general, in

these cases, the mutation operators are used together with other variation operators

like crossover and it is supposed that these parameters have been tuned by their au-

thors in order to obtain the best results. Since in our first experiment we will only

use the mutation operator as a variation operator, the parameters that usually appear

in the literature might not be the most appropriate ones. Therefore, in this section

we show the process that we have carried out in order to determine, in an easy way,

an adequate value for the different parameters that will be used in the experiments

commented on in Sect. 5.5.

The process carried out is analogous to the one accomplished in order to fix para-

meter β of our algorithm, so we will relate both processes jointly. We have considered

four possible values for each parameter, which are shown in Table 3, and we have to

select one of them as the “best”. For the first operator, RMO , the higher the value

of the parameter the higher the maximal step size, for the second and third operators,

NUMO and PMO , the higher the value of the parameter the smaller the probability

of obtaining big values of the step size. For GMO , the interpretation of parameter

σ0 is different: It is a limit of the minimal σk’s allowed in the operator, that is to say,

it is the minimal σk allowed to perturb the components xk of the solutions. If dur-

ing the evolution the process establishes a value of σk below σ0, then, automatically,

the mutation operator fixes σk = σ0 and perturbations with very small variations are

avoided. Finally, for our operator, PRBMO , the four values provide a small, but

representative, selection of the tradeoffs between “good” and “bad” solutions.

Page 154: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.4 A mutation operator ... 135

P.M. Mateo, I. Alberto

Table 3 Candidate values for

free parameters in the mutation

operators

Operator Parameter Candidate values

RMO 1 0.10 0.25 0.5 0.75

NUMO b 1 2 5 8

PMO η 5 10 15 20

GMO σ0 10−5 10−4 10−3 10−2

PRBMO β −0.5 −0.1 0.1 0.5

To carry out all the experiments for these first calculations as well as for the re-

maining two main experiments, we have considered a fixed population size equal to

100 individuals and a probability of mutation equal to 1/n, as in the classical Zitzler

et al. (2001) and Deb et al. (2002a), except for Gaussian mutation in which all the

components of all the individuals are mutated, i.e. the probability of mutation is set

equal to 1. This different handling for the Gaussian mutation operator is due to the fact

that, in the literature, this operator is generally used in this way, so we have respected

this. Even so, some trials were accomplished considering a probability of mutation

equal to 1/n, but the results obtained were worse than those obtained with the prob-

ability of mutation equal to 1. Besides, with all the operators, when a mutated value

of a component is located outside its boundaries it is resampled until it fits into them.

We have considered nine different scenarios. A scenario is defined by any combi-

nation of the levels of the factors; number of iterations and selection operator. Both

factors take three different values: 100, 500 and 1000 for the number of iterations

and S1, S2 and S3 for the selection type. Then, for each problem 30 different initial

populations are generated.

After this, we consider, one by one, the mutation operators and we evolve the

initial populations considering each of the values of its free parameter and the nine

scenarios. By doing so, for each mutation operator, we obtain 30 final populations

for each combination of value of the parameter and scenario. From each of these

populations, we obtain the set of efficient solutions, P∗, and we only calculate the

hypervolume difference to a reference set, HD, of Sect. 5.1. We have considered this

measure due to the fact that, in theory, it takes into consideration both the extent of

the PF and the proximity to it. Besides, we consider only one measure in order to

have a simpler decision problem. To calculate HD, for each problem and number

of iterations, the reference point is placed by obtaining the worst objective function

value from among all the P∗ populations obtained with the different values of the

parameter of the mutation considered and selection operators. That is to say, for each

problem and mutation operator, the same reference point is used for all the P∗ once

the number of iterations has been fixed.

After obtaining the value of HD, and as it has been previously said, Table 4 con-

tains, for each mutation operator, the number of times in which an operator with a

specific value of its parameter beats, with respect to the measure HD, the same op-

erator but with the other possible values of the parameter when evolving the same

initial population under the same scenarios. For instance, the third column in Ta-

ble 4(a), which corresponds to 100 iterations, means that, among the 720 executions

(30 initial populations × 8 problems × 3 selection operators) accomplished for each

Page 155: Herramientas Para Algoritmos Evolutivos Multi Objetivo

136 Apendice A.4 A mutation operator ...

A mutation operator based on a Pareto ranking for multi-objective

Table 4 Parameter setting for the mutation operators considered

(a) Parameter setting for PRBMO (b) Parameter setting for PMO

No. iterations No. iterations

Meas. Version 100 500 1000 Meas. Version 100 500 1000

HD β = −0.5 67 145(a) 260 HD η = 5 473 183(a) 94

β = −0.1 117 247(b) 199(a) η = 10 103(a) 304 153(a)

β = 0.1 205 208(b) 172(a) η = 15 83(a, b) 143(a) 199(a)

β = 0.5 331 110(a) 89 η = 20 61(b) 90 274

Order β = −0.5 4 2 1 Order η = 5 1 2 3

β = −0.1 3 1 2 η = 10∗ 2 1 2

β = 0.1∗ 2 1 2 η = 15 2/3 2 2

β = 0.5 1 2 3 η = 20 3 3 1

(c) Parameter setting for RMO (d) Parameter setting for GMO

No. iterations No. iterations

Meas. Version 100 500 1000 Meas. Version 100 500 1000

HD δ = 0.10 69 167 477 HD σ0 = 10−2 286 238 88(a)

δ = 0.25 143 445 160 σ0 = 10−3 216 304 424

δ = 0.50 274(a) 69 61 σ0 = 10−4 146 101(a) 142

δ = 0.75 234(a) 39 22 σ0 = 10−5 72 77(a) 66(a)

Order δ = 0.10 3 2 1 Order σ0 = 10−2 1 2 3

δ = 0.25∗ 2 1 2 σ0 = 10−3∗ 2 1 1

δ = 0.50 1 3 3 σ0 = 10−4 3 3 2

δ = 0.75 1 4 4 σ0 = 10−5 4 3 3

(e) Parameter setting for NUMO

No. iterations

Meas. Version 100 500 1000

HD b = 1 442 146(a) 127

b = 2 214 444 357

b = 5 60 111(a) 215

b = 8 4 19 21

Order b = 1 1 2 3

b = 2∗ 2 1 1

b = 5 3 2 2

b = 8 4 3 4

of the values β = −0.5,−0.1,0.1 and 0.5, in 67 of them has beaten the parameter

−0.5, in 117 has beaten −0.1, in 205 has beaten 0.1 and finally in 331 cases has

beaten β = 0.5.

After these previous calculations, we carried out a statistical test in order to decide

which of the obtained values can be considered statistically equivalent. For doing so,

all the pairs of values have been compared. For instance, in Table 4(a), β equal to

Page 156: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.4 A mutation operator ... 137

P.M. Mateo, I. Alberto

−0.5 is compared with β equal to −0.1, 0.1 and 0.5, β equal to −0.1 is compared

with β equal to 0.1 and 0.5 and finally, β equal to 0.1 is compared with β equal to 0.5.

More specifically, a χ2 goodness-of-fit test with the multiple-comparison correction

of Bonferroni, with a significance level equal to 0.05 has been performed. The results

of the statistical test are shown by means of the letter (a) or (b) which appear in some

rows of the top half of the tables. For instance, in Table 4(b), considering the column

that corresponds to 100 iterations, we have the values 103 and 83 with (a) and 83 and

61 with (b). It means that there are no significant differences between the number

of times in which PMO with η = 10 presents better value of the measure HD than

with η = 15, and there are no significant differences in the number of times in which

PMO with η = 15 presents better value of HD than with η = 20, as a consequence,

the pairs of values can be considered equivalent. However, there are significant dif-

ferences between the values η = 10 and η = 20. If no letter appears, this means that

the values can be considered different from each other. After establishing this test, we

sorted all of the obtained values with respect to the others. This information is shown

at the bottom half of each of the Tables 4(a) to 4(e). For instance, in Table 4(b), for

100 iterations the best option is η = 5, the second ones are η = 10 and η = 15 since

there is no significant statistical difference between them, and the third correspond to

η = 15 and η = 20, since in this case, the value η = 20 could receive order 2 as well

as order 3. The last step is to select the “best” option for each mutation operator. We

will take as criteria for selection the value of the parameter that presents the smaller

order values and the smaller variability.

With these ideas in mind, the selected parameters are: β = 0.1 for PRBMO , η =

10 for PMO and 1 = 0.25 for RMO all of them with order 2, 1 and 2; σ0 = 10−3

for GMO and b = 2 for NUMO , both with order 2, 1 and 1. The selected values for

each operator appear marked with an asterisk in Tables 4(a) to 4(e). These values will

be used in the development of the experiments.

5.5 Implementation and execution

For the first experiment, PRBMO versus RMO , NUMO , PMO and GMO , the

same scenarios as in Sect. 5.4, population size and probability of mutation have been

taken into consideration. For the second experiment, devoted to the comparison of the

original NSGA-II with the one incorporating PRBMO , we have considered three

scenarios defined in terms of the number of iterations that, again, takes the values 100,

500 and 1000. The same parameters as before and a probability of crossover equal to

0.9 have also been considered. The crossover probability has been taken from Zitzler

et al. (2001) and Deb et al. (2002a).

As it has been previously mentioned, the first experiment is devoted to the com-

parison of our operator with those presented in Sect. 3, and the second experiment

is devoted to the comparison between two versions of the classical and broadly used

algorithm NSGA-II , the original one and the one obtained by incorporating our mu-

tation operator in it. For the first experiment, in contrast to that presented in Sect. 5.4,

in all the cases, for each problem, 50 different initial populations, and different from

the previous ones, are generated. We apply the algorithm using a different mutation

operator each time, considering each of the 9 different scenarios. By doing so, we

Page 157: Herramientas Para Algoritmos Evolutivos Multi Objetivo

A mutation operator based on a Pareto ranking for multi-objective

Fig. 4 Evolution of the mean value of rt

max for problem S-ZDT1 with the three proposed selection oper-

ators.

obtain 50 final populations for each combination of mutation operator and scenario.

In each of these populations, we obtain the set of efficient solutions, P∗, and we cal-

culate all the measures of Sect. 5.1. To calculate HD, the same process as before

has been performed in order to place the reference point. For the second experiment

the process is analogous, but bearing in mind only the three scenarios previously

mentioned.

For comparing the performances of the operators, several measures which summa-

rize the behaviour of the operators, as for example the mean or the median, could be

calculated. The one selected is the median because of its robustness in the presence of

outliers. So, in all the cases, the medians of the measures have been used to perform

the statistical comparisons.

Before describing the results of the first experiment, we want to make sure that

the proposed mutation operator really takes into consideration in its operation the

information of the layers, and not only the iteration number. That is to say, we want

to know if the number of times in which the operator uses the second part of the

definition of δ(t,r) is a significant value, i.e. the number of times in which r

t

max > 1 is

significant. As an example, in Fig. 4 we can observe the evolution of rt

max in function

of the number of iterations for the three selection operators proposed, for problem S-

ZDT1 and 1000 iterations. The lines represent the mean value of rt

max through the 50

replications. We also show in Table 5 an example of the frequency distribution of the

number of layers for the 8 problems when considering 1000 iterations and selection

S3, which is the one that generates fewer layers due to its specific characteristics.

The 10 first columns show the percentage of iterations, among the 50 replications

associated to each problem, in which rt

max has taken the values 1,2, . . . ,9 and higher

than 9. The last column shows the percentage of times in which rt

max is strictly higher

than 1. If, instead of considering only selection S3, we consider all three selection

operators together, the percentages of the last column rise to 89.1, 93.1, 100.0, 99.2,

100, 70, 94.8 and 91.8 for the first to the eighth problem, respectively. In the light of

these results, it can be stated that the percentage of times in which the second part of

the definition of δ(t,r) is used, and then the use of the quality of the solutions in terms

of the layer to which it belongs to, is a significant number.

Page 158: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.4 A mutation operator ... 139

P.M. Mateo, I. Alberto

Table 5 Distribution, in %, of rt

max for each problem when 1000 iterations and selection S3 is used

rt

max

1 2 3 4 5 6 7 8 9 ≥10 % >1

S-ZDT1 32.8 26.3 15.6 9.9 7.4 4.4 1.5 0.9 0.6 0.6 67.2

S-ZDT2 20.7 22.9 16.2 10.3 5.8 4.4 3.7 2.7 2.6 10.7 79.3

S-ZDT4 0 0 0 0.3 1.0 3.9 8.0 13.6 12.9 60.3 100

R-ZDT4 2.3 1.5 2.1 3.1 5.4 9.7 11.0 15.3 14.5 35.1 97.7

S-ZDT6 0 0 0 0.5 1.4 2.2 5.5 11.3 15.1 64.1 100

S-DTLZ2 90.1 7.0 1.5 1.0 0.3 0.1 0 0 0 0 9.9

R-DTLZ2 15.6 66.8 16.9 0.5 0 0.2 0 0 0 0 84.4

S-DTLZ3 24.7 70.3 4.6 0.4 0.1 0 0 0 0 0 75.3

We will now continue with the comments on the first experiment. First of all

we present Tables 6 to 9. They contain for each problem the median values for

the measures HD and GD in function of the mutation operator, the selection

type and the number of iterations. They also contain the median of the difference

C(PRBMO,MO)−C(MO,PRBMO), where MO represents any mutation oper-

ator among RMO , NUMO , PMO and GMO . The medians of HD and GD appear

in all the blocks associated with all the operators, while the medians of the difference

C(PRBMO,MO)−C(MO,PRBMO) only appear in the columns corresponding

to the operator MO to whom PRBMO is being compared. This is because it corre-

sponds to the comparison between two operators MO and PRBMO . For HD and

GD the smaller the values the better the operator; and for the measure C the higher

the value the better. The values of the measure C belong to the interval [−1,1], 1

being the best value for PRBMO and −1 the worst.

Since only the median values themselves are not enough to ensure whether one

operator is better for a given measure than another, we have considered the carrying

out of a statistical test to determine this fact, see for example Casella and Berger

(2002). To perform the statistical hypothesis tests for comparing PRBMO with

RMO,NUMO,PMO and GMO , and with the object of determining the effect of

the mutation operator when using them in the algorithm starting from identical initial

conditions, the data are paired in the following way: For each scenario, each of the 50

populations obtained using each of the mutation operators, RMO,NUMO,PMO

or GMO , is paired with each of the 50 populations obtained using PRBMO .

We have performed a two-sided Wilcoxon signed rank test of the hypothe-

sis that the difference between the matched samples comes from a distribution

whose median is zero (in the case of the measure C the hypothesis is not on

the difference of the measures between the matched samples but on the difference

C(PRBMO,MO) − C(MO,PRBMO) in the paired samples) with a significance

level equal to 0.05. The results of these tests are also coded and shown in the columns

corresponding to RMO , NUMO , PMO and GMO of Tables 6 to 9. If the null hy-

pothesis is not rejected, an ‘=’ sign is presented in the corresponding position of

MO , which means that both operators MO and PRBMO perform in an equiva-

lent way. If the null hypothesis is rejected, a ‘−’ sign appears when the median of

Page 159: Herramientas Para Algoritmos Evolutivos Multi Objetivo

140 Apendice A.4 A mutation operator ...

A mutation operator based on a Pareto ranking for multi-objective

Tab

le6

For

S-Z

DT

1(t

op)

and

S-Z

DT

2(b

ott

om

),th

enum

ber

sre

pre

sent

the

med

ian

val

ues

ofH

Dan

dG

D,

and

the

med

ian

ofC

(P

RB

MO

,M

O)−

C(M

O,P

RB

MO

),

MO

∈{R

MO

,N

UM

O,

PM

Oan

dG

MO

}in

funct

ion

of

the

muta

tion

oper

ator,

the

sele

ctio

nty

pe

and

the

num

ber

of

iter

atio

ns.

The

table

also

conta

ins

the

resu

ltof

the

two-s

ided

Wil

coxon

signed

rank

test

.A

n‘=

’m

eans

that

both

oper

ators

MO

and

PR

BM

Oper

form

inan

equiv

alen

tw

ay,

a‘−

’si

gn

mea

ns

that

PR

BM

Oper

form

sw

ors

e

than

MO

,an

dno

sign

mea

ns

that

PR

BM

Oper

form

sbet

ter

than

MO

S-Z

DT

1

RM

ON

UM

OP

MO

GM

OP

RB

MO

No.

iter

atio

ns

No.it

erat

ions

No.it

erat

ions

No.

iter

atio

ns

No.it

erat

ions

Sel

.M

ea.

100

500

1000

100

500

1000

100

500

1000

100

500

1000

100

500

1000

S1

HD

0.2

11

0.1

14

0.1

03

0.2

04

0.1

37

0.1

20

0.2

36

0.1

14

0.0

76

0.2

81

0.1

86

0.1

08

0.1

94

0.0

83

0.0

61

GD

1.7

86

0.7

32

0.6

51

1.6

6=

0.5

92

0.3

98

2.0

38

0.6

49

0.4

41

3.0

53

1.2

74

0.6

58

1.6

07

0.4

69

0.3

14

C0.5

00

0.8

20

0.8

30

0.1

6=

0.8

05

0.5

45

0.8

65

0.7

70

0.6

20

0.6

00

0.9

35

0.9

30

S2

HD

0.1

70

0.0

57

0.0

48

0.1

6=

0.0

53

0.0

38

0.1

87

0.0

48

0.0

33

0.2

14

0.0

80

0.0

28

0.1

53

0.0

34

0.0

18

GD

1.5

21

0.3

99

0.3

39

1.3

8=

0.2

97

0.1

60

1.6

91

0.3

34

0.2

24

2.3

30

0.5

13

0.1

49

1.3

66

0.2

24

0.1

01

C0.5

80

0.9

10

0.9

00

0.0

2=

0.8

95

0.7

85

0.8

90

0.8

65

0.8

95

0.7

15

0.9

80

0.8

65

S3

HD

0.1

34

0.0

21

0.0

08

0.1

24

0.0

2=

0.0

05

0.1

58

0.0

16

0.0

05

0.1

90

0.0

38

0.0

04

0.1

09

0.0

15

0.0

02

GD

1.1

63

0.1

36

0.0

62

1.0

57

0.1

1=

0.0

41

1.3

98

0.1

06

0.0

41

2.1

35

0.3

20

0.0

79

0.9

30

0.1

01

0.0

22

C0.9

30

0.9

10

1.0

00

0.8

15

0.0

8=

0.9

75

0.9

50

0.2

20

0.9

80

0.8

60

0.9

50

0.9

10

Page 160: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.4 A mutation operator ... 141

P.M. Mateo, I. Alberto

Tab

le6

(Conti

nued

)

S-Z

DT

2

RM

ON

UM

OP

MO

GM

OP

RB

MO

No.it

erat

ions

No.it

erat

ions

No.it

erat

ions

No.

iter

atio

ns

No.

iter

atio

ns

Sel

.M

ea.

100

500

1000

100

500

1000

100

500

1000

100

500

1000

100

500

1000

S1

HD

0.2

54

0.1

25

0.1

40

0.2

52

0.1

26

0.2

67

0.2

86

0.1

05

0.1

10

0.3

71

0.2

36

0.1

32

0.2

31

0.0

89

0.0

75

GD

2.2

22

0.7

69

0.7

89

2.0

39

0.6

13

0.3

9=

2.4

80

0.6

18

0.5

62

3.7

30

1.5

45

0.6

16

1.9

24

0.4

84

0.3

46

C0.5

70

0.6

40

0.8

15

0.5

65

0.7

30

0.7

95

0.6

70

0.3

95

0.7

50

0.2

90

0.1

75

0.0

00

S2

HD

0.2

38

0.0

76

0.0

74

0.2

28

0.0

66

0.0

52

0.2

66

0.0

62

0.0

53

0.3

11

0.1

46

0.0

69

0.2

05

0.0

45

0.0

26

GD

2.0

65

0.4

30

0.3

74

1.8

76

0.3

28

0.1

77

2.3

28

0.3

43

0.2

55

3.2

47

0.8

12

0.1

56

1.7

02

0.2

33

0.1

08

C0.7

65

0.8

90

0.9

20

0.5

50

0.9

05

0.9

60

0.7

30

0.8

25

0.8

95

0.3

10

0.3

80

0.6

60

S3

HD

0.2

10

0.0

39

0.0

21

0.1

98

0.0

29

0.0

12

0.2

30

0.0

30

0.0

13

0.2

88

0.1

11

0.0

17

0.1

57

0.0

26

0.0

07

GD

1.7

32

0.2

07

0.0

93

1.5

82

0.1

47

0.0

54

1.9

22

0.1

55

0.0

59

2.9

80

0.7

16

0.1

16

1.2

40

0.1

28

0.0

27

C0.8

70

1.0

00

1.0

00

0.9

20

0.4

80

0.9

80

0.8

70

0.7

85

0.9

90

0.3

80

0.4

20

0.8

45

Page 161: Herramientas Para Algoritmos Evolutivos Multi Objetivo

142 Apendice A.4 A mutation operator ...

A mutation operator based on a Pareto ranking for multi-objective

Tab

le7

Res

ult

sfo

rS

-ZD

T4

(top)

and

R-Z

DT

4(b

ott

om

)w

ith

the

sam

eco

difi

cati

on

asin

Tab

le6

S-Z

DT

4

RM

ON

UM

OP

MO

GM

OP

RB

MO

No.it

erat

ions

No.it

erat

ions

No.it

erat

ions

No.

iter

atio

ns

No.

iter

atio

ns

Sel

.M

ea.

100

500

1000

100

500

1000

100

500

1000

100

500

1000

100

500

1000

S1

HD

0.2

56

0.1

09

0.1

29

0.2

47

0.1

00

0.0

82

0.2

82

0.1

14

0.1

19

0.4

51

0.2

07

0.1

74

0.2

36

0.0

70

0.0

52

GD

235.9

98.4

692.0

2225.5

83.0

156.1

6263.5

106.6

83.6

9458.2

155.8

104.1

208.9

62.3

338.0

5

C0.2

25

0.8

00

1.0

00

0.3

8=

0.5

70

0.4

80

0.6

70

0.7

50

0.8

00

0.2

90

0.7

10

1.0

00

S2

HD

0.2

20

0.0

67

0.0

57

0.2

26

0.0

64

0.0

42

0.2

42

0.0

67

0.0

48

0.3

70

0.1

24

0.1

40

0.2

07

0.0

45

0.0

23

GD

203.8

59.8

440.6

3208.3

52.5

027.6

3224.5

62.1

934.7

8377.1

93.3

980.2

8188.0

41.2

315.8

1

C0.4

80

0.8

30

1.0

00

0.6

00

0.6

85

0.8

50

0.7

30

0.7

65

0.8

60

0.2

35

0.8

80

1.0

00

S3

HD

0.1

85

0.0

36

0.0

20

0.1

84

0.0

33

0.0

16

0.2

06

0.0

37

0.0

16

0.3

50

0.1

23

0.1

19

0.1

70

0.0

28

0.0

11

GD

167.0

30.6

213.9

5170.7

27.6

111.0

7190.6

32.1

211.2

0364.6

106.1

73.3

4155.9

23.4

67.9

32

C0.3

90

0.8

40

1.0

00

0.4

70

0.7

20

0.8

60

0.8

00

0.8

25

0.8

95

0.3

90

0.6

75

0.9

60

Page 162: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.4 A mutation operator ... 143

P.M. Mateo, I. Alberto

Tab

le7

(Conti

nued

)

R-Z

DT

4

RM

ON

UM

OP

MO

GM

OP

RB

MO

No.it

erat

ions

No.

iter

atio

ns

No.it

erat

ions

No.it

erat

ions

No.

iter

atio

ns

Sel

.M

ea.

100

500

1000

100

500

1000

100

500

1000

100

500

1000

100

500

1000

S1

HD

0.1

31

0.1

23

0.1

44

0.1

12

0.0

59

0.0

52

0.1

22

0.1

02

0.1

15

0.1

73

0.1

28

0.1

60

0.0

87

0.0

44

0.0

34

GD

66.7

249.3

541.9

152.5

115.2

=

9.8

9=

59.7

738.1

533.9

981.9

929.4

929.6

045.9

913.8

27.6

64

C0.8

60

1.0

00

1.0

00

0.3

50

0.6

0=

0.7

3=

0.7

45

1.0

00

1.0

00

0.7

70

1.0

00

1.0

00

S2

HD

0.0

96

0.0

79

0.0

97

0.0

81

0.0

32

0.0

31

0.0

90

0.0

62

0.0

73

0.1

02

0.0

80

0.0

99

0.0

66

0.0

26

0.0

23

GD

54.8

735.1

734.5

642.1

08.8

=

6.1

00

50.5

125.4

424.1

046.3

118.5

218.5

334.0

37.7

14

4.2

79

C0.7

30

1.0

00

1.0

00

0.2

75

0.4

8=

0.9

55

0.6

95

1.0

00

1.0

00

0.3

3=

1.0

00

1.0

00

S3

HD

0.0

59

0.0

24

0.0

19

0.0

5=

0.0

2=

0.0

1=

0.0

58

0.0

22

0.0

18

0.0

80

0.0

78

0.0

95

0.0

46

0.0

14

0.0

13

GD

37.4

612.5

68.6

56

23.9

=

4.2

8=

2.6

8=

38.2

710.7

56.6

28

37.0

018.4

318.1

124.7

24.3

76

2.5

14

C0.7

25

1.0

00

1.0

00

-0.0

2=

0.3

7=

0.0

6=

0.6

30

0.8

65

0.9

00

0.2

6=

0.9

80

0.9

80

Page 163: Herramientas Para Algoritmos Evolutivos Multi Objetivo

144 Apendice A.4 A mutation operator ...

A mutation operator based on a Pareto ranking for multi-objective

Tab

le8

Res

ult

sfo

rS

-ZD

T6

(top)

and

S-D

TL

Z2

(bott

om

)w

ith

the

sam

eco

difi

cati

on

asin

Tab

le6

S-Z

DT

6

RM

ON

UM

OP

MO

GM

OP

RB

MO

No.it

erat

ions

No.it

erat

ions

No.it

erat

ions

No.

iter

atio

ns

No.

iter

atio

ns

Sel

.M

ea.

100

500

1000

100

500

1000

100

500

1000

100

500

1000

100

500

1000

S1

HD

0.4

26

0.3

90

0.3

89

0.4

21

0.3

63

0.3

16

0.4

37

0.3

64

0.3

37

0.4

71

0.4

97

0.4

25

0.4

12

0.3

28

0.2

88

GD

6.5

27

4.8

63

4.5

98

6.3

97

4.4

25

3.5

7=

6.7

31

4.5

37

4.0

41

7.7

31

6.2

17

4.9

61

6.2

69

4.0

60

3.4

39

C0.7

20

0.8

30

1.0

00

0.5

55

0.8

55

0.7

95

0.8

30

0.7

10

0.8

30

0.3

30

0.7

90

0.8

90

S2

HD

0.4

13

0.3

41

0.3

17

0.4

10

0.3

11

0.2

47

0.4

24

0.3

15

0.2

73

0.4

51

0.4

21

0.2

78

0.3

99

0.2

79

0.2

10

GD

6.3

58

4.1

41

3.6

76

6.2

68

3.6

88

2.7

10

6.4

93

3.8

28

3.1

32

7.1

49

5.1

84

3.1

81

6.0

83

3.3

40

2.2

91

C0.7

75

0.8

90

1.0

00

0.8

20

0.9

25

0.9

35

0.8

30

0.8

80

0.8

95

0.4

00

0.8

20

0.9

00

S3

HD

0.3

99

0.2

94

0.2

49

0.3

93

0.2

60

0.1

95

0.4

12

0.2

71

0.2

18

0.4

41

0.3

69

0.2

08

0.3

72

0.2

51

0.1

82

GD

6.1

08

3.4

99

2.7

48

5.9

49

3.0

01

2.0

52

6.3

31

3.2

12

2.3

74

7.1

16

4.5

17

2.2

19

5.6

52

2.9

10

1.8

85

C0.8

85

1.0

00

1.0

00

0.8

85

0.7

70

0.8

10

0.8

95

0.8

90

1.0

00

0.5

85

0.7

75

0.8

10

Page 164: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.4 A mutation operator ... 145

P.M. Mateo, I. Alberto

Tab

le8

(Conti

nued

)

S-D

TL

Z2

RM

ON

UM

OP

MO

GM

OP

RB

MO

No.

iter

atio

ns

No.

iter

atio

ns

No.

iter

atio

ns

No.

iter

atio

ns

No.it

erat

ions

Sel

.M

ea.

100

500

1000

100

500

1000

100

500

1000

100

500

1000

100

500

1000

S1

HD

0.1

3=

0.1

79

0.1

73

0.1

85

0.3

28

0.3

98

0.1

76

0.1

68

0.1

64

0.1

43

0.2

28

0.1

46

0.1

29

0.1

32

0.1

22

GD

1.1

7=

0.5

87

0.5

36

1.2

79

0.4

13

0.2

5−

1.5

57

0.3

9=

0.3

4=

1.7

83

0.8

37

0.4

29

1.1

88

0.3

73

0.3

29

C0.0

4=

0.3

60

0.4

20

0.1

70

0.2

10

0.0

0=

0.2

70

0.0

95

0.1

00

0.4

00

0.4

20

0.1

00

S2

HD

0.0

5−

0.0

7=

0.0

6=

0.0

6=

0.1

78

0.2

43

0.0

77

0.0

6=

0.0

67

0.0

6=

0.0

89

0.0

82

0.0

57

0.0

62

0.0

56

GD

0.9

6=

0.3

59

0.3

54

1.0

2=

0.2

29

0.1

2−

1.2

06

0.2

48

0.2

21

1.2

50

0.3

54

0.1

66

0.9

68

0.1

89

0.1

31

C−

0.1

1=

0.4

45

0.5

15

0.0

7=

0.2

90

0.0

45

0.3

35

0.2

25

0.3

05

0.2

90

0.5

45

0.1

90

S3

HD

0.0

1−

0.0

08

0.0

06

0.0

2−

0.0

08

0.0

05

0.0

2−

0.0

1−

0.0

04=

0.0

2−

0.0

19

0.0

13

0.0

31

0.0

07

0.0

04

GD

0.5

4−

0.0

58

0.0

32

0.6

4−

0.0

59

0.0

20

0.7

6−

0.0

5=

0.0

21

0.9

88

0.4

11

0.3

07

0.9

35

0.0

44

0.0

13

C−

0.8

6−

0.0

90

0.1

70

−0.7

7−

0.1

05

0.0

80

−0.6

0−

0.0

3=

0.0

70

−0.2

4−

0.6

70

0.6

00

Page 165: Herramientas Para Algoritmos Evolutivos Multi Objetivo

146 Apendice A.4 A mutation operator ...

A mutation operator based on a Pareto ranking for multi-objective

Tab

le9

Res

ult

sfo

rR

-DT

LZ

2(t

op)

and

S-D

TL

Z3

(bott

om

)w

ith

the

sam

eco

difi

cati

on

asin

Tab

le6

R-D

TL

Z2

RM

ON

UM

OP

MO

GM

OP

RB

MO

No.it

erat

ions

No.

iter

atio

ns

No.it

erat

ions

No.

iter

atio

ns

No.it

erat

ions

Sel

.M

ea.

100

500

1000

100

500

1000

100

500

1000

100

500

1000

100

500

1000

S1

HD

0.0

18

0.0

28

0.0

27

0.0

20

0.0

14

0.0

12

0.0

17

0.0

22

0.0

22

0.0

37

0.0

11

0.0

1=

0.0

08

0.0

06

0.0

05

GD

575.8

550.6

549.2

535.8

316.=

192.−

549.6

546.4

517.4

702.5

211.−

147.−

476.2

344.2

282.5

C0.3

50

0.7

50

0.6

65

0.0

5=

−0.1

8=

−0.1

5=

0.1

25

0.5

75

0.6

35

0.6

90

−0.4

5−

−0.3

4−

S2

HD

0.0

05

0.0

07

0.0

07

0.0

03

0.0

01

0.0

00

0.0

04

0.0

04

0.0

03

0.0

08

0.0

00

0.0

00

0.0

01

0.0

00

0.0

00

GD

473.4

461.2

445.5

413.2

187.9

92.4

9466.1

424.1

408.6

558.8

88.0

586.2

0341.4

69.8

847.4

0

C0.7

70

1.0

00

1.0

00

0.4

60

0.8

35

0.5

80

0.5

80

0.9

70

0.9

60

0.6

10

0.2

35

0.6

05

S3

HD

0.0

00

0.0

00

0.0

00

0.0

00

0.0

0=

0.0

00

0.0

00

0.0

00

0.0

00

0.0

05

0.0

00

0.0

00

0.0

00

0.0

00

0.0

00

GD

260.8

123.1

84.9

8224.2

61.5

=

36.2

=

242.1

100.9

72.9

2569.0

110.7

73.0

160.2

54.3

133.8

7

C0.8

60

0.8

85

0.8

30

0.4

80

0.2

80

0.2

1=

0.6

85

0.7

60

0.7

20

0.9

85

0.4

00

0.6

90

Page 166: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.4 A mutation operator ... 147

P.M. Mateo, I. Alberto

Tab

le9

(Conti

nued

)

S-D

TL

Z3

RM

ON

UM

OP

MO

GM

OP

RB

MO

No.

iter

atio

ns

No.it

erat

ions

No.it

erat

ions

No.it

erat

ions

No.it

erat

ions

Sel

.M

ea.

100

500

1000

100

500

1000

100

500

1000

100

500

1000

100

500

1000

S1

HD

0.0

78

0.0

58

0.0

78

0.0

89

0.0

39

0.0

39

0.0

74

0.0

50

0.0

69

0.1

11

0.0

83

0.1

05

0.0

63

0.0

24

0.0

27

GD

2083=

1581.

1534.

2079.

1309.

914.4

=

2151.

1499.

1482.

3362.

2303.

1750.

2017.

1128.

980.2

C0.1

40

0.4

20

0.5

55

0.1

20

−0.0

5=

−0.2

2−

0.1

45

0.2

40

0.3

75

0.4

85

0.0

60

0.0

0=

S2

HD

0.0

2=

0.0

05

0.0

08

0.0

2=

0.0

03

0.0

02

0.0

2=

0.0

05

0.0

07

0.0

59

0.0

06

0.0

02

0.0

19

0.0

01

0.0

01

GD

1715=

1070.

1045.

1783.

928.1

685.8

1791.

1081.

1022.

2996.

1157.

535.0

1714.

649.7

475.1

C0.0

4=

0.6

90

0.8

10

0.0

4=

0.2

85

0.0

5=

0.0

3=

0.6

20

0.7

05

0.3

80

0.0

9=

−0.2

1−

S3

HD

0.0

04

0.0

00

0.0

0=

0.0

0=

0.0

00

0.0

00−

0.0

04

0.0

00

0.0

00

0.0

37

0.0

19

0.0

05

0.0

03

0.0

00

0.0

00

GD

1057=

259.9

135.6

1106=

252.1

126.5

1111=

296.1

171.9

2812.

2136.

1408.

1110.

232.6

149.3

C0.0

4=

0.7

50

−0.2

0−

0.0

3=

0.2

95

−0.4

8−

0.1

15

0.8

60

0.6

00

0.8

25

0.7

80

0.6

75

Page 167: Herramientas Para Algoritmos Evolutivos Multi Objetivo

148 Apendice A.4 A mutation operator ...

A mutation operator based on a Pareto ranking for multi-objective

the difference MMO − MPRBMO is negative (which means that PRBMO performs

worse than MO), where M is HD or GD; for C a ‘−’ appears when the median of

C(PRBMO,MO) − C(MO,PRBMO) is negative. Otherwise, a ‘+’ should ap-

pear but, in order to simplify the appearance and size of the Tables, in this case we

have omitted the sign. That is to say, if there is no sign, then PRBMO performs

better than the corresponding mutation operator for that measure.

5.6 Results from the experiment

In order to carry out the analysis of the results obtained note that, since there are

three measures for judging the behaviour of the mutation operators to be compared,

the decision of which mutation operator behaves better is, in itself, a multi-objective

problem. Because of this, we have made the following commitment: We interpret the

remaining tables in such a way that if the difference between the number of ‘+’ and

‘−’ signs in a scenario is positive, we will say that PRBMO “performs better than”

MO in that scenario, if that difference is negative, we will say that MO “performs

better than” PRBMO in that scenario, MO and PRBMO performing in an equiv-

alent way otherwise. The reader must remember that no sign in the Tables 6 to 9

corresponds to a ‘+’ sign.

As we have mentioned above, Tables 6 to 9 contain the results considering each

problem separately which are commented on below:

S-ZDT1 From the top of Table 6 we can conclude that for this problem, PRBMO

presents a clearly better behaviour than the other operators for all scenarios ex-

cept for the operator NUMO in three scenarios. In one of them, 100 iterations

with selection S1 in which PRBMO performs slightly better and the two re-

maining ones, corresponding to 100 iterations with selection S2 and 500 iter-

ations with selection S3, for which PRBMO and NUMO can be considered

equivalent.

S-ZDT2 Paying attention to the bottom of Table 6, we can point out that PRBMO

outperforms the other operators (only an ‘=’ sign appears in the table).

S-ZDT4 At the top of the Table 7 we can observe an analogous situation to the pre-

vious one (problem S-ZDT2), PRBMO performs definitely better than all the

other operators.

R-ZDT4 For this problem, the rotated version of the original ZDT4, according

to Table 7 (bottom), there is no scenario and operator in which PRBMO

can be considered inferior. Regarding operators RMO , PMO and GMO ,

PRBMO always performs better, the majority of triplets associated to the mea-

sures are (+,+,+) (bearing in mind that no sign means a ‘+’ sign, meaning

that PRBMO is better than the other). If we take into consideration operator

NUMO , we can observe that we are clearly better in three cases, S1 with 100

iterations and S2 with 100 and 1000 iterations. We are slightly better in the re-

maining cases of S1 and S2 and, finally, PRBMO and NUMO exhibit a similar

behaviour when selection S3 is considered. Therefore, for this problem we can

establish that PRBMO performs better than RMO , PMO and GMO , and per-

forms slightly better than NUMO .

Page 168: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.4 A mutation operator ... 149

P.M. Mateo, I. Alberto

S-ZDT6 From Table 8 (top), we can again establish that PRBMO outperforms the

others. In all the positions except for one we find no signs. This is a similar

situation to the one found in problems S-ZDT2 and S-ZDT4.

S-DTLZ2 This is the first problem of the test suite with three objective functions.

The fact of increasing the number of objective functions causes the number of

efficient solutions in the population to increase. Then, when the majority of the

solutions tend to have rank equal to 1, PRBMO would become, more or less,

a uniform mutation operator that depends only on the iteration number. But, in

spite of this, our operator PRBMO can still be considered better than the others,

as we will see in the following paragraph and comments on problems R-DTLZ2

and S-DTLZ3. Examining Table 8 (bottom), the following data can be revealed.

The four operators with 100 iterations and selection S3 perform clearly better

than PRBMO (triplets (−,−,−) and (−,+,−)). Besides, the operator RMO

with 100 iterations and S2, and PMO with 500 iterations and S3 obtain slightly

better results than PRBMO (triplets (−,=,=)). For the remaining thirty cases,

in three of them PRBMO shows a similar behaviour to the others (triplets (=

,=,=) or (+,−,=)) and in twenty-seven the performance of PRBMO is the

best one (triplets with two or three no signs and none ‘−’ signs).

R-DTLZ2 For the rotated version of DT LZ2 we can observe in Table 9 (top) that

only operator GMO performs better than PRBMO and, in only two situa-

tions, with selection S1 with 500 and 1000 iterations. Furthermore, PRBMO ex-

hibits an equivalent behaviour to NUMO in one scenario, which corresponds to

1000 iterations with selection S1, (+,−,=). For the remaining thirty-three cases

PRBMO outperforms the others in thirty of them and PRBMO is slightly bet-

ter in three (two ‘=’ signs and one no sign).

S-DTLZ3 For this problem, in Table 9 (bottom) PRBMO shows better values than

PMO and GMO in all scenarios. Regarding RMO , PRBMO performs con-

siderably better in all scenarios except for S1 and S3 with 100 iterations in which

the behaviour of PRBMO is slightly better; for selection S2 also with 100 itera-

tions where PRBMO and RMO show an equivalent behaviour; and when 1000

iterations are considered with selection S3, in which RMO beats PRBMO . Fi-

nally, for NUMO we have to point out the following facts, PRBMO beats

NUMO except for 100 iterations with S3 and 1000 iterations with S1, in which

they are equivalent, and for S3 with 1000 iterations, in which NUMO is better

than PRBMO . Globally we can state that PRBMO shows a better behaviour

except for two cases in which it is worse than RMO and NUMO , and three

cases in which PRBMO is equivalent to RMO and NUMO .

Next, in order to establish some global considerations, in Table 10 we show a

summary of all the previous results. We present a row for each problem. In each row

we show, for each operator and number of iterations, the global result obtained with

selection S1, S2 and S3, respectively. For instance, in the row corresponding to S-

ZDT1 in the third column, corresponding to operator NUMO , we have (+,=,+),

which means that our operator performs better than NUMO in the problem S-ZDT1

with 100 iterations and selection S1 and S3, and they both perform in an equivalent

way when 100 iterations and selection S2 is considered. The values of the measures,

Page 169: Herramientas Para Algoritmos Evolutivos Multi Objetivo

150 Apendice A.4 A mutation operator ...

A mutation operator based on a Pareto ranking for multi-objective

Tab

le10

Sum

mar

yof

resu

lts.

For

each

pro

ble

m,

num

ber

of

iter

atio

ns

and

oper

ator,

thre

esi

gns

appea

r.T

he

firs

tone

corr

esponds

toS

1,

the

seco

nd

one

toS

2an

dth

eth

ird

one

toS

3.

Asi

gn

‘+’

repre

sents

that

our

oper

ator

obta

ins

bet

ter

resu

lts

for

that

scen

ario

,an

‘=’

sign

repre

sents

that

the

corr

espondin

goper

ator

and

PR

BM

Oar

eeq

uiv

alen

t

and

a‘−

’si

gn

repre

sents

that

our

oper

ator

isnot

bet

ter

than

the

oth

er

Num

ber

of

iter

atio

ns

100

500

1000

Pro

ble

mR

MO

NU

MO

PM

OG

MO

RM

ON

UM

OP

MO

GM

OR

MO

NU

MO

PM

OG

MO

S-Z

DT

1+

++

+=

++

++

++

++

++

++

=+

++

++

++

++

++

++

++

++

+

S-Z

DT

2+

++

++

++

++

++

++

++

++

++

++

++

++

++

++

++

++

++

+

S-Z

DT

4+

++

++

++

++

++

++

++

++

++

++

++

++

++

++

++

++

++

+

R-Z

DT

4+

++

++

=+

++

++

++

++

++

=+

++

++

++

++

++

=+

++

++

+

S-Z

DT

6+

++

++

++

++

++

++

++

++

++

++

++

++

++

++

++

++

++

+

S-D

TL

Z2

=−

−+

=−

++

−+

+−

++

++

++

++

−+

++

++

+=

++

++

++

++

R-D

TL

Z2

++

++

++

++

++

++

++

++

++

++

+−

++

++

+=

++

++

+−

++

S-D

TL

Z3

+=

++

+=

++

++

++

++

++

++

++

++

++

++

−=

+−

++

++

++

Page 170: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.4 A mutation operator ... 151

P.M. Mateo, I. Alberto

HD, GD and C, for these scenarios, see Table 6, were (+,=,=) and (+,+,+) for

S1 and S3, respectively, and (=,=,=) for S2.

Globally, for all the operators we can establish that PRBMO generally performs

better than the other operators. There is only one scenario, 100 iterations and selection

S3, with only one problem, S-DTLZ2, in which all the operators simultaneously beat

PRBMO . In the remaining cases, this situation never happens; in some cases an ‘=’

or a ‘−’ sign appears but only for some operators. If we had to select one operator

among the competitors that faces up our operator it would be very difficult or even

impossible. It can be observed that RMO together NUMO with 100 iterations are

those having more ‘=’ and ‘−’ signs, four and five, respectively, in total against only

one of PMO and GMO . When 500 iterations are considered, the earlier situation

vanishes a little, PRBMO beats RMO in all cases and NUMO maintains two

situations in which it is equivalent to PRBMO . Finally, when 1000 iterations are

considered, it can be pointed out that NUMO in the problems with three objective

functions S-DTLZ2, R-DTLZ2 and S-DTLZ3 is the only one that tries to face up to

PRBMO obtaining three ‘=’ signs and one ‘−’ sign.

To conclude the comments on this experiment and to obtain a more difficult situ-

ation for our operator, we would like to remark that, if we redefine the codification

of Table 10 in such a way that when a ‘−’ sign means that for the scenario there is

at least one measure, among HD, GD and C, in which PRBMO is not the best

(instead of in function of the difference between ‘+’ and ‘−’ signs), and a sign ‘=’

corresponds uniquely to the situation of having statistical equal values in HD, GD

and C, and a ‘+’ sign otherwise, then only four changes would appear in the table:

Three of them in NUMO with 1000 iterations with problems S-DTLZ2, R-DTLZ2

and S-DTLZ3 where the results would be (−,−,+), (−,+,+) and (−,+,−) in-

stead of (=,+,+), (=,+,+) and (=,+,−); and the other case in GMO also with

1000 iterations and problem S-DTLZ3 where the results would be (+,−,+) instead

of (+,+,+).

We will now continue with the comments for the second experiment. This experi-

ment compares the well-known algorithm NSGA-II in its original version by Deb et

al. (2002a) against a second version in which the original mutation operator has been

replaced by our mutation operator PRBMO , which we will call NSGA-IIPRBMO .

As we have established before, the experiment considers three scenarios, obtained

by means of varying the number of iterations among the values 100, 500 and 1000.

The same statistical tests as before have been carried out in order to compare the two

versions of the algorithm.

Since the tables that correspond to this experiment had only three ‘=’ signs, all

the others being ‘+’ signs, these tables are not going to be shown, but their results

will be commented on here. More concretely, our implementation of NSGA-II has

shown a statistically superior behaviour for all the measures except for HD and C

with 500 iterations, and HD with 1000 iterations, all in problem R-ZDT4, in which

the three ‘=’ signs are obtained.

Instead of the tables, we show Figs. 5, 6 and 7. In Figs. 5 and 6, for each prob-

lem, the box-plot of the values of the corresponding measure obtained with NSGA-

IIPRBMO are on the left, and those obtained with the original version of NSGA-

II are on the right. Bear in mind that for measures HD and GD the smaller the

Page 171: Herramientas Para Algoritmos Evolutivos Multi Objetivo

152 Apendice A.4 A mutation operator ...

A mutation operator based on a Pareto ranking for multi-objective

Fig. 5 Box-plots of the hypervolume difference (HD) for each problem and scenario. For each pair, on

the left NSGA-IIPRBMO and on the right NSGA-II

Fig. 6 Box-plots of the generational distance (GD) for each problem and scenario. For each pair, on the

left NSGA-IIPRBMO and on the right NSGA-II .

value is, the better the algorithm performs. Then, it can be observed that the medi-

ans of HD and GD (printed with a horizontal line across the box) are smaller those

obtained with NSGA-IIPRBMO . In Fig. 7, for each problem, on the left the box-

plot of C(NSGA-IIPRBMO ,NSGA-II ) is placed and on the right the box-plot of

Page 172: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.4 A mutation operator ... 153

P.M. Mateo, I. Alberto

Fig. 7 Box-plots of coverage C(NSGA-IIPRBMO ,NSGA-II ) on the left and C(NSGA-II,

NSGA-IIPRBMO ) on the right for each problem and scenario

C(NSGA-II,NSGA-IIPRBMO). The NSGA-IIPRBMO implementation is better

than the original one if the box-plot on the left is above the box-plot on the right.

Paying attention to the medians, we are interested in having a higher median on the

left than on the right, as it can be confirmed in the figure.

In the light of the experiments accomplished and the results reported, we can con-

clude that the new operator PRBMO has clearly a better behaviour in the consid-

ered suite of test problems. It works better than some of the existing usual mutation

operators in the literature and makes the performance of an important algorithm as

NSGA-II become highly improved.

6 Conclusions and further research

In this work, we have proposed a new mutation operator that considers the ‘quality’

of the solution (Pareto layer to which it belongs) and the iteration number to modulate

its step size. We have compared it with four standard mutation operators and we have

used it to re-implement a well-known multiobjective genetic algorithm, NSGA-II .

From the experiments carried out, it follows that our new operator behaves better

than the usual ones for the selected test problems in both experiments. Except for

some scenarios in the first experiment, the operator PRBMO obtains better values

of the measures considered (hypervolume difference, generational distance and set

coverage) than the other operators. Additionally, the NSGA-II implementation us-

ing our mutation operator performs clearly better than the original one on the test

problems we have evaluated.

Page 173: Herramientas Para Algoritmos Evolutivos Multi Objetivo

154 Apendice A.4 A mutation operator ...

A mutation operator based on a Pareto ranking for multi-objective

Considering the crossover operator proposed by the authors in Alberto and Mateo

(2009) and this operator, the next step we will be carrying out is a study of some of

the well-established algorithms in the literature, as for instance NSGA-II by Deb

et al. (2002a), SPEA2 by Zitzler et al. (2001), etc., by substituting the operators pro-

posed by their authors with our operators and some of the currently most promising

operators as those based on Differential Evolution for Multi-Objective Optimisation.

This approach was first introduced for uniobjective optimisation problems by Storn

and Price (1995) and subsequently adapted for MOOPs. An updated survey can be

found in Mezura-Montes et al. (2008). Partial results of this work under process were

presented in SPO09 by Alberto and Mateo (2011), in which very promising results

were found.

Acknowledgements This research work has been supported by the Spanish Ministry of Education and

Science under grant MTM2007-66893.

The authors are grateful to both the editor and referees for their comments and suggestions, which

greatly improved the presentation of this paper.

References

Abbass, H.A., Sarker, R.: The Pareto differential evolution algorithm. Int. J. Artif. Intell. Tools 11(4),

531–552 (2002)

Alberto, I., Mateo, P.M.: A crossover operator that uses Pareto optimality in its definition. TOP

doi:10.1007/s11750-009-0082-7 (2009)

Alberto, I., Mateo, P.M.: Re-implementing NSGA-II and SPEA2 using operators based on Pareto ranking.

In: Proceedings of the Pyrenees International Workshop and Summer School on Statistics, Probability

and Operations Research, (SPO09), Prensas Universitarias de Zaragoza, Zaragoza (2011)

Beyer, H.G., Schwefel, H.P.: Evolution strategies. A comprehensive introduction. Nat. Comput. 1, 3–52

(2002)

Casella, G., Berger, R.L.: Statistical inference, 2nd edn. In: Duxbury Advanced Series, Pacific Grove,

California (2002)

CEC (2007) Special session and competition on performance assessment of multi-objective optimization

algorithms. http://www3.ntu.edu.sg/home/epnsugan/ (2007). Accessed August 2008

Chen, M.R., Lu, Y.Z.: A novel elitist multiobjective optimization algorithm: Multiobjective extremal opti-

mization. Eur. J. Oper. Res. 188, 637–651 (2008)

Coello, C.A.: EMOO repository (Online). http://delta.cs.cinvestav.mx/~ccoello/EMOO/ (2009). Accessed

October 2009

Coello, C.A., Lamont, G.B., Van Veldhuizen, D.A.: Evolutionary Algorithms for Solving Multi-Objective

Problems, 2nd edn. Springer, Berlin (2007)

Deb, K.: Multi-Objective Optimization Using Evolutionary Algorithms. Wiley, Chichester (2001)

Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: NSGA-

II. IEEE Trans. Evol. Comput. 6(2), 182–197 (2002a)

Deb, K., Thiele, L., Laumanns, M., Zitzler, E.: Scalable multi-objective optimization test problems. In:

Proceedings of the Congress on Evolutionary Computation CEC’2002, vol. 1, pp. 825–830. IEEE

Press, Piscataway (2002b)

Deb, K., Goyal, M.: A Combined genetic adaptive search (GeneAS) for engineering design. Comput. Sci.

Inf. 26(4), 30–45 (1996)

Deep, K., Thakur, M.: A new mutation operator for real coded genetic algorithms. Appl. Math. Comput.

193, 211–230 (2007)

Dong, H., He, J., Huang, H., Hou, W.: Evolutionary programming using mixed mutation strategy. Inf. Sci.

177, 312–327 (2007)

Eiben, A.E., Smith, J.E.: Introduction to Evolutionary Computing, 2nd edn. printing. Springer, Berlin

(2007)

Page 174: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice A.4 A mutation operator ... 155

P.M. Mateo, I. Alberto

Fonseca, C.M., Paquete, L., Lopez-Ibanez, M.: An improved dimension-sweep algorithm for the hypervol-

ume indicator. In: Congress on Evolutionary Computation CEC’2006, pp. 1157–1163. IEEE Press,

Vancouver (2006a)

Fonseca, C.M., Paquete, L., Lopez-Ibanez, M.: Computation of the hypervolume indicator, codes.

http://sbe.napier.ac.uk/~manuel/hypervolume (2006b). Accessed August 2008

Fonseca, C.M., Fleming, P.J.: Genetic algorithms for multi-objective optimization: formulation, discussion

and generalization. In: Forrest, S. (ed.) Genetic Algorithms: Proceedings of the Fifth International

Conference, pp. 416–423. Morgan Kaufmann, San Mateo (1993)

Fu, J., Liu, Q., Zhou, X., Xiang, K., Zeng, Z.: An adaptive variable strategy Pareto differential evolution

algorithm for multi-objective optimization. In: Proceedings of the Congress on Evolutionary Com-

putation (CEC08), pp. 648–652. IEEE Press, Vancouver (2008)

Goldberg, D.E.: Genetic Algorithms in Search, Optimization and Machine Learning. Addison–Wesley,

Reading (1989)

Gomes, A., Antunes, C.H., Martins, A.G.: Design of an adaptive mutation operator in an electrical load

management case study. Comput. Oper. Res. 35, 2925–2936 (2008)

Holland, J.H.: Adaptation in Natural and Artificial Systems. University of Michigan Press, Ann Arbor

(1975)

Huang, V.L., Qin, A.K., Deb, K., Zitzler, E., Suganthan, P.N., Liang, J.J., Preuss, M., Huband, S.: Prob-

lem Definitions for Performance Assessment on Multiobjective Optimization Algorithms. Nanyang

Technological University, Singapore (2007a). Tech. Rep. CEC-TR2007

Huang, V.L., Qin, A.K., Suganthan, P.N., Tasgetire, M.F.: Multi-objective optimization based on self adap-

tive differential evolution algorithm. In: Proceedings of the Congress on Evolutionary Computation

(CEC07), pp. 3601–3608. (2007b)

Knowles, J., Corne, D.: Approximating the nondominated front using the Pareto archived evolution strat-

egy. Evol. Comput. 8(2), 149–172 (2000)

Larrañaga, P., Lozano, J.A.: Estimation of Distribution Algorithms: a New Tool for Evolutionary Compu-

tation. Kluwer, Norwell (2002)

Mezura-Montes, E., Reyes-Sierra, M., Coello, C.A.: Multi-objective optimization using differential evolu-

tion: a survey of the state-of-the-art. In: Chakraborty, U.K. (ed.) Advances in Differential Evolution,

pp. 173–196. Springer, Berlin (2008)

Michalewicz, Z.: Genetic Algorithms + Data Structures = Evolution Programs, 3rd edn. Springer, Berlin

(1996)

Oliveto, P.S., Lehre, P.K., Neumann, F.: Theoretical analysis of rank-based mutation – combining explo-

ration and exploitation. In: Proceedings of the Congress on Evolutionary Computation (CEC09), pp.

1455–1462 (2009)

Pant, M., Ali, M., Abraham, A.: Mixed mutation strategy embedded differential evolution. In: Proceedings

of the Congress on Evolutionary Computation (CEC09), pp. 1240–1246 (2009)

Schaffer, J.D.: Multiple objective optimization with vector evaluated genetic algorithms. PhD. thesis, Van-

derbilt University, Nashville, Tennessee (1984)

Schaffer, J.D.: Multiple objective optimization with vector evaluated genetic algorithms. In: Grefenstette,

J.J. (ed.) Genetic Algorithms and their Applications, Proceedings of the First International Confer-

ence on Genetic, pp. 93–100. Lawrence Erlbaum, Hillsdale (1985)

Schwefel, H.P.: Numerical Optimization of Computer Models. Wiley, New York (1981)

Schwefel, H.P.: Evolution and Optimal Seeking. Wiley, New York (1995)

Storn, R., Price, K.: Differential evolution – a simple and efficient adaptive scheme for global optimization

over continuous spaces, pp. 1–12. International Computer Science, Berkeley (1995). Tech. Rep. TR-

95-12

Teo, J., Hijazi, H.A., Omar, Z.A., Nohamad, R., Hamid, Y.: Harnessing Mutational diversity at multiple

levels for improving optimization accuracy in G3-PCX. In: Proceedings of the Congress on Evolu-

tionary Computation (CEC07), pp. 4502–4507 (2007)

Van Veldhuizen, D.A., Lamont, G.B.: On measuring multiobjective evolutionary algorithm performance.

In: 2000 Congress on Evolutionary Computation, vol. 1, pp. 204–211. IEEE Service Centre, Piscat-

away (2000)

Xing, L.N., Chen, Y.W., Yang, K.W.: A novel mutation operator base on the immunity operation. Eur. J.

Oper. Res. 197, 830–833 (2009)

Xue, F., Sanderson, A.C., Graves, R.: Multi-objective differential evolution – algorithm, convergence

analysis, and applications. In: Proceedings of the Congress on Evolutionary Computation (CEC05),

pp. 743–750 (2005)

Page 175: Herramientas Para Algoritmos Evolutivos Multi Objetivo
Page 176: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Apendice B

Indices de impacto

Las revistas en las que han sido publicados los artıculos que componen lamemoria son las siguientes:

• European Journal of Operational Research. Categorıa: Operationsresearch and management science, posicion 10 de 73. Indice de impacto2009: 2.093, Figura B.1, pagina 158.

• TOP. Categorıa: Operations research and management science, posicion47 de 73. Indice de impacto 2009: 0.865, Figura B.2, pagina 159.

• Journal of Heuristics. Categorıa: Computer science, artificial intel-ligence, posicion 58 de 103. Categorıa: Computer science: theory andmethods, posicion 35 de 92. Indice de impacto 2009: 1.264, Figuras B.3,pagina 160 y B.4, pagina 161.

157

Page 177: Herramientas Para Algoritmos Evolutivos Multi Objetivo

158 Apendice B. Indices de impacto

2009 JCR Science Edition

Journal Summary List Journal Title Changes

Journals from: subject categories OPERATIONS RESEARCH & MANAGEMENT SCIENCE

Sorted by: Impact Factor

Journals 1 - 20 (of 73) [ 1 | 2 | 3 | 4 ] Page 1 of 4

Ranking is based on your journal and sort selections.

Mark Rank

Abbreviated Journal

Title (linked to journal

information)

ISSN

JCR Data EigenfactorTM Metrics

Total

Cites

Impact

Factor

5-Year

ImpactFactor

Immediacy

IndexArticles

Cited

Half-life

EigenfactorTM

Score

Article

InfluenceTM

Score

1 J OPER MANAG0272-

69633029 3.238 4.178 0.645 31 7.9 0.00576 1.120

2 OMEGA-INT J MANAGE S0305-

04832510 3.101 3.235 0.653 95 8.2 0.00468 0.767

3 EXPERT SYST APPL0957-

41745421 2.908 3.162 0.394 1385 3.0 0.00987 0.403

4 DECIS SUPPORT SYST0167-

92363376 2.622 2.842 0.269 119 5.6 0.00884 0.683

5 TECHNOVATION0166-

49721747 2.466 2.126 0.306 72 5.0 0.00375 0.386

6 TRANSPORT RES B-METH0191-

26153084 2.268 3.187 0.492 65 9.1 0.00733 1.319

7 MANAGE SCI0025-

190920103 2.227 4.125 0.277 141 >10.0 0.03492 2.438

8 M&SOM-MANUF SERV OP1523-

4614950 2.149 0.429 42 6.5 0.00588

9 COMPUT OPER RES0305-

05485033 2.116 2.443 0.351 271 5.9 0.01778 0.846

10 EUR J OPER RES0377-

221722478 2.093 2.599 0.417 729 8.3 0.05100 0.799

11 PROD OPER MANAG1059-

14781191 2.080 2.806 0.156 45 6.3 0.00533 1.273

12 INT J PROD ECON0925-

52736120 2.068 2.736 0.355 321 5.9 0.01361 0.595

13 MATH PROGRAM0025-

56106010 2.048 2.889 0.646 96 >10.0 0.01520 1.933

14 TRANSPORT RES E-LOG1366-

5545915 1.958 2.303 0.136 81 5.8 0.00349 0.834

15 RELIAB ENG SYST SAFE0951-

83203890 1.908 2.305 0.340 200 6.9 0.00938 0.645

16 SYST CONTROL LETT0167-

69114609 1.797 2.615 0.174 121 9.4 0.01501 1.250

17 OR SPECTRUM0171-

6468840 1.625 2.173 0.182 33 7.0 0.00266 0.788

18 OPER RES0030-

364X9661 1.576 2.671 0.268 112 >10.0 0.01434 1.664

19 J QUAL TECHNOL0022-

40652049 1.500 2.350 0.310 29 >10.0 0.00383 1.343

20 TRANSPORT SCI0041-

16552884 1.479 3.596 0.088 34 >10.0 0.00581 1.526

Journals 1 - 20 (of 73) [ 1 | 2 | 3 | 4 ] Page 1 of 4

Page 1 of 2JCR-Web 4.5 Journal Summary List

31/01/2011http://sauwok.fecyt.es/admin-apps/JCR/JCR

Figura B.1: European Journal of Operational Research.

Page 178: Herramientas Para Algoritmos Evolutivos Multi Objetivo

159

2009 JCR Science Edition

Journal Summary List Journal Title Changes

Journals from: subject categories OPERATIONS RESEARCH & MANAGEMENT SCIENCE

Sorted by: Impact Factor

Journals 41 - 60 (of 73) [ 1 | 2 | 3 | 4 ] Page 3 of 4

Ranking is based on your journal and sort selections.

Mark Rank

Abbreviated Journal

Title

(linked to journal

information)

ISSN

JCR Data EigenfactorTM Metrics

Total

Cites

Impact

Factor

5-Year

Impact

Factor

Immediacy

IndexArticles

Cited

Half-

life

EigenfactorTM

Score

Article

InfluenceTM

Score

41 CONCURRENT ENG-RES A1063-

293X354 0.959 1.132 0.000 23 6.7 0.00066 0.247

42 OPTIM LETT1862-

447290 0.926 0.938 0.264 53 0.00072 0.429

43 DISCRETE EVENT DYN S0924-

6703277 0.921 1.024 0.150 20 7.8 0.00087 0.491

44 INT J SYST SCI0020-

77211666 0.918 0.944 0.108 111 9.8 0.00264 0.283

45 INT J FLEX MANUF SYS0920-

6299366 0.903 1.365 0 9.4 0.00061 0.396

46 OPTIM METHOD SOFTW1055-

6788682 0.866 0.969 0.500 52 7.0 0.00338 0.636

47 TOP1134-

5764166 0.865 0.000 24 6.5 0.00076

48 NAV RES LOG0894-

069X2615 0.847 1.249 0.074 54 >10.0 0.00476 0.722

49 INTERFACES0092-

21021552 0.838 1.267 0.027 37 >10.0 0.00216 0.533

50 IEEE SYST J1932-

818455 0.825 0.825 0.062 48 0.00054 0.414

51 INT J PROD RES0020-

75436950 0.803 1.363 0.077 338 9.5 0.01014 0.348

52 4OR-Q J OPER RES1619-

4500130 0.750 0.000 31 4.2 0.00124

53 INFOR0315-

5986454 0.738 0.843 >10.0 0.00072 0.338

54 PROD PLAN CONTROL0953-

72871145 0.730 1.151 0.000 58 8.1 0.00216 0.321

55 DISCRETE OPTIM1572-

5286179 0.729 0.051 39 4.0 0.00187

56 OPER RES LETT0167-

63771962 0.681 1.049 0.096 94 >10.0 0.00683 0.620

57 PROBAB ENG INFORM SC0269-

9648483 0.676 0.966 0.118 34 8.5 0.00257 0.706

58 QUEUEING SYST0257-

01301279 0.660 1.103 0.065 46 >10.0 0.00435 0.826

59 INT J COMPUT INTEG M0951-

192X674 0.659 0.997 0.079 76 6.2 0.00159 0.238

60 OPTIMIZATION0233-

1934797 0.616 0.915 0.177 62 >10.0 0.00267 0.605

Journals 41 - 60 (of 73) [ 1 | 2 | 3 | 4 ] Page 3 of 4

Page 1 of 2JCR-Web 4.5 Journal Summary List

31/01/2011http://sauwok.fecyt.es/admin-apps/JCR/JCR?RQ=LIST_SUMMARY_JOURNAL&c...

Figura B.2: TOP.

Page 179: Herramientas Para Algoritmos Evolutivos Multi Objetivo

160 Apendice B. Indices de impacto

2009 JCR Science Edition

Journal Summary List Journal Title Changes

Journals from: subject categories COMPUTER SCIENCE, ARTIFICIAL INTELLIGENCE

Sorted by: Impact Factor

Journals 41 - 60 (of 103) [ 1 | 2 | 3 | 4 | 5 | 6 ] Page 3 of 6

Ranking is based on your journal and sort selections.

Mark Rank

Abbreviated Journal

Title

(linked to journal

information)

ISSN

JCR Data EigenfactorTM Metrics

Total

Cites

Impact

Factor

5-Year

Impact

Factor

Immediacy

IndexArticles

Cited

Half-

life

EigenfactorTM

Score

Article

InfluenceTM

Score

41 MACH LEARN0885-

61257305 1.663 4.099 0.896 48 >10.0 0.00768 1.740

42 ARTIF INTELL MED0933-

36571475 1.645 2.447 0.286 56 6.7 0.00349 0.653

43 NETWORK-COMP NEURAL0954-

898X792 1.536 2.049 0.000 11 8.9 0.00149 0.871

44 AUTON AGENT MULTI-AG1387-

2532551 1.510 2.342 0.258 31 6.0 0.00125 0.528

45 IMAGE VISION COMPUT0262-

88562926 1.474 1.767 0.286 161 6.7 0.00782 0.592

46 ENG APPL ARTIF INTEL0952-

19761483 1.444 1.800 0.234 124 5.4 0.00436 0.459

47 NEUROCOMPUTING0925-

23124108 1.440 1.459 0.240 400 4.9 0.01156 0.351

48 J MATH IMAGING VIS0924-

99071074 1.437 2.467 0.246 61 5.4 0.00662 1.229

49 ACM T AUTON ADAP SYS1556-

4665114 1.364 2.707 0.143 21 3.1 0.00076 0.892

50 ROBOT AUTON SYST0921-

88901526 1.361 1.650 0.130 115 6.5 0.00383 0.451

51 SOFT COMPUT1432-

76431096 1.328 1.405 0.755 98 3.8 0.00431 0.403

52 INT J INF TECH DECIS0219-

6220322 1.312 1.379 0.133 30 3.6 0.00076 0.180

53 KNOWL-BASED SYST0950-

7051933 1.308 1.406 0.139 79 6.3 0.00177 0.270

54 PATTERN RECOGN LETT0167-

86554545 1.303 1.772 0.088 171 6.4 0.01310 0.560

55 CONSTRAINTS1383-

7133307 1.297 1.667 0.350 20 6.4 0.00102 0.603

56 PATTERN ANAL APPL1433-

7541471 1.293 1.627 0.094 32 5.8 0.00136 0.437

57 J CHEMOMETR0886-

93832095 1.291 1.859 0.441 68 7.9 0.00375 0.588

58 J HEURISTICS1381-

1231764 1.264 1.728 0.440 25 8.1 0.00185 0.713

59 AUTON ROBOT0929-

55931215 1.235 2.080 0.175 40 7.5 0.00269 0.646

60 EXPERT SYST0266-

4720332 1.231 1.153 0.467 30 6.2 0.00059 0.241

Journals 41 - 60 (of 103) [ 1 | 2 | 3 | 4 | 5 | 6 ] Page 3 of 6

Page 1 of 2JCR-Web 4.5 Journal Summary List

31/01/2011http://sauwok.fecyt.es/admin-apps/JCR/JCR?RQ=LIST_SUMMARY_JOURNAL&c...

Figura B.3: Journal of Heuristics.

Page 180: Herramientas Para Algoritmos Evolutivos Multi Objetivo

161

2009 JCR Science Edition

Journal Summary List Journal Title Changes

Journals from: subject categories COMPUTER SCIENCE, THEORY & METHODS

Sorted by: Impact Factor

Journals 21 - 40 (of 92) [ 1 | 2 | 3 | 4 | 5 ] Page 2 of 5

Ranking is based on your journal and sort selections.

Mark Rank

Abbreviated Journal

Title

(linked to journal

information)

ISSN

JCR Data EigenfactorTM Metrics

Total

Cites

Impact

Factor

5-Year

Impact

Factor

Immediacy

IndexArticles

Cited

Half-

life

EigenfactorTM

Score

Article

InfluenceTM

Score

21 INT J INF SECUR1615-

5262168 1.681 0.129 31 3.1 0.00086

22 IEEE MULTIMEDIA1070-

986X711 1.661 2.020 0.188 32 6.8 0.00192 0.611

23 SIAM J COMPUT0097-

53975451 1.614 1.938 0.407 54 >10.0 0.01192 1.262

24 PERFORM EVALUATION0166-

53161154 1.560 1.516 0.120 50 6.8 0.00352 0.525

25 DISTRIB COMPUT0178-

2770539 1.508 1.653 0.067 15 8.5 0.00166 0.677

26 IMAGE VISION COMPUT0262-

88562926 1.474 1.767 0.286 161 6.7 0.00782 0.592

27 THEOR PRACT LOG PROG1471-

0684250 1.467 1.518 0.200 15 4.6 0.00131 0.571

28 ACM T AUTON ADAP SYS1556-

4665114 1.364 2.707 0.143 21 3.1 0.00076 0.892

29 J SYST SOFTWARE0164-

12121806 1.340 1.290 0.132 167 5.7 0.00562 0.370

30 INFORM SYST FRONT1387-

3326432 1.309 1.298 0.044 45 6.1 0.00066 0.198

31 J COMPUT SYST SCI0022-

00003279 1.304 1.628 0.267 30 >10.0 0.00663 0.962

32 CONSTRAINTS1383-

7133307 1.297 1.667 0.350 20 6.4 0.00102 0.603

33 IBM SYST J0018-

86701701 1.289 1.975 0 8.6 0.00185 0.376

34 INT J HIGH PERFORM C1094-

3420650 1.274 1.848 0.024 41 6.3 0.00241 0.702

35 J HEURISTICS1381-

1231764 1.264 1.728 0.440 25 8.1 0.00185 0.713

36 EXPERT SYST0266-

4720332 1.231 1.153 0.467 30 6.2 0.00059 0.241

37 J COMPLEXITY0885-

064X819 1.227 1.305 0.270 37 7.5 0.00466 1.005

38 INFORM COMPUT0890-

54014497 1.225 1.376 0.152 66 >10.0 0.00336 0.502

39 ACM T COMPUT LOG1529-

3785404 1.212 0.486 35 4.8 0.00224

40 REAL-TIME SYST0922-

6443520 1.200 1.397 0.136 22 7.9 0.00118 0.416

Journals 21 - 40 (of 92) [ 1 | 2 | 3 | 4 | 5 ] Page 2 of 5

Page 1 of 2JCR-Web 4.5 Journal Summary List

03/05/2011http://sauwok.fecyt.es/admin-apps/JCR/JCR?RQ=LIST_SUMMARY_JOURNAL&c...

Figura B.4: Journal of Heuristics.

Page 181: Herramientas Para Algoritmos Evolutivos Multi Objetivo
Page 182: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Bibliografıa

Abbass H.A. and Sarker R. (2002) The Pareto Differential Evolution Algo-rithm. Int. J. Artif. Intell. T. 11(4), 531–552.

Alberto I. and Mateo P.M. (2009a) A crossover operator that uses ParetoOptimality in its definition. TOP. doi:10.1007/s11750-009-0082-7

Alberto I. and Mateo P.M. (2008) Using Pareto Optimality for Defining theMutation Operator Step Size. Technical Report. In: Prepublicaciones delSeminario Matematico Garcıa Galdeano, University of Zaragoza, 8, 1–19.

Alberto I. and Mateo P.M. (2009b) Re-implementing NSGA-II and SPEA2using operators based on Pareto ranking. In: Proceedings of the PyreneesInternational Workshop and Summer School on Statistics, Probability andOperations Research, (SPO09), to appear.

Alberto I., Azcarate C., Mallor F. and Mateo P.M. (2002) Optimization withsimulation and multiobjective analysis in industrial decision-making: A casestudy. European Journal of Operational Research, 140(2), 373–383.

Back T. and Schwefel H.P. (1995) Evolution strategies I: Variants and theircomputational implementation. In: Winter, G., Periaux, J., Galan, M., Cues-ta, P. (Eds.), Genetic Algorithms in Engineering and Computer Science,Proceedings of 1st Short Course EUROGEN-95. Wiley, New York, 111–126.

Beyer H.G. and Schwefel H.P. (2002) Evolution strategies. A comprehensiveintroduction. Nat. Comput. 1, 3–52.

Casella G. and Berger, R.L. (2002) Statistical Inference, 2nd edn. DuxburyAdvanced Series, Pacific Grove, California.

CEC (2007) Special Session and Competition on Performance Assess-ment of Multi-Objective Optimization Algorithms. Available in web pagehttp://www3.ntu.edu.sg/home/epnsugan/. Accessed August 2008.

Chen M.R. and Lu Y.Z. (2008) A novel elitist multiobjective optimizationalgorithm: Multiobjective extremal optimization. Eur. J. Oper. Res. 188,637–651.

163

Page 183: Herramientas Para Algoritmos Evolutivos Multi Objetivo

164 Bibliografıa

Coello CA (2005) Recent Trends in Evolutionary Multiobjective Optimization.In: Abraham A, Jain L and Goldberg R (eds) Evolutionary MultiobjectiveOptimization: Theoretical Advances And Applications, Springer, London,7–32.

Coello CA (2008) EMOO Repository (Online). Available inhttp://delta.cs.cinvestav. mx/˜ccoello/EMOO/. Accessed September2008.

Coello C.A.: EMOO Repository (Online). http://delta.cs.cinvestav.mx/˜ccoello/EMOO/ (2009). Accessed October 2009.

Coello C.A., Lamont G.B. and Van Veldhuizen, D.A. (2007) EvolutionaryAlgorithms for Solving Multi-Objective Problems, 2nd edn. Springer, Berlin.

Deb K. (2001) Multi-Objective Optimization Using Evolutionary Algorithms.John Wiley and Sons, Chichester.

Deb K. and Agrawal S. (1995) Simulated binary crossover for continuous searchspace. Complex systems 9(2):115–148.

Deb K. and Goyal M. (1996) A Combined Genetic Adaptive Search (GeneAS)for Engineering Design. Computer Sci. Inform. 26(4), 30–45.

Deb K., Pratap A., Agarwal S. and Meyarivan, T. (2002a) A Fast and Eli-tist Multiobjective Genetic Algorithm: NSGA-II. IEEE T. Evolut. Comput.6(2), 182–197.

Deb K., Thiele L. Laumanns, M. and Zitzler, E. (2002b) Scalable multi-objective optimization test problems. In: Proceedings of the Congress onEvolutionary Computation CEC’2002 (Vol. 1), 825–830. IEEE Press, Pis-cataway, New Jersey.

Deep K. and Thakur M. (2007) A new mutation operator for real coded geneticalgorithms. Appl. Math. Comput. 193, 211-230.

Dong H., He J., Huang H. and Hou W. (2007) Evolutionary programmingusing mixed mutation strategy. Inf. Sci. 177, 312–327.

Eiben A.E. and Smith J.E. (2007) Introduction to Evolutionary Computing,2nd printing. Springer, Berlin.

Eshelman L.J.K. and Schaffer J.D. (1993) Real-coded genetic algorithms andinterval-schemata. In: Whitley LD (ed) Foundations of Genetic AlgorithmsII, Morgan Kaufmann Publishers, Los Altos, California, 187–202.

Fieldsend J.E., Everson R.M and Singh S. (2003) Using unconstrained elitearchives for multiobjective optimization, IEEE TRansactions on Evolution-ary Computation 7, 305–323.

Page 184: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Bibliografıa 165

Fonseca C.M. and Fleming P.J. (1993) Genetic Algorithms for Multi-ObjectiveOptimization: Formulation, Discussion and Generalization. In: Forrest, S.(ed) Genetic Algorithms: Proceedings of the Fifth International Conference,416–423. Morgan Kaufmann Publishers, San Mateo, California.

Fonseca C.M., Paquete L. and Lopez-Ibanez M. (2006a) An improveddimension-sweep algorithm for the hypervolume indicator. In: Congress onEvolutionary Computation CEC’2006, 1157–1163. IEEE Press, Vancouver,Canada.

Fonseca C.M., Paquete L. and Lopez-Ibanez M. (2006b)Computation of the Hypervolume Indicator, codes.http://sbe.napier.ac.uk/ manuel/hypervolume. Accessed August 2008.

Fu J., Liu Q., Zhou X., Xiang K. and Zeng, Z. (2008) An Adaptive VariableStrategy Pareto Differential Evolution Algorithm for Multi-Objective Op-timization. In: Proceedings of the Congress on Evolutionary Computation(CEC08), 648–652. IEEE Press.

Goldberg D.E. (1989) Genetic Algorithms in Search, Optimization and Ma-chine Learning. Addison Wesley, Reading, Massachusetts.

Gomes A., Antunes C.H. and Martins, A.G. (2008) Design of an adaptivemutation operator in an electrical load management case study. Comput.Oper. Res. 35, 2925–2936.

Herrera F., Lozano M. and Verdegay J.L. (1998) Tackling Real-Coded Ge-neticAlgorithms: Operators and Tools for Behavioural Analysis. ArtificialIntelligence Review 12(4), 265–319.

Holland J.H. (1975) Adaptation in natural and artificial systems. Universityof Michigan press, Ann Arbor, Michigan.

Huang V.L., Qin A.K., Deb K., Zitzler E., Suganthan P.N., Liang J.J., PreussM., and Huband, S. (2007a) Problem definitions for performance assess-ment on multiobjective optimization algorithms. Tech. Rep. CEC-TR2007,Nanyang Technological University, Singapore.

Huang V.L., Qin A.K., Suganthan P.N. and Tasgetire M.F. (2007b) Multi-objective Optimization based on Self.adaptive Differential Evolution Al-gorithm. In: Proceedings of the Congress on Evolutionary Computation(CEC07), 3601–3608.

Huband S., Hingston P., Barone L. and While L. (2007) A review of multiob-jective test problems and a scalable test problem toolkit. IEEE Transactionson Evolutionary Computation 10(5), 477–506.

Page 185: Herramientas Para Algoritmos Evolutivos Multi Objetivo

166 Bibliografıa

Knowles J. and Corne D. (2000) Approximating the nondominated front usingthe pareto archived evolution strategy. Evol. Comput. 8(2), 149–172.

Kung, H.T., Luccio, F., Preparata, F.P. (1975) On Finding the Maxima ofVectors. Journal of the Association for Computing Machinery 22(4), 469–478.

Larranaga P. and Lozano J.A. (2002) Estimation of distribution algorithms: anew tool for evolutionary computation. Kluwer Academic Publishers, Nor-well, MA.

Mateo P.M. and Alberto I. (2011) A Mutation Operator based on a ParetoRanking for Multi-Objective Evolutionary Algorithms. Journal of Heuris-tics, DOI 10.1007/s10732-011-9156-4.

Mezura-Montes E., Reyes-Sierra M. and Coello C.A. (2008) Multi-ObjectiveOptimization using Differential Evolution: A Survey of the State-of-the-Art. In: Chakraborty UK (ed) Advances in Differential Evolution. Springer-Verlag, Berlin, 173–196.

Michalewicz Z. (1996) Genetic Algorithms + Data Structures = EvolutionPrograms. Third edition, Springer, Berlin.

Mostaghim S., Teich J. and Tyagi A. (2002) Comparison of data structuresfor storing Pareto-sets in MOEAs, in: Proceedings of World Congress onComputational Intelligence, 2002, 843–849.

Oliveto P.S., Lehre P.K. and Neumann F. (2009) Theoretical Analysis of Rank-based Mutation - Combining Exploration and Exploitation. In: Proceedingsof the Congress on Evolutionary Computation (CEC09), 1455–1462.

Pant M., Ali M. and Abraham A. (2009) Mixed Mutation Strategy Embed-ded Differential Evolution. In: Proceedings of the Congress on EvolutionaryComputation (CEC09), 1240–1246.

Schaffer J.D.(1984) Multiple Objective Optimization with Vector EvaluatedGenetic Algorithms. PhD. Thesis, Vanderbilt University, Nashville, Ten-nessee.

Schaffer J.D. (1985) Multiple Objective Optimization with Vector EvaluatedGenetic Algorithms. In: Grefenstette JJ (ed) Genetic Algorithms and theirApplications, Proceedings of the First International Conference on Genetic,93–100. Lawrence Erlbaum, Hillsdale, New Jersey.

Schwefel H.P. (1981) Numerical Optimization of Computer Models. Wiley,New York.

Schwefel H.P. (1995) Evolution and Optimal Seeking. Wiley, New York.

Page 186: Herramientas Para Algoritmos Evolutivos Multi Objetivo

Bibliografıa 167

Schwefel, H.P., Back, T. (1995) Evolution strategies II: Theoretical aspects.In: Winter G., Periaux J., Galan M. and Cuesta P. (Eds.), Genetic Al-gorithms in Engineering and Computer Science, Proceedings of 1st ShortCourse EUROGEN- 95. Wiley, New York, 127–140.

Shi C., Yan Z. Lu K., Shi Z. and Wang B. (2009) A domiance tree and its ap-plication in evolutionary multi-objective optimization, Information Sciences179, 3540–3560.

Storn R. and Price K. (1995) Differential Evolution - A simple and efficientadaptive scheme for global optimization over continuous spaces. Tech. Rep.TR-95-12, 1–12. International Computer Sicience, Berkeley, California.

Teo J., Hijazi H.A., Omar Z.A., Nohamad R. and Hamid Y. (2007) HarnessingMutational Diversity at Multiple Levels for Improving Optimization Accu-racy in G3-PCX. In: Proceedings of the Congress on Evolutionary Compu-tation (CEC07), 4502–4507.

Van Veldhuizen D.A. (1999) Multiobjective Evolutionary Algorithms: Classi-fications, Analyses, and New Innovations, Ph. D. Thesis, Dayton, OH: AirForce Institute of Tecnology, TR-AFIT/DS/ENG/99-01.

Van Veldhuizen D.A. and Lamont G.B. (2000) On Measuring MultiobjectiveEvolutionary Algorithm Performance. In 2000 Congress on EvolutionaryComputation, vol. 1, 204–211, IEEE Service Centre, Piscataway, New Jersey.

Wright A.H. (1991) Genetic algorithms for real parameter optimization. In:Rawlins GJE (ed) Foundations of Genetic Algorithms. Morgan KaufmannPublishers, San Mateo, California, 205–218.

Xing L.N., Chen Y.W. and Yang K.W. (2009) A novel mutation operator baseon the immunity operation. Eur. J. Oper. Res. 197, 830–833.

Xue F., Sanderson A.C. and Graves R. (2005) Multi-objective differential evo-lution - algorithm, convergence analysis, and applications. In: Proceedingsof the Congress on Evolutionary Computation (CEC05), 743–750.

Yang S.M., Shao D.G. and Luo Y.J. (2005) A novel evolution strategy formultiobjective optimization problem. App. Math. Comput. 170, 850–873.

Yuen S.Y. and Chow C.K. (2009a) Continuous Non-Revisiting Genetic Al-gorithm. In: Proceedings of the Congress on Evolutionary Computation(CEC09), 1896–1903.

Yuen S.Y. and Chow C.K. (2009b) A Genetic Algorithm That AdaptivelyMutates and Never Revisits. IEEE Trans. Evol. Comput. 13(2), 454–472.

Page 187: Herramientas Para Algoritmos Evolutivos Multi Objetivo

168 Bibliografıa

Zhang J., Chung H.S.H. and Lo W.L. (2007) Clusterin-Based AdaptiveCrossover and Mutation Probabilities for Genetic Algorithms. IEEE Trans.Evol. Comput. 11(3), 326–335.

Zhao X.C., Gao X.S. and Hu Z.C. (2007) Evolutionary programming based onnon-uniform mutation. Appl. Math. Comput. 192(1), 1–11.

Zitzler E. (1999) Evolutionary Algorithms for Multiobjective Optimization:Methods and Applications. PhD. Thesis, Dissertation ETH No. 13398, SwissFederal Institute of Technology (ETH), Zurich, Switzerland.

Zitzler E., and Thiele L. (1999) Multiobjective evolutionary algorithms : Acomparative case study and the Strength Pareto Approach. IEEE Transac-tions on Evolutionary Computation 3(4), 257–271.

Zitzler E., Deb K., and Thiele L (2000) Comparison of multiobjective evolu-tionary algorithms: Empirical results. Evolutionary Computation 8(2), 173–195.

Zitzler E., Laumanns M., and Thiele L. (2001) SPEA2: Improving the StrengthPareto Evolutionary Algorithm. Technical Report 103, Computer Engineer-ing and Networks Laboratory (TIK), Swiss Federal Institue of Technology(ETH), Zurich, Switzerland, 1–21.