• No se han encontrado resultados

CAPÍTULO 2. META-HEURÍSTICA HÍBRIDA VMO SADE

2.2 Meta-heurística poblacional evolutiva DE variante SADE

Como se expuso en el capítulo anterior, el algoritmo DE no es más que una simple, pero poderosa estrategia de búsqueda estocástica basada en población para la solución de problemas complejos. Su eficiencia y efectividad ha sido demostrada en muchas esferas, tanto técnicas como científicas, de la vida cotidiana. Sin embargo el control de los parámetros y de las estrategias de aprendizaje vuelven a este algoritmo muy dependiente de las condiciones del problema a resolver, pues para la realización de una tarea específica se tiene que pasar mucho tiempo realizando pruebas para la adecuada aplicación de la estrategia de aprendizaje y la configuración de los parámetros.

33 Esta problemática trajo como consecuencia el desarrollo del Self-adaptative DE, algoritmo para la resolución de estos problemas de forma más eficiente, teoría que fue demostrada tras la comparación de este algoritmo con varias modificaciones del DE clásico. Esta propuesta resulta ganadora con diferencias significativas, expuesto anteriormente en este estudio (epígrafe 1.3.3). Por consiguiente se selecciona para el desarrollo de esta propuesta el algoritmo Self-adaptative DE (SADE).

2.2.1 Descripción general del algoritmo SADE.

En principio el algoritmo SADE parte del algoritmo DE clásico, en el cual se tienen un conjunto de soluciones (denotado por S) tal que 𝑆 ⊂ 𝑅𝑛 en un espacio n-dimensional de búsqueda del problema en consideración. Este algoritmo se encuentra representado en una población (NP) n-dimensional constituida individualmente por vectores de soluciones candidatas de la forma 𝑋𝑖 = (𝑥𝑖1, 𝑥𝑖2, 𝑥𝑖3, … … … 𝑥𝑖𝑛) ∈ 𝑆 tal que i=1,2,3, ………,NP.

La población inicial de este algoritmo puede ser generada aleatoriamente siguiendo una distribución uniforme en el intervalo definido por [𝑥𝑗𝑙, 𝑥𝑗𝑢] donde 𝑥𝑗𝑙 sería la cota inferior del intervalo y 𝑥𝑗𝑢 la superior, o bien dicha población puede ser fijada dada las condiciones del problema en cuestión.

En cada generación (denotada por G) se emplean los operadores de mutación y cruzamiento, detallados más adelante en el documento, para dar origen a un vector trial 𝑈𝑖,𝐺 (también llamado vector objetivo) para cada individuo en la población actual.

2.2.2 Operador de Mutación

El operador de mutación está definido para cada vector Xi,G de la población en la generación G y no es más que otro vector de la forma Vi,G= {v1i,G, v2i,G, v3i,G, … … , vni,G} generado por una de las siguientes estrategias:

Rand/1/bin: Vi,G= Xr1,G+ F ∗ (Xr2,G− Xr3,G)

Best/1/bin: Vi,G= Xbest,G+ F ∗ (Xr1,G − Xr2,G)

Donde los índices r1, r2, r3 son valores generados aleatoriamente en el intervalo comprendido [1, NP] y deben ser diferentes para cada vector trial, Xbest,G es el vector de

34 mejor calidad según la función objetivo (FO) del problema en la generación y F es un factor definido en el intervalo [0,2] para escalar la diferencia. La razón por la que se seleccionan estas dos estrategia radica en que así lo reflejan varias literaturas (Brest et al. 2007), pues la estrategia Rand/1/bin usualmente demuestra buena diversidad, mientras que la estrategia best/1/bin presenta una buena propiedad de convergencia según lo observado por los experimentos anteriormente realizados en la literatura.

Estas estrategias van a ser aplicadas indistintamente a cada individuo de la población en correspondencia con un valor probabilístico (p1, p2 respectivamente) asignado. Bajo el supuesto de que la estrategia por defecto Rand/1/bin, tomaría el valor probabilístico p1, siendo calculado el valor de la otra estrategia mediante la ecuación definida como:

p2 = 1 – p1

(2.2.1)

Primeramente ambas estrategias se inicializan con valor de 0.5, o sea, p1 = p2 = 0.5 así ambas tendrán la misma probabilidad de ser aplicadas en la población inicial.

Para cada elemento de la población NP se genera un vector aleatorio siguiendo una distribución uniforme en el intervalo [0,1]. Posteriormente, si j-ésimo elemento de la población de este vector tiene un valor menor o igual al valor de p1, se aplica la estrategia Rand/1/bin. En cualquier otro caso la estrategia a aplicar será Best/1/bin.

Luego de la evaluación y la generación de todos los vectores prueba, la cantidad de vectores generados por la estrategia Rand/1/bin, y que forman parte satisfactoriamente de la población inicial para la próxima generación, es almacenada en una variable (denotada por ns1) De igual modo, la cantidad de vectores generados por la estrategia Best/1/bin que pasan a formar parte de la población para la próxima generación, es almacenada en la variable (ns2). De la misma forma se procede con la cantidad de vectores que no pasan a formar parte de la población para la próxima generación tras la aplicación de las estrategias respectivamente, solo que ahora estos valores se almacenan en las variables nf1, nf2.

35 Tras transcurrir un número específico de generaciones (25 en nuestra propuesta) entonces finaliza el periodo de aprendizaje y se actualizan los valores probabilísticos de p1, p2 mediante las ecuaciones:

p1 = ns1 ∗ (ns2+ nf2)

ns2∗ (ns1+ nf1) + ns1∗ (ns2+ nf2)

(2.2.2)

Y p2 sigue siendo calculada por la ecuación 2.2.1:

Una vez actualiza los valores probabilísticos de las estrategias de la forma expuesta anteriormente estos valores ns1, ns2, nf1, nf2 son reiniciados para evitar la ocurrencia de efectos secundarios en el próximo periodo de aprendizaje.

2.2.3 Operador de cruzamiento

Posteriormente se transita a controlar el comportamiento del parámetro crítico de cruzamiento denotado por CR. Para ello, se asume que CR se ajusta a una distribución normal en el intervalo [0,1] con media denotada por CRm en sus inicio 0.5, y una desviación estándar situada en 0.1. Tras un número de generaciones (5 en el experimento) se generan nuevos valores atendiendo a la misma distribución normal. Durante cada generación, cada CR del vector que pasó a ser parte de la población para la siguiente generación, es almacenado y posteriormente actualizado tras un número de generaciones, el cual en el caso de estudio se fijó en 25 según bibliografía (Qin 2005). Lo antes planteado propicia que este valor cambie varias veces (25/5 en el caso de estudio) atendiendo a la misma distribución normal con desviación estándar 0.1 y CRm en 0.5; con el fin de evitar la posible acumulación a largo plazo debido al operador de mutación.

36 2.2.4 Esquema del funcionamiento del SADE

FIGURA 2.2ESQUEMA DEL FUNCIONAMIENTO DEL SADE.

Documento similar