You are on page 1of 99

Escuela de Modelacin y

Mtodos Numricos 2015



Taller de

Optimizacin
Multi-objetivo
Dra. Mara Guadalupe Villarreal Marroqun
Investigador Ctedras CONACYT
CIMAT-Monterrey
CIMAT, Guanajuato, Gto. , 23 al 26 de Junio de 2015

Contenido
Parte 1:
o
o
o
o
o

Ejemplos de problemas de optimizacin multiobjetivo


Caractersticas de problemas multiobjetivo
Formulacin de problema de optimizacin multiobjetivo
Conceptos bsicos de optimizacin multiobjetivo
Mtodos de optimizacin multiobjetivo 1
Mtodos Clsicos
o Mtodo de la suma ponderada
o Mtodos de la restriccin-
o Mtodo Lexicogrfico

Parte 2:
o Mtodos de optimizacin multiobjetivo 2
Algoritmos Evolutivos multiobjetivo
o Como comparar 2 Fronteras de Pareto
o Como seleccionar una solucin entre las soluciones Pareto

Ejemplo 1
Un estudiante desea seleccionar la mejor escuela de
matemticas, en el extranjero, para estudiar el
docorado y se basa en varios criterios:
Criterios

Idex

Ranking Acadmico

Nivel de Reclutamiento

Selectividad de Estudiantes

Actividades de Investigacin

Relacin Estudiantes Doctorado y


Profesores

Escuelas
MIT
Stanford
Carnegie Mellon
Georgia Tech
University of Michigan
California Tech
Cornell University
3

Ejemplo 1 (Cont.)

7
Alternativas

Reporte de Indicadores

5 criterios (objetivos)

Escuelas \ Criterio

1 2 3 4

MIT

1 1 11 1 3.21

Stanford

1 8 31 7 4.71

Carnegie Mellon

8 12 4 6 3.36

Georgia Tech

8 2 20 2 2.72

University of Michigan 5 3 31 3 3.18


California Tech

3 7 1 26 3.88

Cornell University

7 10 6 13 2.87

Criterios: (1) Ranking Acadmico, (2) Reclutamiento, (3) Selectividad de


Estudiantes, (4) Activ. Investigacin, (5) Relacin Estudiantes Doc./Profesores

Que universidad seleccionaran en base a los 5 criterios?

Ejemplo 2
Se desea comprar un carro de entre 4 modelos: Ford
Focus, Toyota Corolla, Honda Civic, Mazda 3. La
decisin se va a tomar de acuerdo a precio,
consumo de gasolina y potencia. Se desea el carro
mas barato, que consuma menos gasolina y sea mas
potente.
3 objetivos
4
Alternativas

Modelo

Costo
Consumo gasolina Potencia
(x 1,000 pesos)
(l/100km)
(hp)

Ford Focus

293

252

Toyota Corolla

250

8.2

132

Honda Civic

265

8.5

150

Mazda 3

240

11

167

Que carro compraran en base a los 3 objetivos ?

Ejemplo 3
Se desean minimizar 2 objetivos (ejm. costo y calidad
de producto) simultneamente, los cuales estn
representados por las siguientes funciones con 1
variable de decisin (ejm. tiempo de procesamiento).
Funciones objetivo
6.00

f1 (x) = x +1

4.00
f

f2 (x) = (x 2)2 +1
x0

5.00

3.00

f1
f2

2.00
1.00

-2

0.00
-1
0

3
x

Caracterstica de un Problema de
Optimizacin Multiobjetivo
Problemas que involucra mas de una funcin
objetivo a ser minimizada o maximizada.
Los objetivos presentan un grado de conflicto. Esto
es, no existe una solucin (x) tal que todos los
objetivos sean minimizados (maximizados)
simulataneamente.

Formulacin general de problemas


de Optimizacin multiobjetivo
min/ max ( f1 (x), f2 (x),..., fM (x))
s.a. g j (x) 0
hk (x) = 0

j = 1,..., J
k = 1,..., K

xiL xi xiU
M objetivos
N variables de decisin
J restricciones de desigualdad
K restricciones de igualdad

i = 1,..., N

Conceptos Bsicos
Optimizacin Multiobjetivo

Dominio de una solucin


En problemas de optimizacin con un solo objetivo,
el determinar si una solucin es mejor que otra es
fcil de decir, solo comparamos el valor de la
funcin objetivo en ambos soluciones.
En problemas de optimizacin multiobjetivo, que
tan buena es una solucin es determinada
mediante el concepto de dominancia.

10

Denicin de Dominancia
Dadas 2 soluciones x1 y x2, decimos que x1 domina a x2,
si
o La solucin x1 no es peor que x2 en todos los objetivos y
o La solucin x1 es estrictamente mejor que x2 en al menos un
objetivos.
o Equivalente a decir (caso minimizar):

fi (x1 ) fi (x 2 ) para i = 1,..., M


y

fi (x1 ) < fi (x 2 ) para algn i {1,..., M}

Decir que x1 domina a x2 en equivalente a decir x2 es dominada


por x1.
11

Ejercicio

Identicar soluciones no dominadas


Consideremos el ejemplo del seleccionar la mejor escuela de
matemticas, donde solo el ranking de la universidad y el
nivel de reclutamiento son los criterios de decisin.
Qu alternativas no son dominadas?

f1

f2

Escuelas \ Criterio Ranking Reclutamiento


(min)
(min)

x1 MIT
x 2 Stanford

x3

Carnegie Mellon

12

x4

Georgia Tech

x5

U. of Michigan

x6

California Tech

x7

Cornell

10

MIT vs. Stanford:


MIT domina a Stanford

Georga Tech vs. Cal Tech:
ninguna solucin domina a
la otra

MIT y Georga Tech


son las solucin no
dominadas 12

Nota
El objetivo de los mtodos de optimizacin
multiobjetivo es encontrar el conjunto de soluciones
no dominadas y no una solucin nica.

13

Algoritmo para determinar soluciones


dominadas (comparacin por pares)
Vector de objetivos: #
!

$
&
# min Reclutamiento &
"
%
min Ranking

Alternativas:
MIT

Stand. Carnegie Gergia U of M Cal Tech Cornell

! 1 $ ! 2 $ ! 6 $ ! 4 $ ! 5 $ ! 3 $ ! 7 $
& #
#
& #
& #
& #
& #
&
& #
" 3 % " 8 % " 12 % " 2 % " 3 % " 7 % " 10 %

1. Comparar todos los pares y asignar un valor de 1


si la desigualdad se cumple y 0 si no
#1

#2 Score #1 Score #2

1 < 2

3 < 8

sum

Si una solucin tiene Score 0 es


dominada, y se elimina de la
lista.
14

Conceptros Bsicos:

Conjunto de soluciones factibles


y espacio de decisin/objetivos
Espacio de Decisin (X)

Espacio de Objetivos (Y)


14
Carnegie
Mellon
Cornell

MIT
Standford
Cal Tech
Georga Tech
U. of Mich.
Carnegie
Cornell

Reclutamiento

12
10

Stanford

Cal Tech

6
4

MIT

2
0

U of Mich.
Georga Tech

4
5
Ranking

El conjunto de soluciones factibles es el


conjunto de posibles soluciones del problema.

15

Conceptros Bsicos:

Solucin eciente o Pareto


Una solucin factible x! X se llama eficiente o Pareto si
no existe una solucin x X tal que

f (x) f (x! ) donde

f (x) := ( f1 (x),..., fM (x))

Si x! es eficiente, f (x! ) es una solucin no dominada


El conjunto de soluciones eficientes se llama conjunto
Eficiente o conjunto Pareto
El conjunto de soluciones no dominadas se llama el
conjunto no-dominado o Frontera Pareto
16

Conceptros Bsicos:

Soluciones ecientes vs. no-dominadas


Espacio de Variables

Espacio de Objetivos

Escuela

14
Carnegie
Mellon
Cornell

MIT
Standford
Cal Tech
Georga Tech
U. of Mich.
Carnegie
Cornell

Soluciones Ecientes

Reclutamiento

12
10

Stanford

Cal Tech

6
4

MIT

2
0

U of Mich.
Georga Tech

4
5
Ranking

Soluciones No dominadas
17

Conceptros Bsicos:

Conjunto Pareto vs. Frontera Pareto


Espacio de Objetivos
min f2

Espacio de Variables
x2
X

Y
Puntos dominados

Frontera Pareto

Conjunto de soluciones ecientes


(Conjunto Pareto)

x1

Conjunto de puntos no-dominados (Frontera


Pareto)

min f1

18

Otra denicion de Solucin


Eciente o Parteo Optimas
El conjunto de soluciones x donde una funcin
objetivo no puede ser mejorada sin empeorar
alguno de los otros objetivos se llama Soluciones
Pareto optima o Soluciones Eficientes.
Esto es equivalente a decir que si mejoramos un
objetivo al menos otro se empeora.
6.00
5.00

4.00
3.00

f1

2.00

f2

Soluciones
Pareto

1.00
0.00
-2 -1 0

3
x

19

Mtodos de Optimizacin
Multiobjetivo
Clsicos

20

Objetivo de los Mtodos de


Optimizacin multiobjetivo
1. Encontrar un conjunto de soluciones lo ms
cercano al conjunto de soluciones no-dominadas.
2. Encontrar un conjunto de soluciones lo mas
diverso posible.
18
16
14

y2

12
10
8
6
4
2
Soluciones
0
No-dominadas
0.00

0.50

1.00

1.50

2.00

2.50

3.00

y1

21

Mtodos de Optimizacin
Multiobjetivo
Clsicos

22

Mtodo Suma Ponderada


La idea general de este mtodo es asociar un peso a
cada funcin objetivo y minimizar la suma ponderada
de los objetivos. ste transforma el problema de multiobjetivo a mono-objetivo. El problema para M objetivos
es como sigue:
M

min w f (x)
i i

xX

i=1

s.a. wi 0 i
M

w = 1
i

i=1

Si variamos los pesos de forma sistemtica podemos


encontrar un conjunto de soluciones no dominadas.
23

Resultados sobre
Mtodo de Suma Ponderada
Las soluciones del problema mediante el mtodo
de la suma ponderada son al menos Pareto dbil.
Una solucin es Pareto dbil si al mejorar en un objetivo no
necesariamente empeoramos los otros objetivos.

La solucin del problema de la suma ponderada es


estrictamente Pareto si todos los pesos son positivos.
Si el problema es convexo, se pueden encontrar
todas las soluciones eficientes mediante el mtodo
de la suma ponderada.
24

Mtodo de la suma ponderada


Representacin grca M=2

f2
b

w1 f1 (x) + w2 f2 (x) = a
w1 f1 (x) + w2 f2 (x) = b

w1 f1 (x) + w2 f2 (x) = c
f1
25

Mtodo de la suma ponderada


Caso Frontera No-Convexa
f2

A,B

f1
26

Mtodo Suma Ponderada


Ventajas y Desventajas

Ventajas
o Fcil de usar
o En problemas convexos se pueden encuentra todas las
soluciones de la Frontera Pareto

Desventajas
o No encuentra soluciones en la regin No-convexa de la Frontera
o Pesos distribuidos uniformemente no garantizan soluciones
distribuidas uniformemente en la Frontera Pareto.
o Dos vectores de pesos diferentes no necesariamente llevan a 2
soluciones eficientes diferentes.

27

Mtodo de la restriccin -
La idea de este mtodo es mantener un objetivo y
restringir el resto de los objetivos a un valor . En
este caso el problema tambin se transforma a un
problema mono-objetivo. El problema para M
objetivos es como sigue:

min

f j (x)

xX

s.a. fi (x) i i = 1, 2,..., M, i j

28

Mtodo restriccin-
Ilustracin
min

f2 (x)

xX

s.a. f1 (x) 1
f2
f2

1a 1b

f1
1a 1b

f1

29

Mtodo restriccin-
Ventajas y Desventajas
Ventajas
o Fcil de Usar
o Se puede aplicar a problemas convexos y no-convexos.

Desventajas
o El vectordebe escogerse cuidadosamente para asegurar que
est dentro del valor mnimo o mximo de las funciones objetivo
individuales.

30

Mtodo Lexicogrco
En este mtodo se asume que los objetivos pueden
ser ordenados por importancia.
La idea es ir resolviendo una serie de problemas
mono-objetivo secuencialmente, empezando por
el objetivo de mayor importancia hasta el de
menor importancia. En cada iteracin el valor
optimo encontrado para cada objetivo es aadido
como restriccin en los problemas subsecuentes.
De esta manera se puede preservar el valor optimo
de los objetivos con mayor importancia.
31

Mtodo Lexicogrco
El procedimiento es como sigue: (asumamos que los
objetivos i=1,2,M esta en orden de importancia)
Problema Inicial:

min

f1 (x)

xX

donde x* es la solucin optima y f1* es el valor de la


funcin objetivo en x* .
Problema subsecuentes (i=2, ,M):

min

fi (x)

xX

s.a. fl (x) = fl* , l = 1,..., i 1


32

Mtodo Lexicogrco
Ilustracin 1

Problema Inicial

min

Problema 2

min

f1 (x)

f2 (x)

xX

xX

s.a. f1 (x) = f1*


f2

f2

f2*

f1*

f1

f1*

f1
33

Mtodo Lexicogrco
Ilustracin 2

Problema Inicial

min

Problema 2

min

f1 (x)

f2 (x)

xX

xX

s.a. f1 (x) = f1*

f2

f2

f2*

*
1

f1

f1*

f1
34

Mtodo Lexicogrco

Ventajas y Desventajas

Ventajas
o No requiere que las funciones objetivo sean normalizadas.
o La solucin obtenida es Pareto optima.

Desventajas
o Requiere resolver mucho (M) problemas de optimizacin para
obtener una sola solucin.
o Los problemas puede ser difcil de resolver por las restricciones
que se imponen.

35

Otros mtodos clsicos


Mtodo de Benson
Programacin por Metas
Mtodo Funcin Utilidad

36

Resumen
En los problemas de optimizacin multiobjetivo
tenemos un conjunto de objetivos que deseamos
optimizar.
Los objetivos presentan un grado de conflicto por lo
que no existe una solucion que optimice todos los
objetivos de manera simulatanea.
El objetivo en estos problemas es encontrar el
conjunto de soluciones eficientes. Dichas soluciones
son matemticamente igual de buenas.
37

Escuela de Modelacin y
Mtodos Numricos 2015

Taller de

Optimizacin
Multi-objetivo(Parte 2)
Dra. Mara Guadalupe Villarreal Marroqun
Investigador Ctedras CONACYT
CIMAT-Monterrey
CIMAT, Guanajuato, Gto. , 23 al 26 de Junio de 2015

Contenido
Parte 1:
o
o
o
o
o

Ejemplos de problemas de optimizacin multiobjetivo


Caractersticas de problemas multiobjetivo
Formulacin de problema de optimizacin multiobjetivo
Conceptos bsicos de optimizacin multiobjetivo
Mtodos Clsicosde optimizacin multiobjetivo

Parte 2:
o Mtodos de optimizacin multiobjetivo 2
Algoritmos Evolutivos mono-objetivo
Algoritmos Evolutivos multi-objetivo
o Vector Evaluated Genetic Algorithm (VEGA) Schaffer (1985)
o Nondominated Sorting Genetic Algorithm (NSGA y NSGA-II)
Srinivas and Deb (1994) & Deb et al. (2002)
o Strength Pareto Evolutionary Algorithm (SPEA y SPEA-II) Zitzel and
Thiele (1999) & Zitzel, Laumanns & Thiele (2002)
o Como comparar 2 Fronteras Pareto?
o Como seleccionar una solucin final?
39

Limitaciones de Mtodos de
Optimizacin Multicriteria Csicos
Para encontrar un conjunto de elementos en la frontera
Pareto, utilizando los mtodos de optimizacin
multiobjetivo clsicos, se necesita correr muchas veces
un algoritmo de optimizacin de un objetivo.
Algunos algoritmos necesitan de parametros o
conocimiento del rango de las objetivos para ser
evaluados (ejm. Mtodo de restriccin-), los cuales
pueden ser dificiles de determinar.
Algunos algoritmos son vulnerables a la forma de la
frontera Pareto(convexidad, discontinuidad, etc.).
40

Mtodos de optimizacin
multiobjetivo Parte 2
Mtodos Heursticos
Algoritmos Evolutivos
Bsqueda Tab
Recocido Simulado

41

Algoritmos Evolutivos
Mono objetivo

42

Algoritmos Evolutivos
Descripcin General

L o s A l g o r i t m o s E v o l u t i v o s s o n p r o c e s o s
computacionales adaptativos que modelan el
proceso de evolucin natural.
SELECCIN

Poblacin Inicial

REPRODUCCIN
Cruza

Evaluacin de
Aptitud

2 1 3
Mutar

43

Algoritmos Evolutivos

Procedimiento (versin general)


1. Generar una poblacin inicial con N individuos de forma
aleatoria (Primera Generacin)
2. Evaluar la aptitud de cada individuo de la poblacin.
3. Repetir hasta terminar
1. Seleccionar los n individuos mas aptos (padres) para
reproducirse
2. Crear nuevos individuos (hijos) mediante operaciones de
cruza y mutacin y formar una nueva generacin.
3. Evaluar la aptitud de los nuevos individuos.
4. Remplazar los individuos menos aptos con los individuos
mas aptos de la nueva generacin y formar la Nueva
Poblacin
En los problemas de optimizacin las soluciones candidatas juegan el papel de
los individuos en la poblacin y la funcin de aptitud representa el objetivo a
minimizar/maximizar.

44

Algoritmos Evolutivos
Elementos clave

1. Grupo de Individuos/Poblacin (cuntos y cmo


generarlos)
2. La funcin de aptitud.
3. Estrategia de Seleccin (mtodo para seleccionar
los individuos a reproducirse).
4. Las operaciones genticas (cruza, mutacin).
5. Operacin de remplazo (cuales hijos son
seleccionados e incluidos en la nueva poblacin)

45

Algoritmos Evolutivos
Multiobjetivo
Introduccin

46

Algoritmos Evolutivos Multiobjetivo


Idea General
1. Iniciar el contador de generaciones t=0
2. Generar una poblacin inicial P(t) con N individuos
3. Mientras no se cumpla el criterio de parada hacer
1. Evaluar los M objetivos f1(x),, fM(x) en cada individuo de P(t)
2. Calcular la aptitud de cada individuo en P(t). (La aptitud es una medida
de que tan buena es cada solucin en trminos de dominancia).
3. Seleccionar de P(t) un grupo de N individuos, P(t) (preferente los ms
aptos).
4. Combinar/cruzar los individuos de P(t) para obtener la poblacin de
hijos P(t)
5. Mutar los individuos en P(t)
6. Mezclar P(t) y P(t) y seleccionar los mejores individuos para obtener P(t
+1)
7. t=t+1

47

Algoritmos Evolutivos Multiobjetivo


o Los Algoritmos Evolutivos mono objetivo y los
multiobjetivo tienen una estructura similar.
o La diferencia principal entre los dos es:
La asignacin de un valor de aptitud
El proceso de seleccin

48

Algoritmos Evolutivos Multiobjetivo


Funcin de Aptitud
Mtodos de Agregacin (ejm. Suma Ponderada)
Transformacin del Problema a un solo objetivo (ejm.
Lexicogrfico).
o En esta estrategia el objetivo con mayor preferencia puede variar durante el
proceso de seleccin de cada iteracin.

Definicin de dominancia (tcnicas por categoras).


o Grado de dominancia: el nmero de individuos(soluciones) que dominan a
cada individuo (menor es mejor).
o Conteo de dominancia: el numero de individuos que cada individuo domina
(mayor es mejor).
o Profundidad de dominancia: la poblacin es dividida en diferentes fronteras y
la profundidad refleja a que frontera pertenece un individuo (donde frontera 1
es mejor).

49

Algoritmos Evolutivos Multiobjetivo


Funcin de Aptitud/Tcnicas por Categoras
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0

Grado: 2
Conteo: 2

0.2

0.4

0.6

0.8

min f1

Conteo de dominancia

Profundidad de dominancia
.




F
3
F 1 F 2

min f2

min f2

Grado de dominancia

1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0

0.2

0.4

0.6

0.8

min f1

50

Algoritmos Evolutivos Multiobjetivo


Funcin de Aptitud

La funcin de aptitud basada en tcnicas por


categoras esta relacionada a la poblacin actual.
Los mtodos de agregacin calculan el valor de
aptitud independientemente de los otros
individuos.

51

Algoritmos Evolutivos Multiobjetivo


Comentarios
Cosas que se tienen que tomar en cuenta cuando
se disea un Algoritmo Evolutivo Multiobjetivo:
1.

Guiar la bsqueda hacia la Frontera Eficiente

2.

Mantener un conjunto de soluciones no-dominadas diverso

52

Algoritmos Evolutivos Multiobjetivo


Ventajas y Desventajas
Ventajas
o El hecho de que los Algoritmos Evolutivos trabajan con un conjunto de
soluciones potenciales a la vez, les permite generar un conjunto de
elementos en la frontera eficiente en una sola iteracin.
o Los Algoritmos Evolutivos son menos susceptibles a la forma o continuidad
de la frontera eficiente.

Desventajas
o El ajuste de los parmetros (operaciones de evolucin) son a base de
prueba y error.
o Al igual que otras heursticas, los Algoritmos Evolutivos Multiobjetivo no
garantizan encontrar las soluciones eficientes ptimas, pero s una buena
aproximacin de la frontera en un tiempo computacionalmente
razonable.

53

Algoritmos Evolutivos
Multiobjetivo
Metodologas

54

Algoritmos Evolutivos Multiobjetivo


Mtodos
Mtodos populares propuestos en la literatura:
o Vector Evaluated Genetic Algorithm (VEGA) Schaffer (1985)
o Nondominated Sorting Genetic Algorithm (NSGA)
Srinivas and Deb (1994)
o Nondominated Sorting Genetic Algorithm (NSGA-II)
Deb et al. (2002)
o Strength Pareto Evolutionary Algorithm (SPEA) Zitzel and Thiele
(1999)
o Strength Pareto Evolutionary Algorithm 2 (SPEA2)
Zitzel, Laumanns & Thiele (2002)

55

Vector Evaluated Genetic Algorithm (VEGA)


Schaer (1985)
o Asignacin de Aptitud / Proceso de Seleccin
1.

Dividir cada generacin en M sub-poblaciones (M nmero de objetivos).

2.

Cada sub-poblacin representa un nuevo problema y se le asigna solo


una funcin objetivo.

3.

Seleccionar los individuos ms aptos de cada subpoblacin y aplicar


tcnicas de cruza y mutacin.

4.

De cada sub-poblacin seleccionar los individuos mas aptos y remplazar


los individuos menos aptos de la generacin anterior.

5.

Formar una nuevo poblacin y repetir el procedimiento.

Para un problema con M objetivos, M sub-poblaciones de tamao N/M son


generadas (N:= tamao de la poblacin).
Individuos a
reproducirce

Poblacin anterior
F1
F2

F3
F4
f5

Nueva Poblacin

Cruza y
mutacion

De la ultima
poblacin se
pueden seleccionan
las soluciones no-
dominadas por
denicin. 56

VEGA

Comentarios
Este mtodo no genera soluciones distribuidas a lo
largo de la frontera eficiente.
El mtodo genera soluciones agrupadas en cada
mnimo individual.

57

Nondominated Sorting Genetic Algorithm


(NSGA); Srinivas and Deb (1994)
Asignacin de Aptitud (Tcnicas de clasificacin)
o Identificar los individuos no dominado y calificarlos en una categora con
mismo valor de aptitud. Esto implica que todas las soluciones en dicha
categora tienen la misma probabilidad de reproducirse.
o El grupo anterior es removido de la lista y se identifica un nuevo conjunto
de soluciones no dominadas. A este nuevo grupo se le asigna un valor
de aptitud comn pero mayor al anterior.
o El proceso continua hasta que todos los individuos de la poblacin son
clasificados.
.


F
3



F

F 1 2

min f2

0.8
0.6
0.4
0.2
0

0.2

0.4

0.6

min f1

0.8

58

Nondominated Sorting Genetic Algorithm


o Proceso de Seleccin
Seleccionar N individuos de la siguiente manera:
1. Las soluciones en categora 1
2.
3.

Soluciones en categora 2
Continuar as hasta completar N.

De modo que despus de cruzarse y mutar tengamos una nueva


Poblacin de N individuos.
.




F
3
F 1 F 2
1
min f2

0.8

N=4

0.6
0.4
0.2
0

0.2

0.4

0.6

min f1

0.8

59

NSGA
Desventajas
o El mtodo NSGA es computacionalmente caro, especialmente
para calcular la aptitud, dado que requiere identificar las capas
de la frontera eficiente.
o No garantiza que las soluciones estn distribuidas en la frontera
eficiente
o Falta de Elitismo: descarta soluciones no-dominadas en la
iteracin actual (histrico).

60

Nondominated Sorting Genetic Algorithm


(NSGA-II); Deb et al. (2002)
Asignacin de Aptitud (Tcnicas de clasificacin)
o Igual que NSGA (asigna valores dependiendo de la capa de la
frontera al que corresponda)

o Proceso de Seleccin
Selecciona los individuos como en NSGA, pero para distinguir
soluciones en una misma categora calcula la distancia de
amontonamiento.

61

NSGA-II

Distancia de Amontonamiento
La distancia de amontonamiento de una solucion es la
distancia promedio (en el espacio de los objetivos) a los
2 puntos de cada lado de los objetivos.
0.18
0.16

(max) f2

0.14
0.12
0.1
0.08
0.06
0.04
0.02
0

0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045


(min) f1

Las soluciones con la distancia de amontonamiento


mas grande tiene una mejor valor de aptitud.
62

NSGA-II

Proceso de Seleccin
Crowding distance sorting

Non-dominated sorting

Pt+1
Rank 1

Pt

Rank 2

Qt

Rank 5

Rt

Rejected

Combina los padres (Pt) e hijos (Qt) para formar


Rt = Pt Qt, lo que garantiza elitismo.
63

NSGA-II

Ventajas y Desventajas
Ventajas
o No tiene problemas con convexidad
o Encuentra soluciones eficientes distribuidas en la frontera eficiente (dado
que utiliza la funcin de amontonamiento)
o Utiliza elitismo al pasar cada generacin a la siguiente.

Desventajas
o Esfuerzo Computacional

Es uno de los mtodos ms utilizados en Optimizacin


Multiobjetivo basado en Algoritmos Evolutivos

El artculo original cuenta con ms de 14,000 citas.
64

NSGA-II (Algoritmo en Matlab)


Ejemplo M=2 V=3
2 Objetivos; 3 Variables

x [-5,5]
65

NSGA-II

Ejemplo M=2 V=3

66

NSGA-II Ejemplo M=2 V=3


Efecto del Tamao de la Poblacin
N=30, 70, 100. Nmero de generaciones
(iteraciones)fijo a 100. pc = 0.9, pm = 1/V

67

NSGA-II Ejemplo M=2 V=3


Efecto del Nmero de generaciones
N=70(fijo). Nmero de generaciones 100,300,500.

68

NSGA-II Ejemplo M=2 V=3


Efecto probabilidad de cruza
N=70, Gen=100, pc=0.5, 0.8, 0.9
N=70 G=100 pc=0.5
1
0
-1

Pc=0.9

Pc=0.5

-2
-3
-4

N=70 Gen=100 pc=0.8


2

-5
1

-6
0

-7

-19

-18.5

-18

-17.5

-17

-16.5

-16

-15.5

-15

Pc=0.8

-14.5 -2

min f2

-8
-19.5

-1

-3
-4
-5
-6
-7
-8
-19

-18

-17

-16
min f1

-15

-14

-13

69

Strength Pareto Evolutionary Algorithm


(SPEA); Zivel and Thiele (1999)
1.

General Poblacin Inicial P0 y crear un conjunto externo de soluciones no


dominadas vaco P de capacidad mxima N.

2.

Copiar las soluciones no-dominadas de Pt en P y eliminarlas de Pt.

3.

Remover las soluciones en P dominadas por otro miembro de P

4.

Si el nmero de soluciones en P excede N, depurar P mediante tcnica


de agrupamiento y reducir a N.

5.

Calcular la aptitud de cada elemento de Pt y P

6.

Seleccionar elementos de Pt U P para reproducirse. Por ejemplo: utilizando


torneo, comparar de 2 en 2 y seleccionar la mejor, hasta completar el
grupo a reproducirse.

7.

Aplicar operaciones de cruza y mutacin usuales para general Pt+1.

8.

Si el mximo nmero de generaciones se cumple, parar, si no ir al Paso 2

70

Strength Pareto Evolutionary Algorithm


Asignacin de aptitud
Paso 1: Para cada solucin i P calcular el valor si (strength)
si = nmero de soluciones en P dominadas por i / N+1
donde N es el tamao de P (soluciones dominadas).
fi = si para i P (aptitud)
Paso 2: Para cada solucin j en P

f j = 1+ si
iD j

donde Dj es el conjunto de soluciones en P que dominan a j

71

Strength Pareto Evolutionary Algorithm


Asignacin de aptitud

min

P
P
1

N=6
2
3
min

1.Calcular si para las soluciones no dominadas


si =
72

Strength Pareto Evolutionary Algorithm


Asignacin de aptitud

min

P
P
1
3/7
2
5/7

N=6

3
0/7
min

1.Calcular si para las soluciones no dominadas


si =

S1 = 3/7
S2 = 5/7
S3 = 0/7

73

Strength Pareto Evolutionary Algorithm


Asignacin de aptitud

min

P
P

1
3/7

N=6

f4 = 1+ s1 + s2

2
5/7

3
0/7

= 1+ 3 / 7 + 5 / 7 = 15 / 7

min
Paso 2: Calcular x para las soluciones en P (dominadas)

f j = 1+
si

iD j

Donde Dj es el conjunto se soluciones en P que dominan a j

S1 = 3/7
S2 = 5/7
S3 = 0/7

74

Strength Pareto Evolutionary Algorithm


Asignacin de aptitud

min

10/7
3/7

18/10
15/7

P
P

2/7
1
12/7
12/7
5/7
0/7
min

Nota: una solucin con valor de aptitud menor es mejor


75

Strength Pareto Evolutionary Algorithm


Asignacin de Aptitud
max f1 y max f2

N= 7
Ejm. 1 Ejm. 2

El objetivo es distribuir las soluciones


en los nichos (rectngulos) tal que:
Las reas cubiertas por pocas
soluciones no-dominadas
contengan mas individuos que las
regiones cubiertas por muchas
(reas mas obscuras)

Fuente graco: Zivel and Thiele (1999). Multiobjective Evolutionary Algorithms:A Comparative Case Study and
the Strength Pareto Approach.IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION, VOL. 3, NO. 4

76

Strength Pareto Evolutionary Algorithm


Como depurar P cuando |P|>N
Algoritmo de Agrupamiento: Este algoritmo se usa cuando la frontera
eficiente (P) tiene mas puntos de los permitidos (>N).
1.

Inicializar un conjunto de agrupamiento C; cada solucin i P


constituye un agrupamiento distinto Ci. C = Ui {Ci}

2.
3.

Si |C| N, ir al paso 5, si no ir al paso 3.


Para cada par de agrupamientos posibles , calcular dij como el
promedio de las distancias entre los pares de individuos de los 2
agrupamientos

4.

Formar un nuevo conjunto con los 2 conjuntos con menor distancia


promedio, e ir al Paso 2.
Calcular el conjunto no dominado reducido seleccionando un
elemento de cada agrupamiento. Como recomendacin se
puede tomar el individuo al centro de cada grupo.

5.

77

Strength Pareto Evolutionary AlgorithmAlgoritmo


de Agrupamiento (|P|>N)
N=4

Agrupamiento 1

0.2
0.18

Agrupamiento 2

0.16

(min) f2

0.14
0.12
0.1
0.08

Agrupamiento 3

0.06
0.04

Agrupamiento 4

0.02
0

0.005

0.01

0.015

0.02

0.025

0.03

0.035

0.04

(min) f1

78

Strength Pareto Evolutionary Algorithm


Ventajas y Desventajas
Ventajas
o Las soluciones Pareto- optima se guarda en un poblacin externa
o El agrupamiento asegura soluciones no-dominadas distribuidas.
o El algoritmo de agrupamiento no tiene parmetros

Desventajas
o Debe haber un balance entre el tamao de la poblacin y el nmero
mximo de soluciones no-dominadas permitido N
Si N es muy grande, el proceso de seleccin puede tomar mucho
tiempo
Si N es pequeo, el efecto de elitismo no es muy eficiente
o De la asignacin de aptitud:
Los individuos que son dominados por el mismo conjunto de
soluciones en P tienen el mismo valor de aptitud
Si P contiene solo una solucin todas las soluciones en P tienen el
mismo valor de aptitud.
79

Strength Pareto Evolutionary Algorithm 2


(SPEA2); Zivel, Laumanns & Thiele (2002)
Diferencias entre SPEA vs SPEA2
o En el SPEA 2 se mejora la asignacin de aptitud
En SPEA2, para cada individuo se toma en cuenta el nmero de
soluciones que el domina y las que a el lo dominan.
o Densidad
SPEA2 hace una estimacin de la densidad (que tantas soluciones
hay al redero de un punto).
o Forma de truncar P
SPEA2, usa una tcnica diferente para truncar P.

80

Strength Pareto Evolutionary Algorithm 2


Mtodo
1.

General Poblacin Inicial P0 de tamao N y crear un conjunto


externo de soluciones no dominadas vaco P de tamao N.

2.
3.

Copiar las soluciones no-dominadas de Pt en P y removerlas de Pt


Remover las soluciones en P dominadas por otro miembro de P

4.

Si el nmero de soluciones en P excede el nmero mximo N,


depurar P mediante tcnica de truncado, si el nmero es menor a
N rellenar P con soluciones dominadas y eliminarlas de Pt.

5.
6.

Calcular la aptitud de cada elemento de Pt y P


Seleccionar elementos de P utilizando torneo con remplazo hasta
completar el grupo a reproducirse.

7.
8.

Aplicar operaciones de cruza y mutacin usuales para general Pt+1.


Si el mximo nmero de generaciones se cumple, parar, si no ir al
Paso 2.

81

Strength Pareto Evolutionary Algorithm 2


Asignacin de Aptitud

Para evitar la situacin donde los individuos dominados por el mismo


conjunto de individuos en P tengan la misma aptitud, ahora tambin se
consideran las soluciones que un individuo domina.
Paso 1: Calcular el nmero de soluciones que el individuo i domina
si = nmero de individuos en PUP dominados por i
(en SPEA, si solo se calcula para los elementos en P, aqu se calcula para
todos los individuos)
Paso 2: Calcular la aptitud inicial del individuo i

R(i) =

jDi

donde Di es el conjunto de soluciones en PUP que dominan a la solucion i


82

SPEA vs SPEA2

Asignacin de Aptitud
max f1 y max f2

SPEA SPEA2

Fuente graco: Zivel, Laumanns & Thiele (2002). SPEA2: Improving the Strength Pareto
Evolutionary Algorithm. Tecnical Report Engineering and Networks Laboratory (TIK). TIK-
Report 103

83

Strength Pareto Evolutionary Algorithm 2


Asignacin de Aptitud (Cont.)
Cuando 2 individuos tienen el mismo valor de aptitud, informacin
adicional de la densidad de la solucin se utiliza para distinguir entre ellos.

La densidad de un individuo esta en funcin de la distancia al k-esimo


punto mas cercano.

Procedimiento: Para cada individuo i se calcula la distancia a todos los


individuos j en PU P y se ordenan en una lista de forma ascendente. La
distancia al k-esimo elemento es el que se buscala (dik). k=1 es
comnmente utilizado.

La densidad del individuo i es


D(i)=1/dik

Finalmente la aptitud del individuo i es igual a:


F(i)=R(i)+D(i)
84

Strength Pareto Evolutionary Algorithm 2


Como formar P
Pt+1 = {i : i Pt U Pt no dominados}
o Si |Pt+1| =N (Parar)
o Si |Pt+1 |<N (Las N soluciones con mejor valor de
aptitud forman Pt+1)
o Si |Pt+1 |>N (utilizar un mtodo de truncado para
eliminar soluciones)

85

Strength Pareto Evolutionary Algorithm


Mtodo de Truncado

max f1 y max f2

- El individuo con mnima distancia a los otro individuo es removido


en cada paso.
- Si hay dos soluciones con la misma distancia, se considera el que
tenga el segundo ms cercano y as sucecibamente hasta desempatar.

N=5

Fuente graco: Zivel, Laumanns & Thiele (2002). SPEA2: Improving the Strength Pareto
Evolutionary Algorithm. Tecnical Report Engineering and Networks Laboratory (TIK). TIK-
Report 103

86

Strength Pareto Evolutionary Algorithm 2


Notas

1. El tamao de P (N) es fijo en todas las iteracines


2. El mtodo de agrupamiento se ha cambiado por
un mtodo de truncamiento.
3. Solo los miembros en P participan en el proceso
de seleccin para ser reproducidos.

87

Cmo comparar 2 o mas


Fronteras Ecientes?

88

Cmo comparar 2 tcnicas


de optimizacin?
Calidad de las soluciones
Tiempo (esfuerzo) requerido para general dichas
soluciones
Pregunta:
o Cmo definir calidad en el contexto de soluciones de problemas
Multiobjetivo?

89

Comparacin del desempeo de 2 mtodos


de Optimizacin Multiobjetivo
Mtodos
Clasificacin de Dominancia
Mtodos indicadores de calidad
B A
0.2
0.18

(min) f2

0.16
0.14
0.12
0.1
0.08
0.06
0.04
0.02
0

0.01 0.02 0.03 0.04 0.05 0.06 0.07


(min) f1

90

Mtodos Indicadores de Calidad


El objetivo es asignan un valor puntual a cada
Frontera Pareto.
o Mtodos
1. Dimetro Externo
2. Cardinalidad
3. Indicador de Hipervolumen
4. Indicador de Completitud
5. Indicador de Familia psilon
6. Medida de Uniformidad
7. Entre otros

91

Como seleccionar una


solucin de la Frontera
Pareto?

92

Problemas de Optimizacin
Multiobjetivo
El objetivo en un problemas de optimizacin
multiobjetivo es encontrar la Frontera Pareto o un
subconjunto de ella. Sin embargo, en la practica
finalmente se necesita seleccionar una o varias
(pocas) para tomar una decisin.

93

Mtodos para seleccionar soluciones de Frontera


Pareto: mtodos de toma de decisiones
Mtodos a priori
o
o
o
o

Mtodo suma ponderada con un valor de pesos especifico


Mtodo de la restriccin para un solo psilon
Mtodo lexicogrfico
Entre otros

94

Mtodos para seleccionar soluciones de Frontera


Pareto: mtodos de toma de decisiones
Mtodos a posteriori
o Analizar la forma de la frontera eficiente
Determinar el nivel de compromiso de los objetivos en base a la
forma de la frontera eficiente.
o Mtodos basados en distancia
Buscar la solucin ms cercana a la solucin ideal
Seleccionar la solucin ms cercana a valor de los objetivos deseado
por el tomador de decisiones
o Mtodos basados en agrupamiento
Agrupar las soluciones en clusters
o Ejemplo: mtodo de las k-medias (donde k es el nmero de
soluciones deseadas) y se selecciona el centroide de cada
grupo

95

Mtodos para seleccionar soluciones de Frontera


Pareto: Mtodo basado en agrupamiento
Agrupamiento las soluciones en base a los valores
de funcin objetivo
0.2
0.18
0.16
(max) valor

0.14
0.12

Agrupamiento 2

0.1

Agrupamiento 1

0.08
0.06

Agrupamiento 3

0.04
0.02
0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

(min) costo

96

Mtodos para seleccionar soluciones de Frontera


Pareto: Mtodo basado en agrupamiento
Agrupamiento las soluciones en base en los valores
de las variables de decisin en el conjunto Pareto.
El objetivo es seleccionar soluciones con valores de
variables de decisin similar.
0.2
0.18

(max) valor

0.16
0.14
0.12
0.1
0.08
0.06
0.04
0.02
0

0.01

0.02

0.03

0.04

(min) costo

0.05

0.06

0.07

97

Resumen
En los problemas de optimizacin multiobjetivo tenemos un
conjunto de objetivos que deseamos optimizar.Los objetivos
presentan un grado de conflicto por lo que no existe una
solucion que optimice todos los objetivos de manera
simulatanea.
Existe una serie de mtodos de optimizacin clsica que se
han desarollado en esta rea.
Lo algoritmos evolutivos se han implementado con xito en
optimizacin multiobjetivo.
Tcnicas para comparar 2 Fronteras Pareto
Como seleccionar una solucin de la frontera final
98

Gracias
Contacto

maria.villarreal@cimat.mx
www.cimat.mx/Monterrey

99