Professional Documents
Culture Documents
Csar Menndez C.
Nelson Ruz
William Snchez V.
HARMONY SEARCH
Es un algoritmo meta heurstico (tambin
conocido como algoritmo de clculo suave o
algoritmo evolutivo), el cual imita el proceso
de improvisacin musical.
HARMONY SEARCH
La msica (del griego: [] -
Elementos de la msica
La organizacin coherente de los sonidos y los
FACTORES DE
COMPARACION
Conjunto de Msicos Variables de Decisin
Rango de Afinacin Rango de Valores
Armona Solucin de vectores
Esttica Funcin Objetivo
Prctica Iteracin
Experiencia Matriz de memoria
Procedimientos de Harmony
Search
1. Parmetros de inicializacin
2. Harmony Memory
3. Nueva Armona
4. Actualizacin de Harmony Memory
5. Criterio de Verificacin y Terminacin
Parmetros de
Inicializacin
Minimizar o Maximizar F(X)
Sujeto
; i=1,2, ,N
de decisin.
HARMONY MEMORY
INICIAL
Vector Harmony
SELECCIN ALEATORIA
Partimos de que el msico puede entonar
cualquier nota del pentagrama y que tiene
grabada la meloda en su memoria (HM).
Vector Harmony
SELECCIN ALEATORIA
Donde
Ajuste de Tono
Una vez que obtuvimos el nuevo tono (Vector
Ajuste de Tono
Donde
se obtiene del HM y
simo elemento de
.
es el K-
m es el ndice de la vecindad
;
Para variables discretas m vara entre 1 y -1
Actualizacin de Harmony
Memory
Si x =
tiene una
mejor respuesta en la funcin objetivo,
lo reemplazamos en la Harmony Memory.
Aplicaciones y
Comparaciones
con
otros
Diseo de Estructuras
Modelos
Aplicaciones y
Comparaciones
con
otros
Problemas de Logstica de Transportes
Modelos
Aplicaciones y
Comparaciones
con
otros
Diseo de Redes de Aguas
Modelos
Aplicaciones y
Comparaciones
con
otros
Diseo de Redes de Aguas en Gran Escala
Modelos
Aplicaciones y
Comparaciones
con
otros
Operaciones de Represas
Modelos
Aplicaciones y
Comparaciones
con
otros
Optimizar parmetros de Calibracin
Modelos
Hidrolgicas
Aplicaciones y
Comparaciones
con
otros
Conservacin Ecolgica
Modelos
Conclusiones
El HS no requiere de clculos complejos, por
EJERCICIO DE
APLICACION
OBS:
PASO 1
Generar una Harmony Memory
X1
X2
X3
F(X)
13
16
PASO 2
Decisin
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 adicin de cierta
cantidad
End If
Else
Elegir un valor aleatorio
End If
End While
Aceptar el new Harmony si es mejor
PASO 3
I-sima Iteracin (Para este caso se cumplieron las 2
sentencias If)
Se generaron 2 nmeros 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
prximo por un valor de 1. Siempre y cuando la funcin se
X1
X2
X3
F(X)
optimice de acuerdo al criterio del problema.
Rank1
Rank2
12
Rank3
16
I+K Iteracin
X1
X2
X3
F(X)
Rank1
Rank2
12
Rank3
16
X1
Rank
1
Rank
2
Rank
3
X2
X3
F(X)
12
13
X1
Rank1
Rank2
rank3
X2
2
2
4
X3
2
3
3
F(X)
1
4
2
4
12
8
X1
Rank1
Rank2
Rank3
X2
2
4
2
X3
2
3
3
F(X)
1
2
3
4
8
7
I+k+J+L +H+G Iteracin (Para este caso se cumplieron las 2 sentencias If)
Se generaron 2 nmeros 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 prximo por
un valor de 1. Siempre y cuando la funcin se optimice de acuerdo al criterio
del problema.
X1
Rank1
Rank2
Rank3
X2
2
2
4
X3
2
3
3
F(X)
1
2
2
4
4
8
I+k+J+L+H+G+D Iteracin
sentencias If)
Se generaron 2 nmeros aleatorios adicionales de tal manera que el
primero escogi la variable X2 y el 3er rank del mismo.
Como expone el algoritmo se debera cambiar el componente del Rank
prximo por un valor de 1. Pero en este caso la funcin objetivo no optimiza
por lo que no escogemos el vector Harmony en la Harmony Memory.
X1
X2
X3
F(X)
Rank1
Rank2
Rank3
X1
X2
X3
F(X)
Rank1
Rank2
Rank3
Solucin ptima
Rank 1= (2,3,1)
F(X)=3
X1
X2
X3
F(X)
Rank1
Rank2
Rank3
T= I+k+J+L+H+G+D+X