Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D...

33
Algoritmos de optimización ivo: maximizar J para una cierta combinación de valores de 1 2 3 , , ,..., n x x x x En 2D 0 1 2 3 4 5 0 1 2 3 4 5 1 x 2 x 1 b 1 a Definir limites inferior y superior para cada parámetro: 2 a 2 b

Transcript of Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D...

Page 1: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

Algoritmos de optimización

Objetivo: maximizar J para una cierta combinación de valores de 1 2 3, , ,..., nx x x x

En 2D

0 1 2 3 4 5

0

1

2

3

4

5

1x

2x

1b1a

Definir limites inferior y superior para cada parámetro: a y b

2a

2b

Page 2: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

Objetivo: minimizar/maximizar J para una cierta combinación de valores de x

La mayoría de las veces para N>3 la cantidad de máximos/mínimos es enorme (en modelos no lineales)

Máximo global

Máximos locales

Algoritmos de optimización

Page 3: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

1. Métodos de búsqueda en malla (generalized gridding methods)

0 1 2 3 4 5

0

1

2

3

4

5

1x

2x

Algoritmos de optimización

Page 4: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

1. Métodos de búsqueda en malla (generalized gridding methods)

0 1 2 3 4 5

0

1

2

3

4

5

1x

2x

+ búsqueda local

- Método ineficiente:

2D: 10 intervalos N=102

8D: 10 intervalos N=108

Algoritmos de optimización

Page 5: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

2. Métodos de Monte Carlo (random search methods)

0 1 2 3 4 5

0

1

2

3

4

5

1x

2x

Algoritmos de optimización

Page 6: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

2. Métodos de Monte Carlo (random search methods)

0 1 2 3 4 5

0

1

2

3

4

5

1x

2x

+ búsqueda local para el mejor

Algoritmos de optimización

Page 7: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

2. Métodos de Monte Carlo (random search methods)

0 1 2 3 4 5

0

1

2

3

4

5

1x

2x

+ búsqueda local para todos

Algoritmos de optimización

Page 8: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

3. Métodos de búsqueda selectiva (greedy search)

0 1 2 3 4 5

0

1

2

3

4

5

1x

2x

Algoritmos de optimización

Page 9: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

3. Métodos de búsqueda selectiva (greedy search)

0 1 2 3 4 5

0

1

2

3

4

5

1x

2x

Algoritmos de optimización

Page 10: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

3. Métodos de búsqueda selectiva (greedy search)

0 1 2 3 4 5

0

1

2

3

4

5

1x

2x

Algoritmos de optimización

Page 11: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

3. Métodos de búsqueda selectiva (greedy search)

0 1 2 3 4 5

0

1

2

3

4

5

1x

2x

Algoritmos de optimización

Page 12: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

3. Métodos de búsqueda selectiva (greedy search)

0 1 2 3 4 5

0

1

2

3

4

5

1x

2x

Algoritmos de optimización

Page 13: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

3. Métodos de búsqueda selectiva (greedy search)

0 1 2 3 4 5

0

1

2

3

4

5

1x

2x

Algoritmos de optimización

Page 14: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

4. Métodos de simulación de cristalización (simulated annealing)

0 1 2 3 4 5

0

1

2

3

4

5

1x

2x

Algoritmos de optimización

Page 15: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

0 1 2 3 4 5

0

1

2

3

4

5

1x

2x

Tiende a mínimo con una pequeña probabidad de saltar de dominio de atracción

4. Métodos de simulación de cristalización (simulated annealing)

Algoritmos de optimización

Page 16: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

0 1 2 3 4 5

0

1

2

3

4

5

1x

2x

Tiende a mínimo/máximo con una pequeña probabidad de saltar de dominio de atracción

4. Métodos de simulación de cristalización (simulated annealing)

Algoritmos de optimización

Page 17: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

4. Métodos de simulación de cristalización (simulated annealing)

Algoritmos de optimización

Page 18: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

4. Métodos de simulación de cristalización (simulated annealing)

Algoritmos de optimización

Page 19: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

5. Métodos basados en algoritmos genéticos

Basado en una analogía con los principios de la genética y de seleccción natural

La evolución se representa como un proceso de reproducción

Los “padres” tienen una alta probabilidad de generar descendientes más saludables

Los descendientes son generados a partir de los genes de los padres

Algoritmos de optimización

Page 20: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

5. Métodos basados en algoritmos genéticos

0 1 2 3 4 5

0

1

2

3

4

5

1x

2x1 2 3, , ,..., Nx x x x

Genero N puntos aleatoriamente

Algoritmos de optimización

Page 21: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

5. Métodos basados en algoritmos genéticos

0 1 2 3 4 5

0

1

2

3

4

5

1x

2x1 2 3( ), ( ), ( ),..., ( )Nf f f fx x x x

Obtengo el valor de la función objetivo J=f en esos N puntos

Algoritmos de optimización

Page 22: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

5. Métodos basados en algoritmos genéticos

0 1 2 3 4 5

0

1

2

3

4

5

1x

2x* 1 * 2 * 3 *( ), ( ), ( ),..., ( )Nf f f fx x x x

Ordeno de menor a mayor los N valores de la función objetivo

Algoritmos de optimización

Page 23: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

5. Métodos basados en algoritmos genéticos

0 1 2 3 4 5

0

1

2

3

4

5

1x

2x* 1 * 2 * 3 *( ), ( ), ( ),..., ( )Nf f f fx x x x

Asigno una ley de probabilidadesTrapezoidal a cada punto

Algoritmos de optimización

Page 24: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

5. Métodos basados en algoritmos genéticos

* 1 * 2 * 3 *( ), ( ), ( ),..., ( )Nf f f fx x x x

Selecciono dos padres de acuerdo a la ley de probabilidades ,a bx x

Genero dos hijos-descendientes (“offspring”) * *,a bx x

Calculo la función objetivo para los dos descendientes* *( ), ( )a bf fx x

Algoritmos de optimización

Page 25: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

5. Métodos basados en algoritmos genéticos

0 1 2 3 4 5

0

1

2

3

4

5

1x

2x

Algoritmos de optimización

Page 26: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

5. Métodos basados en algoritmos genéticos

0 1 2 3 4 5

0

1

2

3

4

5

1x

2x

Algoritmos de optimización

Page 27: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

5. Métodos basados en algoritmos genéticos

¿ Cómo generar un descendiente ? Utilizando operadores de cruce y mutación

, , ,..., )

, , ,..., )

a a a a

b b b b

a1 2 3 n

b1 2 3 n

x = (x x x x

x = (x x x x

Cruce - crossover

a a a b b1 2 l l+1 n

b b b a a1 2 l l+1 n

(x ,x ,...,x ,x ...,x )

(x ,x ,...,x ,x ,...,x )

a*

b*

x =

x =

a a * a1 2 i n(x ,x ,...,x ,...,x )a*x =

Mutación - mutation

Número aleatorio generado entre (ai,bi)

Algoritmos de optimización

Page 28: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

6. Método de evolución y mezcla de equipos de búsquedaSCE-UA (shuffled complex evolution method)

Duan et al (1992,1994) Universidad de Arizona

Método más utilizado en calibración automática de modelos hidrológicos de cuenca y de hidrología urbana (DHI, Princeton, Washington, NOAA, Cornell…)

4 conceptos

a) Combinación de procedimientos deterministas y aleatorios

b) Evolución de “equipos de puntos” en el espacio N-dimensional

c) Evolución competitiva – algoritmo genético

d) Mezclado de equipos

Algoritmos de optimización

Page 29: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

6. Método de evolución y mezcla de equipos de búsqueda SCE-UA

0 1 2 3 4 5

0

1

2

3

4

5

1x

2x

12345678910

1

3

5

7

9

2

4

6

8

10

2 equipos de búsqueda

Algoritmos de optimización

Page 30: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

Algoritmos de optimización para la calibración automática de modelos

6. Método de evolución y mezcla de equipos de búsqueda SCE-UA

0 1 2 3 4 5

0

1

2

3

4

5

1x

2x

Page 31: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

Algoritmos de optimización para la calibración automática de modelos

6. Método de evolución y mezcla de equipos de búsqueda SCE-UA

0 1 2 3 4 5

0

1

2

3

4

5

1x

2x

Page 32: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

Algoritmos de optimización para la calibración automática de modelos

6. Método de evolución y mezcla de equipos de búsqueda SCE-UA

0 1 2 3 4 5

0

1

2

3

4

5

1x

2x

Page 33: Algoritmos de optimización Objetivo: maximizar J para una cierta combinación de valores de En 2D Definir limites inferior y superior para cada parámetro:

Algoritmos de optimización para la calibración automática de modelos

6. Método de evolución y mezcla de equipos de búsqueda SCE-UA

0 1 2 3 4 5

0

1

2

3

4

5

1x

2x