Métodos de Optimización Multi-objetivo. Aplicación a la

Anuncio
Métodos de Optimización Multiobjetivo.
Multiobjetivo
Aplicación a la Computación Distribuida
Dr Miguel Ángel Vega Rodríguez
Dr.
Grupo de Investigación ARCO (http://arco.unex.es)
Universidad de Extremadura
0. Índice de la presentación
 Necesidad de Optimización Multiobjetivo (MO)
 Alternativas para varios objetivos
 Conceptos básicos en MO
 Calidad en MO
 Métricas de calidad en MO
 Algoritmos Evolutivos Multiobjetivo
 Aplicación a Computación Distribuida
1. Necesidad de Optimización Multiobjetivo (MO)
En optimización, el paradigma dominante plantea
como principio: la búsqueda de una decisión
óptima maximizando una función objetivo
Este paradigma presenta importantes
debilidades que lo desvían
considerablemente de los procesos reales
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
1. Necesidad de Optimización Multiobjetivo (MO)
Los problemas del mundo real suelen necesitar la
optimización
ó de
d múltiples
úl i l objetivos
bj i
a la
l vez,
además suelen ser objetivos conflictivos entre sí
Ejemplos para computación distribuida:
• Maximizar ahorro energético
• Maximizar nº de tareas ejecutadas
• Minimizar
Mi i i
tiempo
ti
de
d ejecución
j
ió total
t t l del
d l experimento
i
t
• Minimizar coste total del experimento
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
2. Alternativas para varios objetivos
Transformación de múltiples objetivos a un solo objetivo
F  w1F '1( x )  w2 F '2(x )  ...  wnF ' n ( x )
Donde:
Distancia al valor ideal
F 'i ( x )
Distancia al valor peor
Utilidad
Etc.
wi = pesos de importancia relativa
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
2. Alternativas para varios objetivos
F2
Solución por
convergencia
Población inicial
F1
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
2. Alternativas para varios objetivos
D
Desventajas:
t j
 Los pesos tienen que ser preespecificados
 Sólo ofrece una solución
optimización
ti i ió realizado
li d
por
proceso
de
 LLas funciones
f
i
d b
deben
normalizarse
li
en base
b
a unos
máximos y mínimos que no se conocen
Sin embargo, este método sigue siendo ampliamente
usado por su simplicidad
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
2. Alternativas para varios objetivos
Técnicas basadas en Pareto
Tratan de encontrar en un sólo proceso de
optimización
ti i ió varias
i soluciones
l i
d l Frente
del
F t de
d Pareto
P t
En varias iteraciones realiza una mejora
progresiva
i del
d l conjunto
j t No
N Dominado
D
i d
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
2. Alternativas para varios objetivos
F2(x)
Población final
Población inicial
F1(x)
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
3. Conceptos básicos en Optimización Multiobjetivo
Maximizar
F(x)
( ) = (F
( 1((x),
), F2((x),
), ...,, Fn((x))
))
Sujeto a las restricciones:
g1 (x) > L1
R(x)
g2 (x) > L2
gk (x) > Lk
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
3. Conceptos básicos en Optimización Multiobjetivo
Dominancia
Maximizar f ( x)  ( f1 ( x), f 2 ( x))
f 2 ( x)
A
A domina a B
Maxximizaar
B es dominado por A
(A es mejor que B)
B
f1 (x)
Maximizar
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
3. Conceptos básicos en Optimización Multiobjetivo
Dominancia
Maximizar f ( x)  ( f1 ( x), f 2 ( x))
Maxim
mizar
f 2 ( x)
A
D
C
A y C no se dominan el uno
al otro
D domina a A
B
Maximizar
f1 (x)
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
3. Conceptos básicos en Optimización Multiobjetivo
Soluciones
dominadas
f 2 ( x)
M
Maximiz
zar
Soluciones de
Pareto
Maximizar
f1 (x)
Soluciones
So
uc o es
dominadas
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
3. Conceptos básicos en Optimización Multiobjetivo
Frente de Pareto
F2(x)
( )
Ob
bjetivo 2
2: Ahorro enerrgético
A
c
a
Fmax
d
Fmin
B
S
Objetivo
j
1: Nº de tareas ejecutadas
j
F1((x))
Soluciones no dominadas o de Pareto: Son las soluciones factibles tal q
que no
existe otra solución en S, para la que Fi  Fi* y Fi > Fi* para al menos un objetivo i
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
3. Conceptos básicos en Optimización Multiobjetivo
Solución en Optimización Multiobjetivo
SATISFACTORIA
ÓPTIMA
EFICIENTE
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
4. Calidad en Optimización Multiobjetivo
Estos métodos siguen dos metas:
i.
Encontrar soluciones muyy cercanas a las soluciones
Pareto-óptimas (Convergencia)
La calidad de una solución depende de cuantas
soluciones domina dentro de la población
ii. Encontrar soluciones que difieran ampliamente unas
de otras, es decir que estén repartidas en el frente de
P t (Diversidad)
Pareto
(Di
id d)
Útil el uso de Nichos
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
4. Calidad en Optimización Multiobjetivo
Simultaneamente hay que mejorar la Diversidad
(D) y la Convergencia (C)
Pareto Front
D
C
Maximiza
M
ation of f2 (x)
Maximiza
M
ation of f2 (x)
Pareto Front
D
Current Population
Maximization of f1 (x)
Maximization of f1 (x)
Evolución deseada
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
4. Calidad en Optimización Multiobjetivo
max. F2
Frente de Pareto
min. F1
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
4. Calidad en Optimización Multiobjetivo
(i) Métodos de ordenamiento
En cada población, a cada solución se le asigna un orden
según
ú su dominación
d i
ió sobre
b las
l otras soluciones
l i
de
d la
l
población:
1. La
a calidad
a dad de cada
ada so
solución
u ó es
está
á aso
asociada
ada a su
orden
2. La calidad de cada solución está asociada al
número de soluciones que domina o le dominan
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
4. Calidad en Optimización Multiobjetivo
F2(x)
n=1 (19)
n=2 (14)
n=3 (8)
n=4 (3)
n=55 (0)
F1(x)
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
4. Calidad en Optimización Multiobjetivo
Od
Ordenación
ió basada
b
d en Dominancia
D
i
i
Tipos:
• Rank de dominancia
¿Por cuántas soluciones es
dominada una solución (+1)?
• Count de dominancia ¿Cuántas soluciones domina una
solución?
l ió ?
• Depth de dominancia ¿En qué frente está una solución
l
localizada?
li d ?
Ejemplos:
• MOGA, NPGA
• NSGA/NSGA-II
• SPEA/SPEA2
Rank de dominancia
Depth de dominancia
Count + Rank de dominancia
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
4. Calidad en Optimización Multiobjetivo
(ii) Técnicas para trabajar con nichos
A. Dividir por nichos (sharing)
B. Difusión en paralelo
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
4. Calidad en Optimización Multiobjetivo
A. División por nichos
Se ideó para la optimización de funciones multimodales
((varios óptimos
p
locales))
Permite la formación de subpoblaciones, permitiendo
buscar en paralelo
buscar,
paralelo, varios picos de la función
0.7
0.6
0.5
04
0.4
0.3
0.2
0.1
0
0
0.2
0.4
0.6
0.8
1
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
4. Calidad en Optimización Multiobjetivo
¿Cómo actúa?
En lla evaluación
E
l
ió de
d cada
d solución
l ió penaliza
li soluciones
l i
muy parecidas a otras soluciones de la población
mediante
di t una función
f
ió de
d nicho
i h sh
h (sharing)
h i )
sh
h tiene
ti
las
l siguientes
i i t propiedades:
i d d
-
0  sh(d)  1, para todas las distancias d
-
sh(0) = 1
-
limd  sh(d) = 0
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
4. Calidad en Optimización Multiobjetivo
Ejemplo


sh( d )  


d 
1  
si d  
 
0
d otro
de
t
modo
d
Donde  y  (radio de nicho) son parámetros dados por
nosotros
Radio de nicho: mayor
y distancia p
para la cual se considera que
q
dos soluciones están dentro del mismo nicho
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
4. Calidad en Optimización Multiobjetivo
Si para la solución x:
m( x)   y sh(d ( x, y ))
Donde y son todas las otras soluciones de la población
El nuevo valor de calidad para una solución x será:
F ' ( x) 
F ( x)
m( x )
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
4. Calidad en Optimización Multiobjetivo
¿Cómo usar esto en MO?
Cuando se da un orden a una nueva capa de
p
soluciones no dominadas se les hace penalización
por nicho
Se considera luego la siguiente capa de
soluciones no dominadas y se procede igual que
para la
l anterior
t i
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
4. Calidad en Optimización Multiobjetivo
B. Difusión en paralelo
Método q
que trabaja
j con p
poblaciones en las q
que las soluciones
pueden mezclarse únicamente con sus vecinas
Esto lo hace un método factible para optimización multiobjetivo
xi
xj
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
4. Calidad en Optimización Multiobjetivo
xi
yi
Mezclan
xj
Si yi domina
d i a xi, entonces yi reemplaza
l
a xi
Si yi domina a xj, entonces yi reemplaza a xj
Luego se pueden aplicar pequeñas variaciones a yi
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
4. Calidad en Optimización Multiobjetivo
F2(x)
F1(x)
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
4. Calidad en Optimización Multiobjetivo
(iii) Uso de Archivo histórico de las mejores soluciones
F2(x)
F2((x))
d
d
x
a
e
f
x e
b
x f
cx g
g
Población actual
F1(x)
Archivo histórico
F1(x)
• Almacena las mejores soluciones encontradas durante el proceso
• Permite reinyectar buenas soluciones cuando la población esté
degenerando o convergiendo rápidamente
• Puede usarse para calcular la calidad de la población actual
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
4. Calidad en Optimización Multiobjetivo
(iv) Híbridos
í
con otras técnicas
é
Combinación con Búsqueda tabú
Se generan listas tabú = soluciones ya visitadas
Combinación con enfriamiento simulado
Seleccionar las soluciones de tal forma que la función F sea
minimizada, así:
F = E – HT
Donde E es la energía (inversa a la calidad) media del sistema,
H es la entropía (diversidad) y T es la temperatura
La diversidad de la población es controlada ajustando el
parámetro
á
T en cada nueva iteración
ó de acuerdo a cierta regla
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
5. Métricas de calidad en Optimización Multiobjetivo
La necesidad
de métricas
d calidad
de
lid d
A
A
B
B
¿Es A mejor que B?
Independiente de
Sí (estrictamente)
No
preferencias usu.
Dependiente de
¿Cuánto?
¿En qué aspectos?
preferencias usu.
Ideal: métricas de calidad permitan hacer ambas afirmaciones
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
5. Métricas de calidad en Optimización Multiobjetivo
Unaria
Binaria
Hipervolumen
Relación de Cobertura
Ahorro energético
Ahorro energético
B
S(A) = 60%
C(A,B) = 25%
C(B,A) = 75%
A
S(A)
A
Nº tareas ejecutadas
Nº tareas ejecutadas
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
5. Métricas de calidad en Optimización Multiobjetivo
Hipervolumen
Tiempo
8
7
6
5
4
Frente de Pareto
3
Punto de Referencia
2
1
0
Coste
0
2
4
6
8
10
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
5. Métricas de calidad en Optimización Multiobjetivo
Hipervolumen
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
5. Métricas de calidad en Optimización Multiobjetivo
Hipervolumen
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
6. Algoritmos Evolutivos Multiobjetivo
Son métodos de optimización basados en
principios de Inteligencia Artificial (IA)

No garantizan la optimalidad de las soluciones
encontradas

Su p
propósito
p
es encontrar un conjunto
j
de
soluciones cercanas al conjunto óptimo en un
tiempo razonable

Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
6. Algoritmos Evolutivos Multiobjetivo
Casos en los que es interesante usarlos:





Ante problemas que aún no están completamente
caracterizados o son demasiado complejos para permitir
una completa caracterización
Cuando la solución requiere de mucho tiempo
computacional
Cuando no se necesitan las soluciones Óptimas exactas
Ante limitaciones de tiempo o espacio para
almacenamiento de datos
Como paso intermedio en la aplicación de otro algoritmo
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
6. Algoritmos Evolutivos Multiobjetivo
población
archivo
evaluar
seleccionar/mezclar
variar
actualizar
truncar
nueva población
nuevo archivo
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
7. Aplicación a Computación Distribuida
Tiempo de ejecución & Coste (Tesis María Arsuaga
Arsuaga-Ríos)
Ríos)
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
7. Aplicación a Computación Distribuida
Tiempo de ejecución & Coste (Tesis María Arsuaga
Arsuaga-Ríos)
Ríos)
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
7. Aplicación a Computación Distribuida
Tiempo de ejecución & Coste (Tesis María Arsuaga
Arsuaga-Ríos)
Ríos)
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
7. Aplicación a Computación Distribuida
Consumo energético & Tiempo (Tesis María Arsuaga
Arsuaga-Ríos)
Ríos)
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
7. Aplicación a Computación Distribuida
Consumo energético & Tiempo (Tesis María Arsuaga
Arsuaga-Ríos)
Ríos)
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
7. Aplicación a Computación Distribuida
Consumo energético & Tiempo (Tesis María Arsuaga
Arsuaga-Ríos)
Ríos)
Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura
Métodos de Optimización Multiobjetivo.
Multiobjetivo
Aplicación a la Computación Distribuida
Dr Miguel Ángel Vega Rodríguez
Dr.
Grupo de Investigación ARCO (http://arco.unex.es)
Universidad de Extremadura
Descargar