Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INGENIERÍA
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
SECCIÓN DE POSTGRADO Y SEGUNDA ESPECIALIZACIÓN
MÉTODO DE
BÚSQUEDA
ARMÓNICA
Patricio Alberto Aramburú Reynaga
TÓPICOS EN SISTEMAS EXPERTOS E INTELIGENCIA ARTIFICIAL
2020-2
EE-81 TÓPICOS EN SISTEMAS EXPERTOS E INTELIGENCIA ARTIFICIAL
INDICE
1. INTRODUCCIÓN:..........................................................................................2
2. INSPIRACIÓN DEL MÉTODO:......................................................................2
3. ESTRATEGIA DEL MÉTODO:......................................................................2
4. PSEUDOCÓDIGO:........................................................................................4
5. DIAGRAMA DE FLUJO:.................................................................................5
6. MÉTODO DE BÚSQUEDA ARMÓNICA MODIFICADO PARA
PROBLEMAS DE OPTIMIZACIÓN CON RESTRICCIONES:.............................6
7. PLANTEAMIENTO DEL PROBLEMA:..........................................................8
8. CÓDIGO EN MATLAB:..................................................................................9
9. RESULTADOS:............................................................................................11
10. CONCLUSIONES:......................................................................................12
11. BIBLIOGRAFÍA:..........................................................................................12
1
EE-81 TÓPICOS EN SISTEMAS EXPERTOS E INTELIGENCIA ARTIFICIAL
El método fue propuesto por Geem, Kimm y Loganatham el cual simula como es el
proceso de improvisación de un músico al buscar una armonía determinada sin
experiencia previa de la misma. Por otro lado, otros autores definen que, el método de
búsqueda armónica fue inspirado en la improvisación de los músicos de Jazz.
Especialmente, en el proceso mediante el cual los músicos, quienes nunca han
interactuado antes, ajustan sus propias interpretaciones para que en conjunto suene
una melodía armoniosa.
2
EE-81 TÓPICOS EN SISTEMAS EXPERTOS E INTELIGENCIA ARTIFICIAL
3
EE-81 TÓPICOS EN SISTEMAS EXPERTOS E INTELIGENCIA ARTIFICIAL
En general, el algoritmo es poco sensible a los parámetros, de modo que para obtener
una buena solución no es necesario afinar éstos exhaustivamente. No obstante, como
se ha visto, la tasa de consideración de la memoria armónica y el parámetro rpa
contribuyen en gran medida al hallazgo de soluciones globales y locales,
respectivamente.
Por otra parte, este método genera nuevos vectores de soluciones tras considerar
todos los que ya existen en la memoria armónica, mientras que los algoritmos
genéticos sólo consideran los dos vectores “progenitores”. Esta particularidad hace
que sea un algoritmo sumamente flexible, mediante el cual se encuentran mejores
soluciones (de mejor calidad y obtenidas en menor tiempo) que con otros algoritmos
de su misma especie.
Los valores asignados a los parámetros vistos anteriormente confieren fortaleza al
algoritmo, dependen de la aplicación concreta de éste y son cruciales para conseguir
un buen rendimiento del algoritmo y un adecuado equilibrio entre intensificación y
diversificación. Particularmente, la consideración aleatoria del algoritmo permite que se
generen soluciones nuevas y, por tanto, que se amplíe la posibilidad de explorar el
espacio de búsqueda.
4. PSEUDOCÓDIGO:
While i<=N do
If rand<raccep then
Indice = rand(1,k)
If rand<rpa then
NewH(i)=MA(Indice,i)+bw*rand(-1,1)
else
NewH(i)=MA(Indice, i)
4
EE-81 TÓPICOS EN SISTEMAS EXPERTOS E INTELIGENCIA ARTIFICIAL
else
NewH(i)=rand(Li,Ui)
Reemplazar la nueva armonía por la peor de MA, si esta es mejor, aplicando las condiciones
de factibilidad.
5. DIAGRAMA DE FLUJO:
Figura 1.
5
EE-81 TÓPICOS EN SISTEMAS EXPERTOS E INTELIGENCIA ARTIFICIAL
se muestra en la Figura 1, los pasos del algoritmo son: (1) Inicializar la memoria
armónica; (2) Improvisar una nueva armonía, que es, generar un nuevo candidato a
vector solución; (3) actualizar la memoria armónica con la nueva armonía, si esta es
apropiada; y (4) retornar al paso (2) hasta que algún criterio de parada haya sido
satisfecho.
Si bien, el método de búsqueda armónica es efectivo para problemas de optimización,
su diseño original no está enfocado directamente en problemas de optimización que
involucren distintas restricciones. Ante ello, nos vemos en la necesidad de modificar el
algoritmo para poder adecuarlo a las necesidades del problema.
Como sabemos, los nuevos miembros de la memoria armónica son generados por la
memoria armónica existente o de una forma aleatoria. Sin embargo, ello no garantiza
que siempre cumplan las restricciones impuestas. En la Figura 2, se muestra que los
nuevos miembros, los cuales satisfacen todas las restricciones, pueden ser obtenidos
basados en la “prueba y error”. Esta tarea es exhaustiva, especialmente para
funciones de restricción complejas.
Figura 2.
En nuestro método de Búsqueda Armónica Modificado, hacemos uso de aquellos
miembros de la Memoria Armónica que no cumplen las restricciones. La tarea clave es
cómo clasificar los miembros de la Memoria Armónica, de acuerdo con su función
objetivo y el valor de la función restricción. Aquí, los valores de las funciones de
restricción de los miembros de la Memoria Armónica son almacenados juntos con sus
valores de función objetivo en la Memoria Armónica. Los miembros de la Memoria
Armónica están divididos en 02 partes: Miembros Factibles y Miembros Infactibles. Los
primeros satisfacen todas las funciones de restricción, mientras que los últimos no. Así
la caracterización de los miembros de la Memoria Armónica es mejorada: pueden ser
6
EE-81 TÓPICOS EN SISTEMAS EXPERTOS E INTELIGENCIA ARTIFICIAL
ordenados usando sus valores de función objetivo. Sin embargo, para los Infactibles,
el ordenamiento es basado en la dominancia de Pareto de los miembros de la
Memoria Armónica. Un miembro Infactibles de la Memoria Armónica “domina” a otro
miembro, si ninguna de sus valores de la función de restricción es mayor y al menos
uno es menor.
Después que la Memoria Armónica es ordenada, el peor miembro de la Memoria
Armónica x# puede ser seleccionado y comparado con un nuevo candidato a solución
x*. Notemos que x* no tiene que ser factible. Cuando x# es comparado con x*, x*
reemplazará a x# sólo en uno de los siguientes 03 casos:
x* es factible, y x# es infactible
Ambos, x* y x# son factibles, y f(x*) < f(x#)
Ambos, x* y x# son infactibles, y x* domina a x#
Figura 3.
7
EE-81 TÓPICOS EN SISTEMAS EXPERTOS E INTELIGENCIA ARTIFICIAL
Límites de Generación:
Ecuación de la Demanda
P1 + P2+ P3=850 MW
8
EE-81 TÓPICOS EN SISTEMAS EXPERTOS E INTELIGENCIA ARTIFICIAL
100 MW ≤ P 1 ≤ 400 MW
50 MW ≤ P 1 ≤ 200 MW
P1 + P2+ P3=850 MW
8. CÓDIGO EN MATLAB:
Código “Funcion”
function [funObj,funObj2]=Funcion(x)
funObj=561+7.92*x(1)+0.001562*(x(1))^2+310+7.85*x(2)+0.00194*(x(2))^2+
78+7.97*x(3)+0.00482*(x(3))^2; % Función Objetivo
funObj2=850-(x(1)+x(2)+x(3)); % Restricción de Igualdad en forma de
desigualdad
9
EE-81 TÓPICOS EN SISTEMAS EXPERTOS E INTELIGENCIA ARTIFICIAL
end
MA;
fobj;
end
end
OutOfBoundryH=(MA_new>High);
OutOfBoundryL=(MA_new<Low);
MA_new(OutOfBoundryH==1)=2*High(OutOfBoundryH==1)-
MA_new(OutOfBoundryH==1);
MA_new(OutOfBoundryL==1)=2*Low(OutOfBoundryL==1)-
MA_new(OutOfBoundryL==1);
[Nfobj,Nrest]=Funcion(MA_new);
10
EE-81 TÓPICOS EN SISTEMAS EXPERTOS E INTELIGENCIA ARTIFICIAL
end
[Optimo,indice]=min(fobj);
Solucion=MA(indice,:);
display(Solucion)
display(Optimo)
9. RESULTADOS:
Función Función
P1 Error P2 Error P3 Error Error
P1 P2 P3 Objetivo Objetivo
Teórico Relativo Teórico Relativo Teórico Relativo Relativo
Algoritmo Teórica
400.6 393.2 -2% 326.2 334.6 3% 123.22 122.2 -1% 8194.36000 8194.356126 0.0000%
396.23 393.2 -1% 333.25 334.6 0% 120.54 122.2 1% 8194.72700 8194.356126 -0.0045%
386.61 393.2 2% 336.39 334.6 -1% 126.99 122.2 -4% 8194.60400 8194.356126 -0.0030%
402.41 393.2 -2% 319.82 334.6 4% 127.78 122.2 -5% 8195.29900 8194.356126 -0.0115%
385.17 393.2 2% 348.58 334.6 -4% 116.29 122.2 5% 8195.55000 8194.356126 -0.0146%
395.26 393.2 -1% 337.39 334.6 -1% 117.36 122.2 4% 8194.67800 8194.356126 -0.0039%
385.67 393.2 2% 339.11 334.6 -1% 125.23 122.2 -2% 8194.74000 8194.356126 -0.0047%
391.08 393.2 1% 340 334.6 -2% 118.93 122.2 3% 8194.69000 8194.356126 -0.0041%
392.96 393.2 0% 328.47 334.6 2% 128.56 122.2 -5% 8194.65000 8194.356126 -0.0036%
395.37 393.2 -1% 338.45 334.6 -1% 116.28 122.2 5% 8195.59100 8194.356126 -0.0151%
Se puede notar que existe un margen de error del +/- 5% para los valores de las
Potencias obtenidas, sin embargo, el valor de la función objetivo tiene un error relativo
del orden del +/- 0.005% en promedio. Ante ello podemos decir que, si bien el
algoritmo aún puede mejorarse para determinar los valores exactos de las potencias, o
en su defecto con una mejor precisión, la función objetivo nos da resultados
satisfactorios, siendo este valor el más importante dentro de la optimización, pues
representa el costo de producción mínimo de la operación.
11
EE-81 TÓPICOS EN SISTEMAS EXPERTOS E INTELIGENCIA ARTIFICIAL
10. CONCLUSIONES:
Por otro lado, los algoritmos metaheurísticos carecen de un marco teórico que
proporcione orientaciones analíticas sobre asuntos importantes: ¿Cómo mejorar la
eficiencia para un problema dado? ¿Qué rango y agrupamientos de los parámetros
son los mejores? ¿Qué condiciones se necesitan para garantizar una buena velocidad
de convergencia? ¿Cómo solucionar problemas de optimización con objetivos
múltiples?
Cualesquiera que sean los desafíos, HSA y sus hibridaciones se podrían aplicar a
numerosos a estudios sistemáticos, marcando un camino para futuras investigaciones
y proporcionando alguna guía para nuevas formulaciones algorítmicas.
11. BIBLIOGRAFÍA:
[1] (Studies in Computational Intelligence 191) Xin-She Yang (auth.), Zong Woo
Geem (eds.) - Music-inspired harmony search algorithm Theory and
applications-Springer-Verlag Berlin Heidelberg (2009)
12