• No se han encontrado resultados

Nueva IMFNo

In document DILIGENCIA DE DEPÓSITO DE TESIS. (página 124-129)

Si

¿Residuo monótono?

FIN

Si

No

Figura 6.18. Algoritmo EMD.

La descomposición en modo empírico (EMD) ofrece una alternativa ventajosa frente a la transformada de Fourier en el análisis de señales biomédicas, debido a su naturaleza no estacionaria como es el caso de los registros de electrorretinografía multifocal. Las primeras IMF representan los detalles o componentes frecuenciales altas del registro, mientras que las últimas IMF obtenidas en el proceso de descomposición corresponden a la información de baja

frecuencia. De este modo, se puede extraer cierta información en forma de escalograma tiempo-frecuencia estudiando las amplitudes de todas las IMF en una ventana de tiempo determinada. En la figura 6.19 se muestra la descomposición en IMFs de la medida de la temperatura del aeropuerto de Logan presentada en el apartado 6.2. Se puede observar como gracias a esta descomposición es más fácil realizar un análisis de la información, seleccionando las componentes de mayor interés.

Enero, 2011 (horas) Enero, 2011 (horas) Enero, 2011 (horas) Enero, 2011 (horas) Te m p ( ºC ) Te m p ( ºC ) Te m p ( ºC ) Te m p ( ºC ) IMF3(n) IMF6(n) IMF9(n) IMF10(n)

6.5 Harmony Search.

6.5.1 Algoritmos metaheurísticos.

Resolver un problema de optimización consiste en encontrar la mejor solución posible a la cuestión formulada, donde el criterio que evalúa la calidad de una solución es cuantitativo y se denomina función objetivo (Vélez et al. 2007).

En las últimas décadas se han desarrollado un gran número de algoritmos con el objetivo de resolver diferentes problemas de optimización complejos. La mayoría de algoritmos clásicos de optimización, basados en métodos lineales o no lineales de cálculo, requieren un gran conocimiento de la naturaleza del problema, siendo adecuados para sistemas simples y fácilmente modelables. No obstante, muchos de los problemas de optimización reales son complejos de describir y es posible seleccionar como válida una solución diferente de la óptima global (Lee et al. 2005).

Los inconvenientes de los métodos numéricos existentes, han favorecido el desarrollo de algoritmos metaheurísticos para resolver problemas de optimización complejos (Blum et al. 2003). El término metaheurístico fue introducido por Glover (Glover et al. 1986) al definir una clase de algoritmos de aproximación que combinan los algoritmos heurísticos tradicionales con nuevas estrategias de exploración. De forma similar, Osman y Laporte definen los algoritmos metaheurísticos como un proceso de generación iterativo que guía una heurística subordinada combinando diferentes conceptos para explorar y explotar el espacio de búsqueda (Osman et al. 1996).

Un factor común en los algoritmos metaheurísticos es que combinan reglas y aleatoriedad para imitar un fenómeno natural. Dentro de estos fenómenos naturales se pueden encontrar por ejemplo: procesos de evolución biológica, como los algoritmos genéticos propuestos por Goldberg (Goldberg et al. 1988); comportamientos animales, como el algoritmo de la colonia de hormigas (Dorigo et al. 1997) o fenómenos físicos, como el algoritmo del temple simulado (Kirkpatrick et al. 1983).

En los últimos años Geem y su equipo de investigación desarrollaron un nuevo algoritmo metaheurístico conocido como búsqueda armónica, Harmony Search (HS), que se fundamenta en el proceso musical de búsqueda de una armonía perfecta (Geem et al. 2001).

6.5.2 Introducción al algoritmo HS.

La búsqueda de la armonía en música es análoga al proceso de optimización de un vector solución, y los músicos con sus improvisaciones son los equivalentes a los procesos de búsqueda local y global en el esquema de optimización. El algoritmo HS no requiere de valores iniciales concretos y además emplea una serie de reglas estocásticas aleatorias de búsqueda para

encontrar la solución óptima. Estas características hacen que sea fácilmente adaptable a cualquier tipo de problema (Lee et al. 2005).

La figura 6.20. muestra en detalle la analogía entre el proceso de improvisación musical y el algoritmo de optimización (Lee et al. 2005). Durante el proceso musical, cada músico toca un tono determinado dentro de un rango y todos juntos forman una armonía. Si el conjunto de todas las notas tocadas por los músicos forma una buena armonía, esta será guardada en la memoria de cada músico, incrementando las posibilidades de conseguir otras buenas armonías en el futuro. En el proceso de optimización, cada variable de decisión toma un valor determinado dentro de un rango y todas ellas forman un vector solución. Si el valor adoptado por cada variable genera una buena solución al problema, este valor será almacenado para aumentar las posibilidades de generar mejores soluciones.

Figura 6.20. Improvisación musical y el proceso de optimización.

(Lee and Geem 2005)

6.5.3 Harmony Search.

Cuando un músico improvisa un tono, normalmente elige alguna de las tres siguientes opciones: toca un tono conocido, toca un tono conocido con alguna ligera modificación, improvisa tocando un tono completamente aleatorio. De manera similar en el algoritmo existen tres opciones: elegir un valor previamente utilizado, modificar ligeramente uno de los valores utilizados o generar un nuevo valor aleatorio. Estas tres opciones se configuran en el algoritmo mediante dos parámetros: la tasa de utilización de valores previos (HMCR) y la tasa de ajuste de tono (PAR).

El algoritmo HS puede dividirse en cinco etapas (figura 6.21):

 Etapa 1. Inicialización del problema de optimización y sus parámetros.  Etapa 2. Inicialización de la memoria de armonías (HM).

 Etapa 3. Improvisación de una nueva armonía basada en la HM.  Etapa 4. Actualización de la HM.

 Etapa 5. Repetición de las etapas 3 y 4 hasta que se cumplan los criterios de búsqueda.

Inicialización del problema Inicialización HM Improvisación Evaluación de la solución

¿Es mejor que las soluciones previas?

Actualización HM

¿Se cumplen los criterios de busqueda? Fin No No HM

Figura 6.21. Etapas del algoritmo HS.

En la primera etapa del algoritmo se deben inicializar todas las variables del problema de optimización, así como definir la función objetivo que se debe maximizar/minimizar. Si alguna de las variables tiene alguna restricción, es necesario tenerla en cuenta, ya que de lo contrario podrían obtenerse soluciones no válidas.

Seguidamente se inicializa la memoria de soluciones HM, normalmente empleando valores aleatorios para cada uno de los vectores de solución.

A continuación se improvisa un nuevo vector solución basándose en los ya almacenados en la memoria HM, realizando pequeños ajustes y generando nuevos valores aleatorios. Por ejemplo, el valor del primer elemento del nuevo vector solución (𝑥1′), puede ser cualquiera de los valores ya especificados en la memoria (𝑥11− 𝑥1𝐻𝑀𝑆). De forma general, para cualquier variable se puede seleccionar un valor ya almacenado usando el parámetro HMCR que varía entre 0 y 1: xi′ ← { xi ϵ {xi1, xi2, … , xiHMS} x ϵ X con probabilidad: HMCR con probabilidad: (1 − HMCR)

El parámetro HMCR indica la probabilidad de elegir un valor ya registrado en la memoria HS, y (1 − 𝐻𝑀𝐶𝑅) indica la probabilidad de elegir un nuevo valor aleatorio dentro del rango de valores posibles para esa variable. Por ejemplo, un valor de 0,95 indicaría que el algoritmo HS con una probabilidad del 95% elegirá un valor ya registrado en la memoria HS, mientras que existe un 5% de posibilidades de elegir un valor aleatorio para esa variable. No se recomienda emplear un valor del 1,0, ya que reduciría las posibilidades de aparición de nuevas soluciones, solo se modificarían las ya existentes.

Tras esta primera etapa de improvisación, cada componente del nuevo vector solución generado es evaluada para verificar si se realiza un proceso de ajuste, para ello se emplea el parámetro PAR.

Ajuste de x

i

′ ← {

No

con probabilidad: PAR

In document DILIGENCIA DE DEPÓSITO DE TESIS. (página 124-129)