DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
Algoritmo NVMO para problemas multimodales
1. Optimización basada en Malla Variable para
funciones multimodales
Daniel Molina1 Amilkar Puris2 Rafael Bello2 Francisco
Herrera3
1Universidad de Cádiz, 2Universidad de Las Villas, Cuba, 3Universidad de Granada
MAEB 2013, 18 Septiembre 2013
http://sci2s.ugr.es
3. Optimización Multimodal
Problema de optimación
Optimización x∗
es el optimo sii f (x∗
) ≤ f (x) ∀x ∈ Dominio.
Continua Dominio ⊂ n
⇒ x = [x1, x2, · · · , xn].
Multimodal Existen varios óptimos globales, no solo uno.
Obtener el optimo Obtener varios óptimos
4. Optimización Multimodal
Problema de optimación
Optimización x∗
es el optimo sii f (x∗
) ≤ f (x) ∀x ∈ Dominio.
Continua Dominio ⊂ n
⇒ x = [x1, x2, · · · , xn].
Multimodal Existen varios óptimos globales, no solo uno.
Obtener el optimo
x
Fitness
Obtener varios óptimos
x
Fitness
5. Optimización Multimodal
Problema de optimación
Optimización x∗
es el optimo sii f (x∗
) ≤ f (x) ∀x ∈ Dominio.
Continua Dominio ⊂ n
⇒ x = [x1, x2, · · · , xn].
Multimodal Existen varios óptimos globales, no solo uno.
Obtener el optimo
x
Fitness
Obtener varios óptimos
x
Fitness
6. Optimización Multimodal
Problema de optimación
Optimización x∗
es el optimo sii f (x∗
) ≤ f (x) ∀x ∈ Dominio.
Continua Dominio ⊂ n
⇒ x = [x1, x2, · · · , xn].
Multimodal Existen varios óptimos globales, no solo uno.
Obtener el optimo
x
Fitness
Obtener varios óptimos
x
Fitness
7. Optimización Multimodal
Problema de optimación
Optimización x∗
es el optimo sii f (x∗
) ≤ f (x) ∀x ∈ Dominio.
Continua Dominio ⊂ n
⇒ x = [x1, x2, · · · , xn].
Multimodal Existen varios óptimos globales, no solo uno.
Obtener el optimo
x
Fitness
Obtener varios óptimos
x
Fitness
8. Optimización Multimodal
Problema de optimación
Optimización x∗
es el optimo sii f (x∗
) ≤ f (x) ∀x ∈ Dominio.
Continua Dominio ⊂ n
⇒ x = [x1, x2, · · · , xn].
Multimodal Existen varios óptimos globales, no solo uno.
Obtener el optimo
x
Fitness
Obtener varios óptimos
x
Fitness
9. Método clearing como técnica de nichos
Métodos de clearing
Una técnica clásica para algoritmos de nichos.
Evita que se centre demasiado la población en una región
específica.
Comportamiento
Utiliza una distancia mínima entre nichos(ρ∗).
Borra la solución sol1 si ∃ sol2 donde
fitness(sol2) ≤ fitness(sol1) y distance(sol1, sol2) ≤ ρ∗.
10. Método clearing como técnica de nichos
Métodos de clearing
Una técnica clásica para algoritmos de nichos.
Evita que se centre demasiado la población en una región
específica.
Comportamiento
Utiliza una distancia mínima entre nichos(ρ∗).
Borra la solución sol1 si ∃ sol2 donde
fitness(sol2) ≤ fitness(sol1) y distance(sol1, sol2) ≤ ρ∗.
11. Método clearing como técnica de nichos
Métodos de clearing
Una técnica clásica para algoritmos de nichos.
Evita que se centre demasiado la población en una región
específica.
Comportamiento
Utiliza una distancia mínima entre nichos(ρ∗).
Borra la solución sol1 si ∃ sol2 donde
fitness(sol2) ≤ fitness(sol1) y distance(sol1, sol2) ≤ ρ∗.
ρ∗
12. Método clearing como técnica de nichos
Métodos de clearing
Una técnica clásica para algoritmos de nichos.
Evita que se centre demasiado la población en una región
específica.
Comportamiento
Utiliza una distancia mínima entre nichos(ρ∗).
Borra la solución sol1 si ∃ sol2 donde
fitness(sol2) ≤ fitness(sol1) y distance(sol1, sol2) ≤ ρ∗.
ρ∗
13. Método clearing como técnica de nichos
Métodos de clearing
Una técnica clásica para algoritmos de nichos.
Evita que se centre demasiado la población en una región
específica.
Comportamiento
Utiliza una distancia mínima entre nichos(ρ∗).
Borra la solución sol1 si ∃ sol2 donde
fitness(sol2) ≤ fitness(sol1) y distance(sol1, sol2) ≤ ρ∗.
ρ∗
14. Método clearing como técnica de nichos
Métodos de clearing
Una técnica clásica para algoritmos de nichos.
Evita que se centre demasiado la población en una región
específica.
Comportamiento
Utiliza una distancia mínima entre nichos(ρ∗).
Borra la solución sol1 si ∃ sol2 donde
fitness(sol2) ≤ fitness(sol1) y distance(sol1, sol2) ≤ ρ∗.
15. Método de clearing y ρ
Influencia de la distancia mínima en el clearing
Es demasiado sensible al valor de distancia mínima usado (ρ∗).
En algunos benchmarks se sabe la verdadera distancia ρ.
• No es posible en problemas reales.
Cuando ρ∗ < ρ
Se identifican más nichos.
El clearing elimina pocas
soluciones.
Cuando ρ∗ > ρ
Se identifican pocos nichos.
Se eliminan muchas
soluciones.
¿Y los óptimos?
Depende de la implementación
16. Método de clearing y ρ
Influencia de la distancia mínima en el clearing
Es demasiado sensible al valor de distancia mínima usado (ρ∗).
En algunos benchmarks se sabe la verdadera distancia ρ.
• No es posible en problemas reales.
Cuando ρ∗ < ρ
Se identifican más nichos.
El clearing elimina pocas
soluciones.
Cuando ρ∗ > ρ
Se identifican pocos nichos.
Se eliminan muchas
soluciones.
¿Y los óptimos?
Depende de la implementación
31. Ventajas de la memoria externa de óptimos
Podríamos mantener todos los óptimos en la población
Sí, pero presenta ventajas adicionales:
Mantener óptimos en población
Menos individuos libres ⇒
población estancada.
Requiere conocer el número
de óptimos para definir el
tamaño de población.
Excesiva influencia de los
óptimos en la exploración.
Memoria de óptimos
Población pequeña
destinada a explorar.
Se reduce la dependencia
entre el tamaño de la
población y los óptimos.
No influyen todos los
óptimos en la exploración.
32. Ventajas de la memoria externa de óptimos
Podríamos mantener todos los óptimos en la población
Sí, pero presenta ventajas adicionales:
Mantener óptimos en población
Menos individuos libres ⇒
población estancada.
Requiere conocer el número
de óptimos para definir el
tamaño de población.
Excesiva influencia de los
óptimos en la exploración.
Memoria de óptimos
Población pequeña
destinada a explorar.
Se reduce la dependencia
entre el tamaño de la
población y los óptimos.
No influyen todos los
óptimos en la exploración.
33. Ventajas de la memoria externa de óptimos
Podríamos mantener todos los óptimos en la población
Sí, pero presenta ventajas adicionales:
Mantener óptimos en población
Menos individuos libres ⇒
población estancada.
Requiere conocer el número
de óptimos para definir el
tamaño de población.
Excesiva influencia de los
óptimos en la exploración.
Memoria de óptimos
Población pequeña
destinada a explorar.
Se reduce la dependencia
entre el tamaño de la
población y los óptimos.
No influyen todos los
óptimos en la exploración.
34. Ventajas de la memoria externa de óptimos
Podríamos mantener todos los óptimos en la población
Sí, pero presenta ventajas adicionales:
Mantener óptimos en población
Menos individuos libres ⇒
población estancada.
Requiere conocer el número
de óptimos para definir el
tamaño de población.
Excesiva influencia de los
óptimos en la exploración.
Memoria de óptimos
Población pequeña
destinada a explorar.
Se reduce la dependencia
entre el tamaño de la
población y los óptimos.
No influyen todos los
óptimos en la exploración.
35. Variable Mesh Optimisation
Algoritmo previo para optimización continua.
Estudiamos su uso en problemas multimodales.
Principales características
Algoritmo población (usa malla de soluciones).
Diferentes métodos de combinación.
Aplica el clearing al final de cada iteración.
36. Variable Mesh Optimisation
Algoritmo previo para optimización continua.
Estudiamos su uso en problemas multimodales.
Principales características
Algoritmo población (usa malla de soluciones).
Diferentes métodos de combinación.
Aplica el clearing al final de cada iteración.
37. Variable Mesh Optimisation
Algoritmo previo para optimización continua.
Estudiamos su uso en problemas multimodales.
Principales características
Algoritmo población (usa malla de soluciones).
Diferentes métodos de combinación.
Aplica el clearing al final de cada iteración.
38. Variable Mesh Optimisation
Algoritmo previo para optimización continua.
Estudiamos su uso en problemas multimodales.
Principales características
Algoritmo población (usa malla de soluciones).
Diferentes métodos de combinación.
Aplica el clearing al final de cada iteración.
44. Componentes del VMO
Exploración
1 Genera nodos entre cada nodo y su mejor vecino.
2 Genera nodos entre cada nodo y el actual óptimo global.
3 Genera solución alrededor de los límites de la malla.
45. Componentes del VMO
Exploración
1 Genera nodos entre cada nodo y su mejor vecino.
2 Genera nodos entre cada nodo y el actual óptimo global.
3 Genera solución alrededor de los límites de la malla.
46. Componentes del VMO
Exploración
1 Genera nodos entre cada nodo y su mejor vecino.
2 Genera nodos entre cada nodo y el actual óptimo global.
3 Genera solución alrededor de los límites de la malla.
47. Componentes del VMO
Exploración
1 Genera nodos entre cada nodo y su mejor vecino.
2 Genera nodos entre cada nodo y el actual óptimo global.
3 Genera solución alrededor de los límites de la malla.
48. Componentes del VMO
Exploración
1 Genera nodos entre cada nodo y su mejor vecino.
2 Genera nodos entre cada nodo y el actual óptimo global.
3 Genera solución alrededor de los límites de la malla.
Clearing con distancia adaptativa
Valor inicial alto para fomentar la exploración.
Se reduce durante la ejecución, para explotar más las
soluciones encontradas.
49. Inconvenientes del VMO para problemas multimodales
Sólo influye un óptimo
La Fase 2 guía la búsqueda usando únicamente un
óptimo.
Distancia de clearing adaptativa
La distancia de clearing se va reduciendo.
Podrían perderse óptimos en las etapas iniciales.
Definimos una versión diseñada
para problemas multimodales
50. Inconvenientes del VMO para problemas multimodales
Sólo influye un óptimo
La Fase 2 guía la búsqueda usando únicamente un
óptimo.
Distancia de clearing adaptativa
La distancia de clearing se va reduciendo.
Podrían perderse óptimos en las etapas iniciales.
Definimos una versión diseñada
para problemas multimodales
51. Inconvenientes del VMO para problemas multimodales
Sólo influye un óptimo
La Fase 2 guía la búsqueda usando únicamente un
óptimo.
Distancia de clearing adaptativa
La distancia de clearing se va reduciendo.
Podrían perderse óptimos en las etapas iniciales.
Definimos una versión diseñada
para problemas multimodales
52. Niching VMO
Cambios del VMO original
1 Nueva Fase 2 que crea soluciones combinando con el óptimo
encontrado más cercano.
2 Añadida una Búsqueda Local para mejorar resultados.
3 Memoria de óptimos para evitar perder optimos en el clearing.
53. Memoria de óptimos
Memoria de óptimos
Se mantienen los óptimos en la memoria antes de aplicar el
clearing.
Al final, contiene todos los óptimos obtenidos.
Cálculo
Para cada solución generada ni :
1 Si fitness(ni ) < fitness(ng), M = {ni }, ng = ni .
2 Si fitness(ni ) fitness(ng), M = M ∪ {ni }.
ng es la mejor solución encontrada.
f1 f2 sii |f1 − f2| ≤ umbral.
55. Memoria de óptimos y búsqueda
Búsqueda
La memoria de óptimos no guían la búsqueda.
Sólo las soluciones de la población se usan en la búsqueda.
Óptimos encontrados
Eliminar óptimos de la población favorece la población.
Los óptimos alcanzados están en la memoria, no en la
población.
62. Benchmark
Sobre el benchmark
12 funciones con diferentes valores de dimensión (1D-20D).
20 combinaciones diferentes.
Distintos valores de precisión: 10−1, 10−2, 10−3, 10−4, 10−5.
Funciones
Tres funciones de dimensión 1 (F1 − F3).
Ocho funciones de dimensión 2 (F4 − F11).
Cuatro funciones de dimensión 3 (F6, F7, F11, F12).
Dos funciones de dimensión 5 (F11, F12).
Dos funciones de dimensión 10 (F11, F12).
Una función de dimensión 20. (F12).
63. Benchmark
Sobre el benchmark
12 funciones con diferentes valores de dimensión (1D-20D).
20 combinaciones diferentes.
Distintos valores de precisión: 10−1, 10−2, 10−3, 10−4, 10−5.
Funciones
Tres funciones de dimensión 1 (F1 − F3).
Ocho funciones de dimensión 2 (F4 − F11).
Cuatro funciones de dimensión 3 (F6, F7, F11, F12).
Dos funciones de dimensión 5 (F11, F12).
Dos funciones de dimensión 10 (F11, F12).
Una función de dimensión 20. (F12).
64. Medidas del benchmark
Prioridades
1 Ratio de de soluciones encontradas por cada función y
precisión.
2 Número de evaluaciones necesarias para alcanzar los óptimos.
Ratio de óptimos, Peak Ratio (PR)
PR =
NR
run=1
NPFi
NKP·NR
65. Parámetros VMO para nichos
Parámetro Descripción Valor
P Tamaño Población 10+óptimos
k Tamaño vecindario 3
C Criterio de parada (MaxFEs) benchmark
Valor umbral 10−6
NLScad
Tamaño LScad 12
NLS Aplicaciones de LS por iteración 3
Istep Evaluaciones de cada BL 150
LSfreq Evaluaciones entre llamadas de BL 150
Memoria Distancia mínima Valor precisión
Precisión entre óptimos
66. Resultado: Influencia de la precisión (F6D2)
Se usa una memoria de óptimos diferentes para cada valor de
precisión.
Sólo se ejecuta una vez para cada valor de precisión.
67. Comparaciones
Algoritmos de Referencia
1 Classic Crowding DE (CDE).
2 Modern DE/NRAND/BIN.
Comparando resultados
1 PR=1.0 para F1, · · · , F5.
2 Es el mejor algoritmo en: F6(2D), F7(2D y 3D), F11 (10D), y
F12 (3D y 5D).
68. Análisis de Resultados: Múltiples óptimos
F7(2D) F7(3D)
Precisión NVMO DE CDE NVMO DE CDE
1.E-01 1.000 0.347 0.703 1.000 0.097 0.271
1.E-02 1.000 0.346 0.724 0.683 0.095 0.272
1.E-03 0.945 0.349 0.715 0.399 0.099 0.274
1.E-04 0.901 0.337 0.709 0.275 0.095 0.274
1.E-05 0.806 0.333 0.716 0.192 0.094 0.270
Obtiene los mejores resultados en
funciones con muchos óptimos
(F7D3 tiene más de 200 óptimos)
69. Comparando
Comparando resultados en PR
Nivel de precisión NVMO DE/NRAND/BIN CDE
1.0E-01 0.879 0.619 0.734
1.0E-02 0.712 0.602 0.634
1.0E-03 0.682 0.598 0.577
1.0E-04 0.652 0.591 0.492
1.0E-05 0.567 0.566 0.435
Media 0.698 0.594 0.575
Análisis
1 Mejor algoritmo para cada valor de precisión.
2 Alcanza una media del ∼ 70% de óptimos, mientras que el
resto alcanza < 60%.
70. Sesión Especial del IEEE CEC’2013
N-VMO compitió en una sesión del IEEE Congress on
Evolutionary Computation, 2013.
Participaron 15 algoritmos con distintas técnicas.
Se ejecutaron con el benchmark explicado.
El NVMO se mostró altamente competitivo.
73. Resultados por media
Comparando resultados en PR
Posición Algoritmo Media
1 NEA2 0.7940
2 dADE/nrand/1 0.7383
3 CMA-ES 0.7137
N-VMO 0.6983
N-VMO como tercera opción
Es estadísticamente equivalente al CMA-ES para nichos.
El tiempo de ejecución del N-VMO es mucho mejor que el
CMA-ES.
74. Conclusiones
Propuesto una versión del VMO para nichos: VMO para nichos.
VMO para nichos
Utiliza óptimos cercanos para guiar la búsqueda.
Aplica un ρ∗ adaptativo para fomentar exploración.
El clearing puede eliminar de la población óptimos alcanzados.
Una memoria externa de óptimos evita perderlos.
Aplica una BL después del clearing.
Resultados
Competitivo frente algoritmos de referencia.
Buenos resultados frente a un gran número de óptimos.
Los resultados se están mejorando.
75. Conclusiones
Propuesto una versión del VMO para nichos: VMO para nichos.
VMO para nichos
Utiliza óptimos cercanos para guiar la búsqueda.
Aplica un ρ∗ adaptativo para fomentar exploración.
El clearing puede eliminar de la población óptimos alcanzados.
Una memoria externa de óptimos evita perderlos.
Aplica una BL después del clearing.
Resultados
Competitivo frente algoritmos de referencia.
Buenos resultados frente a un gran número de óptimos.
Los resultados se están mejorando.
76. Conclusiones
Propuesto una versión del VMO para nichos: VMO para nichos.
VMO para nichos
Utiliza óptimos cercanos para guiar la búsqueda.
Aplica un ρ∗ adaptativo para fomentar exploración.
El clearing puede eliminar de la población óptimos alcanzados.
Una memoria externa de óptimos evita perderlos.
Aplica una BL después del clearing.
Resultados
Competitivo frente algoritmos de referencia.
Buenos resultados frente a un gran número de óptimos.
Los resultados se están mejorando.
77. Conclusiones
Propuesto una versión del VMO para nichos: VMO para nichos.
VMO para nichos
Utiliza óptimos cercanos para guiar la búsqueda.
Aplica un ρ∗ adaptativo para fomentar exploración.
El clearing puede eliminar de la población óptimos alcanzados.
Una memoria externa de óptimos evita perderlos.
Aplica una BL después del clearing.
Resultados
Competitivo frente algoritmos de referencia.
Buenos resultados frente a un gran número de óptimos.
Los resultados se están mejorando.