You are on page 1of 12

Algoritmos Meméticos Adaptativos

para Optimización Multi-Objetivo


Marcos A. Báez
Universidad Nacional de Asunción, Facultad Politécnica
San Lorenzo, Paraguay, Casilla de Correos 1439
mbaezpy@gmail.com

Derlis A. Zárate
Universidad Nacional de Asunción, Facultad Politécnica
San Lorenzo, Paraguay, Casilla de Correos 1439
dzaratepy@gmail.com

Benjamı́n Barán
Universidad Nacional de Asunción, Facultad Politécnica
San Lorenzo, Paraguay, Casilla de Correos 1439
bbaran@pol.una.py

Abstract
Memetic algorithms have demonstrated to be successful in the resolution of combinatorial optimization
problems. In addition, they are well adapted to the resolution of multi-objective optimization problems. This
work proposes a new family of multi-objective memetic algorithms, based on a more memetic adaptation
of existing multi-objective memetic algorithms. The introduced adaptations try to obtain more flexible
algorithms that require minimum refinements when being applied to new problems. The adaptive versions of
the algorithms were compared to the original versions and have demonstrated to have a better performance.
Also, a comparison to different approaches based on ant colonies optimization was made and it demonstrates
that memetic algorithms have a better performance. All the algorithms were tested on bi-objective versions
of well-known combinatorial optimization problems, as the Traveling Salesman Problem (TSP) and the
Quadratic Assignment Problem (QAP).

Keywords: Artificial Intelligence, Multi-objective Optimization, Memetic Algorithms, Multimemes, Adap-


tive.

Resumen
Los algoritmos meméticos han demostrado ser exitosos en la resolución de problemas de optimización com-
binatoria. Además, están bien adaptados a la resolución de problemas de optimización multi-objetivo. Este
trabajo propone una nueva familia de algoritmos meméticos multi-objetivo, que resulta de una adaptación
más memética de los algoritmos meméticos multi-objetivo existentes en el estado del arte. Las adaptaciones
introducidas intentan obtener algoritmos más flexibles que requieran mı́nimos refinamientos previos al apli-
carse a nuevos problemas. Las versiones adaptativas de los algoritmos fueron comparadas con las versiones
originales y demostraron tener un mejor desempeño. Además, se realiza una comparación con algunos enfo-
ques de optimización basados en colonias de hormigas y se demuestra que los algoritmos meméticos tienen un
mejor desempeño. Todos los algoritmos fueron probados sobre versiones bi-objetivas de conocidos problemas
de optimización combinatoria: Traveling Salesman Problem (TSP) y Quadratic Assignment Problem (QAP).

Palabras clave: Inteligencia Artificial, Optimización Multi-objetivo, Algoritmos Meméticos, Multimemes,


Adaptativo.
1. Introducción
El término algoritmo memético - inspirado en el concepto de meme de Richard Dawkins [5] - fue introducido
por Moscato para describir a los algoritmos evolutivos en los cuales la búsqueda local juega un rol muy
importante. Un algoritmo memético intenta simular la evolución cultural de los individuos, ası́ como un
algoritmo genético intenta simular la evolución biológica [23].
Richard Dawkins, en el último capı́tulo de su libro The Selfish Gene [5], ha introducido la palabra
meme para denotar la idea de una unidad de imitación en la transmisión cultural, la cual es análoga al
gen en ciertos aspectos. Una diferencia clave existente entre los genes y los memes es la siguiente: antes de
que un meme sea traspasado, tı́picamente es adaptado a los pensamientos y comprensiones de la persona
que lo transmite; mientras que un gen es pasado como un todo, prácticamente sin modificaciones. Moscato
asemejó este pensamiento al proceso de refinamiento local y por ello promovió el término algoritmo memético
para describir a los algoritmos evolutivos que usan fuertemente la búsqueda local [30].
Hasta hoy, los algoritmos meméticos han sido aplicados en diferentes áreas y han demostrado ser más efi-
cientes y efectivos que los algoritmos evolutivos tradicionales. Moscato y Cotta (2003) nos resumen una lista
de las aplicaciones que dan cuenta de la popularidad que ha alcanzado esta metodologı́a. De las aplicaciones
mencionadas, se destacan las siguientes: problemas de particionamiento de grafos, partición de números,
conjuntos independientes de cardinalidad máxima, empaquetado, coloreado de grafos, recubrimiento de con-
juntos, planificación de tareas, problemas generalizados de asignación, problemas multidimensionales de la
mochila, programación entera no lineal, asignación cuadrática, particionamiento de conjuntos y muy espe-
cialmente el problema del cajero viajante. También, el paradigma fue utilizado en otros problemas menos
conocidos, pero sin duda de igual importancia. En la literatura se citan a los algoritmos meméticos en diversas
áreas, como por ejemplo: aprendizaje en máquinas y robótica, electrónica, ingenierı́a, medicina, economı́a,
oceanografı́a, matemáticas, procesamiento de imágenes y de voz, ası́ como la biologı́a molecular [25].
Moscato [24] y Krasnogor [15] han propuesto crear algoritmos más meméticos o puramente meméticos,
haciendo referencia a la capacidad de utilizar múltiples memes en un simple algoritmo. La selección del meme
a utilizar se aprende durante el proceso de búsqueda. En general, a los algoritmos meméticos que poseen la
capacidad de seleccionar dinámicamente los memes se los denomina algoritmos meméticos adaptativos [27].
En el área de la optimización combinatoria, Smith [31], Cowling [4], Krasnogor [16] y Knowles [12] son
algunos autores que han investigado el tema.
Cabe destacar que, los algoritmos meméticos están particularmente bien adaptados a la resolución de
problemas de optimización multi-objetivo donde se requiere un conjunto diverso de soluciones (de donde
surge el interés de utilizar una población) pero cercanas al frente Pareto real (lo cual es asegurado por la
búsqueda local) [18].
Este trabajo presenta una nueva familia de algoritmos: Multi-Objective Adaptive Memetic Algorithm
(MOAMA), que resulta de una adaptación ƒmás memética‚ de los algoritmos del estado del arte de la
optimización multi-objetivo para los algoritmos meméticos. Las adaptaciones están basadas en las ideas de los
algoritmos meméticos adaptativos para producir versiones más flexibles que requieran mı́nimos refinamientos
a la hora de aplicarlos a problemas especı́ficos. Estas adaptaciones fueron comparadas con las versiones
originales de los algoritmos. Ası́ también, se realiza una comparación con algunos enfoques basados en
colonias de hormigas: MOACS [2], MOA [7], M3AS [29], MAS [28]. Los algoritmos fueron probados sobre
versiones bi-objetivas de conocidos problemas de optimización combinatoria.
El trabajo está organizado como sigue: en la sección 2 se trata la formulación matemática de la op-
timización multi-objetivo, en la sección 3 se resume el estado del arte de los algoritmos meméticos para
optimización multi-objetivo. En la sección 4 se proponen versiones adaptativas de los algoritmos meméticos
originales. En la sección 5 se presenta la implementación computacional y los resultados experimentales.
Finalmente, en la sección 6 se presentan algunas conclusiones y se proponen algunos trabajos futuros.

2. Optimización Multi-Objetivo
La optimización multi-objetivo [35] consiste en el problema de hallar soluciones que optimicen k objetivos
posiblemente conflictivos entre si. El mismo puede formularse como el problema de encontrar un vector de
decisión x en el espacio de decisión X que satisfaga m restricciones y optimice un vector de objetivos y en
el espacio objetivo Y, esto es:
Optimizar y = f (x) = [f1 (x), f2 (x), . . . , fk (x)]T ∈ Y

2
sujeto a gi (x) ≥ 0, i = 1, . . . , m
donde x = [x1 , x2 , . . . , xn ]T ∈ X.
Considerando que existen varios objetivos a optimizar, no siempre es posible una tradicional comparación
unidimensional que indique si una solución es mejor que otra. En consecuencia se utiliza el conocido concepto
de dominancia Pareto [35], en el que un vector objetivo y1 domina a otro y2 (y1 Â y2 ) si y solo si y1 no es
peor que y2 en ningún objetivo y es estrictamente mejor que y2 en al menos un objetivo. Del mismo modo,
podemos decir que una solución x1 es mejor que otra x2 si f (x1 ) Â f (x2 ), se dice entonces que x1 es mejor
que x2 o que x1 domina a x2 . En el caso que ni x1 domine a x2 (x1  x2 ) ni x2 domine a x1 (x2  x1 ) se
dice que las soluciones no son comparables, lo que se denota como x1 ∼ x2 .
Las caracterı́sticas hasta ahora expuestas hacen que sea posible tener un conjunto de soluciones de
compromiso, compuesto por todas las soluciones no dominadas del dominio. A este conjunto de soluciones
óptimas se denomina conjunto Pareto (Ptrue ) y su respectiva imagen en el espacio objetivo se conoce como
frente Pareto (Ytrue ).
En el contexto de este trabajo se consideran problemas de minimización, sin que esto implique una
pérdida de generalidad.

3. Algoritmos Meméticos para Optimización Multi-Objetivo


En un interesante trabajo de Knowles y Corne (2004) sobre algoritmos meméticos para optimización multi-
objetivo se menciona que existen tres principales grupos de autores que se encargaron de desarrollar gran
parte de la literatura memética multi-objetivo existente [12]. Ası́, ellos reconocen que existen otros autores
en el área y mencionan que los trabajos de estos son más aislados y tienden a ser más bien de aplicación
en vez de propuestas de algoritmos generales. Recientemente, Lust y Teghem (2006) al proponer un nuevo
algoritmo memético multi-objetivo [18], reiteran estas observaciones. Por tal motivo, en este trabajo se ha
considerado a estos algoritmos como el estado del arte de los algoritmos meméticos para optimización multi-
objetivo. Los principales grupos de autores son: Ishibuchi y Murata, quienes propusieron el IMMOGLS [8],
Jaszkiewicz, quien propuso los algoritmos MOGLS [9] y PMA [10], Knowles y Corne, quienes desarrollaron
el M-PAES [11], Lust y Teghem quienes propusieron el MEMOX [18]. Una breve descripción de cada uno de
estos algoritmos se presenta a continuación.

3.1. Algoritmo Memético Multi-Objetivo Patrón


Existen en la literatura varias propuestas de algoritmos meméticos multi-objetivo de propósito general que
difieren en la manera en que realizan ciertas operaciones, el orden en que las realizan y en las estrategias
y decisiones de diseño más profundas. A pesar de estas diferencias, es posible reunir las caracterı́sticas
comunes de todos los algoritmos en un algoritmo general o algoritmo patrón. A partir de este patrón,
cualquier algoritmo puede expresarse como una instancia particular del mismo. En el cuadro 1 se presenta
al algoritmo memético patrón.

01: Inicializar conjunto de soluciones Cs


02: Actualizar conjunto de soluciones no dominadas Pc desde Cs
03: Mientras no se cumpla criterio de parada
04: C = seleccionar soluciones de Cs ∪ Pc
05: C 0 = variar individuos de C
06: C 00 = aplicar búsqueda local a soluciones de C 0
07: Actualizar soluciones de Cs desde C 00
08: Actualizar Pc desde C 00
09: Fin mientras

Cuadro 1: Pseudocódigo del algoritmo memético multi-objetivo patrón.

3.2. IMMOGLS: Ishibuchi and Murata Multi-Objective Genetic Local Search


Ishibuchi y Murata (1996) fueron los primeros autores en proponer un algoritmo memético multi-objetivo: el
IMMOGLS [8]. Este algoritmo utiliza una función escalarizante definida gracias a un vector de pesos aleato-
riamente obtenido para combinar los k objetivos del problema en una única función de aptitud. Además,

3
mantiene una población de soluciones Cs de tamaño p. La población inicial se compone de soluciones aleato-
rias (lı́nea 1 del cuadro 1). El conjunto de soluciones no dominadas Pc se inicializa en base a las soluciones
de la población aleatoria.
En cada iteración del algoritmo, se eligen q = p − nelite pares de soluciones de la población Cs (lı́nea 4
del cuadro 1) mediante el método de la ruleta. Del conjunto tentativo de soluciones no dominadas Pc , se
seleccionan aleatoriamente nelite soluciones para completar la población actual C. Los pares de soluciones
seleccionados son recombinados para generar q descendientes. Los descendientes son mutados en base a una
probabilidad mc . La recombinación y la mutación se realiza en la lı́nea 5 del cuadro 1.
Posteriormente, todas las soluciones de la población actual son optimizadas mediante un procedimiento
de búsqueda local (lı́nea 6 del cuadro 1). El número de soluciones vecinas examinadas en cada movimiento
(posible cambio) de la búsqueda local es restringido para controlar ası́ el tiempo de ejecución consumido en
esta fase del algoritmo. Finalmente, la población Cs y el conjunto Pc son actualizados en base al conjunto
de soluciones optimizadas.

3.3. MOGLS: Multi-Objective Genetic Local Search


De manera similar a la metaheurı́stica anterior, el MOGLS de Jaszkiewicz (2002) también utiliza una función
escalarizante definida mediante un vector de pesos aleatorios e intenta mejorar el valor de esta función en
cada iteración [9].
La principal diferencia con el IMMOGLS es la manera en que se seleccionan las soluciones para recom-
binación. El MOGLS utiliza un conjunto de soluciones ilimitado Cs . De este conjunto, se elige una pequeña
población temporal Tp que almacena las mejores soluciones en base al valor de la función de aptitud. Un par
de soluciones se elige de la población temporal de manera aleatoria, con probabilidad uniforme (lı́nea 4 del
cuadro 1).
El par de soluciones seleccionado es recombinado en la lı́nea 5 del cuadro 1 para generar una nueva
solución. Este algoritmo no realiza mutación. La nueva solución es optimizada mediante un procedimiento
de búsqueda local (lı́nea 6 del cuadro 1). Luego, la solución optimizada será agregada al conjunto Cs si
es mejor que la peor solución de Tp y diferente de todas las soluciones en Tp en el espacio de decisión.
Finalmente, el conjunto de soluciones no dominadas Pc es actualizado con la solución optimizada.

3.4. PMA: Pareto Memetic Algorithm


Este algoritmo memético propuesto por Jaszkiewicz (2003) es muy similar a los enfoques mencionados más
arriba, difiriendo de ellos en el esquema de selección de soluciones y en la estrategia de supervivencia del
descendiente generado [10]. También utiliza una función escalarizante definida mediante un vector de pesos
aleatorios para combinar los k objetivos en una única función de utilidad. El algoritmo considera el uso de
un conjunto ilimitado de soluciones Cs y utiliza una población temporal T elegida aleatoriamente. Un par
de soluciones es elegido de T mediante una selección por torneo (lı́nea 4 del cuadro 1).
El par de soluciones es recombinado en la lı́nea 5 del cuadro 1. La calidad de la solución generada por el
proceso de recombinación es controlada mediante el uso de un parámetro er . Este parámetro representa el
valor al que Jaszkiewicz denomina ranking esperado de soluciones recombinadas. El tamaño del torneo uti-
lizado en la selección se calcula utilizando el parámetro er como 3|Cs |/2er donde | · | representa cardinalidad.
Este algoritmo tampoco realiza mutación.
La nueva solución es mejorada mediante un procedimiento de optimización local (lı́nea 6 del cuadro 1).
Luego, la solución optimizada será agregada al conjunto Cs si es mejor que la segunda mejor solución de T .
Por último, el conjunto de soluciones no dominadas Pc es actualizado con la solución optimizada.

3.5. M-PAES: Memetic Pareto Archived Evolution Strategy


El algoritmo M-PAES de Knowles y Corne (2000) es bastante diferente a los propuestos por Jaszkiewicz e
Ishibuchi y Murata ya que no utiliza funciones escalarizantes. M-PAES utiliza en la búsqueda local y en la
selección de padres, una forma de ranking Pareto basado en la comparación de soluciones con un archivo de
soluciones no dominadas [11].
Inicialmente, una población global de soluciones Cs de tamaño p es inicializada junto con el conjunto
global de soluciones no dominadas Pc de tamaño fijo (lı́nea 1 y 2 del cuadro 1). A continuación, la búsqueda
local (lı́nea 6 del cuadro 1) es aplicada sobre la población Cs utilizando el (1+1)-PAES [13], el cual considera

4
el uso de una hipergrilla para mantener un conjunto local de soluciones no dominadas de tamaño fijo.
Al mismo tiempo, el (1+1)-PAES actualiza el conjunto de soluciones no dominadas Pc con las soluciones
encontradas durante la búsqueda. Luego, una población temporal C 0 de tamaño p es generada mediante la
recombinación (lı́nea 5 del cuadro 1) de p pares de soluciones de Cs ∪ Pc seleccionados aleatoriamente (lı́nea
4 del cuadro 1). Finalmente, la población Cs es reemplazada por C 0 (lı́nea 7 del cuadro 1) y el conjunto de
soluciones no dominadas es actualizado a partir de C 0 (lı́nea 8 del cuadro 1).

3.6. MEMOX
En una reciente propuesta, Lust y Teghem (2006) presentan un nuevo algoritmo memético multi-objetivo
llamado MEMOX [18] que combina elementos de los algoritmos ya mencionados sin utilizar funciones es-
calarizantes. Este enfoque considera el uso de una hipergrilla dinámica de manera a medir la densidad de las
soluciones e intenta obtener diversidad mediante el esquema de selección de soluciones para la recombinación.
Este algoritmo hace uso de un conjunto de soluciones unitario (|Cs | = 1), cuya única solución es inicial-
mente generada y posteriormente utilizada para actualizar el conjunto de soluciones no dominadas Pc (lı́neas
1 y 2 del cuadro 1). A continuación, esta solución es optimizada utilizando algún procedimiento de búsqueda
local (lı́nea 6 del cuadro 1) que asegure un mı́nimo de r + 1 soluciones. El parámetro r es utilizado después
en la selección de los padres (lı́nea 4 del cuadro 1). El primer padre seleccionado es una de las soluciones de
Cs con mı́nima densidad. El segundo padre es una de las r soluciones cercanas al primer padre de acuerdo
a la distancia euclidiana en el espacio objetivo. Estas soluciones son recombinadas para generar una única
solución, es decir |C 0 | = 1 (lı́nea 5 del cuadro 1). Finalmente Cs es reemplazada por la solución de C 0 (lı́nea
7 del cuadro 1) y el conjunto de soluciones no dominadas Pc es actualizado (lı́nea 8 del cuadro 1).

4. Algoritmos Meméticos Adaptativos


Con la aparición de los teoremas No Free Lunch [33] se acepta que un algoritmo memético, al igual que
cualquier otro algoritmo, es lo suficientemente bueno únicamente en la medida que pueda ser adaptado a las
caracterı́sticas especı́ficas de un problema [12]. Este ingrediente se acentúa en los algoritmos meméticos, donde
frecuentemente es necesario realizar minuciosos refinamientos en los parámetros de control para obtener
resultados útiles en cada instancia particular de un problema. Uno de estos parámetros son los memes [27].
Los memes, en el contexto de los algoritmos meméticos adaptativos, denotan la estrategia a utilizar
para realizar la búsqueda local [16]. A estos se les atribuye el mayor impacto en el rendimiento de los
algoritmos [27]. Es por eso que surge el interés por producir algoritmos meméticos que puedan adaptarse a
las caracterı́sticas de los problemas. Los algoritmos que cumplen con esta definición se denominan algoritmos
meméticos adaptativos [27]. Uno de los componentes adaptables son los memes. En el área de la optimización
combinatoria, Smith [31], Cowling [4], Krasnogor [16] y Knowles [12] son algunos autores que han investigado
sobre la adaptación de memes.

4.1. Hiperheurı́sticas
Cowling et al. (2000) idearon el término hiperheurı́stica para denominar a la estrategia que maneja la
opción de qué meme utilizar en un momento determinado, dependiendo de las caracterı́sticas del espacio
actualmente explorado [4]. Los memes son seleccionados a partir de una colección de memes de acuerdo a
distintos enfoques, los cuales son catalogados en tres diferentes categorı́as [4]: enfoques aleatorios, enfoques
voraces y enfoques basados en una función de selección.
En la categorı́a de enfoques basados en una función de selección, se intenta medir que tan probable es
que un meme sea efectivo, basándose en el estado actual del conocimiento de la región del espacio solución
actualmente explorado. En [4], la función está compuesta de tres componentes que capturan la información
concerniente a la reciente efectividad de la heurı́stica (f1 ), información concerniente a la efectividad reciente
de un consecutivo par de heurı́sticas (f2 ) e información concerniente al tiempo transcurrido desde que un
meme fue por última vez utilizado (f3 ).

4.2. Multimemes y Coevolución


Krasnogor y Smith (2001) introdujeron un nuevo tipo de algoritmo memético en el cual, el meme a utilizar
por cada individuo se aprende durante la evolución [16]. El uso de múltiples memes, multimeme o memeplexe

5
fue motivado por la idea de crear algoritmos verdaderamente meméticos [12]. Krasnogor propone también un
esquema básico de herencia en [16], donde los indidivuos se encuentran codificados con un material genético y
un material memético. El mecanismo de herencia vertical se lleva a cabo en los operadores genéticos, de esta
manera, esta forma de auto-adaptación desarrolla simultáneamente el material genético y memético. Smith
(1996) también ha trabajado en algoritmos meméticos coevolutivos, cuyos mecanismos para la selección de
los memes son similares. Estos memes están representados en forma de reglas codificadas con patrones del
tipo condición:acción, aplicados a la representación del problema particular [31].

4.3. Framework para Algoritmos Meméticos Adaptativos para Optimización Multi-Objetivo


Knowles y Corne (2004) en su trabajo sobre algoritmos meméticos multi-objetivo propusieron un framework
como guı́a para crear algoritmos meméticos multi-objetivo mucho más meméticos. Esta idea se basa en
el uso de múltiples memes que puedan coexistir en un simple algoritmo y ser seleccionados de acuerdo
a una medida del éxito de los mismos. El framework presentado en el cuadro 2 incluye el uso de seis
schedulers diferentes que corresponden a la selección de los padres (sel sched ), reproducción (var sched ),
aprendizaje (ls sched ), selección de sobrevivientes (rep sched ), actualización del archivo (red sched ) y polı́tica
de inmigración (imm sched ). Cada scheduler realiza la selección a partir de un memeplexe de operadores,
basándose en una estimación del éxito actual de estos operadores [12].

Inicializar conjunto de soluciones Cs


Actualizar conjunto de soluciones no dominadas Pc desde Cs
Mientras no se cumpla criterio de parada
Mientras no se cumpla criterio de estancamiento
Evaluar éxito de op. de selección del conjunto S y seleccionar s ∈ S utilizando sel sched
Usando s, seleccionar soluciones de Cs ∪ Pc en C
Evaluar éxito de op. de variación del conjunto V y seleccionar v ∈ V utilizando var sched
Usando v, variar soluciones de C en C 0
Evaluar éxito de op. de optimización del conjunto L y seleccionar l ∈ L utilizando ls sched
Usando l, optimizar localmente soluciones de C 0 en C 00
Evaluar éxito de op. de reemplazo del conjunto R y seleccionar r ∈ R utilizando rep sched
Usando r, reemplazar soluciones de Cs ∪ C 00 en Cs
Evaluar éxito de op. de reducción del conjunto N y seleccionar n ∈ N utilizando red sched
Usando n, reducir soluciones de Pc ∪ Cs en Pc
Fin mientras
Evaluar éxito de op. de inmigración del conjunto I y seleccionar i ∈ I utilizando imm sched
Usando i, generar inmigrantes aleatorios desde Cs en Cs
Fin mientras

Cuadro 2: Pseudocódigo del framework para un algoritmo memético adaptativo.

4.4. Propuesta de Algoritmos Meméticos Adaptativos para Optimización Multi-Objetivo


La propuesta que se presenta en este trabajo (ver cuadro 3) consiste en una adaptación más memética
de los algoritmos multi-objetivo mencionados en la sección 3. Esta adaptación tiene la finalidad de crear
versiones más flexibles de algoritmos generales extensamente estudiados, mediante el uso de una colección de
memes que puedan ser seleccionados dinámicamente de acuerdo a las condiciones del espacio de búsqueda.
El enfoque utilizado pretende encontrar el mejor meme de una colección mediante una estrategia que según
Cowling et al. (2000) se puede catalogar como una hiperheurı́stica con nivel de adaptación global [4].
Los ajustes realizados están inspirados en el framework propuesto por Knowles y Corne [12] y fueron
introducidos sin interferir en la esencia de cada algoritmo. Se implementaron tres schedulers correspondientes
a la selección de los operadores de mutación y cruce (var sched ) y búsqueda local (ls sched ) respectivamente.
El éxito de los memes es calculado mediante una versión simplificada de la función de selección de Cowling
et al. (2000) [4]. Esta versión simplificada captura el éxito del meme a lo largo del proceso de búsqueda y a
la vez, asegura que todos los memes tengan alguna probabilidad de ser seleccionados. El efecto sinérgico del
uso de los operadores no fue tenido en cuenta en la selección pues no es intensión de este trabajo estudiar el

6
impacto de este componente. Una vez que el éxito de cada meme es evaluado, el scheduler realiza la selección
utilizando la técnica de selección de la ruleta. La frecuencia con la que se realiza la selección es un parámetro
configurable y pretende controlar la sobrecarga introducida por el proceso de selección.
La definición de meme utilizada es similar a la propuesta por Krasnogor [16]. Cada meme define una
estrategia de aceptación, un movimiento básico, el número de iteraciones y otros parámetros propios de cada
meme. La colección de memes disponible se ajusta al criterio de no distorsionar la esencia de cada algoritmo.

Inicializar conjunto de soluciones Cs


Actualizar conjunto de soluciones no dominadas Ptrue desde Cs
Inicializar conjunto de operadores de variación V y conjunto de operadores de optimización local L
Mientras no se cumpla criterio de parada
C = seleccionar soluciones de Cs ∪ Ptrue
si condición de evaluación es alcanzada
Evaluar éxito de los operadores de variación en V
Elegir criterio de variación v en base a medida de éxito, utilizando estrategia var sched
fin si
C 0 = Usando v, variar soluciones de C
si condición de evaluación es alcanzada
Evaluar éxito de los operadores de optimización en L
Elegir criterio de optimización l en base a medida de éxito, utilizando estrategia ls sched
fin si
C 00 = Usando l, aplicar búsqueda local a soluciones de C 0
Actualizar soluciones de Cs desde C 00
Actualizar Ptrue desde C 00
Fin mientras

Cuadro 3: Pseudocódigo de la propuesta de algoritmos meméticos adaptativos multi-objetivo.

4.5. Problemas de Prueba


Dos problemas de prueba han sido seleccionados en este artı́culo para comparar los resultados obtenidos por
los algoritmos considerados en este trabajo. El primer problema utilizado es la versión multi-objetivo del
Traveling Salesman Problem (TSP). Una formulación de este problema puede encontrarse en el trabajo de
Martı́nez et al. [19]. El segundo problema considerado es la versión multi-objetivo del Quadratic Assignment
Problem (QAP) cuya formulación puede encontrarse en el trabajo de Knowles y Corne [14].
Los operadores de cruce utilizados en ambos problemas son: Simple Crossover, Two Point Crossover,
Distance Preserve Crossover (DPX) [6, 21] y una variante del DPX que reconecta los fragmentos de la
solución de manera aleatoria [9, 3]. Estos operadores forman parte del conjunto V del cuadro 3.
Para la mutación de soluciones, los operadores considerados para ambos problemas son: Shift Mutation,
Reciprocal Swap Mutation y Non-sequential 4-changes [20]. Además, para el QAP se utiliza adicionalmente
el Predefined Distance Mutation [21]. Estos operadores, también forman parte del conjunto V del cuadro 3.
Los procedimientos de optimización local utilizan como heurı́stica básica la introducida por Lin: k-opt [17].
Ejemplos de uso del k-opt para el TSP y el QAP pueden encontrarse en [26] y [21] respectivamente. Los
buscadores locales utilizados en este trabajo son: Ishibuchi and Murata Modified Local Search [8], Greedy
2-opt, Steepest 2-opt, Greedy 3-opt y Steepest 3-opt [9]. Las versiones greedy de los operadores eligen el primer
movimiento que mejora la solución. Las versiones steepest analizan todos los posibles movimientos y realizan
el mejor cambio que brinda una mejora. Adicionalmente se consideran otros dos optimizadores locales que
no utilizan al k-opt como heurı́stica básica: (1+1)-PAES [13] y Tabu Search [22]. Estos operadores forman
parte del conjunto L del cuadro 3.

5. Implementación Computacional
Los algoritmos meméticos utilizados en este trabajo fueron implementados en el lenguaje de programación
ANSI C (Compilador GNU C) y las pruebas de ejecución fueron realizadas sobre el sistema operativo FreeBSD
5.4 en una máquina con procesador Intel Celeron de 1.8GHz y 512MB de memoria RAM.

7
Se han realizado diez corridas de cada algoritmo para cada instancia de los problemas de prueba con-
siderados y los resultados de cada corrida fueron combinados para obtener el frente Pareto generado por el
algoritmo. El criterio de parada establecido para cada caso fue el tiempo de ejecución. La duración de cada
corrida fue estimada empı́ricamente y se estableció en 200 segundos.

5.1. Métricas de Desempeño de los Algoritmos


Para medir el desempeño de los algoritmos implementados, se han utilizado cuatro métricas de evaluación.
El cálculo de las métricas en cuestión considera a Ytrue como el frente Pareto conocido, Y 0 como el frente
Pareto generado por cada uno de los algoritmos utilizando el conjunto de soluciones no dominadas, generado
con las diez corridas realizadas. Como medida de distancia, se utiliza la distancia euclidiana entre dos puntos
representada por d(a, b). A su vez, | · |representa cardinalidad.
Las primeras tres métricas fueron propuestas por Zitler et al. [34] y se refieren a la evaluación de la
calidad (M10 ), distribución (M20 ) y extensión (M30 ) del frente Pareto generado por el algoritmo. Por último
se considera la métrica denominada Error (E), tomada de Veldhuizen [32], la cual evalúa el porcentaje de
soluciones generadas que no pertenecen al frente Pareto conocido. La métrica M10 se calcula como:
1 X
M10 (Y 0 ) = mı́n{d(a, ā) ∀ ā ∈ Ytrue } (1)
|Y 0 | 0
a∈Y

Para el caso de la métrica M20 , debe calcularse un conjunto Ca = {b ∈ Y 0 | d(a, b) > σ} ∀ a ∈ Y 0 dado un
parámetro de vecindario σ dependiente del problema. Se calcula como:
1 X
M20 (Y 0 ) = 0|
|Ca | (2)
|Y − 1 0 a∈Y

La métrica M30 se calcula como:


v
u k
uX
M3 (Y ) = t
0 0
máx{d(ai , bi ) ∀ a, b ∈ Y 0 } (3)
i=1

Por último, la métrica de Error se calcula como:


P|Y 0 |
i=1 ei
E= (4)
|Y 0 |

donde ei toma el valor 0 si la i-ésima solución de Y 0 pertenece a Ytrue , 1 en caso contrario.


Para facilitar la comparación entre algoritmos, los valores obtenidos en las métricas M10 , M20 , y M30 se
normalizaron al valor máximo de cada métrica, dependiendo del problema considerado. De esta manera, los
resultados representan porcentajes relativos entre algoritmos. Siguiendo un enfoque similar al aplicado por
Paciello et al. [28], en el caso de la métrica M20 se utilizó como valor de σ el 10 % de la distancia entre los
puntos extremos del frente Pareto conocido (Ytrue ).

5.2. Resultados Experimentales


En el caso del TSP se utilizaron dos instancias bi-objetivo de 100 ciudades cada una: KroAB100 y KroAC100,
las cuales se encuentran disponibles en Internet en http://www-idss.cs.put.poznan.pl/∼jaszkiewicz/motsp/.
El frente Pareto utiliza como Ytrue el mejor frente publicado por Jaszkiewicz en el sitio web en cuestión.
Como segundo problema de prueba, se utilizaron dos instancias del QAP bi-objetivo de 75 localidades
cada una: qapUni.75.0.1 y qapUni.75.p75.1, las cuales fueron creadas por el generador de instancias de
Knowles y Corne [14] y se encuentran disponibles en http://w3.ualg.pt/∼lpaquete/qap/. El frente Pareto
utilizado como Ytrue es el frente publicado como solución de referencia en el mismo sitio mencionado.
Las pruebas realizadas pretenden comparar las versiones adaptativas de los algoritmos meméticos para
optimización multi-objetivo con las versiones originales de cada enfoque memético. Además, se realizan com-
paraciones entre los algoritmos meméticos (originales y adaptativos) y algunos algoritmos de optimización
multi-objetivo basados en colonias de hormigas. En el cuadro 4 se detalla la nomenclatura utilizada para

8
Nomenclatura
Algoritmo Ref. Nomenclatura Adaptativa
1 Ishibuchi and Murata Multi-Objective Genetic Local Search [8] IMMOGLS AIMMOGLS
2 Multi-Objective Genetic Local Search [9] MOGLS AMOGLS
3 Pareto Memetic Algorithm [10] PMA APMA
4 Memetic Pareto Archived Evolution Strategy [11] MPAES AMPAES
5 MEMOX [18] MEMOX AMEMOX
6 Multi-Objective Ant Colony System [2] MOACS -
7 Multi-Objective Ant System [28] MAS -
8 Multi-Objective Omicron ACO [7] MOA -
9 Multi-Objective Max-Min Ant System [29] M3AS -

Cuadro 4: Nomenclatura de algoritmos comparados.

indicar los algoritmos comparados. Las versiones originales de los algoritmos fueron ejecutadas con el mejor
meme para cada caso. El mejor meme para cada algoritmo y problema particular fue determinado empı́ri-
camente mediante una evaluación independiente de cada meme disponible.
En los cuadros 5 y 6 se presentan los resultados promedios de las métricas de desempeño para los
problemas del TSP y QAP respectivamente. El cuadro 7 presenta los promedios generales, por familia de
algoritmos, de las métricas calculadas para ambos problemas de prueba. En el caso del QAP, la métrica
del Error no fue considerada ya que ninguno de los algoritmos obtuvo soluciones iguales o mejores que las
soluciones del frente Pareto conocido Ytrue para las instancias en cuestión.

M1’ Algoritmo M2’ Algoritmo M3’ Algoritmo E Algoritmo


1° 0,1320 IMMOGLS 0,9726 MOGLS 0,9974 AMOGLS 0,4820 IMMOGLS
2° 0,1458 AIMMOGLS 0,9200 AMOGLS 0,9818 MOACS 0,6828 AIMMOGLS
3° 0,1802 APMA 0,4888 AMEMOX 0,9659 MOGLS 0,8766 APMA
4° 0,1976 PMA 0,4728 MEMOX 0,9597 M3AS 0,9552 PMA
5° 0,2349 MOGLS 0,4350 MPAES 0,9579 MPAES 1 AMPAES
6° 0,2650 AMOGLS 0,4324 AMPAES 0,9500 APMA 1 MOA
7° 0,4745 AMPAES 0,3979 AIMMOGLS 0,9440 AMEMOX 1 MPAES
8° 0,6122 AMEMOX 0,2382 MOACS 0,9432 MAS 1 AMEMOX
9° 0,6960 MAS 0,2311 APMA 0,9431 MOA 1 MEMOX
10° 0,7337 MPAES 0,2190 PMA 0,9365 MEMOX 1 MAS
11° 0,7981 MEMOX 0,2114 MOA 0,9156 PMA 1 MOGLS
12° 0,9354 MOACS 0,1945 MAS 0,8882 AMPAES 1 AMOGLS
13° 0,9508 M3AS 0,1850 M3AS 0,8849 AIMMOGLS 1 M3AS
14° 1,0000 MOA 0,0905 IMMOGLS 0,5971 IMMOGLS 1 MOACS

Cuadro 5: Ranking ordenado del promedio de métricas para el TSP.

Para el TSP, en la métrica que indica la calidad de las soluciones (M10 ) se nota que los algoritmos
meméticos superan a los algoritmos basados en colonias de hormigas. Para la métrica del error (E) y la
métrica de distribución de soluciones (M20 ), la tendencia se repite. En el caso de la métrica que calcula la
extensión del frente Pareto generado (M30 ), el MOACS y el M3AS compiten bastante bien contra los enfoques
meméticos, aunque es el AMOGLS el que tiene mejor desempeño.
En el caso del QAP, de acuerdo a la calidad (M10 ), distribución (M20 ) y extensión (M30 ) de las soluciones,
los algoritmos meméticos superan de manera contundente a los algoritmos basados en colonias de hormigas.
Considerando la comparación entre versiones adaptativas y originales de los algoritmos meméticos, se
observa que los resultados de las métricas calculadas para las versiones adaptativas son en promedio mejores
o muy cercanas a las versiones originales de los algoritmos. Esto se debe a que en ciertos casos, la versión
adaptativa dedica un tiempo considerable a explorar el uso de operadores que no son buenos para la instancia
del problema en cuestión, lo cual hace que el resultado obtenido sea ligeramente inferior a la versión original.
De la misma manera, en ciertos casos ocurre un efecto colaborativo entre operadores de exploración y
explotación, permitiendo que la aplicación de algún operador con buenas caracterı́sticas de exploración,

9
M1’ Algoritmo M2’ Algoritmo M3’ Algoritmo
1° 0,0662 AMPAES 0,8449 PMA 1,0000 PMA
2° 0,0702 AMEMOX 0,8385 AMEMOX 0,8260 APMA
3° 0,0874 MPAES 0,8125 MPAES 0,8168 MPAES
4° 0,1026 APMA 0,7508 APMA 0,8154 AMEMOX
5° 0,1085 MEMOX 0,5980 AMPAES 0,7715 MOGLS
6° 0,1092 PMA 0,5624 MEMOX 0,7579 AIMMOGLS
7° 0,1297 AMOGLS 0,5324 MOGLS 0,6952 MEMOX
8° 0,1308 AIMMOGLS 0,4688 AIMMOGLS 0,6857 AMPAES
9° 0,1428 MOGLS 0,3649 AMOGLS 0,6698 AMOGLS
10° 0,5384 IMMOGLS 0,2060 IMMOGLS 0,6489 M3AS
11° 0,9633 MOACS 0,1600 M3AS 0,5988 MAS
12° 0,9887 M3AS 0,1410 MAS 0,5909 IMMOGLS
13° 0,9952 MOA 0,0376 MOACS 0,4192 MOACS
14° 0,9995 MAS 0,0278 MOA 0,2943 MOA

Cuadro 6: Ranking ordenado del promedio de métricas para el QAP.

ayude a salir de zonas de estancamiento en las que puede caer el algoritmo original, lo que finalmente hace
que el resultado de la versión adaptativa sea superior.
Una última comparación realizada en este trabajo, consiste en agrupar los algoritmos de acuerdo a la
familia a la que pertenecen y calcular el promedio de las métricas para tener una estimación de los promedios
generales de las métricas para ambos problemas de prueba (ver cuadro 7). Las familias de algoritmos consid-
eradas son: Multi-Objective Adaptive Memetic Algorithms (MOAMA), Multi-Objective Memetic Algorithms
(MOMA) y Multi-Objective Ant Colony Optimization (MOACO).

M1’ Algoritmo M2’ Algoritmo M3’ Algoritmo E Algoritmo


1° 0,2177 MOAMA 0,5492 MOAMA 0,8419 MOAMA 0,9437 MOMA
2° 0,3083 MOMA 0,5148 MOMA 0,8248 MOMA 0,9559 MOAMA
3° 0,9412 MOACO 0,1495 MOACO 0,7236 MOACO 1,0000 MOACO

Cuadro 7: Ranking ordenado de promedios generales por familia de algoritmos.

En el cuadro 7 se observa que en promedio, la familia MOAMA tiene una mejor evaluación en las métricas
de calidad, distribución y extensión. En la métrica del error, la familia MOMA presenta una leve ventaja.
En todos los casos, los enfoques meméticos tienen mejor evaluación que la familia MOACO.
Ası́ también, en el resultado de estas pruebas se observa que de los algoritmos meméticos implementados,
aquellos que obtienen soluciones de buena calidad para el TSP, quedan rezagados en el QAP. De la misma
manera, los algoritmos meméticos que no tienen soluciones de buena calidad en el TSP, se destacan notable-
mente en el QAP. Además, se ha observado en el resultado de las pruebas que para las versiones adaptativas
de los algoritmos, los memes con mejor evaluación coinciden con los resultados individuales obtenidos al
evaluar de manera independiente los memes para cada algoritmo y problema particular.

6. Conclusiones y Trabajos Futuros


En este trabajo se compara por primera vez el estado del arte de los algoritmos meméticos para optimización
multi-objetivo contra los mejores algoritmos basados en colonias de hormigas para un conjunto de problemas
de prueba, conforme al ranking de Paciello et al. [28]. Se observa que los algoritmos meméticos son en general
mejores que los enfoques basados en colonias de hormigas para el TSP. Para el QAP, los resultados a favor
de los enfoques meméticos son contundentes.
Además, se ha demostrado que el uso de una colección de operadores de recombinación, mutación y
búsqueda local junto con una estrategia de selección inteligente, permite obtener resultados que en promedio
superan a los obtenidos por las versiones originales de los algoritmos.
Considerando los resultados obtenidos por esta propuesta, se ha comenzado a trabajar en un Team
Algorithm (TA) [1]. Se espera un comportamiento mucho más robusto que los TA tradicionales, ya que se

10
estima que el resultado final sea el obtenido por el mejor algoritmo con el mejor meme sin aplicar ningún tipo
de refinamiento particular al problema a resolver. De esta manera, se podrá disponer de un TA mucho más
flexible que tendrá mejor desempeño en problemas de la vida real, en los cuales poco o ningún conocimiento
se posee sobre los mejores algoritmos, operadores y parámetros. En vista al efecto colaborativo observado
en algunos resultados, como trabajo futuro se pretende estudiar más de cerca este fenómeno y evaluar su
impacto al utilizar la función de Cowling [4].

Agradecimientos
Agradecemos a Julio Paciello y Héctor Martı́nez quienes nos facilitaron los resultados obtenidos por sus
implementaciones de los algoritmos de optimización basados en colonias de hormigas.

Referencias
[1] Barán, B. Parallel Asynchronous Team Algorithms. In: Correa, R., Dutra, I., Fiallos, M.: Models
for Parallel and Distributed Computation: Theory, Algorithmic Techniques and Applications, Kluwer
Academic Publishers, ISBN: 1402006233, 2002.
[2] Barán, B., and Schaerer, M. A multiobjective Ant Colony System for Vehicle Routing Problems
with Time Windows. Proc. 21th IASTED Int. Conf. on Applied Informatics (2003), 97–102. Austria.
[3] Copalu, P., and Dangprasert, P. Hybrid Genetic Algorithm: Modeling and Application to the
Quadratic Assignment Problem. AU Jornal of Technology, Bangkok, 2002, Vol. 5. No. 2.
[4] Cowling, P. I., Kendall, G., and Soubeiga, E. A Hyperheuristic Approach to Scheduling a Sales
Summit. In Proc. of the 3rd Int. Conf. on the Practice And Theory of Automated Timetabling (2000).
[5] Dawkins, R. The Selfish Gene, 4th ed. Oxford University Press, New York, 1976. Chapter 11.
[6] Freisleben, B., and Merz, P. A Genetic Local Search Algorithm for Solving Symmetric and Asym-
metric Traveling Salesman Problems. In Int. Conf. on Evolutionary Computation (1996), pp. 616–621.
[7] Gardel, P., Estigarribia, H., Fernández, U., and Barán, B. Aplicación del Ómicron ACO al
problema de compensación de potencia reactiva en un contexto multiobjetivo. Congreso Argentino de
Ciencias de la Computación -CACIC’2005 (2005). Concordia - Argentina.
[8] Ishibuchi, H., and Murata, T. Multi-objective genetic local search algorithm. In Proc. of the 1996
International Conference on Evolutionary Computation (Nagoya, Japan, 1996), IEEE, pp. 119–124.
[9] Jaszkiewicz, A. Genetic local search for multiple objective combinatorial optimization. European
Journal of Operational Research, 137(1):50-71, 2002.
[10] Jaszkiewicz, A. Do multiple-objective metaheuristics deliver on their promises? A computational
experiment on the set-covering problem. IEEE Trans. Evolutionary Computation 7, 2 (2003), 133–143.
[11] Knowles, J., and Corne, D. M-PAES: A Memetic Algorithm for Multiobjective Optimization. In
Proceedings of the 2000 Congress on Evolutionary Computation CEC00, IEEE Press.
[12] Knowles, J., and Corne, D. Memetic algorithms for multiobjective optimization: issues, methods
and prospects. In Recent Advances in Memetic Algorithms. pp. 313-352. Springer.
[13] Knowles, J., and Corne, D. The Pareto archived evolution strategy : a new baseline algorithm for
Pareto multiobjective optimisation. In Proceedings of the 1999 Congress on Evolutionary Computation
(CEC’99), Volume 1, pages 98-105, 1999.
[14] Knowles, J., and Corne, D. Instance Generators and Test Suites for the Multiobjective Quadratic
Assignment Problem. In Evolutionary Multi-Criterion Optimization, Second International Conference,
EMO 2003, Faro, Portugal, April 2003, Proceedings (2003), Springer, pp. 295–310.
[15] Krasnogor, N. Studies on the Theory and Design Space of Memetic Algorithms. PhD thesis, Uni-
versity of Nottingham, 2002.

11
[16] Krasnogor, N., and Smith, J. Emergence of Profitable Search Strategies Based on a Simple Inher-
itance Mechanism. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO-
2001) (San Francisco, California, USA), Morgan Kaufmann.
[17] Lin, S. Computer Solutions of the Traveling Salesman Problem. Bell System Tech. Journal 44 (1965)
2245-2269.
[18] Lust, T., and Teghem, J. MEMOX: a Memetic Algorithm Scheme for Multiobjective Optimization.
7th Int. Conf. on Multi-Objective Programming and Goal Programming (2006).
[19] Martı́nez, H., Paciello, J., and Barán, B. Equipo distribuido de algoritmos ACO multi-objetivos.
8º Simposio Argentino de Inteligencia Artificial - ASAI 2006 - Mendoza.
[20] Merz, P. A Comparison Of Memetic Recombination Operators For The Traveling Salesman Problem.
In GECCO ’02: Proceedings of the Genetic and Evolutionary Computation Conference (San Francisco,
CA, USA, 2002), Morgan Kaufmann Publishers Inc., pp. 472–479.
[21] Merz, P., and Freisleben, B. A Comparison of Memetic Algorithms, Tabu Search, and Ant Colonies
for the Quadratic Assignment Problem. In Proceedings of the Congress on Evolutionary Computation
(Mayflower Hotel, Washington D.C., USA), vol. 3, IEEE Press.
[22] Misevicus, A. Using Iterated Tabu Search for the Traveling Salesman Problem. Information Technol-
ogy And Control, Kaunas, Technologija, 2004, No. 3(32), 29 - 40.
[23] Moscato, P. On Evolution, Search, Optimization, Genetic Algorithms and Martial Arts: Towards
Memetic Algorithms. Tech. Rep. C3P 826, California Institute of Technology, Pasadena, USA, 1989.
[24] Moscato, P. New Ideas in Optimization. McGraw Hill, New York, 1999. Chapter Memetic Algorithms:
A Short Introduction, pages 219-234.
[25] Moscato, P., and Cotta, C. Una Introducción a los Algoritmos Meméticos. Revista Iberoamericana
de Inteligencia Artificial, 19, pp. 131-148, 2003.
[26] Moscato, P., and Tinetti, F. Blending Heuristics with a Population-Based Approach: A Memetic
Algorithm for the Traveling Salesman Problem. R.Rep.: Universidad Nacional de La Plata, 1994.
[27] Ong, Y.-S., Lim, M.-H., Zhu, N., and Wong, K. W. Classification of adaptive memetic algorithms:
a comparative study. IEEE Trans. on Systems, Man, and Cybernetics, Part B 36, 1 (2006), 141–152.
[28] Paciello, J., Martı́nez, H., Lezcano, C., and Barán, B. Algoritmos de Optimización multi-
objetivos basados en colonias de hormigas. XXXII Conferencia Latinoamericana de Informática, 2006.
[29] Pinto, D., and Baran, B. Solving multiobjective multicast routing problem with a new ant colony
optimization approach. In LANC ’05: Proceedings of the 3rd international IFIP/ACM Latin American
conference on Networking (New York, NY, USA, 2005), ACM Press, pp. 11–19.
[30] Radcliffe, N. J., and Surry, P. D. Formal Memetic Algorithms. In Evolutionary Computing, AISB
Workshop (Berlin, 1994), T. Fogarty, Ed., vol. 865, Springer-Verlang, pp. 1–16.
[31] Smith, J., and Fogarty, T. C. Self Adaptation of Mutation Rates in a Steady State Genetic
Algorithm. In International Conference on Evolutionary Computation (1996), pp. 318–323.
[32] Van Veldhuizen, D. A. Multiobjective Evolutionary Algorithms: Classifications, Analyses, and New
Innovations. PhD thesis, Wright-Patterson AFB, OH, 1999.
[33] Wolpert, D., and Macready, W. G. No free lunch theorems for optimization. IEEE Trans.
Evolutionary Computation 1, 1 (1997), 67–82.
[34] Zitzler, E., Deb, K., and Thiele, L. Comparison of Multiobjective Evolutionary Algorithms:
Empirical Results. Evolutionary Computation 8, 2 (2000), 173–195.
[35] Zitzler, E., Laumanns, M., and Bleuler, S. A Tutorial on Evolutionary Multiobjective Optimiza-
tion. Workshop on Multiple Objective Metaheuristics, Springer-Verlag, Berlin, Germany, 2004.

12

You might also like