Está en la página 1de 187

Tesis Doctoral

Herramientas para algoritmos evolutivos


multiobjetivo
Autora

Isolina Alberto Moralejo

Director/es

Pedro M. Mateo Collazos

Facultad de Ciencias.
Departamento de Mtodos Estadsticos
2011

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

Herramientas para algoritmos


evolutivos multiobjetivo

Memoria presentada por Isolina Alberto Moralejo


para optar al grado de Doctor en Ciencias (Matematicas)

Dirigida por
Dr. D. Pedro M. Mateo Collazos
Departamento de Metodos Estadsticos
Universidad de Zaragoza

Zaragoza, mayo de 2011

Indice general
Presentaci
on

Autorizaci
on para la presentaci
on de Tesis Doctoral en modalidad de compendio de publicaciones

III

Certificaci
on

Financiaci
on

VII

1. Introducci
on
1.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3. Conceptos basicos y metodologa general . . . . . . . . . . . . .
1.3.1. Problema de optimizacion multiobjetivo . . . . . . . . .
1.3.2. Algoritmos evolutivos . . . . . . . . . . . . . . . . . . .
1.3.3. Operadores de recombinacion . . . . . . . . . . . . . . .
1.3.4. Operadores de mutacion . . . . . . . . . . . . . . . . . .
1.3.5. Operadores de seleccion . . . . . . . . . . . . . . . . . .
1.3.6. Medidas para la evaluacion de la calidad de las poblaciones
1.3.7. Colecciones de problemas test . . . . . . . . . . . . . . .

1
1
4
5
5
6
8
11
14
15
16

2. Optimization with simulation and multiobjective analysis


industrial decision-making: A case study
2.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. Aportaciones . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1. Simulacion del sistema . . . . . . . . . . . . . . . . . .
2.3.2. Optimizacion del sistema . . . . . . . . . . . . . . . .
2.4. Resultados obtenidos . . . . . . . . . . . . . . . . . . . . . . .
2.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . .

21
21
22
22
23
23
26
27

in
.
.
.
.
.
.
.

3. Representation and management of MOEA populations based


on graphs
29
3.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3

Indice general

3.2. Aportaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1. Deniciones previas y notacion . . . . . . . . . . . . . .
3.3.2. Grafos de dominacion . . . . . . . . . . . . . . . . . . .
3.3.3. Construccion del grafo de dominacion irreducible . . . .
3.3.4. Actualizacion del grafo de dominacion irreducible . . . .
3.3.5. Calculo de la complejidad de los algoritmos propuestos .
3.4. Resultados obtenidos. Experimento computacional . . . . . . .
3.4.1. Primer experimento: Requerimientos de almacenamiento
3.4.2. Segundo experimento: Tiempo computacional para la
construccion del grafo de dominacion irreducible . . . .
3.4.3. Tercer experimento: Insercion y eliminacion de nodos . .
3.4.4. Cuarto experimento: Modicacion del proceso de seleccion del algoritmo N SGA II . . . . . . . . . . . . . .
3.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4. A crossover operator that uses Pareto Optimality in its definition
4.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2. Aportaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1. Esquema general . . . . . . . . . . . . . . . . . . . . . .
4.3.2. Factores de correccion . . . . . . . . . . . . . . . . . . .
4.3.3. Planteamiento de los experimentos . . . . . . . . . . . .
4.4. Resultados obtenidos . . . . . . . . . . . . . . . . . . . . . . . .
4.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5. A Mutation Operator based on a Pareto Ranking for MultiObjective Evolutionary Algorithms
5.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2. Aportaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.1. Mecanismo basado en el ranking . . . . . . . . . . . . .
5.3.2. Mecanismo basado en la iteracion . . . . . . . . . . . . .
5.3.3. Seleccion de parametros en los operadores RM O, P M O,
N U M O y GM O . . . . . . . . . . . . . . . . . . . . . .
5.3.4. Planteamiento de los experimentos . . . . . . . . . . . .
5.4. Resultados obtenidos . . . . . . . . . . . . . . . . . . . . . . . .
5.4.1. Primer experimento: Comparacion de P RBM O frente
a RM O, N U M O, P M O y GM O . . . . . . . . . . . . .
5.4.2. Segundo experimento: implementacion de N SGA II .
5.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ap
endices

30
31
31
32
34
36
38
40
40
40
41
41
42

43
43
44
44
44
46
47
48
49

51
51
52
52
52
54
55
57
58
58
59
59
63

A. Artculos publicados
63
A.1. Optimization with simulation and multiobjective analysis in industrial decision-making: A case study . . . . . . . . . . . . . . 63
A.2. Representation and management of MOEA populations based
on graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
A.3. A crossover operator that uses Pareto Optimality in its denition 91
A.4. A Mutation Operator based on a Pareto Ranking for MultiObjective Evolutionary Algorithms . . . . . . . . . . . . . . . . 119
B.
Indices de impacto
157
Bibliografa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

Indice general

Indice de figuras
1.1. Esquema de un algoritmo evolutivo basico. . . . . . . . . . . . . . .
1.2. Ilustracion del ranking propuesto por Goldberg (1989) para un problema de dos funciones objetivo de mnimo. . . . . . . . . . . . . . .
1.3. Recombinacion nave. . . . . . . . . . . . . . . . . . . . . . . . .
1.4. Recombinacion lineal. . . . . . . . . . . . . . . . . . . . . . . . .
1.5. Recombinacion blend. . . . . . . . . . . . . . . . . . . . . . . . .
1.6. Recombinacion binaria simulada. . . . . . . . . . . . . . . . . . . .
1.7. Mutacion aleatoria. . . . . . . . . . . . . . . . . . . . . . . . . . .
1.8. Mutacion polinomial. . . . . . . . . . . . . . . . . . . . . . . . . .
1.9. Mutacion no uniforme. . . . . . . . . . . . . . . . . . . . . . . . .

7
8
9
9
10
11
12
13

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

25

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


de funciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. Grafo de dominacion correspondiente a la poblacion de la Tabla 3.1.
3.3. Grafo de dominacion irreducible asociado al grafo de la Figura 3.2. .
3.4. Eliminacion de nodos del GDI. . . . . . . . . . . . . . . . . . . . .
3.5. Insercion de nodos en el GDI. . . . . . . . . . . . . . . . . . . . .

33
34
35
37
39

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

46

5.1. Funcion (r) para distintos valores del parametro . . . . . . . . . .


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

53
56

B.1.
B.2.
B.3.
B.4.

European Journal of Operational


TOP. . . . . . . . . . . . . . .
Journal of Heuristics. . . . . . .
Journal of Heuristics. . . . . . .

Research. . . . . . . . . . . . . . 158

. . . . . . . . . . . . . . . . . . . 159
. . . . . . . . . . . . . . . . . . . 160
. . . . . . . . . . . . . . . . . . . 161

Indice de figuras

Indice de tablas
1.1. Coleccion de problemas test. . . . . . . . . . . . . . . . . . . . .
1.2. Problemas test ZDT y DT LZ originales relacionados con los
utilizados en los experimentos. . . . . . . . . . . . . . . . . . .
1.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. . . . . . . . . . . .

17
18

20

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


3.2. Relaciones de dominacion entre las soluciones de la Tabla 3.1. . 34
3.3. Complejidad de los procesos. . . . . . . . . . . . . . . . . . . . 39
5.1. Valores de los parametros de los operadores. . . . . . . . . . . .

56

10

Indice de tablas

Presentaci
on
De acuerdo con la normativa actual de la Universidad de Zaragoza, que
regula la elaboracion y defensa de tesis doctorales, Ttulo IV, Captulo II
del Acuerdo de 17 de diciembre de 2008 del Consejo de Gobierno de esta
Universidad, la memoria titulada Herramientas para algoritmos evolutivos
multiobjetivo que presenta Da . Isolina Alberto Moralejo para optar al grado
de Doctor se presenta como compendio de las siguientes publicaciones:
Alberto I., Azcarate C., Mallor F. and Mateo P. M. (2002), Optimization with simulation and multiobjective analysis in industrial decisionmaking: A case study. European Journal of Operational Research, 140(2):
373-383.
Alberto I. and Mateo P. M. (2004), Representation and management of
MOEA populations based on graphs. European Journal of Operational
Research, 159(1): 5265.
Alberto I. and Mateo P. M. (2009), A crossover operator that uses Pareto
Optimality in its denition. TOP, DOI 10.1007/s11750-009-0082-7.
Mateo P. M. and Alberto I. (2011), A Mutation Operator based on a
Pareto Ranking for Multi-Objective Evolutionary Algorithms. Journal
of Heuristics, DOI 10.1007/s10732-011-9156-4.
Esta memoria ha sido realizada dentro del programa de doctorado Estadstica e Investigaci
on Operativa del Departamento de Metodos Estadsticos
de la Universidad de Zaragoza, bajo la direccion del Doctor D. Pedro M. Mateo
Collazos.
Zaragoza, mayo de 2011
La doctoranda

El director

Fdo.: Isolina Alberto Moralejo

Fdo.: Pedro M. Mateo Collazos


i

Autorizaci
on para la
presentaci
on de Tesis
Doctoral en modalidad de
compendio de publicaciones
D. Pedro Mateo Collazos, Profesor Titular del Departamento de Metodos
Estadsticos de la Universidad de Zaragoza,

AUTORIZA

La presentacion, en la modalidad de compendio de publicaciones, de la


memoria de Tesis Doctoral titulada Herramientas para algoritmos evolutivos
multiobjetivo presentada por Da . Isolina Alberto Moralejo para optar al grado
de Doctor en Ciencias (Matematicas) por la Universidad de Zaragoza, y certica que ha sido realizada bajo su direccion en el Departamento de Metodos
Estadsticos de la Universidad de Zaragoza.
Y para que conste a los efectos oportunos expido la presente autorizacion
en Zaragoza, a 12 de mayo de 2011

Fdo.: Pedro M. Mateo Collazos

iii

Certificaci
on
D. Pedro Mateo Collazos, Profesor Titular del Departamento de Metodos
Estadsticos de la Universidad de Zaragoza,

CERTIFICA

Que la Tesis Doctoral titulada Herramientas para algoritmos evolutivos


multiobjetivo ha sido realizada por la Licenciada en Ciencias Matematicas
Da . Isolina Alberto Moralejo en el Departamento de Metodos Estadsticos de
la Universidad de Zaragoza y re
une, a su juicio, las condiciones requeridas
para optar al grado de Doctor en Ciencias (Matematicas).
Zaragoza, a 12 de mayo de 2011

Fdo.: Pedro M. Mateo Collazos

Financiaci
on
Los trabajos que se incluyen en esta memoria han sido parcialmente nanciados por los siguientes proyectos de investigacion:
Por el Gobierno de Navarra y Reciclauto S.L. a traves del Proyecto LIFE
Project of European Community LIFE99 ENV/E/000375.
Por la Universidad de Zaragoza a traves del proyecto Algoritmos Evolutivos Multiobjetivo del 1 de enero de 2004 al 31 de diciembre de 2004.
Por el Ministerio de Educacion y Ciencia a traves del proyecto Programacion binivel: Propiedades y algoritmos. Aplicacion a la evaluaci
on
del rendimiento de sistemas hidrologicos, MTM2004-00177, del 13 de
diciembre de 2004 al 13 de diciembre de 2007.
Por el Ministerio de Educacion y Ciencia a traves del Proyecto MTM200766893.

vii

Captulo 1

Introducci
on
1.1.

Introducci
on

En la presente memoria se incluyen las cuatro publicaciones que se enumeran a continuacion:


Alberto I., Azcarate C., Mallor F. and Mateo P. M. (2002), Optimization with simulation and multiobjective analysis in industrial decisionmaking: A case study. European Journal of Operational Research, 140(2):
373-383.
Alberto I. and Mateo P. M. (2004), Representation and management of
MOEA populations based on graphs. European Journal of Operational
Research, 159(1): 5265.
Alberto I. and Mateo P. M. (2009), A crossover operator that uses Pareto
Optimality in its denition. TOP, DOI 10.1007/s11750-009-0082-7 (26
paginas).
Mateo P. M. and Alberto I. (2011), A Mutation Operator based on a
Pareto Ranking for Multi-Objective Evolutionary Algorithms. Journal
of Heuristics, DOI 10.1007/ s10732-011-9156-4 (36 paginas).
Todas ellas se engloban en el topico de los Algoritmos Evolutivos Multiobjetivo.
Hay que diferenciar el primero de estos artculos titulado Optimization with
simulation and multiobjective analysis in industrial decision-making: A case
study de los restantes. Este trabajo constituyo la introduccion de la doctoranda
en el campo de los Algoritmos Evolutivos Multiobjetivo. En el, a partir de un
modelo de simulacion de una planta de reciclado de Vehculos Fuera de Uso
1

Captulo 1 Introduccion

(VFU) inicialmente desarrollado para la empresa RECICLAUTO NAVARRA


S.L., dentro del proyecto LIFE99 ENV/E/000375, se construyo un problema
de programacion meta con el objeto de optimizar ciertas medidas de interes
del sistema; sistema que fue optimizado mediante el dise
no y aplicacion de
un 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 en
aspectos mas teoricos de los Algoritmos Evolutivos Multiobjetivo.
Los restantes tres trabajos: Representation and management of MOEA
populations based on graphs, A crossover operator that uses Pareto Optimality
in its definition y A Mutation Operator based on a Pareto Ranking for MultiObjective Evolutionary Algorithms se centran en el desarrollo de elementos
utilizados en los Algoritmos Evolutivos Multiobjetivo (Algoritmos Geneticos,
Estrategias Evolutivas, etc) con el proposito de aumentar su eciencia.
El primero, Representation and management of MOEA populations based
on graphs, se centra en un elemento no demasiado estudiado en su momento ni
en 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 de
ellos al mismo tema. El elemento es el manejo eciente de las poblaciones de
los Algoritmos Evolutivos Multiobjetivo. La manera habitual es utilizar listas
o matrices para contener la informacion de las poblaciones. La doctoranda, en
este trabajo, propone la utilizacion de una metodologa para el almacenamiento y manipulacion de la poblacion en la que la idea principal es construir un
grafo basado en las relaciones de eciencia entre los individuos de la poblacion
y evolucionar la poblacion insertando y eliminando nodos y arcos en este grafo.
Los dos trabajos siguientes se dedican al dise
no de operadores de variacion
de la poblacion del Algoritmo Evolutivo Multiobjetivo que utilicen expresamente la calidad de las soluciones, en terminos de Pareto eciencia, de cara a
articular su funcionamiento. En el primero de ellos, A crossover operator that
uses Pareto Optimality in its definition, se presenta un nuevo operador de recombinacion que hace uso de la optimalidad Pareto y asigna distinto rango
maximo de variacion dependiendo de la calidad de la solucion. Basicamente,
este operador utiliza las soluciones ecientes para centrar la b
usqueda en entornos cercanos de la solucion (explotacion) y las no ecientes para hacerlo en
regiones mas lejanas (exploracion), teniendo en cuenta, ademas, la distancia
entre ellas. En el segundo artculo, A Mutation Operator based on a Pareto
Ranking for Multi-Objective Evolutionary Algorithms, se dene un nuevo operador de mutacion cuya principal novedad es el hecho de que utiliza la calidad
de la solucion, medida en terminos de la capa Pareto1 en la que la solucion
esta localizada, para modular la amplitud maxima de la mutacion.
1

La definici
on de este concepto est
a en la Secci
on 1.3.2 de la p
agina 7.

1.1. Introduccion

Destacar ademas, que los cuatro artculos que componen esta Tesis estan
publicados en revistas recogidas en posiciones relevantes del Journal Citation
Report, como se muestra en el Apendice B. Ademas, hasta la fecha, el primero
de ellos ha sido citado en 13 trabajos, y el segundo, en 3 (citas localizadas
utilizando la herramienta Scopus (www.scopus.com) y Google academico).
Los dos u
ltimos, dada su reciente aparicion, todava no han recibido citas.
La continuacion de estos u
ltimos artculos es la incorporacion de estas herramientas, tanto el mecanismo de almacenamiento como los operadores de
variacion, en dos algoritmos evolutivos clasicos como N SGA II y SP EA2,
para comprobar como su uso mejora el rendimiento de estos. Un trabajo preliminar sobre este tema fue presentado en The Pyrenees International Workshop and Summer School on Statistics, Probability and Operations Research,
celebrado en Jaca en septiembre de 2009, y aparecera en los Proceedings of
the Pyrenees International Workshop and Summer School on Statistics, Probability and Operations Research, (Alberto y Mateo, 2009b). Actualmente se
esta trabajando en este problema.
Existen muchos elementos de la Computacion Evolutiva Multiobjetivo en
los que es deseable la aportacion de nuevos trabajos y esfuerzos. En esta memoria se presentan resultados para tres de estos: un primer trabajo de modelado
y resolucion de un problema real, un segundo trabajo dedicado al manejo eciente de poblaciones y dos trabajos dedicados al desarrollo de operadores de
variacion especcos para problemas de optimizacion multiobjetivo.
Dado que esta Tesis se presenta como compendio de publicaciones, puede
no haber uniformidad en cuanto a la notacion utilizada en los distintos artculos que la forman. Sin embargo, cada uno de estos artculos es autocontenido
en el sentido de que en el se presentan las notaciones y los conceptos necesarios
para su desarrollo.
Esta memoria esta estructurada de la siguiente manera. En la Seccion
1.2 de este captulo, se presentan los objetivos generales de la investigacion.
A continuacion, la Seccion 1.3 muestra los conceptos basicos relativos a la
investigacion: problemas multiobjetivo, algoritmos evolutivos y operadores de
recombinacion y mutacion; y las cuestiones metodologicas generales relativas
a los experimentos realizados: las medidas de evaluacion de la calidad de las
soluciones y las colecciones de problemas test utilizadas en los experimentos.
En los cuatro captulos siguientes, del 2 al 5, se resumen cada una de las
publicaciones. Finalmente, en el Apendice A se incluyen copias de los cuatro
trabajos; y en el Apendice B, los factores de impacto de las revistas.

Captulo 1 Introduccion

1.2.

Objetivos

Los problemas con mas de un objetivo surgen de forma natural en la mayora de las disciplinas y, durante mucho tiempo, su resolucion ha sido un reto
para los investigadores. A pesar de que se han desarrollado muchas tecnicas
de Investigacion Operativa para abordar estos problemas, la complejidad de
su resolucion demanda tecnicas alternativas.
El uso de tecnicas y metodos heursticos ha permitido a los investigadores
tratar problemas reales que, debido a su tama
no o caractersticas (incumplimiento de alguna condicion de regularidad, por ejemplo), eran inabordables
utilizando las tecnicas clasicas. En particular, el uso de Algoritmos Evolutivos
(AEs) para resolver problemas de optimizacion multiobjetivo ha sido motivado, principalmente, por la naturaleza de aquellos, basada en poblaciones, que
permite la generacion de varios elementos del conjunto Pareto optimo en una
u
nica ejecucion del algoritmo. Ademas, la complejidad de la optimizacion de los
problemas multiobjetivo (por ejemplo, espacios muy amplios, incertidumbre,
ruido, curvas Pareto disjuntas, etc.) puede hacer que las tecnicas tradicionales
de Investigacion Operativa para resolver estos problemas sean poco u
tiles.
Como se ha mencionado, todos los artculos que se presentan en esta memoria estan dentro del ambito de los Algoritmos Evolutivos Multiobjetivo.
El objetivo principal de la Tesis es el desarrollo de herramientas que aumentaran la eciencia de los Algoritmos Evolutivos Multiobjetivo. Mas concretamente se pretende:
Denir nuevas formas de representacion y manipulacion de los individuos
de las poblaciones de los Algoritmos Evolutivos que permitan disponer
de la informacion sobre las relaciones de dominacion entre ellos mas a
mano, que ahorren tiempo y espacio de computacion y que nos permitan
denir nuevos operadores de recombinacion y mutacion.
Denir nuevos operadores de recombinacion y mutacion que utilicen la
informacion sobre la calidad de las soluciones involucradas y que den
lugar a individuos mejores.
Dado que la Tesis se presenta como compendio de publicaciones, para
detallar las aportaciones de la doctoranda se va a seguir el orden cronologico
de los artculos presentados, dedicando un captulo a cada uno de ellos. As,
al nalizar este captulo se presentan cuatro mas, uno para cada uno de los
artculos que componen la memoria. En cada captulo se detallan los objetivos,
las aportaciones, el resumen, los resultados obtenidos y las conclusiones.

1.3. Conceptos basicos y metodologa general

1.3.

Conceptos b
asicos y metodologa general

En esta seccion se presentan los conceptos basicos relacionados con los


artculos de esta Tesis, as como las herramientas metodologicas utilizadas.

1.3.1.

Problema de optimizaci
on multiobjetivo

Un problema de optimizacion multiobjetivo se caracteriza por tener un


conjunto de funciones objetivo, generalmente de naturaleza conictiva, que se
han 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 optima, sino que se acostumbra a considerar que sus soluciones estan formadas por
todas las soluciones factibles tales que las componentes de la funcion objetivo
f (x) no pueden ser igualadas y al menos una de ellas mejorada estrictamente
por ninguna otra solucion factible. Estas soluciones se llaman Pareto optimas
o ecientes.
De una manera mas formal:
Definici
on 1. Eficiencia. Una soluci
on factible x D es Pareto
optima
o eficiente si y s
olo si @y D tal que k = 1, 2, . . . , q, fk (y) fk (x) y
k {1, 2, . . . , q} tal que fk (y) < fk (x).
Definici
on 2. Dominancia Pareto. Dadas dos soluciones x, y D tales
que k = 1, 2, . . . , q, fk (x) fk (y) y k {1, 2, . . . , q} tal que fk (x) < fk (y),
diremos que la soluci
on x domina a la soluci
on y, y lo denotaremos x y. Si
fk (x) fk (y), k, diremos que la soluci
on x domina debilmente a la soluci
on
y, y lo denotaremos x y.
Definici
on 3. Conjunto Pareto
optimo. Para un problema de optimizaci
on
true
multiobjetivo dado, f (x), el conjunto Pareto
optimo, P
, se define como:
P true = {x D|@x D tal que x x}.
Definici
on 4. Pareto front. Para un problema de optimizaci
on multiobjetivo dado, f (x) y su conjunto Pareto
optimo, P true , se define el Pareto front,
P F true como:
P F true = {u = f (x)|x P true }.

Captulo 1 Introduccion

1.3.2.

Algoritmos evolutivos

Los Algoritmos Evolutivos son tecnicas heursticas de b


usqueda y optimizacion que, en su version multiobjetivo, han mostrado ser muy efectivos en
la aproximacion de la resolucion de gran cantidad de problemas. Los algoritmos
evolutivos estan basados en la evolucion natural y la genetica. La diferencia
mas importante entre las tecnicas clasicas de optimizacion y los algoritmos
evolutivos es que estos procesan en cada iteracion una poblacion de soluciones
potenciales en lugar de una u
nica solucion del problema. Esta caracterstica
les da a los algoritmos evolutivos una gran ventaja para su uso en la resolucion
de problemas de optimizacion multiobjetivo.
Denotemos con Pt la poblacion del algoritmo evolutivo multiobjetivo en la
t-esima iteracion y con n su tama
no. Los individuos de la poblacion, que se
corresponden con soluciones del problema multiobjetivo, los denotaremos con
(i,t)
(i,t)
x(i,t) = (x1 , . . . , xp ), 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 := 0
mientras (no se verica la condicion de nalizacion)
variar Pt
evaluar Pt
seleccionar Pt+1
t := t + 1
n mientras
Figura 1.1: Esquema de un algoritmo evolutivo basico.

Los tres operadores principales asociados a un algoritmo evolutivo son los


operadores de variacion: recombinaci
on y mutacion; y los de seleccion.
Operador de recombinaci
on. Su funcion depende del tipo de algoritmo en el que se incluya. Por ejemplo, en Programacion Genetica es el
u
nico operador y es responsable de toda la b
usqueda, en la Programacion
Evolutiva no se utiliza y en Algoritmos Geneticos es el principal responsable de realizar la b
usqueda 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 la
poblacion, llamados padres, y estos se recombinan para crear dos individuos, llamados hijos. En general, los hijos seran diferentes de sus padres,
pero con caractersticas geneticas de ambos progenitores.

1.3. Conceptos basicos y metodologa general

Operador de mutaci
on. El papel de este operador nuevamente depende del tipo de algoritmo en el que se incluya. Por ejemplo, en Algoritmos Geneticos es el encargado de contribuir a la diversidad de la
poblacion, y en Programacion Evolutiva es el u
nico operador encargado
de toda la b
usqueda. Otra caracterstica importante es que el operador
de mutacion es el responsable de garantizar que cualquier solucion del
espacio es alcanzable (Eiben y Smith (2007), p. 21). En general, es un
operador unario que altera localmente los individuos para crear otros
que, con suerte, seran mejores.
Operador de selecci
on. Basado en una medida de adecuacion de las
soluciones, se encarga de decidir que individuos formaran parte de la
siguiente poblacion. En el caso de problemas uniobjetivo, la funcion que
mide la adecuacion de las soluciones puede ser directamente el valor de
la funcion objetivo. Sin embargo, en el caso multiobjetivo, no es posible
denir un orden total sobre el conjunto de soluciones. Debido a esto,
suelen utilizarse distintos rankings que denen un orden parcial en los
individuos de la poblacion. En los trabajos que se presentan posteriormente, se utilizo uno de ellos aunque se podra haber utilizado otro
cualquiera de los existentes en la literatura. El ranking utilizado fue
el propuesto por Goldberg (1989), que asigna un valor igual a 1 a las
soluciones ecientes. A continuacion, estas soluciones se eliminan de la
poblacion y a las ecientes de este nuevo conjunto se les asigna ranking
2. El proceso contin
ua de esta forma hasta que no quedan soluciones.
En la Figura 1.2 se muestra un ejemplo con las soluciones agrupadas
siguiendo este procedimiento. Las soluciones con ranking 1 formaran la
primera 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 mnimo.

Captulo 1 Introduccion

1.3.3.

Operadores de recombinaci
on

En el artculo: A crossover operator that uses Pareto optimality in its definition se denio un nuevo operador de recombinacion que utilizaba la informacion de las soluciones ecientes de una forma mas provechosa que los
operadores habituales. Con el objeto de comprobar su buen comportamiento,
este operador se comparo con otros operadores habituales en la literatura y
utilizados en gran cantidad de algoritmos. Dichos operadores se muestran a
continuacion.
(1,t)

(1,t)

(2,t)

(2,t)

Sean x(1,t) = (x1 , . . . , xp ) y x(2,t) = (x1 , . . . , xp ) dos soluciones


de la poblacion, correspondientes a la iteracion t de un algoritmo evolutivo,
que se van a recombinar.
Recombinaci
on nave o standard one-point crossover (C1 ), Holland (1975):
Este operador selecciona un punto aleatorio de cruce j entre 2 y p e intercambia 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) =
(1,t) (1,t)
(2,t) (2,t)
(x1 , x2 ) y x(2,t) = (x1 , x2 ) tomando como punto de cruce la se(1,t) (2,t)
gunda componente, obteniendo los descendientes x(1,t+1) = (x1 , x2 )
(2,t) (1,t)
y x(2,t+1) = (x1 , x2 ).

Figura 1.3: Recombinacion nave.

Recombinaci
on lineal (C2 ), Wright (1991): Este operador crea tres descendientes a partir de dos padres. El valor de la i-esima componente de
los descendientes se obtiene de acuerdo con las expresiones:
(1,t)

(2,t)

0.5 (xi + xi ),
(1,t)
(2,t)
1.5 xi 0.5 xi , y
(1,t)
(2,t)
0.5 xi + 1.5 xi .
Posteriormente se seleccionan los dos mejores descendientes y el tercero
se descarta. En el artculo se ha utilizado una ligera modicacion de este

1.3. Conceptos basicos y metodologa general

operador que consiste en mantener los tres descendientes generados en


lugar de seleccionar los dos mejores. En la Figura 1.4 se ilustra el efecto
(L)
(U )
de este operador, donde xi y xi , son las cotas inferior y superior,
respectivamente, de la componente i-esima (i = 1, . . . , p) del problema,
y los descendientes aparecen marcados con crculos huecos.

Figura 1.4: Recombinacion lineal.

Recombinaci
on blend (C3 ), Eshelman y Schaer (1993): Este operador,
tambien denotado con BLX-, genera los individuos de acuerdo con la
(1,t)
(2,t)
siguiente formula (suponiendo que xi
< xi ):
(1,t)

(1 i ) xi

(2,t)

+ i xi

donde i = (1 + 2) ui , ui U(0, 1) y es un parametro que


determina la amplitud del intervalo en el que se van a obtener los nuevos
individuos. Una propiedad muy importante de este operador es que si los
padres estan proximos entre si, entonces los descendientes estaran tambien proximos a los padres. Esto constituye un mecanismo adaptativo:
en las generaciones iniciales, cuando generalmente los padres no estan
proximos entre si, el operador tiende a buscar en todo el espacio de variables (exploracion); y cuando el algoritmo itera y las soluciones tienden
a estar mas proximas, el operador lleva a cabo una b
usqueda localizada
(explotacion). En la Figura 1.5 aparece marcado con una lnea el intervalo en el que se generaran los descendientes utilizando una distribucion
uniforme.

Figura 1.5: Recombinacion blend.

10

Captulo 1 Introduccion

Recombinaci
on binaria simulada (C4 ), Deb y Agrawal (1995): Este operador genera las componentes de los descendientes de la siguiente manera:
[
(1,t+1)
(1,t)
(2,t) ]
xi
= 0.5 (1 + i ) xi + (1 i ) xi
y
[
(2,t+1)
(1,t)
(2,t) ]
xi
= 0.5 (1 i ) xi + (1 + i ) xi
,
donde

1
(2 ui ) +1 ,
si ui 0.5,
(
) 1
i =
+1
1

, en otro caso,
2(1ui )

ui U(0, 1) y es un n
umero real no negativo. Valores grandes de
dan probabilidades altas de crear soluciones proximas a los padres,
mientras que valores peque
nos permiten seleccionar como descendientes
a soluciones distantes. Notar que los dos descendientes son simetricos
respecto a los padres. En la Figura 1.6, la lnea representa la funcion
de densidad de la distribucion utilizada para generar los descendientes.
En caso de que los padres esten alejados entre si, habra una mayor
probabilidad de crear soluciones alejadas de los padres. Sin embargo,
si los padres estan proximos, sera menos probable crear descendientes
alejados.

Figura 1.6: Recombinacion binaria simulada.

1.3. Conceptos basicos y metodologa general

1.3.4.

11

Operadores de mutaci
on

En el artculo: A mutation operator based on a Pareto ranking for multiobjective evolutionary algorithms se denio un nuevo operador de mutaci
on
que 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 que
el de otros operadores existentes, de entre los operadores de mutacion clasicos
se consideraron cuatro de ellos frente a los que comparar el nuevo. Todos
ellos son operadores unarios, es decir, operadores que act
uan solo sobre un
individuo. Estos operadores son los siguientes:
Mutaci
on aleatoria (RM O), (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) =
(t)
(t)
(x1 , . . . , xp ) perteneciente a la t-esima poblacion Pt , el operador crea
(L) (U )
un valor distribuido uniformemente en el intervalo (xi , xi ), donde
(L)
(U )
xi y xi son las cotas inferior y superior, respectivamente, de la componente i-esima (i = 1, . . . , p). Utilizaremos una version modicada, introducida en Deb (2001), en la cual el valor nuevo de una componente
mutada de x(t) se crea en el vecindario del padre de acuerdo con:
(t+1)

xi

(t)

(U )

= xi + ui (xi

(L)

xi ),

donde ui U [1, 1] y es un parametro que representa la amplitud


maxima de la mutacion, como se muestra en la Figura 1.7, donde la
lnea representa la funcion de densidad utilizada para crear la nueva
componente de la solucion.

Figura 1.7: Mutacion aleatoria.

Mutaci
on polinomial (P M O), Deb y Goyal (1996): Dada una solucion
que act
ua como padre, este operador genera soluciones cercanas con una
probabilidad mas alta que soluciones lejanas a el, independientemente

12

Captulo 1 Introduccion

de la iteracion. Utiliza una distribucion de probabilidad polinomial de la


siguiente manera:
(
)
(t+1)
(t)
(U )
(L)
xi
= xi + xi xi
i ,
{

donde
i =

(2 ui )1/(+1) 1,

si ui < 0.5,

1 [2 (1 ui

si ui 0.5,

)]1/(+1) ,

ui U[0, 1] y es un parametro que controla la variabilidad de la perturbacion. Este operador se ha utilizado, entre otros, en los algoritmos
SP EA2 de Zitzler et al. (2001) y N SGA II de Deb et al. (2002a).
En la Figura 1.8 esta representado el comportamiento de este operador
para diferentes valores del parametro .

Figura 1.8: Mutacion polinomial.

Mutaci
on no uniforme (N U M O), (Michalewicz, 1996, p. 103): Este operador hace, en las generaciones iniciales, una b
usqueda uniforme en el
espacio (exploracion), pero esta b
usqueda es mas local en las generaciones nales (explotacion). La probabilidad de crear una solucion cercana
al padre es mayor que la de crearla alejado de el, pero seg
un avanzan
las iteraciones, esta probabilidad se hace mas y mas grande. Para el
caso uniobjetivo, este operador ha proporcionado buenos resultados y ha
sido incluso utilizado como elemento principal en el dise
no de algoritmos
nuevos, 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 siguiente
forma:
(
) (
)
(t+1)
(t)
(U )
(L)
(1t/tmax )b
xi
= xi + xi xi
1 ui
,
donde ui U [0, 1], tmax es el n
umero maximo de iteraciones permitido,
vale +1 o -1, con probabilidad 0.5, y b es un parametro que determina el
grado de dependencia de la iteracion. La Figura 1.9 representa la funcion
de densidad empleada para la creacion de la nueva componente.

1.3. Conceptos basicos y metodologa general

13

Figura 1.9: Mutacion no uniforme.

Mutaci
on gaussiana (GM O), Schwefel (1981) y Beyer y Schwefel (2002):
Se va a utilizar una de las variantes del operador de mutacion gaussiano
que es estandar en las Estrategias Evolutivas. Su principal diferencia
respecto a los operadores anteriores recae en el hecho de que los individuos se representan por medio de dos vectores: el primero de ellos
representa un punto en el espacio de b
usqueda, como es habitual, y el
segundo es un vector de desviaciones estandar, normalmente llamado
vector de parametros de estrategia, que contiene los parametros que establecen la amplitud de la mutacion. Ademas, cuando se evolucionan
los individuos, se evoluciona toda la representacion, la parte correspondiente a la solucion y la correspondiente a las desviaciones estandar. Si
(t)
(t)
(t)
(t)
(x1 , . . . , xp , 1 , . . . , p ) representa un individuo y sus parametros, el
operador de mutacion trabaja de la siguiente manera:
(t+1)

= i e

(t)

z+ z

(t+1)

= xi + i

(t)

(t+1)

xi

, i = 1, . . . , p,

zi , i = 1, . . . , p,

donde z, zi y zi denotan n
umeros aleatorios siguiendo una distribucion
gaussiana de media 0 y desviacion tpica 1. Este tipo de operadores en
los que algunos de los parametros evolucionan junto con las soluciones se
llaman operadores auto-adaptativos. En este caso, las amplitudes de la
mutacion evolucionan junto con las soluciones. En las formulas anteriores, los parametros y pueden interpretarse como un tipo de tasa de
aprendizaje. Seg
un Schwefel (1995), un buen heurstico para la eleccion
de estas constantes es:
=

2 p

1
.
2p
(t)

Es mas, para prevenir que las desviaciones estandar, i , sean cero, se


(t+1)
ja un valor 0 y se aplica la siguiente regla: si i
< 0 entonces
(t+1)
i
= 0 . Finalmente, en contraste a otros operadores, lo habitual es

14

Captulo 1 Introduccion

aplicar el operador de mutacion gaussiano a todas las componentes de


la solucion, tal y como aparece en las formulas anteriores. Este operador
se ha utilizado ampliamente en problemas de optimizacion uniobjetivo,
pero tambien en el dise
no de algoritmos evolutivos multiobjetivo, como
por ejemplo en Knowles y Corne (2000); Abbas y Sarker (2002); Dong
et al. (2007) o Yang et al. (2005).

1.3.5.

Operadores de selecci
on

En los dos trabajos comentados en los puntos anteriores se plantean experimentos similares en los cuales se utiliza un Algoritmo Evolutivo basico
como el de la Figura 1.1 en el que, tras la aplicacion del operador de mutacion
o de recombinacion, se crea una nueva poblacion temporal consistente en la
poblacion actual junto con los nuevos individuos creados. Sobre esta poblacion
temporal hay que aplicar el operador de seleccion para obtener la poblacion
siguiente. En los trabajos, se han utilizado tres operadores de seleccion diferentes: dos de ellos del tipo ruleta (seleccion de supervivientes y de muertes) y
otro de tipo elitista. Los tres operadores que se van a presentar necesitan establecer un ranking de los individuos de la poblacion. Para ello se ha utilizado
el propuesto por Goldberg (1989) ya mencionado antes pero se podra haber
utilizado cualquier otro, por ejemplo el introducido por Fonseca y Fleming
(1993) o incluso el denido por Zitzler et al. (2001) para el algoritmo SP EA2.

Los operadores de seleccion considerados son los siguientes:


Selecci
on de supervivientes (S1 ), (Michalewicz, 1996, p. 34): Este operador asigna una probabilidad mayor de ser seleccionados a aquellos
individuos con menor ranking. En la iteracion t, la probabilidad de seleccion pi (t) se dene para cada individuo x(i,t) Pt de acuerdo con la
expresion:
rmax + 1 ri
,
pi (t) =
ax + 1 rj )
x(j,t) Pt (rm
donde rj es el ranking del individuo x(j,t) de Pt y rmax = maxj {rj }. A
continuacion, utilizando estas probabilidades, se ejecuta una seleccion de
tipo ruleta para completar la nueva poblacion.
Selecci
on de muertes (S2 ), (Michalewicz, 1996, p. 62): En este caso, a
cada individuo se le asigna una probabilidad de no sobrevivir mayor
cuanto mayor es su ranking. Esta denida de acuerdo con la expresion:
pi (t) =

ri
x(j,t) Pt rj

1.3. Conceptos basicos y metodologa general

15

A continuacion, se ejecuta una seleccion de tipo ruleta con estas probabilidades para eliminar los individuos sobrantes hasta que se alcanza
el tama
no jado de la poblacion. Con este mecanismo la poblacion no
recibe dos copias del mismo individuo.
Selecci
on elitista (S3 ): Teniendo en cuenta el tama
no de la poblacion,
los individuos de mayor ranking se eliminan de la poblacion sin seleccion
aleatoria, hasta que se alcanza el tama
no jado de poblacion. Si en un
momento dado hay varios individuos con el mismo ranking, de entre
los cuales hay que eliminar unos cuantos, entonces se sigue un proceso
que consiste en utilizar una medida de la densidad de soluciones en el
entorno de la solucion. Aquella que posea un entorno menos poblado
sera seleccionada. Este proceso es similar al utilizado en el algoritmo
clasico N SGA II. Para una descripcion mas detallada del proceso, se
puede consultar, por ejemplo, Deb et al. (2002a)).

1.3.6.

Medidas para la evaluaci


on de la calidad de las poblaciones

Con objeto de comparar las poblaciones nales resultantes tras aplicar


los algoritmos es necesario seleccionar algunas medidas que indiquen si una
poblacion ha de considerarse mejor o peor que otra. De entre las numerosas
medidas existentes en la literatura para la evaluacion de la calidad de las
soluciones se han considerado tres: diferencia de hipervolumen respecto a un
conjunto 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 ejecucion
de un algoritmo de optimizacion y P F 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 denido por Zitzler y Thiele (1999) calcula el
volumen cubierto por el hipercubo formado por los vectores de P F
(considerando que todas las funciones objetivo son de mnimo) y un
punto de referencia. El punto de referencia se localiza de tal forma que
sea al menos debilmente dominado por todos los miembros de P . Puede
denirse, por ejemplo, construyendo un vector con los peores valores de
funcion objetivo en P F . Para poder obtener el valor de la diferencia de
hipervolumen, HD, se calcula la diferencia entre el hipervolumen de un
conjunto de referencia contenido en P F true y el hipervolumen de P F .
En los trabajos presentados, para los problemas seleccionados para el
estudio, se han considerado los conjuntos de P F true proporcionados por
CEC (2007), que consisten en 500 y 5000 puntos para los problemas con

16

Captulo 1 Introduccion

2 y 3 objetivos, respectivamente. En contraste con el hipervolumen original, para esta medida, cuanto menor es el valor, mejor es la poblacion.
Distancia generacional (GD): Esta medida, que tambien requiere el
conocimiento de un conjunto de referencia contenido en P F true , informa
de cuan lejos, en media, esta P F respecto de P F true . Matematicamente
se dene como
( 2 )1/2
di
GD =
,
|P F |
donde |P F | es el n
umero de soluciones en P F y di es la distancia
eucldea entre cada miembro xi de P F y el miembro de P F true mas
cercano a xi . Para esta medida, cuanto menor es el valor, mejor es la
poblacion.
Cubrimiento de conjuntos (C): Sean P1 y P2 los conjuntos de soluciones
no dominadas resultantes de la ejecucion de dos algoritmos diferentes.
La medida C(P1 , P2 ) calcula la proporcion de soluciones en el conjunto
P2 que son debilmente dominadas por soluciones en P1 . Es decir:
C(P1 , P2 ) =

|{b P2 |a P1 , a b}|
.
|P2 |

Como la medida no es simetrica, hay que calcular C(P1 , P2 ) y C(P2 , P1 ).


En la mejor situacion, P1 es mejor que P2 si C(P1 , P2 ) es proximo a
uno y C(P2 , P1 ) proximo a cero. En general, P1 es mejor que P2 si
C(P1 , P2 ) es notablemente mayor que C(P2 , P1 ).

1.3.7.

Colecciones de problemas test

El uso de un conjunto de problemas test ayuda a garantizar que los metodos propuestos se enfrentaran con espacios de soluciones ecientes de diferentes
caractersticas, y por tanto, puede obtenerse una idea mas precisa del comportamiento de estos. A continuacion se describen brevemente los dos conjuntos
de problemas test que se utilizaron en los trabajos.
Primer conjunto de problemas test
La primera coleccion de problemas test utilizada para los experimentos
fueron los propuestos por Van Veldhuizen (1999) que tambien aparecen en
Deb (2001). Este conjunto de problemas contiene ejemplos con 1, 2 o 3 variables de decision y 2 o 3 funciones objetivo, conjuntos Pareto optimos conexos,
disconexos, simetricos, asimetricos, etc. La denicion de los problemas se puede
ver en la Tabla 1.1.

1.3. Conceptos basicos y metodologa general

17

Tabla 1.1: Coleccion de problemas test.


Prob.
test
MOP1
MOP2
MOP3

MOP4

MOP5
MOP6

Funciones objetivo
f1 = x2
f2 = (x 2)2(

3
f1 = 1 exp i=1 (xi
(
3
f2 = 1 exp i=1 (xi +

4 xi 4

1 )2
3 )
1 )2
3
(A2 B2 )2
2

i = 1, 2, 3

f1 = 1 + (A1 B1 )2 +
f2 = (x1 + 3)2 + (x2 + 1)
A1 = 0.5 sen 1 2 cos 1 + sen 2 1.5 cos 2
A2 = 1.5 sen 1 cos 1 + 2 sen 2 0.5 cos 2
B1 = 0.5 sen x1 2 cos x1 + sen x2 1.5 cos x2
B2 = 1.5 sen x1 cos
2 sen x2 0.5
) cos x2
( x1 +
2
f1 = i=1 10 exp 0.2 x2i + x2i+1
)
3 (
f2 = i=1 |xi |a + 5 sin(xi )b
f1
f2
f3
f1

= 0.5(x21 + x22 ) + sen(x21 + x22 )


2
2
2 +1)
2 +4)
+ (x1 x
+ 15
= (3x1 2x
8
27
)
(
= x2 +x1 2 +1 1.1 exp x21 x22
1
2
= x1
)
[
(

f2 = (1 + 10x2 ) 1
MOP7

Restricciones
(D Rp )
4 x 4

f1 =
f2 =
f3 =

x1
1+10x2

x1
1+10x2

(x1 2)2
+1)2
+ (x213
+3
2
2
(x1 +x2 3)
(x1 +x2 +2)2
+
17
36
8
(x1 +2x2 1)2
(x1 +2x2 )2
+
13
175
17

]
sen(2qx1 )

xi
i = 1, 2

5 xi 5
i = 1, 2, 3
a = 0.8, b = 3
30 xi 30
i = 1, 2
0 xi 1
q = 4, = 2
400 xi 400
i = 1, 2

Las caractersticas de estos problemas son las siguientes. En MOP1, P true


es conexo y P F true esta formado por una u
nica curva Pareto convexa. MOP2
tiene la ventaja de ser escalable en el n
umero de variables de decision sin
cambiar la forma o localizacion de P F true . En este problema, P true es conexo
y P F true es una u
nica curva concava. En MOP3, P true consiste en dos areas
disconexas en el espacio de soluciones mientras que P F true son dos curvas
Pareto disconexas. Algo similar ocurre con MOP4, cuyo P F true consiste en tres
curvas Pareto disconexas y P true esta formado por varias areas en el espacio
de soluciones disconexas y asimetricas. Este problema es tambien escalable en
el n
umero de variables de decision, y el cambio vara ligeramente la forma de
P F true pero no cambia su localizacion en el espacio de objetivos. El problema
MOP5 tiene P true disconexo y asimetrico y P F true conexo, siendo este una
u
nica curva Pareto en tres dimensiones. MOP6 tiene P true y P F true disconexos, este u
ltimo formado por cuatro curvas Pareto (el n
umero de curvas
Pareto es escalable). MOP7 parece complementar al problema MOP5, con

18

Captulo 1 Introduccion

P true conexo y P F 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 comparacion del rendimiento de algoritmos. Algunos de los problemas de estas colecciones han sido utilizados en nuestros experimentos y son los que se muestran
en la Tabla 1.2.
Tabla 1.2: Problemas test ZDT y DT LZ originales relacionados con los utilizados en los experimentos.
Prob.
ZDT 1

Funciones objetivo
f1 (x1 ) = x1
f2 (x) = g h(f
1 , g)
30

g(x2 ) = 1 + 9 k=2
29
h(f1 , g) = 1 fg1
ZDT 2

f1 (x1 ) = x1
f2 (x) = g h(f
1 , g)
30

ZDT 4

DT LZ2

DT LZ3

xk

Pareto front
g(x2 ) = 1

x2 = (x2 , . . . , x30 )
xk [0, 1]
k = 1, . . . , 30

k
g(x2 ) = 1 + 9 k=2
29
h(f1 , g) = 1 (f1 /g)2
f1 (x1 ) = x1
f2 (x) = g h(f1 , g)
g(x2 )= 1 +[ 10(p 1)+
]
p
2
10 cos(4xk )
k=2 xk

h(f1 , g) = 1
ZDT 6

Variables
xk [0, 1]
k = 1, . . . , 30

g(x2 ) = 1

x2 = (x2 , . . . , x30 )
x1 [0, 1]
xk [5, 5]
k = 2, . . . , p
x = (x2 , . . . , xp )

f1
g

g(x2 ) = 1
Mejor PF
optimo local:
g(x2 ) = 1.25

f1 (x1 ) = 1 exp(4x1 ) sin (6x1 )


f2 (x) = g h(f1 , g)
[
]0.25
30 xk
g(x2 ) = 1 + 9
k=2 29
2
h(f1 , g) = 1 (f1 /g)
( x1 )
(
)
f1 (x) = (1 + g) cos ( 2 ) cos ( x22 )
f2 (x) = (1 + g) cos ( x12 ) sin x22
f3 (x) = (1 + g) sin x12
p
g(x3 ) = k=3 (xk 0.5)2
(
)
(
)
f1 (x) = (1 + g) cos ( x12 ) cos ( x22 )
f2 (x) = (1 + g) cos ( x12 ) sin x22
f3 (x) = (1 +[g) sin x12
30
g(x3 ) = 100 28 + k=3 (xk 0.5)2
cos (20(xk 0.5))]
6

xk [0, 1]
k = 1, . . . , 30

g(x2 ) = 1

x2 = (x2 , . . . , x30 )
xk [0, 1]
k = 1, . . . , p
x3 = (x3 , . . . , xp )
xk [0, 1]
k = 1, . . . , 30
x3 = (x3 , . . . , x30 )

PF
optimo
esferico
3
2
j=1 fj = 1

Las principales caractersticas de estos problemas son las siguientes: ZDT1


tiene el Pareto front optimo convexo; ZDT2 lo tiene no convexo; ZDT4 contiene

1.3. Conceptos basicos y metodologa general

19

219 Pareto fronts optimos locales y por tanto, comprueba la habilidad del
algoritmo evolutivo para enfrentarse a la multifrontalidad; ZDT6 incluye dos
dicultades causadas por la no uniformidad del espacio de b
usqueda (el P true
true
no esta uniformemente distribuido a lo largo del P F
y la densidad de
true
soluciones es menor cerca del P F
y mayor alejada de el); en DTLZ2 las
soluciones Pareto optimas se corresponden
3 con 2xi = 0.5, i = 3, . . . , p, y todas
las funciones objetivo deben satisfacer j=1 fj = 1; nalmente, DTLZ3 es
igual a DTLZ2 excepto por la funcion g, que introduce 83 Pareto fronts optimos
locales y un Pareto front optimo global (todos los Pareto fronts optimos locales
son paralelos al global y el algoritmo evolutivo multiobjetivo puede quedarse
atascado en uno de los fronts locales antes de converger al global), el P F true es
concavo y multimodal y este problema comprueba la habilidad del algoritmo
evolutivo multiobjetivo para converger al P F true .
Sin embargo, las colecciones ZDT y DTLZ tienen algunos inconvenientes
ya que los problemas test comparten algunas caractersticas y por lo general tienen fallos en el dise
no. Por ejemplo, para todos los problemas el optimo global tiene los mismos valores de los parametros para distintas variables/dimensiones y cae en el centro del espacio de b
usqueda o en las fronteras.
Tambien, todos estos problemas son separables. Por tanto, para llevar a cabo
las comparaciones se han utilizado las versiones rotadas y/o desplazadas de algunos de estos problemas, versiones que han sido propuestas por Huang et al.
(2007a), y que corrigen las deciencias se
naladas. Una descripcion de algunas
de sus caractersticas se muestra en la Tabla 1.3. Para los problemas 1 a 3 y 5,
el n
umero de funciones objetivo es 2 y el de variables de decision 30. Para los
problemas 6 y 8 estos valores son 3 y 30, respectivamente. Los problemas 4 y
7 tienen 10 variables de decision y 2 y 3 funciones objetivo, respectivamente.
En todos estos problemas test, el conjunto Pareto optimo es conocido.

20

Captulo 1 Introduccion

Tabla 1.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.
Problema
test

Funciones
objetivo
f1

N
umero de
variables
1

Separabilidad
S

Modalidad

f2
f1

>1
1

S
S

U
U

f2
f1

>1
1

S
S

U
U

f2
f1 , f2
f1

>1
>1
1

S
NS
S

M
M
M

f2
f1 , f2 , f3
f1 , f2 , f3
f1 , f2 , f3

>1
>1
>1
>1

S
S
NS
S

M
U
M
M

1. S-ZDT1

convexo

2. S-ZDT2

concavo

3. S-ZDT4
4. R-ZDT4

convexo

5. S-ZDT6
6. S-DTLZ2
7. R-DTLZ2
8. R-DTLZ3

Geometra

convexo
concavo
concavo
concavo
concavo

Captulo 2

Optimization with simulation


and multiobjective analysis in
industrial decision-making: A
case study
2.1.

Objetivos

Debido a un cambio en la normativa europea en el a


no 2000 sobre el reciclado de vehculos, la recogida y recuperacion de Vehculos Fuera de Uso
(VFU) dejo de ser responsabilidad de las autoridades p
ublicas y se traspaso a
los productores de materiales y vehculos, 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 de
una planta industrial dedicada a la descontaminacion y reciclado de VFU en
Navarra.
La nalidad de la investigacion fue optimizar el dise
no y operacion de
una hipotetica planta con objeto de conocer las caractersticas que deba reunir para cumplir con ciertos requerimientos tecnicos, economicos, etc. Mas
concretamente, se trato de determinar las dimensiones que debera tener la
planta respecto a espacio fsico (tama
no de la planta, tama
no del almacen,
etc), capacidad de trabajo en la planta (no de lneas de descontaminacion, no
de estaciones de trabajo, etc) y la logstica de transporte de estos vehculos
de vuelta a los desguaces (tipo de camion, no de camiones, horas de trabajo,
etc). Ademas, se denieron y contrastaron diferentes polticas de gestion de la
planta.
Para completar estos objetivos se combinaron distintas herramientas de la
21

22

Captulo 2 Optimization with simulation ...

Investigacion Operativa: modelos de redes de colas, optimizacion con simulacion 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 soluciones basado en Algoritmos Evolutivos Multiobjetivo.
La construccion de una herramienta informatica u
til para los gestores de
la futura planta de descontaminacion de VFU.

2.3.

Resumen

A grandes rasgos, el modelo planteado funcionaba de la siguiente forma: a


la planta llegaban los vehculos trados por los desguaces, se depositaban en
el sistema y se pactaba una fecha de entrega del vehculo ya descontaminado.
Tras ello, el vehculo se descontaminaba y se enviaba de vuelta al desguace
propietario cuando se estimaba oportuno. De esta forma, el sistema industrial
bajo estudio se modelo como un sistema de redes de colas con las siguientes
caractersticas:
Dos servidores conectados en serie: la planta de descontaminacion y el
sistema de transporte para la devolucion del VFU.
Varias fuentes de entrada (los desguaces) de VFU.
Una sala de espera con capacidad nita (el almacen en planta) que es
com
un para ambos servidores.
Disciplina de servicios de colas con prioridad para los dos servidores.
Esta disciplina de servicio depende de la poltica de gestion del almacen
y 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 tama
no del grupo y del tipo
de cliente.
Las distribuciones de probabilidades asociadas a los elementos estocasticos
del sistema se estimaron con la informacion proporcionada por las bajas en

2.3. Resumen

23

circulacion, las licencias y el n


umero de vehculos en uso a lo largo de varios
a
nos, informacion que fue obtenida de la Direccion General de Traco. Ademas,
se elaboro una lista de desguaces de la region, buscando su localizacion y el
n
umero de vehculos que gestionaban anualmente. El tiempo que se necesitaba
para la descontaminacion de un vehculo as como el tiempo de carga y descarga
de los vehculos en el camion fueron medidos en una planta piloto hecha para
este proposito. Tambien, se recogieron de varias compa
nas de transporte datos
sobre la capacidad y velocidad de varios modelos de camiones.
Las reglas de seleccion de vehculos para descontaminar y transportar
siguen una disciplina FIFO con prioridades ya que incorpora varias condiciones, como por ejemplo, acuerdos para la devolucion de vehculos en cierta
fecha, el descontaminar vehculos del mismo propietario para optimizar viajes
del camion, etc. As, el que no se vericaran las propiedades Markovianas y
que la disciplina de colas estuviera basada en una serie de reglas dependientes del estado del sistema hicieron difcil que el modelo del sistema pudiera
estudiarse con herramientas analticas.

2.3.1.

Simulaci
on del sistema

Debido a las caractersticas del sistema, se considero la tecnica de simulacion de eventos discretos como la herramienta que permitio construir un
modelo mas realista.
Uno de los problemas de la simulacion tradicional es que no proporciona
soluciones 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 conjunto
de soluciones sucientemente amplio y representativo de todas las soluciones
factibles.
La simulacion moderna trata de evitar este problema combinando el proceso de simulacion con un metodo de optimizacion que cambie automaticamente
de una solucion a otra, buscando la optima.

2.3.2.

Optimizaci
on del sistema

Una vez construido el sistema de simulacion que dependa de varios parametros, se planteo la b
usqueda de la mejor combinacion de los valores de estos
con el objeto de optimizar ciertos objetivos. En particular, se trabajo con cuatro variables de decision: tiempo de trabajo diario en planta, tiempo de trabajo
diario del camion, tama
no del almacen y tiempo de descontaminacion (relacionado con el n
umero de empleados). Se consideraron seis funciones objetivo
a minimizar, clasicadas en tres grupos: objetivos de tipo economico, de tipo

24

Captulo 2 Optimization with simulation ...

ecologico y relacionados con la calidad del servicio:


Objetivos econ
omicos:
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 ecol
ogicos:
Minimizar la tasa de vehculos no descontaminados debido a la
saturacion del sistema.
Objetivos relacionados con la calidad del servicio:
Minimizar la tasa de vehculos que superan el tiempo maximo de
permanencia permitido.
Minimizar el tiempo medio que pasan los VFU en el sistema.
Para resolver el problema multiobjetivo se selecciono la aproximacion mediante programacion por metas ponderadas, una vez jados los niveles de
aspiracion para cada criterio. Como las funciones objetivo consideradas eran
variables aleatorias, tambien lo era la funcion meta ponderada, por lo que se
optimizo su valor esperado. Ademas, puesto que las esperanzas de estas funciones objetivo no tenan una expresion explcita en funcion de las variables
de decision, estos valores tuvieron que ser estimados a traves de la simulacion.
As, para la resolucion de este problema de optimizacion se combino la
optimizacion con la simulacion como se muestra en la Figura 2.1.
De esta forma, empezando por unos valores iniciales de las variables de decision, x0 , se repite cclicamente el siguiente proceso. En el paso (k + 1)-esimo,
el modelo de simulacion recibe los valores de las variables de decision, xk , del
algoritmo de optimizacion; en este momento se simula el sistema con estos
valores. Un conjunto de medidas de funcionamiento del sistema, sk , directamente obtenidas del programa de simulacion, nos permite estimar los valores
esperados de las funciones objetivo as como la funcion objetivo ponderada,
k ) = f (sk ). A continuacion, el vector de variables de decision, xk , y el
Z(x
k ), son las entradas del algoritmo de
valor estimado de la funcion meta, Z(x
optimizacion, que devuelve un nuevo vector de variables de decision, xk+1 ,
y comienza una nueva iteracion del procedimiento. Este proceso naliza con
una estimacion de la solucion del problema (x , Z ) cuando el algoritmo de
optimizacion verica cierta regla de parada.
El algoritmo de optimizacion utilizado fue un algoritmo evolutivo, en particular, una estrategia evolutiva EE-(1+1), que opera con dos individuos, un

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 formar
parte de la siguiente generacion. El operador de mutacion crea el descendiente
a partir del padre y se ejecuta siguiendo la regla de 1/5 en la que la varianza
de la perturbacion depende de la proporcion de mutaciones exitosas (aquellas
en las que el descendiente es mejor que el padre).
Como cuestiones tecnicas del algoritmo de optimizacion, y en contraste con
la implementacion habitual, se generaron valores enteros para las variables de
decision, lo que hizo que se debiera modicar la regla de 1/5 para evitar la convergencia prematura a optimos locales. Se jo una varianza maxima y mnima
para la perturbacion y se aplico la regla de 1/5 de forma cclica. Cuando el
tama
no de la mutaci
on alcanzaba el mnimo, este valor se mantena, como
mucho, durante un cierto n
umero de iteraciones y, al acabar, se consideraba
de nuevo el tama
no maximo de la varianza.
Las funciones objetivo previamente construidas se evaluaron por medio
del modelo de simulacion de eventos discretos. Cada ejecucion del simulador
proporciono una estimacion de la media y la varianza de la funcion objetivo dividiendo la ejecucion en tramos (batches), con la amplitud del tramo
denida previamente. Para denir la longitud de las simulaciones se establecio un test estadstico de forma que haba un n
umero maximo de simulaciones,
pero esta poda ser interrumpida si dicho test encontraba diferencias signicativas que indicaran que la nueva solucion (hijo) era peor que la actual (padre),
en cuyo caso se interrumpa la simulacion y se pasaba a considerar una nueva
solucion.

26

Captulo 2 Optimization with simulation ...

La regla de parada para el algoritmo de optimizacion con simulacion combino dos reglas: un n
umero total de generaciones y un n
umero jo de generaciones sin mejorar las funciones objetivo.

2.4.

Resultados obtenidos

Los experimentos realizados en el trabajo estaban enfocados a mostrar el


funcionamiento de nuestro optimizador bajo determinadas condiciones, ya que
el uso nal de este estaba reservado a los gestores de la futura planta y, por
tanto, los valores de los parametros que nosotros utilizamos en el experimento
podran no coincidir con los que en su momento estipularan estos.
En primer lugar se propuso la optimizacion del sistema de reciclado con las
variables 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.
Tama
no del almacen: 50 x3 100.
Tiempo exponencial para la descontaminacion, con media entre 15 y 25
minutos (x4 ).
Un camion con capacidad para tres VFU.
Niveles de aspiracion igual a 80 para las funciones objetivo de maximo e igual a 10 para las funciones objetivo de mnimo, expresados en
porcentajes.
Pesos identicos para todas las metas.
N
umero maximo de iteraciones igual a 2000.
Valor inicial de en el operador de mutacion igual al 75 % del rango de
variacion de la variable.
Valor mnimo de en el operador de mutacion igual al 5 % del rango de
variacion de la variable.
La vericacion de la proporcion de mutaciones exitosas cada 20 individuos y la preservacion del mnimo valor de durante 5 iteraciones.
bmn = 5 y bmax = 15.

2.5. Conclusiones

27

Para determinar el tama


no de batch adecuado de cara a realizar la estimacion de las funciones objetivo se consideraron 24 conguraciones distintas
del sistema y se realizaron 50 ejecuciones considerando tama
nos de 1, 2, 3
y 4 a
nos. En la Tabla 3 del artculo (pagina 72 del Apendice A.1) se puede
ver que un tama
no de batch igual a un a
no era suciente para garantizar la
independencia en los datos recogidos. Tambien se estudio la dependencia de la
solucion nal respecto a como se tomaba la primera solucion del algoritmo. Se
considero que las variables partieran de la cota inferior, la superior o aleatoriamente. En la Tabla 4 del trabajo (pagina 72 del Apendice A.1) se muestran
los resultados obtenidos desprendiendose de estos la robustez del algoritmo,
ya que los resultados alcanzados eran equivalentes independientemente de la
poblacion de arranque del algoritmo.

2.5.

Conclusiones

El programa propuesto proporciono una herramienta u


til para el analisis de
una planta industrial dedicada a los procesos de descontaminacion y reciclado
de VFU, permitiendo a los gestores de Reciclauto S.L. evaluar, contrastar y
optimizar la operacion de la planta bajo diferentes conguraciones y diferentes
escenarios de trabajo.
Los ingenieros responsables reconocieron el incremento en el conocimiento
del problema con el uso de un programa de ordenador.
La principal contribucion de este trabajo reside en la resolucion de un
problema industrial real, habiendo integrado la optimizacion evolutiva en un
modelo multiobjetivo, junto con la optimizacion con simulacion de un modelo
de redes de colas.

Captulo 3

Representation and
management of MOEA
populations based on graphs
3.1.

Objetivos

Hasta el momento de la publicacion de este artculo se haba prestado muy


poca atencion al almacenamiento y manipulacion de las poblaciones de los
Algoritmos Evolutivos Multiobjetivo, realizandose, en la mayora de los casos,
por medio de listas. Algunos trabajos presentaban estructuras que almacenan
las soluciones ecientes de la poblacion, como por ejemplo las estructuras llamadas quad-trees (Mostaghim et al., 2002) o los dominated/nondominated
trees (Fieldsend et al., 2003), pero como ya se ha comentado, trabajan u
nicamente con las soluciones ecientes.
El objetivo principal de este artculo fue proponer una metodologa mas
eciente que las que haba hasta ese momento para la manipulacion de todos
los individuos de la poblacion, es decir, para las soluciones ecientes y las no
ecientes. La idea principal fue construir un grafo basado en las relaciones
de dominacion entre los individuos de la poblacion, en el que los nodos esten
asociados a las soluciones y mediante arcos se representen las relaciones de
dominacion entre las soluciones que unen, y trabajar insertando y eliminando
nodos y arcos en este grafo. Este grafo es un tipo especial de grafo llamado
reducci
on transitiva de un grafo dirigido.
Una vez denida la estructura y sus caractersticas, se generaron procedimientos para su creacion y actualizacion. Ademas, se realizaron estudios
teoricos y practicos de la complejidad computacional de estos algoritmos.
Las caractersticas mas importantes de la metodologa propuesta para la
29

30

Captulo 3 Representation and management ...

manipulacion de las poblaciones de los Algoritmos Evolutivos Multiobjetivo


son las siguientes:
Proporciona de forma explcita informacion sobre las relaciones entre las
soluciones.
Puede utilizarse para reimplementar operadores y algoritmos existentes.
Ahorra tiempo y espacio computacionales.
En la actualidad, sigue habiendo muy pocos trabajos dedicados al almacenamiento eciente de todos los individuos de la poblacion. El reciente artculo
de Shi et al. (2009) propone un arbol binario llamado dominance tree que
almacena la poblacion y la informacion sobre las dominaciones entre los individuos de la poblacion, con una idea y objetivos similares a los que propusimos.

3.2.

Aportaciones

La primera de las aportaciones fue la denicion de la estructura de Grafo


de Dominacion Irreducible (GDI) como una nueva forma de almacenamiento
de los individuos de la poblacion del Algoritmo Evolutivo Multiobjetivo, enunciando y demostrando un lema de caracterizacion de la irreducibilidad y un
teorema de unicidad de tal estructura. Ademas, se propuso un algoritmo de
construccion del GDI y un lema que demostraba que, efectivamente, el grafo
construido con tal algoritmo es un GDI.
Una vez construido el GDI, y puesto que este cambiara conforme la poblacion del algoritmo evoluciona, se propusieron dos algoritmos de actualizacion
del grafo, uno para la insercion y otro para la eliminacion de nodos, junto
con los correspondientes lemas que ayudaban a tal n y demostraban que los
grafos actualizados seguan siendo grafos de dominacion irreducibles.
Finalmente, se realizaron estudios teoricos y practicos de la complejidad
de todos los procesos presentados: almacenamiento del GDI, construccion del
GDI inicial, e insercion y eliminacion de nodos.
En particular, en este artculo 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.

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 insercion
y eliminacion de nodos.
Las complejidades en tiempo y espacio de los algoritmos.

3.3.
3.3.1.

Resumen
Definiciones previas y notaci
on

Un grafo G es un par (N , A) donde el conjunto N = {x1 , . . . , xn } es el


conjunto de nodos y el conjunto A = {(xi , xj )|xi , xj N } N N es el
conjunto 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 nodo
xj es una secuencia de arcos distintos, v1 , v2 , . . . , vp , p 1, tal que existe la
correspondiente secuencia de nodos xi = xs0 , xs1 , . . . , xsp = xj satisfaciendo
vh = (xsh1 , xsh ) A, para 1 h p. Un camino dirigido es simple si todos
los nodos xi = xs0 , xs1 , . . . , xsp = xj son diferentes. Un ciclo es un camino
dirigido en el que el primer y u
ltimo nodo coinciden. Un grafo G sin ciclos se
llama grafo acclico.
Denotaremos xi , xj si y solo si existe un camino dirigido simple de xi
a xj en G. Si el camino dirigido esta formado u
nicamente por el arco (xi , xj ),
podremos utilizar tambien la notacion xi xj , si es explcitamente necesario
enfatizarlo.
Dado un nodo xj , el nodo xi es un ancestro de xj si existe un camino
dirigido del nodo xi al xj , xi , xj , en G. Si xi es un ancestro de xj , entonces
xj es un descendiente de xi . Si existe el arco (xi , xj ) en G, entonces xi es un
padre 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 }

32

Captulo 3 Representation and management ...

Finalmente, sea G = (N , A) un grafo dirigido. La clausura transitiva de G


es el grafo G = (N , A ) donde A = {(xi , xj )|xi , xj N , xi , xj en G}. La
reducci
on transitiva de G es el grafo G = (N , A ) con el mnimo n
umero de
arcos satisfaciendo G = (G ), es decir, el grafo con el n
umero mnimo de arcos
cuya clausura transitiva coincide con la clausura transitiva del grafo original.

3.3.2.

Grafos de dominaci
on

La idea para la construccion de la estructura de almacenamiento fue asociar


a cada individuo xi Pt de la poblacion del Algoritmo Evolutivo Multiobjetivo
(es decir, a cada solucion potencial del problema multiobjetivo) un nodo xi
en un grafo G. Por medio de arcos dirigidos representaremos las relaciones de
dominacion entre los individuos de Pt . As, si xi , xj Pt , tales que xi domina a
xj , xi xj 1 , entonces existira el arco (xi , xj ) A en G. Por la transitividad de
la relacion de dominacion, un camino dirigido xi , xj tambien indicara que
la 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 Dominaci
on, GD, asociado a
la poblacion Pt del algoritmo evolutivo multiobjetivo.
Por construccion, los grafos de dominacion son grafos acclicos dirigidos,
pero, a priori, hay muchos grafos G que pueden servir para representar una
misma poblacion Pt .
La idea es elegir aquel grafo G para representar a Pt que sea lo mas
simple posible para hacer as mas eciente su manipulacion (construccion y
eliminacion o insercion de nodos). No nos olvidemos de que la poblacion Pt
del algoritmo evolutivo va cambiando conforme avanzan las iteraciones. Es
decir, deberemos elegir aquel grafo con el menor n
umero de arcos, pero que
represente todas las relaciones de dominacion existentes entre los individuos
de la poblacion. A este grafo lo llamaremos Grafo de Dominaci
on Irreducible.
Lema 1. Caracterizaci
on de la irreducibilidad de un grafo. Dada una
poblaci
on Pt y un grafo de dominaci
on asociado G, diremos que G es irreducible si y s
olo si xi , xj N tal que xi xj , s
olo se cumple una de las dos
condiciones siguientes:
(i) El u
nico 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 m
as arcos.
Este lema nos ayuda a probar la unicidad del grafo de dominacion irreducible.
En el artculo original, se utiliz
o la notaci
on xi xj para se
nalar que xi domina a xj ,
ver p
agina 77 del Apendice A.2.
1

3.3. Resumen

33

Teorema 1. Unicidad. Dada una poblaci


on Pt , el grafo de dominaci
on irreducible asociado a ella es u
nico.
Veamos esto sobre un ejemplo. Supongamos que el problema de optimizacion tiene dos funciones objetivo f1 , f2 que hay que minimizar. Supongamos tambien que en un momento de aplicacion del algoritmo evolutivo se
ha llegado a la poblacion de la Tabla 3.1, cuyo espacio de funciones objetivo
aparece representado en la Figura 3.1.
Tabla 3.1: Ejemplo de poblacion y valores de las funciones objetivo (f1 , f2 ).
Sol.
f

a
(0,3)

b
(3,0)

c
(1,7)

d
(4,4)

e
(5,1)

f
(2,9)

g
(6,5)

h
(7,2)

i
(8,8)

j
(9,6)

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


funciones.

Las relaciones de dominacion existentes entre las soluciones son las enumeradas en la Tabla 3.2. As, las soluciones ecientes son a y b, por lo que
ellas formaran la primera capa del grafo de dominacion. A continuacion, del
conjunto de soluciones restantes, {c, d, e, f, g, h, i, j}, las ecientes son c, d, y
e, por lo que ellas formaran la segunda capa del grafo. Aplicamos nuevamente
el proceso a las soluciones restantes, y la tercera capa del grafo esta formada
por las soluciones f, g y h, quedando i y j en la u
ltima capa.
En el grafo de dominacion, las soluciones se representan mediante nodos y
las relaciones mediante arcos, con lo que resulta el grafo de la Figura 3.2.

34

Captulo 3 Representation and management ...

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


Solucion
a
b
c
d
e

Domina a
c, d, f, g, i, j
d, e, g, h, i, j
f, i
g, i, j
g, h, i, j

Solucion
f
g
h
i
j

Domina a

i, j
i, 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 irreducible


que buscamos y que se muestra en la Figura 3.3.

3.3.3.

Construcci
on del grafo de dominaci
on irreducible

El algoritmo propuesto para la construccion de este grafo se basa en la


clasicacion en capas de los individuos de la poblacion Pt propuesta por Goldberg (1989). La idea es buscar los individuos ecientes en Pt , asignarles ranking
1 (primera capa del grafo) y eliminarlos de Pt . De esta nueva poblacion, se
vuelven a buscar los ecientes, se les asigna ranking 2 (segunda capa del grafo)
y se eliminan, repitiendo este proceso hasta clasicar en capas todos los individuos de Pt . En este momento, tenemos las capas del grafo. El siguiente paso
es a
nadir los arcos entre los individuos de una capa y las siguientes, en caso

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 por
ejemplo Breadth First Search (BFS) o Depth First Search (DFS). Ademas, en
el Lema 2 del trabajo se demuestra que el grafo construido con este algoritmo
es irreducible.
El algoritmo es el siguiente:
Paso 1. Paux = Pt , Nt = Pt , At =
Paso 2. Determinar X1 = {xi Paux |xi eciente}; l = 1
Paso 3. Paux = Paux \ X1
Paso 4. Determinar Xl+1 = {xi Paux |xi eciente}
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

36

Captulo 3 Representation and management ...

3.3.4.

Actualizaci
on del grafo de dominaci
on irreducible

En cada generacion del algoritmo evolutivo multiobjetivo, la poblacion


Pt evoluciona hacia Pt+1 tras la aplicacion de los operadores de mutacion y
recombinacion y el proceso de seleccion, por lo que el grafo G tambien va a
cambiar. Con el n de no tener que recalcular desde el principio el nuevo grafo
de dominacion y para reducir el tiempo de calculo, se estudian dos algoritmos:
uno para la eliminacion y otro para la insercion de nodos.
Eliminaci
on
Cuando un individuo xi Pt no pasa a formar parte de Pt+1 , el correspondiente nodo xi G ha de ser eliminado. En este proceso es necesario eliminar
tambien todas las relaciones entre xr y xi tales que xr xi (xr Ai ) y todas
las relaciones entre xi y xs tales que xi xs (xs Di ), as como eliminar xi
de G. Despues habremos de restablecer las relaciones de dominacion entre los
nodos xr y xs .
El Lema 3 del trabajo (ver pagina 80 del Apendice A.2) determina que
u
nicamente es necesario eliminar los arcos entre los nodos de Pi y xi y entre xi
y Ci , con lo que para restablecer las relaciones u
nicamente habra que hacerlo
ente 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

3.3. Resumen

37

Supongamos que en el ejemplo anterior el individuo g desaparece de la


poblacion. En este caso, hay que eliminar del grafo el nodo asociado, junto con
todos los arcos que entran o salen de dicho nodo. A continuacion, las relaciones
de dominacion existentes entre los restantes individuos de la poblacion han de
representarse en el grafo. La Figura 3.4 muestra estos pasos.

Figura 3.4: Eliminacion de nodos del GDI.

Inserci
on
Una insercion en el grafo se produce cuando un individuo nuevo entra
a formar parte de Pt+1 . Al insertar un nuevo nodo en G, lo primero que
hay que hacer es buscar la posicion (capa) en la que este nodo va a entrar.
Hay que identicar a los dominadores y los dominados del nodo xi , para lo
cual, con objeto de ahorrar tiempo computacional, se utiliza un proceso de
etiquetado que asegura que, en general, no se van a tener que hacer todas las
comparaciones con todos los individuos.
Una vez encontrada la capa en la que el nodo va a entrar, hay que reejar
las relaciones de dominacion mediante arcos y actualizar el grafo eliminando
los posibles arcos redundantes entre dominadores y dominados, puesto que
estas relaciones se reejan 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

38

Captulo 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 Bi de nodos de Bi sin marcar
Paso 3. Determinar el conjunto bi de nodos de bi sin marcar
Paso 4. At = At \ {(xj , xk )|xj Bi , xk bi }
Paso 5. Nt = Nt {xi }
Paso 6. xj Bi
At = At {(xj , xi )}
Paso 7. xj bi
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, los
valores de las funciones objetivo en k son (8, 6), las relaciones de dominacion
que 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 j
son sus descendientes. Entre estos individuos hay que encontrar a los padres
e hijos de k y eliminar los arcos que los unen. A continuacion, se a
nadiran
los arcos entre los padres de k y k, y entre k y sus hijos. En este ejemplo, los
padres de k son g y h y los hijos de k son i y j. Estos pasos se muestran en la
Figura 3.5.
Para ambos procesos de eliminacion e insercion de nodos se demostro en los
Lemas 4 y 5 del trabajo (ver paginas 80 y 81 del Apendice A.2) la correccion de
los algoritmos, garantizando que tras su aplicacion el nuevo grafo segua siendo
un GDI que contena todas las relaciones existentes en la nueva poblacion.

3.3.5.

C
alculo de la complejidad de los algoritmos propuestos

Sea m el n
umero de arcos de G; n el n
umero de nodos de G, que se corresponde con el n
umero de individuos de la poblacion P; y sea q el n
umero
de funciones objetivo del problema. En el artculo se calculo la complejidad
computacional, tanto de almacenamiento como en tiempo, para los algoritmos de construccion y actualizacion (eliminacion e insercion de nodos) de los
grafos. Estas complejidades se muestran en la Tabla 3.3, donde C(q, n) es la
complejidad del algoritmo de obtencion de las capas del grafo.

3.3. Resumen

39

Figura 3.5: Insercion de nodos en el GDI.

Tabla 3.3: Complejidad de los procesos.


Lema
Lema
Lema
Lema
Lema

6:
7:
8:
9:

Almacenamiento
Construccion grafo
Eliminacion de nodo
Insercion de nodo

Complejidad
O(m)
3
O(n + n2 q + C(q, n))
O(m n + n2 )
O(m + n q)

Dependiendo del algoritmo seleccionado para la obtencion de las capas del


grafo, se obtienen distintas complejidades para el algoritmo de construccion del
GDI inicial. Si, por ejemplo, es el algoritmo propuesto por Kung et al. (1975),
C(q, n) tiene complejidad de orden O(n (log n)q2 ) si q 4 y O(n log n) si
q 3 y por tanto, la complejidad del algoritmo de construccion del GDI inicial
es O(n3 + n2 q). Sin embargo, si el algoritmo es cualquiera de los propuestos
por Deb (2001) (p. 33-38), entonces C(q, n) = n3 q, y la complejidad del
algoritmo de construccion pasa a ser O(n3 q). Y si el algoritmo utilizado para
la 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 propuesto
es O(n3 + n2 q), pero en este caso, los requerimientos de almacenamiento se
incrementaran hasta O(n2 ), puesto que estos son los requerimientos necesarios
para el metodo propuesto por Deb (2001).

40

3.4.

Captulo 3 Representation and management ...

Resultados obtenidos. Experimento computacional

Ademas del estudio teorico de las complejidades, se llevo a cabo un analisis


computacional de los algoritmos propuestos. Se hicieron cuatro experimentos.
El primero de ellos tena por objeto vericar que, aunque el n
umero de arcos
de G esta acotado por n2 , en la practica, este n
umero es signicativamente
menor. El segundo experimento estudia el comportamiento del algoritmo de
construccion del grafo de dominacion irreducible inicial, concluyendo que la
complejidad practica en tiempo es menor que la teorica. Un analisis similar se
realiza en el tercer experimento con los algoritmos de eliminacion e insercion de
nodos. Finalmente, se muestra el uso de nuestra metodologa para el proceso
de seleccion del algoritmo N SGA II en el cuarto experimento.
Todos los experimentos se realizaron sobre una coleccion de problemas test
propuestos por Van Veldhuizen (1999) y Deb (2001) que han sido presentados
en la Seccion 1.3.7 del Captulo 1.

3.4.1.

Primer experimento: Requerimientos de almacenamiento

Para cada problema test, MOP1, . . . , MOP7, se consideraron 20 tama


nos
de poblacion (1000, 1100, . . . , 2900 individuos) y se generaron 10 poblaciones
sobre las que se aplico el algoritmo de construccion del grafo de dominacion
irreducible.
Para cada tama
no de poblacion, se recogieron los datos del n
umero de arcos
del GDI asociado a la poblacion, calculando el maximo, y se represento este
valor en funcion del tama
no de la poblacion, en un diagrama de dispersion. En
este graco se observo un comportamiento practicamente lineal. Se ajusto un
\ = b0 nb1 , obteniendose valores de b1 1
modelo de regresion potencial, tiempo
excepto para el problema MOP5 en el que se obtuvo un valor de b1 igual a
1.5929. Este valor era obviamente inferior al teorico. Este hecho era esperable
ya que el estudio teorico proporciona la complejidad en el caso mas desfavorable.

3.4.2.

Segundo experimento: Tiempo computacional para la


construcci
on del grafo de dominaci
on irreducible

En experimentos previos se observo que la aplicacion sucesiva del algoritmo


de insercion de nodos proporcionaba mejores resultados en cuanto al tiempo
computacional para la construccion del grafo inicial que el algoritmo propuesto
para su construccion, por lo que fue con este algoritmo con el que se trabajo.

3.4. Resultados obtenidos. Experimento computacional

41

Nuevamente, para cada uno de los 20 tama


nos de poblacion y 7 problemas test se generaron 10 poblaciones y se construyo el grafo, midiendo el
tiempo empleado para tal n. Se calculo el maximo de estos tiempos, y se
represento gracamente en un diagrama de dispersion, en funcion del tama
no
de la poblacion.
El modelo de regresion ajustado fue un modelo de regresion potencial
\ = b0 nb1 , obteniendose valores de b1 2 excepto para el probletiempo
ma MOP7 en el que b1 = 2.5, mientras que la complejidad teorica era del
orden de n3 .

3.4.3.

Tercer experimento: Inserci


on y eliminaci
on de nodos

Para estos experimentos, para cada problema y tama


no de poblacion se
construyo una poblacion y se inserto (elimino) un nodo 100 veces (en el caso de la eliminacion, 200 veces), midiendo el tiempo requerido. La diferencia
estribaba en que el proceso de eliminacion, debido a sus caractersticas, presentaba mas variabilidad que en el caso de la insercion.
\ = b0 nb1 , con valores del
El ajuste es similar a los anteriores, tiempo
parametro b1 1 excepto para MOP7 que vale 2. En general, en la practica,
para ambos algoritmos, el comportamiento puede considerarse lineal, mientras
que la complejidad teorica era del orden de n3 para el de eliminacion y n2 para
el de insercion de nodos.

3.4.4.

Cuarto experimento: Modificaci


on del proceso de selecci
on del algoritmo N SGA II

En este experimento se implemento una modicacion del proceso de seleccion del algoritmo N SGA II con y sin la metodologa que proponemos.
En cada iteracion del algoritmo, este proceso selecciona para la poblacion siguiente a aquellos individuos de las capas mas altas del GDI construido con la
poblacion de padres y la de descendientes juntas. Como la poblacion conjunta
tiene 2n individuos y hay que seleccionar n, algunas de las soluciones de las
capas mas bajas del GDI no entraran a formar parte de la nueva poblacion. En
el experimento realizado, en lugar de utilizar la distancia de crowding habitual del algoritmo N SGA II, se simplico el proceso eligiendo las primeras
soluciones de la capa en la que este el proceso de seleccion.
En este experimento se observo que, en general, obtenemos menores tiempos de ejecucion con la metodologa propuesta y que ademas, cuanto mayor
es el tama
no de la poblacion mayor es la ventaja de utilizarla frente al metodo habitual, ahorrando gran cantidad de tiempo (ver Figura 5 del artculo,
pagina 88 del Apendice A.2).

42

3.5.

Captulo 3 Representation and management ...

Conclusiones

La metodologa propuesta es una nueva forma de representacion y manipulacion de las poblaciones de los algoritmos evolutivos multiobjetivo que
mostro ser mas rapida que las utilizadas habitualmente mediante vectores o
matrices, sobre la coleccion de problemas test y los experimentos considerados.
Ademas, esta metodologa nos va a permitir denir de una forma mas comoda
operadores de recombinacion y mutacion que hagan un uso mas eciente que
los operadores actuales de la informacion sobre las relaciones de dominacion
entre las soluciones.

Captulo 4

A crossover operator that


uses Pareto Optimality in its
definition
4.1.

Objetivos

Los operadores de recombinacion y mutacion juegan un papel clave en el


dise
no de un algoritmo evolutivo. Ambos operadores son responsables de la
exploracion y explotacion del espacio de las soluciones. El objetivo de este
trabajo fue el desarrollo de un operador de recombinacion que utilizara informacion explcita sobre la calidad de las soluciones (eciencia o no de los padres)
en su dise
no, con objeto de obtener mejores rendimientos que los operadores
de recombinacion habituales en la literatura.
Mas especcamente, en este artculo se presento un nuevo operador de recombinacion de tipo uniforme que haca uso de la optimalidad Pareto y asignaba distinta capacidad de generar valores cercanos o alejados de los padres en
funcion de la calidad de la solucion. La idea es que el operador utilice las
soluciones buenas para explotar el espacio de soluciones (es decir, realizar
una b
usqueda en su entorno) y las no tan buenas para buscar en zonas del
espacio de soluciones mas alejadas. El operador tambien tiene en cuenta la
distancia entre las soluciones que se van a recombinar, dando mayor capacidad de variacion cuando las soluciones estan proximas. Mas especcamente,
en el caso de soluciones no ecientes, la capacidad de variacion por defecto
se incrementara o se reducira en un maximo del 33 %, manteniendo de esta
forma una capacidad importante de exploracion. Por otro lado, en el caso de
soluciones ecientes, su amplitud por defecto se multiplicara por un factor
que tiende a cero cuando aumenta el n
umero de iteraciones, de tal manera
que la capacidad exploratoria inicial se va sustituyendo progresivamente por
43

44

Captulo 4 A crossover operator ...

capacidad de explotacion.
Una vez presentado el operador de recombinacion, se llevo a cabo un experimento computacional para comparar el comportamiento del operador propuesto con el de otros operadores habituales en la literatura como son nave
o standard one-point crossover, linear crossover, blend crossover y simulated binary crossover, y que han sido presentados en la Seccion 1.3.3
del Captulo 1. Los resultados de los experimentos mostraron que el nuevo
operador se comportaba mejor que los restantes en la coleccion de problemas
test utilizada. Exceptuando casos puntuales, el nuevo operador obtiene mejores
valores de las medidas consideradas (diferencia de hipervolumen, distancia
generacional y cubrimiento de conjuntos) que los otros.

4.2.

Aportaciones

La aportacion de este trabajo fue la construccion de un operador de recombinacion cuya principal novedad era el uso de la informacion sobre la eciencia
de las soluciones, haciendo que las soluciones ecientes explotaran el espacio de soluciones y las no ecientes lo exploraran, tratando de encontrar un
equilibrio adecuado entre explotacion y exploracion. Esto se hizo teniendo en
cuenta la eciencia o no de los padres a recombinar y su proximidad o no,
comparada esta con la distancia media entre los individuos ecientes de la
poblacion.
En el experimento realizado se puso de maniesto la superioridad del operador presentado frente a los otros operadores considerados.

4.3.
4.3.1.

Resumen
Esquema general

Comenzaremos este resumen presentando el esquema general del operador.


Sea Pt la poblacion del algoritmo en la t-esima generacion y P OSt su
conjunto Pareto optimo, es decir, el conjunto de soluciones ecientes de Pt .
En la estructura de grafo de dominacion irreducible, P OSt coincide con la
capa superior del grafo.
Se calcula la distancia eucldea entre todas las parejas x(i,t) y x(j,t) , con
P OSt , dist(x(i,t) , x(j,t) ). A continuacion, se calcula la media,
(ef
f,t)
d
, y la desviacion tpica, (ef f,t) , de estas distancias.
x(i,t) , x(j,t)

Sean x(1,t) y x(2,t) las soluciones a recombinar y d = dist(x(1,t) , x(2,t) ) la


distancia eucldea entre ellas. Dependiendo de esta distancia, se aumentara o

4.3. Resumen

45

disminuira la semiamplitud del intervalo donde se crearan las soluciones. Para


llevar a cabo la recombinacion de x(1,t) y x(2,t) se consideran tres casos: ninguna de las soluciones es eciente, ambas son ecientes y solo una es eciente.
Los intervalos se construyen utilizando unos factores de correccion, denotados
mediante f N ef f y f (ef f,t) , cuyos valores se determinaran en la Seccion 4.3.2.
Caso 1: Ninguna es eciente. Las componentes nuevas se generan aleatoriamente en el intervalo:
[

(1,t)

xi

(1,t)

(2,t)

+ xi
2

(1,t)
|xi

(2,t)
xi |

N ef f

xi

(2,t)

+ xi
2

(1,t)
|xi

(2,t)
xi |

N ef f

Caso 2: Ambas son ecientes. Las componentes se generan aleatoriamente en los intervalos:
[
]
3
3
(1,t)
(2,t)
(1,t)
(2,t)
(ef f,t)
h
(ef f,t)
h
xi | f
xi | f
, xi + |xi
,
xi |xi
4
4

donde:
xhi =

(h,t)

xi ,
(3h,t)
xi
,

h = 1, 2,

con probabilidad 34 ,
con probabilidad 14 .

Es decir, el punto central del intervalo se intercambia con probabilidad


0.25.
Caso 3: Solo una solucion, por ejemplo x(1,t) , es eciente. En este caso,
un valor se obtiene en el intervalo
[
]
3
3
(1,t)
(2,t)
(1,t)
(2,t)
1
(ef f,t) 1
(ef f,t)
xi |xi xi | f
, xi + |xi xi | f
,
4
4
{

con

(1,t)

xi ,
(2,t)
xi ,

x1i =

con probabilidad 43 ,
con probabilidad 14 ,

y el otro valor en el intervalo


[
]
3
3
(1,t)
(2,t)
(1,t)
(2,t)
2
N ef f
1
N ef f
xi |xi xi | f
, xi + |xi xi | f
,
4
4
{

con
x2i

(1,t)

xi ,
(2,t)
xi ,

con probabilidad 41 ,
con probabilidad 34 .

46

Captulo 4 A crossover operator ...

4.3.2.

Factores de correcci
on

Asociadas a las soluciones no ecientes y ecientes de Pt hay unas cantidades, denotadas con f N ef f y f (ef f,t) , respectivamente, que inicialmente
toman el siguiente valor:
f N ef f = 1,
t
,
f (ef f,t) = 1 0.11 stepsIter

para las soluciones no ecientes,


para las soluciones ecientes,

donde stepsIter es el n
umero maximo de iteraciones ejecutadas por el algoritmo dividido por 10 y representa la funcion suelo. Estas cantidades se
multiplicaran por un factor de correccion, denido como la siguiente funcion,
representada gracamente en la Figura 4.1:

4/3,

1 + 0.11
f actor =

2/3,

d(ef f,t) d
(ef f,t)

si d < d(ef f,t) 3 (ef f,t) ,


[
si d d(ef f,t) 3 (ef f,t) ,
]
d(ef f,t) + 3 (ef f,t) ,
si d > d(ef f,t) + 3 (ef f,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 (primer
caso), el factor de correccion es constante e igual a 4/3, lo que hace que aumente en un 33 % el intervalo en el que se van a generar las soluciones. Si
las soluciones estan muy alejadas (tercer caso), el factor es constante e igual
a 2/3, lo que reduce este intervalo tambien en un 33 %. En las situaciones

4.3. Resumen

47

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


1 + 0.11

d(ef f,t) d
,
(ef f,t)

que, como maximo, ampla o reduce el intervalo en un 33 %.


Finalmente, hay que hacer notar que en todos los casos las soluciones se
generan aleatoriamente en los intervalos indicados utilizando una distribucion
uniforme. Si la solucion obtenida resultara ser no factible, se genera otra de
la misma manera. Ademas, a todas las componentes de las soluciones involucradas se les aplica la recombinacion.

4.3.3.

Planteamiento de los experimentos

Para comprobar el buen funcionamiento del operador propuesto, denotado


en el experimento como P BC (Pareto Based Crossover), se dise
no el siguiente
experimento computacional. Se programo un algoritmo evolutivo multiobjetivo basico como el de la Figura 1.1 del Captulo 1, en el que en el paso variar
Pt u
nicamente intervino el operador de recombinacion. Se comparo el operador de recombinacion propuesto con los cuatro operadores de recombinacion,
nave, linear, blend y simulated binary crossover, mencionados en el Captulo
1, en la Seccion 1.3.3, y denotados en este captulo mediante C1 , C2 , C3 y C4 ,
respectivamente; y bajo los tres esquemas de seleccion diferentes, de supervivientes, de eliminados y elitista, del Captulo 1, Seccion 1.3.5, y denotadas
aqu mediante S1 , S2 y S3 , respectivamente.
Para comparar las poblaciones resultantes de la aplicacion del algoritmo
evolutivo basico con cada uno de los operadores de recombinacion, se consideraron las siguientes medidas de la calidad del conjunto de soluciones ecientes:
diferencia de hipervolumen, distancia generacional y cubrimiento de conjuntos,
que han sido previamente expuestas en el Captulo 1, Seccion 1.3.6.
El algoritmo se ejecuto sobre una coleccion de problemas test habituales
en la literatura que son las versiones rotadas y/o desplazadas de los problemas
ZDT y DTLZ, y que han sido presentados en la Seccion 1.3.7 del Captulo 1.
El desarrollo fue el siguiente: se tomo un tama
no de poblacion jo igual a
100 individuos. Se denio un escenario para cada una de las combinaciones de
los niveles de los factores n
umero de iteraciones (100, 500 y 1000) y operador
de seleccion (S1 , S2 y S3 ), con lo que se tenan nueve escenarios posibles. Para
cada problema test se generaron 50 poblaciones iniciales y se ejecuto el algoritmo utilizando cada uno de los cinco operadores de recombinacion (el nuevo
y los cuatro de la comparacion), considerando cada uno de los 9 escenarios
posibles. As, para cada problema y combinacion de escenario y operador de
recombinacion, se obtuvieron 50 poblaciones nales. De estas poblaciones se

48

Captulo 4 A crossover operator ...

extrajeron los conjuntos de soluciones ecientes y sobre ellos se calcularon los


valores de las medidas anteriormente mencionadas.

4.4.

Resultados obtenidos

Para cada problema, en cada escenario se calculo y represento gracamente


la media de cada medida obtenida sobre las 50 poblaciones. Estas representaciones gracas pueden verse en las Figuras 3 a 11 del artculo (ver paginas 103
a 107 del Apendice A.3). Pero como el valor de la media por si solo no es
suciente para garantizar el mejor comportamiento de nuestro operador, se
realizaron tambien contrastes de hipotesis de comparacion de medias emparejando los datos de nuestro operador con los de los operadores restantes en cada
uno de los escenarios. Los resultados obtenidos se codicaron en tablas de la
siguiente manera: Si aparece un signo + signica que el operador de recombinacion propuesto, P BC se comporta mejor que Ci . Si aparece un signo =
signica que ambos operadores, P BC y Ci , son equivalentes. Y nalmente, si
aparece un signo signica que el operador propuesto es peor que Ci . Estos
resultados se muestran en el artculo en la Tabla 2 con todos los problemas
juntos (ver paginas 108 y 109 del Apendice A.3) y en las Tablas 3 a 6, con
cada problema por separado (ver paginas 111 a 114 del Apendice A.3).
Ademas, en la Tabla 2 de resultados conjuntos aparece el intervalo de
conanza para la diferencia de medias de las medidas en las muestras emparejadas MCi MP BC , siendo M cualquiera de las tres medidas anteriormente
mencionadas.
Como se han elegido tres medidas para cuanticar la calidad del conjunto
de soluciones, el problema de decidir que operador de recombinacion es mejor
es, en si mismo, un problema multiobjetivo. Por ello se tomo la siguiente
decision de compromiso: si la diferencia entre el n
umero de signos + y
en un escenario es positiva diremos que el operador de recombinacion P BC es
mejor que el operador Ci en ese escenario. Si la diferencia es negativa, diremos
que el operador Ci es mejor que P BC en ese escenario. En caso contrario,
diremos que los operadores Ci y P BC se comportan de forma equivalente.
Se puede observar en la Tabla 2 del artculo que no hay ning
un escenario
en el que el operador Ci se comporte mejor que P BC en las tres medidas
simultaneamente. Es mas, se puede observar que P BC es siempre mejor que
los operadores C2 y C4 en todos los escenarios considerados y en todas las medidas. Respecto a C1 , solo con la medida HD este operador presenta mejores
resultados que P BC en cuatro de los nueve escenarios, siendo P BC mejor
que C1 en los cinco restantes y en todos con las otras dos medidas. Respecto
a C3 , u
nicamente en dos escenarios este es mejor que P BC con la medida
HD y equivalente en otros dos. En los restantes escenarios y medidas, P BC

4.5. Conclusiones

49

presenta mejor comportamiento que C3 . Por tanto, globalmente se puede concluir que el operador propuesto P BC presenta mejor comportamiento que
Ci , i = 1, 2, 3, 4 cuando se consideran todas las medidas y de acuerdo con la
solucion de compromiso adoptada.
A la vista de las Figuras 3 a 11 y de las Tablas 3 a 6 del artculo, se puede
concluir que ninguno de los operadores considerados es claramente mejor que
P BC en todos los problemas. Es mas, C1 siempre se comporta peor que P BC
excepto en tres escenarios del problema R-DTLZ3, y son equivalentes en un
escenario del problema R-DTLZ2. P BC es siempre mejor que C2 . C3 no se
comporta mejor que P BC en los problemas S-ZDT1, S-ZDT4, R-ZDT4, SDTLZ2, R-DTLZ2 y R-DTLZ3 en los que P BC es mejor que C3 en todos.
Solo en los problemas S-ZDT2 y S-ZDT6, el operador C3 es mejor que P BC
en algunos escenarios (dos para S-ZDT2 y cuatro para S-ZDT6), por lo que
solo es en el problema S-ZDT6 en el que C3 es mejor que P BC. Finalmente,
P BC se comporta mejor que C4 excepto en dos escenarios en los que son
equivalentes 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 tiene


en cuenta la calidad de la solucion y la distancia entre padres en relacion con la
distancia media entre las soluciones ecientes. Este operador se comparo con
cuatro operadores de recombinacion estandar.
De los experimentos llevados a cabo, se concluye que el nuevo operador
de recombinacion presentado se comporta mejor que los otros operadores de
recombinacion considerados para los problemas test considerados. Excepto
para algunos escenarios, el operador propuesto obtiene mejores valores para
las medidas consideradas que los otros operadores.

Captulo 5

A Mutation Operator based


on a Pareto Ranking for
Multi-Objective Evolutionary
Algorithms
5.1.

Objetivos

El operador de mutacion se considera un elemento importante en el dise


no
de algoritmos evolutivos puesto que es el que, en general, ayuda a crear diversidad en la poblacion y, por tanto, a evitar que el algoritmo converja a
un optimo local. En el caso de algoritmos evolutivos con codicacion real, el
control del tama
no del paso/varianza es un elemento muy importante en el
dise
no del operador de mutacion.
Los objetivos de este trabajo son similares a los del trabajo anterior pero
centrados en el operador de mutacion en lugar del de recombinacion. De esta
forma, en este artculo se presenta un nuevo operador de mutacion cuya principal novedad es el hecho de que utiliza la calidad de la solucion, medida en
terminos de la capa Pareto en la que la solucion esta localizada, para modular
la amplitud maxima de la mutacion, teniendo tambien en cuenta la iteracion.
A continuacion, se compara el comportamiento de este operador con el de
otros operadores de mutacion habituales en la literatura, random mutation,
polynomial mutation, non-uniform mutation y Gaussian mutation, que
han sido presentados en la Seccion 1.3.4 del Captulo 1, utilizando una coleccion de problemas test. Como se vera, el nuevo operador de mutacion tiene
mejor comportamiento que los habituales.

51

52

5.2.

Captulo 5 A mutation operator ...

Aportaciones

La aportacion de este artculo fue la denicion de un nuevo operador de


mutacion y el estudio realizado para compararlo con operadores de mutacion
ampliamente utilizados en la literatura, mediante el cual se conrma la superioridad de nuestro operador.
El operador presentado tiene un comportamiento dinamico en dos sentidos.
Por un lado, tiene un control determinista del tama
no del paso, puesto que depende de la iteracion: como las soluciones obtenidas en las iteraciones iniciales
del algoritmo no seran tan buenas como las encontradas en las u
ltimas, inicialmente, dara a las soluciones capacidad exploratoria (es decir, pasos grandes)
que, conforme avancen las iteraciones, se ira sustituyendo por capacidad de
explotacion (pasos peque
nos). 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 por
tanto, la evolucion del algoritmo), basandonos en el concepto de capas Pareto
introducidas por Goldberg (1989), siguiendo la idea del heurstico Shrink the
step size when making progress, expand when stuck. Esto signica que las soluciones buenas se utilizaran para explotar el espacio, mientras que las no
tan buenas lo seran para explorarlo.

5.3.

Resumen

El funcionamiento de este operador se articula utilizando dos elementos: la


calidad de la solucion y la iteracion actual del algoritmo. Para la presentacion
del operador, se mostrara primero la parte basada en la calidad (ranking) y
luego 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 la


poblacion, por ejemplo, el denido por Goldberg (1989), y presentado en la
Seccion 1.3.2 del Captulo 1. Denimos una funcion (r), tal que asigne valores
peque
nos a valores peque
nos de r (soluciones buenas) y valores grandes a
soluciones con ranking r grande (soluciones no tan buenas). En particular,
t
(r) : {1, 2, . . . , rm
ax } [0, 1],
t
aximo de los indidonde en la iteracion t-esima, rm
ax representa el ranking m
t
viduos de Pt , Esta funcion (r) debera vericar que (1) = 0, (rm
ax ) = 1,

t
0 < (r) < 1, r {1, 2, . . . , rmax } y (r) < (r ) si r < r . Tambien sera deseable que la funcion (r) tenga la cualidad de equilibrar adecuadamente la

5.3. Resumen

53

aportacion de las soluciones en funcion de su calidad. Si se introduce un parametro de forma, , en la denicion de la funcion, resultara mas facil modular
su comportamiento.
Entre las muchas funciones que verican las propiedades antes mencionadas,
se ha denido la funcion (r) de la siguiente manera:

(r) =

1 e(r1)
1 e(rmax 1)
t

y su comportamiento se ilustra en la Figura 5.1 (en el artculo se muestran


otras posibilidades de eleccion de la funcion (r), cuyas gracas se muestran
en la Figura 2 de la pagina 127 del Apendice A.4).

0.0

0.2

0.4

(r)

0.6

0.8

1.0

(r)=(1 e (r1)) (1 e (rmax1)), 1 1

10

15

20

rank value

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

Como ventajas destacables de esta funcion podemos nombrar el hecho de


que el comportamiento de las curvas, dependiendo del valor del parametro
t
, es simetrico respecto a la recta que va de (0, 0) a (rm
ax , 1), por lo que es
facil 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 sucientemente representativo.
Como ya se ha comentado, (r) va a controlar la amplitud maxima de
mutacion de los individuos en el sentido de que asignara amplitudes maximas

54

Captulo 5 A mutation operator ...

mas grandes a aquellos individuos con valores altos del ranking (es decir, a
los de las capas inferiores del grafo de dominacion irreducible asociado) y
amplitudes maximas mas peque
nas a los individuos con valores peque
nos del
ranking (es decir, soluciones de las capas superiores del grafo).

5.3.2.

Mecanismo basado en la iteraci


on

La idea anterior se completa incorporando la dependencia de la iteracion de


tal forma que, en las etapas iniciales, la funcion mantiene el valor de (r) propuesto pero, seg
un avanzan las iteraciones del algoritmo, el nuevo mecanismo
tiende a reducir el valor inicial de amplitud maxima de la mutacion proporcionada por (r). Esta idea se aplica tanto a las soluciones ecientes como a las
no ecientes aunque con ponderaciones diferentes. Por ejemplo, en las etapas
iniciales, el conjunto de soluciones ecientes 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 (eciente) en las etapas iniciales podra tener
una amplitud maxima de mutacion igual al 25 % del rango de variacion de
la variable y en las iteraciones siguientes, las soluciones de ranking 1 tendran
amplitudes maximas mas peque
nas, siendo practicamente cero en las u
ltimas
iteraciones del algoritmo. Sin embargo, las soluciones con valores grandes de
ranking (soluciones no ecientes) mantendran siempre una amplitud maxima
de mutaci
on grande a pesar de la reduccion.
Con las ideas anteriores en mente, se propuso el operador de mutacion de
la siguiente manera:
(t+1)

xk

(L)

(
)
(t)
(U )
(L)
= xk + u (t,r) xk xk
,
(U )

donde u U(0, 1), xk y xk son las cotas inferior y superior, respectivamente, de la componente k-esima de x y (t,r) dene la amplitud dependiendo
del ranking r y de la iteracion t de acuerdo con:
{

(t,r)

2 (t) + (1 (t)),
(t) + (1 (t)) (r),

donde

(
(t) = 0.25

tmax t
tmax

t
si rm
ax = 1,
t
si rm
ax 2,

)2
,

tmax es el n
umero maximo de iteraciones y es un parametro que habra que
jar.
t
Si todas las soluciones son ecientes, es decir, rm
ax = 1, la amplitud de las
mutaciones esta basada u
nicamente en la iteracion t y disminuye conforme t

5.3. Resumen

55

aumenta, de forma similar al operador de mutacion no uniforme. Ademas, en


este caso, la amplitud maxima de mutacion de estas soluciones se mantiene,
durante la mayora de las iteraciones, mayor que la que se tendra en caso de
que hubiera simultaneamente soluciones ecientes y no ecientes (lneas con
r = 1 y punteada del graco de la Figura 5.2). Esto es debido a que si solo hay
soluciones ecientes, estas deben ser tambien responsables de la exploracion
del espacio de b
usqueda. El termino (1 (t)) garantiza que esta amplitud
maxima no llega a hacerse 0 conforme avanzan las iteraciones, si todas las
soluciones son ecientes.
Respecto al parametro que aparece en la expresion de (t,r) , este representa el mnimo tama
no de paso maximo a considerar seg
un avanzan las
iteraciones, para prevenir que el operador de mutacion haga mutaciones que
no modiquen realmente los valores de las componentes. As, el valor depende del rango de variacion de las variables de decision. En los problemas
considerados en las pruebas, estos rangos son similares y por ello se ha tomado
un valor com
un de igual a 0.0001.
En relacion con la constante 0.25 de la denicion de (t) se ha establecido
de esta manera para que al comienzo de la ejecucion, el tama
no maximo de la
mutacion para las soluciones ecientes sea igual a este valor.
Para jar el valor del parametro se ha llevado a cabo un experimento que
se explicara mas adelante, junto con los parametros de los otros operadores de
mutacion considerados.
Con objeto de ilustrar el operador propuesto, la Figura 5.2 muestra el comportamiento del valor de (t,r) de una poblacion hipotetica que tuviera ranking
maximo constante e igual a 5. Mediante lneas continuas, en la parte de arriba
del graco, 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 que
la amplitud maxima de la mutacion es igual a 1. Para soluciones con valores
de ranking menor que 5, la amplitud maxima se reduce conforme avanzan las
iteraciones. Ademas, la amplitud maxima de las soluciones ecientes (las de
ranking igual a 1) comienza con valores proximos a 0.25 y naliza con valores
proximos a 0. Mediante puntos se muestra la evolucion de (t,r) cuando se
t
supone que rm
on de la amplitud suponiendo que
ax = 1, es decir, la evoluci
todos los individuos fueran ecientes.

5.3.3.

Selecci
on de par
ametros en los operadores RM O, P M O,
N U M O y GM O

Como en nuestro primer experimento se utilizo, como operador de variaci


on,
u
nicamente el operador de mutacion, podra ocurrir que los valores que habitualmente se utilizan en la literatura para los parametros asociados a los

56

0.8

r=5

0.6

r=4

0.4

r=3

0.2

r=2
r=1

0.0

Maximal step size

1.0

Captulo 5 A mutation operator ...

10

20

30

40

50

Iteration

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

operadores de mutacion considerados ( para RM O, para P M O, b para


N U M O y 0 para GM O) no fueran los mejores ya que estos valores se habran
jado, presumiblemente, en un algoritmo evolutivo que utilizara, ademas del
operador de mutacion, uno de recombinacion. Por tanto, previo a nuestro experimento, propusimos realizar otro para determinar los mejores valores de
los parametros de los operadores de mutacion considerados. En la Tabla 5.1
aparecen los operadores junto con el parametro, sus caractersticas y cuatro
posibles valores, de entre los que elegimos el mejor.
Tabla 5.1: Valores de los parametros de los operadores.
Operador
RM O

Par
ametro

NUMO

PMO

GM O

P RBM O

Caractersticas
A mayor ,
mayor amplitud de mutacion
A mayor b, menor probabilidad
de obtener amplitud grande
A mayor , menor probabilidad
de obtener amplitud grande
0 representa la mnima
amplitud maxima permitida
Equilibrio en la aportacion
de las soluciones buenas y las malas

Valores
0.1, 0.25,
0.5, 0.75
1, 2,
5, 8
5, 10,
15, 20
105 , 104 ,
103 , 102
-0.5, -0.1,
0.1, 0.5

El proceso seguido fue el siguiente. Se tomo un tama


no jo de poblacion
igual a 100 individuos y una probabilidad de mutacion igual a 1/n excepto para
el operador GM O en el que todas las componentes de todos los individuos se
mutan ya que es lo habitual en este operador. Se denio un escenario como
una combinacion de los factores n
umero de iteraciones y operador de seleccion.
Cada factor tena tres niveles (100, 500 y 1000 para el n
umero de iteraciones
y S1 , S2 y S3 para el operador de seleccion) por lo que haba nueve escenarios

5.3. Resumen

57

diferentes.
Para cada problema se generaron 30 poblaciones iniciales que se hicieron
evolucionar considerando cada uno de los distintos operadores de mutacion con
los distintos valores de los parametros en cada uno de los nueve escenarios. De
estas poblaciones nales, se extrajo el conjunto de soluciones ecientes sobre
las que se calculo el valor de la medida diferencia de hipervolumen, HD. Se
selecciono u
nicamente una medida para simplicar el proceso, y, en particular,
se tomo HD ya que esta medida tiene en cuenta a la vez la distribucion
uniforme de las soluciones a lo largo del Pareto front y la parte del Pareto
front cubierta.
A continuacion se calculo, para cada operador de mutacion, el n
umero de
veces en las que el operador, con un valor determinado del parametro, ganaba,
respecto a la medida HD, al mismo operador pero con otro valor del parametro
cuando evolucionaba la misma poblacion inicial bajo los mismos escenarios.
Con estos valores se ejecuto un test de hipotesis para determinar cuales podan
ser considerados estadsticamente equivalentes, comparando todas las parejas.
Despues de este proceso, los valores seleccionados para los parametros, que
se utilizaran en los dos experimentos posteriores, fueron los que se muestran
en la Tabla 5.1 en negrita. Una descripcion mas detallada puede verse en la
Seccion 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 propuesto con los operadores de mutacion considerados se realizaron dos experimentos similares al del artculo anterior. En el primero de ellos, en el que
comparamos el funcionamiento del operador propuesto con los restantes, se
dise
no un algoritmo evolutivo como el de la Figura 1.1 del Captulo 1 en el
que en el paso variar Pt se considero u
nicamente el operador de mutacion.
Se comparo el operador de mutacion propuesto con los cuatro operadores de
mutacion, aleatorio, polinomial, no uniforme y gaussiano, mencionados en el
Captulo 1, en la Seccion 1.3.4, y denotados mediante RM O, P M O, N U M O
y GM O, respectivamente.
En el segundo experimento comparamos la implementacion clasica del algoritmo N SGA II con una nueva en la que se sustituyo el operador de
mutacion por el nuevo que proponemos.
Los problemas test, los operadores de seleccion y las medidas utilizadas
para llevar a cabo las comparaciones de los conjuntos de soluciones ecientes
fueron los mismos que los utilizados en el trabajo anterior.

58

Captulo 5 A mutation operator ...

5.4.

Resultados obtenidos

5.4.1.

Primer experimento: Comparaci


on de P RBM O frente a
RM O, N U M O, P M O y GM O

Para este experimento se seleccionaron los mismos escenarios, tama


no de
poblacion y probabilidad de mutacion que para el experimento de seleccion de
parametros, pero en este caso, para cada problema se generaron 50 poblaciones
iniciales distintas de las anteriores. A partir de aqu, el experimento es similar
al contado en la Seccion 4.3.3 del Captulo 4, pero cambiando el papel de los
operadores de recombinacion por los de mutacion y obteniendo la mediana en
lugar de la media.
Las Tablas 6 a 9 del artculo (ver paginas 140 a 147 del Apendice A.4)
muestran las medianas de HD y GD y de la diferencia C(P RBM O, M O)
C(M O, P RBM O), siendo M O cualquiera de los operadores RM O, N U M O,
P M O o GM O. Los resultados del test de Wilcoxon de igualdad de medianas
fueron codicados de forma analoga al artculo anterior: si aparece un signo
=, signica que ambos operadores M O y P RBM O se pueden considerar
equivalentes; si aparece un signo , signica que P RBM O se considera peor
que M O; y si aparece un signo +, indica que P RBM O se considera mejor que
M O, pero este signo se ha omitido para simplicar las tablas de resultados.
Al igual que ocurra en el caso del operador de recombinacion, al tener tres
medidas para comparar los operadores, tenemos un problema multicriterio,
por lo que se adopto la misma solucion de compromiso que en el Captulo 4
para comentar los resultados del experimento: si la diferencia entre el n
umero
de signos + y en un escenario es positiva, diremos que P RBM O es mejor
que M O en ese escenario. Si la diferencia es negativa, diremos que M O es
mejor que P RBM O en ese escenario. Y en otro caso, diremos que M O y
P RBM O son equivalentes.
En el trabajo estan comentados los resultados problema por problema y en
conjunto. Globalmente, se puede decir que P RBM O proporciono, en general,
mejores resultados que los restantes operadores. Solo hubo un escenario, con
100 iteraciones y seleccion S3 , con uno de los problemas (S-DTLZ2), en el que
todos los otros operadores eran, simultaneamente, mejores que P RBM O. En
los restantes casos no volvio a producirse una situacion similar; en algunos
casos, aparece un signo = o , pero solo para algunos operadores. Si tuvieramos que seleccionar un operador entre los competidores que hiciera frente
a P RBM O sera muy difcil o incluso imposible. Puede observarse que RM O
junto con N U M O con 100 iteraciones son los que tienen mas signos = o
(cuatro y cinco, respectivamente, en total, frente a solo uno de P M O y
GM O). Cuando consideramos 500 iteraciones, la situacion anterior se diluye
un poco ya que P RBM O resulta ser mejor que RM O en todos los casos y

5.5. Conclusiones

59

N U M O mantiene dos situaciones en las cuales es equivalente a P RBM O.


Finalmente, con 1000 iteraciones, puede se
nalarse que el operador N U M O en
los problemas de tres funciones objetivo (S-DTLZ2, R-DTLZ2 y S-DTLZ3)
es el u
nico que trata de presentar un mejor comportamiento que P RBM O
obteniendo tres signos = y un signo .

5.4.2.

Segundo experimento: implementaci


on de N SGA II

En este segundo experimento se comprobo que la introduccion de nuestro


operador mejoraba un algoritmo clasico como es el algoritmo N SGA II.
En este caso se consideraron solo tres escenarios denidos al variar el factor
n
umero de iteraciones en el conjunto habitual {100, 500, 1000}. Se realizo el
mismo contraste de comparacion de medianas de antes sobre las poblaciones
obtenidas con la version original de N SGAII y con la version de N SGAII
utilizando nuestro operador, N SGA IIP RBM O .
En este caso, tras realizar el test estadstico se obtuvo, para todas las medidas, signos +, concluyendo que en todos los problemas test, el rendimiento
de la implementacion que utilizaba el operador propuesto era superior. Debido a esto no se mostraron las tablas en el trabajo, incluyendo en su lugar los
diagramas de caja de los valores obtenidos, donde se ponen de maniesto los
mejores resultados del operador propuesto (ver Figuras 5, 6 y 7 del artculo
original, paginas 152 y 153 del Apendice A.4).

5.5.

Conclusiones

En este artculo se propuso un nuevo operador de mutacion que considera la


calidad de la solucion y la iteracion para modelar la amplitud de la mutacion.
Este operador se comparo con cuatro operadores de mutacion estandar y se
utilizo para reimplementar el algoritmo N SGA II.
A la vista de los resultados obtenidos se puede concluir que el nuevo operador P RBM O tiene claramente mejor comportamiento que los restantes en los
problemas test utilizados. Es un operador que proporciona mejores resultados
que los operadores de mutacion considerados y que mejora el comportamiento
de un algoritmo de referencia clasico como es N SGA II.

Ap
endices

61

Ap
endice A

Artculos publicados
A.1.

Optimization with simulation and multiobjective analysis in industrial decision-making: A


case study

63

64

Apendice A.1 Optimization with simulation ...

European Journal of Operational Research 140 (2002) 373383


www.elsevier.com/locate/dsw

Optimization with simulation and multiobjective analysis


in industrial decision-making: A case study
I. Alberto a, C. Azcarate b, F. Mallor
a

b,*

, P.M. Mateo

Department of Statistical Methods, Faculty of Mathematics, University of Zaragoza, 50009 Zaragoza, Spain
b
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 reuse (any operation by which components of ELV
are used for the same purpose for which they were

Corresponding author.
E-mail addresses: isolina@posta.unizar.es (I. Alberto),
cazcarate@unavarra.es (C. Azcarate), mallor@unavarra.es
(F. Mallor), mateo@posta.unizar.es (P.M. Mateo).

conceived), recycling (the reprocessing in a production 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 producer responsibility, collection and recovery of
ELVs should no longer be a responsibility of
public authorities and should be shifted to economic operators (producers of materials and of
vehicles, distributors, dismantlers, shredders, recoverers and recyclers). This means that the Governments of the European Community States shall

0377-2217/02/$ - see front matter 2002 Elsevier Science B.V. All rights reserved.
PII: S 0 3 7 7 - 2 2 1 7 ( 0 2 ) 0 0 0 7 5 - 9

65

Apendice A.1 Optimization with simulation ...

374

I. Alberto et al. / European Journal of Operational Research 140 (2002) 373383

take the necessary measures to ensure that these


economic operators set up systems for the collection 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 European 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 decontaminating 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 vehicles (type of truck, number of trucks, hours of
work, etc.). Furthermore, different plant management policies are defined and contrasted. To accomplish 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 indicate 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 before, it is necessary for them to be previously decontaminated. 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.

66

Apendice A.1 Optimization with simulation ...

I. Alberto et al. / European Journal of Operational Research 140 (2002) 373383

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 arrives 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 decontamination 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 filters, 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 decontamination 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 vehicles 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 process 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 Operations Research methodologies: queueing networks, 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-

375

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 technique for analysing queueing network complex
systems.
We modelled this industrial system through a
queueing network model (Fig. 2), with the following characteristics:
Two servers connected in series: the decontamination 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, licensing 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 vehicles 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, SEAi; 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

67

Apendice A.1 Optimization with simulation ...

376

I. Alberto et al. / European Journal of Operational Research 140 (2002) 373383

Fig. 2. Queueing network model.

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


kj  SEAi
kij
12  WKDi  hours
with kj the annual generation rate of ELVs associated with the jth scrap heap; WKDi 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 decontamination 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 properties 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 analytical 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 technique 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 simulation model to represent the design and management of this industrial plant. Thus, allowing
the agents of Reciclauto S.L. to compare the performance under several scenarios defined by the
working capacity, storage spaces, transport capacity 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 industrial 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 simulation 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 simulation is that it provides no concrete solutions to
problems, but only possible ones, evaluating the

68

Apendice A.1 Optimization with simulation ...

I. Alberto et al. / European Journal of Operational Research 140 (2002) 373383

377

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
Number, capacity, speed, ELV loading and unloading times
fleet of trucks
Working day for the
Start and finish of work time of the truck, including the possibility of extra time in order to end trips that
trucks
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
Parameters that also affect the priority service discipline. The first one defines the upper threshold from
Upper and lower
which it is necessary to try to empty the storage area (danger of saturation), by activating the
occupation rates of
corresponding mechanism (to give priority to return ELV to the nearest scrap heap). The second one
the plant
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

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 feasible solutions. Modern simulation tries to avoid
this drawback by combining the simulation process with an optimization method that automatically 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

69

Apendice A.1 Optimization with simulation ...

378

I. Alberto et al. / European Journal of Operational Research 140 (2002) 373383

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 operational 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 related 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 transportation 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 maximum staying time allowed (z5 );
minimize the expected time of ELV in the system (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 system: arrivals of ELV, v, decontamination
times, w, and delivery times, y.
We then defined a multicriteria decision problem, 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 appropriate deviation variables is minimized:
3
X

wi zi ai

6
X

wi zi ai :

i4

i1

But, as these objective functions are random


variables and therefore, so is the goal programming objective function, we considered the minimization of its expected value, that is,
Min Zx

3
X

wi Ezi ai

i1

6
X

wi Ezi ai :

i4

Furthermore, as the objective functions expected values, Ezi hi x; p, do not have an explicit functional expression in terms of x and p, it is
through the simulation that the value of such expected values can be estimated.
Thus, for the resolution of this optimization
problem we combined optimization with simulation 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 performance measures, sk , directly obtained from the
statistical accumulators of the simulation program, allows us to estimate the expected values of
the objective functions as well as the goal programming objective function, Z^xk f sk . Now,
both the vector of the decision variables, xk , and
the estimated value for Z; Z^k , are the inputs for the
optimization algorithm, which returns a new vec-

Fig. 3. Scheme of optimization with simulation.

70

Apendice A.1 Optimization with simulation ...

I. Alberto et al. / European Journal of Operational Research 140 (2002) 373383

tor of decision variables, xk1 , 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 criterion.
3.3.2. Optimization algorithm. Evolutionary Computation
The optimization algorithm used to solve the
problem in our simulationoptimization method is
an Evolutionary Algorithm. Evolutionary Algorithms, currently included under the name of
Evolutionary Computation, are problem-solving
methods based on the principles of natural evolution (Goldberg, 1989; Schwefel, 1995; Michalewicz,
1996; Back et al., 1997). The general structure of an
Evolutionary Algorithm is the following. In each
iteration, a population of individuals, that represents potential solutions to a problem, is maintained. A measure of quality allows us to evaluate
these individuals. With this evaluation a selection
process favouring the best individual is accomplished. The descendants of these individuals are
generated by random processes modelled by the
mutation operator (light modifications in an individual) and by recombination or crossing (information 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
ack 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 processes, 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 Evolutionary Algorithms: Genetic Algorithms (GAs),
Evolutionary Strategies and Evolutionary Programming.
In this application we used an Evolutionary
Strategy (ES). These strategies usually handle
continuous variables, employ mutations with

379

normal distribution and deterministic selection


operator. Concretely, we used an ES-(1 + 1) (B
ack
and Schwefel, 1995; Schwefel and B
ack, 1995).
This algorithm (Fig. 4) operates with two individuals, one father and one descendant per generation, which compete with each other. If the
descendant is better than the parent, the descendant 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 maximum variance for the perturbation and the 1/5rule 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 considered 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).

71

Apendice A.1 Optimization with simulation ...

380

I. Alberto et al. / European Journal of Operational Research 140 (2002) 373383

Fig. 5. Mutation operator.

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 automobile 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 estimation of the mean and variance of the objective
function, by dividing the complete run in several
batches. The size of the batch was previously defined. To avoid the effects of the seasonal component, 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 expensive, 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 solutions, we used a mixed criterion to stop the simulation 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 between the results of the current simulation and the
reference one:
k

H0 : Zx Zx

k1

H1 : Zxk 6 Zxk1 :

Fig. 6. Simulation stopping criterion.

We used the sample mean, Z^xk , and the sample standard deviation, S^z xk , obtained from the b
batches simulated until then, to test the hypothesis
that the expected value Zxk is equal to the expected value Zxk1 . We also used in this test the
values Z^xk1 and S^z xk1 obtained in the previous iteration of the algorithm.
Note that if the difference shows a better solution 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 interrupted. 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 optimization when a reference solution of small value and
small variance is available, which makes the discrimination of non-promising solutions faster.
The stopping criteria for the simulationoptimization algorithm combine two rules: a fixed total
number of generations and a fixed number of generations without improving the objective function.

4. Results
In this section we shall show some of the results
obtained when applying the proposed algorithm to

72

Apendice A.1 Optimization with simulation ...

381

I. Alberto et al. / European Journal of Operational Research 140 (2002) 373383

the model of the industrial plant for the decontamination and recycling of ELV.
As an example, we present the results for the
following parameters and bounds for the variables:
minutes of work of the industrial plant,
360 6 x1 6 480;
minutes of work of the trucks, 360 6 x2 6 480;
size of the storage area, 50 6 x3 6 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 preservation of the minimum sigma through 5 further iterations;
bmin 5 and bmax 15.

Table 3
Autocorrelations
Lag

Auto-corr.

Stand
err.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

)0.036
0.021
0.001
)0.155
)0.024
0.063
0.033
)0.133
)0.095
)0.152
)0.075
0.043
)0.138
0.074
)0.121
)0.052

0.137
0.136
0.134
0.133
0.132
0.130
0.129
0.127
0.126
0.124
0.122
0.121
0.119
0.118
0.116
0.114

BoxLjung
0.068
0.091
0.091
1.456
1.488
1.725
1.790
2.881
3.454
4.950
5.326
5.454
6.783
7.179
8.263
8.471

Prob.
0.795
0.955
0.993
0.834
0.914
0.943
0.971
0.942
0.944
0.894
0.914
0.941
0.913
0.928
0.913
0.934

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 simulator were done starting from different initial values: 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.
Random
212
243
570
670
242
695
680
658
291
1031

Decision variables
point
363
367
368
360
365
371
360
360
373
391

O.F.

S.D.

463
464
465
465
475
470
464
463
476
467

50
50
50
50
50
50
50
50
50
50

20
21
21
20
21
21
20
20
21
22

98.85
98.56
97.86
97.96
98.23
97.84
97.51
98.52
98.51
98.21

3.85
2.62
2.13
2.49
2.63
2.65
2.59
4.94
1.60
1.66

391
365
373
373
390

477
473
465
479
469

50
50
50
50
51

22
21
21
21
22

98.94
98.49
97.36
98.24
98.35

2.01
1.65
1.78
1.70
2.38

Upper bound
710
360
288
361
202
393
562
372
1033
377

466
475
465
478
474

51
51
51
50
50

20
20
22
21
21

98.76
98.09
99.57
98.25
97.18

4.09
3.31
2.12
3.27
2.32

Lower bound
693
368
186
394
249
378
1078
371
168
368

478
467
473
466
463

50
50
51
50
50

21
22
21
21
21

97.52
99.05
98.26
97.64
97.41

2.18
3.22
3.65
1.93
1.87

Midpoint
46
303
1415
1370
272

73

Apendice A.1 Optimization with simulation ...

382

I. Alberto et al. / European Journal of Operational Research 140 (2002) 373383

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

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 decontamination 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 execute 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 decontamination 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 increase 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 optimization 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 outlines problems for deeper theoretical studies. For
instance, as no similar plant exists, this project
presents a novelty and the preferences of the decision-maker are not well known. Then, to approach the multiobjective optimization problem
an interactive method seems to be helpful, allowing the decision-maker to become involved in the
solution process to find the best solution. We are
working on the incorporation of an interactive

74

Apendice A.1 Optimization with simulation ...

I. Alberto et al. / European Journal of Operational Research 140 (2002) 373383

goal programming technique, based on the method proposed by Reeves and Hedin (1993), and on
the construction of a Genetic Algorithm (GA)
with the ability to handle the interactive methodology and the special characteristics of the problem. The main idea of this GA is to evolve a
population of individuals which, at the end, includes 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 algorithm 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 Community (LIFE99 ENV/E/000375). The authors are
grateful to both the editor and referees for their
comments, which greatly improved the presentation of this paper.

References
B
ack, T., Schwefel, H.P., 1995. Evolution strategies I: Variants
and their computational implementation. In: Winter, G.,
Periaux, J., Galan, M., Cuesta, P. (Eds.), Genetic Algorithms in Engineering and Computer Science, Proceedings
of 1st Short Course EUROGEN-95. Wiley, New York, pp.
111126.
B
ack, T., Fogel, D.B., Michalewicz, Z. (Eds.), 1997. Handbook
of Evolutionary Computation. IOP Publishing and Oxford
University Press, Oxford.

383

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, Optimization 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), 857866.
Law, A.M., Kelton, W.D., 2000. Simulation Modelling and
Analysis, third ed. McGraw-Hill, New York.
Michalewicz, Z., 1996. Genetic Algorithm + Data Structures 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 Research 20 (7), 747753.
Rose, C., Yates, R.D., 1996. Genetic algorithms and call
admission to telecommunication networks. Computers and
Operations Research 23 (5), 48854899.
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
ack, T., 1995. Evolution strategies II: Theoretical aspects. In: Winter, G., Periaux, J., Gal
an, M.,
Cuesta, P. (Eds.), Genetic Algorithms in Engineering and
Computer Science, Proceedings of 1st Short Course EUROGEN-95. Wiley, New York, pp. 127140.
Walrand, J., 1988. An Introduction to Queueing Networks.
Prentice-Hall, Englewood Cliffs, NJ.
Whittle, P., 1986. Systems in Stochastic Equilibrium. Wiley,
New York.

A.2.

Representation and management of MOEA populations based on graphs

76

Apendice A.2 Representation and management ...

European Journal of Operational Research 159 (2004) 5265


www.elsevier.com/locate/dsw

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 multiobjective evolutionary algorithms (MOEAs). In this work, we present a new tool for representing and managing populations 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 multiobjective evolutionary algorithms (MOEAs) during the last years (Fonseca and Fleming, 1995;
Coello, 1999; Van Veldhuizen and Lamont, 2000)
have shown their great importance in the multiobjective field. This fact is presumably due to their
natural population-approach which makes these
methods very well suited for complex multiobjective problems.
*
Corresponding author. Tel.: +34-976-761000; fax: +34-976761115.
E-mail addresses: isolina@unizar.es (I. Alberto), mateo@unizar.es (P.M. Mateo).

The different MOEAs can be classified according 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 carried out by means of linear lists. In the literature, some works that use quad-trees structures
(Habenicht, 1983; Mostaghim et al., 2002) can be
found, but the purposes of those works are different. While quad-tree structures are used to

0377-2217/$ - see front matter 2003 Elsevier B.V. All rights reserved.
doi:10.1016/S0377-2217(03)00405-3

Apendice A.2 Representation and management ...

I. Alberto, P.M. Mateo / European Journal of Operational Research 159 (2004) 5265

handle efficiently sets of efficient solutions, in our


work, we present a methodology for handling the
whole population (efficient and non-efficient solutions). 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 following important characteristics. First, since it is a
representation methodology, it can be used to reimplement existing operators or algorithms. Another important element is the fact that the graph
structure provides us, in a more explicit way, with
the relations among the solutions, which can allow us to define new operators, new algorithms
and so on. With regard to its use in existing algorithms, 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 selection behaves more efficiently. This is because
when, for example, a new population is constructed, if some elements are retained from the
old one, it is only necessary to make the calculations corresponding to the new individuals because the information of the individuals that are
retained is already stored in the graph. Furthermore, when adding one individual to the population, 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 domination 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 carried out. Finally, the conclusions and future research lines are presented in Section 7.

77

53

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 objective with respect to the others. As the number of
competing objectives increases and less well behaved 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 fx 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, fx, cannot all be simultaneously improved. 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 say
that 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 solution x has less order than another y if x dominates 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.

78

Apendice A.2 Representation and management ...

54

I. Alberto, P.M. Mateo / European Journal of Operational Research 159 (2004) 5265

G N; A with a minimal number of arcs


 G .
satisfying G
3. Domination graphs

Fig. 1. General schema of an evolutionary algorithm.

Next, we shall introduce the graph elements


used in this paper. A graph G is a pair N; A
where the set N fx1 ; . . . ; xn g is called the node
set of G and its elements are called nodes; and the
set A fxi ; 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 ,
p P 1, such that a corresponding sequence of
nodes exists xi xs0 ; xs1 ; . . . ; xsp xj satisfying
vh xsh1 ; xsh 2 A, for 1 6 h 6 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 coincide. 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 directed 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 xj
if there exists a directed path from xi to xj , xi ,!xj ,
in G. If xi is an ancestor of xj , then xj is a descendant 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 j xj is an ancestor of xi g,
Pi fxj 2 N j xj is a parent of xi g,
Ci fxj 2 N j xj is a child of xi g,
Di fxj 2 N j xj is a descendant of xi g.

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


The transitive closure of G is the graph
 N; A where A fxi ; xj jxi ; xj 2 N; xi ,!
G
xj in Gg. The transitive reduction of G is graph

We define a domination graph (DG) as a graph


whose nodes, denoted by xi , have associated individuals 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 dominates 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. Let Nt  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 removed without affecting the domination relations
reflected in the graph are called redundant arcs.

Apendice A.2 Representation and management ...

I. Alberto, P.M. Mateo / European Journal of Operational Research 159 (2004) 5265

Since our graphs are acyclic, the transitive reduction (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 characterization of our IDG that we will later use.

79

55

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 irreducible. h

4. Construction of the irreducible domination graph


Lemma 1. Given a population Pt and a DG associated, 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.

In this section we shall outline the algorithm for


constructing IDGs associated with populations Pt .
Given a population Pt , an irreducible domination
graph can be constructed using the layers classification proposed by Goldberg (1989).
The algorithm is as follows:

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

Paux Pt , Nt Pt , At ;
Determine X1 fxi 2 Paux j xi efficientg; l 1
Paux Paux n X1
Determine Xl1 fxi 2 Paux j xi efficientg
8xj 2 Xl1
8xi 2 Xt , t l; . . . ; 1
if xi is unmarked and xi  xj
At At [ fxi ; xj g
mark xi and all currently unmarked
xk 2 Ai
S
unmark nodes of t1;...;l Xt
(6) Paux Paux n Xl1 ; l l 1
(7) If Paux 6 ; go to step 4

The following result can be found in other papers 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 ; A0t . Then there exist xi and xj such that xi  xj and there would exist
two different directed paths from xi to xj , one in At
and another in A0t . Without loss of generality, we
can suppose that these directed paths in which At
and A0t differ are: xi ! xj in At and xi ,!xj in A0t ,
i.e., in At the arc xi ; xj exists, and in A0t we go

(1)
(2)
(3)
(4)
(5)

Any standard search technique for graphs can


be used to accomplish the marking process of the
algorithm, for instance, BFS or DFS (BreadthFirst 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

80

Apendice A.2 Representation and management ...

56

I. Alberto, P.M. Mateo / European Journal of Operational Research 159 (2004) 5265

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 recombination, the selection process of the MOEA determines 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 recombined 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 domination 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 regarding 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.

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 relations that are to be re-established are only between
nodes from Pi and Ci .
Proof. The result is a consequence of the irreducibility of Gt and the transitivity of the domination
relation, since all the domination relations between 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 j xj is a parent
of xi g
(2) 8xj 2 Pi
At At n fxj ; xi g
(3) Determine the set Ci fxj 2 Nt j xj is a child
of xi g
(4) 8xj 2 Ci
At At n fxi ; xj g
(5) Nt Nt n fxi g
(6) 8xj 2 Pi
Mark all nodes of Dj
8xk 2 Ci unmarked
At At [ fxj ; xk g
Unmark all nodes of Dj

5.1. Node removal


The next process assumes that node xi is going
to be removed from the graph (its associated solution has not been selected for the new population). In this process it will be necessary to remove

Lemma 4. Let Gt be an IDG and G0t the graph obtained by applying the former algorithm to eliminate
the node xi . Then G0t is an IDG (it preserves all the
existing relations and does not reflect fictitious
ones).

81

Apendice A.2 Representation and management ...

57

I. Alberto, P.M. Mateo / European Journal of Operational Research 159 (2004) 5265

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 algorithm. 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 domination 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 population), 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 computational time, our methodology uses a labelling technique which ensures that, in general, we
do not have to make all the dominance comparisons with the existing individuals. After this, we
have to reflect all these new domination relations. 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 redundant.
The algorithm is as follows:
(1) 8xj 2 Nt and xj unmarked
if xj  xi mark all unmarked nodes of Aj and
Bi Bi [ fxj g
if xj  xi mark all unmarked nodes of Dj and
bi bi [ fxj g
(2) Determine the set Bi of unmarked nodes of Bi
(3) Determine the set bi of unmarked nodes of bi

(4) At At n fxj ; xk jxj 2


(5) Nt Nt [ fxi g
(6) 8xj 2 Bi
At At [ fxj ; xi g
(7) 8xj 2 bi
At At [ fxi ; xj g

Bi ; xk

bi g

Lemma 5. Let Gt be an IDG and G0t the graph obtained by applying the former algorithm to add the
node xi . Then G0t is an IDG (it preserves all the
existing relations, adds the new ones and does not
add fictitious relations).
Proof. We shall see first that G0t is 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 Bi to xs 2 bi because
in G0t there is a new directed path with two arcs
xr ! xi ! xs . But those arcs have been removed in
step 4 of the algorithm.
G0t preserves all the existing relations because
the only ones that could be affected by the insertion of xi are those that passed through an arc
xr ! xs in Gt with xr 2 Bi and xs 2 bi . But the
domination relation xr  xs is reflected in G0t by
means of the directed path xr ! xi ! xs , therefore
it is preserved.
G0t reflects the new domination relations because
the algorithm adds the arcs from Bi to xi and from
xi to bi and 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 domination relations xr  xi with xr 2 Bi and xi  xs with
xs 2 bi . 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.

82

Apendice A.2 Representation and management ...

58

I. Alberto, P.M. Mateo / European Journal of Operational Research 159 (2004) 5265
a
c

b
e

(a)

(b)

6. Complexity of the processes and computational


study

j
i

(c)

Lemma 6. The storage requirements of all the


processes are Om, where m is the maximum between the number of arcs at the beginning and at the
end of the process.

b
d

b
d

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.

Proof. Basically, the storage requirements are


being led by the storage of the arcs that are created. 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

Fig. 2. (a) Construction of the IDG, (b) removal of node g and


(c) new node addition.

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 solution 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.

In the following, the complexities will be calculated 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 processes.
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 On3 n2 q Cq; n
where Cq; 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 On. By hypothesis, steps 2 and 4 have
complexity Cn; q. Let us see that each iteration of

Table 1
Population and its objective function values f1 ; f2
Sol.

0; 3

3; 0

1; 7

4; 4

5; 1

2; 9

6; 5

7; 2

8; 8

9; 6

Apendice A.2 Representation and management ...

I. Alberto, P.M. Mateo / European Journal of Operational Research 159 (2004) 5265
2

step 5 can be done in a time On . 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, inside the if, one arc is added. All this takes Onq.
And also inside the if a labelling process is carried out for all xi . This takes, in the worst case,
On2 . Since this process is repeated for all
xj 2 Xl1 , step 5 takes On3 n2 q. Summing up
all these quantities we have a total complexity
On3 n2 q Cq; n. h
Let us observe that in general n  q and, in this
case, the complexity results in On3 Cq; 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, Cq; n
has complexity order Onlog nq2 if q P 4 and
Onlog n if q 6 3. Then, the complexity of our
algorithm is On3 n2 q. However, if the algorithm used is any of the ones proposed by Deb
(2001, pp. 3338), Cq; n n3 q, the complexity
order of our algorithm is On3 q. And if the algorithm used for constructing the layers is the
method proposed by Deb (2001, pp. 4243),
Cq; n n2 q, the complexity is On3 n2 q but in
this case, the storage requirements will increase up
to On2 (storage requirements needed for this algorithm).
Lemma 8. The time complexity of the node removal
algorithm is Omn n2 , independently of the
number of objectives, q.
Proof. Steps 1 and 3 have complexity order On
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 examining the arcs, we have to examine all the arcs
of the initial graph at most once. Then, the complexity is Om. Step 5 has order O1. In step 6,
for each parent, the labelling process has order
Om and, globally, we have to add at most n2 new
arcs. Then, the total complexity of step 6 is
Omn n2 . Consequently, the total complexity
order Omn n2 . h

83

59

Lemma 9. The time complexity of the node addition


algorithm is Om nq.
Proof. In step 1, we make at the most n dominance
comparisons and then we have complexity Onq.
In steps 1 we also use a labelling process to identify
Bi and bi (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,
Om. Then, the total complexity of step 1 is
Om nq. In steps 2 and 3, we examine at the
most every node of the graph, then the complexity
is On. The arcs deletion accomplished in step 4
has order Om, and the node deletion in step 5 has
order O1. Finally, steps 6 and 7 have complexity
On since, at the most, n arcs are added to the
graph. Summing up all these quantities, the total
complexity order is Om nq. h
As we have pointed out before, the node addition 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 On3 n2 q.
After the theoretical study, we present a computational analysis of the algorithms proposed. To
do so, four experiments have been designed. The
first one is directed towards verifying that, although 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 required 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 selection 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, adjacency 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

84

Apendice A.2 Representation and management ...

60

I. Alberto, P.M. Mateo / European Journal of Operational Research 159 (2004) 5265

storage requirements have order Om, and therefore they could reach order On2 , in our computational experiments, these requirements have had
a nearly linear behaviour. To test this we have
tried several regression models finding that the
b b0 nb1
best one is a power regression model m
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 Pearsons correlation coefficient and the
coefficients of the adjusted model are presented.
Observe that the adjusted model suggests that the
average complexity is Onb where b is approximately 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

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 confront efficient solution spaces of different characteristics, and then a more precise idea of the
behaviour of the methods facing different situations 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

x 10

MOP1

x 10

2.5

MOP2

2.5

1.5

1.5

0.5

0.5

0.5

2000
4

x 10

3000

1000

2000
4

MOP4

x 10

2.5

3000

1.5

1.5

0.5

0.5

0.5

2000

3000

1000

2000

x 10

MOP6

2000

3000

1000

MOP7

2.5

observed
adjusted

2
1.5
1

x axis: population size


y axis: arc number

0.5
1000

2000

3000

2.5

1.5

x 10

1000

MOP5

2.5

1000

MOP3

2.5

1.5

1000

x 10

3000

Fig. 3. Scatter-plots and adjusted models (m versus n).

2000

3000

85

Apendice A.2 Representation and management ...

61

I. Alberto, P.M. Mateo / European Journal of Operational Research 159 (2004) 5265
Table 2
Pearsons correlation and adjusted model coefficients
R2
b0
b1

MOP1

MOP2

MOP3

MOP4

MOP5

MOP6

MOP7

1
1.1706
1.0327

1
1.7045
1.1627

1
1.6739
1.1635

1
1.8198
1.1612

0.885
0.0210
1.5929

1
2.5546
1.1079

0.999
1.3527
1.2472

Observe that, although the theoretical complexity


is On3 n2 q, in practice, the adjusted model
suggests that the average complexity is Onb
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

our experiments than the IDG construction algorithm. 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 problem, the scatter-plot and the new best adjusted
d
model (again a power regression model time
b0 nb1 ). The points correspond to the maximum
time needed for each population size. In Table 3,
the square of Pearsons correlation coefficient and
the coefficients of the adjusted model are shown.

x 10

MOP1

x 10

MOP2

x 10

10

10

10

1000

2000
5

x 10

3000

1000

2000
5

MOP4

x 10

3000

1000
x 10

10

10

2
2000
5

x 10

3000

2000
5

MOP5

10

1000

2000

3000

1000

observed
adjusted

8
6

x axis: population size


y axis: time needed (microseconds)

4
2
1000

2000

3000

MOP6

1000

MOP7

10

MOP3

3000

Fig. 4. Scatter-plots and adjusted models (time versus n).

2000

3000

86

Apendice A.2 Representation and management ...

62

I. Alberto, P.M. Mateo / European Journal of Operational Research 159 (2004) 5265

Table 3
Pearsons correlation and adjusted model coefficients
R2
b0
b1

MOP1

MOP2

MOP3

MOP4

MOP5

MOP6

MOP7

1
0.0192
2.0907

0.993
0.0326
2.1135

0.997
0.0308
2.0941

0.996
0.0232
2.1597

0.999
0.0533
1.9771

0.998
0.0282
2.1191

0.996
0.0016
2.5532

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 estimated 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 105
for the node addition and 3 104 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. 235241). In each iteration of this pro-

added (removed) one node, computing the time


required, and after that, we have restored the initial population. We have considered more runs for
these algorithms because of their higher variability
caused by the high dependence on the characteristics 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 because of this higher variability, which can be attenuated by working with the mean. In Tables 4

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
Variance

72.44
11.43

139.13
146.61

114.04
199.94

137.66
323.47

84.58
33.25

125.37
396.32

156.15
425.66

1100

Mean
Variance

83.08
6.16

155.87
223.46

129.28
347.96

155.73
305.18

98.18
167.31

138.00
547.47

171.72
534.04

1200

Mean
Variance

89.43
6.60

169.19
170.48

137.73
406.85

170.52
535.29

101.18
26.15

154.41
566.39

191.64
617.38

1300

Mean
Variance

98.59
12.33

186.42
267.12

150.25
529.15

185.26
520.77

110.34
50.37

161.81
563.91

225.81
953.32

1400

Mean
Variance

105.45
13.01

201.57
318.88

163.30
800.21

200.09
497.74

122.27
103.71

182.62
749.55

247.52
1143.05

1500

Mean
Variance

114.82
7.68

214.55
352.21

172.04
621.43

219.38
938.85

130.35
185.68

191.60
765.86

297.43
1619.39

1600

Mean
Variance

123.42
14.29

228.72
348.16

189.88
790.35

226.36
939.62

138.31
153.28

208.71
1273.82

336.11
3272.81

1700

Mean
Variance

132.42
32.29

267.10
695.56

221.51
898.82

259.88
1183.21

145.96
134.92

227.51
1191.19

402.20
3947.31

1800

Mean
Variance

141.93
25.19

273.94
719.20

233.07
1374.58

294.13
1701.22

156.32
138.30

289.13
2039.83

467.21
6155.96

1900

Mean
Variance

148.92
9.46

332.31
1109.22

252.40
1729.55

326.97
1461.21

163.48
148.62

305.26
2368.95

553.19
10320.77

87

Apendice A.2 Representation and management ...

63

I. Alberto, P.M. Mateo / European Journal of Operational Research 159 (2004) 5265
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
Variance

16.70
189.01

124.14
5433.86

100.05
3967.33

139.46
9398.95

10.55
16.91

115.96
3870.63

230.82
20293.79

1100

Mean
Variance

23.83
347.58

133.47
5624.84

105.05
3687.72

149.69
7328.55

8.96
8.10

123.87
5844.28

242.13
22686.13

1200

Mean
Variance

21.54
323.34

153.39
7671.08

121.29
5458.07

170.45
8355.01

9.60
10.03

134.30
6120.96

265.56
44664.44

1300

Mean
Variance

28.66
572.29

163.85
8791.95

122.43
5590.17

179.39
9328.90

10.77
11.80

151.33
11146.84

286.23
37433.89

1400

Mean
Variance

27.50
591.40

164.92
9233.13

155.70
10945.07

192.38
14738.08

19.70
174.49

178.15
10422.14

395.50
81312.98

1500

Mean
Variance

33.62
778.31

184.79
10388.65

156.86
7657.19

217.64
19684.02

12.98
112.27

183.59
10164.63

393.20
76594.26

1600

Mean
Variance

37.01
914.32

215.24
15832.38

161.50
10716.48

254.24
19056.70

27.63
570.36

196.77
12071.38

455.10
78663.50

1700

Mean
Variance

37.85
1001.11

230.80
15027.57

182.13
31220.09

277.20
22795.72

18.84
94.32

218.89
16578.64

551.92
115521.2

1800

Mean
Variance

40.28
1039.44

281.27
24087.74

212.35
21907.03

316.33
30993.06

14.39
19.22

211.06
12115.96

665.52
195145.6

1900

Mean
Variance

47.03
1385.15

317.99
33763.04

258.64
29512.27

349.25
46516.42

15.23
24.33

270.65
20432.33

765.38
257204.1

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 nondominated sorting is over, the new population
Pt1 is filled by solutions of different non-dominated 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 Pt1 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 Pt1 , then, they proposed a niching
strategy to choose the members of this last front
that will be included in Pt1 . In our experiment we
have simplified this by directly taking for the last
front of Pt1 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 Pt1 . Firstly, we have measured this time using

a direct process, given Rt we carry out the nondominated sorting and selection of the best n solutions, using the On2 q non-dominated sorting
procedure proposed by Deb (2001, pp. 4243).
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 Pt1 . 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 behaviour 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 requirements are, in practice, almost linear, the nondominated sorting method always needs On2
storage requirements. In the light of these results,

88

Apendice A.2 Representation and management ...

64

I. Alberto, P.M. Mateo / European Journal of Operational Research 159 (2004) 5265
6

14
12
10
8
6
4
2

x 10

14
12
10
8
6
4
2
1000

14
12
10
8
6
4
2

x 10

14
12
10
8
6
4
2

x 10

2000

14
12
10
8
6
4
2
1000

14
12
10
8
6
4
2
2000

3000

MOP2

x 10

3000

MOP4

1000
6

MOP1

2000

3000

1000
6

MOP5

x 10

14
12
10
8
6
4
2
1000

MOP3

x 10

2000

3000

2000

3000

2000

3000

MOP6

x 10

1000

MOP7
mean time needed method 1
mean time needed proposed method

x axis: population size


y axis: time needed (microseconds)
1000

2000

3000

Fig. 5. Direct process versus implementation based on IDGs.

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 representation of populations of MOEAs by means of
graphs, as well as tools for their management, including algorithms for its construction, insertion
and removal of elements in populations. For all of
them, we have presented their outline, their complexities have been analyzed, and a first practical
study has been accomplished.
For all these algorithms, we have done a theoretical study of their correctness and complexity.
The work ends with a practical study which states
that the estimated practical complexity is substantially lower than the theoretical one (which
was always calculated in the worst case).

We wish to emphasize that in the last experiment, 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 efficiently 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, Goldbergs ranking, depth of the node in
the graph, Fonseca and Flemings ranking, cardinal 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). The main idea of these operators is
that they will use all the information contained in

Apendice A.2 Representation and management ...

I. Alberto, P.M. Mateo / European Journal of Operational Research 159 (2004) 5265

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 improved 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), 131137.
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: Algorithms and Codes. The MIT Press, Cambridge, MA.
Coello, C.A., 1999. A comprehensive survey of evolutionarybased multiobjective optimization techniques. Knowledge
and Information Systems 1 (3), 269308.
Cormen, T.H., Leiserson, C.E., Rivest, R.L., 1990. Introduction to Algorithms. The MIT Press, Cambridge, MA.
Deb, K., 2001. Multi-Objective Optimization Using Evolutionary Algorithms. John Wiley and Sons, Chichester.

89

65

Fonseca, C.M., Fleming, P.J., 1995. An overview of evolutionary algorithms in multiobjective optimization. Evolutionary
Computation 3 (1), 116.
Goldberg, D.F., 1989. Genetic Algorithms in Search, Optimization, 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. SpringerVerlag. pp. 136145.
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), 469478.
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. 843848.
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. 106120.
Srinivas, N., Deb, K., 1994. Multi-objective function optimization using nondominated sorting genetic algorithms.
Evolutionary Computation Journal 2 (3), 221248.
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), 125147.

Apendice A.3 A crossover operator ...

A.3.

91

A crossover operator that uses Pareto Optimality in its definition

92

Apendice A.3 A crossover operator ...

Top
DOI 10.1007/s11750-009-0082-7
O R I G I N A L PA P E R

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 Estadstica e Investigacin 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 multiobjective problems in which there are more than one objective function for comparing 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/Mara de Luna 3, 50018 Zaragoza, Spain
e-mail: isolina@unizar.es
P.M. Mateo (B)
Department of Statistical Methods, Faculty of Sciences (Mathematics), University of Zaragoza,
C/Pedro Cerbuna 12, 50009 Zaragoza, Spain
e-mail: mateo@unizar.es

93

Apendice A.3 A crossover operator ...

I. Alberto, P.M. Mateo


Fig. 1 General schema of an
evolutionary algorithm

generate 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 techniques by Eiben and Smith (2007).
Regarding the multiobjective optimisation field, since the Vector Evaluated Genetic 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 better solutions in a faster way. These elements can be: solution representation, management 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 presented.
In this work, a new crossover operator is introduced and compared to the following
operators (Deb 2001): nave crossover, linear crossover, blend crossover, and simulated 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 definitions 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.

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 usually impossible to find one optimal solution. Instead, algorithms for optimising multiobjective 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 P true . The image of
P true in the objective function space is called Pareto front and it will be denoted by
P F true .
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 individuals 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:
Nave 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
nave 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

95

Apendice A.3 A crossover operator ...

I. Alberto, P.M. Mateo

(L)

(U )

Fig. 2 Crossover operators considered. The values xi and xi represent 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) = (x1(1,t) , x2(1,t) ) and x(2,t) = (x1(2,t) , x2(2,t) ) are recombined taking
as the crossover point the second component, obtaining the offsprings x(1,t+1) =
(1,t) (2,t)
(2,t) (1,t)
(x1 , x2 ) and x(2,t+1) = (x1 , x2 ).
Linear crossover (C2 ) (Wright 1991): This operator creates three solutions from
two parents. The value of the ith component of the offsprings are obtained according to:
(1,t)
(2,t)
0.5 xi
+ xi
,

(1,t)

1.5xi

(2,t)

0.5xi

(1,t)

0.5xi

(2,t)

+ 1.5xi

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 denoted BLX-, generates individuals according to the following formula (assuming
(1,t)
(2,t)
xi
< xi ):
(1,t)

(1 i )xi

(2,t)

+ i x 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

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:

(1,t+1)
(1,t)
(2,t)
xi
= 0.5 (1 + i )xi
+ (1 i )xi
,

(2,t+1)
(1,t)
(2,t)
xi
= 0.5 (1 i )xi
+ (1 + i )xi
,
where
(
i =

(2u) +1
1
1
( 2(1u)
) +1

if u 0.5,
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 nonefficient, 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 between 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:

97

Apendice A.3 A crossover operator ...

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) =

pt2

2
pt

dist x(i,t) , x(j,t) ,

x(i,t) , x(j,t) POSt


i<j

v
u 2
(eff,t) = u
u 2
t pt pt

2
dist x(i,t) , x(j,t) d (eff,t) .

x(i,t) , x(j,t) POSt


i<j

Step 2: Let f Neff and f (eff,t) be the amplitude factors associated to the non-efficient
and efficient solutions, respectively, calculated according to
f Neff = 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 bc 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 individuals are close, the factors extend the default amplitude of the interval, 1(i) =
(1,t)
(2,t)
3
xi |, i = 1, . . . , n, in which the components of the descendants will take
4 |xi
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)
(ii)

4
3
2
3

(iii)
(iv) (1 +
(v)

if d (eff,t) = 0 or (eff,t) = 0,
if dist(x(1,t) , x(2,t) ) < d (eff,t) 3 (eff,t) ,

(1

d 0.11
)
(eff,t)
d 0.11
)
(eff,t)

if dist(x(1,t) , x(2,t) ) > d (eff,t) + 3 (eff,t) ,


if d (eff,t) 3 (eff,t) dist(x(1,t) , x(2,t) ) < d (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) .

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
(1,t+1)
(2,t+1)
xi
and xi
, will be generated taking two random values in the interval

(1,t)

xi

(1,t)

(2,t)

+ xi
2

x
4
1(i) f Neff , i
3

(2,t)

+ xi
2

4
1(i) f Neff .
3

Note that this corresponds to a BLX- operator, where 61 65 , depending on


the value f Neff .
(h,t+1)
Case 2: Both parents are efficient solutions. Then the two values, xi
, h = 1, 2,
for the new solutions are randomly created in the intervals

h
xi 1(i) f (eff,t) , xih + 1(i) f (eff,t) , h = 1, 2,
where, when we are obtaining xi(h,t+1) , xih is equal to xi(h,t) with probability 0.75
(3h,t)
or equal to xi
with 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

1
xi 1(i) f (eff,t) , xi1 + 1(i) f (eff,t) ,
(1,t)

(2,t)

with probability 0.75 or equal to xi


where xi1 is equal to xi
0.25. And the other value is taken in the interval

2
xi 1(i) f Neff , xi2 + 1(i) f Neff ,

with probability

where xi2 is equal to xi(2,t) with probability 0.75 or equal to xi(1,t) with 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 function 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 centred in (xi(1,t) + xi(2,t) )/2 or xih , and with a default amplitude equal to 43 1(i) or 1(i)
depending on whether Case 1, 2 or 3 holds. Our aim is to use non-efficient solutions 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 capacity 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 iterations 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.

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 performance of PBC is explained. We should remark that the aim of the paper is to compare the PBC with some of the existing crossover operators and not to create a new
Evolutionary Algorithm. Therefore, the comparison is accomplished using a nave
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 108 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 performance 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 before, 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 image in the objective space,
Hypervolume difference to a reference set (HD): The original hypervolume measure (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 minimised) 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 example, 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 objective 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.

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:
P
( ni=1 di2 )1/2
,
GD =
|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 P1 and P2 the non-dominated sets resulting from the execution of two different algorithms. This measure calculates the proportion of solutions in set P2 which are weakly dominated ( means or =) by solutions in
set P1 :
C(P1 , P2 ) =

|{b P2 |a P1 , a b}|
.
|P2 |

Since this operator is not symmetrical, both C(P1 , P2 ) and C(P2 , P1 ) have to be
calculated. In the best situation, P1 is better than P2 if C(P1 , P2 ) is close to one
and C(P2 , P1 ) is close to zero. In general, P1 is better than P2 if C(P1 , P2 ) is
notably greater than C(P2 , P1 ).
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 (Zitzler 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)

101

Apendice A.3 A crossover operator ...

I. Alberto, P.M. Mateo


Table 1 Properties of the test functions. S: Separable; NS: Nonseparable; U: Unimodal; M: Multimodal
Test

Objective

problem
1. S-ZDT1
2. S-ZDT2
3. S-ZDT4

Number of

Separability

Modality

Geometry

Convex

variables
f1

f2

>1

f1

f2

>1

f1

f2

>1

Concave
Convex

4. R-ZDT4

f1:2

>1

NS

Convex

5. S-ZDT6

f1

Concave

f2

>1

6. S-DTLZ2

f1:3

>1

Concave

7. R-DTLZ2

f1:3

>1

NS

Concave

8. R-DTLZ3

f1:3

>1

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) = P

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) = P

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.

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 operator 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 comparison 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: number 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 recombined. Also, when two individuals are selected for crossover, all their components
are recombined. The factor selection operator has three different levels which correspond 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 different 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 efficient 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 obtaining 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 operator is better for a given measure than other or not, we have considered carrying

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

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 hypothesis 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

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

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

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

S3

S2

+ : 0.992 0.004

+ : 0.730 0.042

+ : 0.122 0.013
+ : 48.13 7.500

+ : 0.047 0.004

: 130.9 33.06

HD

GD

+ : 0.783 0.039

+ : 0.418 0.054

+ : 0.301 0.016
: 17.43 15.19

+ : 0.062 0.010

: 202.9 46.63

HD

GD

+ : 0.734 0.043

+ : 0.450 0.051

+ : 0.325 0.014
+ : 32.19 16.03

+ : 0.122 0.014

: 164.2 41.62

HD

S1

+ : 0.993 0.004

+ : 71.79 9.764

+ : 0.120 0.013

+ : 0.849 0.038

+ : 84.05 13.14

+ : 0.306 0.017

+ : 0.776 0.043

+ : 142.6 22.96

+ : 0.320 0.015

+ : 0.856 0.034

+ : 182.1 33.24

+ : 0.102 0.009

+ : 0.732 0.048

+ : 79.26 19.51

+ : 0.109 0.009

+ : 0.674 0.042

+ : 87.81 15.14

+ : 0.095 0.005

100

100

1000

No. iterations
500

C2
No. iterations

C1

PBC versus

GD

Mea.

Sel.

+ : 0.957 0.016

+ : 355.5 66.16

+ : 0.181 0.017

+ : 0.827 0.033

+ : 215.5 48.50

+ : 0.236 0.016

+ : 0.766 0.039

+ : 271.4 50.36

+ : 0.182 0.013

500

+ : 0.957 0.016

+ : 376.7 70.74

+ : 0.172 0.016

+ : 0.789 0.033

+ : 270.4 60.50

+ : 0.214 0.018

+ : 0.672 0.039

+ : 374.4 74.66

+ : 0.172 0.015

1000

Table 2 Results of the hypothesis tests performed considering all problems simultaneously. 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. The
numbers represent the 95% confidence interval for the mean of the paired difference of measures MCi MPBC , by means of the mean value and the semiamplitude

108
Apendice A.3 A crossover operator ...

A crossover operator that uses Pareto optimality in its definition

S3

S2

+ : 0.285 0.066

+ : 0.407 0.065

=: 0.001 0.002
+ : 115.1 29.99

+ : 0.007 0.002

+ : 102.8 24.88

HD

GD

+ : 0.565 0.061

+ : 0.509 0.058

+ : 0.008 0.004
+ : 220.4 51.50

+ : 0.017 0.002

+ : 78.02 16.98

HD

GD

+ : 0.157 0.082

+ : 0.452 0.062

=: 0.002 0.006
+ : 155.1 39.91

+ : 0.028 0.004

+ : 63.09 14.26

HD

S1

+ : 0.231 0.066

+ : 84.12 23.11

+ : 0.002 0.002

+ : 0.532 0.061

+ : 299.3 70.25

: 0.008 0.006

+ : 0.087 0.082

+ : 211.6 55.78

: 0.022 0.008

+ : 0.768 0.050

+ : 107.5 26.60

+ : 0.134 0.010

+ : 0.667 0.057

+ : 76.15 22.94

+ : 0.141 0.010

+ : 0.688 0.050

+ : 149.0 33.16

+ : 0.180 0.013

100

100

1000

No. iterations
500

C4
No. iterations

C3

PBC versus

GD

Mea.

Sel.

Table 2 (Continued)

+ : 0.950 0.013

+ : 203.7 41.60

+ : 0.162 0.015

+ : 0.702 0.047

+ : 90.07 28.40

+ : 0.295 0.015

+ : 0.667 0.045

+ : 209.5 43.90

+ : 0.358 0.015

500

+ : 0.962 0.013

+ : 215.8 43.53

+ : 0.140 0.014

+ : 0.603 0.047

+ : 127.3 27.63

+ : 0.285 0.015

+ : 0.543 0.045

+ : 284.4 61.36

+ : 0.350 0.013

1000

Apendice A.3 A crossover operator ...

109

I. Alberto, P.M. Mateo

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 interval 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
105 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 decision 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 difference 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 simultaneously. 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 generational 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 hypervolume 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 behaviour than Ci , i = 1, 2, 3, 4, when considering all the measures together, according
to the compromise solution established.

111

Apendice A.3 A crossover operator ...

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.

S1

S2

S3

Measure

S-ZDT1. PBC versus


C2

C1

C2

No. iterations

No. iterations

No. iterations

No. iterations

100

500

1000

100

500

1000

100

500

1000

100

500

1000

HD

GD

HD

GD

HD

GD

C3
S1

S2

S3

S-ZDT2. PBC versus

C1

C4

C3

C4

HD

GD

HD

GD

HD

GD

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 ,

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.

S1

S2

S3

Measure

S-ZDT4. PBC versus


C2

C1

C2

No. iterations

No. iterations

No. iterations

No. iterations

100

500

1000

100

500

1000

100

500

1000

100

500

1000

HD

GD

HD

GD

HD

GD

C3
S1

S2

S3

R-ZDT4. PBC versus

C1

C4

C3

C4

HD

GD

HD

GD

HD

GD

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,

113

Apendice A.3 A crossover operator ...

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.

S1

S2

S3

Measure

S-ZDT6. PBC versus


C2

C1

C2

No. iterations

No. iterations

No. iterations

No. iterations

100

500

1000

100

500

1000

100

500

1000

100

500

1000

HD

GD

HD

GD

HD

GD

C3
S1

S2

S3

S-DTLZ2. PBC versus

C1

C4

C3

C4

HD

GD

HD

GD

HD

GD

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.

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.

S1

S2

S3

Measure

R-DTLZ2. PBC versus


C2

C1

C2

No. iterations

No. iterations

No. iterations

No. iterations

100

500

1000

100

500

1000

100

500

1000

100

500

1000

HD

GD

HD

GD

HD

GD

C3
S1

S2

S3

R-DTLZ3. PBC versus

C1

C4

C3

C4

HD

GD

HD

GD

HD

GD

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 scenarios, 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 coverage, 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.

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 behaves 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 performs 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 outperform 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 except in two scenarios in which they can be considered equivalent and three scenarios in which C4 performs better than PBC, all these cases in problem RDTLZ2.
Therefore, globally, we can conclude that the new crossover operator, PBC,
presented in this paper performs better than all the crossover operators considered.

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 relation 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

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 proposed by their authors with our operators and some of the currently most promising algorithms as those based on Differential Evolution for Multiobjective Optimisation. This approach was first introduced for uniobjective optimisation problems by Storn and Price (1995) and subsequently adapted for multiobjective optimisation 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 matemtico Garca Galdeano, University of Zaragoza, 8,
pp 119
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 732
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):182197
Deb K, Thiele L, Laumanns M, Zitzler E (2002) Scalable multi-objective optimization test problems. In:
Congress on evolutionary computation CEC2002, vol 1. IEEE Press, Piscataway, pp 825830
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 187202
Fonseca CM, Fleming PJ (1993) Genetic algorithms for multi-objective optimization: formulation, discussion and generalization. In: Forrest S (ed) Genetic algorithms: proceedings of the fifth international
conference. Morgan Kaufmann, San Mateo, pp 416423
Fonseca CM, Paquete L, Lopez-Ibanez M (2006a) An improved dimension-sweep algorithm for the hypervolume indicator. In: Congress on evolutionary computation CEC2006. IEEE Press, Vancouver,
pp 11571163
Fonseca CM, Paquete L, Lopez-Ibanez M (2006b) Computation of the hypervolume indicator, codes available in web page http://sbe.napier.ac.uk/~manuel/hypervolume. Accessed August 2008
Goldberg DE (1989) Genetic algorithms in search, optimization and machine learning. AddisonWesley,
Reading

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):265319
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):477506
Mezura-Montes E, Reyes-Sierra M, Coello CA (2008) Multi-objective optimization using differential evolution: a survey of the state-of-the-art. In: Chakraborty UK (ed) Advances in differential evolution.
Springer, Berlin, pp 173196
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: Grefenstette JJ (ed) Genetic algorithms and their applications, proceedings of the first international conference on genetic. Lawrence Erlbaum, Hillsdale, pp 93100
Storn R, Price K (1995) Differential evolutiona simple and efficient adaptive scheme for global optimization over continuous spaces. Technical report TR-95-12, International Computer Science, Berkeley,
California, pp 112
Wright AH (1991) Genetic algorithms for real parameter optimization. In: Rawlins GJE (ed) Foundations
of genetic algorithms. Morgan Kaufmann, San Mateo, pp 205218
Zitzler E (1999) Evolutionary algorithms for multiobjective optimization: methods and applications. Ph.D.
thesis, dissertation ETH no 13398, Swiss Federal Institute of Technology (ETH), Zrich, Switzerland
Zitzler E, Thiele L (1999) Multiobjective evolutionary algorithms: a comparative case study and the
strength Pareto approach. IEEE Trans Evol Comput 3(4):257271
Zitzler E, Deb K, Thiele L (2000) Comparison of multiobjective evolutionary algorithms: empirical results.
Evol Comput 8(2):173195
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 121

Apendice A.4 A mutation operator ...

A.4.

119

A Mutation Operator based on a Pareto Ranking for Multi-Objective Evolutionary Algorithms

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, EAs, 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, MOEAs, which makes use of the definition of Pareto optimality 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 proposed is compared with four well established and extensively used mutation operators: 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: mateo@unizar.es
I. Alberto
Department of Statistical Methods, Universidad de Zaragoza, Technical School of Industrial
Engineers, C/Mara de Luna 3, 50018 Zaragoza, Spain
e-mail: isolina@unizar.es

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 natural 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 techniques do not allow us to solve them directly. As a consequence, Operations Research
practitioners must resort to EAs.
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 Evaluated 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 EAs and MOEAs are highly time consuming algorithms so a great
amount of the research on them is focused on developing algorithms reaching better solutions in a faster way. The elements researchers try to improve are solution 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, mutation and crossover, that bear in mind the specific issues of Multi-Objective Optimisation Problems is scarce. On reading recent publications, we can find different
works devoted to the mutation operator (the majority considering the single objective 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, Larraaga 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

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 operators that can be found in the literature and it is also incorporated in a well known
MOEA, N SGA-I I , in order to show how the algorithm is improved.
The paper is organised as follows: In the next section we will present the definitions 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 mutation 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 experiments) 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-

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 functions 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 impossible to find a solution simultaneously optimising all the objective functions. Instead, 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 following:
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 P true . The image of
P true in the objective function space is called Pareto front and it will be denoted with
P F true .
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 individuals rank is equal to one

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 N SGA-I I 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
(t)
(t)
by Michalewicz (1996), given an individual x(t) = (x1 , . . . , xn ) belonging to the
(L) (U )
tth population Pt , it creates a uniform distributed value in the interval (xk , xk ),
(L)
(U )
where xk and xk are 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 neighbourhood of the parent solution according to:
(t+1)

xk

(t)

(U )

= xk + u 1 (xk

(L)

xk ),

125

Apendice A.4 A mutation operator ...

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 (P MO) 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:

xk(t+1) = xk(t) + xk(U ) xk(L) 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 (N U MO) (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. Furthermore, 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:

b
(t+1)
(t)
(U )
(L)
xk
= xk + xk xk
1 u(1t/tmax ) ,
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 operators 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
(t)
(t)
(t)
(t)
one corresponding to the standard deviations. If (x1 , . . . , xn , 1 , . . . , n ) represents an individual and its strategy parameters, the mutation operator works as
follows:
(t+1)

= k e

(t)

0 z+ z
k

(t+1)

= xk + k

(t)

(t+1)

xk

k = 1, . . . , n

zk0 ,

k = 1, . . . , n,

where z, zk , zk0 denote random numbers drawn from a Gaussian distribution with
zero mean and standard deviation 1. These kinds of variation operators in which

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 mutation operators. In this case, the mutation step sizes are co-evolved with the solutions. In the above formulae, parameters and 0 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
=p ,
2 n

1
0 =
.
2n
(t)

Furthermore, in order to prevent standard deviations, k , from becoming zero,


(t+1)
(t+1)
a boundary rule is commonly used: if k
< 0 then it is set to 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,
P RBMO, 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 maximum 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 using 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 iteration 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 amplitude 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,
t
(r) : {1, . . . , rmax
} [0, 1],

Apendice A.4 A mutation operator ...

127

P.M. Mateo, I. Alberto


t
represents the maximum rank of the individuals of the
where in iteration t, rmax
population of the MOEA in that iteration. Furthermore, it will verify that (1) = 0,
0
0
t ) = 1, 0 < (r) < 1, 1 < r < r t
(rmax
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 sut
perscript t has been deliberately removed from rmax
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 different 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)

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(r1) )/(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 individual 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 solutions 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 proceed. 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:
(t+1)

xk

(t)

(U )

= xk + u (t,r) (xk

(L)

xk ),

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

129

Apendice A.4 A mutation operator ...

P.M. Mateo, I. Alberto

t
Fig. 3 Assuming a constant value rmax
= 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
t
so on. On the other hand, assuming a constant value rmax
= 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)),

t
= 1,
if rmax

(t) + (1 (t)) (r),

t
if rmax
2,

where
(t) = 0.25

tmax t
tmax

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, becoming 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 evot
= 1.
lution of the maximal amplitude when the maximal rank is assumed as one, rmax
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 simultaneously. 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
t

(r) = (1 e(r1) )/(1 e(rmax 1) )

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 mutations 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 efficient 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 P RBMO. We should note that the aim of the paper
is to compare the P RBMO 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 experiments 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 wellknown N SGA-I I algorithm in its original version by Deb et al. (2002a) and using
our mutation operator P RBMO.
A PC Pentium IV 2.66 GHz under Linux Mandriva 2008 has been used to accomplish 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 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). Finally, precision of 108 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 measures that usually appear in the literature: Hypervolume difference to a reference

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 P F true 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 nondominated solutions reached after the execution of an optimisation algorithm and
P F its image in the objective space:
Hypervolume difference to a reference set (H D): The original hypervolume measure by Zitzler and Thiele (1999) calculates the volume covered by the hypercube
formed by the vectors of P F 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, H D, we calculate the difference between the hypervolume of the reference set contained in P F true obtained
from CEC (2007) and the hypervolume of P F . 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 P F true to be known. It calculates how far, on average, P F is from
P F true . For this measure, the smaller the value, the better the population.
Set coverage (C): Let P1 and P2 be the non-dominated sets resulting from the
execution of two different algorithms. This measure calculates the proportion of
solutions in set P2 which are weakly dominated by solutions in set P1 . Since
this operator is not symmetrical, both C(P1 , P2 ) and C(P2 , P1 ) have to be calculated. In the best situation, P1 is better than P2 if C(P1 , P2 ) is close to one
and C(P2 , P1 ) is close to zero. In general, P1 is better than P2 if C(P1 , P2 ) is
notably greater than C(P2 , P1 ).
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 EAs ability to deal with multifrontality; ZDT6 includes two difficulties caused by the non-uniformity of the search space (the P true are non-uniformly
distributed along the P F true and the density of the solutions is lowest near the P F true
and highest away from the front); in DTLZ2, the Pareto-optimal solutions
correspond
P
to xi = 0.5, i = 3, . . . , n and all objective functions must satisfy 3j =1 fj2 = 1; and
finally, DTLZ3 is the same as DTLZ2 except for function g, which introduces 83 local 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

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

P30

k=2 xk

h(f1 , g) = 1
ZDT2

x2 = (x2 , . . . , x30 )

q29

f1
g

f1 (x1 ) = x1

xk [0, 1]

f2 (x) = g h(f1 , g)

k = 1, . . . , 30

g(x2 ) = 1 + 9

P30

k=2 xk

g(x2 ) = 1

x2 = (x2 , . . . , x30 )

29

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


ZDT4

ZDT6

f1 (x1 ) = x1

x1 [0, 1]

f2 (x) = g h(f1 , g)

xk [5, 5]

g(x2 ) = 1

g(x2 ) = 1 + 10(n 1)
h
i
P
+ nk=2 xk2 10 cos(4 xk )
q
f
h(f1 , g) = 1 g1

k = 2, . . . , n

Best local Pareto

x2 = (x2 , . . . , xn )

optimal front:
g(x2 ) = 1.25

f1 (x1 ) = 1 exp(4x1 ) sin6 (6 x1 )

xk [0, 1]

f2 (x) = g h(f1 , g)
hP
i
30 xk 0.25
g(x2 ) = 1 + 9
k=2 29

k = 1, . . . , 30

g(x2 ) = 1

x2 = (x2 , . . . , x30 )

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


DTLZ2

f1 (x) = (1 + g) cos

x1
x12

f2 (x) = (1 + g) cos 2
x
f3 (x) = (1 + g) sin 12
Pn
g(x3 ) = k=3 (xk 0.5)2
DTLZ3

x1

x
cos 22
x2
sin 2

Spherical
Pareto-optimal

x3 = (x3 , . . . , xn )

front
P3

2
j =1 fj = 1

x2

cos
x 2 x 2
f2 (x) = (1 + g) cos 12 sin 22
x
f3 (x) = (1 + g) sin 12
h
P30
g(x3 ) = 100 28 + k=3 (xk 0.5)2

cos (20(xk 0.5))


f1 (x) = (1 + g) cos

xk [0, 1]
k = 1, . . . , n

xk [0, 1]
k = 1, . . . , 30
x3 = (x3 , . . . , x30 )

of these local Pareto-optimal fronts before converging to the global one), the P F true
is concave and multimodal and this problem tests the MOEAs ability to converge to
P F true .
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

133

Apendice A.4 A mutation operator ...

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
2. S-ZDT2

f1 , f2 : S/U

30

convex

f1 , f2 : S/U

30

3. S-ZDT4

concave

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 individuals). In iteration t, the selection probability pi (t) for each individual x(i,t) Pt
is obtained according to:
pi (t) = P

t
+ 1 ri
rmax
,

t
x(j,t) Pt rmax + 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

134

Apendice A.4 A mutation operator ...

A mutation operator based on a Pareto ranking for multi-objective

individual according to:


pi (t) = P

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 accomplished 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 individuals.
Elitist selection (S3 ): Taking into account the size of the population, the spare individuals with higher rank are removed from the population without random selection. The process is similar to the selection operator used in the algorithm N SGAI I proposed by Deb et al. (2002a): When several individuals are candidate for
elimination, the size of the largest cuboid enclosing any of them without including 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 N U MO and P MO, 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 authors 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 parameter 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,
N U MO and P MO, 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 during 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, P RBMO, the four values provide a small, but
representative, selection of the tradeoffs between good and bad solutions.

135

Apendice A.4 A mutation operator ...

P.M. Mateo, I. Alberto


Table 3 Candidate values for
free parameters in the mutation
operators

Operator

Parameter

Candidate values

RMO

0.10 0.25 0.5 0.75

N U MO

1258

P MO

5 10 15 20

GMO

105 104 103 102

P RBMO

0.5 0.1 0.1 0.5

To carry out all the experiments for these first calculations as well as for the remaining 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 probability 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 combination 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, H D, 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 P F and the proximity to it. Besides, we consider only one measure in order to
have a simpler decision problem. To calculate H D, 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 H D, and as it has been previously said, Table 4 contains, 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 H D, the same operator 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 Table 4(a), which corresponds to 100 iterations, means that, among the 720 executions
(30 initial populations 8 problems 3 selection operators) accomplished for each

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 P RBMO

(b) Parameter setting for P MO

No. iterations

No. iterations

Meas.

Version

100

500

1000

Meas.

HD

= 0.5

67

145(a)

260

HD

= 0.1

117

247(b)

199(a)

= 0.1

205

208(b)

172(a)

= 0.5

331

110(a)

89

Order

Version

100

500

1000

=5

473

183(a)

94

= 10

103(a)

304

153(a)

= 15

83(a, b)

143(a)

199(a)

= 20

61(b)

90

274
3

= 0.5

=5

= 0.1

= 10

= 0.1

= 15

2/3

= 0.5

= 20

(c) Parameter setting for RMO

Order

(d) Parameter setting for GMO

No. iterations

No. iterations

Meas.

Version

100

500

1000

Meas.

Version

100

HD

= 0.10

69

167

477

HD

0 = 102

286

238

88(a)

= 0.25

143

445

160

0 = 103

216

304

424

= 0.50

274(a)

69

61

0 = 104

146

101(a)

142

= 0.75

234(a)

39

22

0 = 105

72

77(a)

66(a)

0 = 102
0 = 103
0 = 104
0 = 105

Order

= 0.10

= 0.25

= 0.50

= 0.75

Order

500

1000

(e) Parameter setting for N U MO


No. iterations
Meas.

Version

100

HD

b=1

442

146(a)

127

b=2

214

444

357

b=5

60

111(a)

215

b=8

19

21
3

Order

500

1000

b=1

b = 2

b=5

b=8

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

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 P MO with = 10 presents better value of the measure H D than
with = 15, and there are no significant differences in the number of times in which
P MO with = 15 presents better value of H D than with = 20, as a consequence,
the pairs of values can be considered equivalent. However, there are significant differences 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 P RBMO, =
10 for P MO and 1 = 0.25 for RMO all of them with order 2, 1 and 2; 0 = 103
for GMO and b = 2 for N U MO, 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, P RBMO versus RMO, N U MO, P MO 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 N SGA-I I with the one incorporating P RBMO, 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 comparison 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 N SGA-I I , the original one and the one obtained by incorporating our mutation 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

A mutation operator based on a Pareto ranking for multi-objective

t
Fig. 4 Evolution of the mean value of rmax
for problem S-ZDT1 with the three proposed selection operators.

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 calculate all the measures of Sect. 5.1. To calculate H D, 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 summarize 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
t
definition of (t,r) is a significant value, i.e. the number of times in which rmax
> 1 is
t
significant. As an example, in Fig. 4 we can observe the evolution of rmax in function
of the number of iterations for the three selection operators proposed, for problem St
ZDT1 and 1000 iterations. The lines represent the mean value of rmax
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
t
associated to each problem, in which rmax
has taken the values 1, 2, . . . , 9 and higher
t
is strictly higher
than 9. The last column shows the percentage of times in which rmax
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.

139

Apendice A.4 A mutation operator ...

P.M. Mateo, I. Alberto


t
Table 5 Distribution, in %, of rmax
for each problem when 1000 iterations and selection S3 is used
t
rmax

10

% >1
67.2

S-ZDT1

32.8

26.3

15.6

9.9

7.4

4.4

1.5

0.9

0.6

0.6

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.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.5

1.4

2.2

5.5

11.3

15.1

64.1

100
9.9

S-DTLZ2

90.1

7.0

1.5

1.0

0.3

0.1

R-DTLZ2

15.6

66.8

16.9

0.5

0.2

84.4

S-DTLZ3

24.7

70.3

4.6

0.4

0.1

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 H D 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(P RBMO, MO) C(MO, P RBMO), where MO represents any mutation operator among RMO, N U MO, P MO and GMO. The medians of H D and GD appear
in all the blocks associated with all the operators, while the medians of the difference
C(P RBMO, MO) C(MO, P RBMO) only appear in the columns corresponding
to the operator MO to whom P RBMO is being compared. This is because it corresponds to the comparison between two operators MO and P RBMO. For H D 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 P RBMO 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 P RBMO with
RMO, N U MO, P MO 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, N U MO, P MO
or GMO, is paired with each of the 50 populations obtained using P RBMO.
We have performed a two-sided Wilcoxon signed rank test of the hypothesis 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(P RBMO, MO) C(MO, P RBMO) 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, N U MO, P MO and GMO of Tables 6 to 9. If the null hypothesis is not rejected, an = sign is presented in the corresponding position of
MO, which means that both operators MO and P RBMO perform in an equivalent way. If the null hypothesis is rejected, a sign appears when the median of

S3

S2

0.114
0.732
0.820
0.057
0.399
0.910
0.021
0.136
0.910

0.211

1.786

0.500

0.170

1.521

0.580

0.134

1.163

0.930

HD

GD

HD

GD

HD

GD

S1

1000

1.000

0.062

0.008

0.900

0.339

0.048

0.830

0.651

0.103

0.815

1.057

0.124

0.02=

1.38=

0.16=

0.16=

1.66=

0.204

100

0.08=

0.11=

0.02=

0.895

0.297

0.053

0.805

0.592

0.137

500

No. iterations
500

N U MO
No. iterations

RMO

100

Mea.

Sel.

S-ZDT1

0.975

0.041

0.005

0.785

0.160

0.038

0.545

0.398

0.120

1000

0.950

1.398

0.158

0.890

1.691

0.187

0.865

2.038

0.236

100

0.220

0.106

0.016

0.865

0.334

0.048

0.770

0.649

0.114

500

No. iterations

P MO

0.980

0.041

0.005

0.895

0.224

0.033

0.620

0.441

0.076

1000

0.860

2.135

0.190

0.715

2.330

0.214

0.600

3.053

0.281

100

0.950

0.320

0.038

0.980

0.513

0.080

0.935

1.274

0.186

500

No. iterations

GMO

0.910

0.079

0.004

0.865

0.149

0.028

0.930

0.658

0.108

1000

0.930

0.109

1.366

0.153

1.607

0.194

100

0.101

0.015

0.224

0.034

0.469

0.083

500

No. iterations

P RBMO

0.022

0.002

0.101

0.018

0.314

0.061

1000

Table 6 For S-ZDT1 (top) and S-ZDT2 (bottom), the numbers represent the median values of H D and GD, and the median of C(P RBMO, MO) C(MO, P RBMO),
MO {RMO, N U MO, P MO and GMO} in function of the mutation operator, the selection type and the number of iterations. The table also contains the result of the
two-sided Wilcoxon signed rank test. An = means that both operators MO and P RBMO perform in an equivalent way, a sign means that P RBMO performs worse
than MO, and no sign means that P RBMO performs better than MO

140
Apendice A.4 A mutation operator ...

A mutation operator based on a Pareto ranking for multi-objective

S3

S2

0.125
0.769
0.640
0.076
0.430
0.890
0.039
0.207
1.000

0.254

2.222

0.570

0.238

2.065

0.765

0.210

1.732

0.870

HD

GD

HD

GD

HD

GD

S1

1000

1.000

0.093

0.021

0.920

0.374

0.074

0.815

0.789

0.140

0.920

1.582

0.198

0.550

1.876

0.228

0.565

2.039

0.252

100

0.480

0.147

0.029

0.905

0.328

0.066

0.730

0.613

0.126

500

No. iterations
500

N U MO
No. iterations

RMO

100

Mea.

Sel.

S-ZDT2

Table 6 (Continued)

0.980

0.054

0.012

0.960

0.177

0.052

0.795

0.39=

0.267

1000

P MO

0.870

1.922

0.230

0.730

2.328

0.266

0.670

2.480

0.286

100

0.785

0.155

0.030

0.825

0.343

0.062

0.395

0.618

0.105

500

No. iterations

0.990

0.059

0.013

0.895

0.255

0.053

0.750

0.562

0.110

1000

GMO

0.380

2.980

0.288

0.310

3.247

0.311

0.290

3.730

0.371

100

0.420

0.716

0.111

0.380

0.812

0.146

0.175

1.545

0.236

500

No. iterations

0.845

0.116

0.017

0.660

0.156

0.069

0.000

0.616

0.132

1000

P RBMO

1.240

0.157

1.702

0.205

1.924

0.231

100

0.128

0.026

0.233

0.045

0.484

0.089

500

No. iterations

0.027

0.007

0.108

0.026

0.346

0.075

1000

Apendice A.4 A mutation operator ...

141

P.M. Mateo, I. Alberto

S3

S2

0.109
98.46
0.800
0.067
59.84
0.830
0.036
30.62
0.840

0.256

235.9

0.225

0.220

203.8

0.480

0.185

167.0

0.390

HD

GD

HD

GD

HD

GD

S1

1000

1.000

13.95

0.020

1.000

40.63

0.057

1.000

92.02

0.129

0.470

170.7

0.184

0.600

208.3

0.226

0.38=

225.5

0.247

100

0.720

27.61

0.033

0.685

52.50

0.064

0.570

83.01

0.100

500

No. iterations
500

N U MO
No. iterations

RMO

100

Mea.

Sel.

S-ZDT4

0.860

11.07

0.016

0.850

27.63

0.042

0.480

56.16

0.082

1000

0.800

190.6

0.206

0.730

224.5

0.242

0.670

263.5

0.282

100

0.825

32.12

0.037

0.765

62.19

0.067

0.750

106.6

0.114

500

No. iterations

P MO

Table 7 Results for S-ZDT4 (top) and R-ZDT4 (bottom) with the same codification as in Table 6

0.895

11.20

0.016

0.860

34.78

0.048

0.800

83.69

0.119

1000

GMO

0.390

364.6

0.350

0.235

377.1

0.370

0.290

458.2

0.451

100

0.675

106.1

0.123

0.880

93.39

0.124

0.710

155.8

0.207

500

No. iterations

0.960

73.34

0.119

1.000

80.28

0.140

1.000

104.1

0.174

1000

P RBMO

155.9

0.170

188.0

0.207

208.9

0.236

100

23.46

0.028

41.23

0.045

62.33

0.070

500

No. iterations

7.932

0.011

15.81

0.023

38.05

0.052

1000

142
Apendice A.4 A mutation operator ...

A mutation operator based on a Pareto ranking for multi-objective

S3

S2

0.079
35.17
1.000
0.024
12.56
1.000

0.096

54.87

0.730

0.059

37.46

0.725

HD

HD

GD

1.000

0.860

GD

0.123
49.35

0.131

66.72

HD

S1

500

100

1000
0.144

1.000

8.656

0.019

1.000

34.56

0.097

1.000

41.91

0.37=

4.28=

-0.02=

0.02=

23.9=

0.48=

8.8=

0.032

0.60=

15.2=

0.059

500

0.05=

0.275

42.10

0.081

0.350

52.51

0.112

100

N U MO
No. iterations

RMO

No. iterations

GD

Mea.

Sel.

R-ZDT4

Table 7 (Continued)

0.06=

2.68=

0.01=

0.955

6.100

0.031

0.73=

9.89=

0.052

1000

P MO

0.630

38.27

0.058

0.695

50.51

0.090

0.745

59.77

0.122

100

0.865

10.75

0.022

1.000

25.44

0.062

1.000

38.15

0.102

500

No. iterations

0.900

6.628

0.018

1.000

24.10

0.073

1.000

33.99

0.115

1000

GMO

0.26=

37.00

0.080

0.33=

46.31

0.102

0.770

81.99

0.173

100

0.980

18.43

0.078

1.000

18.52

0.080

1.000

29.49

0.128

500

No. iterations

0.980

18.11

0.095

1.000

18.53

0.099

1.000

29.60

0.160

1000

P RBMO

24.72

0.046

34.03

0.066

45.99

0.087

100

4.376

0.014

7.714

0.026

13.82

0.044

500

No. iterations

2.514

0.013

4.279

0.023

7.664

0.034

1000

Apendice A.4 A mutation operator ...

143

P.M. Mateo, I. Alberto

S3

S2

0.390
4.863
0.830
0.341
4.141
0.890
0.294
3.499
1.000

0.426

6.527

0.720

0.413

6.358

0.775

0.399

6.108

0.885

HD

GD

HD

GD

HD

GD

S1

1000

1.000

2.748

0.249

1.000

3.676

0.317

1.000

4.598

0.389

0.885

5.949

0.393

0.820

6.268

0.410

0.555

6.397

0.421

100

0.770

3.001

0.260

0.925

3.688

0.311

0.855

4.425

0.363

500

No. iterations
500

N U MO
No. iterations

RMO

100

Mea.

Sel.

S-ZDT6

0.810

2.052

0.195

0.935

2.710

0.247

0.795

3.57=

0.316

1000

0.895

6.331

0.412

0.830

6.493

0.424

0.830

6.731

0.437

100

0.890

3.212

0.271

0.880

3.828

0.315

0.710

4.537

0.364

500

No. iterations

P MO

Table 8 Results for S-ZDT6 (top) and S-DTLZ2 (bottom) with the same codification as in Table 6

1.000

2.374

0.218

0.895

3.132

0.273

0.830

4.041

0.337

1000

GMO

0.585

7.116

0.441

0.400

7.149

0.451

0.330

7.731

0.471

100

0.775

4.517

0.369

0.820

5.184

0.421

0.790

6.217

0.497

500

No. iterations

0.810

2.219

0.208

0.900

3.181

0.278

0.890

4.961

0.425

1000

P RBMO

5.652

0.372

6.083

0.399

6.269

0.412

100

2.910

0.251

3.340

0.279

4.060

0.328

500

No. iterations

1.885

0.182

2.291

0.210

3.439

0.288

1000

144
Apendice A.4 A mutation operator ...

A mutation operator based on a Pareto ranking for multi-objective

S3

S2

1000

0.354
0.515

0.360
0.07=
0.359

0.04=

0.05

0.96=

HD

GD

0.173

0.032
0.170

0.008
0.058
0.090

0.01

0.54

0.86

HD

GD

0.006

0.445

0.11=

0.06=

0.420

0.536

0.179
0.587

0.13=

1.17=

HD

S1

500

0.77

0.64

0.02

0.07=

1.02=

0.06=

0.170

1.279

0.185

100

0.105

0.059

0.008

0.290

0.229

0.178

0.210

0.413

0.328

500

No. iterations

100

N U MO
No. iterations

RMO

GD

Mea.

Sel.

S-DTLZ2

Table 8 (Continued)

0.080

0.020

0.005

0.045

0.12

0.243

0.00=

0.25

0.398

1000

P MO

0.60

0.76

0.02

0.335

1.206

0.077

0.270

1.557

0.176

100

0.03=

0.05=

0.01

0.225

0.248

0.06=

0.095

0.39=

0.168

500

No. iterations

0.070

0.021

0.004=

0.305

0.221

0.067

0.100

0.34=

0.164

1000

GMO

0.24

0.988

0.02

0.290

1.250

0.06=

0.400

1.783

0.143

100

0.670

0.411

0.019

0.545

0.354

0.089

0.420

0.837

0.228

500

No. iterations

0.600

0.307

0.013

0.190

0.166

0.082

0.100

0.429

0.146

1000

P RBMO

0.935

0.031

0.968

0.057

1.188

0.129

100

0.044

0.007

0.189

0.062

0.373

0.132

500

No. iterations

0.013

0.004

0.131

0.056

0.329

0.122

1000

Apendice A.4 A mutation operator ...

145

P.M. Mateo, I. Alberto

S3

S2

123.1
0.885

0.860

1.000

0.770

C
0.000

461.2

473.4

GD

0.000

0.007

0.005

HD

260.8

0.750

0.350

HD

550.6

575.8

GD

GD

0.028

0.018

HD

S1

500

1000

0.830

84.98

0.000

1.000

445.5

0.007

0.665

549.2

0.027

0.480

224.2

0.000

0.460

413.2

0.003

0.05=

535.8

0.020

100

0.280

61.5=

0.00=

0.835

187.9

0.001

0.21=

36.2=

0.000

0.580

92.49

0.000

0.15=

192.

0.18=

0.012

316.=

1000

0.014

500

N U MO
No. iterations

RMO

No. iterations

100

Mea.

Sel.

R-DTLZ2

0.685

242.1

0.000

0.580

466.1

0.004

0.125

549.6

0.017

100

0.760

100.9

0.000

0.970

424.1

0.004

0.575

546.4

0.022

500

No. iterations

P MO

Table 9 Results for R-DTLZ2 (top) and S-DTLZ3 (bottom) with the same codification as in Table 6

0.720

72.92

0.000

0.960

408.6

0.003

0.635

517.4

0.022

1000

GMO

0.985

569.0

0.005

0.610

558.8

0.008

0.690

702.5

0.037

100

0.400

110.7

0.000

0.235

88.05

0.000

0.45

211.

0.011

500

No. iterations

0.690

73.0

0.000

0.605

86.20

0.000

0.34

147.

0.01=

1000

P RBMO

160.2

0.000

341.4

0.001

476.2

0.008

100

54.31

0.000

69.88

0.000

344.2

0.006

500

No. iterations

33.87

0.000

47.40

0.000

282.5

0.005

1000

146
Apendice A.4 A mutation operator ...

A mutation operator based on a Pareto ranking for multi-objective

S3

S2

0.058
1581.
0.420
0.005
1070.
0.690
0.000
259.9
0.750

0.078

2083=

0.140

0.02=

1715=

0.04=

0.004

1057=

0.04=

HD

GD

HD

GD

HD

GD

S1

1000

0.20

135.6

0.00=

0.810

1045.

0.008

0.555

1534.

0.078

0.03=

1106=

0.00=

0.04=

1783.

0.02=

0.120

2079.

0.089

100

0.295

252.1

0.000

0.285

928.1

0.003

0.05=

1309.

0.039

500

No. iterations
500

N U MO
No. iterations

RMO

100

Mea.

Sel.

S-DTLZ3

Table 9 (Continued)

0.48

126.5

0.000

0.05=

685.8

0.002

0.22

914.4=

0.039

1000

P MO

0.115

1111=

0.004

0.03=

1791.

0.02=

0.145

2151.

0.074

100

0.860

296.1

0.000

0.620

1081.

0.005

0.240

1499.

0.050

500

No. iterations

0.600

171.9

0.000

0.705

1022.

0.007

0.375

1482.

0.069

1000

GMO

0.825

2812.

0.037

0.380

2996.

0.059

0.485

3362.

0.111

100

0.780

2136.

0.019

0.09=

1157.

0.006

0.060

2303.

0.083

500

No. iterations

0.675

1408.

0.005

0.21

535.0

0.002

0.00=

1750.

0.105

1000

P RBMO

1110.

0.003

1714.

0.019

2017.

0.063

100

232.6

0.000

649.7

0.001

1128.

0.024

500

No. iterations

149.3

0.000

475.1

0.001

980.2

0.027

1000

Apendice A.4 A mutation operator ...

147

P.M. Mateo, I. Alberto

148

Apendice A.4 A mutation operator ...

A mutation operator based on a Pareto ranking for multi-objective

the difference MMO MP RBMO is negative (which means that P RBMO performs
worse than MO), where M is H D or GD; for C a appears when the median of
C(P RBMO, MO) C(MO, P RBMO) is negative. Otherwise, a + should appear 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 P RBMO 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 P RBMO performs better than
MO in that scenario, if that difference is negative, we will say that MO performs
better than P RBMO in that scenario, MO and P RBMO performing in an equivalent 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, P RBMO
presents a clearly better behaviour than the other operators for all scenarios except for the operator N U MO in three scenarios. In one of them, 100 iterations
with selection S1 in which P RBMO performs slightly better and the two remaining ones, corresponding to 100 iterations with selection S2 and 500 iterations with selection S3 , for which P RBMO and N U MO can be considered
equivalent.
S-ZDT2 Paying attention to the bottom of Table 6, we can point out that P RBMO
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 previous one (problem S-ZDT2), P RBMO 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 P RBMO
can be considered inferior. Regarding operators RMO, P MO and GMO,
P RBMO always performs better, the majority of triplets associated to the measures are (+, +, +) (bearing in mind that no sign means a + sign, meaning
that P RBMO is better than the other). If we take into consideration operator
N U MO, 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 remaining cases of S1 and S2 and, finally, P RBMO and N U MO exhibit a similar
behaviour when selection S3 is considered. Therefore, for this problem we can
establish that P RBMO performs better than RMO, P MO and GMO, and performs slightly better than N U MO.

Apendice A.4 A mutation operator ...

149

P.M. Mateo, I. Alberto

S-ZDT6 From Table 8 (top), we can again establish that P RBMO 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, P RBMO would become, more or less,
a uniform mutation operator that depends only on the iteration number. But, in
spite of this, our operator P RBMO 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 P RBMO (triplets (, , ) and (, +, )). Besides, the operator RMO
with 100 iterations and S2 , and P MO with 500 iterations and S3 obtain slightly
better results than P RBMO (triplets (, =, =)). For the remaining thirty cases,
in three of them P RBMO shows a similar behaviour to the others (triplets (=
, =, =) or (+, , =)) and in twenty-seven the performance of P RBMO 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 P RBMO and, in only two situations, with selection S1 with 500 and 1000 iterations. Furthermore, P RBMO exhibits an equivalent behaviour to N U MO in one scenario, which corresponds to
1000 iterations with selection S1 , (+, , =). For the remaining thirty-three cases
P RBMO outperforms the others in thirty of them and P RBMO is slightly better in three (two = signs and one no sign).
S-DTLZ3 For this problem, in Table 9 (bottom) P RBMO shows better values than
P MO and GMO in all scenarios. Regarding RMO, P RBMO performs considerably better in all scenarios except for S1 and S3 with 100 iterations in which
the behaviour of P RBMO is slightly better; for selection S2 also with 100 iterations where P RBMO and RMO show an equivalent behaviour; and when 1000
iterations are considered with selection S3 , in which RMO beats P RBMO. Finally, for N U MO we have to point out the following facts, P RBMO beats
N U MO except for 100 iterations with S3 and 1000 iterations with S1 , in which
they are equivalent, and for S3 with 1000 iterations, in which N U MO is better
than P RBMO. Globally we can state that P RBMO shows a better behaviour
except for two cases in which it is worse than RMO and N U MO, and three
cases in which P RBMO is equivalent to RMO and N U MO.
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 SZDT1 in the third column, corresponding to operator N U MO, we have (+, =, +),
which means that our operator performs better than N U MO 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,

RMO

+++

+++

+++

+++

+++

+++

+=+

Problem

S-ZDT1

S-ZDT2

S-ZDT4

R-ZDT4

S-ZDT6

S-DTLZ2

R-DTLZ2

S-DTLZ3

100

++ =

+++

+=

+++

++ =

+++

+++

+=+

N U MO

Number of iterations

+++

+++

++

+++

+++

+++

+++

+++

P MO

+++

+++

++

+++

+++

+++

+++

+++

GMO

+++

+++

+++

+++

+++

+++

+++

+++

RMO

500

+++

+++

+++

+++

++ =

+++

+++

++ =

N U MO

+++

+++

++

+++

+++

+++

+++

+++

P MO

+++

++

+++

+++

+++

+++

+++

+++

GMO

++

+++

+++

+++

+++

+++

+++

+++

RMO

1000

= +

= ++

= ++

+++

++ =

+++

+++

+++

N U MO

+++

+++

+++

+++

+++

+++

+++

+++

P MO

+++

++

+++

+++

+++

+++

+++

+++

GMO

Table 10 Summary of results. For each problem, number of iterations and operator, three signs appear. The first one corresponds to S1 , the second one to S2 and the third
one to S3 . A sign + represents that our operator obtains better results for that scenario, an = sign represents that the corresponding operator and P RBMO are equivalent
and a sign represents that our operator is not better than the other

150
Apendice A.4 A mutation operator ...

A mutation operator based on a Pareto ranking for multi-objective

Apendice A.4 A mutation operator ...

151

P.M. Mateo, I. Alberto

H D, 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 P RBMO 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
P RBMO. 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 N U MO with 100 iterations are
those having more = and signs, four and five, respectively, in total against only
one of P MO and GMO. When 500 iterations are considered, the earlier situation
vanishes a little, P RBMO beats RMO in all cases and N U MO maintains two
situations in which it is equivalent to P RBMO. Finally, when 1000 iterations are
considered, it can be pointed out that N U MO in the problems with three objective
functions S-DTLZ2, R-DTLZ2 and S-DTLZ3 is the only one that tries to face up to
P RBMO obtaining three = signs and one sign.
To conclude the comments on this experiment and to obtain a more difficult situation 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 H D, GD and C, in which P RBMO 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 H D, GD
and C, and a + sign otherwise, then only four changes would appear in the table:
Three of them in N U MO with 1000 iterations with problems S-DTLZ2, R-DTLZ2
and S-DTLZ3 where the results would be (, , +), (, +, +) and (, +, ) instead 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 experiment compares the well-known algorithm N SGA-I I 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 P RBMO, which we will call N SGA-I IP RBMO .
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 N SGA-I I has
shown a statistically superior behaviour for all the measures except for H D and C
with 500 iterations, and H D 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 problem, the box-plot of the values of the corresponding measure obtained with N SGAI IP RBMO are on the left, and those obtained with the original version of N SGAI I are on the right. Bear in mind that for measures H D and GD the smaller the

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 N SGA-I IP RBMO and on the right N SGA-I I

Fig. 6 Box-plots of the generational distance (GD) for each problem and scenario. For each pair, on the
left N SGA-I IP RBMO and on the right N SGA-I I .

value is, the better the algorithm performs. Then, it can be observed that the medians of H D and GD (printed with a horizontal line across the box) are smaller those
obtained with N SGA-I IP RBMO . In Fig. 7, for each problem, on the left the boxplot of C(N SGA-I IP RBMO , N SGA-I I ) is placed and on the right the box-plot of

Apendice A.4 A mutation operator ...

153

P.M. Mateo, I. Alberto

Fig. 7 Box-plots of coverage C(N SGA-I IP RBMO , N SGA-I I ) on the left and C(N SGA-I I,
N SGA-I IP RBMO ) on the right for each problem and scenario

C(N SGA-I I, N SGA-I IP RBMO ). The N SGA-I IP RBMO 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 conclude that the new operator P RBMO has clearly a better behaviour in the considered 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
N SGA-I I 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, N SGA-I I .
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 P RBMO obtains better values
of the measures considered (hypervolume difference, generational distance and set
coverage) than the other operators. Additionally, the N SGA-I I implementation using our mutation operator performs clearly better than the original one on the test
problems we have evaluated.

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 N SGA-I I by Deb
et al. (2002a), SPEA2 by Zitzler et al. (2001), etc., by substituting the operators proposed 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),
531552 (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, 352
(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 optimization. Eur. J. Oper. Res. 188, 637651 (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: NSGAII. IEEE Trans. Evol. Comput. 6(2), 182197 (2002a)
Deb, K., Thiele, L., Laumanns, M., Zitzler, E.: Scalable multi-objective optimization test problems. In:
Proceedings of the Congress on Evolutionary Computation CEC2002, vol. 1, pp. 825830. IEEE
Press, Piscataway (2002b)
Deb, K., Goyal, M.: A Combined genetic adaptive search (GeneAS) for engineering design. Comput. Sci.
Inf. 26(4), 3045 (1996)
Deep, K., Thakur, M.: A new mutation operator for real coded genetic algorithms. Appl. Math. Comput.
193, 211230 (2007)
Dong, H., He, J., Huang, H., Hou, W.: Evolutionary programming using mixed mutation strategy. Inf. Sci.
177, 312327 (2007)
Eiben, A.E., Smith, J.E.: Introduction to Evolutionary Computing, 2nd edn. printing. Springer, Berlin
(2007)

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 hypervolume indicator. In: Congress on Evolutionary Computation CEC2006, pp. 11571163. 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. 416423. 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 Computation (CEC08), pp. 648652. IEEE Press, Vancouver (2008)
Goldberg, D.E.: Genetic Algorithms in Search, Optimization and Machine Learning. AddisonWesley,
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, 29252936 (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.: Problem 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 adaptive differential evolution algorithm. In: Proceedings of the Congress on Evolutionary Computation
(CEC07), pp. 36013608. (2007b)
Knowles, J., Corne, D.: Approximating the nondominated front using the Pareto archived evolution strategy. Evol. Comput. 8(2), 149172 (2000)
Larraaga, P., Lozano, J.A.: Estimation of Distribution Algorithms: a New Tool for Evolutionary Computation. Kluwer, Norwell (2002)
Mezura-Montes, E., Reyes-Sierra, M., Coello, C.A.: Multi-objective optimization using differential evolution: a survey of the state-of-the-art. In: Chakraborty, U.K. (ed.) Advances in Differential Evolution,
pp. 173196. 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 exploration and exploitation. In: Proceedings of the Congress on Evolutionary Computation (CEC09), pp.
14551462 (2009)
Pant, M., Ali, M., Abraham, A.: Mixed mutation strategy embedded differential evolution. In: Proceedings
of the Congress on Evolutionary Computation (CEC09), pp. 12401246 (2009)
Schaffer, J.D.: Multiple objective optimization with vector evaluated genetic algorithms. PhD. thesis, Vanderbilt 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 Conference on Genetic, pp. 93100. 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. 112. International Computer Science, Berkeley (1995). Tech. Rep. TR95-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 Evolutionary Computation (CEC07), pp. 45024507 (2007)
Van Veldhuizen, D.A., Lamont, G.B.: On measuring multiobjective evolutionary algorithm performance.
In: 2000 Congress on Evolutionary Computation, vol. 1, pp. 204211. IEEE Service Centre, Piscataway (2000)
Xing, L.N., Chen, Y.W., Yang, K.W.: A novel mutation operator base on the immunity operation. Eur. J.
Oper. Res. 197, 830833 (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. 743750 (2005)

Ap
endice B

Indices de impacto
Las revistas en las que han sido publicados los artculos que componen la
memoria son las siguientes:
European Journal of Operational Research. Categora: Operations
research and management science, posicion 10 de 73. Indice de impacto
2009: 2.093, Figura B.1, pagina 158.
TOP. Categora: Operations research and management science, posicion
47 de 73. Indice de impacto 2009: 0.865, Figura B.2, pagina 159.
Journal of Heuristics. Categora: Computer science, articial intelligence, posicion 58 de 103. Categora: Computer science: theory and
methods, posicion 35 de 92. Indice de impacto 2009: 1.264, Figuras B.3,
pagina 160 y B.4, pagina 161.

157

Apendice B. Indices de impacto

158

JCR-Web 4.5 Journal Summary List

Page 1 of 2

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)

EigenfactorTM Metrics

JCR Data
ISSN

Article
5-Year
Cited
TM
Total Impact
Immediacy
Impact
Articles Half- Eigenfactor
InfluenceTM
Cites Factor
Index
Score
Factor
life
Score

J OPER MANAG

02726963

3029

3.238

4.178

0.645

0305OMEGA-INT J MANAGE S
0483

2510

3.101

3.235

EXPERT SYST APPL

09574174

5421

2.908

3.162

DECIS SUPPORT SYST

01679236

3376

2.622

TECHNOVATION

01664972

1747

0191TRANSPORT RES B-METH


2615

31

7.9

0.00576

1.120

0.653

95

8.2

0.00468

0.767

0.394

1385

3.0

0.00987

0.403

2.842

0.269

119

5.6

0.00884

0.683

2.466

2.126

0.306

72

5.0

0.00375

0.386

65

9.1

0.00733

1.319

141 >10.0

0.03492

2.438

3084

2.268

3.187

0.492

2.227

4.125

0.277

MANAGE SCI

002520103
1909

M&SOM-MANUF SERV OP

15234614

950

2.149

COMPUT OPER RES

03050548

5033

2.116

EUR J OPER RES

037722478
2217

PROD OPER MANAG

10591478

12

INT J PROD ECON

09255273

13

MATH PROGRAM

00255610

0.429

42

6.5

0.00588

2.443

0.351

271

5.9

0.01778

0.846

2.093

2.599

0.417

729

8.3

0.05100

0.799

1191

2.080

2.806

0.156

45

6.3

0.00533

1.273

6120

2.068

2.736

0.355

321

5.9

0.01361

0.595

6010

2.048

2.889

0.646

96 >10.0

0.01520

1.933

TRANSPORT RES E-LOG

13665545

915

1.958

2.303

0.136

81

5.8

0.00349

0.834

RELIAB ENG SYST SAFE

09518320

3890

1.908

2.305

0.340

200

6.9

0.00938

0.645

SYST CONTROL LETT

01676911

4609

1.797

2.615

0.174

121

9.4

0.01501

1.250

17

OR SPECTRUM

01716468

840

1.625

2.173

0.182

33

7.0

0.00266

0.788

18

OPER RES

0030364X

9661

1.576

2.671

0.268

112 >10.0

0.01434

1.664

J QUAL TECHNOL

00224065

2049

1.500

2.350

0.310

29 >10.0

0.00383

1.343

TRANSPORT SCI

00411655

2884

1.479

3.596

0.088

34 >10.0

0.00581

1.526

10
11

14
15
16

19
20

Journals 1 - 20 (of 73)

[1|2|3|4]

http://sauwok.fecyt.es/admin-apps/JCR/JCR

Figura B.1: European Journal of Operational Research.

Page 1 of 4

31/01/2011

159
JCR-Web 4.5 Journal Summary List

Page 1 of 2

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)

EigenfactorTM Metrics

JCR Data

Article
Cited
ISSN Total Impact 5-Year Immediacy
TM
Articles Half- Eigenfactor
Impact
InfluenceTM
Cites Factor
Index
Score
Factor
life
Score

41

CONCURRENT ENG-RES A

1063293X

354

0.959

1.132

0.000

23

42

OPTIM LETT

18624472

90

0.926

0.938

0.264

53

DISCRETE EVENT DYN S

09246703

277

0.921

1.024

0.150

20

INT J SYST SCI

00201666
7721

0.918

0.944

0.108

INT J FLEX MANUF SYS

09206299

366

0.903

1.365

OPTIM METHOD SOFTW

10556788

682

0.866

0.969

47

TOP

11345764

166

0.865

48

NAV RES LOG

08942615
069X

0.847

1.249

49

INTERFACES

00921552
2102

0.838

IEEE SYST J

19328184

55

INT J PROD RES

00206950
7543

4OR-Q J OPER RES

16194500

130

0.750

53

INFOR

03155986

454

0.738

0.843

54

PROD PLAN CONTROL

09531145
7287

0.730

1.151

55

DISCRETE OPTIM

15725286

179

0.729

56

OPER RES LETT

01671962
6377

0.681

57

0269PROBAB ENG INFORM SC


9648

43
44
45
46

50
51
52

58
59
60

6.7

0.00066

0.247

0.00072

0.429

7.8

0.00087

0.491

111

9.8

0.00264

0.283

9.4

0.00061

0.396

0.500

52

7.0

0.00338

0.636

0.000

24

6.5

0.00076

0.074

54 >10.0

0.00476

0.722

1.267

0.027

37 >10.0

0.00216

0.533

0.825

0.825

0.062

48

0.00054

0.414

0.803

1.363

0.077

338

9.5

0.01014

0.348

0.000

31

4.2

0.00124

>10.0

0.00072

0.338

0.000

58

8.1

0.00216

0.321

0.051

39

4.0

0.00187

1.049

0.096

94 >10.0

0.00683

0.620

483

0.676

0.966

0.118

34

8.5

0.00257

0.706

QUEUEING SYST

02571279
0130

0.660

1.103

0.065

46 >10.0

0.00435

0.826

INT J COMPUT INTEG M

0951192X

674

0.659

0.997

0.079

76

6.2

0.00159

0.238

OPTIMIZATION

02331934

797

0.616

0.915

0.177

62 >10.0

0.00267

0.605

Journals 41 - 60 (of 73)

[1|2|3|4]

http://sauwok.fecyt.es/admin-apps/JCR/JCR?RQ=LIST_SUMMARY_JOURNAL&c...

Figura B.2: TOP.

Page 3 of 4

31/01/2011

Apendice B. Indices de impacto

160
JCR-Web 4.5 Journal Summary List

Page 1 of 2

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)

EigenfactorTM Metrics

JCR Data

Article
Cited
ISSN Total Impact 5-Year Immediacy
TM
Articles Half- Eigenfactor
Impact
InfluenceTM
Cites Factor
Index
Score
Factor
life
Score

41

MACH LEARN

08857305
6125

1.663

4.099

0.896

48 >10.0

0.00768

1.740

42

ARTIF INTELL MED

09331475
3657

1.645

2.447

0.286

56

6.7

0.00349

0.653

43

0954NETWORK-COMP NEURAL
898X

792

1.536

2.049

0.000

11

8.9

0.00149

0.871

44

1387AUTON AGENT MULTI-AG


2532

551

1.510

2.342

0.258

31

6.0

0.00125

0.528

IMAGE VISION COMPUT

02622926
8856

1.474

1.767

0.286

161

6.7

0.00782

0.592

ENG APPL ARTIF INTEL

09521483
1976

1.444

1.800

0.234

124

5.4

0.00436

0.459

47

NEUROCOMPUTING

09254108
2312

1.440

1.459

0.240

400

4.9

0.01156

0.351

48

J MATH IMAGING VIS

09241074
9907

1.437

2.467

0.246

61

5.4

0.00662

1.229

49

ACM T AUTON ADAP SYS

15564665

114

1.364

2.707

0.143

21

3.1

0.00076

0.892

ROBOT AUTON SYST

09211526
8890

1.361

1.650

0.130

115

6.5

0.00383

0.451

SOFT COMPUT

14321096
7643

1.328

1.405

0.755

98

3.8

0.00431

0.403

INT J INF TECH DECIS

02196220

322

1.312

1.379

0.133

30

3.6

0.00076

0.180

53

KNOWL-BASED SYST

09507051

933

1.308

1.406

0.139

79

6.3

0.00177

0.270

54

PATTERN RECOGN LETT

01674545
8655

1.303

1.772

0.088

171

6.4

0.01310

0.560

55

CONSTRAINTS

13837133

307

1.297

1.667

0.350

20

6.4

0.00102

0.603

PATTERN ANAL APPL

14337541

471

1.293

1.627

0.094

32

5.8

0.00136

0.437

J CHEMOMETR

08862095
9383

1.291

1.859

0.441

68

7.9

0.00375

0.588

J HEURISTICS

13811231

764

1.264

1.728

0.440

25

8.1

0.00185

0.713

AUTON ROBOT

09291215
5593

1.235

2.080

0.175

40

7.5

0.00269

0.646

EXPERT SYST

02664720

1.231

1.153

0.467

30

6.2

0.00059

0.241

45
46

50
51
52

56
57
58
59
60

Journals 41 - 60 (of 103)

332

[1|2|3|4|5|6]

http://sauwok.fecyt.es/admin-apps/JCR/JCR?RQ=LIST_SUMMARY_JOURNAL&c...

Figura B.3: Journal of Heuristics.

Page 3 of 6

31/01/2011

161
JCR-Web 4.5 Journal Summary List

Page 1 of 2

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)

EigenfactorTM Metrics

JCR Data

Article
Cited
ISSN Total Impact 5-Year Immediacy
TM
Articles Half- Eigenfactor
Impact
InfluenceTM
Cites Factor
Index
Score
Factor
life
Score

21

INT J INF SECUR

16155262

168

1.681

0.129

31

3.1

0.00086

22

IEEE MULTIMEDIA

1070986X

711

1.661

2.020

0.188

32

6.8

0.00192

0.611

SIAM J COMPUT

00975451
5397

1.614

1.938

0.407

54 >10.0

0.01192

1.262

PERFORM EVALUATION

01661154
5316

1.560

1.516

0.120

50

6.8

0.00352

0.525

DISTRIB COMPUT

01782770

539

1.508

1.653

0.067

15

8.5

0.00166

0.677

26

IMAGE VISION COMPUT

02622926
8856

1.474

1.767

0.286

161

6.7

0.00782

0.592

27

1471THEOR PRACT LOG PROG


0684

250

1.467

1.518

0.200

15

4.6

0.00131

0.571

28

ACM T AUTON ADAP SYS

15564665

114

1.364

2.707

0.143

21

3.1

0.00076

0.892

29

J SYST SOFTWARE

01641806
1212

1.340

1.290

0.132

167

5.7

0.00562

0.370

INFORM SYST FRONT

13873326

432

1.309

1.298

0.044

45

6.1

0.00066

0.198

J COMPUT SYST SCI

00223279
0000

1.304

1.628

0.267

30 >10.0

0.00663

0.962

CONSTRAINTS

13837133

307

1.297

1.667

0.350

20

6.4

0.00102

0.603

33

IBM SYST J

00181701
8670

1.289

1.975

8.6

0.00185

0.376

34

INT J HIGH PERFORM C

10943420

650

1.274

1.848

0.024

41

6.3

0.00241

0.702

35

J HEURISTICS

13811231

764

1.264

1.728

0.440

25

8.1

0.00185

0.713

EXPERT SYST

02664720

332

1.231

1.153

0.467

30

6.2

0.00059

0.241

J COMPLEXITY

0885064X

819

1.227

1.305

0.270

37

7.5

0.00466

1.005

INFORM COMPUT

08904497
5401

1.225

1.376

0.152

66 >10.0

0.00336

0.502

ACM T COMPUT LOG

15293785

404

1.212

0.486

35

4.8

0.00224

REAL-TIME SYST

09226443

520

1.200

0.136

22

7.9

0.00118

23
24
25

30
31
32

36
37
38
39
40

Journals 21 - 40 (of 92)

1.397

[1|2|3|4|5]

http://sauwok.fecyt.es/admin-apps/JCR/JCR?RQ=LIST_SUMMARY_JOURNAL&c...

Figura B.4: Journal of Heuristics.

0.416

Page 2 of 5

03/05/2011

Bibliografa
Abbass H.A. and Sarker R. (2002) The Pareto Dierential Evolution Algorithm. Int. J. Artif. Intell. T. 11(4), 531552.
Alberto I. and Mateo P.M. (2009a) A crossover operator that uses Pareto
Optimality in its denition. TOP. doi:10.1007/s11750-009-0082-7
Alberto I. and Mateo P.M. (2008) Using Pareto Optimality for Dening the
Mutation Operator Step Size. Technical Report. In: Prepublicaciones del
Seminario Matematico Garca Galdeano, University of Zaragoza, 8, 119.
Alberto I. and Mateo P.M. (2009b) 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), to appear.
Alberto I., Azcarate C., Mallor F. and Mateo P.M. (2002) Optimization with
simulation and multiobjective analysis in industrial decision-making: A case
study. European Journal of Operational Research, 140(2), 373383.
Back T. and Schwefel H.P. (1995) Evolution strategies I: Variants and their
computational implementation. In: Winter, G., Periaux, J., Galan, M., Cuesta, P. (Eds.), Genetic Algorithms in Engineering and Computer Science,
Proceedings of 1st Short Course EUROGEN-95. Wiley, New York, 111126.
Beyer H.G. and Schwefel H.P. (2002) Evolution strategies. A comprehensive
introduction. Nat. Comput. 1, 352.
Casella G. and Berger, R.L. (2002) Statistical Inference, 2nd edn. Duxbury
Advanced Series, Pacic Grove, California.
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.
Chen M.R. and Lu Y.Z. (2008) A novel elitist multiobjective optimization
algorithm: Multiobjective extremal optimization. Eur. J. Oper. Res. 188,
637651.
163

164

Bibliografa

Coello CA (2005) Recent Trends in Evolutionary Multiobjective Optimization.


In: Abraham A, Jain L and Goldberg R (eds) Evolutionary Multiobjective
Optimization: Theoretical Advances And Applications, Springer, London,
732.
Coello CA (2008) EMOO Repository (Online). Available in
http://delta.cs.cinvestav. mx/ccoello/EMOO/. Accessed September
2008.
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) Evolutionary
Algorithms 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 search
space. Complex systems 9(2):115148.
Deb K. and Goyal M. (1996) A Combined Genetic Adaptive Search (GeneAS)
for Engineering Design. Computer Sci. Inform. 26(4), 3045.
Deb K., Pratap A., Agarwal S. and Meyarivan, T. (2002a) A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II. IEEE T. Evolut. Comput.
6(2), 182197.
Deb K., Thiele L. Laumanns, M. and Zitzler, E. (2002b) Scalable multiobjective optimization test problems. In: Proceedings of the Congress on
Evolutionary Computation CEC2002 (Vol. 1), 825830. IEEE Press, Piscataway, New Jersey.
Deep K. and Thakur M. (2007) A new mutation operator for real coded genetic
algorithms. Appl. Math. Comput. 193, 211-230.
Dong H., He J., Huang H. and Hou W. (2007) Evolutionary programming
using mixed mutation strategy. Inf. Sci. 177, 312327.
Eiben A.E. and Smith J.E. (2007) Introduction to Evolutionary Computing,
2nd printing. Springer, Berlin.
Eshelman L.J.K. and Schaer J.D. (1993) Real-coded genetic algorithms and
interval-schemata. In: Whitley LD (ed) Foundations of Genetic Algorithms
II, Morgan Kaufmann Publishers, Los Altos, California, 187202.
Fieldsend J.E., Everson R.M and Singh S. (2003) Using unconstrained elite
archives for multiobjective optimization, IEEE TRansactions on Evolutionary Computation 7, 305323.

Bibliografa

165

Fonseca C.M. and Fleming P.J. (1993) Genetic Algorithms for Multi-Objective
Optimization: Formulation, Discussion and Generalization. In: Forrest, S.
(ed) Genetic Algorithms: Proceedings of the Fifth International Conference,
416423. Morgan Kaufmann Publishers, San Mateo, California.
Fonseca C.M., Paquete L. and Lopez-Ibanez M. (2006a) An improved
dimension-sweep algorithm for the hypervolume indicator. In: Congress on
Evolutionary Computation CEC2006, 11571163. 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 Variable
Strategy Pareto Dierential Evolution Algorithm for Multi-Objective Optimization. In: Proceedings of the Congress on Evolutionary Computation
(CEC08), 648652. IEEE Press.
Goldberg D.E. (1989) Genetic Algorithms in Search, Optimization and Machine Learning. Addison Wesley, Reading, Massachusetts.
Gomes A., Antunes C.H. and Martins, A.G. (2008) Design of an adaptive
mutation operator in an electrical load management case study. Comput.
Oper. Res. 35, 29252936.
Herrera F., Lozano M. and Verdegay J.L. (1998) Tackling Real-Coded GeneticAlgorithms: Operators and Tools for Behavioural Analysis. Articial
Intelligence Review 12(4), 265319.
Holland J.H. (1975) Adaptation in natural and articial systems. University
of Michigan press, Ann Arbor, Michigan.
Huang V.L., Qin A.K., Deb K., Zitzler E., Suganthan P.N., Liang J.J., Preuss
M., and Huband, S. (2007a) Problem denitions for performance assessment 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) Multiobjective Optimization based on Self.adaptive Dierential Evolution Algorithm. In: Proceedings of the Congress on Evolutionary Computation
(CEC07), 36013608.
Huband S., Hingston P., Barone L. and While L. (2007) A review of multiobjective test problems and a scalable test problem toolkit. IEEE Transactions
on Evolutionary Computation 10(5), 477506.

166

Bibliografa

Knowles J. and Corne D. (2000) Approximating the nondominated front using


the pareto archived evolution strategy. Evol. Comput. 8(2), 149172.
Kung, H.T., Luccio, F., Preparata, F.P. (1975) On Finding the Maxima of
Vectors. Journal of the Association for Computing Machinery 22(4), 469
478.
Larra
naga P. and Lozano J.A. (2002) Estimation of distribution algorithms: a
new tool for evolutionary computation. Kluwer Academic Publishers, Norwell, MA.
Mateo P.M. and Alberto I. (2011) A Mutation Operator based on a Pareto
Ranking for Multi-Objective Evolutionary Algorithms. Journal of Heuristics, DOI 10.1007/s10732-011-9156-4.
Mezura-Montes E., Reyes-Sierra M. and Coello C.A. (2008) Multi-Objective
Optimization using Dierential Evolution: A Survey of the State-of-theArt. In: Chakraborty UK (ed) Advances in Dierential Evolution. SpringerVerlag, Berlin, 173196.
Michalewicz Z. (1996) Genetic Algorithms + Data Structures = Evolution
Programs. Third edition, Springer, Berlin.
Mostaghim S., Teich J. and Tyagi A. (2002) Comparison of data structures
for storing Pareto-sets in MOEAs, in: Proceedings of World Congress on
Computational Intelligence, 2002, 843849.
Oliveto P.S., Lehre P.K. and Neumann F. (2009) Theoretical Analysis of Rankbased Mutation - Combining Exploration and Exploitation. In: Proceedings
of the Congress on Evolutionary Computation (CEC09), 14551462.
Pant M., Ali M. and Abraham A. (2009) Mixed Mutation Strategy Embedded Dierential Evolution. In: Proceedings of the Congress on Evolutionary
Computation (CEC09), 12401246.
Schaer J.D.(1984) Multiple Objective Optimization with Vector Evaluated
Genetic Algorithms. PhD. Thesis, Vanderbilt University, Nashville, Tennessee.
Schaer J.D. (1985) Multiple Objective Optimization with Vector Evaluated
Genetic Algorithms. In: Grefenstette JJ (ed) Genetic Algorithms and their
Applications, Proceedings of the First International Conference on Genetic,
93100. 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.

Bibliografa

167

Schwefel, H.P., Back, T. (1995) Evolution strategies II: Theoretical aspects.


In: Winter G., Periaux J., Galan M. and Cuesta P. (Eds.), Genetic Algorithms in Engineering and Computer Science, Proceedings of 1st Short
Course EUROGEN- 95. Wiley, New York, 127140.
Shi C., Yan Z. L
u K., Shi Z. and Wang B. (2009) A domiance tree and its application in evolutionary multi-objective optimization, Information Sciences
179, 35403560.
Storn R. and Price K. (1995) Dierential Evolution - A simple and ecient
adaptive scheme for global optimization over continuous spaces. Tech. Rep.
TR-95-12, 112. International Computer Sicience, Berkeley, California.
Teo J., Hijazi H.A., Omar Z.A., Nohamad R. and Hamid Y. (2007) Harnessing
Mutational Diversity at Multiple Levels for Improving Optimization Accuracy in G3-PCX. In: Proceedings of the Congress on Evolutionary Computation (CEC07), 45024507.
Van Veldhuizen D.A. (1999) Multiobjective Evolutionary Algorithms: Classications, Analyses, and New Innovations, Ph. D. Thesis, Dayton, OH: Air
Force Institute of Tecnology, TR-AFIT/DS/ENG/99-01.
Van Veldhuizen D.A. and Lamont G.B. (2000) On Measuring Multiobjective
Evolutionary Algorithm Performance. In 2000 Congress on Evolutionary
Computation, vol. 1, 204211, 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 Kaufmann
Publishers, San Mateo, California, 205218.
Xing L.N., Chen Y.W. and Yang K.W. (2009) A novel mutation operator base
on the immunity operation. Eur. J. Oper. Res. 197, 830833.
Xue F., Sanderson A.C. and Graves R. (2005) Multi-objective dierential evolution - algorithm, convergence analysis, and applications. In: Proceedings
of the Congress on Evolutionary Computation (CEC05), 743750.
Yang S.M., Shao D.G. and Luo Y.J. (2005) A novel evolution strategy for
multiobjective optimization problem. App. Math. Comput. 170, 850873.
Yuen S.Y. and Chow C.K. (2009a) Continuous Non-Revisiting Genetic Algorithm. In: Proceedings of the Congress on Evolutionary Computation
(CEC09), 18961903.
Yuen S.Y. and Chow C.K. (2009b) A Genetic Algorithm That Adaptively
Mutates and Never Revisits. IEEE Trans. Evol. Comput. 13(2), 454472.

168

Bibliografa

Zhang J., Chung H.S.H. and Lo W.L. (2007) Clusterin-Based Adaptive


Crossover and Mutation Probabilities for Genetic Algorithms. IEEE Trans.
Evol. Comput. 11(3), 326335.
Zhao X.C., Gao X.S. and Hu Z.C. (2007) Evolutionary programming based on
non-uniform mutation. Appl. Math. Comput. 192(1), 111.
Zitzler E. (1999) Evolutionary Algorithms for Multiobjective Optimization:
Methods and Applications. PhD. Thesis, Dissertation ETH No. 13398, Swiss
Federal Institute of Technology (ETH), Z
urich, Switzerland.
Zitzler E., and Thiele L. (1999) Multiobjective evolutionary algorithms : A
comparative case study and the Strength Pareto Approach. IEEE Transactions on Evolutionary Computation 3(4), 257271.
Zitzler E., Deb K., and Thiele L (2000) Comparison of multiobjective evolutionary algorithms: Empirical results. Evolutionary Computation 8(2), 173
195.
Zitzler E., Laumanns M., and 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, 121.

También podría gustarte