introduccion a la computaci´ on evolutiva´ -...

26
Introducci ´ on a la Computaci ´ on Evolutiva Carlos A. Coello Coello [email protected] CINVESTAV-IPN Evolutionary Computation Group (EVOCINV) Departamento de Computaci ´ on Av. IPN No. 2508, Col. San Pedro Zacatenco exico, D.F. 07360, MEXICO Clase 14 Carlos A. Coello Coello Introducci ´ on a los Algoritmos Gen ´ eticos

Upload: others

Post on 06-Dec-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduccion a la Computaci´ on Evolutiva´ - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase14-cinvest... · 2019. 8. 1. · Introduccion a la Computaci´ on Evolutiva´

Introduccion a la Computacion Evolutiva

Carlos A. Coello Coello

[email protected]

Evolutionary Computation Group (EVOCINV)Departamento de Computacion

Av. IPN No. 2508, Col. San Pedro ZacatencoMexico, D.F. 07360, MEXICO

Clase 14

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 2: Introduccion a la Computaci´ on Evolutiva´ - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase14-cinvest... · 2019. 8. 1. · Introduccion a la Computaci´ on Evolutiva´

Metodos No Elitistas Basados en la Optimalidad dePareto

NPGAEl Niched-Pareto Genetic Algorithm (NPGA) fue propuesto por Jeffrey Hornen un reporte tecnico de 1993 y fue publicado en un congreso internacionalen 1994.

Jeffrey Horn, Nicholas Nafpliotis and David E. Goldberg, “A Niched ParetoGenetic Algorithm for Multiobjective Optimization”, in Proceedings of theFirst IEEE Conference on Evolutionary Computation, Vol. 1, pp. 82–87, IEEEPress, Piscataway, New Jersey, USA, June 1994.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 3: Introduccion a la Computaci´ on Evolutiva´ - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase14-cinvest... · 2019. 8. 1. · Introduccion a la Computaci´ on Evolutiva´

Metodos No Elitistas Basados en la Optimalidad dePareto

NPGAEl NPGA adopta una variante del torneo binario en la que dos individuosseleccionados aleatoriamente compiten en terminos de la dominancia dePareto. Cada uno de estos dos individuos se compara con respecto a unamuestra de la poblacion cuyo tamano es un parametro definido por el usuario(normalmente, se adopta el 10% del tamano total de la poblacion). El torneosolo tiene dos resultados posibles:

1 Uno de los dos individuos es no dominado y el otro es dominado. Eneste caso, el individuo no dominado gana el torneo y, por tanto, esseleccionado.

2 Hay un empate (los dos individuos son no dominados o ambos sondominados). En este caso, se aplica fitness sharing a los dosindividuos. La tecnica adoptada se denomina equivalence class sharingy se aplica tanto en el espacio de las variables de decision como en elde las funciones objetivo.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 4: Introduccion a la Computaci´ on Evolutiva´ - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase14-cinvest... · 2019. 8. 1. · Introduccion a la Computaci´ on Evolutiva´

Metodos No Elitistas Basados en la Optimalidad dePareto

NPGAHorn mostro que una pequena muestra de la poblacion erasuficiente para estimar la optimalidad de Pareto de un individuoy produjo el AEMO mas rapido de su epoca.

Este es el unico AEMO en el que David Goldberg aparececomo co-autor (Goldberg fue el asesor de tesis doctoral deHorn en la Universidad de Illinois en Urbana-Champaign).

Los pocos estudios comparativos de finales de los 1990sindican que el NPGA era mejor que el NSGA, pero no mejorque el MOGA. De hecho, si el tamano de torneo se hace igualque el tamano de la poblacion, el NPGA se volverıa el MOGA.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 5: Introduccion a la Computaci´ on Evolutiva´ - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase14-cinvest... · 2019. 8. 1. · Introduccion a la Computaci´ on Evolutiva´

Metodos No Elitistas Basados en la Optimalidad dePareto

NPGAAlgunas aplicaciones del NPGA son las siguientes:

Espectroscopıa de plasma [Golovkin, 2000].Seleccion de caracterısticas [Emmanouilidis, 2000].Diseno tolerante a fallas [Schott, 1995].Reduccion de contaminacion generada por el trafico[Haastrup & Pereira, 1997].

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 6: Introduccion a la Computaci´ on Evolutiva´ - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase14-cinvest... · 2019. 8. 1. · Introduccion a la Computaci´ on Evolutiva´

Metodos No Elitistas Basados en la Optimalidad dePareto

NPGA 2Erickson et al. [2001] propusieron una variante del NPGA llamada NPGA 2.

Mark Erickson, Alex Mayer and Jeffrey Horn, “The Niched Pareto GeneticAlgorithm 2 Applied to the Design of Groundwater RemediationSystems”, in Eckart Zitzler, Kalyanmoy Deb, Lothar Thiele, Carlos A. CoelloCoello and David Corne (Eds), First International Conference on EvolutionaryMulti-Criterion Optimization, pp. 681–695, Springer-Verlag, Lecture Notes inComputer Science No. 1993, 2001.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 7: Introduccion a la Computaci´ on Evolutiva´ - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase14-cinvest... · 2019. 8. 1. · Introduccion a la Computaci´ on Evolutiva´

Metodos No Elitistas Basados en la Optimalidad dePareto

NPGA 2NPGA 2 adopta la jerarquizacion de Pareto usando laseleccion mediante torneo binario del NPGA. Sin embargo, seusa un esquema diferente de fitness sharing en el cual elconteo de nichos se calcula usando individuos de la siguientegeneracion (parcialmente llena), en vez de usar individuos dela generacion actual. A este esquema se le denominacontinuously updated fitness sharing [Oei, 1991].

NPGA 2 se ha utilizado solo para el diseno de sistemas deremediacion de acuıferos [Erickson, 2001].

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 8: Introduccion a la Computaci´ on Evolutiva´ - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase14-cinvest... · 2019. 8. 1. · Introduccion a la Computaci´ on Evolutiva´

Metodos Elitistas Basados en la Optimalidad dePareto

¿Que es el Elitismo?En optimizacion mono-objetivo, el elitismo es un operador quehace que la mejor solucion de la poblacion pase intacta a lasiguiente generacion (es decir, no es perturbado ni por la cruzani por la mutacion).

En optimizacion multi-objetivo, el elitismo opera de formasimilar, pero en este caso, necesitamos retener las solucionesno dominadas generadas por el AEMO. Puesto que esimpractico retener todas estas soluciones, normalmente seestablece un lımite al numero maximo de soluciones que seretienen. Esto es particularmente importante en los AEMOs enlos que el elitismo juega un papel primordial en el mecanismode seleccion (p.ej., SPEA).

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 9: Introduccion a la Computaci´ on Evolutiva´ - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase14-cinvest... · 2019. 8. 1. · Introduccion a la Computaci´ on Evolutiva´

Metodos Elitistas Basados en la Optimalidad dePareto

Formas de ElitismoLas dos formas principales en las que se suele implementar elelitismo son las siguientes:

1 A traves del uso de un archivo externo (llamado tambienpoblacion secundaria), el cual es una estructura dedatos que reside en memoria principal y que almacena lassoluciones no dominadas generadas durante el procesoevolutivo.

2 Usando un mecanismo de seleccion mas en el que lapoblacion de padres se combina con la poblacion de hijosy se retiene solo a la mejor mitad.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 10: Introduccion a la Computaci´ on Evolutiva´ - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase14-cinvest... · 2019. 8. 1. · Introduccion a la Computaci´ on Evolutiva´

Metodos Elitistas Basados en la Optimalidad dePareto

¿Por que es importante el elitismo?Se requiere el elitismo para garantizar convergencia de unAEMO al verdadero conjunto de optimos de Pareto de unproblema de optimizacion multi-objetivo. Esto fue demostradopor Rudolph y Agapie [2001].

Gunter Rudolph and Alexandru Agapie, “ConvergenceProperties of Some Multi-Objective EvolutionaryAlgorithms”, in Proceedings of the 2000 IEEE Conference onEvolutionary Computation, Vol. 2, pp. 1010–1016, IEEE Press,Piscataway, New Jersey, USA July 2000.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 11: Introduccion a la Computaci´ on Evolutiva´ - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase14-cinvest... · 2019. 8. 1. · Introduccion a la Computaci´ on Evolutiva´

Metodos Elitistas Basados en la Optimalidad dePareto

SPEAEckart Zitzler [1998,1999] propuso en su tesis doctoral elStrength Pareto Evolutionary Algorithm (SPEA) como unAEMO que integra diferentes mecanismos de algoritmospropuestos previamente.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 12: Introduccion a la Computaci´ on Evolutiva´ - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase14-cinvest... · 2019. 8. 1. · Introduccion a la Computaci´ on Evolutiva´

Metodos Elitistas Basados en la Optimalidad dePareto

SPEAEckart Zitzler and Lothar Thiele, “Multiobjective EvolutionaryAlgorithms: A Comparative Case Study and the StrengthPareto Approach”, IEEE Transactions on EvolutionaryComputation, 3(4):257-271, November 1999.

SPEA utiliza un archivo externo y popularizo esta forma deelitismo en los AEMOs. A cada generacion, las soluciones nodominadas de la poblacion se copian a este archivo, y elarchivo participa en el proceso de seleccion. Para cadaindividuo en el archivo externo, se calcula un valor de“fortaleza”. Este valor es similar a la jerarquıa del MOGA,puesto que es proporcional al numero de soluciones a las quedomina un cierto individuo.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 13: Introduccion a la Computaci´ on Evolutiva´ - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase14-cinvest... · 2019. 8. 1. · Introduccion a la Computaci´ on Evolutiva´

Metodos Elitistas Basados en la Optimalidad dePareto

SPEALa aptitud de cada individuo en la poblacion se calcula conbase en las fortalezas de todos los individuos del archivoexterno a las cuales domina un cierto individuo.

Zitzler se percato de que si el tamano del archivo no seacotaba, la presion de seleccion se diluirıa dado que el numerode soluciones no dominadas crecıa muy rapidamente. Portanto, decidio podar el archivo usando un algoritmo declustering llamado average linking method [Morse, 1989], unavez que se alcanzaba un cierto lımite pre-establecido.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 14: Introduccion a la Computaci´ on Evolutiva´ - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase14-cinvest... · 2019. 8. 1. · Introduccion a la Computaci´ on Evolutiva´

Metodos Elitistas Basados en la Optimalidad dePareto

SPEAAlgunas aplicaciones de SPEA son las siguientes:

Exploracion de horarios para software usado en procesadores digitalesde senales [Zitzler, 1999].

Planeacion de tratamientos medicos [Petrovski, 2001].

Optimizacion de dosis de medicamentos [Lahanas, 2001].

Diagnostico de enfermedades [de Toro, 2003].

Rehabilitacion de un sistema de distribucion de agua [Cheung, 2003].

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 15: Introduccion a la Computaci´ on Evolutiva´ - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase14-cinvest... · 2019. 8. 1. · Introduccion a la Computaci´ on Evolutiva´

Metodos Elitistas Basados en la Optimalidad dePareto

SPEA2Eckart Zitzler y sus colegas propusieron una revision mejoradadel SPEA (llamada SPEA2) en 2001.

Eckart Zitzler, Marco Laumanns and Lothar Thiele, “SPEA2:Improving the Strength Pareto Evolutionary Algorithm, inK. Giannakoglou, D. Tsahalis, J. Periaux, P. Papailou and T.Fogarty (eds.), EUROGEN 2001, Evolutionary Methods forDesign, Optimization and Control with Applications to IndustrialProblems, pp. 95–100, Athens, Greece, 2002.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 16: Introduccion a la Computaci´ on Evolutiva´ - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase14-cinvest... · 2019. 8. 1. · Introduccion a la Computaci´ on Evolutiva´

Metodos Elitistas Basados en la Optimalidad dePareto

SPEA2SPEA2 tiene 3 diferencias principales con respecto al SPEA original:

Incorpora una estrategia de asignacion de aptitud de grano fino queconsidera tanto al numero de individuos a los que una solucion dominacomo el numero de soluciones por las que el individuo es dominado.

Un estimador de densidad mas eficiente (un mejor algoritmo declustering).

Un mecanismo para truncar el archivo externo, el cual garantiza que laretencion de las soluciones en los extremos del frente de Pareto.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 17: Introduccion a la Computaci´ on Evolutiva´ - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase14-cinvest... · 2019. 8. 1. · Introduccion a la Computaci´ on Evolutiva´

Metodos Elitistas Basados en la Optimalidad dePareto

SPEA2Algunas aplicaciones del SPEA2 son las siguientes:

Reduccion del “bloat” en programacion genetica [Bleuler, 2001].

Diseno de perfiles aerodinamicos [Willmes, 2003].

Optimizacion de portafolios de inversion [Garcia, 2011].

Optimizacion de las emisiones de los motores diesel [Hiroyasu, 2005].

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 18: Introduccion a la Computaci´ on Evolutiva´ - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase14-cinvest... · 2019. 8. 1. · Introduccion a la Computaci´ on Evolutiva´

Metodos Elitistas Basados en la Optimalidad dePareto

NSGA-IIEl Nondominated Sorting Genetic Algorithm II (NSGA-II) fue propuesto porKalyanmoy Deb y sus estudiantes en el 2000. Sin embargo, la version masconocida es la publicada en una revista en 2002.

Kalyanmoy Deb, Amrit Pratap, Sameer Agarwal and T. Meyarivan, “A Fast and Elitist Multiobjective GeneticAlgorithm: NSGA–II, IEEE Transactions on Evolutionary Computation, Vol. 6, No. 2, pp. 182–197, April 2002.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 19: Introduccion a la Computaci´ on Evolutiva´ - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase14-cinvest... · 2019. 8. 1. · Introduccion a la Computaci´ on Evolutiva´

Metodos Elitistas Basados en la Optimalidad dePareto

NSGA-IINSGA-II es un algoritmo muy distinto del NSGA original. Aunque sigueutilizando el ordenamiento no dominado, clasifica en una sola pasada (comoMOGA). Ası mismo, usa una seleccion mas (la poblacion de padres se une ala de hijos y se retiene a la mejor mitad), la cual es implıcitamente elitista.

Un elemento fundamental del NSGA-II es su estimador de densidad, el cuales denominado crowded comparison operator. Esta tecnica requiereordenar las soluciones con respecto a un objetivo. Posteriormente, cadaindividuo usa a su vecino anterior y posterior para construir un rectangulo. Alcomparar dos soluciones, si hay un empate (ya sea porque las dos sondominadas o ambas son no dominadas), se prefiere a la que tenga unrectangulo con un perımetro mas grande (es decir, se prefieren solucionesque estan mas aisladas en el espacio de las funciones objetivo). Esteestimador de densidad no requiere parametros y es muy eficiente, aunqueno es escalable.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 20: Introduccion a la Computaci´ on Evolutiva´ - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase14-cinvest... · 2019. 8. 1. · Introduccion a la Computaci´ on Evolutiva´

Metodos Elitistas Basados en la Optimalidad dePareto

NSGA-IILa elegancia, efectividad y eficiencia del NSGA-II lo convirtioen un estandar en el area durante mas de 10 anos.

El hecho de que su codigo fuente esta disponible en internetcontribuyo tambien a su popularidad (tal vez sea el AEMO maspopular de todos los tiempos).

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 21: Introduccion a la Computaci´ on Evolutiva´ - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase14-cinvest... · 2019. 8. 1. · Introduccion a la Computaci´ on Evolutiva´

Metodos Elitistas Basados en la Optimalidad dePareto

NSGA-IISin embargo, el NSGA-II no escala adecuadamente y su desempeno sueledegradarse a partir de 3 objetivos, debido a su estimador de densidad quefue disenado solo para 2 objetivos.

Adicionalmente, existe evidencia experimental que indica que el NSGA-IItrabaja mejor con numeros reales que usando codificacion binaria.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 22: Introduccion a la Computaci´ on Evolutiva´ - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase14-cinvest... · 2019. 8. 1. · Introduccion a la Computaci´ on Evolutiva´

Metodos Elitistas Basados en la Optimalidad dePareto

NSGA-IIAlgunas aplicaciones del NSGA-II son las siguientes:

Optimizacion de formas [Deb, 2001].

Diseno optimo de sistemas de seguridad [Greiner, 2003].

Optimizacion de las condiciones de procesamiento para la extrusion depolımeros (Gaspar-Cunha, 2002).

Manejo de la calidad del agua [Dorn, 2003].

Optimizacion de dosis para terapias contra el cancer usando radiacionmediante rayos de intensidad modulada [Lahanas, 2003].

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 23: Introduccion a la Computaci´ on Evolutiva´ - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase14-cinvest... · 2019. 8. 1. · Introduccion a la Computaci´ on Evolutiva´

Metodos Elitistas Basados en la Optimalidad dePareto

PAESLa Pareto Archived Evolution Strategy (PAES) fue propuesta en 1999,aunque su version de revista aparecio en el 2000.

Joshua D. Knowles and David W. Corne, “Approximating the Nondominated Front Using the Pareto ArchivedEvolution Strategy”, Evolutionary Computation, Vol. 8, No. 2, pp. 149–172, 2000.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 24: Introduccion a la Computaci´ on Evolutiva´ - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase14-cinvest... · 2019. 8. 1. · Introduccion a la Computaci´ on Evolutiva´

Metodos Elitistas Basados en la Optimalidad dePareto

PAESConceptualmente, PAES es quizas el AEMO mas simple quepuede disenarse. Consiste de una (1+1)-ES (o sea, un solopadre que se muta para producir un hijo). Si el hijo domina a supadre, se almacena en un archivo externo y se vuelve padre enla siguiente iteracion.

El aspecto mas interesante de PAES es precisamente suarchivo externo, el cual adopta un estimador de densidadllamado rejilla adaptativa. Este estimador de densidad solorequiere un parametro: el numero de sub-divisiones que seaplicaran en el espacio de las funciones objetivo. Su problemaprincipal es que este mecanismo se concibio solo para dosobjetivos y su generalizacion a un numero mayor de objetivosno parece posible.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 25: Introduccion a la Computaci´ on Evolutiva´ - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase14-cinvest... · 2019. 8. 1. · Introduccion a la Computaci´ on Evolutiva´

Metodos Elitistas Basados en la Optimalidad dePareto

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 26: Introduccion a la Computaci´ on Evolutiva´ - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase14-cinvest... · 2019. 8. 1. · Introduccion a la Computaci´ on Evolutiva´

Metodos Elitistas Basados en la Optimalidad dePareto

PAESAlgunas aplicaciones de PAES son los siguientes:

Problemas de telecomunicaciones [Knowles, 1999].

El problema de la base de datos distribuida adaptativa [Knowles, 2000].

Flexible job shop scheduling [Rabiee, 2012].

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos