You are on page 1of 37

Introduccin a la Optimizacin Evolutiva o o Multiobjetivo

Carlos A. Coello Coello CINVESTAV-IPN Depto. de Ingenier Elctrica a e Seccin de Computacin o o Av. Instituto Politcnico Nacional No. 2508 e Col. San Pedro Zacatenco Mxico, D. F. 07300, MEXICO e
ccoello@cs.cinvestav.mx http://www.cs.cinvestav.mx/EVOCINV

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Motivacin o
La mayor parte de los problemas de optimizacin del mundo real o son naturalmente multiobjetivo. Esto es, suelen tener dos o ms a funciones objetivo que deben satisfacerse simultneamente y que a posiblemente estn en conicto entre s Sin embargo, a n de a . simplicar su solucin, muchos de estos problemas tienden a o modelarse como mono-objetivo usando slo una de las funciones o originales y manejando las adicionales como restricciones.

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Conceptos Bsicos a
El problema de optimizacin evolutiva multiobjetivo (OEM) o general puede formularse como: Encontrar el vector x = [x , x , . . . , x ] que satisfaga las m n 1 2 restricciones de desigualdad: gi (x) 0 las p restricciones de igualdad hi (x) = 0 y que optimice f (x) = [f1 (x), f2 (x), . . . , fk (x)]
Depto. de Lenguajes y Ciencias de la Computacin, o T T

i = 1, 2, . . . , m

(1)

i = 1, 2, . . . , p

(2)

(3)
Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Optimo de Edgeworth-Pareto

La nocin ms aceptada de ptimo en el entorno de problemas o a o multiobjetivo es la propuesta originalmente por Francis Ysidro Edgeworth en 1881 y generalizada posteriormente por Vilfredo Pareto en 1896.

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Optimo de Edgeworth-Pareto

Algunos autores la llaman ptimo de Edgeworth-Pareto, pero es o ms comn denominarla simplemente ptimo de Pareto. a u o

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Optimalidad de Pareto
Decimos que un punto x es un ptimo de Pareto si para o toda x e I = {1, 2, . . . , k} ya sea, iI (fi (x) = fi (x )) o hay al menos una i I tal que fi (x) > fi (x ) (5) (4)

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Dominancia de Pareto
Un vector u = (u1 , . . . , uk ) domina a otro v = (v1 , . . . , vk ) (denotado mediante u v) si y slo si u es parcialmente menor a v, o i.e., i {1, . . . , k}, ui vi i {1, . . . , k} : ui < vi .

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Conjunto de Optimos de Pareto


Para un problema multiobjetivo dado f (x), el conjunto de ptimos o de Pareto (P ) se dene como: P := {x | x f (x ) f (x)}. (6)

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Frente de Pareto
Para un problema multiobjetivo dado f (x) y un conjunto de o ptimos de Pareto P , el frente de Pareto (PF ) se dene como: PF := {u = f = (f1 (x), . . . , fk (x)) | x P }. (7)

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Ejemplo de un Frente de Pareto


1 0.9 0.8 0.7 0.6 F2 0.5 0.4 0.3 0.2 0.1 0 0 0.1 0.2 0.3 0.4 0.5 F1 0.6 0.7 0.8 0.9 1

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Estado Actual

Actualmente existen unas 30 tcnicas de optimizacin e o multiobjetivo en la literatura de investigacin de operaciones. Sin o embargo, la mayor de ellas estn limitadas a frentes de Pareto a a con ciertas caracter sticas (p.ej., convexos) y suelen requerir un punto inicial de bsqueda. Adicionalmente, suelen generar una sola u solucin por ejecucin. o o

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Uso de Algoritmos Evolutivos


El potencial de los algoritmos evolutivos para resolver problemas de optimizacin multiobjetivo se remonta a nales de los 1960s en que o la tesis doctoral de Rosenberg [1967] indic la posibilidad de usar o algoritmos genticos en este dominio. e Sin embargo, el primer intento real por extender un algoritmo evolutivo a problemas multiobjetivo es el Vector Evaluated Genetic Algorithm (VEGA) desarrollado por Schaer en su tesis doctoral de 1984 y presentado en la Primera Conferencia Internacional de Algoritmos Genticos (en 1985). e

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Publicaciones por a o (hasta med. 2002) n


160

140

120

Number of Publications

100

80

60

40

20

83

84

85

86

87

88

89

90

91 92 93 94 Publication Year

95

96

97

98

99

00

01

02

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Citas por tipo de MOEA


500

450

400

350 Number of Publications

300

250

200

150

100

50

MOEP

MOES MOEA Type

MOGA

MOGP

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Otras heur sticas


25

20

Number of References Reviewed

15

10

SA

TS AS DRL MA Type of (alternative) multiobjective heuristic

HY

Figura 1: The following labels are used: SA = Simulated Annealing, TS


= Tabu Search, AS = Ant System, DRL = Distributed Reinforcement Learning, MA = Memetic Algorithm, HY = Hybrid techniques.
Depto. de Lenguajes y Ciencias de la Computacin, o Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Citas por cantidad de funciones objetivo


350

300

250 Number of Publications

200

150

100

50

9 10 11 12 17 23 Number of MOP Functions (k)

49

50

65 100 500

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Algoritmos Evolutivos Multiobjetivo


Pueden considerarse, en general, dos tipos principales de algoritmos evolutivos multiobjetivo: 1. Los algoritmos que no incorporan el concepto de ptimo de o Pareto en el mecanismo de seleccin del algoritmo evolutivo o (p.ej., los que usan funciones agregativas lineales).

2. Los algoritmos que jerarquizan a la poblacin de acuerdo a si o un individuo es no dominado o no (usando el concepto de o ptimo de Pareto). Ejemplos: MOGA, NSGA, NPGA, etc.

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Algoritmos Evolutivos Multiobjetivo


Histricamente podemos considerar que han habido dos o generaciones de algoritmos evolutivos multiobjetivo: 1. Primera Generacin: Caracterizada por el uso de o jerarquizacin de Pareto y nichos. Algoritmos relativamente o simples. Tambin se produjeron enfoques ms rudimentarios e a (p.ej., funciones agregativas lineales). Segunda Generacin: Se introduce el concepto de elitismo en o dos formas principales: usando seleccin ( + ) y usando una o poblacin secundaria. o

2.

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Tendencias Actuales
Tras gozar de mucho xito por alrededor de 5 aos, los e n algoritmos de primera generacin han comenzado a caer en o desuso (NSGA, NPGA, MOGA y VEGA). Desde nales de los 1990s los algoritmos evolutivos multiobjetivo que usan elitismo son vistos como el estado del arte en el rea (p.ej., SPEA, SPEA2, NSGA-II, MOMGA, a MOMGA-II, PAES, PESA, PESA II, etc.)

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Tendencias Actuales
Los algoritmos de segunda generacin enfatizan la eciencia o computacional. Se busca vencer la complejidad de la jerarquizacin de Pareto (O(kM 2 ), donde k es el nmero de o u funciones objetivo y M es el tamao de la poblacin) y de las n o tcnicas tradicionales de nichos (O(M 2 )). e En la sombra, los algoritmos no basados en dominancia de Pareto siguen siendo usados en algunos dominios (p.ej., optimizacin combinatoria) con relativo xito. o e

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Tendencias Actuales
Una tendencia actual es extender otras heur sticas a problemas multiobjetivo. Por ejemplo: bsqueda dispersa, optimizacin u o mediante cmulos de part u culas, el sistema inmune articial, etc. Tambin se han propuesto un sinnmero de h e u bridos y nuevos algoritmos bioinspirados.

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Teor a
Existen unos pocos estudios de convergencia de un algoritmo evolutivo multiobjetivo a un conjunto de ptimos de Pareto o [Rudolph, 1998, 2000; Hanne, 2000, 2000a; Van Veldhuizen, 1998]. Tambin hay trabajo reciente en torno a las mtricas y en e e torno a la dinmica poblacional de los algoritmos evolutivos a multiobjetivo. Se requiere an mucho trabajo. Por ejemplo: modelado terico u o de operadores, convergencia de algoritmos paralelos, estudio de la estructura de los paisajes de aptitud de problemas multiobjetivo, etc.

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Aplicaciones
300

250

Number of Applications Reviewed

200

150

100

50

Eng

Ind Application Area

Sci

Misc

Figura 2: Distribucin general de aplicaciones reportadas en la liteo ratura: Eng = Engineering, Ind = Industrial, Sci = Scientic, Misc = Miscellaneous.
Depto. de Lenguajes y Ciencias de la Computacin, o Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

60

50

Number of Applications Reviewed

40

30

20

10

ENH

EE

Tel

RC SM Engineering Field

CC

Tra

Figura 3: ENH = Environmental, Naval, and Hydraulic, EE = Electrical


and Electronics, Tel = Telecommunications and Network Optimization, RC = Robotics and Control, SM = Structural & Mechanical, CC = Civil and Construction, Tra = Transport, A = Aeronautical.
Depto. de Lenguajes y Ciencias de la Computacin, o Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

50

45

40 Number of Applications Reviewed

35

30

25

20

15

10

DM

SC GR Type of Industrial Application

MA

Figura 4: DM = Design and Manufacture, SC = Scheduling, GR = Grouping and Packing, MA = Management.

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Aplicaciones
Aunque el volumen actual de aplicaciones es considerable, muchos dominios no han sido abordados todav Por ejemplo: a. visin por computadora, ajuste de modelos basados en o elementos nitos, reconocimiento de patrones, etc. Los algoritmos paralelos ciertamente se volvern ms populares a a en los aos venideros, pero no hay una visin clara respecto a n o qu tipo de algoritmos son ms adecuados para qu tipo de e a e problemas.

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Funciones de Prueba
Durante cerca de 15 aos se subestim la necesidad de contar n o con funciones de prueba estndar. a Hoy en d existen varias propuestas que incluyen funciones a con 2 y 3 objetivos, algunas de las cuales son escalables. Entre sus caracter sticas interesantes destacan las siguientes: multifrontalidad, frentes de Pareto cncavos y segmentados, o alta dimensionalidad, decepcin, etc. o Recientemente se han propuesto tambin funciones con e restricciones y problemas de optimizacin combinatoria o multiobjetivo.

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Funciones de Prueba
Se requieren, entre otras, funciones de prueba dinmicas, con a ep statis elevada, con ms de 3 funciones objetivo, con a funciones objetivo cuyo costo de evaluacin sea muy elevado y o crezca exponencialmente con la dimensionalidad del problema, etc. Tambin son de gran inters los generadores automticos de e e a funciones de prueba, los cuales son prcticamente inexistentes a en la actualidad.

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Ejemplos de Funciones de Prueba


MOP6 P 1
true

0.9

0.8

0.7

0.6 yvalue

0.5

0.4

0.3

0.2

0.1

0.1

0.2

0.3

0.4

0.5 xvalue

0.6

0.7

0.8

0.9

Figura 5: Ptrue de una de las funciones de Deb.


Depto. de Lenguajes y Ciencias de la Computacin, o Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Ejemplos de Funciones de Prueba


MOP6 PFtrue 1

0.5

Function 2 0 0.5 0

0.1

0.2

0.3

0.4 0.5 Function 1

0.6

0.7

0.8

0.9

Figura 6: P Ftrue de una de las funciones de Deb.

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Ejemplos de Funciones de Prueba


Osyczka (2) Pareto Optimal Solutions 2 1.9 1.8 1.7 1.6

yvalue

1.5 1.4 1.3 1.2 1.1 1 0

0.5

1.5

2.5 xvalue

3.5

4.5

Figura 7: Ptrue de una de las funciones de Osyczka.


Depto. de Lenguajes y Ciencias de la Computacin, o Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Ejemplos de Funciones de Prueba


Osyczka (2) Pareto Front 180 160 140 120 Function 2 100 80 60 40 20 0 300

250

200

150 Function 1

100

50

Figura 8: P Ftrue de una de las funciones de Osyczka.


Depto. de Lenguajes y Ciencias de la Computacin, o Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Mtricas e
Los tres valores fundamentales que miden las mtricas de la e actualidad son [Zitzler et al., 2000]: 1. Minimizar la distancia del frente de Pareto producido por nuestro algoritmo con respecto al frente verdadero (suponiendo que lo conocemos).

2. Maximizar la distribucin de soluciones obtenidas, de manera o que podamos tener una distribucin de vectores tan uniforme o como sea posible. 3. Maximizar la cantidad de elementos del conjunto de ptimos de o Pareto generados.

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Mtricas e
El problema fundamental de las mtricas es que los 3 valores antes e mencionados deben combinarse de diferentes maneras para poder establecer el desempeo de un algoritmo de manera cuantitativa. n Sin embargo, dichas combinaciones no son ms que combinaciones a lineales de pesos (tan satanizadas en optimizacin evolutiva o multiobjetivo). Irnicamente, el problema de las mtricas resulta o e ser tambin de naturaleza multiobjetivo. e

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

Algunas Ideas de Investigacin o


Uso de estructuras de datos espaciales (quadtrees u octrees) para hacer ms eciente el almacenamiento de los vectores no a dominados en espacios discretos. Incorporacin de mecanismos adicionales para manejo de o incertidumbre (p.ej., lgica difusa). o Desarrollo de algoritmos espec cos que ataquen problemas tales como la ep stasis elevada. Por ejemplo, el Generalized Regression GA (GRGA) [Tiwari et al., 2001]. Uso de conceptos multiobjetivo para cambiar la forma del paisaje de aptitud de un problema.

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

El Sitio Web Sobre Optimizacin Evolutiva o Multiobjetivo


Visite: http://delta.cs.cinvestav.mx/ccoello/EMOO/ Contiene datos de alrededor de 50 investigadores de todas partes del mundo, as como software de dominio pblico y una base de u datos con ms de 1030 referencias bibliogrcas sobre optimizacin a a o evolutiva multiobjetivo (muchas de ellas disponibles en formato electrnico). o

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

Carlos A. Coello Coello, Sept. 2002.

Introduccin a la Optimizacin Evolutiva Multiobjetivo o o

A Manera de Conclusiones
La optimizacin evolutiva multiobjetivo presenta actualmente o muchas oportunidades de investigacin. o Muchos problemas de dicultad intermedia todav no han a sido resueltos adecuadamente. Hay un sinnmero de posibles aplicaciones por ser exploradas. u Cundo ocurrir la tercera generacin? Habr un cambio de a a o a paradigma?

Depto. de Lenguajes y Ciencias de la Computacin, o

Universidad de Mlaga a

You might also like