H A R M O N Y S E A R C H

35
Marcelo Apolo E. César Menéndez C. Nelson Ruíz William Sánchez V.

Transcript of H A R M O N Y S E A R C H

Page 1: H A R M O N Y  S E A R C H

Marcelo Apolo E.César Menéndez C.Nelson RuízWilliam Sánchez V.

Page 2: H A R M O N Y  S E A R C H

HARMONY SEARCH

Es un algoritmo meta heurístico (también conocido como algoritmo de cálculo suave o algoritmo evolutivo), el cual imita el proceso de improvisación musical.

Page 3: H A R M O N Y  S E A R C H

HARMONY SEARCH

La m ú s ic a (del griego: μουσική [τέχνη] - mousikē [téchnē], "el arte de las musas") es, según la definición tradicional del término, el arte de organizar sensible y lógicamente una combinación coherente de sonidos y silencios utilizando los principios fundamentales de la melodía, la armonía y el ritmo, mediante la intervención de complejos procesos psico-anímicos.

Page 4: H A R M O N Y  S E A R C H

Elementos de la música La organización coherente de los sonidos y los silencios

(según una forma de percepción) nos da los parámetros fundamentales de la música, que son la melodía, la armonía y el ritmo.

La melodía es un conjunto de sonidos. La armonía, bajo una concepción vertical de la

sonoridad, y cuya unidad básica es el acorde, regula la concordancia entre sonidos que suenan simultáneamente y su enlace con sonidos vecinos.

La métrica, se refiere a la pauta de repetición a intervalos regulares, y en ciertas ocasiones irregulares, de sonidos fuertes o débiles y silencios en una composición.

El ritmo, es el resultado final de los elementos anteriores, a veces con variaciones muy notorias.

Page 5: H A R M O N Y  S E A R C H

FACTORES DE COMPARACION

Conjunto de Músicos → Variables de Decisión Rango de Afinación→ Rango de Valores Armonía → Solución de vectores Estética → Función Objetivo Práctica → Iteración Experiencia → Matriz de memoria

Page 6: H A R M O N Y  S E A R C H

Procedimientos de Harmony Search

2. Parámetros de inicialización3. Harmony Memory4. Nueva Armonía5. Actualización de Harmony Memory6. Criterio de Verificación y Terminación

Page 7: H A R M O N Y  S E A R C H

Parámetros de Inicialización

Minimizar o Maximizar F(X) Sujeto ; i=1,2, … ,N

N es el número de variables de decisión K es el número de candidatos de las variables de

decisión.

Page 8: H A R M O N Y  S E A R C H

HARMONY MEMORY INICIAL

k

Page 9: H A R M O N Y  S E A R C H

Nueva Armonía “Vector Harmony”

El nuevo vector Harmony x ́ =

Dicho vector esta dado por tres reglas:a Selección Aleatoriar Se debe considerar HMa Se debe hacer un ajuste (Ajuste de Tono)

Page 10: H A R M O N Y  S E A R C H

Vector Harmony

SELECCIÓN ALEATORIA

Partimos de que el músico puede entonar cualquier nota del pentagrama y que tiene grabada la melodía en su memoria (HM).

Page 11: H A R M O N Y  S E A R C H

Vector Harmony

SELECCIÓN ALEATORIA

Donde

Page 12: H A R M O N Y  S E A R C H

Ajuste de Tono Una vez que obtuvimos el nuevo tono (Vector Harmony),

el músico puede ajustar aún mas el paso, probando con notas vecinas.

Ejemplo: Sol su vecindad es La o Fa

En este caso Do puede ajustar a Re

Page 13: H A R M O N Y  S E A R C H

Ajuste de Tono

Donde se obtiene del HM y es el K-ésimo elemento de .

m es el índice de la vecindad ;Para variables discretas m varía entre 1 y -1

Page 14: H A R M O N Y  S E A R C H

Actualización de Harmony MemorySi x ́ = tiene una mejor respuesta en la función obje tivo, lo reemplazamos en la Harmony Memory.

Page 15: H A R M O N Y  S E A R C H

Presentación del AlgoritmoHarmony Search

Defina Función Objetivo F(x)Defina Harmony Memory (Raccept) Defina Ajuste de Tono (Rap)Generar Harmony Memory con armonías aleatorias While (t <Maximo_Numero_Iteraciones) While (i <=Numero_Variables) If (U [0,1 ] <Raccept) Elegir un valor del Harmony Memory por la variable i If (U [0,1] <Rap) Ajustar el valor mediante la adición de cierta cantidad End If Else Elegir un valor aleatorio End If End While Aceptar el new Harmony si es mejor End While Buscar la actual mejor soluciónEnd

Page 16: H A R M O N Y  S E A R C H

Aplicaciones y Comparaciones con otros Modelos Diseño de Estructuras

Page 17: H A R M O N Y  S E A R C H

Aplicaciones y Comparaciones con otros Modelos Problemas de Logística de Transportes

Page 18: H A R M O N Y  S E A R C H

Aplicaciones y Comparaciones con otros Modelos Diseño de Redes de Aguas

Page 19: H A R M O N Y  S E A R C H

Aplicaciones y Comparaciones con otros Modelos Diseño de Redes de Aguas en Gran Escala

Page 20: H A R M O N Y  S E A R C H

Aplicaciones y Comparaciones con otros Modelos Operaciones de Represas

Page 21: H A R M O N Y  S E A R C H

Aplicaciones y Comparaciones con otros Modelos Optimizar parámetros de Calibración Hidrológicas

Page 22: H A R M O N Y  S E A R C H

Aplicaciones y Comparaciones con otros Modelos Conservación Ecológica

Page 23: H A R M O N Y  S E A R C H

Conclusiones El HS no requiere de cálculos complejos, por lo

tanto siempre esta libre de divergencia. El HS no requiere ajustes de valor inicial para las

variables de decisión. El HS puede manejar variables discretas, así como

variables continuas, mientras que las técnicas basadas en gradiente solo pueden manejar continuas.

Page 24: H A R M O N Y  S E A R C H

EJERCICIO DE APLICACION

OBS:

Page 25: H A R M O N Y  S E A R C H

PASO 1Generar una Harmony Memory

X1 X2 X3 F(X)

2 2 1 4

1 3 4 13

5 3 3 16

Page 26: H A R M O N Y  S E A R C H

PASO 2 “Recordar Bucles y Sentencias de Decisión”

Seguir los pasos del algoritmo, lo volvemos a anunciar

While (t <Maximo_Numero_Iteraciones) While (i <=Numero_Variables) If (U [0,1 ] <Raccept) Elegir un valor del Harmony Memory por la variable i If (U [0,1] <Rap) Ajustar el valor mediante la adición de cierta cantidad End If Else Elegir un valor aleatorio End If End While Aceptar el new Harmony si es mejor

Page 27: H A R M O N Y  S E A R C H

PASO 3I-ésima Iteración (Para este caso se cumplieron las 2 sentencias If)

Se generaron 2 números aleatorios adicionales de tal manera que el primero escogió la variable X1 y el 3er rank del mismo.

Como expone el algoritmo se cambio el componente del rank próximo

por un valor de ± 1. Siempre y cuando la función se optimice de acuerdo al criterio del problema.

X1 X2 X3 F(X)

Rank1 2 2 1 4

Rank2 2 3 4 12

Rank3 5 3 3 16

Page 28: H A R M O N Y  S E A R C H

X1 X2 X3 F(X)

Rank1 2 2 1 4

Rank2 2 3 4 12

Rank3 5 3 3 16

I+K Iteración (Para este caso se cumplieron las 2 sentencias If)

Se generaron 2 números aleatorios adicionales de tal manera que el primero escogió la variable X2 y el 3er rank del mismo.

Como expone el algoritmo se debería cambiar el componente del

Rank próximo por un valor de ± 1. Pero en este caso la función objetivo no optimiza por lo que no escogemos el vector Harmony en la Harmony Memory.

Page 29: H A R M O N Y  S E A R C H

X1 X2 X3 F(X)

Rank1 2 2 1 4

Rank2 2 3 4 12

Rank3 5 3 2 13

I+k+J Iteración (Para este caso se cumplieron las 2 sentencias If)

Se generaron 2 números aleatorios adicionales de tal manera que el primero escogió la variable X3 y el 2do rank del mismo.

Como expone el algoritmo se cambio el componente del rank próximo

por un valor de ± 1. Siempre y cuando la función se optimice de acuerdo al criterio del problema. Podíamos tomar el rank1 o el Rank 3. De manera aleatoria se obtuvo el tercero.

Page 30: H A R M O N Y  S E A R C H

X1 X2 X3 F(X)Rank1 2 2 1 4Rank2 2 3 4 12rank3 4 3 2 8

I+k+J+L Iteración (Para este caso se cumplieron las 2 sentencias If)

Se generaron 2 números aleatorios adicionales de tal manera que el primero escogió la variable X1 y el 2do rank del mismo. Como expone el algoritmo se cambio el componente del rank próximo por

un valor de ± 1. Siempre y cuando la función se optimice de acuerdo al criterio del problema. Podíamos tomar el Rank1 o el Rank 3. De manera aleatoria se obtuvo el tercero.

Para la nueva Harmony Memory se debe ordenar los vectores de la matriz de tal manera que los valores de F(X) sean ascendentes.

Page 31: H A R M O N Y  S E A R C H

X1 X2 X3 F(X)Rank1 2 2 1 4Rank2 4 3 2 8

Rank3 2 3 3 7

I+k+J+L +H Iteración (Para este caso se cumplieron las 2 sentencias If)

Se generaron 2 números aleatorios adicionales de tal manera que el primero escogió la variable X3 y el 2do rank del mismo. Como expone el algoritmo se cambio el componente del rank próximo por un

valor de ± 1. Siempre y cuando la función se optimice de acuerdo al criterio del problema. Podíamos tomar el Rank1 o el Rank 3. De manera aleatoria se obtuvo el tercero.

Para la nueva Harmony Memory se debe ordenar los vectores de la matriz de tal manera que los valores de F(X) sean ascendentes.

Page 32: H A R M O N Y  S E A R C H

X1 X2 X3 F(X)Rank1 2 2 1 4Rank2 2 3 2 4Rank3 4 3 2 8

I+k+J+L +H+G Iteración (Para este caso se cumplieron las 2 sentencias If)

Se generaron 2 números aleatorios adicionales de tal manera que el primero escogió la variable X3 y el 3er rank del mismo. Como expone el algoritmo se cambio el componente del rank próximo por

un valor de ± 1. Siempre y cuando la función se optimice de acuerdo al criterio del problema.

Page 33: H A R M O N Y  S E A R C H

X1 X2 X3 F(X)

Rank1 2 2 1 4

Rank2 2 3 2 4

Rank3 4 3 2 8

I+k+J+L+H+G+D Iteración (Para este caso se cumplieron las 2 sentencias If)

Se generaron 2 números aleatorios adicionales de tal manera que el primero escogió la variable X2 y el 3er rank del mismo.

Como expone el algoritmo se debería cambiar el componente del Rank

próximo por un valor de ± 1. Pero en este caso la función objetivo no optimiza por lo que no escogemos el vector Harmony en la Harmony Memory.

Page 34: H A R M O N Y  S E A R C H

X1 X2 X3 F(X)

Rank1 2 2 1 4

Rank2 2 3 1 3

Rank3 4 3 2 8

I+k+J+L+H+G+D+X Iteración (Para este caso se cumplieron las 2 sentencias If)

Se generaron 2 números aleatorios adicionales de tal manera que el primero escogió la variable X3 y el 3er rank del mismo. Como expone el algoritmo se cambio el componente del rank próximo

por un valor de ± 1. Siempre y cuando la función se optimice de acuerdo al criterio del problema.

Para la nueva Harmony Memory se debe ordenar los vectores de la matriz de tal manera que los valores de F(X) sean ascendentes.

Page 35: H A R M O N Y  S E A R C H

X1 X2 X3 F(X)

Rank1 2 3 1 3

Rank2 2 2 1 4

Rank3 4 3 2 8

Solución ÓptimaRank 1= (2,3,1)F(X)=3

T= I+k+J+L+H+G+D+X