Tarea Clase 10 HZC

5
Procedimiento share del algoritmo NSGA y esquema del algoritmo SPEA Henry Zárate Ceballos INTRODUCCIÓN Como se ha venido evidenciando a lo largo del curso muchos de los problemas de la ingeniera están inmersos en la mejora de procesos, en este sentido la optimización ha evolucionado convirtiéndose en la forma de solucionar muchos de los problemas en algún momento irresolubles y que requerían de una planificación exhaustiva, en algunos casos demasiada compleja. Al ser necesario la resolución de varios objetivos, ya sea en al ámbito de maximizar / minimizar parámetros específicos, las estrategias que involucran algoritmos Multiobjetivo son necesarias y usadas en todos los campos , por ello se revisaran algunos parámetros de los algoritmos Multiobjetivo NSGA y SPEA 1. NSGA Non Dominated Sorting Genetic Algorithm Este algoritmo fue propuesto por Srinivas y Deb [1], es una variación del algoritmo genético simple, únicamente cambia en la forma que trabaja el operador de selección, las condiciones de mutación y de cruce permanecen iguales. Se basa en la clasificación de individuos en varios frentes no dominados, en orden a mantener la diversidad en la población, estos individuos clasificados comparten el valor de fitness simulado, estos métodos de compartición fueron discutidos por Goldberg y Richardson en 1987, esto es logrado gracias al rendimiento del operador de selección y al uso de valores que degradan el fitness que se obtiene dividiendo el valor de fitness originales de un individuo por un valor proporcional a la cantidad de individuos a su alrededor. De esta manera el grupo de individuos clasificados es ignorado y otro frente de individuos no dominados es considerado. El proceso continúa hasta que se clasifican a todos los individuos en la población. Puesto que los individuos en el primer frente tienen el valor de fitness mayor, consiguen siempre más copias que el resto de la población, generando múltiples punto óptimo que coexisten en la población. El share es logrado en cada frente por calcular un valor de la función de sharing entre dos individuos en el mismo frente como se ve en la ecuación 2. [4] El parámetro d ij es la distancia fenotípica entre dos individuos i y j en el mismo frente, y el share es la máxima distancia fenotípica entre dos individuos cualesquiera para convertirse en miembros de un nicho, un parámetro adicional asociada a la función sigma es el recuento de nicho el cual es logrado por la suma de los valores anteriores de sigma para todos los individuos del mismo frente. Finalmente el valor de shared fitness de cada individuo es calculado por loa división de su valor simulado con el del recuento del nicho. El recuento de nicho se calcula simplemente contando el número de puntos en la población dentro de una cierta distancia forma un individuo. El procedimiento tiene cinco pasos fundamentales [5] 1. Se computa la distancia euclidiana medida con otra solución candidata dentro del conjunto del frente no dominado, teniendo en cuenta los parámetros de límites y distancias. (1) 2. Se usa la ecuación 2 para comparar las distancias calculadas con el parámetro predeterminado sigma.

Transcript of Tarea Clase 10 HZC

Procedimiento share del algoritmo NSGA y esquema del

algoritmo SPEA

Henry Zárate Ceballos

INTRODUCCIÓN

Como se ha venido evidenciando a lo largo del curso muchos de los problemas de la ingeniera están inmersos

en la mejora de procesos, en este sentido la optimización ha evolucionado convirtiéndose en la forma de

solucionar muchos de los problemas en algún momento irresolubles y que requerían de una planificación

exhaustiva, en algunos casos demasiada compleja. Al ser necesario la resolución de varios objetivos, ya sea

en al ámbito de maximizar / minimizar parámetros específicos, las estrategias que involucran algoritmos

Multiobjetivo son necesarias y usadas en todos los campos , por ello se revisaran algunos parámetros de los

algoritmos Multiobjetivo NSGA y SPEA

1. NSGA Non Dominated Sorting Genetic Algorithm

Este algoritmo fue propuesto por Srinivas y Deb [1], es una variación del algoritmo genético simple,

únicamente cambia en la forma que trabaja el operador de selección, las condiciones de mutación y de cruce

permanecen iguales. Se basa en la clasificación de individuos en varios frentes no dominados, en orden a

mantener la diversidad en la población, estos individuos clasificados comparten el valor de fitness simulado,

estos métodos de compartición fueron discutidos por Goldberg y Richardson en 1987, esto es logrado gracias

al rendimiento del operador de selección y al uso de valores que degradan el fitness que se obtiene dividiendo

el valor de fitness originales de un individuo por un valor proporcional a la cantidad de individuos a su

alrededor.

De esta manera el grupo de individuos clasificados es ignorado y otro frente de individuos no dominados es

considerado. El proceso continúa hasta que se clasifican a todos los individuos en la población. Puesto que los

individuos en el primer frente tienen el valor de fitness mayor, consiguen siempre más copias que el resto de

la población, generando múltiples punto óptimo que coexisten en la población.

El share es logrado en cada frente por calcular un valor de la función de sharing entre dos individuos en el

mismo frente como se ve en la ecuación 2. [4] El parámetro dij es la distancia fenotípica entre dos individuos

i y j en el mismo frente, y el share es la máxima distancia fenotípica entre dos individuos cualesquiera para

convertirse en miembros de un nicho, un parámetro adicional asociada a la función sigma es el recuento de

nicho el cual es logrado por la suma de los valores anteriores de sigma para todos los individuos del mismo

frente. Finalmente el valor de shared fitness de cada individuo es calculado por loa división de su valor

simulado con el del recuento del nicho. El recuento de nicho se calcula simplemente contando el número de

puntos en la población dentro de una cierta distancia forma un individuo.

El procedimiento tiene cinco pasos fundamentales [5]

1. Se computa la distancia euclidiana medida con otra solución candidata dentro del conjunto del frente

no dominado, teniendo en cuenta los parámetros de límites y distancias.

(1)

2. Se usa la ecuación 2 para comparar las distancias calculadas con el parámetro predeterminado sigma.

(2)

3. j= j+1 : Si el valor de j es menor al tamaño de la población se repite el paso uno de lo contrario se

calcula el reconteo del nicho así para la i-esima solución:

(3)

4. Degradar el fitness simulado del i-esimo término en el conjunto del frente no dominado para calcular

el fitness compartido así.

(4)

5. El procedimiento es repetido para todo i desde 1 hasta el tamaño del conjunto y el correspondiente

fitness es encontrado. Los valores simulados de fitness del siguiente frente no dominado son

asignados y el valor de sigma share es definido usando leyes empíricas que se pueden encontrar en la

literatura así:

(5)

En la figura 1 se parecía el pseudocódigo y en la 2 el diagrama de flujo.

Figura 1. Pseudocódigo del NSGA

Figura 2. Diagrama de flujo del NSGA

2. SPEA (Strength Pareto Evolutionary Algorithm) [3]

Este algoritmo implementa explícitamente elitismo por mantener una población externa llamada archivo. Por

lo tanto en cualquier generación t tanto la población principal Pt de un tamaño constante N y la población

archivo P´i externa de máximo valor N´ existe. La fuerza de un individuo es proporcional al número de

individuos dominados por este. Esto con el objetivo de no perder las soluciones con fitness elevados y

mantener un conjunto de soluciones sin importar el número de iteraciones dentro de la ejecución.

Este algoritmo fue introducido por el Zitzler y Thiele . El SPEA utiliza un archivo que contiene las

soluciones no dominadas encontradas. En cada generación, se copian los individuos no dominados de P a Pnd

y se borra de este las soluciones dominadas. Para cada individuo en el sistema externo, se computa un valor

de fuerza (strength) es proporcional al número de las soluciones a las cuales cada individuo domina.

En SPEA, el fitness de cada miembro de la población actual se computa según las fuerzas de todas las

soluciones no dominadas externas que la dominen [2]. El pseudocódigo de este algoritmo se presenta en la

figura 3.

Figura 3. Pseudocódigo del SPEA

El elitismo implementado por un algoritmo evolucionario garantiza que las soluciones con altos fitness no van

a ser eliminadas durante la ejecución del algoritmo, las soluciones no dominadas almacenadas son usadas para

determinar el fitness de la población actual y también forman parte del proceso de reproducción, por lo cual el

fitness depende de las mejores soluciones almacenadas en un conjunto de soluciones dominantes las cuales

son limitadas a un tamaño N especifico, con el fin de no generar un número infinito de soluciones a lo largo

del frente de Pareto como se ve en la figura 4.

Figura 4. Diagrama de flujo del SPEA [6]

El SPEA usa el concepto de dominancia de Pareto en orden de asignar valores escalares de fitness a los

individuos, usa clustering para mantener un pequeña población elitista, para reducir el número de soluciones

no dominadas almacenadas, el fitness de un individuo es determinado solo desde las soluciones almacenadas

en el conjunto externo no dominado y al almacenar las soluciones no dominadas implementa una población

elitista sin requerir ningún parámetro de distancia.

REFERENCIAS

[1] Kalyamon Deb .Evolutionary Algorithms for Multi-Criterion Optimisation in Engineering Design. Indian

Institute of Technology Kanpur, India.

[2] Talavera, F., Prieto, J., Crichigno, J. Baran, B Comparación de algoritmos evolutivos multi-objetivos en

un ambiente multicast.. (2004). In X Congreso Argentino de Ciencias de la Computación.

[3] Jiménez, G., Donoso, Y., Barragán, D., Ortiz, A. Pinedo, Optimization of the design of digital filters using

evolutionary algorithms. D. (2010, July).In Performance Evaluation of Computer and Telecommunication

Systems (SPECTS), 2010 International Symposium on (pp. 325-330). IEEE.

[4] A fast and elitist multiobjective genetic algorithm: NSGA-II. Deb, K., Pratap, A., Agarwal, S. Meyarivan,

T. A. M. T. (2002). Evolutionary Computation, IEEE Transactions on, 6(2), 182-197.

[5] M. G. Ippolito, G. Morana, E. Riva Sanseverino, F. Vuinovich NSGA-based multiobjective optimisation

for modular strategical planning of electric distribution systems Dept. of Electrical Engineering, University of

Palermo, Italy

[6] Franklin Mendoza, José L. Bernal-Agustín, and José A. Domínguez-Navarro. NSGA and SPEA Applied

to Multiobjective Design of Power Distribution Systems