100% encontró este documento útil (1 voto)
578 vistas301 páginas

Libro Multiobjetivo PDF

Cargado por

Fredy Guasmayan
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
578 vistas301 páginas

Libro Multiobjetivo PDF

Cargado por

Fredy Guasmayan
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Optimizacin Multi-objetivo.

Aplicaciones a problemas del mundo real.

Mg. Javier Lpez

UNIVERSIDAD NACIONAL DE LA PLATA


FACULTAD DE INFORMTICA

Tesis Doctoral en Ciencias Informticas

Optimizacin Multi-objetivo.
Aplicaciones a problemas del mundo real.

Mg. Javier Lpez

Directores
Prof. Lic. Laura C. Lanzarini
Prof. Dr. Guillermo Leguizamn

La Plata, mayo de 2013

Lpez, Javier
Optimizacin multi-objetivo: aplicaciones a problemas del mundo real. 1a ed. - La Plata: EDULP, 2015.
308 p.; 24x16 cm.
ISBN 978-987-1985-59-3
1. Informtica. 2. Educacin Universitaria. I. Ttulo
CDD 004.0711

Optimizacin Multi-objetivo
Aplicaciones a problemas del mundo real
Javier Lpez
Diagramacin: Andrea Lpez Osornio

Editorial de la Universidad Nacional de La Plata (Edulp)


47 N. 380 / La Plata B1900AJP / Buenos Aires, Argentina
+54 221 427 3992 / 427 4898
[Link]@[Link]
[Link]

Edulp integra la Red de Editoriales de las Universidades Nacionales (REUN)


Primera edicin, 2015
ISBN N. 978-987-1985-59-3
Queda hecho el depsito que marca la Ley 11723
2015 - Edulp
Impreso en Argentina

Absurdo suponer que el paraso


es slo la igualdad, las buenas leyes
el sueo se hace a mano y sin permiso
arando el porvenir con viejos bueyes

ndice general

Agradecimientos 13
Motivacin 14
Objetivos
15
Contribuciones 16
Resumen
17
Publicaciones derivadas
19
Estructura de Documento
21
I Aspectos Tericos 23
Captulo 1. Mtodos de Optimizacin - Conceptos Bsicos
25
1.1. Introduccin
25
1.2. Definiciones
26
1.3. Algoritmo de Optimizacin
36
1.4. Conclusiones
38
Captulo 2. Metaheursticas
2.1. Introduccin
2.2. Tcnicas de Optimizacin
2.3. Definicin de Metaheurstica
2.4. Computacin Evolutiva
2.5. Metaheursticas Destacadas
2.6. Dificultades Encontradas
2.7. Paralelizacin

39
39
40
41
43
52
59
62

Captulo 3. Tipos de Optimizacin


3.1. Optimizacin Mono-Objetivo
3.2. Optimizacin Multi-Objetivo
3.3. NFL Teorema

66
67
72
90

II Optimizacin por Cmulo de Partculas. Nuevas variantes 93


Captulo 4. Optimizacin por Cmulo de Partculas (PSO)
95
4.1. PSO Continuo
96
4.2. PSO Binario
106

Captulo 5. Propuesta de Implementacin de PSO Paralelo


5.1. Introduccin
5.2. Algoritmo propuesto (dPSO)
5.3. Implantacin paralela de dPSO (pdPSO)
5.4. Plataforma Utilizada
5.5. Resultados
5.6. Conclusiones

113
113
113
116
117
118
128

Captulo 6. PSO con Detector de Oscilacin


6.1. Introduccin
6.2. Detector de Oscilacin
6.3. Procedimiento de Bsqueda Local
6.4. Adaptacin de Parmetros
6.5. Algoritmo Propuesto (ocsPSO)
6.6. Experimentos
6.7. Conclusiones

129
129
129
131
133
134
135
140

Captulo 7. PSO Binario con Control de Velocidad


7.1. Introduccin
7.2. Algoritmo Propuesto
7.3. Comparacin de Rendimiento
7.4. Conclusiones

141
141
141
143
149

Captulo 8. varMOPSO - MOPSO de Poblacin Variable


8.1. Introduccin
8.2. Algoritmo Propuesto (varMOPSO)
8.3. Experimentos
8.4. Conclusiones

153
153
154
161
170

III Caso de Estudio 173


Captulo 9. Optimizacin de Prestaciones Mdicas
175
9.1. Introduccin
176
9.2. Objetivo
177
9.3. Relevamiento de Situacin Actual
179
9.4. Descripcin del Proceso
180
Captulo 10. Propuesta de Solucin
10.1. Beneficios
10.2. Consideraciones
10.3. Caractersticas del Proyecto
10.4. Descripcin del Proceso Propuesto
10.5. Cartografa Digital (GIS)

195
196
196
197
199
205

10.6. Asignacin Automtica


10.7. Seguimiento Automatizado de Prestaciones

209
220

Captulo 11. Metaheuristicas Utilizadas


11.1. Introduccin
11.2. Modelado del problema
11.3. Algoritmos
11.4. Experimentos Realizados
11.5. Anlisis de Resultados
11.6. Conclusiones

223
223
224
231
232
242
243

IV Conclusiones 245
Captulo 12. Conclusiones Finales
247
12.1. Conclusiones Finales
247
12.2. Trabajo Futuro
250
V Apndice A 253
1. Rendimientos de algoritmos cPSO y dPSO
255
2. Aspectos de Implementacin
267
ndice de figuras 275
Bibliografa 279

Agradecimientos
A Juan Scrinzi, con quin implementamos el primer algoritmo
probabilistico, mas de 15 aos atrs.
A Armando Di Giusti, por su inmediato apoyo cuando lo contacte con
mi inquietud de hacer un doctorado en este tema.
A Laura Lanzarini, quien me gui, enseo, exigi y me acompao
durante todo el proceso. Sin su experiencia, trabajo y colaboracin, no
hubiera sido posible esta investigacin.
A Guillermo Leguizamn, por su orientacin y contribucin en este
extenso mundo de metaheursticas evolutivas, y por todas las
sugerencias y correcciones que mejoraron esta tesis en forma
significativa.
A referentes de la comunidad cientfica por su apertura y predisposicin
para compartir informacin y discutir ideas. Tuve la oportunidad de
tener relacin directa como profesores y/o compaeros de congreso a
Enrique Alba, Carlos Coello Coello, Fred Glover, Eckart Zitzler,
Guillermo Luque, Gabriela Ochoa, Guillermo Simari, Ramn Garcia
Martinez, Marcelo Fallapa, Remo Suppi, Fernando Tinneti. Seguro la
lista es incompleta.
Agradezco a la empresa Ayuda Mdica por permitirme llevar adelante
este proyecto, especialmente a uno de sus directores, Sebastn
Caldern, por su apoyo y confianza.
A toda la Universidad Nacional de La Plata, tanto al personal docente
como no docente.
A mi familia, por el continuo apoyo y la paciencia.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

13

Motivacin
Resolver problemas es una motivacin importante. Que esos problemas
se encuentren entre los problemas ms complejos que existen, es un
impulso adicional para enfrentarlos.
La optimizacin de problemas es un terreno frtil en un mundo que se
caracteriza por contar con recursos escasos (naturales, econmicos,
tecnolgicos, infraestructura, sociales, tiempo, etc.). Hacer el mejor uso
posible de estos recursos en una tarea, a la vez, importante y difcil.
Ofrecer soluciones de calidad, aunque no necesariamente sean las
mejores, implica que los recursos excedentes, frutos de la optimizacin,
puedan utilizarse en nuevos productos o servicios.
La gran mayora del software que utilizan las empresas tiene como
misin principal la automatizacin de tareas repetitivas. Una minora de
aplicaciones de software se utiliza como soporte a la toma de decisiones
de un decisor humano. Una porcin nfima de artefactos de software
son capaces de ofrecer cual es la decisin adecuada para un problema
complejo.
Es en este ltimo grupo donde se encuentran las tcnicas estudiadas en
esta tesis. La implementacin en el mundo real de algoritmos de
bsqueda y optimizacin se hace necesaria y evidente a medida que
aumenta la complejidad de los procesos, las empresas y gobiernos
sufren una presin constante para ser ms competitivos y eficientes, y
los recursos disponibles se presentan como escasos ante una demanda
en permanente aumento. Las metaheursticas estn pensadas para
ofrecer una solucin a este tipo de problemas pertenecientes a la clase
de complejidad NP. Si bien son soluciones aproximadas, no exactas, en
general son lo suficientemente buenas como para que su utilidad sea
valiosa.

14

JAVIER LPEZ

Objetivos
A continuacin, se enumeran los objetivos del presente trabajo.
1. Estudiar el estado de avance actual de las metaheursticas
basadas en Inteligencia de Enjambres.
2. Evaluar las ventajas de la paralelizacin de las mismas.
3. Proponer mejoras incrementales a los algoritmos del tipo
Optimizacin por Cmulo de Partculas (PSO - Particle Swarm
Optimization), en sus versiones para espacios continuos y para
espacios binarios.
4. Estudiar los conceptos centrales de la optimizacin multiobjetivo.
5. Proponer mejoras a los algoritmos del tipo MOPSO (Multi Objective Particle Swarm Optimization), comparando los
resultados con metaheursticas representativas del estado del arte.
6. Disear, desarrollar e implementar una herramienta de software
para optimizar la atencin domiciliaria de una empresa de
emergencias mdicas, basada en metaheursticas evolutivas
multi-objetivo.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

15

Contribuciones
Entre las contribuciones del presente trabajo podemos destacar:
1. Relevamiento general de las tcnicas de optimizacin.
2. Anlisis de la optimizacin global (mono-objetivo) y con ms de
un objetivo (multi-objetivo), incluyendo para cada una
aplicaciones y medidas de desempeo.
3. Implementacin de una versin paralela del algoritmo PSO, en
una red de computadoras heterogneas y de bajo costo.
4. Desarrollo de una nueva versin del algoritmo PSO para
espacios continuos con el agregado de un procedimiento de
bsqueda local, mejorando los resultados reportados por la
versin original.
5. Propuesta de mejora sobre el procedimiento de actualizacin de
velocidad sobre el algoritmo PSO aplicado a espacio binarios.
6. Propuesta de una nueva versin de un algoritmo Optimizacin
por Cmulo de Partculas aplicado a problemas con ms de un
objetivo, agregando la posibilidad de variacin del tamao de la
poblacin de acuerdo a la complejidad del problema.
Comparacin de esta versin con las versiones de MOPSO con
mejores resultados reportados en la literatura, y con otras
metaheursticas referentes en optimizacin multi-objetivo.
7. Puesta en marcha de un proceso de optimizacin automtico, en
una empresa del mundo real de la industria de la salud, logrando
mejoras sustanciales en las actividades afectadas.

16

JAVIER LPEZ

Resumen
Cuando hablamos de optimizacin en el mbito de las ciencias de la
computacin hacemos referencia al mismo concepto coloquial asociado
a esa palabra, la concrecin de un objetivo utilizando la menor cantidad
de recursos disponibles, o en una visin similar, la obtencin del mejor
objetivo posible utilizando todos los recursos con lo que se cuenta.
Los mtodos para encontrar la mejor solucin (ptima) varan de
acuerdo a la complejidad del problema enfrentado. Para problemas
triviales, el cerebro humano posee la capacidad de resolverlos
(encontrar la mejor solucin) directamente, pero a medida que aumenta
la complejidad del problema, se hace necesario contar con herramientas
adicionales.
En esta direccin, existe una amplia variedad de tcnicas para resolver
problemas complejos. Dentro de estas tcnicas, podemos mencionar las
tcnicas exactas. Este tipo de algoritmos son capaces de encontrar las
soluciones ptimas a un problema dado en una cantidad finita de
tiempo. Como contrapartida, requiere que el problema a resolver
cumpla con condiciones bastante restrictivas.
Existen adems un conjunto muy amplio de tcnica aproximadas,
conocidas como metaheursticas. Estas tcnicas se caracterizan por
integrar de diversas maneras procedimientos de mejora local y
estrategias de alto nivel para crear un proceso capaz de escapar de
ptimos locales y realizar una bsqueda robusta en el espacio de
bsqueda del problema. En su evolucin, estos mtodos han
incorporado diferentes estrategias para evitar la convergencia a ptimos
locales, especialmente en espacios de bsqueda complejos. Este tipo de
procedimientos tienen como principal caracterstica que son aplicables a
cualquier tipo de problemas, sin requerir ninguna condicin particular a
cumplir por los mismos. Estas tcnicas no garantizan en ningn caso la
obtencin de los valores ptimos de los problemas en cuestin, pero se
ha demostrado que son capaces de alcanzar muy buenos valores de
soluciones en perodos de tiempo cortos. Adems, es posible aplicarlas
a problemas de diferentes tipos sin mayores modificaciones, mostrando
su robustez y su amplio espectro de uso.
La mayora de estas tcnicas estn inspiradas en procesos biolgicos y/o
fsicos, y tratan de simular el comportamiento propio de estos procesos
que favorecen la bsqueda y deteccin de soluciones mejores en forma
iterativa. La ms difundida de estas tcnicas son los algoritmos

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

17

genticos, basados en el mecanismo de evolucin natural de las


especies.
Existen diferentes tipos de problemas, y multitud de taxonomas para
clasificar los mismos. En el alcance de este trabajo nos interesa
diferenciar los problemas en cuanto a la cantidad de objetivos a
optimizar. Con esta consideracin en mente, surge una primera
clasificacin evidente, los problemas mono-objetivo, donde existe solo
una funcin objetivo a optimizar, y los problemas multi-objetivo donde
existe ms de una funcin objetivo. En el presente trabajo se estudia la
utilizacin de metaheursticas evolutivas para la resolucin de
problemas complejos, con uno y con ms de un objetivo. Se efecta un
anlisis del estado de situacin en la materia, y se proponen nuevas
variantes de algoritmos existentes, validando que las mismas mejoran
resultados reportados en la literatura.
En una primera instancia, se propone una mejora a la versin cannica y
mono-objetivo del algoritmo PSO, luego de un estudio detallado del
patrn de movimientos de las partculas en el espacio de soluciones.
Estas mejoras se proponen en las versiones de PSO para espacios
continuos y para espacios binarios. Asimismo, se analiza la
implementacin de una versin paralela de esta tcnica evolutiva.
Como segunda contribucin, se plantea una nueva versin de un
algoritmo PSO multiobjetivo (MOPSO Multi Objective Particle Swarm
Optimization) incorporando la posibilidad de variar dinmicamente el
tamao de la poblacin, lo que constituye una contribucin innovadora
en problemas con mas de una funcin objetivo.
Por ltimo, se utilizan las tcnicas representativas del estado del arte en
optimizacin multi-objetivo aplicando estos mtodos a la problemtica
de una empresa de emergencias mdicas y atencin de consultas
domiciliarias. Se logr poner en marcha un proceso de asignacin de
mviles a prestaciones mdicas basado en metaheursticas, logrando
optimizar el proceso de asignacin de mviles mdicos a prestaciones
mdicas en la principal compaa de esta industria a nivel nacional.

18

JAVIER LPEZ

Publicaciones derivadas

Publicaciones en Congresos Internacionales

Particle Swarm Optimization with Oscillation Control. Lopez


Javier, Lanzarini Laura, De Giusti Armando. Genetic and
Evolutionary Computation Conference. ACM GECCO
Proceeding. ISBN:978-1-60558-325-9. Montral, Canada. July
2009.

VarMOPSO: Multi-Objective Particle Swarm Optimization


with Variable Population Size. Lopez Javier, Lanzarini Laura,
De Giusti Armando, Advances in Artificial Intelligence.
IBERAMIA 2010, Lecture Notes in Computer Science, Springer
Berlin / Heidelberg.

A New Binary PSO with Velocity Control, Lanzarini Laura,


Lpez Javier, Maulini Juan,De Giusti Armando, Advances in
Swarm Intelligence - Second International Conference, ICSI
2011, Chongqing, China, June 12-15, 2011, Proceedings, Part I.

Evolutionary Multiobjective Optimization for Emergency


Medical Services, Lopez Javier, Lanzarini Laura, De Giusti
Armando, 13th Annual Genetic and Evolutionary Computation
Conference, GECCO 2011, Companion Material Proceedings,
Dublin, Ireland, July 12-16, 2011.

Variable Population MOPSO Applied to Medical Visits,


Lopez Javier, Lanzarini Laura, Aurelio Fernandez Bariviera,
Fuzzy Economic Review, Vol XVII, No. 1., September 2012.

Publicaciones en Workshops de la Especialidad

Metaheursticas Poblacionales Aplicadas a la Resolucin de


Problemas Complejos. Lanzarini Laura, Lpez Javier. XI
Workshop de Investigadores en Ciencias de la Computacin
(WICC 2009), rea Agentes y Sistemas [Link] de
2009. San Juan.

Minera de Datos Utilizando Estrategias adaptativas.


Aplicaciones en Optimizacin de Procesos y Modelizacin.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

19

Lanzarini Laura, Lpez Javier, XII Workshop de Investigadores


en Ciencias de la Computacin (WICC 2010). Area Agentes y
Sistemas Inteligentes. Mayo de 2010. Santa Cruz. Argentina.

20

Sistemas Inteligentes. Aplicaciones en Optimizacin de


Procesos, Minera de Datos, Procesamiento de seales y
Robtica Evolutiva, Lanzarini Laura, Hasperue Waldo,
Corbaln Leonardo, Lpez Javier, Estrebou Csar, Ronchetti
Franco, Maulini Juan, Villa Monte Augusto, XIII Workshop de
Investigadores en Ciencias de la Computacin (WICC 2011).
Area Agentes y Sistemas Inteligentes. Mayo de 2011. Rosario.
Argentina.

Tcnicas de Optimizacin. Aplicaciones en Minera de Datos,


y Robtica Evolutiva Lanzarini Laura, Hasperue Waldo,
Corbaln Leonardo, Lpez Javier, Estrebou Csar, Ronchetti
Franco, Maulini Juan, Villa Monte Augusto, XIII Workshop de
Investigadores en Ciencias de la Computacin (WICC 2012).
Area Agentes y Sistemas Inteligentes.

JAVIER LPEZ

Estructura de Documento
La presente investigacin se estructura en tres partes principales:
1. Aspectos Tericos
2. Optimizacin por Cmulo de Partculas. Nuevas Variantes
3. Caso de Estudio
La primera de estas partes est dividida en tres captulos. En el primero
de ellos, la investigacin se centra en el estudio, definicin y anlisis del
concepto de optimizacin, diferenciando entre la optimizacin local y la
optimizacin global. En esta parte del documento de describen los
conceptos bsicos relacionados con los procedimientos de bsqueda y
optimizacin, aplicables a cualquier tcnica creada para este fin.
En el captulo 2 se efecta una categorizacin de las tcnicas de
optimizacin existentes, introduciendo y definiendo el concepto de
metaheuristicas. Luego, se hace referencia a la computacin evolutiva
en general, y se describe en detalle los componentes de los Algoritmos
Genticos (AGs), la primera y ms utilizada de las tcnicas en este
campo de estudio. Luego se presentan las principales dificultades que
presentan los problemas de optimizacin en general.
En el captulo 3 perteneciente a esta primera parte, se detallan los tipos
de optimizacin existentes en funcin de la cantidad de funciones
objetivos a optimizar. En este captulo se analiza, adems, los
procedimientos utilizados para efectuar medicin de performance de
algoritmos de optimizacin estocsticos, mono y multi-objetivo. Para
finalizar, se hace una revisin del teorema de No Free Lunch, de alta
relevancia para este tpico, y se analiza el impacto del mismo en los
problemas de optimizacin.
En la segunda parte de documento se profundiza el estudio en la
metaheursticas de Optimizacin por Cmulo de Partculas (PSO Particle Swarm Optimization), dentro del mbito de la inteligencia de
enjambres (Swarm Intelligence). Esta parte est compuesta por cinco
captulos.
En el captulo 4, primer captulo de esta segunda parte, se describe en
detalle la metaheurstica Optimizacin por Cmulo de Partculas (PSO),
haciendo referencia a sus antecedentes y destacando las mejoras
principales incorporadas sobre la estructura del algoritmo base.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

21

A continuacin, en los siguientes 4 captulos, se describen propuestas de


algoritmos del tipo PSO aplicadas a espacios continuos y binarios, y a
problemas mono-objetivo y multi-objetivo.
En el captulo 5 se propone una variante paralela del algoritmo PSO,
para ejecutar en redes de computadoras homogneas, comparando el
rendimiento con la versin cannica del algoritmo y realizando
mediciones de speed-up alcanzado.
En el captulo 6 se presenta una versin que mejora el proceso de
aproximacin final de las partculas a los puntos ptimos locales del
espacio de soluciones. Este objetivo se logra con la incorporacin de un
procedimiento de bsqueda local del tipo determinstico, que se aplica
solamente en aquellos casos donde las partculas oscilan alrededor de
algn punto ptimo local (global).
El captulo 7 expone una variante del algoritmo PSO aplicado a
funciones con dominios binarios, presentndose una novedosa y
eficiente ecuacin de actualizacin de la velocidad y ubicacin de las
partculas.
En el captulo 8 se expone una versin del algoritmo de Optimizacin
por Cmulo de Partculas aplicado, en esta ocasin, a problemas multiobjetivo. Se introduce el concepto de poblacin de tamao variable, una
variante muy poca explorada en este tipo de problemas.
La tercera parte del documento se focaliza en la aplicacin de
metaheursticas evolutivas a problemas del mundo real con ms de un
objetivo, y est dividido en tres captulos.
El primero de ellos, captulo 9, describe cmo es el proceso de negocio
de una compaa de emergencias y prestaciones mdicas domiciliarias.
Se realiza un relevamiento detallado de los procesos de negocio
directamente relacionados con el presente trabajo.
El captulo 10 describe la solucin propuesta, y detalla cmo la misma
se integra con el resto de las herramientas de software de la empresa.
Este captulo es importante para entender el contexto de aplicacin de la
tcnica de optimizacin elegida, as como para entender los trabajos
previos requeridos para aplicar la misma en este caso del mundo real.
El captulo 11 se enfoca en la solucin algortmica especifica propuesta,
y en los experimentos y mediciones efectuados para respaldar la
eleccin realizada.
Por ltimo, se incluye un prrafo de conclusiones finales como cierre
del presente trabajo de investigacin, as como la propuesta de lneas de
estudio futuras de acuerdo a lo aprendido.

22

JAVIER LPEZ

PARTE I
Aspectos Tericos

CAPTULO 1

Mtodos de Optimizacin - Conceptos Bsicos


Todos los mtodos de optimizacin, sean stos de naturaleza estocstica
o determinstica, poseen componentes en comn. Este captulo de la
presente tesis describe cada uno de estos componentes, con el objetivo
de generar el marco de referencia que permita lograr un entendimiento
acabado de los temas por venir. Los conceptos tericos incluidos en el
presente captulo permiten abordar el problema de optimizacin desde
la Teora de Conjuntos. A lo largo de este trabajo, las referencias a esta
teora fundamental de la matemtica es permanente e inevitable.

1.1 Introduccin
Puede definirse a las tcnicas de optimizacin como aquellos mtodos
que permiten seleccionar la mejor solucin ante un conjunto de
alternativas disponibles. Esta definicin se ajusta a todos los campos
donde se aplica la optimizacin, la matemtica, las ciencias de la
computacin, la economa y los negocios.
Esta definicin se relaciona con el concepto de eficiencia, que remite a
lograr el mejor resultado posible dada la utilizacin de recursos
efectuada.
Por lo tanto, se est optimizando cuando dada una cantidad de recursos
definida, se obtiene el mximo posible del producto o servicio objetivo
buscado, o, cuando dada una cantidad de producto o servicio objetivo
buscado, se utiliza la menor cantidad de recursos para producir el
mismo.
La utilizacin de herramientas provenientes del campo de la matemtica
se remonta a 1758, cuando economistas comenzaron a describir
sistemas econmicos en trminos matemticos [1], pero puede decirse
que el campo de optimizacin logr sus primeros avances significativos
entre los aos 1939 y 1947, gracias a los progresos en la rama de
programacin lineal desarrollados por el matemtico ruso Leonid
Kantorovich, y por el trabajo de los siguientes matemticos: el
norteamericano George B. Dantzig, autor del mtodo simplex y el
matemtico hngaro-norteamericano John von Neumann, quien
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

25

propuso la teora de la dualidad. A partir de este punto, las tcnicas de


optimizacin se convirtieron en un campo de fuerte desarrollo en la
matemtica, economa y en las ciencias de la computacin.

1.2 Definiciones
Podramos decir que el concepto de funcin como un objeto matemtico
independiente sienta las bases para poder definir un problema de
optimizacin. Este concepto fue evolucionando desde los orgenes del
calculo en el siglo XVII, hasta llegar a una definicin ms elaborada y
completa con el desarrollo de la Teora de Conjuntos en los siglos XIX
y XX. A continuacin se incluyen las definiciones ms relevantes
relacionadas con problemas de optimizacin, considerando los
conceptos matemticos subyacentes.

Problemas
La optimizacin busca obtener los mejores elementos x* a partir de un
conjunto X segn un criterio f(x). Este criterio se expresa a travs de una
funcin matemtica denominada funcin objetivo.
Matemticamente, se trata de obtener los puntos extremos de una
funcin. En el caso de un problema de minimizacin, dada una funcin
f:XRn R se trata de hallar el vector xX que minimice dicha funcin
como se indica en (?)

minxXf(x)

(1.1)

sujeto a

gi(x)d0i=1,,q

(1.2)

hj(x)=0j=q+1,,m

(1.3)

donde X es el dominio de la funcin o espacio de bsqueda, Y el


codominio o espacio objetivo, y f(x) la funcin para la cual se desea
obtener el valor mnimo o funcin objetivo.
Las restricciones definidas acotan el espacio de soluciones, dividiendo
el espacio de bsqueda en dos regiones:

26

JAVIER LPEZ

Soluciones Factibles: Aquellos elementos del espacio de


bsqueda que cumplen con todas las ecuaciones de restriccin.

Soluciones No Factibles: Aquellos elementos del dominio de la


funcin que no cumplen con al menos una de las restricciones
del problema.

Los mtodos de optimizacin ms bsicos son aquellos que se utilizan


para resolver problemas de optimizacin no lineales de variables reales
en un espacio continuo, sin restricciones. En estos problemas, se asume
que f(x) es dos veces continuamente diferenciable.
La mayora de los mtodos para optimizar este tipo de funciones son
algoritmos iterativos basados en la expansin de las series de Taylor de
f(x), requiriendo el clculo de derivadas parciales [2]. Muchas de las
tcnicas de optimizacin existentes estiman las derivadas parciales
utilizando diferencias finitas. De esa forma, si la derivada no se puede
resolver analticamente, o si no se desea calcularla, estimando la misma
por diferencias an es posible resolver el problema.
Ascendiendo en orden de complejidad, se encuentran los problemas de
programacin lineal con restricciones. Estos problemas son de suma
importancia dado que son ampliamente aplicables en problemas del
mundo real en el campo de la planificacin y la economa, existiendo
mucho material terico desarrollado en este campo.
La Programacin Lineal es uno de los responsables principales del
desarrollo del campo de la optimizacin. En este tipo de problemas la
funcin objetivo f(x) es lineal y est sujeta a restricciones de igualdad y
desigualdad, tambin lineales [3].
Una sorprendente cantidad de investigacin en este tpico se concentr
entre 1938 y 1947, destacndose el desarrollo por parte de G.B. Dantzig
del mtodo simplex y la teora de la dualidad de von Neumann [4] [5].
En este tipo de problemas est demostrado que la solucin ptima
siempre se corresponde con uno de los vrtices del poliedro P formado
por el conjunto de restricciones del problema. La idea del mtodo
Simplex es sumamente simple, consiste en encontrar uno de los vrtices
del poliedro. Luego, se mueve cuesta abajo respecto de los valores de
f(x) entre vrtice y vrtice a travs de los bordes de P; de esta forma, se
genera una secuencia de vrtices con valores estrictamente decrecientes.
En una serie finita de pasos, se encuentra el vrtice con menor valor de
f(x) o un lado con extensin ilimitada. En este ltimo caso, el problema
no tiene solucin.
El siguiente conjunto de problemas a mencionar son los problemas de
optimizacin de funciones suaves no lineales con restricciones suaves,
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

27

sobre un conjunto finito de variables reales. Dentro de este conjunto de


problemas, se encuentran los problemas cuadrticos, donde f(x) es una
funcin cuadrtica y las restricciones son lineales. Los mtodos
desarrollados para resolver este tipo de problemas se basan en
remplazar el problema original por un problema ms fcil. De esta
forma, estas tcnicas conducen a la solucin de una secuencia de
subproblemas, relacionados de alguna forma con el problema original.
Algunas de las tcnicas implican la minimizacin de problemas sin
restricciones o el tratamiento de lmites y restricciones lineales
derivadas de las restricciones del problema original.
La mayora de estos mtodos usan diferentes clases de funciones de
penalidad p(x), transformando el problema original de una funcin no
lineal f(x) con restricciones a otro problema consistente en la
minimizacin de una funcin i(x) sin restriccin, siendo i(x)=f(x)+p(x).
Existen adems propuestas basadas en generar una secuencia de puntos
estrictamente dentro de la zona de soluciones factibles, requiriendo la
existencia de un punto inicial en esta regin del espacio de bsqueda.
Estos mtodos utilizan diferentes clases de funciones de barrera b(x),
transformando el problema original de una funcin no lineal f(x) con
restricciones a otro problema consistente en la minimizacin de una
funcin j(x) sin restriccin, siendo j(x)=f(x)+b(x). La funcin b(x)
incluye un trmino que asegura que la secuencia generada se mantiene
dentro de la zona factible [6].
Existe un grupo de problemas particulares donde una o varias
restricciones requieren que las variables del problema sean enteras. Este
tipo de problemas se conocen como programacin entera u
optimizacin combinatoria, y se caracterizan por tener espacios de
bsqueda (dominio de la funcin) discretos [7].
Considrese ahora el caso de funciones no diferenciables, donde f(x) no
es continua ni es posible calcular su derivada para todos los puntos. Este
tipo de problemas son difciles de resolver, dado que no existen
soluciones analticas vinculadas con los mismos.
Para la optimizacin de ste tipo de funciones complejas aparecen los
algoritmos probabilsticos. Estos algoritmos realizan muestreos del
espacio de bsqueda intentando descubrir patrones regulares en los
mismos [8]. Estas tcnicas se guan evaluando la funcin objetivo a
optimizar en cada uno de los puntos visitados, intentando obtener
informacin relevante del problema a los efectos de dirigir la
exploracin a las zonas ms promisorias del espacio de bsqueda.

28

JAVIER LPEZ

Funcin Objetivo
Una funcin objetivo es una funcin matemtica sujeta a optimizacin
(maximizacin o minimizacin).
El codominio de esta funcin es un subconjunto de los nmeros reales.
El dominio puede representar cualquier tipo de elementos como ser
nmeros reales, enteros, binarios, listas, tareas a realizar, recursos
disponibles, etc. Este dominio se conoce como espacio del problema.
Las funciones objetivo van desde meras funciones matemticas hasta
complejos algoritmos de clculo.
La funcin objetivo define el problema a optimizar, y devuelve como
resultado un valor real o un vector de valores reales que representan la
utilidad, respecto del problema en ciernes, de los valores
correspondientes del dominio.

Espacio del Problema


El espacio del problema X es el conjunto formado por todos los
elementos posibles del problema de optimizacin. Este espacio puede
estar acotado por restricciones, que delimitan las soluciones viables.
Estas restricciones pueden ser lgicas o prcticas. Respecto del primer
caso, puede haber reglas (restricciones) que definen que algn elemento
no puede ser una solucin. Respecto del segundo, hay lmites en la
capacidad de procesamiento, por ejemplo una computadora no puede
representar los nmeros reales con una precisin infinita. Este espacio
puede ser finito o infinito. Ejemplos de espacios del problema son los
nmeros naturales, los reales, binarios o cualquier otra representacin
matemtica.

Variables de Decisin
El espacio de un problema puede tener n dimensiones. Se define como
variables de decisin a las variables n-dimensionales que identifican
cada solucin en el espacio de del problema X en forma univoca.

Espacio Objetivo
El espacio objetivo es el espacio abarcado por el co-dominio de la
funcin objetivo. Las dimensiones del espacio objetivo se corresponden
con la cantidad de funciones que se estn optimizando.
Cuando se optimiza una nica funcin objetivo, se denomina
optimizacin mono-objetivo. Cuando existe ms de una funcin
objetivo, se denomina optimizacin multi-objetivo (Multi Objective
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

29

Optimization). Cuando los problemas tienen 4 o ms funciones


objetivos, la escalabilidad de los algoritmos de optimizacin multiobjetivo se ve afectada, por lo que se gener una nueva rama de
investigacin denominada Many Objective Optimization.

Restricciones
En algunos problemas existen restricciones de igualdad y restricciones
de desigualdad con la que deben cumplir las soluciones para ser una
solucin vlida. Ver ecuaciones 1.2 y 1.3.
Estas restricciones dividen el espacio de bsqueda en regiones factibles
y regiones no factibles (figura 1.1). Usualmente, la proporcin de las
mismas, as como su distribucin en el espacio del problema definen la
complejidad de un problema de optimizacin.

Figura 1.1: Grfico de regin factible y no factible

Espacio de Bsqueda
El espacio de bsqueda G es una representacin (mapeo) del espacio del
problema X y es donde los algoritmos de optimizacin efectan las
operaciones de bsquedas de nuevos elementos, potenciales soluciones
al problema. Dependiendo del problema a optimizar, el espacio del
problema y el espacio de bsqueda pueden ser iguales.
La funcin de mapeo entre el espacio del problema y el espacio de
bsqueda se denomina representacin del problema.

30

JAVIER LPEZ

Se define como espacio de bsqueda G de un problema de optimizacin


al conjunto de todos los elementos g que pueden ser procesados por
procedimientos de bsquedas [9].
Se puede conceptualizar como la implementacin del espacio del
problema.

Solucin Candidata
Una solucin candidata es un elemento del espacio del problema X que
puede ser una solucin posible al problema de optimizacin. Estas
soluciones se encuentran dentro de la regin factible de espacio del
problema, por lo que deben satisfacer todas las restricciones de igualdad
y desigualdad asociadas con la funcin objetivo a optimizar.

Espacio de Soluciones
El espacio de soluciones S es el conjunto formado por la unin de todas
las soluciones candidatas del problema.

x*SX

(1.4)

Este conjunto forma el total de los puntos que conforman las regiones
factibles del espacio del problema. La solucin al problema de
optimizacin, x*, debe encontrarse incluido dentro de este conjunto. Es
de inters la exploracin de las zonas fronterizas entre las regiones
factibles y no factibles, dado que en muchos casos all se encuentran los
ptimos globales del problema [10].

Representacin (Relacin espacio del problema - espacio de


bsqueda)
El mapeo entre el espacio del problema X y el espacio de bsqueda G es
una relacin binaria (gpm - ontogenic mapping) gpm:G X del tipo lefttotal que vincula los elementos del espacio de bsqueda G con
elementos del espacio del problema X [11].

gG,xX:gmp(g)=x

(1.5)

Normalmente, gpm es una funcin determinstica. La funcin de mapeo


gpm debera ser sobreyectiva [12], para asegurar que todos los elementos
del espacio del problema X estn relacionados con al menos un elemento
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

31

del espacio de bsqueda G. Obviamente, si hay elementos del codominio


que no tienen imagen en el espacio de bsqueda (dominio), nunca podran
ser soluciones candidatas al problema de optimizacin.
Adems, si la funcin gpm es biyectiva puede construirse un mapeo inverso
gmp1:X G; es decir que existe una relacin 1 a 1 entre todos los
elementos del dominio y codominio, entonces puede afirmarse que ese
espacio de bsqueda est libre de redundancia.

gpm1(x)=qgpm(g)=x,xX,gG

(1.6)

Esta funcin debera asegurar que los puntos ptimos (locales / globales)
del espacio de bsqueda G se correspondan con los puntos ptimos del
espacio del problema X. Esta ltima propiedad es central para que los
puntos ptimos a evaluar por el algoritmo de optimizacin se correspondan
con las soluciones ptimas del problema real.

Operaciones de Bsqueda
Las operaciones de bsqueda searchOP son las operaciones utilizadas
para recorrer el espacio de bsqueda y encontrar la solucin al
problema de optimizacin. El resultado de una operacin de bsqueda
es un elemento del espacio de bsqueda.

searchOp:GnG

(1.7)

Una operacin de bsqueda puede recibir como parmetros de entrada


uno o ms puntos del espacio de bsqueda visitado. Estas operaciones
de bsqueda definen la secuencia de puntos a visitar por el algoritmo y
por lo tanto su rol es central en la resolucin del problema.
Las operaciones de bsqueda son en general probabilsticas, dado que
normalmente poseen una componente estocstica.
Un conjunto Op de operaciones de bsqueda es completo si y solo si
cada punto g1 del espacio de bsqueda G puede ser alcanzado a partir

de cualquier otro punto g2G aplicando slo operaciones de bsqueda


searchOPOp

g1,g2GkN:P(g1=Opk(g2))>0

32

(1.8)

JAVIER LPEZ

Ntese que la ecuacin 1.8 indica la obtencin de g1 con una cierta


probabilidad. Esto indica que las operaciones de bsqueda no son
determinsticas.
Un conjunto de operaciones de bsqueda es dbilmente completo si y
solo si cada punto del espacio de bsqueda G puede ser alcanzado
aplicando slo operaciones de bsqueda searchOPOp. Por lo tanto,
un conjunto de operaciones de bsqueda dbilmente completo
incluye al menos una funcin sin parmetros.

gGkN:P(g=Opk)>0

(1.9)

Si el conjunto de operaciones de bsqueda es incompleto, existirn


puntos del espacio de bsqueda que nunca podrn ser alcanzados. Esto
no es una condicin deseable para un algoritmo de optimizacin.

Adyacencia en el Espacio de Bsqueda


El punto g2 es adyacente al punto g1 en el espacio de bsqueda G si
puede ser alcanzado aplicando una simple operacin de bsqueda
sobre g1. Esta relacin no requiere simetra.

(1.10)

Adyacencia en el Espacio del Problema


El punto x2 es adyacente del punto x1 en el espacio del problema X si
puede ser alcanzado aplicando una nica operacin de bsqueda
searchOp sobre sus correspondientes elementos en el espacio de
bsqueda.

(1.11)

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

33

Gradiente
El gradiente de un campo escalar f:Rn R es un campo vectorial que
indica en cada punto del campo escalar la direccin de mximo
incremento del mismo.
Los algoritmos de optimizacin utilizan los gradientes del espacio de
bsqueda para encontrar las zonas promisorias donde se prev
encontrar las mejores soluciones. Estos gradientes proporcionan
informacin importante al algoritmo respecto de la direccin de
bsqueda, aunque todas las tcnicas exitosas utilizan adems componentes
estocsticos y operaciones de bsqueda que se rigen parcialmente por la
informacin del gradiente, para evitar convergencias prematuras sobre
ptimos locales.
En los algoritmos probabilsticos, la informacin del gradiente se aproxima
utilizando muestreos de puntos del espacio de bsqueda. Esta propiedad
permite aplicar este tipo de tcnicas de bsqueda a funciones discontinuas,
no diferenciables.

ptimo Local
Un ptimo local es un punto en el espacio de bsqueda que se corresponde
con una solucin ptima para un vecindario del mismo (puntos A y B de la
figura 1.2). La nocin de ptimo implica que el dominio de la funcin
(espacio de bsqueda) es un espacio mtrico o espacio topolgico, para que
el concepto de vecindario tenga sentido. Estos puntos tienen las
caractersticas de ser puntos de atraccin para los algoritmos de bsqueda,
generando una convergencia de soluciones sobre ellos y atascando el
descubrimiento de nuevas soluciones. Un buen algoritmo de bsqueda debe
ser capaz de no quedarse atascado prematuramente en ptimos locales.
Existen algoritmos determinsticos y estocsticos que tienen la capacidad
de, partiendo desde cualquier punto, trazar una trayectoria entre ste y un
ptimo local. Estos algoritmos se conocen como de bsqueda local. La
bsqueda de un ptimo local es una procedimiento relativamente sencillo
[13].
Existen tcnicas hbridas que utilizan un procedimiento de bsqueda
general, con capacidad de encontrar las zonas promisorias del espacio de
bsqueda, y luego aplican en un nivel inferior un procedimiento de
bsqueda local, con capacidad de encontrar valores ptimos en una porcin
acotada del espacio de bsqueda.

34

JAVIER LPEZ

ptimo Global
Se define como ptimo global al conjunto de puntos del espacio de
bsqueda que se corresponden con los valores mximos o mnimos
(maximizacin o minimizacin) de la funcin objetivo a optimizar (punto
C de la figura 1.2). Estas soluciones son las mejores que se pueden
encontrar para el problema en cuestin. La definicin de ptimo global
requiere que la funcin objetivo est definida para todos los valores del
dominio, y el espacio de soluciones debe formar un conjunto totalmente
ordenado (total order set) para permitir la evaluacin de diferentes
elementos del dominio de la funcin [14].

Figura 1.2: Los puntos A y B son ptimos (mximos) locales mientras


que el punto C es el ptimo (mximo) global

Conjunto ptimo
El sub-conjunto de ptimos globales X* es el conjunto formado por
las soluciones ptimas globales o soluciones con mejores valores para
la funcin objetivo.

X*SX

(1.12)

Funcin de Probabilidad del Problema


En teora de la probabilidad, la funcin de distribucin acumulada de
una variable aleatoria X es una funcin que asigna a cada valor real de
X la probabilidad de que la misma tenga un valor menor a igual a x.
Estas funciones pueden aplicarse tambin a una variable aleatoria
multivariantes (vectores de variables aleatorias) [15].

x FX(x)=P(Xdx)

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

(1.13)

35

En este caso, puede definirse como Funcin de Probabilidad del


Problema, , a la distribucin de probabilidad que relaciona cada
punto x del espacio del problema X con la probabilidad acumulada de
encontrar al mismo x hasta la n-ensima evaluacin de soluciones
candidatas.
(x,n)=P(x ha sido encontrada hasta la n-sima evaluacin individual) x X, n N

(1.14)

Dado que la funcin es una funcin de probabilidad acumulada, se


cumple que

(x,n1)d(x,n2) n1<n2xX;n1,n2N

0d(x,n)d1 xX,nN

(1.15)
(1.16)

Esta definicin es interesante dado que incluye todos los componentes


del problema de optimizacin anteriormente descritos. Estos son: el
espacio del problema, la funcin objetivo, las operaciones de
bsqueda, la representacin y los ptimos encontrados. Por lo tanto
incluye tanto el problema a resolver como el algoritmo aplicado a la
resolucin.

1.3 Algoritmo de Optimizacin


Puede definirse un algoritmo de optimizacin como una
transformacin (X,F,G,Op,gpm) de un problema de optimizacin
en una Funcin del Probabilidad del Problema que encontrar al
menos un ptimo local, luego de aplicar un conjunto de operaciones
de bsqueda dbilmente completo en forma iterativa.
Se puede demostrar que, si se cuenta con un tiempo infinito y el
ptimo local existe, el mismo se puede alcanzar.
En este contexto, el mejor algoritmo de optimizacin es aquel que se
relaciona con la Funcin de Probabilidad del Problema que asigna los
mayores valores de probabilidad para el conjunto ptimo x*X y para
los valores ms chicos de n.

36

JAVIER LPEZ

Optimizacin Local versus Optimizacin Global


Se denomina optimizacin local a aquellos procedimientos de
bsqueda que intentan acceder a los extremos de una funcin dentro
de un vecindario de soluciones candidatas de un punto x*. Si x* es un
mnimo local de la funcin f:Rn R, se cumple que

>0 / f(x*)df(x) x{x:|xx*|d }

(1.17)

En cambio, se reconoce como optimizacin global a aquellas tcnicas


pensadas para encontrar los puntos extremos de la funcin
considerando todas las soluciones factibles de la misma. Es decir que
si x* es un mnimo global de una funcin f:Rn R, se cumple que

f(x*)df(x) x

(1.18)

Como se desprende de la definicin anterior, pueden existir muchos


ptimos locales que no son ptimos globales. Obviamente, la
optimizacin global es mucho ms difcil que la optimizacin local.
Existen pocos mtodos para optimizacin global, en comparacin con
multitud de mtodos para optimizacin local.
Para el caso de una funcin continua, dos veces diferenciable,
encontrar si un punto es un ptimo local es relativamente trivial. Se
testea la primera y segunda derivada en ese punto, si no se encuentran
resultados positivos dado que la funcin es continuamente
diferenciable se puede asegurar que un punto vecino puede ser
encontrado con un valor menor. De esta forma, es posible crear una
secuencia de puntos que convergen a un ptimo local [16].
Continuando con el razonamiento, es posible afirmar que no se puede
encontrar el ptimo global de una funcin f si no se evala al menos
un punto en cada uno de los vecindarios del punto de referencia. Por
lo tanto, cualquier mtodo para resolver un problema de optimizacin
global requiere de una cantidad de pasos no limitados.
Los algoritmos de optimizacin global son algoritmos que emplean
medidas para evitar la convergencia a ptimos locales, e
incrementando la probabilidad de encontrar ptimos globales.
Los mtodos de optimizacin global se pueden clasificar en dos
clases:

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

37

1. Deterministas: no poseen componentes estocsticos, garantizan


la convergencia al ptimo global requiriendo necesariamente
que la funcin f posea determinadas propiedades [17] [18] [19].
2. Estocsticos: evalan la funcin f en una muestra de puntos
seleccionados al azar y el proceso contina en forma iterativa
evaluando la funcin en otros puntos. En ningn caso puede
asegurarse la convergencia al ptimo global, excepto para la
situacin cuando la cantidad de puntos evaluados tiende a
infinito. Este tipo de procedimiento de bsqueda global no
requiere que la funcin f a optimizar cumpla con ninguna
propiedad especfica, lo que los hace muy verstiles y
aplicables a muchos tipos de problemas [20] [13].

1.4 Conclusiones
En este captulo se definen los conceptos generales asociados a la
optimizacin de funciones matemticas. A partir de la definicin de
los diferentes espacios de un problema de optimizacin, de las
restricciones, de la representacin de un problema, y de las
operaciones de bsqueda se llega a una definicin precisa. sta
definicin es de mbito general, y describe tanto el problema a
optimizar como el algoritmo utilizado para encontrar la solucin
ptima.

38

JAVIER LPEZ

CAPTULO 2

Metaheursticas
Este captulo se centra en el estudio de las metaheursticas. Se comienza
brindando una definicin de esta familia de algoritmos aplicadas al
mbito de la optimizacin, as como un detalle de los componentes
comunes entre todas ellas, incluyendo el manejo de restricciones en
problemas de optimizacin matemticos. A continuacin, se repasan los
orgenes de la Computacin Evolutiva, profundizando en la tcnica ms
expandida de esta familia, que son los Algoritmos Genticos. Luego se
hace mencin de las metaheuristicas ms relevantes a lo largo de
desarrollo de este campo de estudio. Se incluye una seccin dentro del
captulo para nombrar las dificultades que caracterizan a los problemas de
optimizacin, dado que es de mucho inters entender el origen de la
complejidad en la bsqueda de soluciones ptimas. Para finalizar, se
incluye una seccin dedicada a los mtodos de paralelizacin de
metaheursicas, describiendo los avances destacados en el rea.

2.1 Introduccin
La clasificacin primaria de los algoritmos en general, y de las tcnicas
de optimizacin en particular, es separar aquellas tcnicas exactas
(determinsticas) de aquellas tcnicas estocsticas (probabilsticas o
aproximadas). La categorizacin respecto del grupo al que pertenece cada
algoritmo de optimizacin no deja lugar a dudas de acuerdo a este
criterio, dada la precisa definicin de ambos grupos.
Los primeros son aquellos que no incorporan ningn elemento aleatorio,
por lo que dada la misma entrada, siempre se obtiene la misma salida.
El segundo grupo incluye aquellos algoritmos que poseen algn
componente estocstico. Este componente est relacionado con aumentar
la capacidad del algoritmo de explorar ciertas regiones del espacio de
bsqueda. En este caso, an con la misma entrada, el algoritmo devuelve
salidas diferentes.
En las siguientes secciones se mencionan las tcnicas de optimizacin
ms relevantes, profundizando en el grupo de las tcnicas estocsticas,
mas especficamente las conocidas con el nombre de Metaheursticas.
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

39

2.2 Tcnicas de Optimizacin


La figura 2.1 muestra un cuadro con una posible taxonoma de las
tcnicas de optimizacin existentes. En l se refleja el origen de cada una
de las tcnicas incluidas, as como el orden cronolgico asociado con
cada una.

Figura 2.1: Posible taxonoma de las principales tcnicas


de optimizacin existentes [8]

En [8] se pueden encontrar detalladas descripciones de los algoritmos


y metaheursticas incluidas en el cuadro de referencia.

40

JAVIER LPEZ

Dentro de las tcnicas probabilsticas, que son las de inters en la


presente tesis, se puede apreciar en la figura 2.1 que existe un punto
en comn que son los algoritmos o mtodos de Montecarlo. Este es un
mtodo no determnistico utilizado para aproximar expresiones
matemticas complejas. Su nombre se debe al casino de Montecarlo
en una clara referencia a su naturaleza aleatoria. Su origen se remonta
a mediados de los 40 cuando Stanislaw Ulam y John von Neumann lo
utilizaron en el laboratorio de Los lamos durante el desarrollo de la
bomba atmica.
Desde esta raz comn de las tcnicas aproximadas, se desprenden dos
ramas claramente diferenciadas. La rama de la Computacin
Evolutiva, que incluye aquellos algoritmos inspirados en mecanismos
propios de la naturaleza, y una segunda rama que agrupa algoritmos
estocsticos que utilizan componentes aleatorios para guiar el proceso
de bsqueda pero que no se basan en principios de la evolucin
biolgica.

2.3 Definicin de Metaheurstica


Para entender el trmino de metaheursticas, se comenzar dando una
definicin del trmino heurstica.
Puede definirse como heurstica a aquellos aspectos vinculados con la
utilizacin de conocimiento para realizar una tarea. Es decir, a una
tcnica, mtodo o procedimiento inteligente que no es producto de un
anlisis formal, si no ms bien de conocimiento experto sobre el tema.
Las heursticas son procedimientos especficos, que se aplican en la
resolucin de problemas determinados, caracterizndose por tener buen
rendimiento, aportando soluciones de calidad y poca utilizacin de
recursos.
En Optimizacin Matemtica se usa el trmino heurstico en
contraposicin a exacto, que se aplica los procedimientos a los que se les
exige que la solucin aportada sea ptima y factible.
Una solucin heurstica de un problema es la proporcionada por un
mtodo heurstico, es decir, aquella solucin sobre la que se tiene cierta
confianza de que es factible y ptima, o de que alcanza un alto grado de
optimalidad y/o factibilidad, aunque no se pueda precisar con exactitud
cul es ese grado.
Puede definirse como metaheursticas a un familia de algoritmos,
generalmente estocsticos, de propsito general, que guiados por un
heurstica recorren en forma iterativa el espacio de bsqueda del
problema.
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

41

La metaheursticas son heursticas de nivel ms alto, que define la


estrategia principal de gua de bsqueda.[20]
Otra definicin dada por Glover es mtodos que integran de diversas
maneras, procedimientos de mejora local y estrategias de alto nivel para
crear un proceso capaz de escapar de ptimos locales y realizar una
bsqueda robusta en el espacio de bsqueda. En su evolucin, estos
mtodos han incorporado diferentes estrategias para evitar la
convergencia a ptimos locales, especialmente en espacios de bsqueda
complejos [20].
A continuacin se describen las principales caractersticas de una
metaheurstica:
Propsito general: no se relacionan con problemas especficos, si
no ms bien que son de uso general y aplicable a un amplio
conjunto de problemas.

42

Fcil implementacin: son en general de fcil implementacin,


dado que normalmente no implican muchas lneas de cdigo, y su
amplio espectro de uso las hace naturalmente re-utilizables.

Fcil paralelizacin: por su estructura comn, es relativamente


sencillo definir implementaciones paralelas de las diferentes
metaheursticas existentes.

Aproximados: se caracterizan por encontrar soluciones cercanas al


ptimo, en tiempos de procesamiento relativamente cortos.
Muchas veces, ni siquiera puede saberse cun cerca del ptimo se
encuentra la solucin hallada. Pese a esta fuerte limitacin terica,
se ha demostrado en forma emprica que para aquellos problemas
que no pueden resolverse en forma exacta, o que no se cuenta con
el tiempo para evaluar todas las soluciones posibles, los resultados
ofrecidos por este tipo de algoritmos son de buena calidad y
representan la mejor forma conocida de recorrer espacios de
bsqueda complejos e inmensos.

Poca base terica: generalmente se cuenta con muy poca base


terica, y los estudios en este campo son limitados. Por su
naturaleza mayoritariamente estocstica, lo nico que se puede
afirmar es que la probabilidad de encontrar el ptimo global es
igual a 1 cuando la cantidad de iteraciones (evaluacin de
funciones) es infinito.

JAVIER LPEZ

2.4 Computacin Evolutiva


En el campo de ciencias de la computacin, la Computacin Evolutiva es
una rama de la inteligencia artificial que intenta resolver problemas de
optimizacin combinatoria. El desarrollo original de estas idea se remonta
a mediados de los 50, pero es en los 60s donde comienzan tres lneas de
investigacin en paralelo, John Henry Holland y el desarrollo de los
Algoritmos Genticos, Lawrence J. Fogel con el desarrollo de
Programacin Evolutiva y en Alemania, Ingo Rechenberg and Hans-Paul
Schwefel introdujeron Estrategias Evolutivas.
A principios de los 90s estas corrientes de investigacin convergieron a
un nico campo de investigacin agrupndose todas bajo el ttulo de
Computacin Evolutiva [21] [22] [23].
Unos aos despus, fines de los 80s, se agreg dentro de este tpico de
investigacin un conjunto de tcnicas bioinspiradas basados en el
comportamiento colectivo de agentes autoorganizados. Esta subrama de
la Computacin Evolutiva adopt como nombre Inteligencia de
Enjambres (Swarm Intelligence), nombre tomado del trabajo de Beni
[24].

Introduccin
La computacin evolutiva utiliza normalmente una poblacin que
evoluciona a lo largo del tiempo, y donde los individuos ms aptos
relacionados con el problema actan como guas del proceso de
bsqueda. Estos conceptos estn inspirados en principios de la Teora de
Evolucin de las Especies de Charles Darwin [24].
En la naturaleza, los individuos compiten por recursos escasos como ser
comida, refugio, agua o pareja. Estos individuos se van adaptando al
medio que los rodea. Aquellos individuos que presentan una mayor grado
de adaptacin aumentan la probabilidad de llegar a una edad adulta y, en
consonancia, es mayor la probabilidad de tener descendientes.
Este proceso no es de naturaleza determinstica, si no mas bien de
naturaleza estocstica. Mayor adaptacin implica mayor probabilidad de
obtener recursos y de descendencia, aunque en ningn caso la asegura.
Asimismo, cuando surgen las nuevas generaciones basados en el cdigo
gentico de sus predecesores, existen mutaciones aleatorias cuya utilidad
de acuerdo a proceso de adaptacin no se conoce de antemano.
Basados en estos principios de la Teora de la Evolucin surgieron las
primeras tcnicas de esta rama de la investigacin.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

43

Componentes Generales
En este apartado se describen los componentes comunes, siempre
presentes, en una metaheuristica aplicada a optimizacin. Se debe notar
que esta seccin hace referencia a los componentes conceptuales de una
tcnica aplicada a maximizacin o minimizacin de funciones, sin entrar
en los detalles de diseo y/o implementacin de alguna tcnica en
particular. Estos conceptos se repiten en los siguientes captulos, pero
haciendo referencia a procedimientos especficos de las tcnicas bajo
anlisis. La comprensin de los elementos comunes de los algoritmos de
esta clase permiten el entendimiento de la raz que comparten, y a la vez
nos facilita el discernimiento de las diferencias existentes entre todos
ellos.

Individuo
El concepto de individuo es central cuando hablamos de metaheursticas.
Se denomina individuo a una posible solucin del problema. Esta
denominacin se debe a que una de las primeras tcnicas desarrolladas
fueron los algoritmos genticos, inspiradas en la evolucin de las
especies.
Normalmente, se parte de un conjunto de individuos iniciales (soluciones
generadas al azar o con una heurstica ad-hoc) y estas soluciones se van
mejorando (evolucionan) con el correr de las iteraciones del algoritmo,
hasta que se alcanza un criterio de parada definido.
El trmino individuo se utiliza normalmente en aquellas tcnicas que
evalan mas de una solucin a la vez.

Poblacin
El concepto de poblacin, en metaheursticas, es similar a la definicin en
biologa. Una poblacin es un conjunto de individuos. En el mbito de las
metaheursticas, se denomina poblacin al conjunto de individuos
correspondiente a una iteracin del algoritmo. En el contexto de
algoritmos genticos, se puede llamar tambin como generacin.
En aquellas tcnicas de bsqueda que evalan una nica solucin a la
vez, podramos decir que sus sucesivas poblaciones estn compuestas por
un individuo.

44

JAVIER LPEZ

Funcin de Aptitud (Fitness)


La funcin de aptitud (fitness) es una funcin escalar matemtica que
devuelve un valor numrico para cada punto del espacio del problema.
Esta funcin debe estar diseada para que los puntos del espacio del
problema que representen las mejores soluciones, tengan los mejores
valores de fitness y viceversa. Es una medida directa de la utilidad de los
puntos del espacio del problema, o de su orden de prioridad / importancia.
Su nombre fue tomado del concepto biolgico de aptitud, utilizado en los
primeros algoritmos genticos. El concepto de funcin de aptitud escalar
tambin se corresponde con el concepto de potencial o funcin de energa
en fsica. La nica diferencia entre ambos conceptos es que los fsicos
piensan en trminos de minimizar la funcin potencial, mientras que para
los bilogos la funcin de aptitud debe ser maximizada.
Matemticamente esta diferencia es irrelevante, dado que se puede
transformar un problema de maximizacin en minimizacin o viceversa
tomando la inversa (f(x)*1) de la funcin a optimizar.
Se puede conceptualizar como la implementacin de la funcin objetivo.

Criterios de Terminacin
Las metaheursticas son procedimientos de bsqueda y optimizacin no
exactos, generalmente probabilsticos. Son capaces de encontrar buenas
soluciones sin recorrer todas las opciones posibles.
Dada su naturaleza estocstica, es importante definir un criterio de
terminacin. Los criterios ms utilizados son:
Esfuerzo pre-determinado: se define un criterio de parada a priori,
fijando un tiempo o una cantidad de iteraciones / evaluacin de
funciones pre-acordadas. En pruebas de laboratorio, este criterio es
muy til dado que permite realizar comparaciones justas,
evaluando resultados de distintas tcnicas luego de la misma
cantidad de evaluacin de funciones.

En problemas del mundo real este criterio tambin es de suma


utilidad, dado que permite acotar el tiempo de ejecucin del
algoritmo al tiempo disponible para resolver el problema. Se debe
notar, y esa es una de las ventajas de este tipo de tcnicas, que
siempre ofrecen una solucin al problema. Obviamente, a medida
que avanzan la iteraciones, esa solucin se va mejorando y
refinando.
Falta de nuevos resultados: define una condicin de parada del
algoritmo cuando se suceden una cantidad n de iteraciones o

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

45

evaluaciones de funciones de prueba sin lograr una mejora en los


resultados encontrados. En esta condicin se dice que el algoritmo
est atascado. Esto sucede normalmente cuando se encuentra
detenido en un ptimo local.

Logro de una solucin de calidad pre-determinada: se utiliza tanto


en problemas de laboratorio como en problemas del mundo real.
Cuando se utiliza, el algoritmo finaliza en el momento que se
alcanza una solucin con un grado de optimalidad definido a
priori. Este criterio permite tambin realizar comparaciones justas
entre tcnicas diferentes, ya que se pueden medir las cantidades de
evaluaciones de funcin que utilizan dos metaheursticas
diferentes para alcanzar soluciones de la misma calidad.

Convergencia
El concepto de convergencia es, al menos, ambiguo en este campo de
estudio. Se utiliza esta palabra tanto para definir la capacidad del
algoritmo para alcanzar un ptimo local (global), as como un estado del
algoritmo que se caracteriza por concentrar todos los individuos en una
pequea porcin del espacio de bsqueda, no necesariamente donde se
encuentra un ptimo.
La capacidad del algoritmo de converger a un ptimo local (global); la
primera acepcin del trmino; es una caracterstica deseable de toda
tcnica de optimizacin.
La concentracin de las soluciones en un pequeo sector del espacio de
bsqueda; la segunda acepcin el trmino; no necesariamente es una
propiedad deseable, dado que generalmente la falta de diversidad de
soluciones conducen a que el algoritmo se atasque en un ptimo local de
manera prematura.

Manejo de Restricciones
Como se defini anteriormente, muchos problemas de optimizacin
tienen asociado un conjunto de restricciones de igualdad y desigualdad.
Una solucin es factible slo si cumple con todas las restricciones
definidas para el problema de optimizacin.
Existen diferentes tcnicas de manejos de restricciones desarrolladas. A
continuacin se presenta un breve recuento de las ms utilizadas en el
campo de estudio.

46

JAVIER LPEZ

Penalidad de muerte:
aquellos individuos que no cumplen con las restricciones del problema, se
descartan directamente. En este caso, no se aprovecha la informacin
proveniente de estas soluciones. Esta tcnica de manejo de restricciones es
eficaz solamente si el tamao de la regin factible del espacio de bsqueda
es grande comparada con la regin no factible.

Funciones de penalidad:
agrega un trmino a la funcin objetivo. Este trmino penaliza aquellas
soluciones que se encuentran en la regin no factible. De esta forma, los
individuos que se encuentran en las regiones no factibles tienen siempre un
valor de funcin de aptitud peor que cualquier individuo de la zona factible
[26].
Esta penalidad es normalmente dinmica, proporcional (lineal, cuadrtica,
etc.) a la distancia que existe a la solucin factible ms prxima, pero su
valor puede estar influenciado adems por variables adicionales (iteracin
del algoritmo, estadsticas de la poblacin, etc.). Existe mucha
investigacin en este campo en particular, y sin duda un buen diseo de la
funcin de penalizacin es un componente central para la optimizacin de
problemas sujetos a restricciones.

Restricciones definidas como objetivos:


estos mtodos definen nuevas funciones objetivos a optimizar por cada
restriccin definida en el problema, de esta forma transforman problemas
mono-objetivo en problemas multi-objetivo o problemas multi-objetivo en
problemas multi-objetivo con mayor cantidad de funciones a optimizar.
Es importante destacar que a medida que se incrementan las funciones a
optimizar, el problema gana en complejidad y en cantidad de soluciones
posibles [26].

Desigualdades:
esta tcnica se debe a Zakian y es aplicable a problemas con ms de un
objetivo (multi-objetivo). En este mtodo, se identifican reas de inters por
cada funcin objetivo en forma de rangos de metas (goal range) [27] [28].
Luego, se dividen las soluciones encontradas en tres categoras, de acuerdo
a su relacin con las diferentes rangos de metas.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

47

1. Soluciones que cumplen con todas las metas de todas las


funciones objetivos
2. Soluciones que cumplen con algunas de las metas
3. Soluciones que no cumplen con ninguna de las metas
De esta forma, se direcciona el proceso de bsqueda para aquellas zonas
con soluciones que satisfacen en mayor medida los rangos de metas.

Algoritmos Genticos
Los algoritmos genticos son las tcnicas de bsquedas y optimizacin ms
utilizadas dentro del campo de los Algoritmos Evolutivos. Esta tcnica es
un algoritmo de bsqueda basada en los mecanismos de seleccin natural y
gentica natural [22]. Ellos combinan la supervivencia del ms apto en
forma de representaciones estructuradas de soluciones al problema,
llamadas individuos, con mecanismos de intercambio de informacin para
la generacin de nuevas soluciones. De esta manera, se le da forma a un
proceso de bsqueda basado en la informacin que se obtiene del
problema, y a medida que se recorre el espacio de soluciones posibles se
direcciona la bsqueda hacia los valores mejores. Estos algoritmos fueron
desarrollados por John Holland, sus colegas y estudiantes en la universidad
de Michigan [29].
La principal caracterstica de este mtodo es su robustez. En este contexto,
el concepto de robustez se asocia con la capacidad del algoritmo de
aplicarse a multitud de problemas diferentes, an a aquellos problemas
donde se cuenta con poco conocimiento a priori. La tcnica se caracteriza
por ser capaz de encontrar soluciones buenas en un amplio conjunto de
problemas [30] .
La algoritmo 1 muestra el pseudo-cdigo de un algoritmo gentico simple.

A continuacin se detallan los elementos principales de un algoritmo


gentico, procesos que siempre se encuentran presentes en todos los

48

JAVIER LPEZ

algoritmos pertenecientes al campo de la Computacin Evolutiva, con


diferentes nombres e implementaciones. Estos procesos u operadores,
como se los llama dentro del campo de estudio, son los bloques bsicos
de funcionamiento de las tcnicas comprendidas dentro del campo de
metaheursticas evolutivas.

Representacin
En los algoritmos genticos las soluciones se codifican como
cromosomas. La manera en que se codifican los cromosomas es
especfica de cada problema, y suele variar entre problema y problema.
Estas estructuras pueden ser vectores binarios, vectores de nmeros
enteros, nmeros reales, etc. Un cromosoma est compuesto por un
conjunto de genes que ocupan un lugar especfico, llamado locus. Cada
valor posible que puede tomar un gen se lo conoce como alelo. En el
contexto de los algoritmos genticos se conoce como genotipo a esta
representacin del individuo. Sobre esta representacin se aplican los
operadores de Recombinacin y Mutacin que veremos ms adelante, lo
que implica que los mismos se tienen que adaptar a la representacin
elegida. Existe adems el concepto de fenotipo, que es la forma en que el
genotipo se expresa en interaccin con su entorno. La morfognesis es el
resultado de decodificar el genotipo para obtener el fenotipo. Este
concepto est estrechamente ligado a la siguiente seccin.

Asignacin de Aptitud
El concepto de aptitud se tom prestado de la biologa, y se debe al
desarrollo original de los algoritmos genticos como primer representante
de metaheursticas bio-inspiradas de uso importante. La aptitud o
adecuacin (fitness en ingls) define la capacidad de un individuo para
sobrevivir y reproducirse, y es un concepto primordial en la teora de la
evolucin. Este valor es central cuando se hace referencia a la
supervivencia del ms apto, dado que los individuos con mayores valores
de aptitud son aquellos con mayores probabilidades de sobrevivir y
reproducirse.
En el campo de la optimizacin usando computacin evolutiva la funcin
de aptitud es una funcin matemtica que asigna un valor escalar a cada
individuo de la poblacin. Este valor escalar se corresponde con el
objetivo a optimizar. Los valores que devuelve la funcin de aptitud
deben tener una correspondencia con el objetivo a optimizar, y aquellos
puntos del espacio del problema que se corresponden a los menores
valores de la funcin objetivo debern tener los valores de funcin de
aptitud ms bajos, y viceversa [31].
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

49

Como se mencion anteriormente, este concepto originario de los


algoritmos genticos se utiliza en todas las metaheuristicas evolutivas,
dado que este concepto permite clasificar a los individuos como mejores
o peores soluciones.
De esta forma, la mayora de los algoritmos de optimizacin estocsticos
privilegian las soluciones ms aptas, aquellas con mejores valores de
aptitud en funcin del objetivo a maximizar/minimizar. Asimismo,
generalmente estas soluciones participan en mayor medida que el resto en
la generacin de nuevos puntos en el espacio de bsqueda [22]. De esta
manera, en forma iterativa los algoritmos genticos van recorriendo el
espacio de bsqueda en forma inteligente, estimando los gradientes de la
funcin de aptitud a partir de los muestreos de puntos generados por la
estrategia de bsqueda.
La funcin de aptitud recibe como entrada un individuo (genotipo),
decodifica el mismo y devuelve uno o mas valores que caracterizan al
individuo y la relacin con el entorno (fenotipo).

Reproduccin
Este operador tiene como finalidad seleccionar, generalmente, un par de
individuos de la poblacin para que acten como padres de los individuos
de la siguiente generacin. El concepto de padres en este contexto
significa que los nuevos individuos de la poblacin se formarn a partir
de la combinacin de sus elementos, en una clara analoga con el ciclo de
reproduccin de las especies. La seleccin de los individuos est
directamente relacionada con el valor de aptitud de cada uno de ellos. Al
igual que lo expresado en la principal obra de Charles Darwin [25], la
probabilidad de seleccin de un individuo tiene una correlacin positiva
con su valor de aptitud o de adaptacin al entorno. De esta forma, los
individuos con mejores valores de fitness frente al problema en cuestin
tienen una mayor probabilidad de participar en la formacin de las nuevas
generaciones. Este proceso, aplicndose en forma iterativa a lo largo de la
ejecucin del algoritmo, permite que las nuevas soluciones que se
encuentran (individuos) tiendan a ser cada vez mejores.
En la versin ms simple de un algoritmo gentico, la seleccin es
implementada como una bsqueda lineal sobre una rueda de ruleta, donde
cada slot de la misma representa cada uno de los individuos de la
poblacin. El tamao de cada slot es directamente proporcional a su valor
de aptitud [22]. Existen mltiples mecanismos de seleccin posibles,
entre los que se pueden destacar seleccin por torneos [32], seleccin por
truncamiento [40] y seleccin basada en ranking [34] [35]. En todas
ellas el principio de funcionamiento bsico se mantiene, las mayores
probabilidades de seleccin se corresponden con los mejores individuos.

50

JAVIER LPEZ

Recombinacin
El objetivo final del operador de recombinacin (crossover) es la
generacin de uno o dos individuos hijos a partir de los individuos padres
seleccionados en el proceso anterior. Este operador de cruza est
directamente relacionado con la representacin que se utiliza para definir
los individuos. En algunas representaciones, es posible realizar
cruzamiento de individuos identificando partes del mismo con
determinado criterio, e intercambiando las mismas entre los dos
individuos seleccionados en el operador de reproduccin. Dentro de las
tcnicas que se aplican en forma directa, se destacan la recombinacin de
un punto, recombinacin de dos puntos, corte y empalme y
recombinacin uniforme. Existen mltiples variaciones de estos
operadores bsicos [36] [37] [38].
Otras representaciones no son aptas para un intercambio directo entre las
partes de los individuos. Por ejemplo, para individuos cuyos cromosomas
que representan la solucin tienen un orden, se han generado operadores
de recombinacin especficos. Entre ellos puede destacarse PMX
(partially-matched crossover), CX (cycle crossover), OX1 (order
crossover operator), etc. Todos estos operadores tienen como finalidad
que los individuos que surjan de su aplicacin representen soluciones
vlidas para el problema en ciernes [39].
Asimismo, para representaciones de individuos directamente como
nmeros reales, el operador de recombinacin se implementa utilizando
diferentes tcnicas de seleccin en los intervalos definidos por los
individuos padres [40] [41]. Esta representacin ha ganado cada vez ms
espacio dentro de la comunidad de investigadores, dados los excelentes
resultados reportados [42] [43].

Mutacin
El operador de mutacin tiene como objetivo introducir un cambio
aleatorio en el nuevo individuo. Este operador se aplica con determinada
probabilidad de ocurrencia [44], y en general afecta a un subconjunto
pequeo de la poblacin, aumentando la diversidad de la misma [45].
Este operador tiene la virtud de aumentar las capacidad de exploracin
del algoritmo, dado que permite realizar bsquedas en zonas aleatorias
del espacio del problema. A diferencia de los operadores anteriores, en
este caso se intenta darle al proceso de bsqueda una posibilidad para
escapar de ptimos locales, generando individuos en porciones del
espacio de bsqueda que no se alcanzaran con la mera aplicacin de los
operadores de reproduccin y recombinacin [46] [47] [48].

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

51

Est demostrada la gran utilidad de este operador en la mayora de los


problemas estudiados, por lo que casi todas las tcnicas implementan un
operador de esta clase dentro de su rutina de ejecucin [49].

2.5 Metaheursticas Destacadas


Las metaheursticas de bsqueda y optimizacin establecen estrategias
para recorrer el espacio de soluciones del problema mejorando las
soluciones iniciales, normalmente generadas en forma aleatoria, de
manera iterativa.
Este tipo de tcnicas permiten transformaciones de las soluciones de
bsqueda que no sean de mejora (no montonas), como procedimiento
para escapar de ptimos locales.
La principal ventaja de estas tcnicas frente a otros mtodos es su
flexibilidad y robustez, lo que permite aplicarlas a un amplio conjunto de
problemas.
A continuacin se mencionan las metaheursticas ms relevantes que
marcaron el sendero de este prolfico campo de investigacin y
aplicacin.

Programacin Gentica
Esta tcnica metaheurstica es muy interesante dado que se plantea el
complejo problema de evolucionar programas de computacin. El
pionero en esta rama fue Lawrence Fogel, quien en 1964 se plante el
desafo de aplicar algoritmos evolutivos al problema de descubrir
autmatas de estado finito. La primera aplicacin conocida de esta
tcnica sobre programas de computacin representados en formal de
rbol data de 1985 [50]. A este autor se le debe la primera
representacin moderna de un programa de computacin procedural
en forma de rbol. Esta representacin permite una fcil manipulacin
del cdigo del programa, y permite la aplicacin de los operadores
bsicos de un algoritmo gentico. En los 90's, John Koza se convirti
en el principal investigador en esta tcnica de optimizacin[51][52].
La mayora de los trabajos en el rea estn basados en esta
representacin, donde cada nodo del rbol representa una funcin de
operador y cada nodo terminal se corresponde con un operando (figura
2.2). De esta forma es fcil evolucionar las expresiones matemticas
resultantes de la representacin seleccionada [53] [54] [55].

52

JAVIER LPEZ

Existen asimismo otras representaciones utilizadas con buenos


resultados reportados [56].
Con la impresionante mejora de las capacidades de procesamiento de
las computadoras, en los ltimos tiempos se han logrado mejoras
sustanciales en la aplicacin de esta tcnica a problemas de laboratorio
y problemas del mundo real [57] [58] [59].

Figura 2.2: Programacin Gentica. Representacin de un programa


en forma de rbol.

Estrategias Evolutivas
Esta tcnica se desarroll en los aos 60 y 70. La misma utiliza una
representacin real para los individuos de la poblacin. Es similar a la
estructura de un algoritmo gentico bsico pero utiliza solo los
operadores de seleccin y mutacin. Este ltimo operador se
implementa seleccionando un valor al azar de una distribucin normal
generada con cada componente del vector individuo. Existen muchos
estudios que indican que uno de los factores centrales que ayudan a la
convergencia de los algoritmos a valores ptimos es el valor de la
desviacin estndar que se utiliza, parmetro conocido como ventana
de evolucin. Existen diferentes mtodos para estimar la misma,
aunque en general se trata de rangos de variacin pequeos [60].
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

53

En su versin cannica la poblacin tiene un slo individuo, y a partir


del mismo se genera un descendiente. Luego, si el descendiente tiene
un mejor valor de fitness que el padre, ser el elemento seleccionado,
en caso contrario, el mismo se descarta [60] [61].
Existen variantes sobre esta propuesta original que agregan ms
miembros a la poblacin, y algunas con agregados del operador de
recombinacin. Normalmente, se mejora la capacidad de optimizacin
del algoritmo con estos agregados [62].
Las principales diferencias entre un algoritmo gentico (AG) con
representacin real y una estrategia evolutiva (EE) son:
1. El AG tiende a tener poblaciones ms grandes formadas por
decenas de individuos.
2. Un AG tienen como principal operador la recombinacin, y la
mutacin es un operador complementario. Una EE tiene como
principal operador la mutacin, y la recombinacin puede
llegar a utilizarse como complemento.
3. El proceso de seleccin de individuos en una AG es
estocstico, en cambio en una EE suele ser determinstico.

Evolucin Diferencial
Esta tcnica fue propuesta por Storn y Price en fines de los 90. Es una
tcnica pensada para optimizacin matemtica en funciones con
dominio real. La misma es extremadamente simple y basa la generacin
de nuevos individuos en un operador ternario, donde se seleccionan tres
individuos al azar, y a la diferencia ponderada de los dos primeros
vectores se le suma un tercer vector [63] [64]. Esta simple frmula de
generacin de nuevos individuos se ha mostrado como muy eficiente
para atacar problemas con representacin real [65] [66].
Existen propuestas basadas en el algoritmo original que han mostrado
resultados mejores en un vasto conjunto de funciones de prueba [67]
[68] [69], as como variantes del algoritmo inicial con procedimientos
de auto-adaptacin de los parmetros de generacin de nuevos
individuos [70] [71].
La complejidad computacional intrnseca del algoritmo, sin considerar
el costo de la evaluacin de la funcin de fitness por ser propia del
problema a resolver, se encuentra entre las ms bajas de todas las
metaheursticas.

54

JAVIER LPEZ

Swarm Intelligence
La inteligencia de enjambre (SI) es el comportamiento colectivo de
agentes descentralizados, que generan sistemas auto-organizados,
naturales o artificiales. El concepto se emplea en los trabajos sobre
inteligencia artificial. La expresin fue introducida por Gerardo Beni y
Wang Jing, en 1989, en el contexto de los sistemas robticos mviles
[72].
Los algoritmos basados en este principio en general estn compuestos por
agentes simples, que interactan en forma directa, local, con reglas
simples, sin un control centralizado, con interacciones con componentes
estocsticos. Esta interaccin entre diferentes agentes autnomos termina
generando un comportamiento inteligente, de donde emana un patrn
de funcionamiento global que se utiliza para optimizacin de funciones
matemticas complejas, entre otras aplicaciones. Estas tcnicas estn
inspiradas en la naturaleza, en procesos tales como colonias de hormigas,
cardmenes, bandadas o manadas.
Existen ms de una decena de algoritmos de este tipo [73] [74] [75] [76]
[77] [78]. Entre las propuestas ms destacadas de esta categora de
metaheursticas se encuentran Optimizacin por Colonia de Hormigas
(ACO) y Optimizacin por Cmulo de Partculas (PSO). De la primera,
se hace una breve descripcin en el siguiente prrafo. La segunda
metaheursticas es el tema principal de esta tesis, y en la segunda parte del
presente trabajo se profundiza la investigacin sobre la misma.

Optimizacin por Colonia de Hormigas (ACO)


Este algoritmo fue propuesto por Marco Dorigo en su tesis de
Doctorado [79]. El mismo est inspirado en el comportamiento de las
colonias de hormigas y su bsqueda de caminos ptimos entre la
fuente de comida y su colonia (Figura 2.3). Las primeras versiones
fueron aplicadas a encontrar caminos ptimos en un grafo (connected
graph). Las hormigas artificiales intercambian informacin en forma
indirecta, con la utilizacin de feromona. Esta ltima es informacin
estadstica asociada a conexiones entre nodos. Los arcos pueden tener
un valor heurstico que representa el conocimiento que se tiene del
problema [80] [81] [82]. Las hormigas deciden el camino en base a un
procedimiento de decisin local estocstico. A su vuelta, dejan rastros
de feromonas en las conexiones utilizadas. Existen adems
procedimientos de evaporacin de feromona, cuyo objetivo radica en
evitar quedar atrapados en ptimos locales.
Un algoritmo de este tipo presenta las siguientes caractersticas:

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

55

Las soluciones de buena calidad emergen como un


comportamiento global del conjunto de todas las hormigas.

Para definir qu camino toma, cada hormiga hace uso de


informacin local de ese nodo y utiliza un componente
estocstico.

Las hormigas se comunican en forma indirecta, a travs de los


rastros de feromona en el ambiente.

Las hormigas no son adaptativas, si no que ellas modifican en


forma adaptativa la forma que el problema es visto por ellas
mismas. [82] [83].

En [10] se propone una extensin de este algoritmo enfocada a realizar


bsquedas entre la frontera de las regiones factibles y no factibles del
espaci de bsqueda, tanto para espacios continuos como discretos. Es
muy frecuente que las soluciones ptimas a problemas de
optimizacin se encuentren en estas zonas fronterizas.

Figura 2.3: Optimizacin realizada por hormigas en su bsqueda de alimentos

56

JAVIER LPEZ

Optimizacin por Cmulo de Partculas (PSO)


Este algoritmo fue originalmente diseado para simular el
comportamiento de social de grupos de animales como ser cardmenes o
bandadas (Figura 2.4). La propuesta original se debe a [84], quienes
propusieron la primera versin de este algoritmo aplicado a espacios
continuos. Poco tiempo despus, los mismos autores presentaron
versiones aplicadas a problemas binarios [85].
A diferencia de otras metaheursticas, esta tcnica se caracteriza por
almacenar la velocidad de las partculas, ademas de su ubicacin. Esto
significa que utilizando este algoritmo se cuenta no slo con las
locaciones de las soluciones, sino tambin con la informacin de cmo
varan estas ubicaciones.
El siguiente captulo de la presente tesis se dedica a esta metaheurstica en
exclusiva, por lo que no se ahondar en detalle en esta seccin.

Figura 2.4: Aves en una bandada que responden a un comportamiento


basado en seguir a un lder

Hill Climbing
La tcnica conocida como Hill Climbing un procedimiento de bsqueda
local que intenta encontrar soluciones ptimas cambiando
incrementalmente uno de los componentes de la solucin. Dada su
concepcin bsica y su simpleza de funcionamiento, esta tcnica es muy
til para encontrar ptimos locales. Al igual que las metaheursticas ms
avanzadas, este algoritmo puede tener un componente probabilstico. Su
uso es bastante popular para la resolucin de problemas simples o como
algoritmo de bsqueda local, utilizado en conjunto con un algoritmo de
bsqueda global [86]. Las bsqueda se direcciona siempre siguiendo el
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

57

incremento mximo de la funcin objetivo. Es un algoritmo del tipo


Greedy, lo que lo hace propenso a quedar atascado en ptimos locales.

Recocido Simulado (Simulated Annealing)


Este algoritmo es una metaheurstica de optimizacin global. Est
inspirado en los procesos de coccin de metales y cermicas. La
tcnica implica un proceso de calentamiento y luego un proceso de
enfriamiento controlado. La aplicacin de este procedimiento trmico
incrementa los cristales y reduce los defectos del material. Por
analoga al proceso fsico, a partir de la presente solucin se genera
una nueva en forma aleatoria. La misma es aceptada con una
probabilidad que depende de la diferencia en la funcin de aptitud de
ambas soluciones y un parmetro T (enfriamiento) que decrece con el
paso del tiempo (Figura 2.5).
Esta tcnica fue desarrollada en forma independiente por dos grupos
de investigacin a principios de los 80 [87] [88]. El rendimiento del
algoritmo es dependiente del proceso de enfriamiento (variacin de la
variable global T) a lo largo de las iteraciones del algoritmo. A su vez,
este proceso es dependiente del problema.
Se ha demostrado en forma terica la convergencia del algoritmo al
ptimo global [89]. Esta demostracin tiene valor cientfico, pero no
tiene valor prctico dado que para asegurar la convergencia se
requiere recorrer todo el espacio de bsqueda del problema.

Figura 2.5: Efecto de la variable T en Recocido Simulado

58

JAVIER LPEZ

Bsqueda Tab
Este algoritmo es una propuesta de Fred Glover a fines de los aos 80
[90] [91] [92]. Es un procedimiento de bsqueda local que se puede
aplicar a problemas de optimizacin combinatoria. Este procedimiento
va recorriendo soluciones vecinas a la actual y utiliza una estructura
de memoria con las siguientes caractersticas [93] [94] [10]:
Corto Plazo: almacena las soluciones recientes. Si una solucin
futura se encuentra en la lista, no puede visitarse nuevamente
hasta que alcance el tiempo de expiracin.

Mediano Plazo: lista de reglas que direccionan la bsqueda a


las zonas ms prometedoras del espacio de soluciones.

Largo Plazo: reglas que promueven la diversidad, para evitar


convergencias prematuras y quedar atrapados en ptimos
locales.

Esta tcnica se presenta como muy efectiva aplicada problemas


discretos.

2.6 Dificultades Encontradas


En esta seccin se nombran los principales inconvenientes que se
presentan con el uso de metaheursticas aplicadas a la optimizacin de
problemas.
Estas dificultades de naturaleza general deben ser consideradas al
momento de realizar optimizacin de funciones matemticas, dado que
las mismas explican la mayora de las situaciones donde se obtienen bajos
indicadores de rendimiento.

Convergencia Prematura
La convergencia prematura se refiere a un estado de atascamiento del
algoritmo en ptimos locales o en soluciones de mala calidad, en
iteraciones tempranas de la ejecucin. Cuanto antes se produce, mayor es
la prdida en trminos de aprovechamiento de recursos [95].
Como se mencion anteriormente, encontrar ptimos locales a partir de
cualquier punto es una tarea relativamente sencilla para cualquier
procedimiento de bsqueda y optimizacin. Un algoritmo de
optimizacin bien diseado tiene mecanismos para escapar de mximos o

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

59

mnimos locales, y continuar el proceso de bsqueda con el objetivo de


encontrar los ptimos globales.
Algunos autores dicen que se puede resumir toda la problemtica de la
optimizacin entendiendo el desafo de no quedar atascado en un ptimo
local.
La convergencia prematura, normalmente explicada por una excesiva
atraccin de un ptimo local, es uno de los problemas ms frecuentes en
el mundo de la optimizacin.
Existen diferentes componentes para evitar esta condicin no deseada.
Entre los principales mecanismos utilizados por las diferentes tcnicas
podemos mencionar los siguientes, aunque todos ellos tienen una raz
comn, la incorporacin de aleatoriedad en el proceso de bsqueda:

Variable aleatoria: Todas las tcnicas de optimizacin basadas en


metaheuristicas son de naturaleza estocstica. Esto implica la
existencia de una o mas variables aleatorias que participan en las
frmulas de los procedimientos de bsqueda. Estas variables
aleatorias tienen, en general, una distribucin uniforme o una
distribucin normal. Este componente acta como reaseguro ante
el efecto de atraccin que generan los ptimos locales en todas las
tcnicas de optimizacin basadas en metaheursticas. Este
componente estocstico se incluye en diferentes tipos de
operadores.

Re-inicio del algoritmo: Existen propuestas donde, al momento de


detectarse un atascamiento en el proceso de bsqueda, se reinicia
parcialmente o totalmente el proceso de bsqueda. Esta solucin,
si bien conceptualmente simple, puede dar buenos resultados [96].

Actualizacin de ubicacin en forma aleatoria: Existen tcnicas


donde algunos de los individuos de la poblacin toman ubicaciones
generadas al azar, ante determinados tipos de eventos o con una
frecuencia predefinida. En general, esto se aplica a un subconjunto
pequeo de la poblacin. Es conceptualmente similar a la anterior,
pero aplicada en forma mas selectiva y espordica [97].

Deceptividad
Los algoritmos de optimizacin estocsticos son algoritmos muestrales.
Estos procedimientos de bsqueda recorren diferentes puntos del espacio
de bsqueda con alguna estrategia determinada, y a partir de las muestras
obtenidas se intenta inferir, con diferentes procederes, cual es la forma

60

JAVIER LPEZ

de la superficie de la funcin (fitness landscape), y as direccionar la


bsqueda a estas regiones del espacio de bsqueda [31].
Los problemas deceptivos o engaosos son aquellos donde la forma de la
superficie de la funcin no ayuda a inferir cual es la regin donde est el
ptimo global, o incluso brinda informacin que aleja el proceso de
bsqueda de esta solucin ptima, o lo que es lo mismo, son aquellas
funciones donde, para la mayora de los puntos, el gradiente de la funcin
no apunta a la ubicacin de los ptimos globales [98].

Rugosidad (Complejidad del paisaje del espacio de bsqueda)


El concepto de rugosidad est directamente vinculado con la cantidad de
ptimos locales. Cuanto mas rugosa un funcin, mayor es la cantidad de
estos mximos o mnimos locales [99]. Cuanto mas mximos y mnimos
locales, mayor la dificultad de encontrar un ptimo global. Si a la gran
cantidad de ptimos locales le sumamos una superficie de la funcin con
mltiples ascensos y descensos, tenemos una funcin altamente rugosa
[100].

Causalidad Dbil
El concepto de causalidad vincula las propiedades de un objeto con su
comportamiento. Se denomina causalidad fuerte cuando pequeos
cambios en un objeto, producen pequeos cambios en la forma de
comportarse. En este mbito, el concepto de causalidad relaciona las
propiedades del individuo con su valor de fitness. Se refiere a causalidad
dbil cuando pequeos cambios en los individuos producen grandes
cambios en la funcin de fitness, siendo esta una situacin no deseada
para un problema de optimizacin [101].
Los problemas de causalidad dbil se pueden deber, en muchos casos, a la
seleccin de una representacin incorrecta (mapeo espacio del problema espacio de bsqueda)

Neutralidad
Se define como neutralidad a grandes regiones del espacio de bsqueda
que no presentan ningn gradiente. Estas superficies planas no
proporcionan ningn tipo de informacin til al proceso de bsqueda
[102].
Cuando existe muchas neutralidad en un problema de optimizacin,
sucesivas operaciones de bsqueda no modifican los valores de aptitud
que se obtienen.
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

61

La neutralidad puede ser una caracterstica intrnseca del problema a


optimizar o una propiedad presente en el espacio de bsqueda debido a la
funcin de mapeo elegida.

Redundancia
Cuando no existe una relacin uno a uno (biyectiva) entre el espacio de
bsqueda y el espacio del problema, y un punto del espacio del problema
se relaciona con muchos del espacio de bsqueda se dice que hay
redundancia. Una solucin del problema tiene n valores posibles en el
espacio de bsqueda con los mismos valores de aptitud (fitness). Esta
situacin provoca la generacin de zonas de neutralidad artificiales,
producto de las caractersticas de la representacin del problema [103].
La redundancia es una forma de crear problemas que presentan
neutralidad generada en forma artificial, debido a la representacin
elegida (es decir, mapeo espacio del problema - espacio de bsqueda).
En algunos problemas, tanto la redundancia como la neutralidad pueden
ayudar al optimizador en su bsqueda de ptimos globales.

2.7 Paralelizacin
La paralelizacin tiene como objetivo reducir el tiempo de ejecucin de
los algoritmos y/o encontrar nuevas formas de resolucin de los
problemas. En el mbito de las Computacin Evolutiva, al igual que en
las Ciencias de Computacin en general se hace referencia a
paralelizacin en los siguientes dos casos:

cuando se utiliza ms de un procesador, o ncleo de procesador,


para resolver un problema, o cuando se ejecutan ms de una
instancia del algoritmo en forma simultnea.

para hacer referencia a diseos de algoritmos con poblaciones


distribuidas espacialmente, independientemente que el algoritmo
se implemente utilizando procesamiento en simultaneo.

En [104] existe un inventario detallado de las diferentes versiones


paralelas de las metaheursticas ms desarrolladas.
Las tcnicas de paralelizacin pueden distinguirse en las siguientes tres
categoras:
1. Paralelizacin independiente: Esta forma de paralizar implica
ejecutar tantas instancias del algoritmo como sean posibles segn
la capacidad de procesamiento disponible. Al finalizar, slo se
62

JAVIER LPEZ

considera el mejor de todos los resultados obtenidos. Dado la


naturaleza estocstica de las metaheursticas, este tcnica tienen
sentido para obtener un conjunto de soluciones mas amplio, o para
reducir el tiempo de procesamiento de los resultados en
investigaciones de laboratorio. Cualitativamente es similar a
realizar n ejecuciones del algoritmo en forma independiente. Esta
tcnica no tiene ninguna relevancia desde el punto de vista de la
investigacin.
2. Algoritmo estndar con distribucin del procesamiento: Esta
forma de paralelizacin implica realizar una implementacin
estndar del algoritmo en cuestin, y aquellas tareas que
demandan ms procesador realizarlas en forma descentralizada y
paralela. Normalmente, la evaluacin de las funciones objetivo
son las tareas que demandan mayor capacidad de procesamiento.
Existen implementaciones de algoritmos que cuando llegan a este
paso dentro del hilo de ejecucin, distribuyen en n procesadores la
evaluacin de la funcin de fitness, recogen los resultados y
continan con los siguientes pasos del algoritmo. Originalmente,
estas implementaciones fueron conocidas con el nombre de
Paralelizacin Global (global parallelization, farming, masterslave) donde un procesador central ejecuta las operaciones
principales del algoritmo y controla la ejecucin general, y delega
en n procesadores la ejecucin de operadores complejos o de la
evaluacin de la funcin de aptitud [105]. Estas implementaciones
son cualitativamente iguales a la implementacin secuencial del
algoritmo original, con la nica diferencia que se reduce el tiempo
de ejecucin medido en horas reloj. Los resultados son
exactamente los mismos que la versin original de la tcnica en
cuestin. Es importante distinguir la cuestin del modelo
distribuido con la implementacin distribuida. En este caso, es un
modelo secuencial con una implementacin paralela.
3. Algoritmos distribuidos: Esta forma de paralelizar implica la
definicin de un modelo distribuido, independientemente se
efecte una implementacin secuencial del mismo o paralela. Se
definen n poblaciones distribuidas espacialmente y una poblacin
formada por subpoblaciones y cada grupo de individuos
intercambia informacin con el resto de alguna forma predefinida.
Pueden destacarse dos metodologas ampliamente utilizadas
(a) Distribuido (Coarse Grain): En esta modalidad existen
diferentes
poblaciones
separadas
espacialmente.
Comienzan su ciclo de ejecucin en forma estndar, y entre
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

63

intervalos previamente definidos las diferentes poblaciones


intercambian informacin en forma de individuos aislados
u alguna otra forma pre acordada. Este intercambio de
individuos permite aumentar la diversidad en cada una de
las poblaciones, minimizando la probabilidad de quedar
atrapados en ptimos locales debido a convergencia
prematura del algoritmo. [105] [106]. Entre los parmetros
a definir en este tipo de implementaciones se encuentran:

La topologa de las poblaciones que permite


determinar cuales son las poblaciones que
intercambiarn individuos.

La poltica de migracin que permite identificar al


individuo que debe migrar.

El intervalo de migracin que indica la frecuencia


con la que se intercambian los individuos.

La tcnica de remplazo que especifica a quin


remplaza el individuo recibido por cada poblacin.

Es fcil realizar implementaciones paralelas de este modelo


distribuido, separando cada poblacin en nodos diferentes
de una red, o en procesadores diferentes de una mquina
multi-procesador.
(b) Celular (Fine Grain) : En esta modalidad existe un nuevo
concepto denominado vecindario. Se define de esta forma
al conjunto de individuos con los cuales puede interactuar
un individuo dado. Los vecindarios tienen cierto nivel de
solapamiento. En la figura 2.6 se muestran las topologas
de vecindarios ms habituales mostrados en una
disposicin de dos dimensiones. De esta forma, al limitar
las posibilidades de seleccin al alcance definido por el
vecindario, se hace ms lenta la difusin de los mejores
individuos globales, aumentando la capacidad de
exploracin del algoritmo, y reduciendo la convergencia a
ptimos locales. En esta forma de paralelizacin, la
bsqueda de mejores soluciones locales (exploracin)
ocurre dentro de los vecindarios definidos. Est demostrado
que en este tipo de algoritmos los vecindarios tienden a
formar nichos que actan como poblaciones separadas
(islas). En esta modalidad se deben definir topologas de

64

JAVIER LPEZ

poblacin y vecindarios, cada una de ellas mas adecuada


dependiendo del tipo de problema, en funcin de la
relacin exploracin / explotacin que ofrecen [107] [108]
[109] [110] [111] [112]. Implementar en forma paralela
este modelo es ms complejo que el anterior, y
normalmente se utilizan threads (hilos) de ejecucin
diferente por cada individuo [113].

Figura 2.6: Topologas de vecindarios en 2D utilizables en algoritmos distribuidos

Es importante destacar que esa forma de paralelizar genera resultados


cualitativamente dismiles de la versin secuencial del algoritmo y por lo
tanto de las dos formas precedentes.
Ntese que cualquiera de las dos modalidades de paralelizacin
anteriormente descritas tiene que ver con el diseo intrnseco del
algoritmo y no con la cantidad de los procesadores que se utilizan. Es ah
donde reside el mayor valor agregado de estas propuestas. Luego, en
ambos casos, dada la naturaleza de los mismos, se define hacer
implementaciones paralelas para reducir los tiempos de ejecucin [114].
El campo de paralelizacin es un campo muy frtil en metaheursticas
evolutivas. Para consultar el estado del arte en estos tpicos referir a [104]
[105] [111].

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

65

CAPTULO 3

Tipos de Optimizacin
Cuando se enfrenta a un problema de optimizacin primariamente debe
definirse cules son los criterios (funciones objetivo) a optimizar. Si se
quiere optimizar slo un criterio, se denomina optimizacin monoobjetivo. Un ejemplo podra ser el diseo de un nuevo automvil, y el
nico criterio a considerar es su eficiencia en el consumo de combustible.
En este ejemplo, la solucin ptima es el prototipo que presenta el menor
consumo de combustible por kilmetro.
Los problemas mono-objetivo estn ampliamente estudiados en la
literatura, y la gran mayora de las investigaciones cientficas relacionadas
con bsqueda y optimizacin versan sobre problemas con una nica
funcin objetivo.
En general, en problemas del mundo real, se optimizan varios criterios en
forma simultnea. Siguiendo con el ejemplo anterior, se podra querer
minimizar el consumo de combustible as como maximizar el uso de
componentes comunes con plataformas desarrolladas en el pasado. Se
puede ver que estos dos objetivos son contrarios, para lograr mejores
rendimientos en el consumo de combustible normalmente se requiere ms
innovacin, y viceversa. En este caso, el desafo del problema de
optimizacin pasa por encontrar el conjunto de soluciones que optimizan
ambos criterios a la vez, aquellos automviles que presentan la mayor
economa de combustible dados los diferentes porcentajes de utilizacin
de componentes comunes, o lo que es lo mismo, aquellos vehculos que
para cada nivel de uso de componentes de plataformas existentes sean los
ms eficientes a nivel consumo de combustible.
Cuando se optimiza ms de un objetivo a la vez se denomina
optimizacin multi-objetivo. En este tipo de problemas; a diferencia de la
optimizacin mono-objetivo donde la solucin es generalmente nica; la
solucin est compuesta por un conjunto de elementos ptimos, y
normalmente se requiere la intervencin de un Tomador de decisiones
(Decision Making) para que seleccione una de ellas de acuerdo a criterios
del negocio.

66

JAVIER LPEZ

3.1 Optimizacin Mono-Objetivo


En esta seccin se presentan los conceptos bsicos de optimizacin
mono-objetivo. Se realiza una definicin formal de la misma, y luego se
incluye una seccin dedicada a la forma de medir el rendimiento de los
algoritmos de optimizacin aplicados a problemas con un nico objetivo.

Introduccin
Optimizar significa encontrar los valores mximos (maximizacin) o
mnimos (minimizacin) de una funcin entre todas las soluciones
factibles del problema. En problemas con un solo objetivo, existe una
nica funcin a optimizar. Aquel individuo (solucin en el espacio del
problema) que se corresponde con el valor mximo / mnimo del
problema, es la solucin al problema de optimizacin. Formalmente,
Minimizarf(x)=y

(3.1)

gi(x)d0i=1,,q

(3.2)

hj(x)=0j=q+1,,m

(3.3)

sujeto a

donde x=[x1,x2,...xn] es el vector de variables de decisin, f:xRn R


es la funcin objetivo a minimizar,
hj:Rn R,i=1,,q,j=q+1,,m
, son las restricciones del problema, que definen las zonas factibles y
no factibles del espacio de bsqueda.
El algoritmo de bsqueda y optimizacin que se utilice para abordar el
problema deber tener la capacidad de encontrar estos puntos
extremos de la funcin, o al menos soluciones que se correspondan
con valores cercanos al ptimo.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

67

Evaluacin de Rendimiento
La evaluacin del rendimiento de los algoritmos de optimizacin posee un
rol central en las actividades de investigacin en este tpico. Existe una
rama en particular dentro del campo de estudio que se dedica a los temas
relacionados con evaluacin de desempeo. Entre ellos pueden
destacarse:

Investigaciones acerca de la evaluacin de resultados


Los trabajos en este mbito se relacionan tanto con las herramientas para
medir el desempeo de los algoritmos, as como con la forma de
presentar los resultados.
Al medir el desempeo de una tcnica metaheurstica en forma
comparativa con otra puede considerarse el costo de la solucin (solution
cost) o el tiempo de ejecucin (run-time) como indicadores de performance
de las tcnicas bajo anlisis.
El primero mide la calidad de la solucin o soluciones alcanzadas con
determinado esfuerzo de procesamiento, definida esta ltima de manera
justa [115]. En este campo, la unidad de medida para el procesamiento es la
cantidad de evaluaciones de funciones de aptitud (fitness). El segundo mide
el tiempo de procesamiento requerido para alcanzar soluciones con
determinada calidad definida a priori.
Es importante destacar en este punto la naturaleza probabilstica de los
algoritmos de este tipo, dado que normalmente se encuentra un
componente estocstico en cada uno de ellos. De esa forma, se tiene que
considerar a estas variables (costos de la solucin - tiempo de ejecucin)
como variables aleatorias. Por lo tanto, se debe utilizar la estadstica
descriptiva para visualizar, analizar y validar los resultados. La estadstica
ofrece las siguientes ventajas:
1. Un marco de trabajo sistemtico para la recoleccin y evaluacin e
informacin (diseo de experimentos) que maximiza la objetividad
y la replicabilidad de los experimentos
2. Un fuerte base matemtica (anlisis estadstico) que provee una
medicin de eventos probabilsticos sobre la base de inferencias
sobre la informacin emprica [116].
No obstante, en el campo de las metaheursticas se encuentra cierta
resistencia a la realizacin de experimentos bien diseados [117].
Pueden distinguirse dos modelos de medicin de rendimiento:

68

JAVIER LPEZ

1. Univariado: se considera slo una de las variables (costos de la


solucin - tiempo de ejecucin) como indicador de rendimiento
2. Multivariado: en este modelo, ambas variables son de inters para la
evaluacin de desempeo.
Para el primero de los modelos donde nos interesa slo una de las variables,
existen dos tipos de pruebas estadsticas inferenciales: paramtricas y no
paramtricas. La mayora de las pruebas paramtricas se basan en el
supuesto central que los datos estn distribuidos normalmente. Muchos
estudios existentes sobre la naturaleza de las distribuciones de los valores
de las variables, costo de solucin y tiempo de ejecucin, parecen indicar
que esta suposicin no se cumple en el anlisis de metaheursticas, en cuyo
caso, las distribuciones son desconocidas. Sin embargo, esto no descarta el
uso de estadsticas paramtricas. Es bien sabido que algunas pruebas como
las basadas en el ANOVA, son muy robustas a desviaciones de la
suposicin de normalidad, especialmente para grandes conjuntos de datos.
Otras tcnicas como la transformacin de datos puede ayudar a que los
mismos puedan cumplir con el supuesto de normalidad. Pruebas no
paramtricas, como las basadas en ranking [118] y en permutacin [115]
pueden prescindir de la hiptesis de normalidad [119] y entregar resultados
correctos.
Es una buena prctica en evaluacin de performance de algoritmos
probabilsticos basados en una nica variable, realizar primero un test de
normalidad de la variable elegida. Si la misma satisface el test para todos
los resultados, se puede utilizar una prueba paramtrica. Si los tests de
normalidad dan negativos para al menos alguno de los resultados, se debe
utilizar una prueba no paramtrica. Es importante destacar la robustez de
las pruebas no paramtricas, dado que si evaluamos los resultados de dos
variables aleatorias con distribucin normal, las conclusiones alcanzadas
con las pruebas no paramtricas siguen siendo vlidas, aunque podran ser
menos exactas.
Para el segundo de los modelos, donde existe ms de una variable para
medir la performance, el escenario de anlisis es ms complejo [120], dado
que en este escenario no existe un conjunto de resultados totalmente
ordenado (total order set). Como se hace mencin en [121] esto configura
un problema multi-objetivo, tema del que se hablar en extenso en la
siguiente seccin.
La gran mayora de los resultados en este tpico se evalan con la
utilizacin de modelos univariados. Estas investigaciones cientficas tienen
que incluir los siguientes elementos:

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

69

1. Una cantidad significativa de corridas de cada algoritmo con cada


problema, para generar una muestra de resultados a analizar.
Cuando mayor es el tamao de la muestra (cantidad de corridas del
algoritmo), ms representativa es la muestra de resultados
obtenidos.
2. Una medida de tendencia central, generalmente mediana o media
aritmtica, para resumir en un nico nmero el resultado de las
observaciones (diferentes corridas), en el caso de distribuciones
normales.
3. Una medida de dispersin (varianza, desvo medio, rango
intercuartil) para medir la desviacin entre los resultados y la
medida de tendencia central, en el caso de distribuciones normales.
4. Una prueba no paramtrica para aquellos casos de distribuciones
donde la hiptesis de normalidad no se cumple.
5. Un test de hiptesis para medir la significancia estadstica de los
resultados, normalmente utilizando un nivel de significatividad del
0,05.
6. Diagramas de caja (o similar) para mostrar grficamente el
desempeo de las muestras generadas, visualizando el rendimiento
comparado entre los diferentes algoritmos [122].

Generacin de funciones de prueba


Esta rama de la investigacin se dedica a la generacin de conjuntos de
funciones matemticas de pruebas (benchmark functions) con el objetivo
de evaluar la performance de los procedimientos de bsqueda en problemas
de naturaleza variada.
Un requerimiento esencial de las investigaciones en este campo es realizar
evaluaciones justas y sobre un conjunto de funciones de prueba diverso,
para medir el desempeo bajo diferentes condiciones.
Es una buena prctica utilizar un conjunto de funciones variadas. De esa
forma se evita que un algoritmo que sepa explotar alguna propiedad en
particular se destaque por sobre los dems.
A continuacin se detallan caractersticas deseables para un conjunto de
funciones de prueba, sean estas para problemas mono-objetivo o multiobjetivo

70

JAVIER LPEZ

1. Funciones unimodales
2. Funciones multimodales
3. Funciones con ptimos globales en la regin central
4. Funciones con ptimos locales en la regin central
5. Funciones con ptimos globales en los lmites del dominio
6. Funciones con ptimos locales en los lmites del dominio
7. Funciones rotadas
8. Funciones con el centro desplazada
9. Funciones con diferentes entornos para los puntos ptimos
10. Funciones no continuas
11. Funciones no diferenciables
Muchas de las funciones generalmente utilizadas tienen propiedades que
han sido aprovechadas por algoritmos para obtener excelentes resultados
[123] [124]. A continuacin se enumeran caractersticas de las funciones de
laboratorio que pueden ser explotadas fcilmente por algoritmos de
optimizacin, y por lo tanto deberan evitarse:
1. ptimos globales que tienen los mismos valores en las diferentes
dimensiones: existe un conjunto amplio de funciones de prueba que
son simtricas. Algoritmos que copian valores de una dimensin a
otra son capaces de encontrar estos ptimos fcilmente.
2. ptimo global en el origen: existen operadores especiales que
aprovechan esta propiedad comn de las funciones de prueba [125].
3. ptimos globales en el centro de los espacios de bsqueda: existen
operadores que promedian las distintas dimensiones de las variables
de decisin entre distintas soluciones. Si los algoritmos empiezan
con una distribucin uniforme y aleatoria de las soluciones, estos
operadores tienden a que la poblacin converja al centro del espacio
de bsqueda [126].
4. ptimo global en los lmites: es frecuente en muchos algoritmos,
sobre todo multi-objetivos, que cuando los valores de algunas de las
dimensiones se van de rango, se considera como valor para esa
dimensin el valor lmite [127]. De esa forma, si el ptimo se
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

71

encuentra en estas regiones, es fcil de encontrar. No obstante, si


cerca de estas regiones existen ptimos locales, es muy probable
que el algoritmo converja a estas soluciones sub-ptimas.
5. ptimos locales que se extienden a lo largo de los ejes de
coordenadas o ninguna vinculacin entre las variables o
dimensiones: la mayora de las funciones de referencia, funciones
con muchas dimensiones, siempre tienen una estructura de grilla
simtrica y los ptimos locales siempre estn a lo largo de los ejes
de coordenadas. Esta informacin podra ser utilizada para localizar
el ptimo global. Existen algoritmos que utilizan estas propiedades
para localizar el ptimo global rpidamente [125] [128] [129].
Se encuentran numerosos trabajos en la literatura con propuestas de
funciones de prueba lo suficientemente variadas para permitir realizar
evaluaciones de desempeo comparativa entre algoritmos. Dentro del
mbito de la optimizacin de funciones con dominios reales podemos
destacar los trabajos [130][131][132], que se corresponden a problemas de
optimizacin mono-objetivo con y sin restricciones. En el campo de la
optimizacin multi-objetivo, se destacan los trabajos [133] [134] [135].
Existen tambin funciones de prueba para problemas de un dominio
especfico como ser el problema del viajante de comercio, el problema de
la mochila, coloreo de grafos, SAT, etc. [136].
El objetivo final es siempre el mismo, generar un conjunto de prueba
suficientemente amplio que permita discernir a los investigadores cules
son los algoritmos que mejor se desempean.

3.2 Optimizacin Multi-Objetivo


Introduccin
Los problemas de decisin en la vida real involucran, la mayora de las
veces, mltiples criterios de evaluacin. Generalmente, estos criterios estn
en conflicto. Por ejemplo, con el presupuesto acotado de gastos de
supermercado, se intenta comprar los productos necesarios de mayor
calidad al menor precio posible. Cuando se decide el lugar para vacacionar,
seguramente se consideran cuestiones de distancia al lugar, costos de las
diferentes alternativas, opciones de entretenimiento para los diferentes
integrantes del grupo, extensin del perodo de vacaciones, etc. Estos dos
ejemplos del mundo real permiten entender la naturaleza bsica de la
optimizacin multi-objetivo. Se trata de la bsqueda de opciones

72

JAVIER LPEZ

considerando la optimizacin de varios objetivos en simultneo y


normalmente contrapuestos.
Un problema multi-objetivo difiere de un problema mono-objetivo, dado
que los primeros requieren la optimizacin simultnea de ms de una
funcin objetivo en paralelo.
La nocin de ptimo tiene que ser redefinida en este contexto, donde en
lugar de buscar una nica solucin mejor, se intenta producir un conjunto
de buenas soluciones de compromiso. El desafo principal de los algoritmos
de optimizacin multi-objetivo es encontrar este conjunto de soluciones
para ofrecer al tomador de decisiones (Decision Maker - DM) las mejores
alternativas entre las disponibles, para que este ltimo seleccione una de
ellas [137].

Teora de la Decisin Multi-criterio


(MCDM - Multi Criteria Decision Making)
Esta disciplina brinda soporte a los tomadores de decisiones cuando se
enfrentan a problemas complejos, que requieren de numerosas y
generalmente conflictivas evaluaciones. El objetivo perseguido es eliminar
la subjetividad en el proceso de decisiones, generando procedimientos de
evaluacin de alternativas profesionales. La Teora de la Decisin Multicriterio es una rama de la Investigacin Operativa que en forma explcita
considera criterios mltiples en el proceso de toma de decisiones. Es muy
habitual en cualquier proceso decisorio que se deban considerar criterios
contrapuestos. Analizar problemas complejos desde esta perspectiva
colabora a la compresin de la situacin y permite entender los criterios de
fondo que fundamentan la decisin. Si tenemos mas de un criterio que
forma parte del proceso de evaluacin de soluciones posibles,
necesariamente tiene que haber mas de una solucin viable. En este
escenario, para obtener la mejor solucin al problema implica que debemos
obtener las preferencias de tomador de decisiones en funcin de los
mltiples criterios. La forma de articular el rol del Tomador de Decisiones
y la consideracin de su escala de preferencias es un tpico central en este
campo de estudio.
La primera referencia MCDM se asocia a Benjamin Franklin, quien ante un
asunto muy importante le escribi una carta a un amigo, Joseph Priestly,
donde detall de una lado los argumentos a favor y del otro los argumentos
en contra, y luego vincul los de mayor importancia de cada lado, en un
proceso de ponderacin [138].
Es de destacar el trabajo del Marques de Condorcet, quien fue el primero en
aplicar procesos matemticos a las ciencias sociales, en particular a los
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

73

procesos eleccionarios [139]. Este trabajo describe la conocida Paradoja de


Condorcet, que demuestra que las preferencias colectivas son cclicas (no
transitivas) aunque las preferencias individuales no lo sean.
El desarrollo de la teora de conjuntos por parte del matemtico alemn
nacido en Rusia Georg Cantor tuvo un impacto directo en los
fundamentos matemticos que rigen la optimizacin multi-objetivo.
Por ltimo, son de destacar los trabajos en este campo del matemtico
Wilfredo Pareto, quien fue el primero que estudi la agregacin en un
ndice compuesto de objetivos en conflicto [140]. Este autor fue el
primero en introducir el concepto de eficiencia, conocido como
optimalidad de Pareto, definicin central en MCDM. Dada una
asignacin inicial de bienes entre un conjunto de individuos, una
asignacin de recursos Pareto-ptima implica que no es posible beneficiar
ms a una persona sin perjudicar a otra.
Dentro de esta rama de investigacin, los mtodos se dividen en:
Multiple-criteria evaluation problems:
sta rama agrupa aquellos mtodos que apuntan a seleccionar la mejor
decisin entre un grupo de soluciones posibles, ya conocidas a priori. En
este caso, slo se evalan comparativamente las soluciones, pero las
mismas son conocidas al principio del proceso.
Multiple-criteria design problems (multiple objective mathematical
programming problems):
ste campo de estudio se centra en aquellos mtodos que apuntan a
encontrar las soluciones posibles al problema, lo que implica una
optimizacin de un modelo matemtico. Claramente, las tcnicas
metaheuristicas se encuentran dentro de este campo de estudio.

Espacio Objetivo
Las dimensiones del espacio objetivo se corresponden con la cantidad de
funciones a optimizar. En problemas mono-objetivo este espacio es
unidimensional, dado que cada vector de decisin slo se corresponde
con un nmero escalar. En problemas multi-objetivo, este espacio es
multi-dimensional, donde cada dimensin se corresponde con cada
funcin objetivo a optimizar.
Es importante la distincin entre el espacio de decisiones o espacio de
bsqueda y el espacio objetivo. El primero corresponde al dominio de la
funcin o funciones a optimizar, y generalmente es multidimensional. El

74

JAVIER LPEZ

segundo corresponde al co-dominio de la funcin o de las funciones. El


espacio objetivo tiene tantas dimensiones como funciones se optimizan
en forma simultnea (figura 3.1).

Figura 3.1: Espacio de bsqueda y espacio objetivo. Maximizacin de funciones

Dominancia de Pareto
En un problema de optimizacin debe tenerse una medida que permita
identificar que tan buenas son las soluciones halladas. En un problema
mono-objetivo, la medida en cuestin es el resultado devuelto por la
funcin a optimizar para cada punto solucin del espacio de bsqueda
(variables de decisin). Dado que esta funcin devuelve un valor
escalar, es posible definir un conjunto totalmente ordenado (total
order set) de soluciones. Dadas dos soluciones cualesquiera a y b se
puede concluir que:
1. a es mejor que b,
2. b es mejor que a,
3. a y b son igual de buenas.
En un problema multi-objetivo no se tiene una nica funcin a
optimizar, sino ms bien un conjunto de n funciones. De esta forma,
para cada solucin posible del espacio de bsqueda se obtiene un
vector de variables n-dimensional. En estos casos, para evaluar la
bondad de las soluciones se utiliza el criterio de dominancia de Pareto.
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

75

Este criterio se le debe al matemtico italiano Vilfredo Pareto, y


permite identificar el conjunto de soluciones pareto-ptimas. Una
solucin a pertenece a este conjunto si no puede encontrarse una
solucin b tal que mejore uno de los objetivos sin empeorar al menos
uno de los otros (figura 3.2).
Formalmente,

Minimizarf(x):=[f1(x),f2(x),....fn(x)]

(3.4)

gi(x)d0i=1,,q

(3.5)

hj(x)=0j=q+1,,m

(3.6)

sujeto a

donde x=[x1,x2,...xn] es el vector de variables de decisin,


f:[f1(x),f2(x),....fn(x)]:Rn R son las funciones objetivo a minimizar, gi,
hj:Rn R,i=1,,q,j=q+1,,m, son las funciones que representan las
restricciones del problema y que definen las zonas factibles y no
factibles del espacio de bsqueda.

Figura 3.2: Frente de Pareto y Dominancia. Minimizacin


de las funciones f1 y f2

76

JAVIER LPEZ

Es importante notar que el concepto de dominancia de Pareto define un


conjunto parcialmente ordenado (parcial order set) de soluciones. Dadas
dos soluciones cualesquiera a y b se puede concluir que:
1. a es mejor que b,
2. b es mejor que a,
3. a y b son igual de buenas,
4. a y b son incomparables.
Esta condicin del conjunto de soluciones tiene implicancias importantes
en los procesos de bsqueda, y obviamente explica porqu el resultado de
una optimizacin multi-criterio est formado por un conjunto de
soluciones ptimas.
Est demostrado que el conjunto de soluciones ptimas puede crecer
exponencialmente con el crecimiento de las dimensiones del espacio
objetivo [141] [142]. Este efecto es de suma importancia y no puede ser
ignorado cuando se trabaja con problemas con muchas funciones
objetivos (ms de 10, por ejemplo). As, muchos algoritmos de bsqueda
que logran excelentes resultados sobre problemas con 2 o 3 funciones
objetivo, tiene un desempeo peor que un camino aleatorio (random
walk) cuando la cantidad de funciones objetivo se incrementa por encima
de 10.

Conjunto de Pareto
Se denomina conjunto de Pareto al conjunto de puntos en el espacio de
bsqueda que se corresponden con las mejores soluciones al problema de
optimizacin. Este conjunto de puntos puede tener una cantidad de
miembros muy alta, creciendo la misma en forma exponencial a medida
que aumenta la cantidad de funciones objetivos involucradas. Cada punto
del conjunto de Pareto se corresponde con un punto de frente de Pareto en
el espacio objetivo (figura 3.1).

Frente de Pareto
Se denomina frente de Pareto al conjunto de soluciones ptimas en el
espacio objetivo.
Este conjunto de soluciones se integra con aquellos puntos encontrados
en el espacio objetivo que se corresponden con las soluciones no
dominadas, de acuerdo al criterio de dominancia de Pareto (figura 3.1).
Este conjunto de soluciones representan las mejores soluciones de
compromiso considerando todos los objetivos en juego. Naturalmente,
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

77

cuando se la grfica en el espacio objetivo forma un frente, de ah su


nombre caracterstico.
Este frente puede ser lineal, cncavo, convexo, continuo, discontinuo,
etc., dependiendo de las funciones objetivo integrantes del problema.
Todas las soluciones pertenecientes al frente de Pareto son igualmente
buenas, y no se puede especificar si alguna de las soluciones es preferible
a las otras, excepto en aquellos casos en que el DM haya definido una
preferencia a priori. El desafo de los algoritmos de optimizacin multiobjetivo se encuentra en encontrar el frente de Pareto real del problema en
ciernes, o lograr la mejor aproximacin del mismo sujeta a las
limitaciones de recursos (tiempo y memoria) existentes.

Tomador de Decisiones (DM - Decision Making)


El rol del tomador de decisiones adquiere relevancia en un problema con
ms de un objetivo. Los problemas multi-objetivos se caracterizan por
tener muchas soluciones posibles, todas ellas igualmente vlidas. Cuando
mayor es la cantidad de objetivos, mayor es la cantidad de soluciones.
Normalmente, el proceso de negocio requiere que se seleccione solo uno
de estos posibles cursos de accin.
De esta forma, existen muchos trabajos efectuados para vincular la DM
con el proceso de bsqueda de soluciones ptimas, y el momento en el
tiempo donde interviene el tomador de decisiones.
Con preferencias definidas a priori en forma de una funcin de utilidad,
es posible convertir el problema multi-objetivo a uno del tipo monoobjetivo, y de esta forma brindar una nica solucin al DM. Este tipo de
intervencin del Tomador de Decisiones en el proceso de bsqueda es el
menos interesante en las lneas de investigacin actuales, dado que la
principal ventaja que tiene, que es la simplificacin del problema
reduciendo los objetivos a optimizar a uno, es a su vez la principal
desventaja, dado que trae aparejado una prdida significativa relacionada
con la compresin del problema de optimizacin. Este tipo de tcnicas
permite automatizar el proceso de decisin en forma completa, lo que a
veces es un requerimiento del problema abordado, vinculado con
procesos que requieren encontrar soluciones en cortos periodos de
tiempo, y una respuesta en tiempo real (real-time). Naturalmente, ste fue
el primer abordaje realizado a los problemas multi-objetivo. Como en
otras cuestiones de la vida, seleccionar una opcin con preferencias
definidas a priori, sin profundizar el anlisis en otras alternativas
disponibles, no asegura en ningn caso una comprensin profunda del
problema ni de la solucin adoptada [143] [144].

78

JAVIER LPEZ

El mecanismo ms complejo de interaccin entre los procesos de


bsqueda y el Tomador de Decisiones pasa por el diseo de un proceso
de bsqueda y optimizacin que considere la participacin del DM a
medida que el mismo se ejecuta. Este tipo de tcnicas definen un proceso
de bsqueda muy rico, dado que a la vez que el algoritmo de
optimizacin le brinda informacin al DM acerca del problema
enfrentado, ste ltimo colabora a direccionar el proceso de bsqueda a
aquellas regiones del espacio del problema donde considera que se
encuentran estas soluciones que minimizan (o maximizan) los diferentes
objetivos perseguidos. Como contrapartida, este tipo de procesos
requieren ms tiempo de ejecucin, y el avance sobre el proceso de
bsqueda esta determinado adems por el grado de participacin del DM.
Existen diferentes tcnicas exploradas en este tpico, con muy buenos
resultados reportados. Este escenario, a diferencia del anterior necesita
mayor tiempo de procesamiento, ms tiempo del DM, y por lo tanto, ms
tiempo de reloj para encontrar y seleccionar la respuesta [145] [146]
[147].
El tercer escenario posible consiste en encontrar todas las soluciones
posibles, o un subconjunto de ellas, y ofrecer esta coleccin de soluciones
al DM. Este proceso puede ser tan simple como la visualizacin simple
del Frente de Pareto encontrado, o una visualizacin asistida con
herramientas de apoyo que brinden informacin de contexto, aunque en
ambos casos el concepto que rige la decisin se mantiene. Este tipo de
procesos de toma de decisin implican que los algoritmos utilizados para
la optimizacin sean capaces de encontrar frentes de Pareto de alta
calidad, y estn preparados para lidiar con n-soluciones en paralelo. Es
importante destacar que este ltimo enfoque, que implica la participacin
del Tomador de Decisiones al final del proceso, aumenta la incidencia del
algoritmo utilizado en el proceso de bsqueda, dado que la calidad de la
solucin final elegida es directamente proporcional a la calidad del frente
de Pareto ofrecido por el algoritmo [146] [148] [149].

Clculo de Aptitud (Fitness)


La calidad de las soluciones, en un problema de optimizacin, es una
caracterstica de relevancia. El concepto de calidad en este campo de
investigacin es sinnimo al concepto de aptitud, que no es otra cosa que
el valor devuelto por la o las funciones objetivo a optimizar para cada
punto del espacio de bsqueda. As como el espacio de bsqueda se
corresponde con el dominio de las funciones, el espacio de soluciones se
corresponde con el co-dominio.
Este valor de aptitud (fitness), trmino heredado de los algoritmos
genticos, es una medida objetiva que permite identificar entre las
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

79

mejores y peores soluciones. En el campo de algoritmos evolutivos, el rol


de las mejores soluciones encontradas (lderes) es central, dado que las
mismas guan el proceso de bsqueda a aquellas regiones del espacio que
lucen ms prometedoras. Estas soluciones de alta calidad normalmente
tienen asociada una mayor probabilidad de existencia en generaciones
posteriores, y actan como puntos de atraccin (atractores) donde
terminan convergiendo los algoritmos estocsticos de bsqueda.
En optimizacin mono-objetivo, la funcin de aptitud devuelve un valor
escalar para cada punto posible del espacio de bsqueda. Esto define un
conjunto totalmente ordenado, y permite realizar una seleccin de lderes
libre de ambigedades, definiendo generalmente el grado de participacin
de los individuos en la construccin de nuevas soluciones en forma
directamente proporcional a su valor de aptitud relativo.
En optimizacin multi-objetivo ya no se tiene un nico valor asociado a
cada individuo, si no mas bien un vector de nmeros escalares con una
dimensin igual a la cantidad de objetivos a optimizar. Esto define un
conjunto parcialmente ordenado, lo que implica que en una comparacin
entre dos soluciones se de el caso que no se pueda identificar cul
solucin es mejor que cul. Estas soluciones, que no son otra cosa que el
conjunto de soluciones ptimas de acuerdo al criterio de optimalidad de
Pareto, actan como lderes influyendo en el proceso de exploracin del
espacio de bsqueda.
Pese a estas limitaciones enunciadas al momento de identificar la calidad
relativa de las soluciones en un problema con ms de un objetivo, se han
propuesto alternativas originales y efectivas para definir una medida de
calidad relativa en la comparacin de soluciones no dominadas
(incomparables de acuerdo a Pareto). Estas alternativas se basan en una o
ms de las siguientes propiedades [137] [150]:
1. Cantidad de soluciones dominadas: Este criterio implica que ante
dos soluciones cualesquiera (dominadas o no dominadas) se le
asigna una calidad superior a aquellas soluciones que dominan una
cantidad mayor de individuos en la poblacin. Siempre una
solucin no dominada es mejor que una dominada.
2. Cantidad de soluciones que la dominan: Este criterio implica que
ante dos soluciones cualesquiera (dominadas o no dominadas) se
le asigna una calidad superior a aquellas soluciones que estn
dominadas por una cantidad menor de individuos en la poblacin.
Siempre una solucin no dominada es mejor que una dominada.
3. Nmero de frente de Pareto: Este criterio asigna un valor relativo
de aptitud de acuerdo al nivel del frente de Pareto donde se

80

JAVIER LPEZ

encuentra la solucin. De esta forma, las soluciones no dominadas


estn en el frente 0, y por lo tanto de mayor valor relativo. Luego,
se retiran las soluciones del frente 0, y se calcula el nuevo
conjunto de soluciones no dominadas. Estas soluciones se
encuentran en el frente 1. Luego, se retiran stas del conjunto y se
calculan las soluciones que pertenecen al frente 2. Se contina con
este proceso hasta clasificar todo el conjunto de soluciones.
4. Indicador escalar: Entre dos soluciones no dominadas, se prefiere
aquella que presenta el valor ms alto (bajo) para un indicador
dado. Este indicador se puede calcular utilizando diferentes
criterios, pero en todos los casos devuelve un valor escalar
asociado a cada solucin. El mismo se puede basar, por ejemplo,
en el grado de aislamiento de un individuo. En este caso se asigna
un mejor valor a aquellos puntos donde las soluciones prximas
(vecinos) se encuentran a una distancia eucldea mayor, calculada
con algn procedimiento dado. Este criterio de evaluacin relativa
intenta otorgar mayor valor de aptitud a soluciones en regiones
menos exploradas del espacio de bsqueda, y de esa forma
incrementar la diversidad de las soluciones encontradas. Otro
ejemplo es el clculo de un indicador que mide el aporte de cada
solucin a la superficie o volumen final del Frente de Pareto
alcanzado. En este tipo de indicadores, siempre se considera en
forma directa o indirecta la optimalidad de Pareto asociada con
cada solucin.

Medidas de Desempeo
Una rama central de este campo de estudio se centra en la propuesta y
evaluacin de indicadores que permitan medir el rendimiento de nuevos
algoritmos de bsqueda, o de nuevas variantes de algoritmos existentes.
En la investigacin cientfica se tiene que medir de una forma objetiva,
justa y pareja el resultado devuelto por los algoritmos que se proponen.
Un algoritmo multi-objetivo tiene como propsito devolver un frente de
Pareto de calidad. Hay tres caractersticas centrales que definen la calidad
de un frente de Pareto [151] [152]
1. Cercana: Un frente de Pareto es de mayor calidad cuanto ms
cerca se encuentre del frente de Pareto real del problema. Se
definieron indicadores que calculan esta cercana de una forma
generalmente aceptada. Obviamente, para computar estos
indicadores es necesario conocer el frente de Pareto real del
problema

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

81

2. Distribucin: Un frente de Pareto cuyos miembros estn


uniformemente distribuidos a lo largo del mismo es de mejor
calidad que otro cuya distribucin de soluciones es irregular,
presentando regiones del frente superpobladas de soluciones, y
otras regiones con pocas soluciones o ninguna. Existen
indicadores que calculan un valor escalar que representa la
uniformidad en la distribucin de soluciones a lo largo del frente
de Pareto.
3. Cobertura: Este criterio indica que un frente de Pareto es mejor
que otro si el grado de cobertura que presenta respecto del frente
de Pareto real, es mayor. Utilizando indicadores que miden el
nivel de cobertura se intenta que el rango de soluciones
encontradas sea completo, y no queden regiones del espacio de
bsqueda sin evaluar.
Todos los indicadores de medidas de performance miden, en forma
directa o indirecta, los criterios enunciados.
Si bien, desde el punto de vista conceptual, las nociones anteriormente
detalladas son claras, la construccin de indicadores que reflejen que un
conjunto de soluciones es mejor que otro conjunto de soluciones es una
materia compleja.
La necesidad de comparar diferentes salidas obtenidas por dos algoritmos
a llevado a la construccin de indicadores unarios que reflejen una
medida de calidad de los frentes de Pareto obtenidos por cada tcnica. A
menudo, se calculan varios indicadores unarios al momento de comparar,
para llegar a conclusiones del tipo:

La aproximacin S al frente de Pareto es mejor que la


aproximacin T.

Si bien estos indicadores intentan reflejar las caractersticas deseables de


los frentes de Pareto, en ningn caso podemos afirmar que mejores
valores de indicadores de rendimiento para la aproximacin S respecto de
T significa que el conjunto de soluciones S domina al conjunto de
soluciones T.
Muchas investigaciones en el rea asumen en forma incorrecta que esta
propiedad es satisfecha por parte de los indicadores de calidad utilizados.
En [152], Zitzler y otros investigaron los indicadores de calidad y
probaron las limitaciones tericas de los mismos. Entre las observaciones
ms interesantes podemos destacar:

82

JAVIER LPEZ

1. No existe un indicador unario de calidad que sea capaz de afirmar


cuando una aproximacin S al frente de Pareto es mejor que una
aproximacin T al frente de Pareto
2. La definicin anterior se mantiene aun considerando una cantidad
finita de indicadores
3. Para la mayora de los indicadores de calidad que indican que S es
mejor que T, en el mejor de los casos slo pueden indicar que S no
es peor que T, o que ambas son incomparables.
4. Existen indicadores de calidad que podran se capaces de
distinguir que S es mejor que T, pero su uso est restringido a
casos muy particulares.
5. Existen medidas de calidad binarias que resuelven los problemas
mencionados, si estn diseadas de forma correcta.
No obstante lo anteriormente expuesto, las medidas de calidad unarias
tienen una alta utilidad como indicadores relativos para evaluacin de
perfomance, aunque se debe tener en consideracin lo mencionado.
Como una paradoja curiosa se destaca que evaluar la performance de un
algoritmo de optimizacin multi-objetivo es, a su vez, un problema multiobjetivo, dado que no existe un nico indicador que pueda agrupar todas
las caractersticas deseables de un frente de Pareto.

Archivo de Soluciones ptimas


Existe un denominador comn en la mayora de las tcnicas de
optimizacin multi-objetivo referido al modo de almacenar las soluciones
no dominadas que van siendo encontradas. Estas soluciones no
dominadas son aquellas que guan el proceso de bsqueda, y que
formarn parte del frente de Pareto ofrecido como solucin. Estas
soluciones se van detectando gradualmente a medida que avanzan las
iteraciones del algoritmo, y se almacenan en un archivo externo de
soluciones no dominadas. Normalmente, las diferentes tcnicas de
optimizacin buscan una solucin o ms de una de este conjunto para
generar los nuevos individuos de las generaciones futuras [153] [154].
Por limitaciones vinculadas con la memoria y/o capacidad de
procesamiento, normalmente se limita este archivo externo a una cantidad
de soluciones fija, y se utilizan diferentes procedimientos para seleccionar
qu soluciones considerar y cules descartar cuando la cantidad de
soluciones no dominadas supera el lmite pre-establecido [150].

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

83

Procedimientos de Seleccin de No Dominadas


Como se describe en el prrafo anterior, la mecnica general en las
metaheursticas multi-objetivo consiste en ir generando en forma
incremental un archivo de soluciones no dominadas. Este archivo tiene
dos roles principales:
1. Solucin al problema: contiene el conjunto de Pareto propuesto
por el algoritmo. En el mismo se mantienen aquellas soluciones
que de acuerdo a criterios de dominancia no son superadas por
otras soluciones. Normalmente se establece que el mismo est
acotado a una cantidad fija de soluciones.
2. Gua de bsqueda: los individuos o soluciones que pertenecen a
este conjunto actan como gua primaria de bsqueda durante la
ejecucin del algoritmo. En general, se selecciona uno o ms
individuos de este conjunto, algunos individuos de la poblacin, y
con intervencin de variables aleatorias se generan nuevas
soluciones en base a estos tres componentes principales.
En el contexto de estas dos funciones se hace necesario definir criterios
de seleccin de individuos. En el primer caso, el problema de seleccionar
soluciones es necesario al momento de elegir qu soluciones descartar
cuando el archivo de soluciones no dominadas llega a contener la mxima
cantidad permitida. En el segundo caso el problema se presenta al
momento de elegir que individuos se utilizarn para generar la siguiente
generacin de puntos en el espacio de bsqueda. En ambos casos, se
considera privilegiar aquellos individuos que se encuentren en zonas
menos pobladas del espacio. De esa forma, se consigue una cobertura
ms amplia del frente de Pareto, caracterstica deseable del conjunto de
soluciones [150][155][156].
Normalmente se utilizan procedimientos que calculan factores de nicho
(Niching Methods), aunque los mismos estn asociados con una alta
complejidad de clculo [137]. En [157] se utiliza un procedimiento que
genera una cuadrcula en forma de grilla, y posiciona a cada solucin en
una de ellas. Se mantiene un mapa que indica cuntas soluciones hay en
cada grilla, priorizando aquellas soluciones que se encuentran ms
aisladas. De esta manera, la necesidad de procesamiento se disminuye
considerablemente.
En cualquier caso, el objetivo perseguido es encontrar soluciones no
dominadas en aquellas regiones del frente de Pareto menos pobladas, y de
esa forma aumentar la uniformidad en la cobertura del frente de Pareto
del problema.

84

JAVIER LPEZ

Propuestas Destacadas en Optimizacin Multi-objetivo


En esta seccin se destacan algunos algoritmos histricos referentes en
este campo de estudio. Estas propuestas fueron marcando los senderos de
investigacin hasta llegar a los algoritmos actuales representativos del
estado del arte.
Este compendio resumido nos sirve tambin como gua para entender el
abordaje dado desde la perspectiva algortmica.

Funciones Agregadas
El primer enfoque, y ms natural por cierto, es utilizar tcnicas monoobjetivo para resolver problemas multi-objetivo. Para poder reutilizar las
tcnicas existentes, lo que se hace es transformar el conjunto de funciones
objetivos en una nica funcin escalar. Para cada funcin objetivo se
define un factor de ponderacin, representado el mismo la importancia
relativa de ese objetivo respecto del resto. Un ejemplo ms simple de esta
tcnica es la transformacin del vector de funciones objetivo a una
funcin nica siendo sta la suma ponderada de las funciones objetivo
cada una multiplicada por el factor de ponderacin. A los efectos de
normalizacin, se asume que la suma de los factores de ponderacin es
igual a 1.
Es importante notar que la superficie (landscape) del espacio de bsqueda
cambia utilizando diferentes conjuntos de valores de ponderacin, con lo
que usualmente se abordan estos problemas optimizando la funcin
utilizando diferentes conjuntos de ponderadores.
Este enfoque tiene como principal ventaja la reutilizacin de las tcnicas
mono-objetivo existentes, y funciona bien con pocas funciones objetivo y
espacios de bsqueda convexos. Como principales desventajas se
encuentran la dificultad de encontrar un conjunto de valores de los
ponderadores que escale bien cuando se conoce poco del problema, y la
incapacidad para generar miembros del frente de Pareto real cuando el
espacio de bsqueda es cncavo [158].

Algoritmo VEGA
Schaffer [159] propuso un algoritmo gentico cuya estructura bsica es la
misma que un algoritmo gentico tradicional, y slo modific la forma en
que se realiza la seleccin. En cada generacin, se generan tantas subpoblaciones como funciones objetivo existen. Luego, se realiza una
seleccin proporcional considerando slo el valor de la funcin objetivo
que le corresponde a cada sub-poblacin. Se aplican los operadores
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

85

tradicionales de mutacin y reproduccin, y se genera una nueva


generacin del mismo tamao que la original.
Las soluciones generadas por este algoritmo son localmente no
dominadas, pero no necesariamente globalmente no dominadas.
La principal ventaja es su facilidad de implementacin, dado que se trata
de una modificacin trivial sobre un algoritmo gentico cannico. La
principal desventaja est relacionada con el efecto de especiacin, es
decir la generacin de especies con muy buenos valores para una sola
funcin objetivo. Esto implica que es muy alta la probabilidad de perder
individuos con buenas soluciones de compromiso, que presenten buenos
valores de aptitud en todas las funciones, pero que no se correspondan a
los mejores valores para ninguna. Estos individuos, aun siendo buenas
soluciones globales, se pierden por la naturaleza misma del mecanismo
de seleccin [159].

Algoritmo MOGA
Esta propuesta de Fonseca y Fleming es tambin un algoritmo gentico
(Multi Objective Genetic Algorithm) [160] donde se elabora un ranking
de los individuos de acuerdo a su grado de dominancia de acuerdo a la
propuesta de Goldberg [31].
Utiliza tambin mecanismo de sharing y un mtodo de formacin de
nichos para distribuir los individuos a lo largo del frente de Pareto [161].
Es una tcnica de rpida implementacin, y generalmente logra buenos
resultados. La efectividad del mtodo es dependiente del factor de
sharing que se utiliza.

Algoritmo NSGA
Esta tcnica se corresponde con una implementacin de un algoritmo
gentico que clasifica a los individuos en diferentes niveles de acuerdo al
ranking de Pareto [162]. Todos los individuos no dominados se agrupan
en una categora y se les asigna un valor de fitness alto. Luego, se aplican
tcnicas de sharing para mantener la diversidad de la poblacin. A
continuacin, se retira este grupo de la poblacin, y se selecciona el
nuevo conjunto de individuos no dominados. Estos obtienen un fitness
menor que los del grupo inicial. Este proceso continua en forma iterativa
hasta que todos los individuos reciben un valor de fitness calculados con
esta tcnica.

86

JAVIER LPEZ

Dado que los individuos de los primeros frentes reciben un valor mayor
de fitness, el algoritmo tiende a realizar bsquedas en las zonas no
dominadas.

Algoritmo NSGAII
NSGA II es una versin mejorada de NSGA que apunta a mejorar las
crticas realizadas a este ltimo. Las crticas ms fuertes recibidas por el
algoritmo NSGA estaban relacionadas con los siguientes aspectos: [154].
1. La ordenacin y clasificacin de individuos utilizada presenta una
complejidad computacional alta.
2. No utiliza elitismo. En [163] y [164] se ha mostrado que el uso de
elitismo mejora la capacidad de convergencia del algoritmo al
frente de Pareto del problema.
3. Es necesario especificar el parmetro de sharing.
Particularmente, NSGAII se caracteriza por reducir la complejidad del
mtodo de clasificacin, aumentando la necesidad de memoria.
Asimismo, se le agreg un mecanismo de elitismo y se cambi el
procedimiento de sharing por uno que compara que tan pobladas estn las
reas prximas a cada solucin (crowded operator). En este algoritmo, la
poblacin descendiente Q (tamao N) es creada en primera instancia
usando la poblacin de padres P (tamao N). Despus de esto, las dos
poblaciones son combinadas para formar R de tamao 2N. Despus de lo
anterior, mediante un ordenamiento no dominado se clasifica la poblacin
R en diferentes frentes de Pareto de acuerdo a su nivel de dominancia.
Una vez el proceso de ordenamiento no dominado ha finalizado, la nueva
poblacin es generada. Esta nueva poblacin empieza a ser construida
con el mejor frente no dominado (F1), contina con las soluciones del
segundo frente (F2), tercero (F3) y as sucesivamente. Como la poblacin
R es de tamao 2N, y solamente existen N individuos que conforman la
poblacin descendiente, no todos la individuos de los frentes
pertenecientes a la poblacin R podrn ser acomodados en la nueva
poblacin. Aquellos individuos que no pueden ser acomodados se
rechazan (figura 3.3).
Con estos cambios el algoritmo mejor el desempeo en todos los
problemas de pruebas evaluados.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

87

Es de destacar que esta propuesta se considera, an al da de hoy, como


una de las tcnicas metaheursticas de lnea base que se utilizan para
medir el rendimiento comparativo de las nuevas propuestas.
Se ha utilizado tanto en su versin original como en variantes de la misma
para resolver problemas del mundo real con muy buenos resultados [165].

Figura 3.3: Proceso de ordenacin de soluciones en NSGA II

Algoritmo PAES
Otra estrategia evolutiva es la tcnica conocida como PAES (Pareto
Archived Evolution Strategy)[157] tambin conocido como (1 + 1)PAES.
Este algoritmo utiliza slo un individuo como agente de bsqueda, y al
igual que la mayora de las propuestas multi-objetivo, mantiene un
conjunto de soluciones externas. Este archivo de soluciones est fundado
en una administracin basada en grillas. Trabaja dividiendo el espacio
objetivo ocupado por los individuos del archivo de soluciones en una
cantidad constante de reas rectangulares, llamadas regiones grillas o
cuadrcula de regiones (grid regions). El algoritmo intenta encontrar el
conjunto de soluciones no dominadas que minimiza el nmero de

88

JAVIER LPEZ

individuos en cada regin. De esta forma, se asegura una distribucin


uniforme a lo largo de toda la extensin del frente de Pareto.

Algoritmo SPEA
Strength Pareto Evolutionary Algorithm es uno de los MOEAs ms
conocidos. El mismo utiliza dos conjunto de soluciones [166], la
poblacin principal donde los operadores evolutivos son aplicados, y
un archivo externo con una cantidad variable de soluciones no
dominadas. En cada iteracin del algoritmo, las mejores soluciones de
la poblacin principal se almacenan en el archivo de soluciones
externas utilizando una tcnica de clustering. Luego, se efecta un
torneo binario entre ambos conjuntos como operador de seleccin. Los
individuos que pertenecen a la poblacin externa se les calculan un
factor de dominancia similar al algoritmo MOGA. El valor de aptitud
de cada individuo en la poblacin principal se calcula considerando el
ranking de los individuos de la poblacin externa que este individuo
domina [167].

Algoritmo SPEA2
En el ao 2001 se propuso una versin revisada del algoritmo SPEA por
parte de los autores originales [155]. Esta versin tiene tres diferencias
principales con la versin original:
1. Incorpora una asignacin de aptitud ms elaborada, considerando
tanto los individuos dominados por la solucin, como los
individuos que la dominan.
2. Utiliza una tcnica que calcula el individuo vecino ms cercano,
que mejora el rendimiento del proceso de bsqueda.
3. Se mejor el proceso de eliminacin de soluciones preservando
aquellas que estn en los lmites del frente de Pareto.
Al igual que NSGAII, esta tcnica es considerada por la mayora de los
investigadores en este campo como lnea base de comparacin, por lo que
la mayora de las investigaciones muestran resultados comparativos con
la misma.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

89

3.3 NFL Teorema


El teorema No Free Lunch (no hay almuerzo gratis) fue presentado por
David H. Wolpert y William G. Macready en el ao 1995 [168]. En
realidad, se trata de un conjunto de teoremas que demuestran que todos
los algoritmos de optimizacin aplicados al conjunto de todos los
problemas matemticamente posibles, se comportan, en promedio, de la
misma forma.
Formalmente, un problema es una funcin objetivo que asigna un valor
escalar a cada punto posible del dominio de la funcin. Un algoritmo de
optimizacin es un procedimiento computacional que genera una
secuencia ordenada de puntos visitados con su correspondiente valor
asociado.
Por simplicidad, en su anlisis Wolpert y Macready estipulan que los
algoritmos slo visitan cada punto del espacio de bsqueda una sola vez,
aunque los resultados son igualmente vlidos aun sin considerar este
supuesto.
Para avanzar con el anlisis es conveniente realizar una conversin de los
algoritmos estocsticos a los algoritmos determinsticos. Considerando un
espacio de bsqueda finito X y asumiendo un conjunto finito Y de todas
las posibles funciones objetivo y siendo |X| el tamao de X e |Y| el tamao
de Y, el conjunto de todas las posibles F=YX representa el espacio de
todos los posibles problemas, siendo del tamao de YX.
Cada funcin f se corresponde con cada una de las posibles
permutaciones del espacio de bsqueda. Este conjunto es cerrado bajo
permutacin, y el conjunto de los resultados de bsqueda es precisamente
el conjunto de funciones de prueba. De esta forma, todos los algoritmos
de bsqueda secuenciales tienen la misma distribucin de resultados
cuando los aplicamos al conjunto de todas las funciones.
F es el conjunto de todas las funciones objetivos f:X Y, donde X es un
espacio finito de soluciones y Y es un conjunto finito parcialmente
ordenado. El conjunto de todas las permutaciones de X es J. Una variable
aleatoria R es distribuida sobre YX. Para todo j en J, R o j es una variable
aleatoria distribuida en YX, con P(R o j=f)=P(F=f o j` 1) para todo f en YX
[169].
Digamos que a(f) y b(f) denotan la salida de los algoritmos de bsqueda a
y b con la funcin de entrada f. Si a(f) y b(f) estn idnticamente
distribuidas sobre todos los algoritmos de bsqueda a y b, entonces F
tiene una distribucin NFL. Esta condicin se mantiene si y solo si F y F
o j estn idnticamente distribuidas para todo j en J [170].

90

JAVIER LPEZ

Es decir, no hay almuerzo gratis (free lunch) para algoritmos de bsqueda


si y solo si la distribucin de funciones objetivos es invariante bajo
permutacin del espacio de soluciones [171].
Estas conclusiones son similares al teorema del pato feo (Ugly duckling
theorem) [172], que si bien no es un teorema en su sentido estricto, afirma
que una clasificacin no es posible sin alguna clase de tendencia.
Las implicancias tericas del NFL teorema son claras:
1. No existe un algoritmo universal que tenga un desempeo mejor
que el resto en el conjunto de todos los problemas posibles.
2. Es necesario incorporar informacin especfica del problema a
resolver para lograr un desempeo mejor que el promedio.

No est probado que el teorema NFL se aplique a la clase de problemas


NP, a menos que se pruebe que P` NP. Si P=NP, existen algoritmos ms
eficientes que la bsqueda aleatoria (random search)[173].
La utilizacin de algoritmos estocsticos no hacen nada para mejorar la
performance en una corrida nica. Agregar aleatoriedad a los procesos de
bsqueda sirve para reducir el riesgo de resultados de baja calidad en un
conjunto de corridas, sacrificando obviamente la posibilidad de encontrar
resultados de calidad superior. sta es una estrategia razonable cuando no
se conoce la relacin entre el procedimiento de bsqueda utilizado y la
real distribucin de probabilidad del problema [174].
Si bien en la teora estos resultados son correctos, en la prctica se ha
demostrado el buen rendimiento de muchos algoritmos de optimizacin
en conjuntos de problemas grandes. Esta divergencia est explicada
porque las funciones objetivo que modelan problemas del mundo real son
altamente comprensibles, tienen una estructura y una descripcin
compacta [175]. Estas funciones comprenden un pequeo subconjunto de
todas las funciones posibles. Esta idea sirvi como base para el desarrollo
de versiones de NFL ms elaboradas, demostrando que en realidad el
teorema se aplica a un subconjunto mucho ms chico de funciones que lo
que se crea en un principio [175].
Las funciones incomprensibles (Aleatoriedad de Kolmogorov) no tienen
ninguna regularidad que un algoritmo pueda explotar. Dada un funcin
objetivo incomprensible, no hay manera de seleccionar un algoritmo por
sobre otro. Si se encuentra uno que muestra un mejor rendimiento que el
resto, es fruto de la casualidad [170].
Una rama de investigacin ms constructiva es aquel que intenta definir
el conjunto de funciones donde el NFL no aplica. En [176] se propone el
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

91

trmino de "searchable" para clasificar este conjunto de funciones, as


como un algoritmo de propsito general que probablemente tiene un
rendimiento superior en ste conjunto de funciones que un algoritmo de
bsqueda aleatoria (random search).
En esta tesis se asume este ltimo enfoque, donde se considera que es
posible la construccin de un algoritmo con mejor rendimiento que otros
en un limitado subconjuntos de funciones. Si bien no se hace ningn
intento para demostrar esto, los trabajos presentados tanto en conjunto de
funciones de prueba como en problemas del mundo real confirman este
enfoque.

92

JAVIER LPEZ

PARTE II
Optimizacin por
Cmulo de Partculas.
Nuevas Variantes

CAPTULO 4

Optimizacin por Cmulo


de Partculas (PSO)
La optimizacin mediante el cmulo de partculas PSO (Particle
Swarm Optimization) es una metaheurstica poblacional propuesta por
Kennedy y Eberhart [84]. Est basada en la simulacin de modelos
sociales simples e inspirada en el comportamiento social del vuelo de
las bandadas o el movimiento de los bancos de peces.
PSO utiliza lo que se conoce como Inteligencia de Cmulo (Swarm
Intelligence) y plantea una metfora social a partir de la cual, los
individuos conviven en una sociedad y tienen una opinin que es parte
de un conjunto de creencias (el espacio de bsqueda) compartido
por los dems individuos. De la interaccin entre ellos, surge una
estrategia que conduce la bsqueda hacia la solucin ptima.
El libro de Kennedy y Eberhart [177] describe muchos aspectos
filosficos de PSO y la inteligencia de cmulo. Poli hizo una
cobertura exhaustiva de las aplicaciones de PSO en [178] y [179].
Cada individuo puede modificar su propia opinin basndose en tres
factores:

conocimiento actual (su capacidad para resolver el problema).

conocimiento histrico o experiencias anteriores (su memoria o


conocimiento cognitivo).

conocimiento de los individuos situados en su vecindario (su


conocimiento social).

Es decir, los tres factores descritos anteriormente indican que


intervienen aspectos sociales, culturales y de imitacin.
Los seres humanos tambin utilizan la inteligencia de cmulo en la
resolucin de problemas de optimizacin. Por ejemplo, en un
incendio, ante la imposibilidad de encontrar una va de escape rpida,
los humanos tienden a seguir el comportamiento de la mayora; por tal
motivo, si alguien advierte que todos corren en determinada direccin,
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

95

lo natural es que adopte el mismo comportamiento sin saber


efectivamente si esa direccin es la correcta. Segn este enfoque, el
conocimiento actual de cada individuo se ve afectado por el entorno.
En [84], PSO utiliza una poblacin de tamao fijo. Cada elemento de
la poblacin, denominado partcula, es una solucin del problema y
sus movimientos se encuentran acotados al espacio de bsqueda. Este
espacio se encuentra definido de antemano y no se permite que las
partculas se desplacen fuera de l.

4.1 PSO Continuo


En su concepcin original PSO se plante para espacios de bsqueda
de variables continuas n-dimensionales [84], aunque poco tiempo
despus los autores originales propusieron una versin para espacios
discretos binarios [85]. Esta ltima comparte los componentes y
fundamentos bsicos, pero adaptando las frmulas de clculo de
ubicaciones a espacios binarios.
A continuacin es posible apreciar que la formula de actualizacin de
ubicacin y de velocidad de las partculas trabajan sobre la
representacin matemtica directa de los puntos que constituyen cada
individuo, sin mediar conversiones o transformaciones vinculadas con
la representacin.

Caractersticas
En PSO, cada individuo o partcula est siempre en continuo movimiento
explorando el espacio de bsqueda y nunca muere.
Cada partcula est compuesta por tres vectores y dos valores de
fitness:

Vector Xi=(xi1,xi2,,xin) almacena la posicin actual de la


partcula en el espacio de bsqueda.

Vector pBesti=(pi1,pi2,,pin) almacena la mejor solucin


encontrada por la partcula hasta el momento.

Vector velocidad Vi=(vi1,vi2,,vin) almacena el gradiente


(direccin) segn el cual se mover la partcula.

El valor fitness fitness_xi almacena el valor de aptitud de la


solucin actual (vector Xi).

96

JAVIER LPEZ

El valor fitness fitness_pBesti almacena el valor de aptitud de la


mejor solucin local encontrada hasta el momento (vector
pBesti)

La poblacin se inicializa generando las posiciones y las velocidades


iniciales de las partculas aleatoriamente. Una vez que la poblacin ha
sido creada, los individuos comienzan a moverse por el espacio de
bsqueda por medio de un proceso iterativo.
Con la nueva posicin del individuo, se calcula y actualiza su fitness
(fitness_xi). Adems, si el nuevo fitness del individuo es el mejor
encontrado hasta el momento, se actualizan los valores de mejor
posicin pBesti y fitness fitness_pBesti.
Como se explic anteriormente, el vector velocidad es modificado
tomando en cuenta su experiencia y su entorno, segn la siguiente
expresin:
V (t+1)=w.V (t)+ .rand .(pBest X (t))+ .rand .(G X (t)) (4.1)
id
id
1
1
id id
2
2 id id

donde

w representa el factor inercia y decrece en forma lineal a


medida que avanzan las iteraciones del algoritmo[180].

Las constantes 1 y 2 se denominan coeficientes de


aceleracin ya que permiten modelar la tasa de cambio de cada
partcula. Son las encargadas de medir la importancia que se le
da a los factores cognitivo y social.

rand1 y rand2 son valores aleatorios pertenecientes al intervalo


(0,1)

Gi representa la posicin de la partcula con el mejor pBest en


el entorno de Xi (lBest o localbest) o del todo el cmulo (gBest
o globalbest).

Los valores de w, 1 y 2 son importantes para asegurar que el


algoritmo converja. Una ventaja de esta tcnica es que no requiere
ninguna informacin de gradiente. Esto permite aplicarla a problemas
donde la informacin de gradiente o bien no es accesible o bien es
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

97

muy costosa de calcular. Para ms detalles sobre la eleccin de estos


valores consultar [181] y [182].
Finalmente, se actualiza la posicin de la partcula de la siguiente
forma:

Xid(t+1)=Xid(t)+Vid(t+1)

(4.2)

En la figura 4.1 se detalla una representacin grfica del movimiento


de una partcula en el espacio de soluciones.

Figura 4.1: Movimiento de una partcula en el espacio de soluciones.

El algoritmo 2 contiene el pseudocdigo del procedimiento de


bsqueda de PSO. Es importante notar que PSO es una metaheurstica
que hace muy pocas suposiciones (por no decir ninguna) con respecto
al problema que se busca resolver y se desempea muy bien en
espacios altamente dimensionales.
Como contrapartida debe mencionarse que ninguna metaheurstica,
PSO incluida, garantiza que la solucin ptima sea alcanzada. PSO no
utiliza la informacin de ningn gradiente para realizar la bsqueda,
esto implica que la funcin de aptitud a utilizar no necesita ser
diferenciable como es requerido por los mtodos de optimizacin
clsicos, como descenso de gradiente y los mtodos cuasi-Newton.
Esto ltimo permite que PSO sea utilizado en problemas de

98

JAVIER LPEZ

optimizacin cuya funcin de aptitud sea ruidosa o se encuentre


parcialmente definida.
El algoritmo es de implementacin sencilla y muestra una
convergencia rpida a buenas soluciones. Tanto las posiciones
iniciales como las velocidades iniciales se calculan utilizando
generadores aleatorios con distribucin uniforme en intervalos
predefinidos. La versin cannica del algoritmo considera al total de
la poblacin como el vecindario de cada partcula, por lo que cada una
de ellas puede visualizar la posicin de todo el resto. Esta versin es
conocida como PSO global, y el intercambio de informacin entre
todos los integrantes del cmulo es directo.
Existen versiones de este algoritmo donde el concepto de vecindario
se restringe a un subconjunto de la poblacin, denominadas PSO local
[183]. En estas versiones, se definen diferentes topologas de
vecindarios que acotan el intercambio de informacin entre las
partculas, logrando que la informacin de las mejores ubicaciones se
disemine en forma mas lenta. De esta forma, se intenta evitar
convergencias prematuras a soluciones sub-ptimas.

Una breve descripcin de cmo funciona el algoritmo es la siguiente:


Inicialmente, se distribuyen partculas en forma aleatoria en el espacio
de bsqueda. Luego, alguna partcula se identifica como la mejor de
todas (gBest) en funcin de su valor de aptitud (fitness value). Todas
las partculas del cmulo son atradas por esta partcula, y a su vez se
mueven tambin en la direccin de sus propias soluciones mejores,
descubiertas hasta el momento. De vez en cuando las partculas
sobrepasan la ubicacin de su objetivo y exploran el espacio de
bsqueda ms all de la mejor partcula actual. Todas las partculas
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

99

tienen la oportunidad de conocer una mejor ubicacin en el camino y


se pueden transformar en la nueva mejor partcula (gBest). En este
caso las otras partculas cambiarn de direccin y se dirigirn hacia
esta nueva ubicacin. Asumiendo que el espacio de bsqueda es
continuo, es probable que una buena solucin est rodeada de
soluciones igualmente buenas o mejores. Al acercarse a la mejor
solucin actual, desde diferentes direcciones en el espacio de
bsqueda, son altas las posibilidades de que las buenas soluciones
vecinas sean descubiertas por algunas de las partculas del cmulo.

Anlisis del algoritmo


Muchas interpretaciones se han derivado de la estructura de este
algoritmo. Dentro de las corrientes ms usuales podemos destacar la
que le asigna un comportamiento psico-social al movimiento de las
partculas [184]. Considerando el segundo trmino de la ecuacin de
velocidad (4.1),

1.rand1.(pBestidXid(t))
podemos identificar a este trmino como el componente cognitivo del
movimiento de la partcula, ya que slo considera su mejor
experiencia personal. El tercer trmino

2.rand2.(gidXid(t))
corresponde al componente social, dado que considera la mejor
ubicacin de la partcula lder del enjambre.
Poco se sabe de la influencia especfica de cada uno de estos
componentes, pero experimentos han demostrado que el componente
social parece tener ms influencia en el proceso de bsqueda.
Por lo tanto, la definicin de las ubicaciones de las partculas depende
tanto de un componente personal cognitivo como de un componente
social. Este ltimo es una forma de colaboracin entre las partculas
[185], dado que se intercambia la informacin de la mejor ubicacin
encontrada hasta el momento.
PSO presenta la estructura tradicional de los algoritmos evolutivos.
Cuenta con una poblacin de soluciones, tiene adems un componente
estocstico en su forma de actualizacin de ubicaciones. La mejor
ubicacin personal de las partculas acta como una forma dbil de
seleccin. La frmula de actualizacin de velocidad es similar al

100

JAVIER LPEZ

operador de cruza en los algoritmos genticos con representacin real


[186] [187].
La principal diferencia entre PSO y otras tcnicas evolutivas radica en
que el primero mantiene informacin tanto de posiciones como de
velocidad (cambios en las posiciones). El resto de las tcnicas
evolutivas en general mantiene informacin slo de las ubicaciones.
El movimiento de las partculas en el espacio de bsqueda se ha
descrito como un vuelo sobre el espacio n-dimensional [183]. La
terminologa se debe a que la primera propuesta de esta tcnica estaba
dirigida a simular en forma visual el comportamiento de una bandada,
para realizar una simulacin por computador [188]. Estas formaciones
aparentan tener un lder general que imprime la direccin de la
formacin, y no parece verse afectada por la cantidad de integrantes,
dado que se han detectado bandadas de varios kilmetros de largo. Si
consideramos que la capacidad de procesamiento y de visualizacin es
limitada, podemos inferir que cada ave ms que seguir a un lder
general, define su movimiento a partir de la informacin que le llega
de sus aves vecinas.
Este comportamiento de las aves tiene importantes ventajas
evolutivas: proteccin de los depredadores, mejora la conservacin del
pool gentico y permite realizar bsqueda de alimentos en reas
extendidas.
El autor en [188] utiliza tres simples reglas para modelar el
comportamiento
1. Evitar colisiones
2. Sincronizacin de velocidad
3. Vuelo centrado en la bandada
Para lograr un comportamiento similar a las aves, se tuvo que
considerar la informacin de los vecinos de cada ave virtual. Este nos
rememora al modelo de PSO local (lBest). Es interesante notar que en
la misma investigacin el autor describe que si todas las aves se guan
directamente por la posicin de un lder, todas las aves tienden a
colisionar en el centroide de la bandada. Esto es una descripcin
bastante exacta de lo que ocurre con la convergencia del modelo de
PSO global (gBest).
En el algoritmo PSO las partculas carecen de masa, por lo que no
colisionan y pueden ocupar la misma posicin en forma simultnea. Si
bien la denominacin ms adecuada seria puntos, al considerar
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

101

conceptos de velocidad y aceleracin, la denominacin de partculas


parece ser indicada. Asimismo, influy el nombre de particle system
que se utiliza en el computacin grfica para renderizar efectos como
humo o fuego [188].

Convergencia
Se han realizado cambios a la versin original de PSO (cannica) para
mejorar su ndice de convergencia. Estos cambios en general
involucran modificaciones en las frmulas de actualizacin de
velocidad, sin variar la estructura bsica del algoritmo.

Ponderacin de la Inercia
Uno de los cambios mas conocidos es la incorporacin de un factor de
ponderacin (inertia weight) a la variable de inercia w, propuesto por
Shi y Eberhart en [189]. De acuerdo a estos autores, esta variable debe
tener valores entre 0.8 y 1.2 para obtener los mejores resultados. Con
valores mayores a 1.2 la convergencia general del algoritmo parece
disminuir [189].
Una configuracin muy usada de este valor de inercia es una
reduccin lineal considerando como valor inicial 0.9 y como valor
final 0.4 [190]. Esta configuracin permite recorrer porciones muy
extensas del espacio de bsqueda en las primeras iteraciones del
algoritmo. A lo largo de la ejecucin, al reducir este valor la magnitud
del cambio en la posiciones tiende a disminuir, afinando la bsqueda
en porciones ms reducidas. De esta forma se regula el equilibrio entre
la capacidad de exploracin del algoritmo (bsqueda de las zonas ms
prometedoras del espacio del problema) y la capacidad de explotacin
(bsqueda de soluciones ptimas en un espacio reducido) [191];
equilibrio deseable en todo algoritmo de bsqueda y optimizacin.
Este parmetro se asemeja a la variable temperatura del algoritmo
Recocido Simulado.

Factor de Constriccin
Clerc ha realizado investigaciones muy interesantes desarrollando el
concepto de factor de constriccin[192] [193]. Este factor asegura la
convergencia del algoritmo, evitando la explosin del cmulo que
ocurre bajo determinadas condiciones. El autor define una

102

JAVIER LPEZ

combinacin de valores para las variables w, 1 y 2 tal que la


convergencia se vea asegurada.
Con la correcta seleccin de estos valores se evita la necesidad de
limitar la velocidad que puede tomar una partcula, practica usual para
evitar que el algoritmo se vaya de los rangos de valores normales.
vid(t+1)=K[[Link](t)+1.rand1.(pBestidxid(t))+2.rand2.(gidxid(t))]

(4.3)

(4.4)
y

=c1+c2 , >4

Reemplazando y despejando en la frmula original se llega a la siguiente


determinacin de valores

c1=c2=1.4962 ; w=0.7298
Estos valores de configuracin se utilizan cuando se implementa la
versin de Clerc con el factor de constriccin [194] [195].

Diversidad
En los procesos de bsqueda basados en algoritmos estocsticos,
mantener la diversidad de la poblacin mejora las capacidades de
exploracin del algoritmo y evita la convergencia prematura a ptimos
locales.
En forma emprica se ha demostrado la tendencia a la convergencia
prematura que muestra la versin global de PSO, redundando en una
alta probabilidad de quedar atrapado en soluciones sub-ptimas. Esta
fuerte convergencia se origina en que la partcula lder del cmulo
acta como un fuerte atractor de toda la poblacin, generando una
convergencia acelerada en esta ltima.
A los efectos de limitar el efecto de atraccin que genera la mejor
partcula, se ha trabajado con el concepto de vecindario propuesto en
la versin PSO local. Este concepto hace que las partculas no puedan
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

103

ver el enjambre completo, sino un subconjunto de la poblacin total.


Este mecanismo provoca que el ndice de convergencia baje, dado que
la informacin de la mejor ubicacin global se expande dentro de la
poblacin de una forma ms lenta.
Entre las propuestas destacadas puede mencionarse a la
implementacin de un PSO local por parte de Suganthan [196], que
usa el concepto de vecindario espacial, en donde la interaccin de
cada partcula se realiza con las partculas ms prximas en el espacio
de bsqueda, utilizando el concepto de distancia euclidea. Los
resultados publicados por el autor muestran que el rendimiento es
mejor que la versin de PSO global.
Otras propuestas estn basadas en el concepto de topologa de la
poblacin. En este concepto, el vecindario de cada partcula se define
en forma esttica y se mantiene a lo largo del algoritmo. En [197] se
estudi como vara el flujo de informacin entre las partculas con la
utilizacin de diferentes topologas de la poblacin. Las primeras
topologas investigadas por Kennedy son las de anillo (figura 4.2) y
las de rueda (figura 4.3), con un hub central. Luego, se intercambian
en forma aleatoria las relaciones.

Figura 4.2: Topologas anillo: a) Clsico, b) Aleatorio

104

JAVIER LPEZ

Figura 4.3: Topologas estrella: a) Clsico, b) Aleatorio

Los resultados presentados por el autor sugieren que la utilizacin del


concepto de vecindario mejora las capacidades de bsqueda del
algoritmo, reduciendo la posibilidad de convergencia prematura. Adems
sugiere que la definicin de la topologa ptima a utilizar es dependiente
del problema. Ntese que el concepto de vecindario de este prrafo se
estructura en el espacio de ndices de las partculas, no en el espacio de
bsqueda.
En la propuesta original de PSO las partculas definen su direccin futura
basada en su propia experiencia, as como en la posicin de la mejor
partcula de la poblacin / vecindario. Estudios realizados sobre el
comportamiento humano muestran que las personas, ms que seguir los
pensamientos de un individuo en particular, siguen mas bien un conjunto
de creencias formado por determinado grupo. Basado en este concepto,
Kennedy propuso una versin donde cada partcula pertenece a un
cluster, y la ubicacin de la mejor partcula (gbest) se reemplaza por el
centroide de ese cluster [198]. De esa forma, se representa mejor el
comportamiento humano. Los resultados reportados no fueron
demasiados prometedores, y el aumento de la complejidad del algoritmo
es considerable por el esfuerzo necesario para calcular los clusters.
Otras tcnicas para aumentar la diversidad se basan en el uso de de subpoblaciones. Las mismas actan como compartimientos estancos, e
intercambian individuos de acuerdo a una cantidad predeterminada de
iteraciones. Esta idea fue tomada de otros algoritmos evolutivos [199].
Los resultados reportados en [200] parecen indicar que no existen
beneficios importantes por el hecho de utilizar sub-poblaciones. No
obstante, se considera que dados los resultados prometedores alcanzados
en otros algoritmos evolutivos vale la pena explorar esta alternativa [104].
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

105

Adems, al incorporar el concepto de sub-poblacin la paralelizacin del


algoritmo se hace naturalmente.
En el siguiente captulo se realiza una implementacin paralela del algoritmo
PSO, reportndose los resultados alcanzados tanto en lo referente a su
capacidad de optimizacin como a la medicin del speed up alcanzado.

4.2 PSO Binario


En diversas aplicaciones prcticas cada vez es ms frecuente la presencia
de problemas de optimizacin que involucran variables que deben tomar
valores discretos. Se trata de problemas de naturaleza combinatoria donde
una de las formas de resolverlos es a travs de la discretizacin de valores
continuos. Considerando que cualquier problema de optimizacin,
discreto o continuo, puede ser expresado en notacin binaria, Kennedy y
Eberthart en [85], consideraron de utilidad la posibilidad de disponer de
una versin binaria discreta de PSO para problemas de optimizacin
discretos que denominaron PSO Binario.

Caractersticas
En un espacio binario, una partcula se mueve en las esquinas de un
hipercubo, cambiando los valores de los bits que determinan su
posicin. En este contexto, la velocidad de una partcula puede ser
vista como la cantidad de cambios ocurridos por iteracin o la
distancia de Hamming entre las posiciones de la partculas en el
instante t y el t+1. Una partcula con 0 bits cambiados, de una
iteracin a la otra, no se mueve mientras que otra partcula que cambia
por el valor contrario todos sus bits, se desplaza a velocidad mxima.
An no se ha dicho en qu consiste el vector velocidad. Repitiendo la
notacin del captulo anterior, la partcula de PSO binario est
formada por:

Xi=(xi1,xi2,,xin), vector que almacena la posicin actual de la


partcula en el espacio de bsqueda. Es decir que se trata de un
vector binario.

pBesti=(pi1,pi2,,pin), vector que almacena la mejor solucin


encontrada por la partcula hasta el momento. Por lo tanto,
tambin es binario.

Vector velocidad Vi=(vi1,vi2,,vin) es un vector de valores reales.

106

JAVIER LPEZ

fitness_xi, almacena el valor de aptitud de la solucin actual


(vector Xi).

fitness_pBesti, almacena el valor de aptitud de la mejor


solucin local encontrada hasta el momento (vector pBesti).

En este caso, el vector velocidad est formado por las probabilidades


de cambio que tiene cada bit que determina la posicin de la partcula
de tomar el valor 1. Es decir que una partcula en cada dimensin slo
puede tomar el valor 0 o el valor 1, donde vid representa la
probabilidad de que el bit xid tome el valor 1. En otras palabras, si
vid=0.35 hay una chance del 35% de que xid se convierta en 1 y una
chance de 0.65% de que se convierta en 0. Si la mejor posicin de la
partcula en la dimensin d fuere 0, la expresin (pidxid) podr dar
como resultado 1, 0 o 1 y puede utilizarse para pesar la probabilidad
de cambio vid en el prximo paso.
En resumen, el valor de la velocidad para la partcula i en la
dimensin d se actualiza segn (4.5)
vid(t+1)=[Link](t)+1.rand1.(pidxid(t))+2.rand2.(gidxid(t))

(4.5)

Ntese que si bien las ecuaciones (4.5) y (4.1) coinciden, pero ahora
pid y xid son enteros en {0,1} y vid por ser una probabilidad debe ser
acotada al intervalo [0,1]. Para lograr esto ltimo se utiliza una
funcin sigmoide como se indica en (4.6)

(4.6)
Luego, el vector posicin de la partcula se actualiza de la siguiente
forma

(4.7)

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

107

donde rand() es un nmero aleatorio con distribucin uniforme en [0,1]


distinto para cada dimensin.
El algoritmo 3 contiene el pseudocdigo correspondiente.

En la versin continua de PSO el valor de vid tambin se encontraba


acotado a un intervalo cuyos valores eran parmetros del algoritmo.
En el caso discreto, el valor de la velocidad es acotado segn (4.8)

|vid|<Vmax

(4.8)

siendo Vmax un parmetro del algoritmo. Es importante notar que


Vmax debe tomar valores adecuados para permitir que las partculas
sigan explorando mnimamente alrededor del ptimo. Por ejemplo, si
Vmax=6 las probabilidades de cambio sig(vid) estarn limitadas a
0.9975 y 0.0025. Esto permite una reducida probabilidad de cambio.
Pero si Vmax tomara un valor extremo, por ejemplo 50, sera
extremadamente poco probable que una partcula cambie su posicin
luego de alcanzar un ptimo (que tal vez sea local).
Es importante remarcar que la incorporacin de la funcin sigmoide
cambia radicalmente la manera de utilizar el vector velocidad para
actualizar la posicin de la partcula. En PSO continuo, el vector

108

JAVIER LPEZ

velocidad toma valores mayores al inicio para facilitar la exploracin


del espacio de soluciones y al final se reduce para permitir que la
partcula se estabilice.
En PSO binario ocurre precisamente todo lo contrario. Los valores
extremos, al ser mapeados por la funcin sigmoide, producen valores
de probabilidad similares, cercanos a 0 o a 1, reduciendo la chance de
cambio en los valores de la partcula. Por otro lado, valores del vector
velocidad cercanos a cero incrementan la probabilidad de cambio. Es
importante considerar que si la velocidad de una partcula es el vector
nulo, cada uno de los dgitos binarios que determina su posicin tiene
probabilidad 0.5 de cambiar a 1, siendo esta la situacin ms aleatoria
que puede ocurrir.
Cada partcula incrementa su capacidad exploratoria a medida que el
vector velocidad reduce su valor; cuando vid tiende a cero,
lim,t sig(v (t))=0.5, permitiendo que cada dgito binario tome el
id
valor 1 con probabilidad 0.5. Es decir que puede tomar cualquiera de
los dos valores. Por el contrario, cuando los valores del vector
velocidad se incrementan, lim,t sig(vid(t))=1, y por lo tanto todos
los bits tienden a 1, mientras que cuando el vector velocidad decrece,
tomando valores negativos, lim,t sig(vid(t))=0 y todos los bits
cambian a 0. Es importante remarcar que limitando los valores del
vector velocidad entre 3 y 3,
, mientras que
para valores superiores a 5, sig(vid)1 y para valores inferior a 5,
sig(vij)0. En [177] se recomienda limitar los valores de la velocidad
al rango [-4,4]. Esta versin de PSO binario no utiliza ni los factores
de constriccin ni la ponderacin de la inercia dado que fue una
versin previa a esos desarrollos.
En [201] se hace una comparacin entre un algoritmo gentico binario
y una versin binaria de PSO, donde se infiere que este ltimo tiene
un mejor desempeo y una mejor velocidad de convergencia que el
algoritmo gentico. Existen tambin versiones para espacios discretos,
donde el tratamiento elegido es discretizar el valor de las variables de
los vectores de decisin [202].
En esta tesis se hace una propuesta de algoritmo PSO binario donde se
obtuvieron resultados prometedores [203]. Esa propuesta es
comparada con el algoritmo PSO binario original y con la versin
presentada en [204] dado que es una de las variantes con mejor
desempeo reportado.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

109

Variante de PSO Binario


Si bien se han definido distintas alternativas al algoritmo PSO binario
descripto en la seccin anterior, como por ejemplo [205], [206] y [207],
en esta tesis se ha seleccionado el artculo [204] por su buen desempeo y
facilidad de implementacin.
En la versin de PSO binario definida en [204], se cuestiona la dificultad
de seleccin de parmetros para el algoritmo de Optimizacin por
Cmulo de Partculas binario. En especial se menciona la importancia
que el parmetro de inercia tiene en la capacidad exploratoria del mtodo.
Por este motivo, en [204] la velocidad de una partcula ya no se define
como la probabilidad de cambiar a 1, sino como la probabilidad de
cambiar desde su estado previo a su valor complementario.
En esta nueva definicin, la velocidad de partcula como tambin sus
parmetros tienen el mismo rol que en la versiones de PSO descriptas
previamente. La mejor posicin que visit la partcula pBesti y la mejor
posicin global gBest son actualizadas como en la versin continua o
binaria de PSO.
Sin embargo, por cada partcula se introducen dos vectores: V0,i es la
probabilidad que los bits de la partcula cambien a cero y V1,i es la
probabilidad que los bits de la partcula cambien a uno. Dado que en la
ecuacin de actualizacin de estas velocidades el trmino de inercia es
utilizado, estas velocidades no son complementarias. La probabilidad de
cambio en el j-simo bit de la i-sima partcula es definido como sigue:

(4.9)
La manera en que estos vectores son actualizados es la siguiente: Si el
j-simo bit en la mejor posicin global es 0 (cero) o si el j-simo bit en
la mejor solucin hallada por la partcula es 0, la velocidad v0,ij es
incrementada y la probabilidad de cambiar a 1 decrece. Por el
contrario, si el j-simo bit en la mejor posicin global es 1 o si el jsimo bit en la mejor solucin hallada por la partcula es 1, v1,ij es
incrementada y v0,ij decrece.
Usando este concepto, se extraen las siguientes reglas:

110

JAVIER LPEZ

donde d1,ij y d0,ij son dos valores temporarios, r1 y r2 son dos


valores aleatorios con distribucin uniforme en (0,1) que se
actualizan en cada iteracin. Las constantes c1 y c2 son
parmetros del algoritmo y se definen a priori.
Luego, los vectores velocidad se actualizan segn (4.10) y (4.11)

(4.10)

(4.11)
donde w es un trmino de inercia. Desde este enfoque la direccin de
cambio, hacia 1 o hacia 0, para cada bit, es considerada por separado.
Luego de actualizar la velocidad de las partculas, se obtiene la velocidad
de cambio, como se indic en (4.9).
Finalmente, para obtener la nueva posicin de la partcula, se utiliza la
funcin sigmoide definida en (4.6) y se calcula la nueva posicin
siguiendo lo indicado en (4.12)

xij(t+1)=

xij (t),si rij<sig(vij(t+1)),xij(t),en otro caso (4.12)

donde xij es el complemento a 2 de xij. Es decir, si xij=0 entonces


xij =1 y si xij=1 entonces

xij =0. De la misma forma que en el

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

111

PSO binario convencional, rij es un valor aleatorio con distribucin


uniforme entre 0 y 1.

112

JAVIER LPEZ

CAPTULO 5

Propuesta de Implementacin de PSO


Paralelo
5.1 Introduccin
El objetivo de este trabajo consiste en efectuar una comparacin entre la
versin cannica del algoritmo Optimizacin por Cmulo de Partculas
(PSO - Particle Swarm Optimization) [Ken95] y una versin
descentralizada del mismo, basada en islas de poblaciones independientes
con migracin de partculas entre poblaciones en intervalos predefinidos.
Los problemas de prueba seleccionados como criterio de evaluacin
corresponden a problemas de optimizacin numrica con variables
reales sin restricciones, tomados del documento Problem Definitions
and Evaluation Criteria for de CEC 2005 Special Session on RealParameter Optimization [208].
Se presenta un informe detallado del rendimiento de ambos algoritmos
en las 25 funciones de prueba definidas. Adicionalmente se efectan
dos implementaciones de la versin descentralizada (distribuida), una
variante del tipo secuencial a ejecutarse en un nico procesador y otra
variante paralela a ejecutarse en m procesadores en simultneo, un
procesador por cada isla, midindose el rendimiento de la versin
paralela en una red de maquinas homogneas.

5.2 Algoritmo propuesto (dPSO)


Se propone el siguiente diseo de algoritmo PSO distribuido. El
mismo se corresponde al modelo dEA (distributed evolutionary
algorithms) [104].
La propuesta consiste en un conjunto de m poblaciones, cada uno con
una poblacin de n partculas, que efectan escasos intercambios de
individuos (partculas). Cada poblacin comienza su procesamiento en
forma independiente y cada cierta cantidad o de iteraciones
intercambian individuos (partculas). Se selecciona la mejor partcula
de cada poblacin (gBest) y se enva a una poblacin vecina. Esta
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

113

partcula remplaza a una partcula aleatoria de la poblacin receptora.


Las poblaciones estn dispuestas en una topologa de anillo esttica,
por lo que cada poblacin enva su mejor partcula siempre al mismo
vecino, y recibe partculas siempre desde otro vecino predefinido
(figura 5.1).
Es importante destacar que esta versin del algoritmo es
cualitativamente dismil a la versin cannica. El comportamiento de
ambos es diferente dado que en la versin distribuida las diferentes
poblaciones comparten informacin durante la ejecucin del mismo.
Por lo tanto, los resultados alcanzados por esta versin con m
poblaciones no son estadsticamente similares a la ejecucin de m
corridas del algoritmo cannico.

Figura 5.1: dPSO. Topologa de anillo esttica

Se proponen a continuacin dos implementaciones de este algoritmo,


una secuencial diseada para ejecutarse en un solo procesador y una
paralela a ejecutarse en ms de un procesador (figura 5.2).

114

JAVIER LPEZ

Figura 5.2: Dos implementaciones del mismo algoritmo.


Implementacin secuencial de dPSO (sdPSO)

En el algoritmo 4 se detalla el pseudo-cdigo de la implementacin


secuencial del algoritmo PSO distribuido.
Esta versin secuencial se corresponde con el modelo distribuido
detallado anteriormente, y propone una implementacin secuencial a
ejecutarse en un solo procesador.
Como se desprende del pseudo-cdigo, en esta versin cada una de las m
poblaciones efecta una cantidad mxima de iteraciones
(cant_maxima_de_iteraciones). Es decir, que si el algoritmo distribuido
se ejecuta para m=2 poblaciones, la cantidad total de iteraciones realizada
por el algoritmo es m*( cant_maxima_de_iteraciones ).
El parmetro o define el intervalo de intercambio de partculas, es decir
cuntas iteraciones realiza el algoritmo antes de enviar/recibir una
partcula hacia/desde sus vecinos. El mismo est expresado en iteraciones
del algoritmo.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

115

Por ejemplo, para los siguientes parmetros:


Cantidad de poblaciones: m=2
Cantidad mxima de iteraciones: (cant_maxima_de_iteraciones) = 15000
Intervalo de intercambio de individuos: o=50

La cantidad mxima de iteraciones corresponde a cada poblacin, por


lo tanto el total de iteraciones para la corrida del algoritmo es igual a
2*15000=30000.

5.3 Implantacin paralela de dPSO (pdPSO)


Se presenta a continuacin la implementacin paralela del algoritmo
dPSO (PSO distribuido). Se requieren por lo menos m instancias del
algoritmo en ejecucin, siendo m>1. En el algoritmo 5 se detalla el
pseudo-cdigo de este algoritmo
Ntese que en esta versin cada una de las m poblaciones se ejecuta en
un procesador (instancia del algoritmo) diferente. Los procesos de

116

JAVIER LPEZ

comunicacin donde se realiza el intercambio de partculas entre


poblaciones son de naturaleza sincrnica.

5.4 Plataforma Utilizada


Plataforma de Software
Los algoritmos descritos se implementaron en lenguaje de
programacin Java, utilizando la interface sockets para el pasaje de
informacin entre las distintas instancias del mismo. La modalidad de
intercambio de informacin es sincrnica.
La utilizacin de Java es muy conveniente dada su facilidad de
programacin, su orientacin a objetos, su portabilidad, y que slo
requiere la instalacin de Java Virtual Machine para su ejecucin.

La utilizacin de sockets TCP permite un eficiente intercambio de


informacin entre las diferentes PCs de una LAN estndar.
Como entorno de desarrollo se utiliz IDE Eclipse versin 3.1.2 Build
id M20060118-1600.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

117

Como entorno de ejecucin se utiliz Java Virtual Machine java


version 1.5.011 Java(TM) 2 Runtime Environment, Standard Edition
(build 1.5.011b03) Java HotSpot(TM) Client VM (build 1.5.011b03
, mixed mode, sharing) corriendo en estaciones de trabajo con
Windows XP Professional versin 5.1.2600 Service Pack 2
Compilacion 2600.

Plataforma de Hardware
La versin secuencial y paralela del algoritmo se ejecut sobre una red
de 4 PCs con las siguientes caractersticas, procesador Intel Pentium
2.66 GHz con 512 MB de RAM. Las estaciones de trabajo estn
conectadas entre s utilizando una red Ethernet de 100Mb. Como se
mencion anteriormente, el SO es Windows XP Professional.

5.5 Resultados
Como medida de desempeo de los algoritmos se tomaron las 25
funciones de evaluacin segn [208]. En el mismo se establecieron un
conjunto de funciones y parmetros de evaluacin para optimizacin
numrica con variables reales sin restricciones.
De acuerdo a lo sugerido en el trabajo de referencia se evaluaron los
algoritmos en 10, 30 y 50 dimensiones. Se gener la informacin
siguiendo el protocolo especificado en el documento.
En el anexo Rendimientos de algoritmos cPSO y dPSO al final del
documento se adjuntan los cuadros correspondientes a la resolucin de
las 25 funciones de prueba por parte de ambos algoritmos, en 10, 30 y
50 dimensiones, con los correspondientes grficos de convergencia
para 30 dimensiones. Se muestra adems un cuadro con el clculo de
la complejidad del algoritmo, as como el detalle de todos los
parmetros utilizados en la implementacin.
Las figuras 5.3, 5.4, 5.5, 5.6 y 5.7 muestran la convergencia para las
distintas funciones de prueba en 30 dimensiones, donde es posible
visualizar el comportamiento de ambas versiones del algoritmo.

118

JAVIER LPEZ

Parmetros de Ejecucin
Parmetros comunes cPSO y dPSO
Cantidad mxima de evaluacin de funciones
10 D = 100000
30 D = 300000
50 D = 500000
Factor inercia (w) con reduccin lineal entre 0.9 y 0.4
Factor cognitivo Alfa1 (a1) = 2
Factor social Alfa2 (a2) = 2
Rango de velocidad = [-4,4]
Accin a tomar cuando se exceden lmites del dominio = Saturacin
en valor lmite

Parmetros diferentes entre cPSO y dPSO


Tamao de la poblacin
cPSO = 20
dPSO = 5
Cantidad de Poblaciones
cPSO = 1
dPSO = 4
Intervalo de intercambio de partculas
cPSO = No aplica
dPSO = 50

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

119

Figura 5.3: Grfico de Convergencia cPSO (izquierda) y dPSO (derecha).


Funciones 1 a 5 en 30 dimensiones

Figura 5.4: Grfico de Convergencia cPSO (izquierda) y dPSO (derecha).


Funciones 6 a 10 en 30 dimensiones

120

JAVIER LPEZ

Figura 5.5: Grfico de Convergencia cPSO (izquierda) y dPSO (derecha).


Funciones 11 a 15 en 30 dimensiones

Figura 5.6: Grfico de Convergencia cPSO (izquierda) y dPSO (derecha).


Funciones 16 a 20 en 30 dimensiones

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

121

Figura 5.7: Grfico de Convergencia cPSO (izquierda) y dPSO (derecha).


Funciones 21 a 24 en 30 dimensiones

Se compar el rendimiento de ambos algoritmos realizando un anlisis de


varianza. Se tomaron las corridas a comparar y se efecto la prueba de
Kolmogorov-Smirnov para determinar si las muestras tienen una
distribucin normal. En aquellos casos que los conjuntos de muestras
presentaron una distribucin normal, se calculo el estadstico t de Student.
Para aquellas muestras que no presentaron una distribucin normal, se
efecto la prueba no paramtrica de Kruskal-Wallis [118] [115] [119]. En
todos los casos, si el p-value es menor que 0.05, se considera que las
diferencias son estadsticamente significantes.
Del estudio de los resultados se desprende que el algoritmo cPSO super
en rendimiento al dPSO en la mayora de los problemas de prueba
utilizados. En la tabla 5.2 se muestra un resumen del desempeo de los
algoritmos, indicando la cantidad de problemas donde cada algoritmo se
mostr superior en las diferentes dimensiones evaluadas.

Tabla 5.1: Resumen del desempeo de los algoritmos por dimensiones

122

JAVIER LPEZ

En la tabla 5.2, se adjunta un detalle identificando el algoritmo que


mostr mejor desempeo en cada problema/dimensin. En aquellos
casos que no existen diferencias estadsticamente significantes se
clasificaron con la sigla SD.

ProbDimensiones
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

10

30

50

SD
cPSO
cPSO
SD
SD
SD
SD
cPSO
dPSO
SD
cPSO
SD
SD
cPSO
SD
SD
cPSO
cPSO
cPSO
cPSO
SD
SD
SD
SD
cPSO

SD
cPSO
cPSO
cPSO
cPSO
SD
SD
cPSO
dPSO
SD
cPSO
dPSO
cPSO
cPSO
SD
cPSO
cPSO
cPSO
cPSO
SD
dPSO
cPSO
dPSO
SD
dPSO

cPSO
cPSO
cPSO
cPSO
cPSO
cPSO
cPSO
cPSO
dPSO
SD
cPSO
dPSO
cPSO
cPSO
SD
SD
cPSO
cPSO
cPSO
cPSO
SD
SD
SD
SD
dPSO

Tabla 5.2: Detalle del desempeo de los algoritmos por funciones


y dimensiones

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

123

Rendimiento de la versin paralela


En esta parte del trabajo se efecta un anlisis y un estudio emprico
acerca de la conveniencia de realizar una implementacin paralela del
algoritmo PSO descentralizado (dPSO).
A lo largo del documento se hace referencia al concepto de speed-up
del algoritmo, sabiendo que la definicin de speed-up requiere que el
algoritmo secuencial contra el cual se compara sea el mejor algoritmo
conocido para resolver el problema. Esta ltima condicin no se puede
asegurar en este trabajo. Adems, en la evaluacin realizada se
considera una cantidad fija de evaluaciones de la funcin de fitness,
sin tener en cuenta la calidad de los resultados obtenidos. Por lo tanto,
tomando la taxonoma definida por Alba y Tomassini [209], cada vez
que hablamos de speed-up en este trabajo hacemos referencia a una
definicin dbil de speed-up con un esfuerzo pre-definido (weak
speed-up with predefined effort). De esta forma, podemos hacer foco
en las mejoras en tiempo obtenidas comparando la versin secuencial
(sdPSO) y paralela (pdPSO) del mismo algoritmo.

Anlisis de rendimiento
En este anlisis se utiliz la funcin nmero 13 del reporte Problem
Definitions and Evaluation Criteria for de CEC 2005 Special
Session on Real-Parameter Optimization [208] en 50 dimensiones.
Los parmetros del algoritmo se mantuvieron constantes. Como
primera medida, se tomaron las mediciones indicadas en la tabla 5.3
con el objetivo de analizar la conveniencia de la paralelizacin del
algoritmo PSO distribuido (dPSO). Todos los tiempos estn
expresados en microsegundos. Estas mediciones corresponden al
tiempo promedio de 1000 ejecuciones.
Latencia de Red
Tiempo promedio de 1 iteracin del algoritmo
Tiempo promedio de envo/recepcin de 1 partcula

3.554426 E+01
6.870891 E+04
2.030928 E+05

Tabla 5.3: Tiempos de iteracin y comunicacin

Teniendo en cuenta el tiempo promedio de una iteracin del


algoritmo, y el tiempo promedio para enviar y recibir una partcula, se
calcula el costo de envo de una partcula medido en cantidad de
iteraciones, dividiendo el segundo por el primero (tabla 5.5).

124

JAVIER LPEZ

Costo de comunicacin en iteraciones

2.956

Tabla 5.4: Relacin tiempo de comunicacin/iteraciones

Sabiendo que se intercambian partculas cada o iteraciones, podemos


calcular la cantidad de comunicaciones necesarias dividiendo la
cantidad mxima de iteraciones por o. Dado que la secuencia de
ejecucin del algoritmo es
o iteraciones
enva/recibe partculas
o iteraciones
enva/recibe partculas
...
o iteraciones
enva/recibe partculas
es importante destacar que no tiene sentido realizar el ltimo
envo/recepcin de partculas, dado que el mismo no se utiliza para nada.
Por lo tanto, la cantidad de comunicaciones queda definida como
Cant de comunicaciones = (Cant mxima de
iteraciones / o) - 1
Tomando como base de clculo que se realizarn 15000 iteraciones
por poblacin, se calcula
Tiempo de ejecucin de iteraciones = cant
mxima de iteraciones
* Tiempo promedio de 1 iteracin del
algoritmo
Luego, se calcula
Tiempo de comunicacin = Cant de
comunicaciones
* Tiempo promedio de
envo/recepcin 1 partcula
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

125

De aqu se desprende en forma directa que el tiempo total de ejecucin


del algoritmo realizando 15000 iteraciones y 299 eventos de
comunicacin se puede estimar como
Tiempo total estimado = Tiempo de ejecucin de
iteraciones
+ Tiempo de comunicacin
o Cantidad de iteraciones entre intercambios
Cantidad mxima de iteraciones iteraciones x poblacin
[Link] comunicaciones

50
15000
299

Tiempo de ejecucin iteraciones

1,030634 E+09

Tiempo de comunicacin

6.072475 E+07

Tiempo total estimado

1.091358 E+09

Tabla 5.5: Estimacin de tiempo total

Los resultados de estas mediciones se muestran en la tabla 5.5.


En la implementacin secuencial (sdPSO) el tiempo de
envo/recepcin de partculas es despreciable (= 0), dado que en
realidad lo que se hace es guardar (enviar) la mejor partcula en un
vector y recuperarla (recibir) desde ese mismo vector.
Por lo tanto, se calcula el speed-up estimado calculando la razn entre
el tiempo de ejecucin de las iteraciones y el tiempo total estimado del
algoritmo.
Speed-up Estimado = Tiempo de ejecucin de
iteraciones
/ Tiempo total estimado
o lo que es lo mismo
Speed-up Estimado = Tiempo de ejecucin de
iteraciones /
(Tiempo de ejecucin de
iteraciones +
Tiempo de comunicacin)

126

JAVIER LPEZ

Los resultados obtenidos se muestran en la tabla 5.6.


Speed-Up estimado

0.944
Tabla 5.6: Estimacin de speed-up

Es importante destacar que este speed-up estimado es el mximo


posible a alcanzar en la implementacin paralela. Seguramente existir
un tiempo adicional a incurrir en la versin paralela relacionada con la
sincronizacin de los procesos al momento de intercambio de
informacin.
La tabla 5.7 muestra los tiempos reales de ejecucin de la versin
distribuida del algoritmo PSO (dPSO) con dos poblaciones, tanto en
su versin secuencial (sdPSO) como en su versin paralela (pdPSO).
Este ltimo ejecutando en red homognea de dos nodos.

Cantidad de Poblaciones (instancias)


Tiempo total de ejecucin de sdPSO
Tiempo total de ejecucin de pdPSO
Speed-up Real

2
1.988993 E+09
1.059673 E+09
0.938

Tabla 5.7: Tiempos de ejecucin de dos islas, en uno y dos procesadores

La tabla 5.8 muestra los tiempos reales de ejecucin de la versin


distribuida del algoritmo PSO (dPSO) con cuatro poblaciones, tanto en su
versin secuencial (sdPSO) como en su versin paralela (pdPSO), este
ltimo ejecutando en una red homognea de cuatro nodos.
Cantidad de Poblaciones (instancias)
Tiempo total de ejecucin de sdPSO
Tiempo total de ejecucin de pdPSO
Speed-up Real

4
3.994460 E+09
1.067027 E+09
0.936

Tabla 5.8: Tiempos de ejecucin de 4 islas, en uno y cuatro procesadores

Las mediciones obtenidas son consistentes con el anlisis realizado. El


costo en tiempo relacionado con la sincronizacin de los procesos no
se muestra significativo.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

127

5.6 Conclusiones
Basado en la versin cannica del algoritmo PSO (cPSO) se propuso un
algoritmo PSO distribuido (dPSO). Este algoritmo est formado por islas
con poblaciones independientes, con un intercambio de informacin en
forma regular y sincrnica.
Se evalo el rendimiento de estos dos algoritmos (cPSO y dPSO)
utilizando las funciones de prueba para optimizacin numrica con
variables reales definidas en Problem Definitions and Evaluation
Criteria for de CEC 2005 Special Session on Real-Parameter
Optimization [208]. Se gener la informacin de resultados de acuerdo
al protocolo definido.
Del anlisis de los resultados se puede concluir que la versin PSO
cannica (cPSO) mostr un rendimiento superior que la versin
distribuida (dPSO) en la mayora de los problemas de prueba,
considerando el conjunto de parmetros utilizado. Estos resultados son
consistentes con [200].
Se realiz adems la implementacin de la versin distribuida en su
variante secuencial (sdPSO) y paralela (pdPSO).
A partir del estudio de tiempos necesarios para cada iteracin del
algoritmo y para el traspaso de informacin entre procesos se efecto un
anlisis para estimar el ndice de speed-up de la versin paralela. Se
registraron los tiempos reales de ejecucin, siendo los mismos
consistentes con el anlisis efectuado.
Del anlisis de los resultados se puede concluir que la paralelizacin del
algoritmo dPSO (PSO distribuido) se muestra como conveniente respecto
de los ndices de speed-up, aunque el rendimiento como optimizador
global se ve reducido. Se debe tener en consideracin que la versin
paralela presentada (pdPSO) requiere de una red homognea de
computadoras.

128

JAVIER LPEZ

CAPTULO 6

PSO con Detector de Oscilacin


6.1 Introduccin
PSO es una tcnica de optimizacin que ha mostrado ser simple de
implementar, estable, escalable y con la cual se han obtenido buenos
resultados en optimizacin de funciones, incluso cuando se ha comparado
con otras tcnicas ms difundidas como algoritmos genticos. No
obstante, esta tcnica no est exenta de problemas, ya que tiene cierta
tendencia a quedar atrapada en mnimos locales, y la estrategia de
exploracin que utiliza alrededor de mnimos locales se muestra
ineficiente, dado que tiende a oscilar en exceso alrededor de los mismos,
utilizando muchas iteraciones del algoritmo para alcanzarlos [210].
Teniendo en cuenta este ltimo punto, en la versin del algoritmo
presentada en esta investigacin se cambia la estrategia de acercamiento a
los mnimos locales, cuando se detecta una oscilacin alrededor de ellos.
Para lograr este objetivo, se utiliza un procedimiento de bsqueda
determinista que minimiza la cantidad de pasos para alcanzar los puntos
ptimos. De esta forma, es posible acelerar la velocidad de convergencia
del algoritmo, sin aumentar la probabilidad de caer en ptimos locales,
siempre y cuando este procedimiento de bsqueda local se utilice en los
momentos adecuados de la bsqueda.

6.2 Detector de Oscilacin


Como ya se explic, la nueva versin del algoritmo planteada en esta
investigacin apunta a hacer ms eficiente la estrategia de
acercamiento cuando se detecta que una partcula est oscilando
alrededor de un mnimo (mximo) local (global). Por lo tanto, el
primer paso que se debe realizar es descubrir cundo una partcula se
encuentra en este estado (estado de oscilacin). Para ello, la nueva
versin del algoritmo analiza el signo de la velocidad resultante en
cada iteracin, para cada partcula en cada dimensin. Cuando se
percibe que existe una secuencia de signos de velocidad contrarios en
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

129

una sucesin de iteraciones, se define que la partcula, para esa


dimensin en particular, se encuentra en estado de oscilacin. Es
decir, se asume que si el resultado del componente de velocidad para
una partcula y para una dimensin especfica cambia de signo en
forma alternada en iteraciones sucesivas, es probable que se encuentre
oscilando alrededor de un mnimo (mximo) local (global). (Ver
figura 6.1).
Una vez detectado este estado, para esta partcula y esa dimensin en
particular, la velocidad se actualizar utilizando el procedimiento de
bsqueda local detallado en el prrafo siguiente.
Uno de los problemas que surgieron al momento de implementar y
probar el proceso de deteccin de oscilacin est relacionado con la
definicin acerca de cul es la cantidad de iteraciones sucesivas a
considerar. De acuerdo a pruebas empricas, la cantidad de
oscilaciones a considerar se mostr dependiente del problema a
optimizar. Por lo tanto, a los efectos de encontrar una solucin
genrica, se decidi tomar dos valores que mostraron buenos
resultados en diferentes tipos de problemas. Luego, se inicializan el
50% de las partculas con un valor, y el 50% con el valor restante. Los
dos valores utilizados corresponden a: Sensibilidad Alta = 3 y
Sensibilidad Baja = 8.

Figura 6.1: Ejemplo de oscilacin de una partcula

Luego, con el avance de las corridas del algoritmo, se efecta un


proceso de competencia entre partculas utilizando la tcnica de torneo
binario. De esta forma, se termina imponiendo para la mayora de las
partculas el parmetro que mejor resultado muestra para la funcin
130

JAVIER LPEZ

que est siendo optimizada. En el prrafo Adaptacin de Parmetros


se explica este proceso de competencia en detalle.

6.3 Procedimiento de Bsqueda Local


Una vez determinado que la partcula especifica, para una dimensin
especfica, se encuentra en estado de oscilacin, se cambia la frmula
tradicional de la metaheurstica PSO de clculo de velocidad por un
Procedimiento de Bsqueda Local Determinista (PBLD). Este
procedimiento busca las dos mejores ubicaciones (ubicaciones con
mejor fitness) dentro de las ubicaciones memorizadas por esa
partcula, con signos de velocidad opuestos en la dimensin a
considerar, y calcula el punto medio entre estas dos ubicaciones. Este
procedimiento se repite en las sucesivas iteraciones, hasta encontrar
una ubicacin con fitness peor que el anterior.
Como se desprende del funcionamiento del procedimiento de
bsqueda local, es necesario guardar para cada partcula la historia de
las ltimas n ubicaciones. En cada iteracin, se guarda la ubicacin
anterior en la memoria, y se elimina la ubicacin ms antigua. La
figura 6.2 ilustra el funcionamiento del Procedimiento de Bsqueda
Local.
Es importante destacar que este procedimiento se ejecuta en forma
independiente por cada dimensin. Considerando que el Detector de
Oscilacin es adems independiente por cada dimensin, en una
iteracin simple del mismo algoritmo se da el caso que la velocidad de
algunas de las dimensiones de una partcula se actualicen segn la
formula estndar del algoritmo PSO, y otras dimensiones de la misma
partcula en la misma iteracin se actualice segn este Procedimiento
de Bsqueda Local Determinista.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

131

Figura 6.2: Procedimiento de Bsqueda Local

En la versin cannica de PSO, cada vector n-dimensional representa


una solucin potencial completa. Dado que cada paso de actualizacin
se realiza en todas las dimensiones de este vector, es probable que
algunos componentes del vector se acerquen al ptimo, y que otros
componentes se alejen. Si los componentes que se acercan
contribuyen a la funcin de fitness en mayor medida que los
componentes que se alejan, la nueva ubicacin completa es
considerada mejor que la anterior. Por lo tanto, es importante entender
que es posible que el mejoramiento o empeoramiento del valor de
fitness no necesariamente corresponda con la conveniencia o no de
utilizar este procedimiento de bsqueda local en una dimensin
especfica. Este problema de inter-dependencia entre las diferentes
dimensiones ya existe en el algoritmo PSO tradicional [211]. En este
trabajo se asume que si se encuentra una nueva posicin con mejor
(peor) fitness, es ms probable que cada componente del vector ndimensional se acerque (aleje) de la solucin ptima o que los
beneficios que aportan las dimensiones que se acercan compensan los
potenciales perjuicios de las dimensiones que se alejan. Este supuesto
esta dado en forma implcita en el planteamiento original de la
metaheurstica PSO. Existen versiones donde se evala el fitness de la
partcula luego de actualizar cada dimensin. En este caso, se elimina
el efecto descrito a un costo de incrementar notoriamente la cantidad
de evaluacin de funciones [211].
Uno de los problemas que surgieron al momento de implementar y
probar el proceso de bsqueda local est relacionado con la definicin

132

JAVIER LPEZ

acerca de cul es la cantidad de memoria a considerar al momento de


buscar las dos mejores ubicaciones con signos de velocidad contrarios.
De acuerdo a pruebas empricas, la cantidad de memoria a considerar
se mostr dependiente del problema a optimizar. Por lo tanto, a los
efectos de encontrar una solucin genrica, se decidi tomar dos
valores que mostraron buenos resultados en diferentes tipos de
problemas. La mitad de las partculas se configuran con uno de los
valores que corresponden a Mucha Memoria (se almacenan las
ltimas 20 posiciones), y la otra mitad se configura con el otro valor
que corresponde a Poca Memoria (se almacenan las ltimas 8
posiciones). Tambin se encontr en forma emprica que para aquellas
funciones cuando el Detector de Oscilacin funcionaba mejor con
Sensibilidad Alta, convena utilizar una configuracin del
Procedimiento de Bsqueda Local Determinista con Mucha Memoria,
y para aquellos problemas cuando el Detector de Oscilacion
funcionaba mejor con Sensibilidad Baja, es ms eficiente utilizar una
configuracin del Procedimiento de Bsqueda Local Determinista con
Poca Memoria. En estudios posteriores se estudiar la relacin entre
estos dos parmetros del algoritmo propuesto.

6.4 Adaptacin de Parmetros


De acuerdo a lo expresado en los dos prrafos precedentes, se
encontraron dos configuraciones posibles para el Detector de
Oscilacin y dos configuraciones posibles para el Procedimiento de
Bsqueda Local Determinista (PBLD). Asimismo, se encontr una
relacin entre estas configuraciones. Por lo tanto, se decidi que al
comienzo del algoritmo se definen dos juegos de parmetros para el
Detector de Oscilacin (sensibilidad) y el Procedimiento de Bsqueda
Local Determinista (memoria).
1. Mucha Sensibilidad = 3 ; Mucha Memoria = 20
2. Poca Sensibilidad = 8 ; Poca Memoria = 8
El 50% de las partculas comienzan con la configuracin 1), y el 50%
de las partculas comienzan con la configuracin 2).
Asociado a cada partcula se almacenan dos variables. Las mismas se
utilizan para calcular la tasa de xito del Procedimiento de Bsqueda
Local Determinista (PBLD). En la primera variable se registra la
cantidad de veces que se activ el procedimiento de bsqueda local
PBLD. En la segunda variable, se registra la cantidad de veces que el
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

133

procedimiento de bsqueda local PBLD encontr una ubicacin con


mejor fitness, En esta segunda variable, se va sumando la cantidad en
forma acumulada. Se denominar v1 a la primera variable y v2 a la
segunda variable.
Al momento de activarse por primera vez el PBLD

v1=v1+1=1.
En la siguiente iteracin, si el procedimiento encontr una mejor
ubicacin

v2=v2+1=1.
En la siguiente iteracin, si el procedimiento encontr una mejor
ubicacin

v2=v2+2=3.
Por lo tanto, cada nueva iteracin que colabora a encontrar una
ubicacin exitosa, tiene una ponderacin mayor. Luego, se define la
tasa de xito como

v2/v1.
En cada iteracin, con una probabilidad de 0.01 se seleccionan dos
partculas al azar. Se efecta un torneo binario, y aquella con mejor
tasa de xito traspasa los parmetros de configuracin del Detector de
Oscilacin (sensibilidad) y el Procedimiento de Bsqueda Local
Determinista (memoria) a la partcula con peor fitness. Ntese que en
este torneo no se considera el fitness de la partcula, si no solamente se
intenta mensurar la colaboracin del Procedimiento de Bsqueda
Local Determinista al proceso de optimizacin.

6.5 Algoritmo Propuesto (ocsPSO)


A continuacin se detalla el pseudocodigo del algoritmo propuesto. El
mismo agrega a la versin original del algoritmo el Detector de
Oscilacin, el Procedimiento de Bsqueda Local Determinista y el
proceso de adaptacin de parmetros del Detector de Oscilacin
(sensibilidad) y del Procedimiento de Bsqueda Local Determinista
(memoria)

134

JAVIER LPEZ

6.6 Experimentos
El rendimiento de oscPSO fue medido optimizando las siguientes
funciones mencionadas en [208].
Fueron seleccionadas las siguientes funciones:
Funciones Unimodales

F1: Shifted Sphere Function

F2: Shifted Schwefels Problem 1.2

F3: Shifted Rotated High Conditioned Elliptic Function

F4: Shifted Schwefels Problem 1.2 with Noise in


Fitness

F5: Schwefels Problem 2.6 with Global Optimum on


Bounds

Multi-Modal Functions

F6: Shifted Rosenbrocks Function

F7: Shifted Rotated Griewanks Function without


Bounds

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

135

F8: Shifted Rotated Ackleys Function with Global


Optimum on Bounds

F9: Shifted Rastrigins Function

F10: Shifted Rotated Rastrigins Function

Todas las funciones fueron optimizadas en 30 dimensiones,


considerando un mximo de 300.000 evaluaciones de funciones, de
acuerdo a los definido en [208]. En todos los casos, los parmetros a1
and a2 fueron definidos con un valor de 2 y el factor de inercia w fue
reducido linealmente desde 0.9 a 0.4 con el correr de las iteraciones
[195] [190].
El rendimiento de ambos algoritmos fue comparado utilizando un
anlisis de Varianza. Se tomaron las corridas de los mismos y se
aplic el test de Kolmogorov-Smirnov para analizar si las muestras
tenan una distribucin normal. En aquellos casos donde las muestras
mostraron una distribucin normal, se calculo el valor estadstico t de
Student. Para aquellas muestras que no mostraron una distribucin
normal, se llev a cabo la prueba no paramtrica de Kruskal-Wallis.
En todos los casos, si el valor de p (p-value) era menos que 0.05, las
diferencias fueron consideradas como estadsticamente significantes
[118] [115] [119].
La tabla 6.1 resume el rendimiento del algoritmo comparndolo con la
versin cannica del mismo.

Tabla 6.1: Valores promedios de 25 corridas independientes

136

JAVIER LPEZ

Como se puede observar en la tabla 6.1, el rendimiento del algoritmo


oscPSO fue mejor que la versin original del algoritmo PSO. En 5 de
las 10 funciones de pruebas (funciones 2,3,6,9 y 10) mostr mejores
resultados. En las cinco funciones restantes, no fue posible determinar
cul de las propuestas tuvo un desempeo superior.
La figuras 6.3 incluye los grficos que muestran la evolucin de la
convergencia del algoritmo por cada una de las funciones de prueba.
Puede observarse que la ocsPSO converge generalmente ms rpido
que la versin cannica del algoritmo. Estos mismos grficos indican
que la mayor presin de convergencia debido al uso de procedimiento
de bsqueda local PBLD se aplica en el momento correcto del proceso
de bsqueda, dado que la convergencia general del algoritmo a
ptimos globales se incrementa sin aumentar la tendencia del
algoritmo a quedar atrapados en ptimos locales.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

137

138

JAVIER LPEZ

Figura 6.3: Evolucin de la convergencia del algoritmo por cada una de las
funciones de prueba

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

139

6.7 Conclusiones
Este captulo present una nueva variante del algoritmo PSO llamada
ocsPSO, que permite mejorar el proceso de bsqueda, particularmente
en la fase de aproximacin final de las partculas a los valores
ptimos. De acuerdo a trabajos previos llevados a cabo por otros
autores [210] [211], se demostr que este proceso final de
aproximacin es ineficiente en la propuesta original del algoritmo
PSO, dado que la versin cannica de esta metaheurstica utiliza
demasiadas iteraciones para lograr la aproximacin deseada.
Teniendo esto en mente, surgen dos cuestiones para resolver:
1. Determinar cundo el algoritmo est oscilando alrededor de
algn ptimo local (global).
2. Desarrollar un procedimiento que incremente la eficiencia de la
aproximacin final de la partcula al ptimo.
Para resolver la primera de las cuestiones, un Detector de Oscilacin
fue incorporado para analizar la variacin del signo del componente
velocidad de cada partcula en cada iteracin. Cuando se observa que
el signo de la velocidad cambia en forma alternativa, se considera que
la correspondiente partcula est oscilando para esa dimensin.
Para enfrentar la segunda de las cuestiones detalladas, se incorpor un
Procedimiento de Bsqueda Local Determinsta. El propsito de este
procedimiento es encontrar la ubicacin del ptimo en la menor
cantidad de iteraciones posible.
La incorporacin de ambos procedimientos requiere la configuracin
de nuevos parmetros que no estn presentes en la versin original del
algoritmo. Con el objetivo de no incrementar el nivel de complejidad,
se seleccion un conjunto estndar de valores para esos parmetros,
las partculas se inicializaron con diferentes valores para esos
parmetros, y se incorpor un proceso de auto adaptacin en funcin
de las caractersticas de la funcin a optimizar.
Los resultados reportados muestran que los objetivos propuestos
fueron alcanzados, y que el rendimiento de esta nueva versin del
algoritmo PSO es mejor que la versin original del mismo.

140

JAVIER LPEZ

CAPTULO 7

PSO Binario con Control


de Velocidad
7.1 Introduccin
Tanto el mtodo PSO binario original como la variante descripta en la
seccin 4.2 dejan en evidencia la importancia que tiene una adecuada
modificacin del vector velocidad. En el caso del PSO binario
original, el problema central se encuentra en el escaso control que se
realiza a la hora de acotarlo. Si el vector velocidad toma valores
excesivos, el aplicarle la funcin sigmoide hace que la probabilidad de
cambio sea casi nula. Como forma de compensar este efecto, el
mtodo definido en [204] busc descomponer el vector velocidad en
dos partes para poder tener una opcin de cambio por el valor
contrario al que actualmente tiene la partcula.
Ambos mtodos trabajan sobre partculas cuyas posiciones actuales se
expresan de manera binaria.

7.2 Algoritmo Propuesto


Esta tesis propone modificar el vector velocidad utilizando una
versin modificada del algoritmo gBest PSO continuo. Es decir que,
bajo esta propuesta cada partcula tendr dos vectores velocidad, V1 y
V2. El primero se actualiza segn la ecuacin (7.1).
V1i(t+1)=w.V1i(t)+1.rand1.(2pBesti1)+2.rand2.(2gBest1)
(7.1)

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

141

donde las variables rand1, rand2, 1 y 2 funcionan de la misma forma


que en (?). Los valores pi y gi corresponden al i-simo dgito binario
de los vectores pBesti y gBest, respectivamente.
La diferencia ms importante entre las ecuaciones (4.5) y (7.1) es que
en la segunda, el desplazamiento del vector V1 en las direcciones
correspondientes a la mejor solucin encontrada por la partcula y al
mejor global, no dependen de la posicin actual de dicha partcula.
Luego, cada elemento del vector velocidad v1 es controlado segn (7.2)

(7.2)
donde

(7.3)
Es decir que, el vector velocidad v1 se calcula segn la ecuacin (7.1)
y se controla segn la ecuacin (7.2). Su valor se utiliza para
actualizar el valor del vector velocidad V2, como se indica en la
ecuacin (7.4).

v2(t+1)=v2(t)+v1(t+1)

(7.4)

El vector V2 tambin se controla de manera similar al vector V1


cambiando limit1sup y limit1inf por limit2sup y limit2inf
j
j
j
j
respectivamente. Esto dar lugar a 2j que ser utilizado como en la
ecuacin (7.2) para acotar los valores de V2. Luego se le aplica la
funcin sigmoide y se calcula la nueva posicin de la partcula segn
la ecuacin (4.7).
El concepto de control de velocidad se basa en el mtodo descrito en
el captulo anterior donde se utiliza un control similar para evitar las
oscilaciones finales de las partculas alrededor del ptimo.

142

JAVIER LPEZ

7.3 Comparacin de Rendimiento


En esta seccin se compara el rendimiento de la variante de PSO
binario propuesta en este trabajo con el mtodo propuesto por
Kennedy y Eberhart en [85] y con el PSO binario definido en [204],
en la minimizacin de un conocido conjunto de funciones de prueba
n-dimensionales las cuales se detallan en la siguiente seccin.

Funciones utilizadas
En esta seccin se describen las funciones de prueba utilizadas para
realizar la evaluacin comparativa entre los tres algoritmos.

Funcin Sphere o Funcin 1 de De Jong


La definicin de la funcin es la siguiente:

(7.5)
Esta es la funcin de prueba ms sencilla. Es continua, convexa y
unimodal. El mnimo global es 0 y se encuentra ubicado en xi=0 para
i=1:n

Figura 7.1: Funcin Sphere utilizando dos dominios distintos. Ambos grficos se ven
muy parecidos pese al cambio de escala. A la izquierda se representa la funcin
haciendo que cada variable tome valores entre -500 y 500 y a derecha se considera
un rea menor, entre -10 y 10.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

143

Funcin Rosenbrock o Funcin 2 de De Jong


En esta funcin el ptimo global est dentro de un largo y estrecho
valle plano con forma parablica. Si bien encontrar el valle es trivial,
la convergencia hacia el ptimo global es difcil y por lo tanto, este
problema se ha utilizado en varias ocasiones en evaluar el rendimiento
de los algoritmos de optimizacin.
La definicin de la funcin es:

(7.6)
El mnimo global es 0 y se encuentra ubicado en xi=1 para i=1:n

Figura 7.2: Funcin Rosenbrock. A izquierda se visualiza un rea ms grande que a


la derecha donde se focaliza en el mnimo global

Funcin Griewangk
Se trata de una funcin con muchos ptimos locales y se define as:

(7.7)
El mnimo global es 0 y se encuentra ubicado en xi=1 para i=1:n

144

JAVIER LPEZ

Figura 7.3: Funcin Griewangk utilizando tres dominios distintos a fin de mostrar las
caractersticas que posee la funcin. Arriba a la izquierda se utiliza una rea amplia
para mostrar que la funcin es similar a la Funcin 1. Arriba a la derecha muestra
que visto ms de cerca posee muchos valles y picos. Sin embargo, la figura inferior
muestra que cerca del ptimo los valles y los picos son suaves.

Funcin Rastrigin
La funcin se define de la siguiente forma:

(7.8)
Esta funcin se basa en la funcin 1 y agrega la funcin coseno para
producir muchos mnimos locales. Esto da lugar a una funcin
multimodal. El mnimo global es 0 y se encuentra ubicado en xi=0
para i=1:n

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

145

Figura 7.4: Funcin Rastrigin. A la izquierda sus variables toman valores entre -5 y 5
mientras que a la derecha lo hacen entre -1 y 1

Pruebas realizadas y parmetros utilizados


Se realizaron 40 corridas independientes de cada uno de los mtodos
utilizando 2000 iteraciones mximas. Se trabaj con n=3, 5 y 10
variables. El tamao de la poblacin en todos los casos fue de 20
partculas. Los valores de limite1 y limite2 son iguales para todas las
variables; stos son [0;1] y [0;6] respectivamente. Por lo tanto, los
valores de los vectores velocidad V1 y V2 fueron limitados a los
rangos [0.5,0.5] y [3,3] respectivamente. Es decir que pueden
obtenerse probabilidades en el intervalo [0.0474,0.9526]. Los valores
para 1 y 2 fueron establecidos en 0.25. Con respecto a los mtodos
[85] y [204], se establecieron lmites de velocidad entre [3,3] a fin de
mantener el mismo rango de probabilidades.

Resultados obtenidos
La tabla 7.1 muestra el fitness de la mejor solucin encontrada por
cada mtodo, as como el valor del mejor fitness promedio de las 40
ejecuciones. Las funciones de prueba utilizadas son las siguientes:
Sphere, Rosenbrock, Griewangk y Rastrigin, las cuales aparecen
numeradas del 1 al 4 respectivamente.

146

JAVIER LPEZ

Tabla 7.1: Resultados Obtenidos

Puede observarse que el mtodo propuesto encuentra las mejores


soluciones y posee los menores valores de fitness promedio.
La tabla 7.2 indica si los resultados obtenidos son significativos o no.
En dicha tabla se ha utilizado el smbolo para representar que el
pvalor<0.05, indicando que la hiptesis nula debe ser rechazada. El
tipo de test realizado es un test de extremo inferior cuya hiptesis nula
afirma que la media del mtodo indicado en la fila de la tabla no es
menor a la media del mtodo indicado en la columna. El smbolo
indica que la hiptesis nula no se rechaza.
La figura 7.5 muestra los diagramas de caja calculados sobre los
mejores resultados obtenidos en cada una de las 40 corridas. Cada
columna corresponde a una funcin distinta. Los diagramas de una
misma fila corresponden a la misma cantidad de variables.
Considerando de arriba hacia abajo, las filas 1, 2, 3 y 4 corresponden a
los resultados obtenidos al evaluar las funciones en 3, 5, 10 y 20
variables respectivamente. En cada figura, los mtodos estn
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

147

numerados del 1 al 3 correspondiendo a el mtodo propuesto, PSO


binario [85] y PSO binario [204] respectivamente.
Como puede observarse, efectivamente, el mtodo propuesto ofrece
mejores soluciones que las otras dos alternativas de PSO.
La figura 7.6 est organizada de la misma forma que la figura 7.5 y
muestra los diagramas de caja correspondientes al fitness promedio de
cada una de las 40 corridas realizadas para cada funcin y para cada
cantidad de variables consideradas. En ella puede observarse la
diversidad poblacional de cada mtodo. En general, a partir de la
altura de cada caja, puede decirse que si bien el mtodo [204] presenta
los mayores rangos intercuartiles, las soluciones que ofrece son las
peores. En cuanto al mtodo propuesto y el PSO binario [85], los
rangos son equivalentes.
Tabla 7.2: Resultados de las pruebas de hiptesis. El smbolo representa que el
pvalor fue inferior a 0.05 es decir que se rechaza la hiptesis nula que afirma que la
media del mtodo indicado en la fila no es menor a la del mtodo indicado en la
columna

148

JAVIER LPEZ

7.4 Conclusiones
En este captulo se ha presentado una variante del mtodo PSO binario
propuesto originalmente en [85] que controla las modificaciones del
vector velocidad utilizando una variante del mtodo PSO continuo.
Los resultados obtenidos al minimizar un conjunto de funciones de
prueba son mejores a los arrojados por los mtodos definidos en [85] y
[204].
La tabla 7.2 permite ver que a medida que aumenta la cantidad de
variables utilizadas, la diferencia de medias se hace cada vez ms
significativa.
La figura 7.5 permite mostrar que en la mayora de las ejecuciones, los
resultados obtenidos por el mtodo propuesto han sido superiores a los
de los otros dos. Asimismo, en la figura 7.6 se observa que el mtodo
propuesto es el que genera los mejores resultados de fitness promedio
de la poblacin, por lo menos en las funciones de prueba evaluadas. Si
se considera el rango intercuartil del fitness promedio (amplitud de los
diagramas de caja de la figura 2) puede afirmarse que el mtodo
propuesto en este articulo y el PSO binario de [85] son equivalentes,
ofreciendo el primero las mejores soluciones.
Es de sumo inters avanzar con el anlisis del algoritmo propuesto.
Por un lado, midiendo el rendimiento cuando el nmero de
dimensiones del problema crece, con el objetivo de aplicarlo a la
resolucin de problemas del mundo real. Por otro lado, analizando su
desempeo utilizando PSO de poblacin variable [212]. Esto ltimo
permitira adaptar la cantidad de individuos del cmulo (swarm) en
funcin de la complejidad del problema a resolver.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

149

Figura 7.5: Diagramas de caja correspondientes a las mejores soluciones obtenidas


en cada una de las 40 corridas independientes. Sobre el eje de las abscisas se indica
el mtodo: 1 = Mtodo propuesto, 2 = PSO binario [85] y 3 = PSO binario [204].
Cada fila indica los resultados obtenidos con 3, 5, 10 y 20 variables

150

JAVIER LPEZ

Figura 7.6: Diagramas de caja correspondientes al fitness promedio de cada una de


las 40 corridas independientes. Sobre el eje de las abscisas se indica el mtodo: 1 =
Mtodo propuesto, 2 = PSO binario [85] y 3 = PSO binario [204]. Cada fila indica
los resultados obtenidos con 3, 5, 10 y 20 variables.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

151

CAPTULO 8

varMOPSO - MOPSO de Poblacin Variable


8.1 Introduccin
Se han desarrollado mltiples tcnicas, generalmente surgidas del
mbito de la ingeniera, para tratar con problemas con ms de un
objetivo [213], pero podemos citar el trabajo de Rosenberg [214] de
mediados de los 60s como pionero en la utilizacin de algoritmos
evolutivos para la resolucin de este tipo de problemas.
Si bien esta rea de inters se mantuvo relativamente inexplorada por
los siguientes 25 aos, en la actualidad este cuerpo de conocimiento
atrae el trabajo de muchos cientficos dedicados al tpico de
optimizacin y aprendizaje de mquinas [137].
La primera implementacin de un algoritmo evolutivo aplicado a
optimizacin multi-objetivo fue el algoritmo VEGA (Vector
Evaluation Genetic Algorithms), producto de la tesis doctoral de J.
David Schaffer y presentado en la conferencia inicial sobre algoritmos
genticos en 1985 [215] [216] [217].
Un problema multi-objetivo implica la optimizacin simultnea de
varias funciones objetivo, normalmente en conflicto. En este tipo de
problemas, la solucin consiste en un conjunto de soluciones ptimas.
La razn de crear un conjunto de soluciones se debe a que no se puede
considerar ninguna de ellas como la mejor de todas cuando se
consideran todas las funciones objetivo, dado que la mejor solucin
para una de las funciones objetivo puede ser peor para otra de las
funciones. En este contexto, se utiliza el concepto de dominancia de
Pareto. Dada una poblacin S, el conjunto de soluciones ptimas est
definido como el sub-conjunto de S formado por todos los individuos
de S que son no dominados. En el espacio de soluciones, este conjunto
es conocido como el conjunto de Pareto, y su imagen en el espacio de
las funciones objetivo es conocido como el Frente de Pareto (ver
captulo 3, Optimizacin Multi-objetivo, para ms detalles).
El propsito principal de un algoritmo de optimizacin multi-objetivo
es encontrar las soluciones candidatas tan cerca como sea posible del
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

153

frente de Pareto real del problema, que estn uniformemente


distribuidas y que adems, maximicen la cobertura del mismo [218].
La metaheuristica PSO ha sido utilizada para resolver problemas
multi-objetivo reportndose buenos resultados [219] [156] [220]
[221]. En un algoritmo del tipo MOPSO (Multi-objective Particle
Swarm Optimization) la seleccin del lder tiene gran influencia tanto
en lo relacionado con la convergencia de las soluciones al frente de
Pareto as como en la diversidad de las soluciones encontradas [222].
De acuerdo a [223], es necesario que el algoritmo posea un
mecanismo de elitismo para converger al frente ptimo de Pareto. En
la mayora de las implementaciones de algoritmos de la clase
MOPSO, el conjunto de soluciones no dominadas es un archivo
externo con una cantidad fija de soluciones. Existen diferentes
mtodos para seleccionar qu soluciones no dominadas eliminar
cuando la cantidad de miembros del conjunto exceden la cantidad prefijada [224] [223] [220] [222]. Cuando la ejecucin del algoritmo
finaliza, este archivo externo contiene el conjunto de soluciones del
frente de Pareto obtenido. Idealmente, este archivo es un subconjunto
de las soluciones del frente de Pareto real para el problema
optimizado.
En este captulo de la presente tesis se propone una nueva versin de
un algoritmo PSO aplicado a problemas multi-objetivo, se efecta una
descripcin detallada del mismo, y se realiza una comparacin entre el
rendimiento de la versin propuesta y los algoritmos ms destacados
en esta clase de optimizacin.

8.2 Algoritmo Propuesto (varMOPSO)


Existen mas de 30 variaciones que permiten aplicar la metaheuristica
PSO, propuesta por Kennedy y Eberhart [84], a problemas multiobjetivo. Entre estas variaciones de algoritmos tipo MOPSO, se
encuentran como los ms destacados SMPSO y OMOPSO dado que
los mismos presentan los mejores indicadores de rendimiento [220].
En este captulo se presenta una nueva propuesta de algoritmo tipo
MOPSO, llamado varMOPSO, que incorpora el concepto de
poblacin variable. De la misma forma que la solucin adoptada en
[222], este algoritmo utiliza un archivo externo para mantener las
soluciones no dominadas encontradas. Para calcular la velocidad de
las partculas se utiliza la ecuacin de velocidad con constriccin
propuesta en [156], basada en el factor de constriccin desarrollado en
[193].

154

JAVIER LPEZ

La variacin de la poblacin entre generaciones es el resultado de


agregar el concepto de edad para las partculas y la utilizacin de un
procedimiento de insercin / eliminacin basado en la habilidad de
cada individuo para resolver el problema presentado. El algoritmo
utiliza el concepto de elitismo, y slo las soluciones dominadas se
eliminan de la poblacin principal. Estos procedimientos estn
basados en la versin de PSO mono-objetivo presentada en [212].
Para los algoritmos PSO, la seleccin del lder es crucial cuando se
calcula la velocidad de las partculas [222] [180] [211]. El mtodo
propuesto aqu utiliza diferentes mecanismos de seleccin de lderes
entre las dos fases del algoritmo. Durante la primera fase, se
seleccionan dos lderes al azar del archivo externo de soluciones no
dominadas, y se realiza un torneo binario basado en su valor de
agrupamiento (crowding value), de acuerdo al mecanismo propuesto
en [225]. Durante la fase final del proceso, el procedimiento de
seleccin detallado anteriormente se utiliza el 50% de las veces,
mientras que el restante 50% se elige en forma determinstica el
individuo con menor valor de agrupamiento, con el objetivo de
encontrar nuevas soluciones en las regiones menos pobladas del frente
de Pareto. Para evaluar el rendimiento del mtodo propuesto se
realizaron comparaciones con tres metaheuristicas representativas del
estado del arte en optimizacin multi-objetivo, NSGAII [154], SPEA2
[155] y SMPSO [156].
El experimento y la obtencin de resultados se llev a cabo utilizando
el framework de desarrollo jMetal [226], utilizndose la
implementacin de las metaheursticas anteriormente detalladas, e
incorporando en el mismo el mtodo propuesto.
En la siguiente seccin se describe en detalle el algoritmo propuesto.
Luego, en las subsiguientes dos secciones se explican los
experimentos llevados a cabo, los resultados y las conclusiones
obtenidas.

Descripcin del Algoritmo


La principal contribucin de esta propuesta est focalizada en la
variacin del tamao de la poblacin principal del algoritmo. Esta
incorporacin permite al algoritmo adaptar el nmero de individuos
que utiliza en ambas fases del proceso de bsqueda, exploracin y
explotacin, basada en la dificultad del problema.
La fase de exploracin del algoritmo es la fase inicial donde se efecta
la bsqueda de las regiones promisorias del espacio de bsqueda. En
esta fase, la poblacin crece hasta 6 o 7 veces el tamao de la
poblacin inicial, dependiendo del problema y la ejecucin. Entonces,
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

155

a medida que la iteraciones del algoritmo avanzan, el nmero de


individuos es gradualmente reducido hasta alcanzar un tamao
mnimo de poblacin pre-establecido. Esta ltima etapa de ejecucin,
cuando la poblacin alcanza un valor mnimo fijado a priori, se
identifica como la fase de explotacin del algoritmo.
En los siguientes prrafos, los conceptos y procedimientos
incorporados al algoritmo para cambiar el tamao de la poblacin son
descritos en detalle.

Tiempo de Vida
El tiempo de vida de las partculas en uno de los conceptos
fundamentales de esta versin propuesta. El mismo define la
permanencia de la partcula dentro de la poblacin. Este valor est
expresado en cantidad de iteraciones, que una vez alcanzadas, habilita
la remocin de la partcula. Esta ltima se elimina de la poblacin, a
menos que la misma pertenezca al conjunto de soluciones no
dominadas. El tiempo de vida de una partcula est ntimamente
relacionado con su valor de aptitud y permite que las mejores
permanezcan ms tiempo en la poblacin, influenciando as el
comportamiento del resto de las partculas.
Para evaluar y asignar el tiempo de vida de cada individuo de la
poblacin, los miembros de la misma se agrupan de acuerdo a un
valor de ranking en k clases. El valor de ranking indica el nivel de no
dominancia de los individuos dentro de la poblacin, calculado de
acuerdo a la propuesta del algoritmo NSGAII, en [154]. Con el
resultado de este agrupamiento, se aplica el mtodo propuesto en
[212].
Para este procedimiento se aplica elitismo. La solucin es removida de
la poblacin si y slo si no es una solucin no dominada. Este
procedimiento se ejecuta mientras el tamao de la poblacin sea
mayor que un valor mnimo pre-establecido.

Insercin de Partculas
El procedimiento de insercin de partculas compensa el
procedimiento de remocin de las mismas, incrementa la capacidad de
bsqueda y la velocidad de convergencia. La cantidad de partculas a
incorporar en cada iteracin se corresponde con la cantidad de
individuos aislados. Un individuo aislado es una partcula que no tiene
ningn vecino dentro de un radio r calculado de acuerdo al criterio
definido en [212], y presentado en la siguiente ecuacin:

156

JAVIER LPEZ

(8.1)
El mecanismo adoptado para definir la ubicacin de los nuevos
individuos es el siguiente: 20% de estas nuevas partculas reciben el
vector posicin de alguno de lo mejores individuos de la poblacin, y su
vector velocidad se define en forma aleatoria; el restante 80% tanto su
ubicacin como su velocidad son aleatorios, de acuerdo a lo definido en
[212].
Para seleccionar los mejores individuos se eligen dos partculas al azar
del archivo externo de soluciones no dominadas, y se efecta un torneo
binario entre ellas. Se define como ganadora la solucin que se encuentra
en la zona menos poblada dentro del espacio de funciones objetivo [154].
Para prevenir que el tamao de la poblacin crezca en forma excesiva,
existe una variable c que regula el crecimiento de la misma. Esta variable
refleja la probabilidad de crear una nueva partcula. Al comienzo de la
ejecucin del algoritmo, esta variable tiene un valor de 1.0. Si el tamao
de la poblacin crece ms que un 5% entre generaciones, el valor de la
variable c decrece 0,1. Cuando esta variable c alcanza el valor de 0,
permanece con ese valor por el resto de la iteraciones de la ejecucin del
algoritmo. Es una variable cuyos valores son montonos decrecientes
acorde al nmero de iteracin. De esta forma, el algoritmo incrementa el
tamao de la poblacin durante las primeras iteraciones, alcanzado su
valor mximo en esta primera fase de ejecucin. Una vez que la variable
c alcanza el valor 0, el tamao de la poblacin decrece en forma gradual
hasta alcanzar la cantidad mnima de individuos pre-establecida.

Remocin de partculas
Este procedimiento tiene como objetivo eliminar las partculas que se
encuentran en reas superpobladas del espacio de parmetros (espacio de
bsqueda).
En una primera instancia, se calcula la cantidad de vecinos cercanos de
cada partcula. Este nmero se corresponde con la cantidad de partculas
que rodean a un individuo dentro de un radio r1, calculado de acuerdo a la
siguiente ecuacin:

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

157

(8.2)
Todas las partculas con ms de 0 vecinos cercanos son candidatas
para remocin. Para cada individuo, se calcula un valor normalizado
entre 0 y 1 considerando dos factores, la aptitud de la partcula para
resolver el problema y la densidad de los individuos que rodean cada
solucin. La aptitud de cada partcula se calcula de acuerdo a la
siguiente ecuacin:

ai=(max(ra)rai)/(max(ra)min(ra)) ; pi=(pri/max(pr))
api=0.5ai+0.5pi ; i=1..n

(8.3)

donde
max(ra) = nivel de dominancia mximo dentro de el
sobconjunto de partculas que son candidatas para ser
removidas;

rai = nivel de dominancia de cada partcula;

max(pr) = mxima cantidad de vecinos cercanos en la


subpoblacin de partculas considerada que son candidatas para
la remocin

pri = nmero de vecinos cercanos de cada partcula.

El calculo previo siempre retorna un valor entre 0 y 1. Como se puede


inferir analizando la ecuacin ?, el clculo de la aptitud normalizada
de cada partcula depende en un 50% del ranking de la misma (nivel
de no dominacin dentro de la poblacin) y en un 50% de la cantidad
de vecinos dentro del radio r1 previamente descrito, calculado en el
espacio de bsqueda.
Por cada partcula, un valor aleatorio uniformemente distribuido entre
0 y 0.50 es seleccionado. Si el valor de aptitud normalizado es menor
que este valor, la partcula es removida de la poblacin, en otro caso,
el individuo permanece en la misma. La probabilidad de remover una
partcula dada es inversamente proporcional al valor calculado de
aptitud normalizada.

158

JAVIER LPEZ

Este procedimiento utiliza elitismo. La solucin es removida de la


poblacin slo si no es una solucin no dominada. Este proceso de
remocin de partculas es ejecutado mientras el tamao de la
poblacin total sea mayor que un valor mnimo pre-establecido.
El algoritmo 7 muestra el detalle del pseudo-cdigo de la presente
propuesta.
El proceso ComputeLifeTimes recibe la poblacin completa de
partculas y computa el tiempo de vida correspondiente a las partculas
que tienen tiempo de vida nulo.
El proceso AddArchiveLeaders agrega soluciones no dominadas al
archivo externo correspondiente, y elimina soluciones dominadas por
estos nuevos integrantes. Si el archivo de soluciones externas tiene
una cantidad mayor de soluciones que un valor fijo pre-definido, esta
funcin utiliza el concepto de crowding distance del algoritmo
NSGAII [227] para decidir cules soluciones deben permanecer y
cuales deben eliminarse.

El cmputo de los valores de radio, de acuerdo a ecuacin (8.1) y (8.2)


se efecta dentro de la rutina ComputeRadius. La misma recibe el
enjambre completo de partculas como parmetro de entrada y
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

159

devuelve la cantidad de partculas que deben ser insertadas en la


poblacin. Este mdulo es el encargado de evitar la concentracin de
muchas partculas en las mismas regiones del espacio de bsqueda,
por esta razn tambin retorna en Eliminados la lista de partculas que
tienen vecinos cercanos. Estas partculas son eliminadas en la rutina
EliminCrow, basado en el valor de aptitud normalizado calculado para
cada individuo de acuerdo a la ecuacin (8.3).
En la figura 8.1 se puede apreciar la evolucin del tamao de la
poblacin para una corrida tpica. Al principio, la poblacin
aproximadamente sextuplica su tamao, y luego disminuye hasta
alcanzar el lmite inferior prefijado. En la figura 8.2 se visualiza la
evolucin del frente de Pareto obtenido por una corrida del algoritmo.
En la imagen de la izquierda se aprecia el frente de Pareto obtenido en
el momento en que el algoritmo reduce la cantidad de individuos al
mnimo prefijado. En la imagen de la derecha se muestra el frente de
Pareto obtenido. Comparando ambas imgenes es posible inferir que
durante el proceso inicial el algoritmo identifica las zonas promisorias,
y durante el proceso final de la ejecucin, al alcanzar la poblacin
mnima, se refinan las soluciones encontradas. En esta ltima etapa el
algoritmo acta como una especie de procedimiento de bsqueda
local.

Figura 8.1: Evolucin del tamao de la poblacin en varMOPSO.


Funcin ZDT6

160

JAVIER LPEZ

Figura 8.2: Evolucin del frente de Pareto. Etapa de exploracin - explotacin.


Funcin DTLZ3

8.3 Experimentos
Para evaluar el rendimiento de varMOPSO, se utilizaron el conjunto
de funciones de prueba ZDT (Zitzler-Deb-Thiele) [228] y DTLZ
(Deb-Thiele-Laumanns-Zitzler) [229] configuradas con 2 objetivos.
Los experimentos fueron llevados a cabo con los algoritmos NSGAII,
SPEA2, SMPSO y varMOPSO.
Los siguientes indicadores fueron calculados: Additive Unary Epsilon,
Spread, e Hipervolumen [150][230][231], para comparar la calidad de
los frentes de Pareto obtenidos por cada uno de los algoritmos. Estos
indicadores son representativos para medir respectivamente la
convergencia general al frente de Pareto real, la cobertura del frente de
Pareto obtenido y la uniformidad alcanzada en la distribucin de las
soluciones [230] [231].
Para desarrollar el algoritmo as como para llevar adelante los
experimentos y generar los resultados, como se mencion
anteriormente se utiliz el framework de desarrollo jMetal [226], dada
su facilidad de uso y su buena documentacin.
Para los primeros tres algoritmos se utiliz una poblacin fija de 100
individuos. Para el caso de varMOPSO, se utiliz una poblacin
inicial de 100 partculas. El tamao del archivo externo de soluciones
no dominadas fue de 100 en todos los casos, para permitir una
comparacin justa de los frente de Pareto obtenidos.
En NSGAII [227] y SPEA2 [232] se utiliz SBX y mutacin
polinomial como operadores de cruza y mutacin, respectivamente. La
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

161

probabilidad de cruza se configur con el valor 0,9 y la probabilidad


de mutacin en 1/L, donde L es el nmero de variables de decisin.
En SMPSO [233], se utiliz mutacin polinomial. La probabilidad de
mutacin se defini en 1/L, donde L es el nmero de variables de
decisin. En varMOPSO, un mnimo de poblacin de 10 individuos y
k=4 clases fueron utilizados para calcular el tiempo de vida de las
partculas.
En todos los casos se aplicaron 25.000 evaluacin de funcin, y cada
algoritmo fue ejecutado 25 veces para cada problema.
La Tabla 8.1 muestra los resultados del indicador Hipervolumen para
todos los algoritmos aplicados a todos los problemas de prueba. La
tabla incluye la mediana y el valor del rango intercuartil (IQR). Los
mejores resultados se muestran en gris oscuro, y los segundos mejores
resultados en gris claro. Las tablas 8.2 y 8.3 muestran los resultados
del test de hiptesis e indican si los valores son estadsticamente
significantes para los dos grupos de las funciones de prueba. En cada
tabla, el smbolo y implica un p-value < 0.05, indicando que la
hiptesis nula (ambas distribuciones tienen la misma mediana) es
rechazada; en otro caso se utiliza el smbolo .
En forma similar, las tablas 8.4, 8.5y 8.6 muestran la misma
informacin para el indicador Spread, y las tablas 8.7, 8.8 y 8.9
muestran la Mediana y el rango intercuartil del indicador Epsilon (I).
Las figuras 8.3 a 8.8 muestran los diagramas de cajas para los
diferentes indicadores calculados.
Tabla 8.1: Hipervolumen. Mediana e Intercuatil

162

JAVIER LPEZ

Tabla 8.2: Hipervolumen. Significancia estadstica en funciones ZDT

Tabla 8.3: Hipervolumen. Significancia estadstica en funciones DTLZ Functions

Tabla 8.4: SPREAD. Mediana e Intercuartil

Tabla 8.5: Spread. Significancia estadstica en funciones ZDT

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

163

Tabla 8.6: Spread. Significancia estadstica en funciones DTLZ

Tabla 8.7: Epsilon. Mediana e Intercuartil

Tabla 8.8: Epsilon. Significancia estadstica en funciones ZDT

Tabla 8.9: Epsilon. Significancia estadstica en funciones DTLZ

164

JAVIER LPEZ

Figura 8.3: Hipervolumen. Diagrama de cajas. funciones ZDT

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

165

Figura 8.4: Hipervolumen. Diagrama de cajas. funciones DTLZ

166

JAVIER LPEZ

Figura 8.5: Spread. Diagrama de cajas. funciones ZDT

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

167

Figura 8.6: Spread. Diagrama de cajas. funciones DTLZ

168

JAVIER LPEZ

Figura 8.7: Epsilon. Diagrama de cajas. funciones ZDT

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

169

Figura 8.8: Epsilon. Diagrama de cajas. funciones DTLZ

8.4 Conclusiones
Luego de analizar los resultados presentados en las tablas
mencionadas, pueden extraerse las siguientes conclusiones

170

Ambos algoritmos del tipo MOPSO (SMPSO y varMOPSO)


son capaces de generar frentes de Pareto de mejor calidad que
los algoritmos NSGAII y SPEA2, considerando las tres
mtricas utilizadas y el conjunto de funciones de prueba
seleccionado.

JAVIER LPEZ

Considerando el indicador Hipervolumen, varMOPSO supera el


rendimiento de SMPSO en siete de las funciones de prueba, en
cuatro de las funciones no se puede determinar quin presenta
un rendimiento superior, y en una de las funciones SMPSO
presenta un mejor desempeo.

Considerando el indicador Spread, varMOPSO supera el


rendimiento de SMPSO en una de las funciones de prueba, y en
el resto de las once funciones no se puede determinar quin
presenta un rendimiento superior.

Considerando el indicador Epsilon, varMOPSO supera el


rendimiento de SMPSO en tres de las funciones de prueba, en
siete de las funciones no se puede determinar quin presenta un
rendimiento superior, y en dos de las funciones SMPSO
presenta un mejor desempeo.

En general, varMOPSO presenta una mayor dispersin que


SMPSO, pero en la mayora de las ejecuciones el primero
obtuvo el mejor resultado individual para las mtricas
evaluadas en las diferentes funciones de prueba.

Basado en lo presentado en este captulo, se considera que esta


propuesta es una interesante opcin para resolver problemas multiobjetivo. El mtodo est basado en la extensin a problemas multiobjetivo del algoritmo varPSO, incorporando adems mejoras
estudiadas en algoritmos del tipo MOPSO representativos del estado
del arte.
El uso de algoritmos con tamaos de poblacin variable es una
alternativa poco explorada en el campo de optimizacin multiobjetivo. Cambiando el tamao de la poblacin, se logra una mejor
adaptacin al problema en ciernes, y se incrementa la posibilidad de
encontrar un equilibrio entre las fases de exploracin y explotacin,
caracterstica deseable de todo algoritmo de optimizacin. Creemos,
sin embargo, que existe todava mucho trabajo que puede realizarse en
el campo de MOEAs (Multiobjective Evolutionary Algorithms) de
poblacin variable.
En esta segunda parte se hizo hincapi en la proposicin de nuevas
variantes de algoritmos PSO, tanto aplicado a problemas monoobjetivo como multi-objetivo. Adems, se efectuaron comparaciones
de rendimiento entre las versiones propuestas y algoritmos
comparables representativos del estado del arte, utilizando funciones
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

171

de prueba de laboratorio. En la siguiente parte este trabajo se focaliza


en la aplicacin en un problema del mundo real de los conceptos
tratados.

172

JAVIER LPEZ

PARTE III
Caso de Estudio

CAPTULO 9

Optimizacin de Prestaciones Mdicas


En esta tercera y ltima parte de la tesis se aborda la implementacin de
procesos de optimizacin basados en metaheursticas, aplicados a una
empresa del mundo real perteneciente a la industria de la salud. La
empresa es Unidad Coronaria Mvil Quilmes (UCMQ), del grupo Ayuda
Mdica. Esta compaa es la principal empresa de emergencias y atencin
domiciliaria a nivel nacional. La actividad central de este tipo de
empresas es la asignacin de mviles a prestaciones. Para este tipo de
problema, de naturaleza logstica, es totalmente aplicable la utilizacin de
algoritmos de optimizacin estocsticos. En la figura 9.1 se adjunta un
documento comercial donde se aprecia que esta empresa constituye una
de las principales compaas privadas de emergencias del pas, dando
cobertura a Capital Federal y Gran Buenos Aires, lo que representa un
amplio porcentaje de la poblacin total de Argentina.

Figura 9.1: Folleto Comercial Grupo Ayuda Mdica

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

175

La actividad se caracteriza por requerir servicios de alta calidad, con


elevados parmetros de cumplimiento, y se desarrolla a su vez en un
entorno muy competitivo. El mercado exige que las compaas sean
altamente eficientes, y tengan que maximizar el uso de sus recursos
disponibles para lograr el cumplimiento de la demanda de servicios en los
trminos requeridos.
La necesidad de respuesta en tiempo real y la sensibilidad de la actividad
configuran un desafo interesante para abordar con las tcnicas alcanzadas
por la presente tesis.
En este captulo se presenta un revelamiento detallado del
funcionamiento de esta compaa. El mismo nos permitir entender el
problema abordado desde la perspectiva de los procesos de negocio
involucrados.

9.1 Introduccin
La misin principal de una compaa de emergencias mdicas en
Argentina es proveer servicios mdicos pre-hospitalarios de diferentes
niveles de complejidad: emergencias mdicas, urgencias, visitas mdicas
domiciliarias y traslado programados de pacientes a centros de atencin
de salud.
Estas compaas proveen servicios mdicos para el inmediato y eficiente
cuidado mdico de los pacientes que sufren una enfermedad o sufrieron
algn tipo de herida y/o lastimadura. Ellas son el segundo eslabn en la
cadena de emergencia, el primero es la familia o persona que acompaa
al paciente en el momento que se produce la necesidad de atencin
mdica, y el tercero es el hospital o centro mdico y sus instalaciones.
Cada incidente que se reporta a este tipo de compaas se clasifica basado
en su severidad en algunas de las siguientes categoras:
1. Rojo: riesgo de muerte inminente.
2. Amarillo: emergencia seria, sin riesgo de muerte inminente.
3. Verde: visita mdica domiciliaria, evento de baja criticidad.
4. Azul: traslado programado.
Como se puede apreciar, la actividad es altamente sensible dado que
en las prestaciones con categora roja o amarilla los tiempos de
llegada a la resolucin de una prestacin pueden definir la diferencia
entre la vida y la muerte. Para las prestaciones de categora verde, el

176

JAVIER LPEZ

tiempo de llegada es un factor importante, pero en ningn caso es


determinante en la salud a largo plazo de la persona.
Por lo tanto, es importante hacer una primera diferenciacin en cuanto
a los tipos de problemticas, las prestaciones rojas y amarillas que
representan emergencias mdicas y las verdes relacionadas con
consultas domiciliarias. Para el caso de las emergencias mdicas, el
proceso de despacho (vehicle dispatching) se resume en enviar el
mvil adecuado disponible que se encuentre ms cerca del lugar de la
emergencia. De esta forma, en este tipo de problemtica el principal
desafo consiste en lograr un nivel de cobertura (simple o doble)
adecuado previo a la generacin del incidente y as asegurar que
cualquier emergencia dentro del rea de servicio se resuelve dentro de
los tiempos mximos establecidos. Este tipo de problema se conoce
con el nombre de Ambulance Location Problem [234] [235] [235],
existiendo amplia literatura al respecto relacionada con la definicin
del problema y sus posibles soluciones [237] [238] [239].
Para el caso de las prestaciones no urgentes (verdes) el problema es de
naturaleza distinta, ya que no es tan importante la ubicacin previa de
los mviles, sino ms bien el desafo principal est relacionado con
contar con un proceso de despacho optimizado, que minimice los
tiempos desde que la persona llama por telfono hasta su atencin
mdica, y que pueda brindarse con un esquema de costos sustentable
para la empresa proveedora del servicio. Este problema puede
considerarse como una variante del clsico Vehicle Routing Problem
(VRP), siendo uno de los problemas de optimizacin combinatoria
ms importantes, introducido por Dantzig and Ramser hace ms de
cinco dcadas [a058]. Este problema pertenece al conjunto de los
problemas NP-Hard [240] [241].
En los ltimos aos, se han utilizado diferentes metaheursticas para
abordar este tipo de problemas [239] [242] [243] [244], logrando
resultados cada vez mejores, pero enfocndolos como problemas
mono-objetivo. En este trabajo se explora el uso de metaheursticas
multi-objetivo para resolver el problema de un despacho ptimo para
prestaciones no urgentes, minimizando los tiempos de atencin y los
costos del servicio en forma simultnea.

9.2 Objetivo
El objetivo del proyecto consiste en la incorporacin, en la plataforma
actual de software de la compaa, de una herramienta informtica
para automatizar el proceso de Despacho (Asignacin de mviles a
Prestaciones). Cabe destacar que para la compaa, las prestaciones de
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

177

categora verde representan ms del 70% de las prestaciones, y es en


esta problemtica donde existen mayores oportunidades de mejora.
El algoritmo ser el encargado de seleccionar y asignar el mvil que
debe atender cada prestacin, optimizando los tiempos de llegada para
la atencin del paciente, aumentando la eficiencia en la utilizacin de
los recursos disponibles, estandarizando el proceso de despacho,
permitiendo definir procesos de trabajo homogneos y con altos
estndares de calidad independientemente de las personas que lo
operen.
Dentro de los requerimientos iniciales de la empresa se encuentran la
necesidad de optimizar dos aspectos contrapuestos, la reduccin del
tiempo de atencin y el uso de mviles de terceros (costos). Por lo
tanto, se seleccionaron metaheursticas multi-objetivo que permiten la
optimizacin simultnea de ms de un objetivo. Este tipo de
algoritmos devuelven al finalizar el proceso un conjunto de soluciones
ptimas considerando todos los objetivos en juego. Este conjunto de
soluciones se conoce como el frente de Pareto.
Es importante destacar la importancia de ofrecer al tomador de
decisiones la posibilidad de elegir, a posteriori del proceso de
optimizacin, entre un conjunto de soluciones ptimas del problema.
De esta forma puede aprender acerca del problema, visualizar en
forma grfica la contraposicin de los objetivos, analizar la
interaccin entre los criterios, y visualizar informacin estructural
[150].
Una implementacin exitosa de un proyecto de este tipo permite
aumentar la competitividad de la empresa. Especficamente se plantea
alcanzar los siguientes logros:

Proponer un procedimiento de despacho semi-automatizado,


con el propsito de optimizar y estandarizar la asignacin de
mviles a las prestaciones a cumplir, actuando como
herramienta de soporte principal a todas las actividades de
Coordinacin de Cabina.

Dar soporte a las actividades de la Direccin Mdica, en la


planificacin de la realizacin del servicio, sugiriendo el
cumplimiento de las prestaciones con la unidad y el equipo
mdico adecuados, teniendo en consideracin la reduccin de
tiempos de llegada y la optimizacin de los recursos
disponibles.

Brindar informacin acerca del estado del sistema, tiempos de


demoras estimados, resumiendo en grficos de fcil lectura el

178

JAVIER LPEZ

cuadro de situacin general, permitiendo tomar acciones


correctivas por parte de la Direccin Mdica en caso de
considerarse necesario.

Agregar el soporte de cartografa digital, en la toma de la


prestacin para clculo de ubicacin exacta, as como en las
pantallas que muestran el estado de situacin.

Incorporar a la aplicacin de Administracin de Cabina


herramientas para la estandarizacin de las tareas de
seguimiento y control de las prestaciones y mviles.

9.3 Relevamiento de Situacin Actual


En este captulo se describen con grado de detalle los procesos de
trabajo actuales relacionados con la recepcin de llamados, asignacin
del despacho, seguimiento y resolucin de los mismos. Estos procesos
comprenden todas las actividades desarrolladas dentro del mbito de
la Cabina de la UCMQ. Se analiza adems aspectos puntuales de la
aplicacin informtica que brinda soporte a estas tareas.

Fuentes de Informacin
Esta documentacin se gener a partir de las siguientes fuentes de
datos:
1. Relevamientos
(a) Responsable de Sistemas de Unidad Coronaria Mvil
Quilmes
(b) Responsable de Coordinacin de Cabina de Unidad
Coronaria Mvil Quilmes
2. Informacin general provista por la compaa
3. Trabajo de campo en UCMQ
4. Presentacin en reuniones de Directorio
5. Normas ISO-9000:
(a) Manual de Calidad Grupo UCMQ
(b) Anexo I - Diagramas de Manual

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

179

(c) Normas para Radio-Operadores


(d) Formacin Profesional
(e) Coordinacin Mdica
(f) rea Tcnica
(g) Recepcin Despacho y Asist. Mdica

9.4 Descripcin del Proceso


Es esta parte del trabajo se detallan las actividades que se encuentran
bajo la responsabilidad del Coordinador de Cabina, y que tienen
relacin directa con la resolucin de prestaciones mdicas.
Las podemos agrupar en las siguientes categoras

Actividades de planificacin y administracin de recursos

Solicitud y seguimiento de recursos operativos


(Guardias)

Disponibilidad de mviles (recursos operativos) para


atender las prestaciones

Recursos humanos en la cabina

Actividades operativas vinculadas a la resolucin de


prestaciones

Recepcin de prestaciones

Asignacin de prestaciones

Seguimiento de prestaciones

En ningn caso se releva ni se analiza las actividades vinculadas con


el acto mdico en s, en el momento de atencin al paciente o en
momentos previos en forma de instrucciones de pre-arribo o similar.

180

JAVIER LPEZ

Figura 9.2: Equipo mdico habitual - Unidad de Terapia Intensiva Mvil - UTIM

Actividades de Planificacin y Administracin de Recursos


En esta seccin se describen los procesos relacionados con el armado
de los equipos en cada mvil, turnos y guardias mdicas.

Respecto de la solicitud y seguimiento de los recursos


operativos
1. En base a la demanda de prestaciones, considerando demanda
estimada, informacin histrica y en base emprica el
Coordinador de Cabina efecta el pedido de cantidad de
recursos operativos (mviles de guardias) al rea de
Coordinacin Mdica. Esta negociacin es permanente, y se
monitorea en forma diaria por parte de los responsables del
rea.
2. El rea de Coordinacin Mdica informa al Coordinador de
Cabina la cantidad de recursos operativos (mviles de
guardias), as como los mdicos y/o choferes que componen
cada uno de los recursos disponibles. Esta informacin se enva
por correo electrnico.
3. El Coordinador de Cabina confirma que las guardias comiencen
de acuerdo a lo planificado. Registra en el sistema los recursos
operativos con los que cuenta. En una planilla de clculo se
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

181

registra la hora de inicio y fin de la guardia y deja registro de


las novedades del da. Esta informacin no se vuelca al Sistema
de Administracin de Cabina, solo se registra para comunicar
por correo electrnico.
4. El Coordinador de Cabina informa al rea de Coordinacin
Mdica las guardias que no comenzaron de acuerdo a lo
previsto, y cualquier otra novedad que considere adecuado.

Respecto de la disponibilidad de mviles (recursos


operativos) para atender las prestaciones
1. Se cuenta con una disponibilidad de 80 UTIMs (Unidad de
Terapia Intensiva Mvil), ubicadas en bases pre-fijadas.
2. Se cuenta con un nmero aproximado de 130 mviles estndar
(auto con mdico) propios, algunos de ellos con mdicos en
relacin de dependencia y otros en modalidad contratado.
3. Se cuenta con un nmero aproximado de 50 mviles externos.
Estos mviles pertenecen a otras empresas que brindan el
servicio en modalidad tercerizados.
4. Las guardias de UTIM empiezan y terminan siempre en los
mismos horarios.
5. Las guardias de mviles estndar empiezan y terminan en
diferentes horarios programados.
6. Existe una unidad UTIM por base. Las UTIMs en general,
vuelven a la base una vez cerrada cada prestacin. En la figura
9.2 se puede apreciar una Unidad de Terapia Intensiva Mvil.
7. Las unidades mviles estndar no regresan a la base entre
prestacin y prestacin.
8. El mdico visitador (no UTIM) est en condiciones de resolver
prestaciones categorizadas como verdes y amarillas.
9. Las bases son fijas. En verano, se dan de baja 2 bases por falta
de demanda.
10. El horario de almuerzo lo determina la cabina para el caso de
las UTIM. El mismo se interrumpe, en caso de prestaciones
categorizadas como amarillo o rojo.

182

JAVIER LPEZ

11. Hay mdicos de mvil estndar que no hacen prestaciones


categorizadas con el color rojo, o no hacen pediatra, o no
hacen gerontologa.
12. Cada mvil realiza un mnimo de prestaciones. Esto se hace de
esta forma para lograr una utilizacin uniforme de los recursos
y un esquema rentable por unidad.
13. La tabla 9.1 muestra los lugares donde se cubren en forma
directa las prestaciones. Son 14 partidos pertenecientes al Gran
Buenos Aires (GBA) adems de la Ciudad Autnoma de [Link].
14. Hay zonas que se atienden exclusivamente con terceros, que se
corresponden con la zona del GBA y La Plata no comprendido
en el prrafo anterior.
15. En forma directa e indirecta se cubren los 24 partidos
pertenecientes a los dos primeros grupos de partidos de la
provincia de Buenos Aires que rodean la ciudad autnoma,
totalizando un rea de 3.833km2. Esta rea tiene una poblacin
estimada de 12.800.000 personas (ver figura 9.3).
16. Existe adems recursos externos cubriendo las mismas zonas
que los mviles propios, dado que la demanda promedio es
mayor a la que se le puede dar servicio. Con estos proveedores
se trabaja en forma regular, y se le asegura un piso de servicios
para que de esa forma pueda planificar los recursos que pone a
disposicin.
17. Hay zonas rojas, donde se acude con un mvil del tipo UTIM,
independiente del cdigo de categora (a veces con
acompaamiento policial). Estas zonas no estn identificadas
formalmente, y forma parte del conocimiento y experiencia del
despachador.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

183

Lugares de prestacin del servicio


Ciudad de Buenos Aires
General San Martn
Hurlingham
Jos C. Paz
Lomas de Zamora
Morn
San Isidro
Tres de Febrero
Almirante Brown
Esteban Echeverra
Florencio Varela
Merlo
San Fernando

Avellaneda
Tigre
Ituzaing
Lans
Malvinas Argentinas
Quilmes
San Miguel
Vicente Lpez
Berazategui
Ezeiza
La Matanza
Moreno

Tabla 9.1: Partidos del Gran Buenos Aires donde se cubren las prestaciones

Figura 9.3: Ciudad de Buenos Aires y partidos del GBA donde se presta el servicio

184

JAVIER LPEZ

Respecto de los recursos humanos en la cabina


1. Hay rotacin de operadores y despachadores en la cabina, entre 2
y 4 por ao.
2. Los turnos en la cabina estn definidos para que funcionen en
forma uniforme, intercalando recursos que concurren das
laborables y durante fines de semana y feriados. De esta forma, se
elimina el efecto que la cabina funcione en diferentes modalidades
de lunes a viernes y los fines de semana.
3. El personal de cabina, despachadores y operadores manifiestan
que el apoyo geogrfico es central, con utilizacin de cartografa.

Actividades Operativas Vinculadas a la Resolucin de


Prestaciones
A continuacin se describe el proceso de recepcin, despacho y
cumplimiento de la prestacin, detallando solamente aquellos aspectos
relevantes para la optimizacion de prestaciones mdicas.

Recepcin de Prestaciones
Todas las prestaciones se reciben en la cabina e ingresan por las
siguientes vas:
1. Telfono, directamente desde el lugar donde se genera la
prestacin.
2. Internet, ingresando directamente al Sistema de Administracin
de Cabina.
3. Telfono, desde otras cabinas tomadoras.
Al ingresar las mismas se registra la siguiente informacin:
Fecha y hora

Cdigo de categora de prestacin (Color tomado)

Rojo emergencia, con riesgo de vida

Amarillo urgencia

Verde no urgencia

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

185

Celeste verde con prioridad

Azul traslado programado

Nombre y apellido del paciente.

Domicilio - Localidad - Partido.

Despacho

Principal (rojos y amarillos)

Eje Zona Sur

Eje Zona Oeste

Eje Zona Norte

Capital Federal A

Capital Federal B

Capital Federal C

Capital Federal D

Capital Federal E

Externos (Terceros que brindan servicios)

Tomador

Edad (adulto - infante)

Unidad de negocio (convenio)

El cdigo de categora de prestacin se define de acuerdo a una


categorizacin establecida en el protocolo de recepcin de llamadas.
Se efectan una serie de preguntas estndar (Triash), y de acuerdo a
las respuestas recibidas se define el cdigo de categora.
El Triash del sistema sirve como soporte acerca de las preguntas a
realizar al paciente o a la persona que est llamando. No se registran
las respuestas de la persona que llama. En caso de existir informacin
significativa, la misma se ingresa como una nota no estructurada en el
Sistema de Administracin de Cabina.
El proceso de asignacin de categora (rojo, verde, amarillo) es
crucial. En algunos casos, se cambia la categora producto de la

186

JAVIER LPEZ

demora. A veces, las pre-pagas lo informan con otro cdigo, motivado


en que no lo reportaron a tiempo.
Estas prestaciones ingresan a una cola de prestaciones a servir
(Despachos). Cada prestacin pertenece a un nico despacho, en un
nico momento. Cada prestacin se asigna a un despacho en funcin
de la categora, zona y tipo de recurso. Esta asignacin por defecto
ofrecida por el Sistema de Administracin de Cabina se puede
modificar, y por lo tanto esa prestacin cambia de despacho. La
informacin de prestaciones generalmente se visualiza agrupada por
despacho. Esta divisin por despacho es arbitraria, y es una forma de
balancear la carga de trabajo entre los despachadores. Las prestaciones
con cdigo de categora rojo se visualizan en todos los despachos en
todo momento. De esta forma, se minimizan los riesgos de falta de
asignacin a prestaciones crticas. Los despachos tienden a ser
compartimientos estancos.
En todo momento se puede ver la situacin de una prestacin,
identificando los siguientes estados:

Asimismo, se visualiza el tiempo que transcurri desde el llamado


inicial, hasta la fecha/hora actual o la hora de llegada al domicilio.
Una vez "En domicilio", se registra el tiempo que lleva en ejecucin la
prestacin. La informacin de estados se mantiene actualizada en
tiempo real, por la utilizacin del sistema WAP-Nextel.
La figura 9.4 muestra un diagrama de transicin de estados en lo que
puede encontrarse una unidad mvil, sea esta una Unidad de Terapia
Intensiva Mvil (UTIM) o un mvil de baja complejidad.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

187

Figura 9.4: Diagrama de Transicin de Estados de un recurso operativo (Mvil)

En la figura 9.5 se puede visualizar los estados por lo que puede pasar
una prestacin, cualquiera sea la categora de la misma.

Figura 9.5: Diagrama de Transicin de estados de una prestacin

188

JAVIER LPEZ

El tiempo mximo de llegada que se considera como referencia es de


15 minutos para las prestaciones categorizadas como rojo, aunque en
la realidad se intenta solucionarlo tan pronto como se pueda. El
tiempo mximo de llegada que se considera como referencia para los
amarillos es 30 minutos. Se resuelven entre este periodo de tiempo y 1
hora. Para los verdes, el tiempo es 3 o 4 horas, hasta 10 horas, como
lapso de cumplimiento estndar. Con el servicio saturado, pueden ser
hasta 72 horas. El grupo Ayuda Mdica realiza muy pocos traslados
programados. Los mismos se realizan sin mdico.
El clculo de ubicacin geogrfica de un recurso operativo (mvil) se
efecta a partir de la ltima ubicacin reportada, y un clculo
emprico. A veces, se chequea va telfono. Los mviles tipo UTIM
poseen un dispositivo de posicionamiento satlital (GPS). Accediendo
al software del mismo, se puede ver la ubicacin del mvil en tiempo
real. No existe ninguna integracin entre el Sistema de Administracin
de Cabina y el software de GPS.
Hay que balancear el uso de los mviles para que resulte un esquema
rentable y sustentable en el tiempo. El promedio de prestaciones
cerradas es entre 2 y 3 prestaciones por hora por cada mvil.
En caso de que exista un mvil del tipo UTIM sin asignacin durante
ms de 1 hora, el mismo se utiliza para la resolucin de cdigos
verdes en zonas cercanas a la base. Se interrumpe esa asignacin en
caso de surgir prestaciones con cdigo rojo.
El sistema muestra el historial de uso de un mvil, ingresando a la
pantalla detallada de uso de ese recurso operativo.
Los cdigos verdes se priorizan, considerando si es afiliado directo, o
dependiendo de la empresa pre-paga del paciente y/o su plan de salud.
Las prestaciones categorizadas como cdigos amarillos que se
encuentran demoradas, pueden transformarse a rojo si vara el cuadro
mdico. En aquellas prestaciones categorizadas con cdigo rojo o
amarillo, se llama al lugar de la prestacin para brindar instrucciones
de pre-arribo. Este procedimiento es de central importancia para
resolver la prestacin de una forma exitosa.

Asignacin de prestacin (Despacho)


Cada despacho tiene un despachador responsable. El despachador es
el encargado de asociar un recurso (UTIM, mvil estndar, tercero,
ambulancia para traslado) a una prestacin. Una vez realizada esta
asociacin, la misma es comunicada va WAP-Nextel a la unidad.
Al momento de asignar el despacho, se define una categora (rojo,
amarillo o verde). Esta categora no tiene que ser la misma que la
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

189

categora de la prestacin, aunque coincide para la mayora de los


casos. Al recurso operativo (mdico) se le informa la categora de la
asignacin del despacho.
El mdico de la unidad estndar de visita (no UTIM) puede rechazar
la prestacin en caso que considere que no esta capacitado a brindar la
misma, excepto el caso que sea un cdigo rojo.
Las prestaciones con cdigo rojo pendiente de asignacin son
visualizadas en todos los despachos en un sector destacado, primeros
en la lista. Para cdigos amarillo o rojo, siempre se asigna la unidad
UTIM ms cercana. De no existir una cerca, se puede cubrir
temporalmente con una unidad mvil estndar (no UTIM). De no
existir demanda, es posible utilizar una UTIM para una prestacin
diferente de amarillo o rojo. A los mviles estndar y UTIM se
despachan entre 3 y 4 asignaciones, para evitar que la lista de
pendientes se incremente en exceso. El mdico responsable del mvil
puede alterar el orden de las prestaciones a atender, respetando la
priorizacin natural por categora (rojo, amarillo y verde). En caso de
prestaciones priorizadas, se informan al mdico formalmente por
telfono. No se priorizan en el Sistema de Administracin de Cabina.
No se cambia el orden de prestaciones en el sistema WAP-Nextel. Las
prestaciones con reclamos tienen precedencia sobre las no reclamadas,
a igual categora. Tiempo atrs, las prestaciones se pasaban de a 1 a
los mdicos. No se asignaba una nueva hasta no cerrar la prestacin
actual. Esto permite se mantenga el orden de asignacin establecido
en cabina, pero el mdico no sabe su carga de trabajo restante. Este
procedimiento se utiliza ocasionalmente para corregir malos hbitos,
en casos donde los mdicos no informan va WAP-Nextel el estado de
la prestacin. En el sistema, se pueden identificar qu mviles son
multiasignables, o si slo pueden tener una nica asignacin. Existen
re-asignaciones en forma permanente en funcin de la demanda en
cada momento. Estas re-asignaciones se informan por WAP-Nextel y
se confirman por telfono. Existen casos donde se categoriza mal el
cdigo de prestacin, por temas de criterio o mala informacin
brindada por el paciente. No se hacen seguimiento de estos casos,
comparando los sntomas reportados por el paciente con el diagnostico
brindado por el mdico. La cantidad de re-categorizaciones es un
indicador de la experiencia del Operador. Operadores con poca
experiencia, pueden realizar un mal diagnostico de la situacin y
categorizar o re-categorizar en forma errnea.
Las empresas externas donde se tercerizan servicios tienen un
dispositivo WAP-Nextel, y todos los mviles externos se visualizan en
el sistema como uno. Las prestaciones que se les asignan se informan
va WAP-Nextel. Las empresas terceras informan el estado y el cierre
190

JAVIER LPEZ

de las prestaciones va WAP-Nextel. Es posible cambiar el estado de


ms de una prestacin por vez, lo que posibilita la registracin del
estado correcto en estos casos. Se debe validar que este procedimiento
sea estndar para todos los casos. Los externos resuelven prestaciones
categorizadas como rojo, amarillos o verdes, dependiendo del tipo de
recurso operativo que poseen, UTIM y/o mvil estndar. En el sistema
de Administracin de Cabina no se registra el tipo de recurso
operativo con el que dispone el tercero. Todos los externos se
administran como un despacho independiente, sin agrupar por zona
geogrfica.

Seguimiento de las prestaciones


El despachador debe realizar un seguimiento de la prestacin,
analizando en forma permanente las prestaciones que estn pendientes
de asignar, as como las prestaciones asignadas pendientes de
resolucin. Tambin debe realizar un seguimiento de las prestaciones
que se encuentran en proceso de ejecucin (En domicilio), llamando
cada 10 minutos una vez iniciada la misma. Esta tarea no se registra
en el Sistema de Administracin de Cabina. El sistema de
Administracin de Cabina no identifica las prestaciones en ejecucin
con ms de 10 minutos que no tienen llamados de seguimiento.
En el caso de prestaciones categorizadas como rojas o amarillas, el
despachador llama al domicilio del paciente para dar instrucciones de
pre-arribo, y monitorear el estado de salud del mismo. No se registra
en el sistema si se ha efectuado o no el llamado de pre-arribo. Por lo
tanto, el sistema no identifica las prestaciones urgentes que an no
tuvieron llamado de pre-arribo. La informacin relevante que surja del
llamado de pre-arribo se puede documentar en el Sistema de
Administracin de Cabina como nota no estructurada en la prestacin.
La informacin de Notas no se enva por el sistema WAP-Nextel.
En forma manual, se actualiza regularmente la ubicacin de cada
mvil. Es de utilidad, en caso de traslados o derivaciones que
requieren un tiempo prolongado.
El seguimiento de prestaciones se efecta en base a la experiencia del
despachador, el Sistema de Administracin de Cabina no identifica
informacin relacionada con el seguimiento.
A continuacin se detallan los eventos centrales relacionados con el
seguimiento de una prestacin:
1. Reclamos: Los reclamos recibidos, en general asociados a
demoras en los tiempos, se registran en el sistema como notas
asociadas a la prestacin. De esa forma, el despachador puede
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

191

ver on-line aquellas prestaciones que tiene reclamos asociados.


Las prestaciones an no resueltas que fueron reclamadas, se
priorizan. El tiempo de demora estimado se calcula en forma
emprica.
2. Cumplimiento de la Prestacin: En este prrafo se describen las
acciones vinculadas al cumplimiento de la prestacin, en
referencia a los procesos vinculados con el sistema de
informacin. No se detallan ni analizan los procesos vinculados
con el acto mdico.
Cuando se llega al domicilio de la prestacin, esta informacin se
actualiza en forma on-line utilizando el sistema Wap-Nextel
(Estado En domicilio). Transcurridos 10 minutos desde la llegada
al domicilio, el despachador tiene que efectuar el seguimiento de
la prestacin llamando al mvil correspondiente.
3. Derivacin: Los cdigos rojo y amarillo pueden generar
derivacin a un instituto mdico. La misma se efecta
generalmente con el mismo mvil, aunque a veces la derivacin
se puede realizar con otro mvil. La derivacin debera ser slo
dentro del Gran Buenos Aires en prestaciones de GBA, aunque
existen casos que se efectan derivaciones a Capital Federal. La
misma situacin se da al inversa, para las prestaciones de
Capital Federal. En caso de corresponder una derivacin, el
despachador ser el responsable de gestionar la misma. Una vez
acordada la derivacin con la institucin mdica receptora del
paciente, el despachador le suministra toda la informacin
necesaria al mvil para que realice la derivacin al lugar que
corresponda. En una derivacin se indica hacia dnde va
(localidad) en el Sistema de Administracin de Cabina. El
domicilio o institucin mdica donde se deriva se ingresa como
nota no estructurada. La derivacin es un caso particular de
traslado. Para los traslados, se informa en el sistema los
diferentes tramos del traslado. Esta informacin queda asociada
a la prestacin.
4. Fin de la Prestacin: Cuando se finaliza la prestacin, esta
informacin se actualiza en forma on-line utilizando el sistema
WAP-Nextel (Prestacin finalizada).

192

JAVIER LPEZ

Para cerrar una prestacin se debe registrar:


(a) Diagnostico - obligatorio
(b) Co-pago, de existir - opcional
(c) Medicacin utilizada - opcional
El diagnstico y la medicacin se pueden ingresar va sistema
Wap-Nextel por parte del mdico. En caso que el mdico no lo
realice, lo ingresa el despachador. El inicio y fin de la guardia
no se registra va WAP-Nextel, dado que puede existir un
problema de acceso al telfono Nextel entre los diferentes
integrantes del equipo mdico.
En este captulo se present un relevamiento del funcionamiento de la
empresa Unidad Coronaria Mvil Quilmes, en los que respecta a los
procesos vinculados con la resolucin de prestaciones mdicas. El
mismo nos sirve para lograr un entendimiento del funcionamiento
general de la compaa, as como brindar el marco de referencia para
entender en detalle el problema de optimizacin que deben resolver
este tipo de compaas en forma diaria.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

193

CAPTULO 10

Propuesta de Solucin
En este captulo se describe en detalle la propuesta de solucin ofrecida a
la compaa dentro del mbito de este proyecto. Esta propuesta considera
todos los desarrollos, modificaciones y adquisiciones de software previos
y posteriores que permiten implementar el proceso de optimizacin del
despacho automatizado. El enfoque de este proyecto es del tipo integral, y
la solucin cubre todas las tareas necesarias para alcanzar los objetivos
planteados. El mdulo central del presente trabajo es la automatizacin
del proceso de asignacin de mviles a prestaciones mdicas, llamado
Asignacin Automtica. Este proceso se basa en la utilizacin de
algoritmos evolutivos multi-objetivo. Entre los mdulos ms destacados
complementarios a la solucin algortmica propiamente dicha podemos
mencionar la aplicacin de Cartografa Digital ( GIS - Geographic
Information System). Esta aplicacin permite definir las coordenadas a
partir de una direccin (geo-localizar) y provee todos los mapas y las
APIs (Interfaces de Aplicacin de Programas) para mostrar la
informacin geo-referenciada.
Tambin podemos mencionar el mdulo de Seguimiento Automatizado,
con el objetivo de estandarizar los procesos de trabajo y asegurar el
correcto cumplimiento del servicio.
Por las caractersticas de la solucin ofrecida, y dado que el algoritmo de
optimizacin se embebe dentro del Software de Cabina existente en la
compaa, el desarrollo y ajustes de interfaces es un punto destacado
dentro del plan de tareas de este proyecto.
En el presente captulo vamos a realizar, en primera instancia, una
descripcin general resaltando las caractersticas de la solucin. A
continuacin, se realizar un descripcin del proceso propuesto y la
utilizacin de las nuevas herramientas de software. Para finalizar, se
describen en detalle los tres componentes principales, la cartografa
digital que permite ubicar en un plano todos los elementos en juego, el
proceso de asignacin automtica que posibilita generar una asignacin
de mviles a prestaciones optimizada y el mdulo de seguimiento cuyo
objetivo consiste en mejorar la calidad del servicio prestado.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

195

10.1 Beneficios
En esta seccin se describen los principales beneficios asociados con la
solucin propuesta:
Asignacin de recursos en forma optimizada, reduciendo tiempos
de llegada a las diferentes prestaciones, aumentando la calidad de
servicio y maximizando el rendimiento de los recursos
disponibles.

Mantenimiento de estado general del sistema, que resuma estado


de situacin en cada momento, permitiendo tomar acciones
correctivas y preventivas de acuerdo a criterio de la Direccin
Mdica.

Generacin de informacin estimada de arribo a las diferentes


prestaciones a cumplir, de acuerdo al estado del sistema,
informacin histrica de servicios, y simulacin de uso de
recursos.

Aumento de la eficiencia en la utilizacin de recursos.

Incremento de la informacin disponible para los despachadores,


dada la utilizacin de cartografa digital base.

Estandarizacin del proceso de despacho, considerando el estado


de situacin completa.

10.2 Consideraciones
En esta seccin se listan las puntos ms relevantes a considerar:
Siempre que sea posible se obtiene la ubicacin exacta de los
elementos involucrados en el proceso de despacho (prestaciones,
mviles, bases o centros de internacin). Cuando no se cuente con
informacin exacta, se prev utilizar como criterio de asignacin y
tiempo de llegada un diagrama de distancias entre las diferentes
localidades del conurbano. Estas distancias se calcularn en base a
los baricentros de las localidades dentro del rea de cobertura, y
los tiempos se calcularn en base a promedios histricos.

Es necesario la registracin de los tiempos de no disponibilidad de


los recursos.

Es necesaria la registracin de los tiempos de inicio y fin de


servicios de guardias, para asignar de forma correcta.

196

JAVIER LPEZ

Es necesario identificar por cada recurso que brinda servicio, qu


tipo de prestaciones puede cubrir.

El software a implementar acta como herramienta de soporte al


despachador, proponiendo la asignacin del servicio en base a
minimizacin de tiempos, recursos disponibles, cdigo y tipo de la
prestacin, y sujeto a todas las restricciones inherentes de los
recursos posibles. El despachador podr aceptar y/o modificar la
asignacin propuesta.

La informacin de estado de situacin general, as como de tiempo


de respuesta estimado para cada prestacin, es realizada en base a
la utilizacin de informacin estadstica disponible en las bases de
datos de la compaa.

Toda informacin de tiempos de respuesta promedio es


acompaada por una medida de variabilidad (varianza) a los
efectos de visualizar y entender el grado de exactitud de la
estimacin realizada.

La herramienta a desarrollar est completamente integrada a la


plataforma existente, y supone la colaboracin y participacin
directa del rea de sistemas de la empresa.

10.3 Caractersticas del Proyecto


En esta seccin se define en detalle las caractersticas centrales del
proyecto. Se detallan y describen los tres mdulos principales que
conforman la solucin propuesta:
1. Asignacin Automtica
2. Cartografa Digital
3. Seguimiento Automatizado
Asimismo, se identifican las interrelaciones entre los mismos, y la
integracin necesaria entre estos tres componentes y el software principal
de la Cabina.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

197

Especificacin General
La figura 10.1 muestra un diagrama de alto nivel, donde es posible
visualizar los tres mdulos de software nuevos que se agregarn al
sistema actual de Administracin de Cabina:
Asignacin Automtica

Cartografa Digital

Seguimiento Automatizado de Prestaciones

Figura 10.1: Diagrama de alto nivel de la solucin

El mdulo de Asignacin Automtica ser el responsable de


seleccionar en tiempo real el recurso que atender cada prestacin.
Los criterios de asignacin sern definidos a nivel Direccin.
El mdulo de Cartografa Digital tendr como misin brindar la
funcionalidad de mostrar informacin sobre mapas digitales, tanto a
los efectos de validar informacin como de mostrar el estado de las
prestaciones.

198

JAVIER LPEZ

El mdulo de Seguimiento Automatizado de Prestaciones tiene


como objetivo estandarizar todas las acciones vinculadas con el
seguimiento de las prestaciones y mviles, procurando que todos los
despachadores trabajen de una manera uniforme, y que las polticas de
seguimiento de las prestaciones se definan a nivel de Direccin.

10.4 Descripcin del Proceso Propuesto


A continuacin se detallan las tareas principales del proceso,
detallando los agregados y/o cambios a realizar con el propsito de
cumplir los objetivos del presente proyecto.

Toma de la prestacin
Durante el proceso de toma de llamado se agregar el soporte de
cartografa digital. Este agregado nos permitir por un lado, validar
que la ubicacin reportada por la persona que realiza el llamado
sea correcta (certificando calle, altura, intersecciones, localidad, etc.)
visualizando un mapa y el domicilio proyectado en el mismo y por
otro lado obteniendo las coordenadas exactas (longitud y latitud) del
domicilio validado. Estas coordenadas sern utilizadas en el momento
de asignacin de mviles a prestaciones.

Prestacin recibida en cabina


En las prestaciones recibidas en cabina en forma telefnica, la tarea
anteriormente descrita se realizar mientras transcurre el llamado
telefnico asociado a la prestacin. En caso de no encontrar el
domicilio por calle, numeracin y localidad se permitir la opcin de
buscarlo en forma manual en el mapa. En caso de no poder ubicar el
domicilio en forma exacta, se registrar de forma similar que en la
actualidad.

Prestacin recibida por Internet


Existir un responsable de cabina cuya tarea ser la de obtener
las coordenadas exactas de las prestaciones que llegan va
Internet. La aplicacin contar con un mdulo para tal fin, donde se
considerar minimizar el trabajo manual para la obtencin de las
mismas. En caso de no poder ubicar el domicilio en forma exacta, se
registrar al igual que en la actualidad asegurando la correspondencia
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

199

de la localidad con la informacin almacenada en el Sistema de


Administracin de Cabina. Se evaluar la posibilidad de realizar una
integracin entre las tablas de las aplicaciones de las diferentes
cabinas, para minimizar la informacin a completar en forma manual.

Despacho
Este proceso es el que sufrir los cambios ms significativos. La
aplicacin elegir en forma automtica el despachado/despachador
que atender la prestacin.
Utilizar como criterio de asignacin la afinidad entre los
despachos/despachadores y la zona geogrfica y la carga de trabajo
acumulada en cada despachador. El despachador podr rechazar la
asignacin indicando un motivo. Para estos casos, el Coordinador de
Cabina deber asociar un despachador a esas prestaciones en forma
manual.
La aplicacin asignar en forma automtica cual es el mvil que
atender cada prestacin. El despachador confirmar o rechazar esta
asignacin. En caso de rechazo, el despachador deber indicar un
motivo de no aceptacin tabulado en la aplicacin, y asignar un mvil
en forma manual. (Ver prrafo Asignacin Automtica)
La aplicacin mostrar en todo momento las prestaciones sin asignar,
las asignadas automticamente sin aceptacin del despachador, y las
asignadas y confirmadas por el despachador.

Prestaciones sin asignar


Estas prestaciones se visualizarn en la modalidad actual (pantalla del
sistema). Adicionalmente, se visualizarn en un mapa digital filtrando
por diferentes criterios (despachador, localidad, tiempo de demora).

Asignacin de mviles a prestaciones


La aplicacin efectuar una relacin prestacin-mvil en forma
automtica. Dependiendo de la categorizacin de la prestacin
(rojo/amarillo/verde) los criterios de asignacin sern diferentes.
1. Rojo El algoritmo de asignacin automtica a implementar
en el sistema de Administracin de Cabina asignar el
mvil UTIM ms cercano al lugar de la prestacin. La
aplicacin le mostrar al despachador un mapa digital con el
lugar de la prestacin, los 4 mviles ms cercanos identificando
tipo de mvil (UTIM, mvil estndar) y estado (disponible, en
camino, en domicilio, parada tcnica, etc.) Si la aplicacin

200

JAVIER LPEZ

detecta que el tiempo de llegada estimado de la UTIM ms


cercana libre excede el tiempo mnimo para esta categora
de prestacin (15 min.) y si existiese un mvil estndar a
una distancia menor al tiempo mnimo, asignar esta
prestacin a ambos mviles, identificando este caso
particular. Esta asignacin permitir que se efecten algn
tipo de accin de emergencias mientras se espera la llegada del
mvil UTIM. En todos los casos, el despachador realizar los
llamados, validaciones, y controles que el protocolo indique en
estas situaciones.
2. Amarillo El sistema de Administracin de Cabina asignar
el mvil UTIM ms cercano al lugar de la prestacin. La
aplicacin le mostrar al despachador un mapa digital con el
lugar de la prestacin, los 4 mviles ms cercanos identificando
tipo de mvil (UTIM, mvil estndar) y estado (disponible, en
camino, en domicilio, parada tcnica, etc.). Si la aplicacin
detecta que el tiempo de llegada estimado de la UTIM ms
cercana libre excede el tiempo mnimo para esta categora
de prestacin (30 min.) y si existiese un mvil estndar a
una distancia menor al tiempo mnimo, asignar esta
prestacin a ambos mviles, identificando este caso
particular. Esta asignacin permitir que se efecte algn tipo
de accin de emergencias mientras se espera la llegada del
mvil UTIM. En todos los casos, el despachador realizar los
llamados, validaciones, y controles que el protocolo indique en
estas situaciones.
3. Verde Estas asignaciones constituyen el 75% de la cantidad de
prestaciones. Las mismas sern asignadas a los diferentes
recursos disponibles (mviles) en forma automtica por
parte de la aplicacin. Esta asignacin la efectuar un
algoritmo de optimizacin desarrollado a medida para esta
problemtica. Este algoritmo considerar las variables
enunciadas a continuacin para definir la asignacin con la
mejor calidad posible:

Localidad

Distancias entre mviles y prestaciones

Distancias entre las diferentes prestaciones

Carga de trabajo de mviles

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

201

Afinidad tipo de mvil / prestacin

Relacin mdico / UCMQ (Relacin de dependencia,


tercero)

Afinidad mdico / prestacin

Tiempos de guardias

Tipo de socio (socio directo, cpita, tercero, etc.)

Uniformidad de uso de recursos (mviles)

Cantidad mnima de prestacin por mvil

Reclamos de esa prestacin

Historial del cliente

Cantidad de asignaciones que puede tener ese mvil

Tiempo mximo de llegada estimado

Re-asignacin
El proceso de re-asignacin es de naturaleza manual. Cuando un
despachador no acepte la asignacin realizada por la aplicacin,
deber asignarlo en forma manual. En el caso de prestaciones de
cdigo verde, el despachador podr indicar que esa prestacin sin
asignacin quede liberada para que la aplicacin la asigne nuevamente
o asignarla en forma manual. En el caso de prestaciones con cdigo
rojo o amarillo, si el prestador no acepta la asignacin del sistema
necesariamente la debe asignar en forma manual. En todos los casos
que no se acepte la asignacin del sistema, deber indicarse un
motivo. Ese motivo debe estar tabulado en la aplicacin de
Administracin de Cabina.

Asignacin a terceros
La asignacin a terceros de cdigos rojos y amarillos ser realizada en
forma manual. La aplicacin informar cuando la localidad desde
donde se genera el cdigo rojo o amarillo, est fuera del rea de
cobertura.
La asignacin a terceros de cdigos verdes se efectuar en forma
automtica por parte de la aplicacin, utilizando el algoritmo de
optimizacin. Se considerarn las siguientes variables:

202

JAVIER LPEZ

Localidad

Prestadores por localidad

Afinidad prestador / prestacin

Tipo de socio (socio directo, cpita, tercero, etc.)

Cantidad mnima de prestacin por prestador

Uniformidad de uso de recursos por prestador

Reclamos de esa prestacin

Seguimiento
El procedimiento estndar de trabajo implica que ante determinadas
categoras de prestaciones (rojas y amarillas) y ante determinados
tiempos de demora, se deber realizar un seguimiento telefnico de las
prestaciones desde la cabina, antes y despus de la llegada del mvil
al domicilio reportado. (Ver prrafo Seguimiento Automatizado de
Prestaciones)

Pre-arribo
En las categoras de prestaciones que se indiquen en el sistema, y
luego de determinado perodo de tiempo, el sistema alertar al
despachador avisando que debe efectuar un llamado de pre-arribo. El
despachador debe registrar en el sistema si realiz el mismo, detallado
la informacin significativa. La aplicacin identificar en la lista de
prestaciones pendientes (con o sin asignacin) cules requieren
instrucciones de pre-arribo, diferenciando aquellas prestaciones que
an no tuvieron este tipo de llamados. (Ver Seguimiento
Automatizado de Prestaciones)

Post-Arribo
En las categoras de prestaciones que se indiquen en el sistema, y
luego de determinado perodo de tiempo, el sistema alertar al
despachador avisando que debe efectuar un llamado de post-arribo. El
despachador debe registrar en el sistema si realiz el mismo, detallado
la informacin significativa. La aplicacin identificar en la lista de
prestaciones pendientes (con o sin asignacin) cuales requieren
instrucciones de post-arribo, diferenciando aquellas prestaciones que
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

203

an no tuvieron este tipo de llamados. (Ver prrafo Seguimiento


Automatizado de Prestaciones)

Derivacin
Los cdigos rojos y amarillos pueden implicar un traslado del paciente
a un centro de internacin. La definicin de la realizacin del traslado
surge del anlisis que realizado por el mdico en el lugar de la
prestacin

Lugares de derivacin
Todos los centros de derivacin estarn tabulados dentro de la
aplicacin. Asociados a cada centro se ingresar la coordenada donde
se encuentra, adems de la informacin de domicilio, telfono y
localidad. El mvil deber informar cuando sale del domicilio, cuando
llega al centro de derivacin y cuando abandona el centro de
internacin. Esta informacin del estado del mvil deber realizarse
utilizando el sistema WAP-Nextel.

Seguimiento de la derivacin
Luego de determinado perodo de tiempo y ante determinado evento,
el sistema alertar al despachador avisando que debe efectuar un
llamado de seguimiento de derivacin. El despachador debe registrar
en el sistema si realiz el mismo, detallado la informacin
significativa. La aplicacin identificar en la lista de derivaciones
pendientes, diferenciando aquellas prestaciones que an no tuvieron
este tipo de llamados. (Ver prrafo Seguimiento Automatizado de
Prestaciones)

Cierre
El cierre de la prestacin se indicar utilizando el sistema NextelWAP, al igual que en la actualidad. El sistema alertar solicitando un
llamado de seguimiento cuando las prestaciones en curso superen
determinado tiempo, de acuerdo a la categora de la prestacin. El
despachador debe registrar la realizacin de esa llamada, indicando el
motivo de la tardanza. (Ver prrafo Seguimiento Automatizado de
Prestaciones)
La figura 10.2 muestra la relacin entre las diferentes etapas del
proceso de atencin de prestaciones y la relacin con los tres mdulos
propuestos en este trabajo. El mdulo de Cartografa Digital (GIS)

204

JAVIER LPEZ

abarca el proceso completo, dado que se utiliza tanto para ubicar


mviles y prestaciones como para ver informacin del estado y
seguimiento de las prestaciones. El mdulo de Asignacin Automtica
se focaliza en la etapa de Despacho, y es el responsable de definir una
asignacin de mviles a prestaciones optimizada. El mdulo de
Seguimiento automatizado opera sobre las dos ltimas etapas del
proceso.

Figura 10.2: Proceso general de negocio y mdulos propuestos

10.5 Cartografa Digital (GIS)


Se considera agregar el soporte de cartografa digital (GIS Geographic Information System) al sistema de Administracin de
Cabina. El uso de cartografa tendr dos objetivos principales:
1. Obtener las coordenadas exactas de la prestacin (longitud y
latitud) y dems ubicaciones (bases, centros de derivacin,
etc.), pudiendo adems para el caso de las prestaciones que se
toman en cabina validar la direccin en tiempo real.
2. Mostrar informacin del estado de prestaciones puntuales y
cuadros de informacin general utilizando el soporte de mapas.
De esta forma, se agrega al usuario la posibilidad de validar el
estado de situacin de una forma mucho ms eficiente.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

205

La figura 10.3 muestra un ejemplo del uso de mapas en el momento de


la toma de la llamada, donde el operador puede ver la ubicacin del
domicilio y validar entre que calles se encuentra la propiedad.

Figura 10.3: Geo-localizacin de prestaciones

La figura 10.4 muestra un ejemplo del uso de mapas en el momento de


la asignacin de un cdigo rojo, donde el operador puede ver la
ubicacin del domicilio, los mviles ms cercanos, y el tipo de mvil
(UTIM en este caso) y el estado del mismo.

206

JAVIER LPEZ

Figura 10.4: Calculo de distancia lineal entre mvil y prestaciones

A continuacin se enumeran todas las instancias del proceso que


tendrn apoyo cartogrfico.

1. Toma de la Prestacin
En este punto del proceso el apoyo cartogrfico tendr como
propsito dar soporte al operador de cabina para corroborar la
informacin de domicilio, altura, localidad, intersecciones del
lugar desde donde se genera la prestacin. Adicionalmente,
como punto final de este paso deben obtenerse las coordenadas
exactas (longitud y latitud) del domicilio donde se report la
prestacin.
2. Asignacin
Se utilizar apoyo cartogrfico en el momento de asignar
mviles a prestaciones categorizadas como rojo o amarillo. La
aplicacin mostrar sobre un mapa digital la ubicacin del
domicilio donde se gener la prestacin, el mvil asignado a la
misma, y los tres o cuatro mviles ms cercanos. Se utilizarn
diferentes colores e indicadores para reflejar estado del mvil
(en camino, en una prestacin, etc.), tipo de mvil, categora de
la prestacin y la exactitud de la ubicacin.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

207

3. Seguimiento
El apoyo cartogrfico en todas las tareas de seguimiento sin
duda cobra un papel preponderante. Se propone la siguiente
lista de consultas sobre mapas en base a lo relevado con los
responsables del rea.

208

Estado de una prestacin categora rojo o amarilla: Esta


consulta nos mostrar en un mapa digital la ubicacin
del domicilio donde se gener la prestacin, el mvil
asignado a la misma, y los tres o cuatro mviles ms
cercanos. Se utilizarn diferentes colores e indicadores
para reflejar estado del mvil (en camino, en una
prestacin, etc.), tipo de mvil, categora de la prestacin
y la exactitud de la ubicacin.

Mvil y asignaciones: Esta consulta nos mostrar el


estado de un mvil en particular, donde se encuentra, el
estado del mismo, y las asignaciones futuras que tiene
asociadas.

Estado general de situacin: Esta consulta nos mostrar


sobre un mapa, y para cada localidad, la cantidad de
prestaciones en curso y pendientes. Las prestaciones con
categora rojo y amarillo se mostrarn en forma
individual. Las verdes se mostrarn agrupadas.

Excepciones: Esta consulta nos mostrar, sobre un mapa,


las excepciones definidas por la Direccin Mdica
identificando las mismas con iconos y diferentes colores.
El usuario podr elegir que excepciones visualizar.

Prestaciones categorizadas como rojas con demora


mayor a 15 minutos.

Prestaciones categorizadas como amarillas con demora


mayor a 30 minutos.

Prestaciones categorizadas como verdes con demora


mayor a 180 minutos.

Mvil ocupado en la misma prestacin por ms de 2


horas.

Mvil libre sin asignacin por ms de 2 horas.

JAVIER LPEZ

Mvil cuyo tiempo de comienzo de siguiente estado


super el doble de los estimado.

Prestaciones a terceros: Esta consulta nos mostrar,


sobre un mapa, las prestaciones asignadas a terceros
mostrando tiempos de demora. Las prestaciones con
categora rojo y amarillo se mostrarn en forma
individual. Las verdes se mostrarn agrupadas.

4. Derivacin
Para esta etapa se prev un reporte que mostrar un mapa con
todos los mviles que estn realizando una derivacin. La
aplicacin mostrar la ubicacin del mvil, y el tiempo
estimado hasta la concrecin del siguiente estado.
5. Cierre
Para esta etapa se prev un reporte constituido por la cantidad
de prestaciones cerradas por localidad. Esta consulta
visualizar, sobre un mapa, la cantidad de prestaciones que se
cerraron por cada localidad, en un rango de fechas
determinado. Las prestaciones se agruparn por categora. Se
calcular para cada categora y localidad la cantidad, tiempo
promedio de resolucin y varianza.

10.6 Asignacin Automtica


A los efectos de lograr un despacho automatizado, es condicin
necesaria ubicar todos los elementos en un plano de dos ejes
cartesianos, longitud y latitud. Por lo tanto, antes de describir el
proceso de asignacin automtica, se detalla cmo se ubican cada uno
de los elementos que participan del proceso de despacho.
Cualquier elemento con los que se trabaja en la cabina se clasifica
bien como un mvil (recurso), como una prestacin (domicilio donde
ocurre la prestacin), como una base (ubicacin fija de un mvil), o
como alguna otra locacin (centro de derivacin). En esta seccin de
la tesis se hace mencin a todo lo relacionado con la obtencin y
mantenimiento de las coordenadas (longitud y latitud) tanto de los
domicilios de las prestaciones y locaciones en general as como de
cada uno de lo mviles. En todo momento, todos los elementos
(mviles con los que se cuenta y todas las locaciones) tienen asociadas
una ubicacin en el mapa. Como punto inicial es importante destacar
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

209

que todas las ubicaciones son aproximadas, incluso las ubicaciones


indicadas por los dispositivos GPS, dado que las mismas tienen un
margen de error y tienen un tiempo de demora. No es igual de exacta
una ubicacin calculada a partir de la informacin brindada por el
GPS en el minuto actual, que una ubicacin informada por el GPS
cinco minutos atrs. Por lo tanto, cada ubicacin tiene asociado un
nivel de exactitud, siendo 1 el nivel ms exacto y 10 (para el caso de
ubicacin de las prestaciones) o 20 (para el caso de ubicacin de los
mviles) el menos exacto. Debe quedar claro que todas las
prestaciones as como todos los mviles siempre tienen una ubicacin
calculada, lo que vara es el grado de exactitud.

Ubicacin de Prestaciones (Domicilios)


Los domicilios desde donde se generan los requerimientos de las
prestaciones tienen asociadas un par de coordenadas que definirn su
ubicacin en el plano.
A las prestaciones recibidas las podemos clasificar en algunos de los
siguientes tipos:
1. Llamados a cabina desde el lugar de la prestacin: Con la toma
del llamado, y apoyados en una herramienta de cartografa
digital, se validar el domicilio reportado en lnea y como paso
final de esta tarea se obtendrn la longitud y latitud asociada.
Esta forma de trabajo es vlida para aquellas prestaciones que
ingresan por una llamada telefnica directamente desde el lugar
donde se genera la prestacin.
2. Llamados a cabina desde otra cabina: Se seguir el mismo
procedimiento de trabajo intentando validar el domicilio y el
resto de la informacin en lnea.
3. Prestaciones que ingresan en forma electrnica (Internet):
Existir un operador que deber como primera tarea, obtener
las coordenadas del domicilio de la prestacin con la
informacin disponible.
Cualquier sea el caso anterior, si no es posible obtener la longitud y
latitud del domicilio, se asociar con el mismo la coordenada asociada
a la localidad (ver prrafo posterior Mapa Discretizado). La misma
corresponde con el baricentro de la misma.
A continuacin se detalla los diferentes niveles de exactitud que puede
tener un clculo de ubicacin asociada a una prestacin. La aplicacin

210

JAVIER LPEZ

intenta, en todos los casos, obtener y utilizar la ubicacin con mayor


nivel de exactitud (ver tabla 10.1).
Nivel de
Exactitud
2

Concepto

Observaciones

Domicilio validado en
lnea en comunicacin
con el lugar de la
prestacin

Por el tomador de la cabina,


utilizando la herramienta de
cartografa digital y
validando informacin en
forma telefnica
Domicilio validado en Por el tomador de la cabina,
lnea en comunicacin utilizando la herramienta de
con otra cabina
cartografa digital y
validando informacin con
otra cabina tomadora, sin
hablar directamente con el
lugar de la prestacin
Ubicacin calculada Por el tomador de la cabina,
con apoyo cartogrfico, utilizando la herramienta de
sin validacin de
cartografa digital y
domicilio
buscando la ubicacin por
informacin brindada en
forma directa desde la
prestacin
Ubicacin calculada Por el tomador de la cabina,
con apoyo cartogrfico, utilizando la herramienta de
sin validacin de
cartografa digital y
domicilio
buscando la ubicacin por
informacin brindada a
travs de otra cabina
Baricentro de la
Coordenadas asociadas al
localidad donde se
centro de la localidad
encuentra el domicilio (Buenos Aires) o Barrio
(Capital Federal) asociada al
domicilio

Tabla 10.1: Tabla de nivel de exactitud en la geo-localizacin de domicilios

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

211

Ubicacin de los Mviles


Los mviles activos en cada momento siempre tienen una ubicacin
asociada. Estas coordenadas se calculan de diferentes formas, de
acuerdo a la informacin disponible en cada momento. La ubicacin
del mvil tendr asociado un nivel de exactitud, siendo 1 la ms
exacta, y 20 la menos exacta.
La aplicacin intenta, en todos los casos, obtener y utilizar la
ubicacin mayor nivel de exactitud (ver tabla 10.2).

Nivel de
exactitud
1

10

12

212

Concepto

Observaciones

Ubicacin
reportada por
GPS, menor a 60
segundos
Ubicacin
calculada por
cdigo WAP
Ubicacin
calculada por
cdigo WAP
Ubicacin
calculada por
cdigo WAP
Ubicacin
calculada por
cdigo WAP
Ubicacin
calculada por
cdigo WAP
Ubicacin
reportada por
GPS, mayor a 60
segundos y menor
a 300 segundos
Ubicacin
calculada por
cdigo WAP,
clculo de
distancia y tiempo

Coordenadas reportadas por el GPS

Coordenadas calculadas por cdigo


Nextel-WAP, a partir de lugar geolocalizado con exactitud 2
Coordenadas calculadas por cdigo
Nextel-WAP, a partir de lugar geolocalizado con exactitud 3
Coordenadas calculadas por cdigo
Nextel-WAP, a partir de lugar geolocalizado con exactitud 5
Coordenadas calculadas por cdigo
Nextel-WAP, a partir de lugar geolocalizado con exactitud 7
Coordenadas calculadas por cdigo
Nextel-WAP, a partir de lugar geolocalizado con exactitud 9
Coordenadas reportadas por el GPS

Coordenadas calculadas por cdigo


Nextel-WAP, cuando se informa la
salida de un mvil a un lugar geolocalizado y se conoce el lugar y el
mismo est geo localizado con nivel 2.

JAVIER LPEZ

13

15

17

19

20

Ubicacin
calculada por
cdigo WAP,
clculo de
distancia y tiempo
Ubicacin
calculada por
cdigo WAP,
clculo de
distancia y tiempo
Ubicacin
calculada por
cdigo WAP,
clculo de
distancia y tiempo
Ubicacin
calculada por
cdigo WAP,
clculo de
distancia y tiempo
Baricentro de la
localidad
informada por el
operador en forma
manual

Coordenadas calculadas por cdigo


Nextel-WAP, cuando se informa la
salida de un mvil a un lugar geolocalizado y se conoce el lugar y el
mismo est geo localizado con nivel 3.
Coordenadas calculadas por cdigo
Nextel-WAP, cuando se informa la
salida de un mvil a un lugar geolocalizado y se conoce el lugar y el
mismo est geo localizado con nivel 5.
Coordenadas calculadas por cdigo
Nextel-WAP, cuando se informa la
salida de un mvil a un lugar geolocalizado y se conoce el lugar y el
mismo est geo localizado con nivel 7.
Coordenadas calculadas por cdigo
Nextel-WAP, cuando se informa la
salida de un mvil a un lugar geolocalizado y se conoce el lugar y el
mismo est geo localizado con nivel 9.
Coordenadas de la localidad informada
por un operador

Tabla 10.2: Nivel de exactitud en la ubicacin de mviles

Otras Locaciones
El resto de las locaciones que forman parte del proceso de despacho
(bases, centros de derivacin, etc.) estn tabuladas dentro de la
aplicacin de Administracin de Cabina, junto con sus coordenadas
exactas calculadas por el proceso de geo-localizacin.

Mapa Discretizado
Con el propsito de ubicar todos los elementos que forman parte del
proceso de despacho (prestaciones, mviles, bases, lugares de
internacin, etc.) sobre un plano, se hace necesario geo-localizar los
mismos. El proceso de geo-localizacin consiste en calcular un par de

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

213

coordenadas (longitud - latitud) para cada uno de los elementos, en


cada momento del tiempo.
Como se mencion anteriormente en Ubicaciones de Prestaciones y
Mviles, cada ubicacin tiene un nivel de exactitud asociado. Un
mapa discretizado se corresponde con una serie de ubicaciones (par
ordenado latitud - longitud) representativas del rea de cobertura.
Estos puntos se corresponden con los baricentros de todas las
localidades que conforman los partidos incluidos en el rea de
cobertura. Para el caso de Capital Federal, se consideraron los
diferentes barrios que componen la comuna autnoma. Esta lista de
ubicaciones esttica se utilizar como elemento de ltima instancia
para asociar una ubicacin a alguno de los elementos que intervienen
en el proceso de despacho. Por ejemplo, si sabemos que se decidi una
derivacin a un hospital ubicado en Villa Urquiza, Capital Federal, y
no se cuenta con las coordenadas exactas de ese lugar de internacin,
se asociarn a ese destino de derivacin las coordenadas
correspondientes al baricentro de Villa Urquiza. Similar ser el caso
para aquellos domicilios correspondientes a prestaciones que por
diferentes motivos (ingreso por Internet, imposibilidad de validacin,
etc.) no se pudieron geo-localizar.
Es importante destacar que el uso de estas ubicaciones pre-calculadas
permiten realizar una proposicin automtica, mostrar informacin en
un mapa y tomar decisiones, pero a costa de perder nivel de exactitud
en el proceso.

Proceso de Asignacin
Este mdulo ser el responsable de proponer los recursos (mvil o
mviles) que atendern cada prestacin. Para realizar el clculo,
utilizar los siguientes elementos que forman parte del proceso de
despacho.

Ubicacin de prestaciones y recursos (mviles)

Tiempos desde la recepcin de la prestacin

Categora de la prestacin (rojo, amarillo, verde)

Sntoma

Edad

Estado del mvil (disponible, en camino, en domicilio, no


disponible, etc.)

214

JAVIER LPEZ

Matriz de Afinidad Despachador / Zona Geogrfica

Nivel de Experiencia del Despachador

Matriz de Afinidad Mdico / Categora de Prestacin

Matriz de Afinidad Mdico / Edad del paciente

Matriz de Afinidad Tipo de Mvil / Categora de Prestacin

Utilizacin uniforme de recursos

Tipo de contratacin del mdico

Cantidad mxima de tiempo sin uso del recurso

Cantidad mnima de prestaciones por da y por recurso

Tiempos de guardias

Tipo de socio (socio directo, cpita, tercero, etc.)

Reclamos efectuados

Prioridad cliente

Historial de uso

Es claro ver que la aplicacin utilizar la representacin de estos


elementos incorporadas dentro del sistema de Administracin de
Cabina, por lo que esta asignacin ser necesariamente aproximada, y
actuar como una herramienta adicional para el despachador. En todo
momento, el despachador podr no aceptar la sugerencia propuesta
por la aplicacin, y realizar otra asignacin conforme a su criterio.
El proceso a utilizar para realizar la proposicin de asignacin de
mviles a prestaciones es un algoritmo del tipo de bsqueda y
optimizacin, proveniente del campo de la inteligencia artificial. Estos
tipos de algoritmos utilizan una funcin matemtica de aptitud
(fitness) que oficia como gua del proceso de bsqueda. Esta funcin
de fitness es la que se debe optimizar. En este caso, se utilizar una
tcnica multi-objetivo, por lo que se optimizarn dos objetivos en
forma simultnea, la reduccin en los tiempos del servicio y la
disminucin de costos de operacin.
Se comienza con una distribucin al azar, y con el correr de las
iteraciones se recorre el espacio de soluciones premiando aquellas
propuestas con un fitness mayor. Entre cada una de las iteraciones, se
utiliza un procedimiento para la construccin de nuevas soluciones
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

215

considerando las alternativas encontradas hasta el momento,


incrementado la probabilidad de uso de aquellas soluciones
encontradas con mejor aptitud, y agregando elementos aleatorios.
Luego de una cantidad fija de iteraciones, y cuando no sea posible
mejorar la solucin alcanzada, el algoritmo se detendr y propondr el
conjunto de soluciones no dominadas como solucin al problema de
optimizacin.
Cabe destacar que el proceso ofrecer las soluciones en lnea, lo que
implica que la performance, confiabilidad y estabilidad del mismo
debe ser muy elevada.
Otro factor a considerar es que el algoritmo siempre considera el
estado de situacin completo, tomando en cuenta para el clculo todas
las prestaciones y todos los recursos disponibles, y optimizando el
proceso en su totalidad, no optimizando componentes individuales del
sistema.

Configuracin de Recursos
En este apartado se incluye todas las configuraciones e informacin
adicional que administrar la aplicacin de Administracin de Cabina
con el propsito de sugerir una asignacin ptima de mviles a
prestaciones.

Despachadores
Cada despachador tiene asignado un nivel de experiencia. La tabla
10.3 contiene los niveles de experiencia y las categoras de
prestaciones que puede atender.
Experiencia
Alta
Media
Baja

Categoras de Prestaciones
Rojo, Amarillo y Verde
Amarillo y Verde
Verde

Tabla 10.3: Categorizacin experiencia despachadores

Cada despachador tiene asociado un rea de influencia. La tabla 10.4


relaciona cada despachador con uno o ms partidos.

216

JAVIER LPEZ

Despachador

Partido

YYYYYY

Avellaneda
Quilmes
Varela
Lans
Avellaneda
Lomas de Zamora

XXXXXX

Afinidad (1 menor - 3
mayor)
1
1
3
3
3
3

Tabla 10.4: Afinidad despachador - partido

Mdicos
El sistema administra dos tablas relacionadas con los mdicos
responsables de cada mvil. La tabla 10.5 indica la afinidad entre cada
mdico y las categoras de las prestaciones y la tabla 10.6 la segunda
entre cada mdico y la edad de los pacientes.
Mdico
YYYYYY

XXXXXX

Categora Prestacin Afinidad (1 menor - 3 mayor)


Rojo
1
Amarillo
1
Verde
3
Rojo
3
Amarillo
3
Verde
3

Tabla 10.5: Matriz de afinidad mdico - categora de prestacin

Mdico

Edad

YYYYYY

Nios (0 - 10)
Jvenes y Adultos (11 - 65)
Ancianos (+ 65)
XXXXXX
Nios (0 - 5)
Jvenes y Adultos (11 - 65)
Ancianos (+ 65)

Afinidad (1 menor - 3
mayor)
3
2
1
1
3
3

Tabla 10.6: Matriz de afinidad mdico - edad paciente

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

217

Para cada mdico se indica qu tipo de relacin lo une con la empresa


(contratado o relacin de dependencia). Se indica adems si existe
algn tipo de remuneracin adicional por prestaciones, as como si
tiene una cantidad mnima asegurada. Estos parmetros sern
considerados al momento de la optimizacin de la asignacin.

Sntomas
Existe un catlogo de la sintomatologa existente. Asociado a cada
sntoma, se definir un nivel de severidad (1 poco severo / 10 muy
severo). Esta severidad se utilizar para priorizar prestaciones
clasificadas con la misma categora (ver tabla 10.7).

Sntoma
Dolor de Pecho
Fiebre
Mareos
Dolor de Cabeza

Severidad
1
3
5
7

Tabla 10.7: Matriz de sntomas y severidad

Tipo de mviles
Cada mvil est asociado a un tipo de mvil. Para cada tipo de mvil
de define una velocidad promedio de viaje y una varianza. Se
administra una matriz en la aplicacin que relacione los tipos de
mviles y las diferentes categoras de prestaciones (ver tabla 10.8).

Tipo de Mvil
3*UTIM

3*Auto Estndar

Categora Prestacin
Rojo
Amarillos
Verde
Rojo
Amarillos
Verde

Afinidad (1 menor
3 mayor)
3
3
1
1
2
3

Tabla 10.8: Matriz de tipo de mvil - categora de la prestacin

218

JAVIER LPEZ

Lista de centros de derivacin


Se administra en la aplicacin una tabla con los diferentes centros de
derivacin, hospitales, sanatorios, y dems lugares de similares
caractersticas. Para cada centro de derivacin deber constar el
domicilio completo, telfono, localidad, partido y provincia. El mismo
deber estar geo-localizado, a los efectos de disponer de informacin
ms exacta.

Lista de bases
Se administra en la aplicacin una tabla con las diferentes bases de
mviles. Para cada base deber constar el domicilio completo,
telfono, localidad, partido y provincia. El mismo deber estar geolocalizado, a los efectos de disponer de informacin ms exacta.

Zona de Cobertura
Existe una tabla donde se definir la zona de cobertura, y de que
forma se atiende la demanda en la misma (ver tabla 10.9).

Partido
Quilmes
Avellaneda
La Plata

Cobertura
Mixta
Propia
Tercero (Detalle del tercero)

Tabla 10.9: Tabla de zona de cobertura

Motivos de rechazos de asignacin


Existir un catlogo de los motivos por los cuales se puede rechazar
una asignacin realizada por el sistema (ver tabla 10.10).
Motivo
Error de Asignacin
Asignacin manual
Error en ingreso de datos

Causa
Sistema
Cabina
Cabina

Tabla 10.10: Motivos de rechazo de una asignacin

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

219

10.7 Seguimiento Automatizado de


Prestaciones
Este mdulo de la aplicacin permite definir los avisos y/o alarmas
dentro de la aplicacin. De esta forma, podemos estandarizar los
procedimientos de trabajo haciendo que el sistema gue al
despachador respecto de las acciones que debe realizar ante la
ocurrencia de eventos pre-definidos.
Por ejemplo, se puede configurar en la aplicacin de Administracin
de Cabina que se efecte un llamado de pre-arribo para todas las
prestaciones categorizadas como rojas, o que se realice un llamado
manual al mvil cuando el tiempo en viaje supera la estimacin del
tiempo del traslado.
La tabla 10.11 contiene ejemplos de eventos, acciones y su
configuracin.

Categora Estado
de
Prestacin
Rojo
Asignada
Todas

Todas

Evento

Tiempo

Accin

Respon- Infor
sable
mar

Tiempo en 10 min. Llamar al


ese estado
domicilio
En Camino / Tiempo en 10 min Llamar a la
Derivacin exceso del
unidad
estimado
En
Tiempo en 30 min Llamar a la
Domicilio ese estado
unidad

Mdico
cabina
Despachador

SI

Despachador

SI

Tabla 10.11: Eventos de seguimiento

Se tiene en consideracin que esta herramienta sea sumamente


amigable, y que no interfiera en demasa en las tareas habituales del
despachador.
Es posible definir una fecha de vigencia desde - hasta para cada uno
de las alarmas dentro de este mdulo. De esta manera, es posible
cambiar los procedimientos de trabajo de acuerdo a la disponibilidad
de tiempo en cabina. Por ejemplo, en temporada alta se puede decidir
no realizar algunos de los llamados de seguimiento, y se puede
configurar la alarma en la aplicacin pero que no sea obligatorio

220

JAVIER LPEZ

SI

registrar el resultado de la misma. Cada alarma tendr un responsable


de ejecucin.
En este captulo se present la solucin ofrecida al problema en
trminos del negocio. Esta solucin consiste en la optimizacin del
proceso de despacho de mviles a prestaciones. Como primer etapa se
hace necesario ubicar todos los elementos en juego en un plano de dos
dimensiones, por lo que se hace necesario la incorporacin de
software para geo-localizar domicilios y mviles (GIS). Una vez que
cada componente del problema tiene una ubicacin asignada,
podemos aplicar el algoritmo de optimizacin propiamente dicho. En
el siguiente captulo nos dedicamos en extenso a describir la solucin
algortmica elegida, as como los experimentos realizados que nos
permitieron llegar a esa eleccin. Por ltimo, se propuso un mdulo
complementario para el seguimiento de la calidad de atencin de la
prestacin.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

221

CAPTULO 11

Metaheursticas Utilizadas
En este captulo se describe especficamente la solucin algortmica
que se utiliz para abordar este problema. Se detallan las
metaheursticas multi-objetivo seleccionadas, las modificaciones
realizadas sobre las mismas, y los experimentos efectuados en tres
instancias del problema del mundo real. En base a los resultados de la
experimentacin, se defini una solucin hbrida que utiliza las tres
metaheursticas con mejor rendimiento.

11.1 Introduccin
El ncleo del mdulo de Asignacin Automtica es el algoritmo
responsable de asignar que mvil atender a cada prestacin. Como
est detallado en los captulos anteriores de la presente tesis, la
asignacin a las prestaciones de categoras rojas o amarillas se
realizarn identificando los mviles ms cercanos considerando su
distancia lineal.
Para las prestaciones de categora verde, se utilizar un mdulo de
asignacin automtica basado en metaheursticas multi-objetivo. La
naturaleza de este tipo de prestaciones es no programada, y
representan ms del 75% de las prestaciones totales. Este tipo de
prestaciones no revisten peligro de vida. Desde el punto de vista de
problema logstico y de estructura de costos las prestaciones
pertenecientes a esta categora representan el desafo mas importante
para la compaa.
El objetivo central del mdulo de asignacin automtica ser la
optimizacin de la utilizacin de los recursos, con el propsito de
atender la mayor cantidad de prestaciones posibles, con un nivel de
calidad adecuado, dado los recursos disponibles.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

223

11.2 Modelado del problema


Los requerimientos iniciales de la compaa incluyen la optimizacin
de dos objetivos contrapuestos, la reduccin del tiempo de arribo a las
prestaciones y minimizacin en el uso de equipos mdicos de terceros
(costos). Cada uno de estos objetivos tendr una formula matemtica
asociada, y el algoritmo de optimizacin intentar minimizar ambas en
forma simultnea. Aquellos individuos con valores menores en cada
funcin objetivo sern mejores que aquellos con valores altos. Dado
este contexto de proyecto, se defini la utilizacin de metaheursticas
multi-objetivo que permitan la optimizacin simultnea de ambos
aspectos del problema. Este tipo de algoritmos retornan el conjunto de
soluciones ptimas considerando todos los objetivos en juego. Este
conjunto de soluciones es conocido como el frente de Pareto, y est
formado por las soluciones no dominadas encontradas.
Se considera como parte importante de la solucin propuesta que el
tomador de decisiones pueda visualizar, una vez optimizado el
problema, el conjunto de soluciones de alta calidad obtenido, y decidir
cul solucin es la ms adecuada. Asimismo, se prev la posibilidad
de que el sistema proponga una de las soluciones del frente de Pareto
obtenido, de acuerdo a una configuracin predefinida.
La visualizacin del frente de Pareto permite ganar un entendimiento
mayor del problema al tomador de decisiones, as como la superficie
del frente de Pareto revela la interaccin entre los objetivos en
oposicin [230]. Es claro ver que se persigue en forma simultnea la
mejora en la calidad de servicios y la optimizacin de los costos de
operacin de la empresa (figura 11.1).

224

JAVIER LPEZ

Figura 11.1: Visualizacin del frente de Pareto por parte


del Tomador de Decisiones

El problema de optimizacin puede ser descrito identificando sus dos


componentes principales, prestaciones mdicas (pacientes que
necesitan ser atendidos) y mviles mdicos (equipos mdicos y
vehculos). En este captulo se detallan los atributos principales de
ambos componentes , a los efectos de clarificar el modelado del
problema. En el captulo de implementacin se detallan la lista
exhaustiva de atributos intervinientes.
Los atributos centrales de una prestacin mdica son:
Concepto
Descripcin
Cdigo (P1):
Identificacin del servicio
Tiempo de llamada (P2): Tiempo, en segundos, desde que se report
el problema mdico en la cabina de
recepcin de llamados
Ubicacin (P3) :
Coordinadas, longitud y latitud,
correspondiente a la ubicacin geogrfica
donde se encuentra la prestacin
Tiempo respuesta (P4):
Tiempo de respuesta promedio que se estima
estar en el domicilio en funcin de la
categora de las prestacin

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

225

Los mviles mdicos son las unidades disponibles, de alta, media y


baja complejidad, para atender las prestaciones mdicas. Se
caracterizan por los siguientes atributos principales:
Concepto
Cdigo (M1):
Hora Desde (M2):

Descripcin
Identificacin del mvil
Tiempo, en segundos, a partir del cual el mvil va
a estar disponible para su entrada en servicio. Se
corresponde con el inicio de la hora de guardia de
ese equipo mdico
Hora Hasta (M3):
Tiempo, en segundos, a partir del cual el mvil
dejar de estar disponible para su uso en servicio.
Se corresponde con el fin de la hora de guardia de
ese equipo mdico
Ubicacin (M4):
Coordinadas, longitud y latitud, de ubicacin de
ese vehculo. Esta ubicacin es posible de
calcularse con diferentes niveles de exactitud,
segn tabla en captulo de implementacin
Velocidad promedio Velocidad promedio estimada de ese vehculo. La
misma se corresponde a la velocidad lineal entre
(M5):
puntos de diferentes coordenadas
Dueo del vehculo Atributo que identifica si el mvil pertenece a la
compaa o es un servicio prestado por un
(M6):
proveedor (tercero)
Existen otros atributos que se detallan en el anexo de implementacin.
El problema a resolver consiste en decidir cul mvil mdico se
utilizar para atender cada una de las prestaciones, considerando el
tiempo disponible de servicio de cada equipo mdico (mvil),
minimizando los tiempos de respuesta, y reduciendo el uso de equipos
mdicos de terceros.

Representacin
Cada problema tiene su formulacin matemtica. Esta formulacin
puede ser visualizada graficando la funcin a optimizar para todos sus
valores dentro del dominio de bsqueda. El paisaje que forma esta
representacin grfica nos muestra el grado de complejidad de la
funcin a optimizar. Los ptimos a encontrar se corresponden con los
puntos mximo o mnimos de la funcin (figura 11.2).

226

JAVIER LPEZ

Figura 11.2: Ejemplo de funcin a optimizar con dos variables de decisin

La primera cuestin a resolver es la relacionada con la representacin


de las soluciones a utilizar para modelar el problema del mundo real.
Esta representacin debe considerar las caractersticas del problema en
ciernes, y tiene una influencia central en la performance del algoritmo
de optimizacin. Un mismo problema puede ser mas fcil o difcil de
resolver dependiendo de la representacin elegida [240].
Los algoritmos propuestos estn concebidos, en su versin original,
para trabajar en espacios de bsquedas continuos. Por lo tanto, en el
mbito de este trabajo se decidi optar por una representacin
continua (espacio de bsqueda) del espacio del problema. Esta
decisin nos permite evaluar dentro del mbito de este proyecto una
mayor cantidad de metaheuristicas disponibles, y seleccionar aquellas
con mejor desempeo evaluado. La utilizacin de otras
representaciones, que normalmente traen aparejados el desarrollo de
operadores especficos para las mismas no hubiera permitido el
desarrollo del proyecto en el alcance especificado, tanto respecto de la
variable tiempo como de la variable costo.
En esta tesis se propone utilizar la siguiente representacin, que
permite una representacin matemtica del problema abordado, y
define un dominio de las funciones objetivos del tipo variables reales.
Cada individuo est representado por un vector de nmeros reales. La
dimensin del vector se corresponde con el nmero de prestaciones a
atender. Por lo tanto, el tamao del vector varia con la instancia del
problema a resolver. El dominio de los valores para todas las
dimensiones es el mismo y est relacionado con el nmero de mviles
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

227

mdico disponibles. Formalmente, sea m el nmero de prestaciones y


n el nmero de mviles mdicos, cada individuo I es igual a un vector
m-dimensional de nmeros reales. El dominio de los valores de cada
dimensin puede variar de 0,5 hasta n+0,4999.
Por ejemplo, un individuo podra tener los siguientes valores

A=(2.3546,0.6589,1.2357,1.7542)
La poblacin completa estar constituida por P individuos de estas
caractersticas, siendo P un parmetro inicial del algoritmo. Por
ejemplo, una poblacin formada por tres individuos podra ser de la
siguiente forma:

A=(2.3546,0.6589,1.2357,1.754)
B=(1.9536,1.4500,0.8229,1.424)
C=(2.5546,3.8956,2.5700,3.7556)

Ntese que la representacin elegida cumple como requisito el hecho


de utilizar una representacin real del espacio de bsqueda.

Decodificacin del Vector Individuo


Cada dimensin del vector representa una prestacin mdica
pendiente a atender. El valor real que toma cada dimensin representa
el vehculo (mvil mdico) responsable de atender cada prestacin. El
mismo se define aplicando la funcin redondeo() al valor real de cada
dimensin. Esta funcin devuelve un valor entero que se corresponde
con el sub-ndice del mvil que atender esa prestacin. La restriccin
en el dominio de los valores de cada dimensin asegura que la funcin
siempre devuelve un sub-ndice correspondiente a algn vehculo
existente.
Cada vehculo puede atender mas de una prestacin. El orden en que
cada mvil atiende las diferentes prestaciones se define por el valor
real, sin aplicar ningn tipo de funcin, y se considera de una manera
ascendente. Si tomamos como ejemplo el individuo A de la tabla
anterior, el equipo mdico mvil nmero 1 atender las prestaciones 2
y 3, en ese orden, y el equipo mdico 2 atender las prestaciones 4 y 1,

228

JAVIER LPEZ

en ese orden. De forma anloga, tomando el individuo B, el mvil 1


atender las prestaciones 3, 4 y 2, en ese orden, y el mvil 2 atender
las prestacin 1. Ntese que siempre se asigna un mvil a una
prestacin. La inversa puede no ocurrir, pudiendo quedar mviles sin
prestaciones asignadas.
Esta representacin tiene la ventaja de una implementacin simple y
eficiente, dado que el uso de memoria requerido se incrementa
linealmente con el nmero de prestaciones a atender, sin importar la
cantidad de mviles disponibles. Dadas las caractersticas de hardware
de los servidores actuales de rango medio, y en funcin del tamao de
la instancias de los problemas en el mundo real, el uso de memoria por
parte de los algoritmos para representar la poblacin de soluciones es
despreciable.
La misma representacin fue utilizada para todos los algoritmos
evaluados.
Adicionalmente, cabe destacar que la relacin establecida entre el
espacio del problema y el espacio de bsqueda es del tipo inyectiva,
dado que cada individuo representa una asignacin nica, pero cada
asignacin esta representada por mucho individuos.

Funciones Objetivo (Fitness Functions)


Las dos funciones objetivo a minimizar se definen como:
TE:
PT:

Tiempo de espera promedio de las prestaciones


Nmero de prestaciones que sern atendidas por mviles no propios

Con la primera de las funciones objetivo se intenta mejorar la calidad


de servicio, dado que la variable tiempo de llegada para atender la
prestacin es la variable principal que define la calidad de atencin,
mas all del acto mdico en s, que est fuera del alcance de este
trabajo.
Con la segunda de las funciones se intenta aumentar la competitividad
de la empresa optimizando la utilizacin de equipos mdicos de
terceros, dado que los mismos presentan una estructura de costos ms
importante medidos en trminos comparativos con los equipos
mdicos propios, as como tambin se hace ms difcil el
aseguramiento en la calidad del servicio por ser personal mdico y
para-mdico que no pertenece a la compaa.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

229

Para estimar el tiempo de arribo a cada prestacin, el vector que


representa cada asignacin, es en primera instancia organizado por
mviles en orden creciente, y luego se ordena como se atendern las
prestaciones por parte de cada equipo mdico, siguiendo lo
establecido en el prrafo anterior.
El tiempo de espera se calcula de la siguiente manera para la primera
prestacin que atender el mvil:

TL=M2+TV1
TE=TL+P2

Siendo TV1 el tiempo de viaje, en segundos considerando M4, M5 y


P3.
Para el resto de las prestaciones, el tiempo de espera se calcula de la
siguiente forma:

TL=TEant+P4+TV2
TE=TL+P2
Siendo TEant el TE de la prestacin anterior y TV2 el tiempo de viaje
desde la ubicacin de la prestacin anterior a la prestacin actual,
considerando P3, M5 y P3ant (P3 de la prestacin atendida
previamente).
Luego, todos los tiempos de espera se suman y se promedian
dividiendo los mismos por el nmero de prestaciones a atender por ese
mvil. De esta forma, se continua con el resto de los mviles hasta
decodificar el vector completo.
Para calcular la funcin objetivo 2 que se corresponde con la cantidad
de prestaciones atendidas por mviles de terceros, simplemente se
cuentan la cantidad de prestaciones que sern atendidas por mviles
mdicos no propios (M6).

Restricciones
En el planteamiento del problema hay restricciones a considerar en
relacin con la ventana de tiempo disponible (horario de guardia) de
cada equipo mdico. Cada mvil tiene un horario en el cual el mismo

230

JAVIER LPEZ

no esta disponible, y no es posible asignarle prestaciones durante este


rango de tiempo.
Para el manejo de restricciones, se creo una funcin de penalizacin.
Esta penalizacin se suma al tiempo de espera (TE) calculado. De esta
forma, si un mvil mdico es asignado a una prestacin fuera de su
horario de disponibilidad, el tiempo de espera promedio (TE) se ver
significativamente afectado.
La funcin de penalizacin se calcula como sigue:

(11.1)
De esta forma, para aquellas asignaciones de mviles a prestaciones fuera
de su horario de guardia activa la penalizacin es proporcional al
cuadrado de la diferencia entre la hora asignada y la hora en que el mvil
est disponible. Por lo tanto, cuando se asigna un mvil fuera de su
horario de disponibilidad, pero cerca de sus extremos desde / hasta, la
penalizacin ser reducida. Sin embargo, cuando un mvil mdico se
asigna a una prestacin fuera de su rango horario de disponibilidad, y
lejos de los extremos horarios desde / hasta, la penalidad ser mayor, desincentivando este escenario como posible solucin.
A diferencia de funciones de penalizacin que dividen el espacio de
bsqueda en soluciones factibles y no factibles, esta funcin de
penalizacin permite obtener una aproximacin de las soluciones en la
frontera entre estos dos espacios, con acercamientos a estas regiones tanto
desde el lado factible como desde el lado no factible [10].

11.3 Algoritmos
La experimentacin se realiz utilizando 6 metaheursticas
representativas del estado del arte en optimizacin multi-objetivo, con la
finalidad de medir los resultados comparados y seleccionar aquellas
tcnicas ms apropiada para este problema.
Las metaheurisitcas seleccionadas fueron NSGAII[154], SPEA2 [155],
PAES [218], varMOPSO [97], OMOPSO [225], y SMPSO [156]. Las
primeras tres son tcnicas referentes en este campo de estudio, las ltimas
tres son tcnicas con buenos resultados reportados en problemas de
laboratorio.
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

231

En el presente trabajo slo se muestran los resultados obtenidos con


NSGAII, SPEA2 y PAES dado que fueron aquellas tcnicas que
presentaron los mejores resultados en todas las instancias del problema,
mostrando un desempeo superior que el resto de las tcnicas evaluadas,
en estos casos particulares. Es importante notar que todas las tcnicas
basadas en la metaheurstica PSO mostraron un desempeo comparativo
menor. En las conclusiones de la presente tesis se esboza una posible
explicacin de esta situacin.

Operador de Mutacin
Con el objetivo de mejorar la capacidad de bsqueda de las
metaheursticas utilizadas, se creo un operador de mutacin para utilizar
en todos los algoritmos evaluados. Este procedimiento es
conceptualmente muy simple y fcil de implementar. Para el 1% de los
casos, en forma previa a la evaluacin de los individuos, se realizan
cambios en los mismos. Estos cambios consisten en seleccionar el 5% de
las dimensiones individuales de un individuo e intercambiar el valor de
esa dimensin por el valor de otra seleccionada al azar. De esta forma, se
intercambia el valor del 10% de las dimensiones para el 1% de los
individuos. Los porcentajes precedentes fueron encontrados en forma
emprica.

11.4 Experimentos Realizados


Para realizar la experimentacin de las distintas metaheuristicas se
realizaron optimizaciones de tres instancias del problema,
correspondientes a situaciones reales provistas por la compaa.
La instancia denominada UCMQSmall se corresponde con un escenario
compuesto por 37 prestaciones y 10 mviles de atencin mdica. La
instancia UCMQMedium se corresponde a una instancia de 79
prestaciones y 18 mviles. La instancia UCMQLarge se corresponde a un
escenario real de 233 prestaciones y 33 mviles mdicos, entre equipos
propios y de terceros.
Para los tres algoritmos NSGAII [154], SPEA2 [155] y PAES [218] se
utiliz una poblacin fija de 100 individuos. El tamao del archivo
externo de soluciones no dominadas fue de 100 individuos para todos los
casos. En NSGAII [154] y SPEA2 [155] se utilizaron SBX y mutacin
polinomial como operadores de cruza y mutacin, respectivamente. En
PAES [218] tambin se utiliz mutacin polinomial. La probabilidad de
mutacin fue 1/m, donde m es el nmero de las variables de decisin.
232

JAVIER LPEZ

En todos los casos se realiz la evaluacin de la metaheurstica original y


la misma metaheurstica con el agregado del operador local de mutacin
implementado a nivel vector representativo del individuo (sufijo pl en los
nombres de los algoritmos). A los efectos del experimento, se
consideraron 100.000 evaluaciones de funciones, correspondientes al
tiempo aproximado para resolver el problema en el mundo real. Se
ejecutaron 30 corridas de prueba por cada algoritmo e instancia del
problema.
Se calcularon los siguientes indicadores: additive unary epsilon indicator,
spread, e hipervolumen [150] [231] [230], para comparar la calidad de los
frentes de Pareto obtenidos.
Dado que son problemas del mundo real, los reales frentes de Pareto de
los problemas son desconocidos. Los mismos fueron estimados por cada
instancia del problema utilizando el algoritmo NSGAII y 1.000.000 de
evaluacin de funciones.
Para llevar a cabo la evaluacin, se utiliz el framework de desarrollo
jMetal [226], dada la importante cantidad de metaheursticas
implementadas, la buena documentacin disponible y la generacin
automtica de los indicadores de performance.
La tabla 11.1 muestra los resultados del indicador Hipervolumen
(Mediana e IQR). Las tablas 11.2, 11.3 y 11.4 muestran si las diferencias
son estadsticamente significantes. En cada tabla, el smbolo (peor) o
smbolo (mejor) implica un pvalue<0.05. indicando que la hiptesis
nula (ambas distribuciones tiene la misma mediana) es rechazada; en otro
caso, el smbolo - es usado.
Las figuras 11.3, 11.4 y 11.5 muestran los diagramas de caja para este
indicador.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

233

Tabla 11.1: Hipervolumen. Mediana e IQR. Todas las Instancias

Tabla 11.2: Hipervolumen. Significancia estadstica. UCMQLarge

Figura 11.3: Hipervolumen. Diagrama de Cajas. UCMQLarge

234

JAVIER LPEZ

Tabla 11.3: Hipervolumen. Significancia estadstica. UCMQMedium

Figura 11.4: Hipervolumen. Diagrama de Cajas. UCMQMedium

Tabla 11.4: Hipervolumen. Significancia estadstica. UCMQSmall

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

235

Figura 11.5: Hipervolumen. Diagrama de Cajas. UCMQSmall

La tabla 11.5 muestra los resultados del indicador Epsilon (Mediana e


IQR). Las tablas 11.6, 11.7 y 11.8 muestran si las diferencias son
estadsticamente significantes. Las figuras 11.6 a 11.8 muestran los
diagramas de caja para este indicador.

Tabla 11.5: Epsilon. Mediana e IQR. Todas las Instancias

236

JAVIER LPEZ

Tabla 11.6: Epsilon. Significancia estadstica. UCMQLarge

Figura 11.6: Epsilon boxplot. Large Instance

Tabla 11.7: Epsilon. Significancia estadstica. UCMQMedium

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

237

Figura 11.7: Epsilon boxplot. Medium Instance

Tabla 11.8: Epsilon. Significancia estadstica. UCMQSmall

Figura 11.8: Epsilon. Diagrama de Cajas. UCMQSmall

238

JAVIER LPEZ

La tabla 11.9 muestra los resultados del indicador Spread (Mediana e


IQR). Las tablas 11.10, 11.11 y 11.12 muestran si las diferencias son
estadsticamente significantes. Las figuras 11.9 a 11.11 muestran los
diagramas de caja para este indicador.

Tabla 11.9: Spread. Mediana e IQR. Todas las Instancias

Tabla 11.10: Spread. Significancia estadstica. UCMQLarge

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

239

Figura 11.9: Spread boxplot. Large Instance

Tabla 11.11: Spread. Significancia estadsitica. UCMQMedium

Figura 11.10: Spread boxplot. Medium Instance

240

JAVIER LPEZ

Tabla 11.12: Spread. Significancia estadstica. UCMQSmall

Figura 11.11: Spread boxplot. Small Instance

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

241

Figura 11.12: Frente de Pareto. UCMQLarge. Tringulos negros PAES,


Cuadrados verdes SPEA2 , Crculos rojos SPEA2 con mutacin

11.5 Anlisis de Resultados


Basados en los experimentos realizados, los siguientes aspectos
pueden ser destacados:
Considerando el indicador Hipervolumen, para la instancia del
problema mas grande (UCMQLarge), la metaheurstica PAES produce
los mejores resultados superando el rendimiento del resto de los
algoritmos, con una diferencia estadsticamente significante. Para las
instancias media (UCMQMedium) y pequea (UCMQSmall) los
mejores resultados son los obtenidos con los algoritmos NSGAII y
SPEA2. Ambos con la utilizacin del operador de mutacin
propuesto.
Respecto del indicador Epsilon, para la instancia ms grande, todas las
metaheursticas producen resultados similares, con la excepcin de
PAES con el procedimiento de mutacin que mostr un bajo
desempeo. Para las otras dos instancias, los mejores resultados son
los obtenidos con los algoritmos NSGAII y SPEA2. Ambos con la
utilizacin del operador de mutacin propuesto.
Respecto del indicador Spread, para la instancia mayor del problema
los mejores resultados fueron obtenidos por PAES con el agregado del
242

JAVIER LPEZ

operador de mutacin propuesto, seguido por NSGAII en las dos


variantes evaluadas. Para las instancias mediana y pequea del
problema, los mejores resultados son los obtenidos con los algoritmos
NSGAII y SPEA2. Ambos con la utilizacin del operador de mutacin
propuesto.
Analizando los indicadores que miden los rendimientos comparativos
de las tcnicas evaluadas podemos afirmar que para las instancias ms
grandes del problema el algoritmo PAES produce los mejores
resultados. Asimismo, para las instancias medias y pequeas la
utilizacin de NSGAII y SPEA2 ofrecen los mejores desempeos.
Adems, puede apreciarse que en general el operador de mutacin
propuesto mejora los frentes de Pareto obtenidos por la versin
original de las metaheursticas.
En este caso particular se decidi utilizar las tres metaheursticas
evaluadas, cada una con la utilizacin y sin la utilizacin del operador
de mutacin propuesto, realizar una ejecucin en paralelo con la
instancia del problema real a resolver, y construir el frente de Pareto
juntando los archivos de soluciones ptimas de cada algoritmo,
manteniendo en el conjunto final slo aquellas soluciones no
dominadas. En la figura 11.12 se puede observar los frentes de Pareto
obtenidos en una ejecucin representativa de la instancia grande del
problema y las tres metaheursticas con mejor desempeo en este
caso.

11.6 Conclusiones
En este captulo se present una aplicacin de metaheursticas
evolutivas en un caso del mundo real. El problema a resolver consisti
en la automatizacin y optimizacin en tiempo real de las asignacin
de mviles mdicos a prestaciones mdicas. Se evaluaron un conjunto
extenso de metaheursticas evolutivas representativas del estado del
arte en la materia. En base al problema a resolver, se seleccionaron
aquellas tcnicas que mostraron un mejor desempeo en las tres
instancias del problema evaluado. Como solucin al problema de
optimizacin se compone un conjunto de soluciones no dominadas,
formado por la unin de las soluciones encontradas por las tres
metaheursticas, en sus dos versiones. Estos procesos se corren en
paralelo, en ncleos independientes de procesamiento.
El enfoque multi-objetivo de la solucin propuesta tambin debe ser
destacado, dado que es un enfoque innovador en este tipo de
problemas. Ofreciendo un conjunto de soluciones ptimas (frente de
Pareto), el TD (Tomador de decisiones) aprende acerca del problema y
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

243

puede visualizar cuantitativamente la relacin entre los objetivos


contrapuestos.
El uso de tecnologa proveniente del campo de la investigacin en
aplicaciones de negocios es considerada sumamente importante. En
este caso, existi una transferencia de conocimiento entre el mundo
cientfico y el sector privado. El verdadero valor de la investigacin
reside en la aplicacin del conocimiento cientfico para resolver
problemas del mundo real.
Es importante destacar que este proyecto fue financiado por Unidad
Coronaria Mvil Quilmes S.A., del grupo Ayuda Mdica.

244

JAVIER LPEZ

PARTE IV
Conclusiones

CAPTULO 12

Conclusiones Finales
En este captulo de la presente tesis se efecta una revisin del trabajo
realizado, destacando los puntos ms relevantes de la presente
investigacin, profundizando en las lecciones aprendidas, y repasando
aquellos aspectos pasibles de mejoras.
Se plantean adems, las lneas de investigacin a futuro que surgen a
partir de los conocimientos y experiencias adquiridas durante el
transcurso del presente trabajo.

12.1 Conclusiones Finales


Este trabajo se centra en el estudio y aplicacin de metaheursticas
evolutivas aplicadas a problemas del mundo real. Estos algoritmos de
optimizacin son, en su concepcin matemtica ms elemental,
algoritmos probabilsticos que generan muestras del espacio de bsqueda,
intentando encontrar patrones de inters.
A partir del procesamiento de la informacin obtenida, se define la forma
en que se direcciona la bsqueda. Esta eleccin est basada en el fuerte
supuesto que las regularidades encontradas pueden servir de gua para
encontrar los ptimos globales de la funcin. Dada la naturaleza de este
tipo de algoritmos, creemos importante entender los elementos
constitutivos de cualquier problema de bsqueda y optimizacin
matemtica. Estos elementos estn siempre presentes y son comunes
cualquiera sea la tcnica que se aplique, de ah su definicin en los
primeros captulos del presente trabajo.
Luego de esta primera revisin de conceptos generales, la tesis se focaliza
en las metaheursticas evolutivas. En especial, se profundiza el estudio de
la metaheurstica Optimizacin por Cmulo de Partculas (PSO), tcnica
perteneciente a la rama conocida como Inteligencia de Enjambres,
realizando una descripcin y un estudio detallado de la misma.
Tomando como base la informacin obtenida se plantean diferentes
versiones de algoritmos del tipo PSO, cada una con un fin muy
especfico, intentando en algunos casos suplir deficiencias encontradas y
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

247

en otros casos proponiendo variantes con mejoras a las versiones


existentes.
En una primera instancia se plantea una versin paralela de la versin
cannica del algoritmo, demostrando que naturalmente determinadas
modalidades de paralelizacin son fcilmente implementables, y logrando
interesantes ndices de speed-up. Los resultados obtenidos en la
comparacin con la versin cannica muestran que la versin paralela
mejora el rendimiento slo en la minora de las funciones de prueba
utilizadas. Estos resultados son coincidentes con trabajos previos en la
misma direccin, pero creemos que existe oportunidad de mejora de los
resultados experimentando con diferentes configuraciones del algoritmo.
A continuacin, en base al estudio del patrn de movimientos de las
partculas cuando se encuentran cerca de un punto ptimo, se plantea una
versin del algoritmo PSO que intenta reducir las oscilaciones de la
partcula en su fase de aproximacin final. La versin propuesta mejora el
desempeo del algoritmo en la mayora de las funciones de prueba
utilizadas, mejora la velocidad de convergencia a los puntos ptimos, sin
incrementar la tendencia a quedar atrapado en puntos sub-ptimos del
espacio de bsqueda.
La siguiente versin desarrollada consiste en una propuesta de mejora
sobre el algoritmo PSO aplicado a espacios binarios. Se trabaj en una
nueva variante del clculo de velocidad a partir del anlisis de la versin
binaria original del algoritmo y de otra variante propuesta por otros
autores. Los objetivos pudieron ser alcanzados, y la versin propuesta
obtuvo un rendimiento comparativo superior.
Hasta aqu, todas las variantes presentadas se aplicaron a optimizacin
mono-objetivo.
La ltima versin de la tcnica PSO presentada es una propuesta que
incorpora el concepto de poblacin de tamao variable, y se aplic a
problemas multi-objetivo. Se evalu esta alternativa comparndola con
algoritmos de optimizacin representativos del estado del arte en
optimizacin con ms de un objetivo logrndose resultados destacados y
superiores al resto de la tcnicas evaluadas.
Respecto de estas actividades de laboratorio realizadas en el mbito de la
presente tesis podemos destacar los siguientes puntos:
1. Existen alternativas de mejoras a las diferentes tcnicas existentes.
Para poder proponer una versin con rendimiento superior, se hace
necesario estudiar y entender la lgica propia de la tcnica bajo
estudio, y proponer mejoras orientadas a suplir falencias o mejorar
puntos especficos de cada algoritmo.

248

JAVIER LPEZ

2. Las mejoras propuestas implican, en algunos de los casos,


aumentar la complejidad computacional de la tcnica original. En
estos casos se plantea un interesante trade-off entre resultados
obtenidos y esfuerzo insumido cuya determinacin de
conveniencia depender de cada caso en particular.
3. La metaheurstica Optimizacin por Cmulo de Partculas (PSO)
se muestra como una tcnica flexible, que se puede aplicar tanto a
espacios de bsqueda continuos como binarios, problemas monoobjetivo y multi-objetivo, versiones secuenciales y paralelas, en
todos los casos con buenos resultados de desempeo, y sin grandes
variaciones en sus componentes originales.
4. La adaptacin del comportamiento de la metaheurstica en funcin
del problema a optimizar produce resultados positivos, dado que
muchos de los parmetros de configuracin de la misma son
dependientes del problemas.
La ltima parte de este trabajo de investigacin trata sobre la aplicacin
de metaheursticas evolutivas a un problema del mundo real. En este
caso, el problema a resolver fue la optimizacin de la asignacin de
mviles a prestaciones mdicas, por parte de la principal empresa de
emergencias del pas. El caso de estudio se mostr sumamente
interesante, dada la complejidad del problema en cuestin, as como la
sensibilidad de la actividad de negocio de la empresa. Bajo el amparo de
un contrato de transferencia entre la universidad y la empresa privada, fue
posible desarrollar esta actividad alcanzando los objetivos propuestos. El
proceso transcurri de acuerdo a lo previsto, y los resultados del mismo
para la compaa fueron muy beneficiosos.
Creemos importante destacar los siguientes aspectos del trabajo realizado:
1. Es de central importancia dedicar tiempo al entendimiento general
del proyecto por parte de los involucrados. Este tipo de
aplicaciones no son de uso habitual, an en el mbito de empresas
con uso amplio de tecnologa, y la comprensin del proyecto por
parte de los niveles de direccin es parte fundamental del proceso.
2. Es fundamental encarar este tipo de proyectos en forma integral.
Existen muchos problemas de optimizacin a resolver en las
compaas, este es un caso acabado de los mismos, pero es
importante entender que normalmente no se cuenta de antemano
con toda la informacin que requieren los algoritmos de
optimizacin para ser aplicados. Por lo tanto, es una parte
principal del proyecto recabar la informacin faltante, e
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

249

instrumentar los mecanismos para que la misma sea recogida en


forma precisa y regular como parte de los procesos de negocios
estndares de la empresa.
3. Los problemas del mundo real son ms complejos que los
problemas de laboratorio. Se presentan dificultades relacionadas
con resistencia al cambio, falta de entendimiento, carencia de
comunicacin, intereses creados, los que requieren ser gestionados
para evitar el fracaso del proyecto.
4. Las instancias de los problemas del mundo real son desconocidas,
y diferentes cada vez. Es una buena prctica experimentar con
diferentes instancias reales del problema as como utilizar
diferentes tcnicas metaheursticas, dado que a priori no es posible
conocer cul tcnica se ajusta mejor al problema a optimizar. A la
fecha, la base ms firme para verificar cual tcnica de
optimizacin estocstica tiene mejor desempeo en un problema
dado es el trabajo emprico.
5. Se debe aprovechar la capacidad de procesamiento disponible,
paralelizando los procesos de optimizacin, utilizando las
metaheursticas que mejor desempeo mostraron en la etapa de
experimentacin. En este caso de estudio se detectaron tres
metaheursticas con dos variantes cada una con buenos resultados
en las diferentes instancias. Por lo tanto se decidi ofrecer como
solucin al problema el frente de Pareto compuesto por las 6
variantes, lo que maximiza la robustez de la solucin
implementada.
6. Ofrecer al tomador de decisin el frente de Pareto obtenido es
sumamente beneficioso, dado que permite que el mismo adquiera
el conocimiento del problema y entienda el trade-off entre los
objetivos en conflicto.

12.2 Trabajo Futuro


Luego del camino recorrido y del aprendizaje adquirido, surgen
naturalmente lneas de investigacin complementarias tanto en los
mbitos tericos de experimentacin en laboratorio como en casos del
mundo real.

250

Complejidad computacional: En las variantes de algoritmos del


tipo PSO y MOPSO presentados en esta tesis se agregaron

JAVIER LPEZ

procedimientos complementarios a las versiones originales que en


la mayora de los casos aumentaron sensiblemente la complejidad
computacional del algoritmo. Sera adecuado investigar
oportunidades de mejora en la implementacin de los mismos
tendientes a minimizar la complejidad de los algoritmos.

Parmetros auto adaptables: Si bien esta lnea de investigacin es


bastante ampla dentro de la rama de metaheursticas evolutivas,
creemos que es central para lograr algoritmos eficientes optimizando
problemas complejos. Variar parmetros estndar de los algoritmos
en funcin de la evolucin de la bsqueda (coeficientes de
aceleracin, ponderacin de las factores cognitivo y social) o aspectos
ms relevantes como el tamao de la poblacin o incluso el tipo de
metaheurstica es una lnea de investigacin con resultados
prometedores. Este paradigma de pensamiento intenta utilizar
soluciones robustas, probadas, pero que adems sean capaces de
maximizar la adaptacin al problema en ciernes.

Relacin algoritmo / clase de problema: Esta lnea de investigacin se


hace necesaria para entender porqu algoritmos con muy buenos
resultados en algunos de los conjuntos de funciones de prueba
presentan una pobre performance en una clase particular de
problemas. En el mbito de esta tesis se puede apreciar que todos los
algoritmos del tipo MOPSO presentaron un bajo rendimiento en las
instancias del problema del mundo real. Sin duda, la modelizacin de
esta realidad configur una clase particular de problemas donde los
algoritmos multi-objetivo basados en PSO se ven superado por otras
tcnicas de bsqueda y optimizacin. En este caso en particular, si
bien los experimentos realizados no fueron suficientes para aseverar
esta afirmacin, algunos indicios parecen indicar que los espacios de
bsqueda con redundancia, como el seleccionado, disminuyen la
capacidad de optimizacin de los algoritmos del tipo MOPSO,
probablemente por su rpida convergencia a sectores especficos del
espacio de bsqueda.

Caso de estudio: Dado el xito del proyecto desarrollado y la


aceptacin del mismo por parte de la compaa de emergencias,
creemos que existen sendas oportunidades para seguir aplicando
algoritmos de optimizacin en esta industria. Por ejemplo, la
ubicacin de los mviles de alta complejidad en funcin de la
demanda en tiempo real (Ambulance Location Problem) es un
problema tpico para resolver con estas tcnicas, as como la
determinacin de la cantidad de mviles y la ubicacin de las
bases de acuerdo a la demanda de servicios real e histrica.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

251

PARTE V
Apndice A

1. Rendimientos de algoritmos cPSO y dPSO


En esta seccin se incluyen las tablas con los resultados del
desempeo de los algoritmos cPSO y dPSO en las 25 funciones de
prueba evaluadas segn [208].

Tabla 1: Funciones de la 01 a la 08 cPSO en 10 dimensiones

Tabla 2: Funciones de la 09 a la 16 cPSO en 10 dimensiones

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

255

Tabla 3: Funciones de la 17 a la 25 cPSO en 10 dimensiones

Tabla 4: Funciones de la 01 a la 25 cPSO en 10 dimensiones

256

JAVIER LPEZ

Tabla 5: Funciones de la 01 a la 08 cPSO en 10 dimensiones

Tabla 6: Funciones de la 09 a la 16 cPSO en 30 dimensiones

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

257

Tabla 7: Funciones de la 17 a la 25 cPSO en 30 dimensiones

Tabla 8: Funciones de la 01 a la 25 cPSO en 30 dimensiones

258

JAVIER LPEZ

Tabla 9: Funciones de la 01 a la 08 cPSO en 10 dimensiones

Tabla 10: Funciones de la 09 a la 16 cPSO en 50 dimensiones

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

259

Tabla 11: Funciones de la 17 a la 25 cPSO en 50 dimensiones

Tabla 12: Funciones de la 01 a la 25 cPSO en 50 dimensiones

260

JAVIER LPEZ

Tabla 13: Funciones de la 01 a la 08 dPSO en 10 dimensiones

Tabla 14: Funciones de la 09 a la 16 dPSO en 10 dimensiones

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

261

Tabla 15: Funciones de la 17 a la 25 dPSO en 10 dimensiones

Tabla 16: Funciones de la 01 a la 25 dPSO en 10 dimensiones

262

JAVIER LPEZ

Tabla 17: Funciones de la 01 a la 08 dPSO en 30 dimensiones

Tabla 18: Funciones de la 09 a la 16 dPSO en 30 dimensiones

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

263

Tabla 19: Funciones de la 17 a la 25 dPSO en 30 dimensiones

Tabla 20: Funciones de la 01 a la 25 dPSO en 30 dimensiones

264

JAVIER LPEZ

Tabla 21: Funciones de la 01 a la 08 dPSO en 10 dimensiones

Tabla 22: Funciones de la 09 a la 16 dPSO en 10 dimensiones

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

265

Tabla 23: Funciones de la 17 a la 25 dPSO en 10 dimensiones

Tabla 24: Funciones de la 01 a la 25 dPSO en 10 dimensiones

266

JAVIER LPEZ

2. Aspectos de Implementacin
En este apartado se especifica la forma en qu intercambiaran
informacin el sistema de Gestin de Cabina existente y el mdulo de
optimizacin basado en algoritmos evolutivos.

Especificacin de Interfaces
A continuacin se detallan los requerimientos a cumplir:
1. La interface ser un archivo de texto.
2. Se generar un ID del lado del sistema de cabina.
3. El ID ser parte del nombre de los archivos de entrada y salida
del algoritmo.
4. Los archivos de texto estarn bloqueados durante su proceso de
lectura/escritura, para asegurar la consistencia.
5. Los archivos sern del tipo texto.
6. Los valores de las distintas columnas estarn separados por un
espacio.
7. Las columnas numricas debern respetar el ancho, y los
valores debern estar formateados.
8. Para las columnas de texto, el ancho es slo un valor mximo.
9. Las columnas de texto no se completarn con espacios, ni
podrn tener espacios intermedios.
10. Existir un archivo de texto de control donde se detallar la
informacin de secuencia y dems parmetros generales.
11. El algoritmo de asignacin automtica deber poder ejecutarse
desde lnea de comando.

Especificacin de archivos
El sistema de Administracin de Cabina generar tres archivos, el
primero con las prestaciones, el segundo con los mviles disponibles y el
tercero ser un archivo de control. El primero de ellos se llamara
prestnnnnnn, siendo nnnnnn un nmero nico de 6 dgitos (secuencia).
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

267

El segundo de ellos se llamara movilnnnnnn, siendo nnnnnn un nmero


nico de 6 dgitos (secuencia). Ambos nmeros debern coincidir.
En el archivo control, se encontrar el valor de la secuencia que
determina los nombres de los archivos anteriores, as como otros
valores de parmetros de funcionamiento.
El mdulo de Asignacin devolver un archivo llamado asignnnnnn,
con la misma lgica que los anteriores. Este archivo devolver la
asignacin automtica realizada por el algoritmo.
Todos los archivos descritos anteriormente sern del tipo texto con
formato de registro de longitud fija, y tendrn extensin .txt.
En el siguiente prrafo se detalla el formato de cada uno de estos
archivos, as como el detalle del contenido de cada uno de ellos.
El algoritmo de asignacin automtica buscar los archivos de entrada en
el directorio donde se ejecuta, y dejar el archivo de salida en el mismo
directorio. El programa de asignacin no borrar los archivos de entrada.
Asimismo, en caso de existir el de salida, el mismo ser sobrescrito.

Detalle de Archivos
En este prrafo se detallan todos los archivos de interface. A
continuacin se detallan las convenciones generales
1. Los archivos son de longitud variable, tipo texto, usando el
espacio como separador de columnas.
2. Los nmeros deben formatearse de acuerdo al detalle.
3. Las columnas textos no podrn tener espacios intermedios.
4. No debern utilizarse caracteres especiales.
5. Las columnas tipo texto se alinean a izquierda, y no se
completan con espacios.
6. Las columnas tipo nmero se alinean a derecha, y se completan
con ceros.
7. Los tiempos estarn expresados en segundos, y sern relativos a
la ejecucin del algoritmo. Por ejemplo, si un mvil comienza a
operar 1 hora y 10 minutos luego de la generacin del archivo,
en la columna HoraDesde deber figurar el nmero 4200.
8. Las velocidades promedio ser del tipo lineal, expresada km/h,
y enteros.

268

JAVIER LPEZ

Prestaciones
En este archivo se detallarn todas las prestaciones pendientes de
asignar. A continuacin se detalla la estructura del archivo.
El archivo tendr tantas lneas como prestaciones pendientes se
encuentren (ver tabla 25).
Columna

Contenido

Cdigo
Longitud

Cdigo de prestacin
Coordenada de la
prestacin
Latitud
Coordenada de la
prestacin
Urgente
Priorizar prestacin
Hora
Tiempo transcurrido
Llamado
desde llamado
Reclamos Indica si tiene reclamos
Tipo de socio Indica si es socio Directo,
Cpita o Tercero
Peditrico
Indica si es paciente es
Peditrico, Mayor u Otro
Despacho Cdigo de despacho por
defecto
Tiempo
Tiempo promedio de
Promedio
atencin
Desvio
Desvivo medio en
Promedio
tiempos de atencin
Tipo
Categora de la Prestacin
Prestacin
(Roja/Amarilla/Verde)
Zona
Zona de la prestacin
(Localidad)

Tipo
Texto
Numrico

Extensin
10
9

Observaciones

Numrico

Texto
Numrico

1
7

Sin separador
de coma
Sin separador
de coma
S/N
En segundos

Texto
Texto

1
1

S/N
D/C/T

Texto

P/M/O

Texto

10

Numrico

En segundos

Numrico

En segundos

Texto

R/A/V

Texto

Tabla 25: Archivos de prestaciones a resolver

El nombre de este archivo ser [Link], siendo nnnnnn un


nmero nico de 6 dgitos (secuencia) que se encuentra en el archivo
de control ([Link]).

Mviles
En este archivo se detallan los mviles disponibles al momento de
ejecucin del proceso, as como los mviles disponibles en el futuro
(ver tabla 26).
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

269

Tener en consideracin que de acuerdo a las prestaciones pendientes,


se deben incorporar las guardias a futuro, a los efectos de asignar
todas las prestaciones
Columna

Contenido

Tipo

Cdigo
Longitud

Cdigo de mvil
Coordenada de la
prestacin. ltima
ubicacin
Coordenada de la
prestacin. ltima
ubicacin
Hora de comienzo
de disponibilidad.
Comienzo de
guardia, o tiempo
aproximado para
liberarse de las
prestaciones
asignadas
Hora de fin de
disponibilidad. Fin
de la guardia

Texto
Numrico

Extensin
10
9

Numrico

Sin separador de
coma

Numrico

En segundos,
tomando como
base la fecha de
generacin del
archivo. 0 =
disponible
inmediatamente

Numrico

Peditrico Indica si el mvil es Texto


peditrico exclusivo
Hace
Indica si el mvil
Texto
Pediatrico atiende peditrico
Hace
Indica si el mvil
Texto
Mayor
atiende mayores
Tercero Indica si el mvil es Texto
de tercero
Tipo
Indica si el mvil
Texto
Facturaci tiene costo fijo o
n
variable
Tipo de
Tpo de mvil
Texto
mvil
(UTIM, Auto,
Camioneta)
Velocidad Velocidad promedio Numrico
lineal, en km/h

En segundos,
tomando como
base la fecha de
generacin del
archivo
S/N

S/N

S/N

S/N

F/V

U/A/C

Nmeros enteros

Latitud

Hora
Desde

Hora
Hasta

270

Observaciones

Sin separador de
coma

JAVIER LPEZ

Desviopro Desvio promedio en


medio
velocidad lineal
Despacho Cdigo de despacho
por defecto
Costo de Costo de uso del
Operacin mvil, en categora
Alto, Mediano o
Bajo
Radio
Radio de accin
Longitud Coordenada del
Accin
radio de accin
Latitud
Coordenada del
Accin
radio de accin
Zona
Zona de accin
(Localidades)

Numrico

Texto

10

Texto

Numrico
Numrico

Numrico

Texto

Nmeros enteros

A/M/B

0 si no tiene radio
Sin separador de
coma
Sin separador de
coma
Texto sin espacios.
Lista de
localidades
separadas con &.
Se utiliza para
buscar la zona de
prestacin dentro
de este texto. Sino
tiene zonas, poner
T

Tabla 26: Archivo con atributos de los mviles

El nombre de este archivo ser [Link], siendo nnnnnn un


nmero nico de 6 dgitos (secuencia) que se encontrar definido en el
archivo de control ([Link])

Control
Este archivo controlar la ejecucin del proceso, as como los
parmetros generales de funcionamiento. Este archivo tendr solo una
lnea (ver tabla 27).

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

271

Columna
Secuencia

Contenido
Secuencia
de ejecucin

Tipo Extensin Observaciones


Numrico
6
Secuencia de
ejecucin del
proceso
Nmero de
Cantidad de
Numrico
6
Nmero entero.
Prestaciones
prestaciones
Debe coincidir
con las lneas del
archivo
Nmero
Cantidad
6
Nmero entero.
de mviles
de mviles
Debe coincidir
Numrico
con la cantidad
de mviles.
Fecha
Fecha de ejecucin. Texto
12
DDMMYYYYH
Proceso
Auditoria
Hmm
Tabla 27: Archivo de control del proceso

Este archivo se llamar [Link]. El mismo se mantendr


bloqueado durante la ejecucin del algoritmo.

Asignacin
Este archivo ser generado por el proceso de asignacin automtica
(ver tabla 28).
Columna
Contenido
CdigoPrestacin Cdigo de prestacin
CdigoMvil
Cdigo Mvil
HoraPrestacin Hora de Prestacin.
Define orden y
horario estimado
Demora Total
Demora total en
segundos, desde
llamado
Distancia
Distancia en km
desde la prestacin
anterior
Distancia Origen
Distancia en km
desde lugar origen
Detalle
Especifica detalle
de asignacin

Tipo Extensin Observaciones


Texto
10
Texto
10
Numri
7
En segundos
co
Numri
co

En segundos

Numri
co
Numri
co
Texto

100

Tabla 28: Archivo de asignacin

272

JAVIER LPEZ

En caso que no se pueda encontrar ningn mvil para atender la


prestacin, la columna de CodigoMovil y HoraPrestacin pueden
estar vacas.
En la columna de detalle se define cualquier texto de inters en la
asignacin realizada.
Este archivo se llamar [Link], siendo nnnnnn un nmero
nico de 6 dgitos (secuencia) que se encontrar definido en el archivo
de control ([Link]).

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

273

ndice de figuras

1.1. Grfico de regin factible y no factible


1.2. Los puntos A y B son optimos (mximos) locales
mientras que el punto C es el optimo (mximo) global
2.1. Posible taxonoma de las principales
tcnicas de optimizacin existentes
2.2. Programacin Gentica. Representacin
de un programa en forma de rbol
2.3. Optimizacin realizada por hormigas
en su bsqueda de alimentos
2.4. Aves en una bandada que responden
un comportamiento basado en seguir a un lder
2.5. Efecto de la variable T en Recocido Simulado
2.6. Topologas de vecindarios en 2D utilizables
en algoritmos distribuidos
3.1. Espacio de bsqueda y espacio objetivo.
Maximizacin de funciones
3.2. Frente de Pareto y Dominancia.
Minimizacin de las funciones f1 y f2
3.3. Proceso de ordenacin de soluciones en NSGA II
4.1. Movimiento de una partcula en el espacio
de soluciones
4.2. Topologas anillo: a) Clsico, b) Aleatorio
4.3. Topologas estrella: a) Clsico, b) Aleatorio
5.1. dPSO. Topologa de anillo esttica
5.2. Dos implementaciones del mismo algoritmo.
Implementacin secuencial de dPSO (sdPSO)
5.3. Grfico de Convergencia cPSO (izquierda)
y dPSO (derecha). Funciones 1 a 5 en 30 dimensiones
5.4. Grfico de Convergencia cPSO (izquierda)
y dPSO (derecha). Funciones 6 a 10 en 30 dimensiones
5.5. Grfico de Convergencia cPSO (izquierda)
y dPSO (derecha). Funciones 11 a 15 en 30 dimensiones
5.6. Grfico de Convergencia cPSO (izquierda)
y dPSO (derecha). Funciones 16 a 20 en 30 dimensiones
5.7. Grfico de Convergencia cPSO (izquierda)
y dPSO (derecha). Funciones 21 a 24 en 30 dimensiones
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

30
35
40
53
56
57
58
65
75
76
88
98
104
105
114
115
120
120
121
121
122
275

6.1. Ejemplo de oscilacin de una partcula


6.2. Procedimiento de Bsqueda Local
6.3. Evolucin de la convergencia del algoritmo
por cada una de las func. de prueba
7.1. Funcin Sphere utilizando dos dominios distintos.
Ambos grficos se ven muy parecidos pese
al cambio de escala. A la izquierda se representa
la funcin haciendo que cada variable tome valores
entre -500 y 500 y a derecha se considera un rea
menor, entre -10 y 10
7.2. Funcin Rosenbrock. A izquierda se visualiza
un rea ms grande que a la derecha donde
se focaliza en el mnimo global
7.3. Funcin Griewangk utilizando tres dominios
distintos a fin de mostrar las caractersticas
que posee la funcin. Arriba a la izquierda
se utiliza una rea amplia para mostrar que
la funcin es similar a la Funcin 1.
Arriba a la derecha muestra que visto ms de cerca
posee muchos valles y picos. Sin embargo, la figura
inferior muestra que cerca del ptimo
los valles y los picos son suaves
7.4. Funcin Rastrigin. A la izquierda sus variables
toman valores entre -5 y 5 mientras que
a la derecha lo hacen entre -1 y 1
7.5. Diagramas de caja correspondientes
a las mejores soluciones obtenidas en cada
una de las 40 corridas independientes. Sobre el eje
de las abscisas se indica el mtodo: 1 =
Mtodo propuesto, 2 = PSO binario [85]
y 3 = PSO binario [204]. Cada fila indica los
resultados obtenidos con 3, 5, 10 y 20 variables
7.6. Diagramas de caja correspondientes al fitness
promedio de cada una de las 40 corridas
independientes. Sobre el eje de las abscisas
se indica el mtodo: 1 = Mtodo propuesto,
2 = PSO binario [85] y 3 = PSO binario [204].
Cada fila indica los resultados obtenidos
con 3, 5, 10 y 20 variables
8.1. Evolucin del tamao de la poblacin
en varMOPSO. Funcin ZDT6

276

130
132
139

143

144

145

146

150

151
160

JAVIER LPEZ

8.2.

Evolucin del frente de Pareto.


Etapa de exploracin/explotacin. Funcin DTLZ3
8.3. Hipervolumen. Diagrama de cajas. funciones ZDT
8.4. Hipervolumen. Diagrama de cajas. funciones DTLZ
8.5. Spread. Diagrama de cajas. funciones ZDT
8.6. Spread. Diagrama de cajas. funciones DTLZ
8.7. Epsilon. Diagrama de cajas. funciones ZDT
8.8. Epsilon. Diagrama de cajas. funciones DTLZ
9.1. Folleto Comercial Grupo Ayuda Mdica
9.2. Equipo mdico habitual - Unidad de Terapia
Intensiva Mvil - UTIM
9.3. Ciudad de Buenos Aires y partidos del GBA
donde se presta el servicio
9.4. Diagrama de Transicin de Estados de un recurso
operativo (Mvil)
9.5. Diagrama de Transicin de estados de una prestacin
10.1. Diagrama de alto nivel de la solucin
10.2. Proceso general de negocio y mdulos propuestos
10.3. Geo-localizacin de prestaciones
10.4. Calculo de distancia lineal entre mvil y prestaciones
11.1. Visualizacin del frente de Pareto por parte
del Tomador de Decisiones
11.2. Ejemplo de funcin a optimizar con dos
variables de decisin
11.3. Hipervolumen. Diagrama de Cajas. UCMQLarge
11.4. Hipervolumen. Diagrama de Cajas. UCMQMedium
11.5. Hipervolumen. Diagrama de Cajas. UCMQSmall
11.6. Epsilon boxplot. Large Instance
11.7. Epsilon boxplot. Medium Instance
11.8. Epsilon. Diagrama de Cajas. UCMQSmall
11.9. Spread boxplot. Large Instance
11.10. Spread boxplot. Medium Instance
11.11. Spread boxplot. Small Instance
11.12. Frente de Pareto. UCMQLarge

227
234
235
236
237
238
238
240
240
241
242

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

277

161
165
166
167
168
169
170
175
181
184
188
188
198
205
206
207
225

Lista de algoritmos

1. Algoritmo Gentico Bsico

48

2. Algoritmo PSO Bsico

99

3. Algoritmo PSO Binario

108

4. Algoritmo PSO con m Poblaciones.


Implementacin Secuencial

116

5. Algoritmo PSO con m Poblaciones.


Implementacin Paralela

117

6. Algoritmo oscPSO propuesto

135

7. Algoritmo varMOPSO propuesto

159

278

JAVIER LPEZ

Bibliografa
[1] Dantzig George B. Linear Programming and Extensions. Princeton
University Press, 1963.
[2] Magnanti Thomas L. Twenty years of mathematical programming.
Contributions to Operations Research and Economics: the twentieth
anniversary of CORE, pages 163227, 1989.
[3] Goldfarb D. and Todd M. Linear programming. Handbooks in
operations research and management science, 1:73 170, 1989.
[4] Dantzig George B. Linear Programming and Extensions. Princeton
University Press, 1963.
[5] Von Neumann J. Morgenstern. Theory of Games and Economic
Behavior. Princeton University Press, Princeton, 1944.
[6] Gill P., Murray W., Saunders M., and Wright M. Constrained nonlinear
programming. Stanford University, Dept. of Operations Research, Systems
Optimization Laboratory, 1987.
[7] Nemhauser G. and Wolsey L. Integer and combinatorial optimization.
New York Wiley, 1988.
[8] Weise Thomas. Global optimization algorithms. theory and application
(ebook). Website, 2012.
[Link]
[9] Robert Fourer. Formulating an optimization model: An introductory
example. Website.
[Link]
[10] Leguizamon Guillermo. Metaheursticas para Problemas de
Optimizacion Restringidos. PhD thesis, Facultad de Ciencias Fsico
Matematicas y Naturales. UNSL, 2004.
[11] Paterson Norman. Genetic porgramming with context-sensitive
grammars. PhD thesis, Saint Andrews University, 2002.
[12] Radcliffe Nicholas and Surry Patrick. Fundamental limitations on
search algorithms: Evolutionary computing in perspective. Lecture Notes in
Computer Science, pages 275291, 1995.
[13] Zpfel G., Braune R., and Bogl M. Metaheuristic Search Concepts A
Tutorial with Applications to Production and Logistics. 2010.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

279

[14] Papalambros P. and Wilde D. Principles of Optimal Design: Modeling


and Computation.
Cambridge University Press, New York, 1988.
[15] Rice John. Mathematical Statistics and Data Analysis. Duxbury Press,
1999.
[16] Nemhauser G.L., Rinnooy Kan A.H.G., and Todd M.J. Handbooks in
Operations Research and
Management Science. North-Holland/Elsevier, 1989.
[17] Bader David, HartWilliam, and Phillips Cynthia. Parallel algorithm
design for branch and bound.
Tutorials on Emerging Methodologies and Applications in Operations
Research, pages 144, 2004.
[18] Casado L. G. and Garca I. Work load balance approaches for branch
and bound algorithms on distributed systems. 7th Euromicro Workshop on
Parallel and Distributed Processing, pages 155162, 1999.
[19] Casado L. G., Garca I., and Csendes T. A new multisection
technique in interval methods for global optimization. Computing, 65:263
269, 2000.
[20] Glover F. and Kochenberger G. Handbook of Metaheuristics. Kluwer
Academic Publishers, 2003.
[21] Fraser AS. Monte carlo analyses of genetic models. Nature, 181, 1958.
[22] Holland John H. Adaptation in Natural and Artificial Systems. MIT
Press, 1992.
[23] Koza John R. Genetic Programming. MIT Press, 1992.
[24] Beni G. and Wang J. Swarm intelligence in cellular robotic systems.
NATO Advanced Workshop on Robots and Biological Systems, pages 26
30, 1989.
[25] Darwin Charles. On the Origin of Species. Bantam Dell, 1859.
[26] Coello Coello Carlos. Constraint-handling techniques used with
evolutionary algorithms. In GECCO (Companion), pages 11371160,
2011.
[27] Zakian Vladimir. New formulation for the method of inequalities. In
Proceedings of the Institution of Electrial Engineers, volume 126, pages
579584, 1979.

280

JAVIER LPEZ

[28] Zakian Vladimir. New formulation for the method of inequalities.


Systems and Control Encyclopedia, 5:32063215, 1987.
[29] Goldberg David E. The Design of Innovation: Lessons from and for
Competent Genetic Algorithms. Addison-Wesley, 2002.
[30] Whitley D. A genetic algorithm tutorial. Statistics and Computing,
4:6585, 1994.
[31] Goldberg David E. Genetic Algorithms in Search, Optimization and
Machine Learning. Addison-Wesley, 1989.
[32] Miller Brad L. and Goldberg David E. Genetic algorithms, tournament
selection, and the e_ects of noise. Complex Systems, 9:193212, 1995.
[33] Byoung tak Zhang and Jung jib Kim. Comparison of selection
methods for evolutionary optimization. Evolutionary Optimization, 2:55
70, 2000.
[34] Baker James E. Adaptive selection methods for genetic algorithms. In
Proceedings of the 1st International Conference on Genetic Algorithms,
pages 101111, Hillsdale, NJ, USA, 1985. L. Erlbaum Associates Inc.
[35] Hancock Peter J. B. An empirical comparison of selection methods in
evolutionary algorithms.
[36] Eshelman Larry J. The chc adaptive search algorithm: How to have
safe search when engaging in nontraditional genetic recombination. In
Proceedings of the First Workshop on Foundations of Genetic Algorithms,
pages 265283. Morgan Kaufmann, 1991.
[37] Gwiazda Tomasz D. Genetic Algorithms Reference Vol.1 Crossover
for single-objective numerical optimization problems. -omianki :
TOMASZGWIAZDA E-BOOKS, cop, 2006.
[38] Chawdhry P.K. Soft computing in engineering design and
manufacturing. London: Springer, 1998.
[39] Ahmed Zakir H. Genetic algorithm for the traveling salesman problem
using sequential constructive crossover operator. International Journal of
Biometric and Bioinformatics, 3, 2010.
[40] Herrera F., Lozano M., and Sanchez A.M. A taxonomy for the
crossover operator for real-coded genetic algorithms: An experimental
study. International Journal of Intelligent Systems, 18:309338, 2003.
[41] Eiben A. Multiparent recombination operators in evolution strategies.
Evolutionary Computation, 5:347365, 1997.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

281

[42] Eshelman L. J. and Scha_er J. D. Real- Coded Genetic Algorithms and


Interval Schemata, Foundations of Genetic Algorithms. 2, Morgan
Kaufman Publishers, San Mateo, 1993.
[43] Shigeyoshi Tsutsui, Masayuki Yamamura, and Takahide Higuchi.
Multi-parent recombination with simplex crossover in real coded genetic
algorithms. In In Proc. of the Genetic and Evolutionary Computation
Conference, volume 1, pages 657664, 1999.
[44] Ochoa G. Setting the mutation rate: Scope and limitations of the 1/l
heuristic. In Proceedings of the Genetic and Evolutionary Computation
Conference, pages 495502. Morgan Kaufmann Publishers, 2002.
[45] Andre J., Siarry P., and Dognon T. An improvement of the standard
genetic algorithm fighting premature convergence in continuous
optimization. Advances in engineering software, 32:4960, 2001.
[46] Srinivas M. and Patnaik L. Genetic algorithms. a survey. IEEE
Computer Magazine, pages 1726, 1994.
[47] Beasley D., Bull D., and Martin R. An overview of genetic algorithms:
Part 1, fundamentals.
Technical report. [Link]
[48] Fogel D. B. An introduction to simulated evolutionary optimization.
IEEE Transactions on Neural Networks, 5:314, 1994.
[49] Smith J. E. and Fogarty T. C. Operator and parameter adaptation in
genetic algorithms. Soft computing : a fusion of foundations, methodologies and applications, 92:8187, 1997.
[50] Nichael Lynn Cramer. A representation for the adaptive generation of
simple sequential programs. In Proceedings of an International Conference
on Genetic ALgorithms and their Applications, pages 2426, 1985.
[51] Koza J.R. Genetic programming: A paradigm for genetically breeding
populations of computer programs to solve problems. Technical Report
STAN-CS-90-1314, Stanford University Computer Science Department,
1990.
[52] Koza J.R. Genetic Programming: On the Programming of Computers
by Means of Natural Selection. MIT Press, 1992.
[53] Koza J.R. Genetic Programming II: Automatic Discovery of Reusable
Programs. MIT Press, 1994.
[54] Koza J.R., Bennett F.H., D. Andre, and Keane M.A. Genetic
Programming III: Darwinian Invention and Problem Solving. Morgan
Kaufmann, 1999.

282

JAVIER LPEZ

[55] Koza J.R., M.A. Keane, M.J. Streeter, Mydlowec W., Yu J., and G.
Lanza. Genetic Programming
IV: Routine Human-Competitive Machine Intelligence. Kluwer Academic
Publishers, 2003.
[56] Banzhaf W., Nordin P., Keller R.E., and Francone F.D. Genetic
Programming: An Introduction: On the Automatic Evolution of Computer
Programs and Its Applications. Morgan Kaufmann, 1998.
[57] Korns M. Large-scale, time-constrained symbolic regressionclassification. In Rick L. Riolo, Terence Soule, and Bill Worzel, editors,
Genetic Programming Theory and Practice V, Genetic and Evolutionary
Computation, chapter 4, pages 5368. Springer, 2007.
[58] Korns M. Symbolic regression of conditional target expressions. In
Rick Riolo, Una-May OReilly, and Trent McConaghy, editors, Genetic
Programming Theory and Practice VII, Genetic and Evolutionary
Computation, pages 211228. Springer US, 2010.
[59] Korns M. Abstract expression grammar symbolic regression. In Rick
Riolo, Trent McConaghy, and Ekaterina Vladislavleva, editors, Genetic
Programming Theory and Practice VIII, volume 8 of Genetic and
Evolutionary Computation, pages 109128. Springer New York, 2011.
[60] Beyer Hans Georg and Schwefel Hans Paul. Evolution strategies. a
comprehensive introduction. 1(1):352, 2002.
[61] Schwefel H. P. Evolution strategies: A family of non-linear
optimization techniques based on imitating some principles of organic
evolution. Annals of Operations Research, 1:165167, 1984.
[62] Hansen Nikolaus and Kern Stefan. Evaluating the cma evolution
strategy on multimodal test functions. In Parallel Problem Solving from
Nature - PPSN VIII, volume 3242 of Lecture Notes in Computer Science,
pages 282291. Springer Berlin Heidelberg, 2004.
[63] Storn Rainer and Price Kenneth. Di_erential evolution. a simple and
e_cient heuristic for global optimization over continuous spaces. J. of
Global Optimization, 11(4):341359, December 1997.
[64] Rainer Storn. On the usage of di_erential evolution for function
optimization. In in NAFIPS96, pages 519523. IEEE, 1996.
[65] Feoktistov Vitaliy. Di_erential Evolution: In Search of Solutions
(Springer Optimization and Its Applications). Springer-Verlag New York,
Inc., Secaucus, NJ, USA, 2006.
[66] Chakraborty Uday K. Advances in Di_erential Evolution. Springer
Publishing Company, Incorporated, 1 edition, 2008.
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

283

[67] Professor Kaelo. Some population-set based methods for


unconstrained global optimization.
PhD thesis, School of Computational and Applied Mathematics,
Witwatersrand University, Johannesburg, South Africa, 2005.
[68] Professor Kaelo and Montaz Ali M. A numerical study of some
modified di_erential evolution algorithms. European Journal of Operational
Research, 169:11761184, 2006.
[69] Professor Kaelo and Montaz Ali M. Di_erential evolution algorithms
using hybrid mutation. Computational Optimization and Applications,
37:231246, 2007.
[70] Liu J. and Lampinen J. A fuzzy adaptive di_erential evolution
algorithm. Soft Computing, 9:448462, 2005.
[71] Qin A.K. and Suganthan P.N. Self-adaptive di_erential evolution
algorithm for numerical optimization. In Proceedings of the IEEE congress
on evolutionary computation (CEC), pages 17851791, 2005.
[72] Beni G. andWang J. Swarm intelligence in cellular robotic systems. In
Proceed. NATO Advanced Workshop on Robots and Biological Systems,
pages 2630, 1989.
[73] D. Karaboga. Artificial bee colony algorithm. Scholarpedia, 5(3):6915,
2010.
[74] Kaveh A. and Talatahari S. A novel heuristic optimization method:
charged system search. Acta Mechanica, 213:267289, 2010.
[75] Yang X. and Deb S. Cuckoo search via levy flights. In IEEE
Publications, editor, Proc. of World Congress on Nature and Biologically
Inspired Computing NaBIC 2009, pages 210214, 2009.
[76] Farmer J. D., Packard N. H., and Perelson A. S. The immune system,
adaptation, and machine learning. Phys. D, 2(1-3):187204, October 1986.
[77] Bersini Hugues and Varela Francisco. Hints for adaptive problem
solving gleaned from immune
networks. In Parallel Problem Solving from Nature, volume 496 of Lecture
Notes in Computer Science, pages 343354. Springer Berlin / Heidelberg,
1991.
[78] Dasgupta D., editor. Artificial Immune Systems and Their
Applications. Springer-Verlag, Inc. Berlin, 1999.
[79] Dorigo M. Optimization, Learning and Natural Algorithms. PhD
thesis, Politecnico di Milano, Italie, 1992.

284

JAVIER LPEZ

[80] Colorni A., Dorigo M., and Maniezzo V. Distributed optimization by


ant colonies. In Actes de la premi`ere conference europeenne sur la vie
artificielle, pages 134142, Paris, France, 1991. Elsevier Publishing.
[81] Dorigo M. and Stutzle T. Ant Colony Optimization. Mit Press, 2004.
[82] Leguizamon G. and Michalewicz Z. A new version of ant system for
subset problems. In Proceedings of the 1999 Congress on Evolutionary
Computation(CEC 99), volume 2, pages 14581464, 1999.
[83] Leguizamon G., Michalewicz Z., and Schutz M. An ant system for
the maximum independent set problem. In In Proceedings of VII Argentine
Congress of Computer Science (CACIC 2001), pages 10271040, 2001.
[84] Kennedy J. and Eberhart R. Particle swarm optimization. IEEE
International Conference on Neural Networks, IV:19421948, 1995.
[85] Kennedy J. and Eberhart R. A discrete binary version of the particle
swarm algorithm. World Multiconference on Systemics, Cybernetics and
Informatics (WMSCI), pages 41044109, 1997.
[86] Russell Stuart J. and Norvig Peter. Artificial Intelligence: A Modern
Approach (2nd ed.). Prentice-Hall International Edition, 2003.
[87] Kirkpatrick Scott. Optimization by simulated annealing: Quantitative
studies. Journal of Statistical Physics, 34:975986, 1984.
[88] Cerny V. Thermodynamical approach to the traveling salesman
problem: An e_cient simulation algorithm. Journal of Optimization Theory
and Applications, 45:4151, 1985.
[89] Granville V., Krivanek M., and Rasson J. P. Simulated annealing: A
proof of convergence. 1994.
[90] Glover Fred and McMillan Claude. The general employee scheduling
problem: an integration of ms and ai. Computers and Operations Research,
13(5):563573, May 1986.
[91] Glover Fred. Tabu search - part 1. 1989.
[92] Glover Fred. Tabu search - part 2. 1990.
[93] Glover Fred. Tabu search: A tutorial. Interfaces, 20:7494, 1990.
[94] Sean Luke. Essentials of Metaheuristics. Lulu, 2009.
[95] Scha_er David, Eshelman Larry, and O_utt Daniel. Spurious
correlations and premature convergence in genetic algorithms. In In
Proceedings of the First Workshop on Foundations of Genetic Algorithms
(FOGA).

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

285

[96] Toscano Pulido G. and Coello Coello Carlos. The micro genetic
algorithm 2: Towards online adaptation in evolutionary multiobjective
optimization. In EMO, pages 252266, 2003.
[97] Lopez J., Lanzarini L., and De Giusti A. Varmopso: Multi- objective
particle swarm optimization with variable population size. In Advances in
Artificial Intelligence IBERAMIA 2010, 2010.
[98] Liepins Gunar E. and Vose Michael D. Deceptiveness and genetic
algorithm dy- namics. In In Proceedings of the First Workshop on
Foundations of Genetic Algorithms (FOGA).
[99] Bergman Aviv and Feldman Marcus W. Recombination dynamics and
the fitness landscape. In Physica D: Nonlinear Phenomena.
[100] Kolarov Krasimir. Landscape ruggedness in evolutionary algorithms.
In In Proceedings of the IEEE Conference on Evolutionary Computation.
[101] Stagge Peter and Igel Christian. Structure optimization and
isomorphisms. In In Theoretical Aspects of Evolutionary Computing.
[102] Reidys Christian M. and Stadler Peter. Neutrality in fitness
landscapes. In Applied Mathematics and Computation.
[103] Shackleton Mark, Shipman Rob, and Ebner Marc. An investigation
of redundant genotypephenotype mappings and their role in evolutionary
search. In In Proceedings of the 2000 Congress on Evolutionary
Computation CEC00.
[104] Alba Enrique. Parallel Metaheuristics: A New Class of Algorithms.
John Wiley and Sons, 2005.
[105] Luque G. and Alba E. Parallel Genetic Algorithms. Theory and Real
World Applications. Springer-Verlag, 2011.
[106] Alba E., Blum C., Isasi P., and Leon C. Gomez J.A. Optimization
Techniques for Solving Complex Problems. Wiley, 2009.
[107] Alba E. and Dorronsoro B. Cellular Genetic Algorithms. SpringerVerlag, 2008.
[108] Alba E. and Dorronsoro B. Computing nine new best-so-far solutions
for capacitated vrp with a cellular ga. Information Processing Letters,
98:225230, 2006.
[109] Giacobini M., Tomassini M., Tettamanzi A., and Alba E. The
selection intensity in cellular evolutionary algorithms for regular lattices.
IEEE Transactions on Evolutionary Computation, 9:489505, 2005.

286

JAVIER LPEZ

[110] Alba E. and Dorronsoro B. The exploration/exploitation tradeo_ in


dynamic cellular genetic algorithms. IEEE Transactions on Evolutionary
Computation, 9:126142, 2005.
[111] Nedjah N., Alba E., and de Macedo Mourelle L. Parallel
Evolutionary Computations. Springer-Verlag, 2006.
[112] Nebro A.J., Durillo J.J., Luna F., Dorronsoro B., and Alba E. Mocell:
A new cellular genetic algorithm for multiobjective optimization.
International Journal of Intelligent Systems, 24:726746, 2009.
[113] Alba E., Dorronsoro B., Luna F., Nebro A.J., Bouvry P., and Hogie
L. A cellular multiobjective genetic algorithm for optimal broadcasting
strategy in metropolitan manets. Computer Communications, 30:685697,
2007.
[114] Plamenka Borovska. E_ciency of parallel metaheuristics for solving
combinatorial problems.
In Proceedings of the 2007 international conference on Computer systems
and technologies (CompSysTech 07). ACM, New York, NY, USA,, 2007.
[115] Rardin Ronald L. and Uzsoy Reha. Experimental evaluation of
heuristic optimization algorithms: A tutorial. Journal of Heuristics,
7(3):261304, May 2001.
[116] Co_n [Link] Saltzman M. J. Statistical analysis of computational
tests of algorithms and heuristics. Informs Journal on Computing, 12:24
44, 2000.
[117] Chiarandini Marco, Paquete Lus, Preuss Mike, and Ridge Enda.
Experiments on metaheuristics: Methodological overview and open issues.
Technical Report DMF-2007-03-003, The Danish Mathematical Society,
Denmark, 2007.
[118] Sheskin David. Handbook of Parametric and Nonparametric
Statistical Procedures. Chapman and Hall, 2007.
[119] Harrington David P. and Fleming Thomas R. A class of rank test
procedures for censored survival data. Biometrika, 69:553566, 1982.
[120] Anderson T. W. An Introduction to Multivariate Statistical Analysis.
John Wiley & Sons, 2003.
[121] Grunert da Fonseca Viviane, Fonseca Carlos, and Hall Andreia.
Inferential performance assessment of stochastic optimisers and the
attainment function. In Eckart Zitzler, Lothar Thiele, Kalyanmoy Deb,
Carlos Coello Coello, and David Corne, editors, Evolutionary MultiCriterion Optimization, volume 1993 of Lecture Notes in Computer
Science, pages 213225. Springer Berlin / Heidelberg, 2001.
OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

287

[122] Bartz-Beielstein Thomas. Experimental Research in Evolutionary


Computation - The New Experimentalism. Springer Verlag, 2006.
[123] Liang J. J., Suganthan P. N., and Deb K. Novel composition test
functions for numerical global optimization. In Proceedings of IEEE
Swarm Intelligence Symposium, pages 6875, 2005.
[124] Horn Je_rey, Goldberg David E., and Deb Kalyanmoy. Long path
problems for mutation-based algorithms, 1992.
[125] ZhongW. C., Liu J., Xue M. Z., and Jiao L. C. A multiagent genetic
algorithm for global numerical optimization. IEEE Trans. on Systems, Man
and Cybernetics (Part B), 34:11281141, 2004.
[126] Deb Kalyanmoy. Multi-objective genetic algorithms: Problem
di_culties and construction of test problems. Evolutionary Computation,
7:205230, 1999.
[127] Coello Coello C. A., Pulido G., and Lechuga M. Handling multiple
objectives with particle swarm optimization. IEEE Transactions on
Evolutionary Computation, 8:256 279, 2004.
[128] van den Bergh F. and Engelbrecht A. P. A cooperative approach to
particle swarm optimization. IEEE Transactions on Evolutionary
Computation, 8:225 239, 2004.
[129] Leung Y. W. and Wang Y. P. An orthogonal genetic algorithm with
quantization for global numerical optimization. IEEE Trans. on
Evolutionary Computation, 5:4153, 2001.
[130] Suganthan P., Hansen N., Liang J., Deb K., Chen Y., Auger A., and
Tiwari S. Problem definitions and evaluation criteria for the cec 2005
special session on real-parameter optimization. In Technical Report,
Nanyang Technological University, Singapore, May 2005 AND KanGAL
Report 2005005, IIT Kanpur, India.
[131] Liang J. J., Runarsson T. P., Mezura-Montes E., Clerc M.,
Suganthan1 P., Coello Coello C., and Deb K. Problem definitions and
evaluation criteria for the cec 2006. In Special Session on Constrained
Real-Parameter Optimization, Technical Report, Nanyang Technological
University, Singapore, 2006.
[132] Mallipeddi R. and Suganthan P. Problem definitions and evaluation
criteria for the cec 2010 competition on constrained real-parameter
optimization. In Technical Report, Nanyang Technological University,
Singapore, 2010.
[133] Huang V., Qin A., Deb K., Zitzler E., Suganthan P., Liang J., Preuss
M., and Huband S. Problem definitions for performance assessment of

288

JAVIER LPEZ

multi-objective optimization algorithms. In Special Session on Constrained


Real-Parameter Optimization, Technical Report, Nanyang Technological
University, Singapore, 2007.
[134] Zitzler E., Deb K., and Thiele L. Comparison of multiobjective
evolutionary algorithms on test functions of di_erent di_culty. In Genetic
and Evolutionary Computation Conference (GECCO-99): Bird-of-afeather Workshop on Multi-criterion Optimization Using Evolutionary
Methods, July 1999.
[135] Zhang Qingfu, Zhou Aimin, Zhao S., Suganthan P., Liu W., and
Tiwari S. Multiobjective optimization test instances for the cec 2009
special session and competition. In Technical Report CES-887, University
of Essex and Nanyang Technological University, 2008.
[136] Zitzler Eckart and Laumanns Marco. Test problems and test data for
multiobjective optimizers. Website. [Link]
download/supplementary/testProblemSuite/.
[137] Coello Coello Carlos A. A short tutorial on evolutionary
multiobjective optimization, 2001.
[138] Koksalan M., Wallenius J., and Zionts S. Multiple Criteria Decision
Making: From Early History to the 21st Century. World Scientific, 2011.
[139] Condercet M. Essay on the Application of Analysis to the Probability
of Majority Decisions, 1785.
[140] Pareto V. Manual of political economy. Scholars Book Shelf, 1971.
[141] Serafini P. Some considerations about computational complexity for
multiobjective combinatorial problems. In J. Jahn andW. Krabs, editors,
Recent advances and historical development of vector optimization,
volume 294 of Lecture Notes in Economics and Mathematical Systems,
Berlin, 1986. Springer-Verlag.
[142] Camerini P., Galbiati G., and Ma_oli F. On the complexity of finding
multi-constrained spanning trees. Discrete Applied Mathematics, 5:3950,
1983.
[143] Deb K. Solving goal programming problems using multi-objective
genetic algorithms. In Proceedings of the 1999 Congress on Evolutionary
Computation CEC99, pages 7784, 1998.
[144] Wierzbicki A.P. Reference point approaches. In T. Stewart T. Gal
and T. Hanne, editors, Multicriteria Decision Making: Advances in
MCDM Models, Algorithms, Theory, and Applications, pages 9.19.39,
Boston, 1999. Kluwer Academic Publishers.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

289

[145] Reeves G.R. and Gonzalez J.J. A comparison of two interactive


mcdm procedures. European Journal of Operational Research, (2):203
209, 1989.
[146] Corner J.L. and Buchanan J.T. Capturing decision maker preference:
Experimental comparison of decision analysis and mcdm techniques.
European Journal of Operational Research, (1):8597, 1997.
[147] Deb Kalyanmoy and Chaudhuri Shamik. I-emo: An interactive
evolutionary multi-objective optimization tool. In In Pattern Recognition
and Machine Intelligence: First International Conference (PReMI-2005),
pages 690695. Springer.
[148] Zujevs A. Model of decision maker as optimization problem for
genetic optimization algorithm. In 4-th International conference Applied
Information and Communication Technologies, pages 7986, 2010.
[149] Lotov Alexander V., Bushenkov Vladimir A., and Kamenev Georgy
K. Interactive Decision Maps. Approximation and Visualization of Pareto
Frontier, volume 89. Springer-Verlag, 2004.
[150] Zitzler E., Laumanns M., and Bleuler S. A tutorial on evolutionary
multiobjective optimization.
[151] Peng Cheng. A survey of performance assessment for multiobjective
optimizers. In Genetic and Evolutionary Computing (ICGEC), 2010 Fourth
International Conference on.
[152] Tatsuya Okabe. A critical survey of performance indices for multiobjective optimisation. In Proc. of 2003 Congress on Evolutionary
Computation, pages 878885. IEEE Press, 2003.
[153] Huang V. L., Suganthan P., Qin A., and Baskar S. Multiobjective
di_erential evolution with external archive and harmonic distance-based
diversity measure.
[154] Deb K., Pratap A., Agarwal S., and Meyarivan T. A fast and elitist
multiobjective genetic algorithm: Nsga-ii. IEEE Transactions on
Evolutionary Computation, 6:182197, 2002.
[155] Zitzler E., Laumanns M., and Thiele L. Spea2: Improving the
strength pareto evolutionary algorithm for multiobjective optimization. In
K.C. Giannakoglou et al., editors, Evolutionary Methods for Design,
Optimisation and Control with Application to Industrial Problems
(EUROGEN 2001), pages 95100. International Center for Numerical
Methods in Engineering (CIMNE), 2002.
[156] Nebro, Durillo, Garca-Nieto, Coello Coello, Luna, and Alba. Smpso:
A new pso- based metaheuristic for multi-objective optimization. In IEEE

290

JAVIER LPEZ

Symposium on Computational Intelligence in Multicriteria DecisionMaking (MCDM 2009), pages 6673, 2009.
[157] Knowles Joshua and Corne David. Approximating the nondominated
front using the pareto archived evolution strategy. Evol. Comput.,
8(2):149172, June 2000.
[158] Das I. and Dennis J. E. A closer look at drawbacks of minimizing
weighted sums of objectives for pareto set generation in multicriteria
optimization problems. Structural and Multidisciplinary Optimization,
14:6369, 1997.
[159] Scha_er David. Multiple objective optimization with vector evaluated
genetic algorithms. In Proceedings of the 1st International Conference on
Genetic Algorithms, pages 93100, Hillsdale, NJ, USA, 1985. L. Erlbaum
Associates Inc.
[160] Fonseca C.M. and Fleming P.J. Genetic algorithms for multiobjective
optimization: formulation, discussion and generalization. pages 416423,
1993.
[161] Deb Kalyanmoy and Goldberg David. An investigation of niche and
species formation in genetic function optimization. In Proceedings of the
third international conference on Genetic algorithms, pages 4250, San
Francisco, CA, USA, 1989. Morgan Kaufmann Publishers Inc.
[162] Srinivas N. and Deb Kalyanmoy. Multiobjective optimization using
nondominated sorting in genetic algorithms. Evolutionary Computation,
2:221248, 1994.
[163] Gunter Rudolph. Evolutionary search under partially ordered fitness
sets. In Proceedings of the international Symposium on Information
Science Innovations in Engineering of Natural and Artificial Intelligent
Systems (ISI 2001, pages 818822. ICSC Academic Press, 2001.
[164] Zitzler Eckart, Deb Kalyanmoy, and Thiele Lothar. Comparison of
multiobjective evolutionary algorithms: Empirical results. Evolutionary
Computation, 8:173195, 2000.
[165] Sharma D., Kumar A., Deb K., and Sindhya K. Hybridization of sbx
based nsga-ii and sequential quadratic programming for solving multiobjective optimization problems. pages 30033010, 2007.
[166] Zitzler E. and Thiele L. Multiobjective evolutionary algorithms: a
comparative case study and the strength pareto approach. IEEE
Transactions on Evolutionary Computation, 3:257 271, 1999.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

291

[167] Coello Coello Carlos A., Lamont Gary B., and Veldhuizen David A.
van. Evolutionary Algorithms for Solving Multi-Objective Problems. 2nd
ed. Springer- Verlag, 2007.
[168] Wolpert D. and Macready W. No free lunch theorems for search.
Technical Report SFI-TR-02- 010, Santa Fe Institute, 1995.
[169] Igel Christian and Toussaint Marc. A no-free-lunch theorem for nonuniform distributions of target functions. Journal of Mathematical
Modelling and Algorithms, 2004.
[170] English T. M. Optimization is easy and learning is hard in the typical
function. In Proceedings of the 2000 Congress on Evolutionary
Computation: CEC00, volume 2, pages 924931, 2000.
[171] Radcli_e Nicolas. The algebra of genetic algorithms. Annals of
Mathematics and Artificial
Intelligence, 10:339384, 1994.
[172] Watanabe Satosi. Knowing and Guessing: A Quantitative Study of
Inference and Information. John Wiley and Sons Inc, 1969.
[173] Darrell Whitley. New insights about no free,
[Link]

2004.

[174] English Thomas. No more lunch: Analysis of sequential search. In


Congress on Evolutionary Computation, 2004. CEC2004, volume 1, pages
227 234. IEEE, Lubbock, TX, USA, 2004.
[175] Schumacher C., Vose M., and Whitley L. The no free lunch and
problem description length. In Proceedings of the Genetic and Evolutionary
Computation Conference (GECCO-2001), pages 565570, 2001.
[176] Christensen S. and Oppacher F. What can we learn from no free
lunch? a first attempt to characterize the concept of a searchable function.
In Proceedings of Genetic and Evolutionary Computation Conference
(GECCO 2001), 2001.
[177] Kennedy J. and Eberhart R. Swarm Intelligence. Morgan Kaufmann
Publishers, Inc., San Francisco, CA, 2001.
[178] Poli R. An analysis of publications on particle swarm optimisation
applications. Technical Report CSM-469, Department of Computer
Science, University of Essex, UK, 2007.
[179] Poli R. Analysis of the publications on the applications of particle
swarm optimisation. Journal of Artificial Evolution and Applications, pages
110, 2008.

292

JAVIER LPEZ

[180] Shi Y. and Eberhart R. Parameter selection in particle swarm


optimization. 7th International Conference on Evolutionary Programming.,
pages 591600, 1998.
[181] Clerc M. and Kennedy J. The particle swarm A explosion, stability
and convergence in a multidimensional complex space. IEEE Transactions
on Evolutionary Computation., 6(1):5873, 2002.
[182] Van den Bergh F. An analysis of particle swarm optimizers. PhD
thesis, Department Computer Science. University Pretoria. South Africa.,
2002.
[183] Eberhart R. C., Simpson P., and Dobbins R. Computational
Intelligence PC Tools. Academic Press Professional, 1996.
[184] Kennedy J. The particle swarm: Social adaption of knowledge. In
International Conference on Evolutionary Computation, pages 303308,
Indianapolis, IN, USA, 1997.
[185] Clearwater S. H., Hogg T., and Huberman B. Cooperative problem
solving. In Computation: The Micro and Macro View, pages 3370,
Singapore, 1992. World Scientific.
[186] Eshelman L. and Scha_er D. J. Real-coded genetic algorithms and
interval schemata. In Foundations of Genetic Algorithms 2, pages 187202,
San Mateo, CA, 1992. Morgan Kaufmann.
[187] Goldberg D. E. Real-coded genetic algorithms, virtual alphabets, and
blocking. Department of General Engineering, University of Illinois at
Urbana-Champaign, 1990.
[188] Reynolds C.W. Flocks, herds and schools: A distributed behavioral
model. In Computer Graphics, Proceedings of the ACM SIGGRAPH
Conference, volume 21, pages 2534, Anaheim, CA, USA, 1987.
[189] Shi Y. and Eberhart R. A modified particle swarm optimizer. In
IEEE International Conference of Evolutionary Computation, Anchorage,
Alaska, 1998.
[190] Shi Y. and Eberhart R. Empirical study of particle swarm
optimization. In Proceedings of the Congress on Evolutionary
Computation, pages 19451949, Washington D.C, USA, 1999.
[191] Alba E. and Dorronsoro B. The exploration/exploitation tradeo_ in
dynamic cellular genetic algorithms. IEEE Transactions on Evolutionary
Computation, 9(2):126142, 2005.
[192] Clerc M. The swarm and the queen: Towards a deterministic and
adaptive particle swarm optimization. In Proceedings of the Congress on

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

293

Evolutionary Computation, pages 19511957, Washington DC, USA,


1999. IEEE Service Center.
[193] Clerc M. and Kennedy J. The particle swarm: Explosion, stability
and convergence in a multidimensional complex space. IEEE Transactions
on Evolutionary Computation, 6(1):5873, 2002.
[194] pages 379387, 1999.
[195] Eberhart R. and Shi Y. Comparing inertia weights and constriction
factors in particle swarm optimization. In Proceedings of the Congress on
Evolutionary Computing, pages 8489, San Diego, USA, 2000. IEEE
Service Center, Piscataway,NJ.
[196] Suganthan P. Particle swarm optimizer with neighbourhood operator.
In Proceedings of the Congress on Evolutionary Computation, pages 1958
1961, Washington DC, USA, July 1999.
[197] Kennedy J. Small worlds and mega-minds: E_ects of neighbourhood
topology on particle swarm performance. In Proceedings of the Congress
on Evolutionary Computation, pages 19311938, Washington DC, USA,
1999. IEEE Service Center, Piscataway, NJ.
[198] Kennedy J. Stereotyping: Improving particle swarm performance
with cluster analysis. In Proceedings of the Congress on Evolutionary
Computing, pages 1507 1512, San Diego, USA, 2000.
[199] Spears W. Simple subpopulation schemes. In Proceedings of the
Evolutionary Programming Conference, pages 296307, 1994.
[200] Lovbjerg M., Rasmussen T., and Krink T. Hybrid particle swarm
optimiser with breeding and subpopulations. 2001.
[201] Kennedy J. and Spears W. Matching algorithms to problems: An
experimental test of the particle swarm and some genetic algorithms on the
multimodal problem generator. In Proceedings of the International
Conference on Evolutionary Computation, pages 7883, Anchorage,
Alaska, 1998.
[202] Fukuyama Y. and Yoshida H. A particle swarm optimization for
reactive power and voltage control in electric power systems. In
Proceedings of the IEEE Congress on Evolutionary Computation, pages
8793, Seoul, Korea, 2001.
[203] Lanzarini L., Lpez J., Maulini J., and De Giusti A. A new binary
pso with velocity control. In Advances in Swarm Intelligence - Second
International Conference, ICSI 2011, pages 111119, Chongqing, China,
2011. Springer-Verlag.

294

JAVIER LPEZ

[204] Mojtaba Ahmadieh Khanesar. A novel binary particle swarm


optimization. 18th Mediterranean Conference on Control and Automation,
2007.
[205] Sadri J. and Suen C. A genetic binary particle swarm optimization
model. IEEE Congress on Evolutionary Computation, pages 656663,
2006.
[206] Pampara G., Franken N., and Engelbrecht A. Combining particle
swarm optimisation with angle modulation to solve binary problems. IEEE
Congress on Evolutionary Computation, pages 8996, 2005.
[207] Marandi A., Afshinmanesh F., Shahabadi M., and Bahrami F.
Boolean particle swarm optimization and its application to the design of a
dual-band dual-polarized planar antenna. IEEE Congress on Evolutionary
Computation, pages 32123218, 2006.
[208] Huang V. L., Qin A. K., Deb K., Zitzler E., Suganthan P., Liang J. J.,
Preuss M., and Huband S. Problem definitions for performance assessment
of multi-objective optimization algorithms. special session on constrained
real-parameter optimization. Technical report, Nanyang Technological
University, Singapore, 2007.
[209] Alba E. and Tomassini M. Parallelism and evolutionary algorithms.
IEEE. Transactions on Evolutionary Computation, 6:443462, 2002.
[210] Monson Christopher K. and Seppi Kevin D. The kalman swarm a
new approach to particle motion in swarm optimization. In Genetic and
Evolutionaru Computation - GECCO 2004, pages 140150. SpringerVerlag, 2004.
[211] Van den Bergh F. An analysis of particle swarm optimizers. PhD
thesis, Department Computer Science. University Pretoria. South Africa.,
2002.
[212] Lanzarini L., Leza V., and De Giusti A. Particle swarm optimization
with variable population size. Artificial Intelligence and Soft Computing
ICAISC 2008., 5097/2008:438449, 2008.
[213] Kaisa Miettinen. Nonlinear multiobjective optimization, 1998.
[214] Rosenberg R. Simulation of genetic populations with biochemical
properties, 1967.
[215] Scha_er David. Multiple objective optmization with vector
evaluation genetic algorithms, 1984.
[216] Scha_er David. Multiple objective optmization with vector
evaluation genetic algorithms, 1985.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

295

[217] Scha_er David and Grefenstette John. Multi-objective learning via


genetic algorithms, 1985.
[218] Knowles J. D. and Corne D. W. The pareto archived evolution
strategy: A new baseline algorithm for pareto multiobjective optimisation.
In In Congress on Evolutionary Computation (CEC99), volume 1, pages
98105, Piscataway, NJ, 1999. IEEE Press.
[219] Hu Xiaohui, Shi Yuhui, and Eberhart Russ. Recent advances in
particle swarm. In EDS Embeded System Group, Purdue University.
[220] Durillo, Garca Nieto, Nebro, Coello Coello, Luna, and Alba. Multiobjective particle swarm optimizers: An experimental comparison. In 5th
International Conference on Evolutionary Multi-Criterion Optimization
(EMO-2009). Springer, 2009.
[221] Abido. Two-level of nondominated solutions approach to
multiobjective particle swarm optimization. In Genetic And Evolutionary
Computation Conference Proceedings, pages 726 733.
[222] Reyes Sierra and Coello Coello. Multi-objective particle swarm
optimizers: A survey of the stateof-the-art. In International Journal of
Computational Intelligence Research, pages 287308, 2006.
[223] Mostaghim Sanaz and Teich Jurgen. Covering pareto optimal fronts
by subswarms in multiobjective particle swarm optimization. In Congress
on Evolutionary Computation, pages 14041404, 2004.
[224] Raquel Naval. An e_ective use of crowding distance in
multiobjective particle swarm optimization. In Conference on Genetic and
Evolutionary Computation, pages 257264, New York, NY, 2005.
GECCO.
[225] Reyes Sierra and Coello Coello. Improving pso-based multiobjective
optimiza- tion using crowding, mutation and epsilon-dominance. In
Evolutionary Multi- Criterion Optimization (EMO 2005), LNCS 3410,
pages 505519, 2005.
[226] Durillo J., Nebro A., Luna F., Dorronsoro B., and Alba E. jmetal: A
java framework for developing multi-objective optimization metaheuristics.
Technical report, Departamento de Lenguajes y Ciencias de la
Computacion, University of Malaga, E.T.S.I. Informatica, Campus de
Teatinos, 2006.
[227] Deb K., Pratap A., Agarwal S., and Meyarivan T. A fast and elitist
multiobjective genetic algorithm: Nsga-ii. IEEE Transactions on
Evolutionary Computation, 6(2), 2002.

296

JAVIER LPEZ

[228] Zitzler E., Deb K., and Thiele L. Comparison of multiobjective


evolutionary algorithms: Empirical results. Evolutionary Computation,
8(2):173195, 2000.
[229] Deb Kalyanmoy, Thiele Lothar, Laumanns Marco, and Zitzler
Eckart. Scalable test problems for evolutionary multiobjective optimization.
In Ajith Abraham, Lakhmi Jain, and Robert Goldberg, editors,
Evolutionary Multiobjective Optimization, Advanced Information and
Knowledge Processing, pages 105145. Springer Berlin Heidelberg, 2005.
[230] Zitzler E. Evolutionary Algorithms for Multiobjective Optimization:
Methods and Applications. PhD thesis, Swiss Federal Institute of
Technology (ETH) Zurich, 1999.
[231] Knowles J., Tiele L., and Zitzler E. A tutorial on the perfomance
assessment of stochastic multiobjective optimizers.
[232] Zitzler E., Laumanns M., and Thiele L. Spea2: Improving the
strength pareto evolutionary algorithm. In EUROGEN 2001, pages 95
100, Athens, Greece, 2002.
[233] Riget J. and Vesterstrom J. A diversity-guided particle swarm
optimizer A the arpso. EVALife Project Group Department of Computer
Science, 2002.
[234] Akjiratikarl C., Yenradee P., and Drake P. Pso-based algorithm for
home care worker scheduling in the uk. In Comput. Ind. Eng. 53, 4, 2007.
[235] Belmecheri F., Prins C., Yalaoui F., and Amodeo L. Particle swarm
optimization to solve the vehicle routing problem with heterogeneous fleet,
mixed backhauls, and time windows. In Parallel and Distributed
Processing, Workshops and Phd Forum (IPDPSW). IEEE International
Symposium, 2010.
[236] Brotcorne L., Laporte G., and Semet F. Ambulance location and
relocation models. In European Journal of Operational Research 147, pages
451463, 2003.
[237] Church R.L. and ReVelle C. The maximal covering location
problem. In Papers of the Regional Science Association 32, pages 101
118, 1974.
[238] Dantzig G. and Ramser J. The truck dispatching problem. In
Management Science, pages 8091, 1959.
[239] Daskin M. A maximum expected covering location model:
Formulation, properties and heuristic solution. In Transportation Science
17. 48-70, 1983.

OPTIMIZACIN MULTI-OBJETIVO
APLICACIONES A PROBLEMAS DEL MUNDO REAL

297

[240] Fink E. Changes of problem representation: Theory and experiments.


Springer-Verlag, Berlin, Germany, 2003.
[241] Garey M. R. and Johnson D. S. In Computers and Intractability: A
Guide to the Theory of NPCompleteness. W.H. Freeman and Company,
New York, 1979.
[242] Doerner K., Gutjahr W., Hartl R., Karall M., and Reimann M.
Heuristic solution of an extended double-coverage ambulance location
problem for austria. 2005.
[243] Gendreau M., Laporte G., and Potvin Y. Metaheuristics for the vrp.
in the vehicle routing problem. In SIAM Monographs on Discrete
Mathematics and Applications, pages 129154. Philadelphia, 2002.
[244] Gendreau M., Laporte G., and Semet F. Solving an ambulance
location model by tabu search. In Location Science 5, pages 7585, 1997.

298

JAVIER LPEZ

Esta edicin de 150 ejemplares


se termin de imprimir en Estudiocentro,
Bolvar, Buenos Aires, Argentina,
en el mes de abril de 2015.

También podría gustarte