• No se han encontrado resultados

4.3 AEMOs que asumen preferencias a posteriori

4.3.4 NSGA NSGAII

En 1994 Srinivas y Deb [185] realizaron una implementaci´on casi directa del esquema de selecci´on propuesto por Goldberg, que denominaron NSGA. Este m´etodo, busca en toda la poblaci´on los individuos no dominados, los cuales constituyen el primer frente de rango 1. A estos individuos les es asignado un valor de aptitud ficticia que se supone, les da la misma oportunidad de reproducci´on. Con el fin de mantener la diversidad en la poblaci´on, se aplica la funci´on de aptitud compartida (ecuaci´on 3.7.1) sobre ese valor de aptitud. Para calcular la Funci´on de Compartici´on Sh(di,j)

(ecuaci´on 3.7.2) se calculan las distancias en el espacio de decisi´on seg´un la ecuaci´on:

dij = v u u t M X K=1 ( x (i) k − x (j) k xmax k − xmink )2 (4.3.4)

valor de aptitud atribuido, una vez aplicada la funci´on de aptitud compartida, a este segundo grupo de individuos, es inferior al m´as peque˜no valor aptitud de los del primer grupo. Este mecanismo es repetido hasta que sean tratados todos los individuos de la poblaci´on.

Una nueva versi´on de este algoritmo denominado (NSGAII [51][55]) fue presentado en el a˜no 2000 por Deb et al. Se trata de un algoritmo elitista, de manera que en cada nueva generaci´on los mejores individuos encontrados son conservados. Adem´as, el algoritmo integra un operador de selecci´on basado en el crowding distance (secci´on 4.2). Los excelentes resultados obtenidos por NSGAII han hecho que hoy en d´ıa sea uno de algoritmos m´as utilizados en la comunidad AEMO.

La figura 4.11 muestra el funcionamiento del algoritmo. En una generaci´on t, dos poblaciones (Pt y Qt de tama˜nos N) coexisten. La poblaci´on Pt contiene los

mejores individuos encontrados hasta la generaci´on t (lo que asegura el elitismo), y la poblaci´on Qt est´a formada por individuos, resultantes de las fases precedentes del algoritmo (selecci´on,cruce y mutaci´on). En primer lugar se crea una poblaci´on Rt=Pt+Qt, la cual es clasificada seg´un el concepto de rangos de Goldberg (figura 4.4

izquierda), para as´ı identificar los diferentes frentes de soluciones no dominadas (los mejores individuos se encuentran en los primeros frentes). A continuaci´on, se cons- truye una nueva poblaci´on Pt+1, la cual es establecida a˜nadiendo frentes completos (primer frente F1 de rango 1, segundo frente F2 de rango 2, etc.) sin sobrepasar el

tama˜no N. Si el n´umero de individuos presentes en Pt+1 es inferior a N, el operador

crowding distance (ilustrado en la figura 4.6 izquierda) es aplicado sobre el siguiente primer frente Fi, no incluido en Pt+1. Este operador lo que hace es introducir los

(N-|Pt+1|) mejores individuos que faltan en la poblaci´on Pt+1. Finalmente, los opera-

dores de selecci´on, cruce y mutaci´on son aplicados sobre los individuos de Pt+1, a fin de generar la poblaci´on de descendientes Qt+1.

Discusi´on

El m´etodo es elitista y no exige ning´un par´ametro de Sharing. Sin embargo, la aplicaci´on del operador de crowding, puede eliminar soluciones Pareto ´optimas y dejar soluciones que si bien son soluciones no-dominadas en la poblaci´on en curso, no son Pareto ´optimas (figura 4.3).

4.3.5

-MOEA

El m´etodo -MOEA fu´e introducido por Deb et al. [54] en el a˜no 2003 y est´a basado en el concepto de -dominancia de Laumanns et al. [123]. Como se muestra en la figura 4.12, -MOEA utiliza en una generaci´on t, dos coevolucionarias poblaciones: una poblaci´on P(t) y una poblaci´on E(t) o fichero de soluciones -dominantes. El algoritmo

Figura 4.11: Esquema de funcionamiento de NSGAII.

comienza con una poblaci´on inicial P(0) y un fichero inicial E(0) que contiene las soluciones -no dominadas de P(0). A continuaci´on dos soluciones, una de la poblaci´on P(t) y otra del fichero E(t) son seleccionadas para la creaci´on de un descendiente (o varios) h. El proceso de selecci´on de la poblaci´on, consiste en elegir aleatoriamete dos individuos de P(t) y el concepto de dominancia es aplicado. La soluci´on que domina a la otra es elegida, si ambas son no dominadas se elige al azar a una de ellas. El individuo elegido se denota por p. En el proceso de selecci´on del fichero, se selecciona aleatoriamente un individuo de E(t) denotado e. Despu´es de este procedimiento de selecci´on, se obtiene a partir de p y e una soluci´on descendiente h. Esta es comparada con la poblaci´on P(t) y el fichero E(t) para su posible inclusi´on. El procedimiento de inclusi´on de h en la poblaci´on consiste en comparar h con todos los miembros de P(t). Si h domina uno o m´as miembros de la poblaci´on, entonces h reemplaza a alguno de ellos elegido aleatoriamente. Si alg´un miembro de la poblaci´on, domina al descendiente h, entonces este es rechazado. Si ambas posibilidades fallan entonces h sustituye a alg´un miembro (elegido aleatoriamente) de la poblaci´on. Para la inclusi´on de h en el fichero, se compara h con todos los miembros de E(t) utilizando el concepto de -dominancia. Si h -domina a alg´un miembro de E(t) entonces h lo reemplaza, por el contrario h ser´a rechazado si es -dominado por alg´un miembro de E(t). Si ninguno de los dos casos ocurre, significa que h comparte la misma hiper-caja con alg´un miembro de E(t), en cuyo caso ambos son comparados por dominancia. Si h

Figura 4.12: Esquema de funcionamiento de -MOEA.

domina al individuo con el que comparte hiper-caja o h no es dominado por dicho individuo pero se encuentra m´as cerca de la esquina inferior izquierda (figura 4.5 b y c) de la hiper-caja entonces h es incluido en E(t).

Discusi´on

El m´etodo elige una ´unica soluci´on de cada hiper-caja sobre el frente ´optimo de Pareto, manteniendo la diversidad de soluciones sin redundancias en el fichero de soluciones -dominantes (y por tanto en el frente de Pareto). Eligiendo un apropiado -vector, se pueden enfatizar unos objetivos m´as que otros.