Tarea Clase 10 HZC
-
Upload
henry-zarate-ceballos -
Category
Documents
-
view
50 -
download
1
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