Table Of ContentA E
LGORITMOS VOLUTIVOS
O M :
PARA PTIMIZACIÓN ULTIOBJETIVO
UN ESTUDIO COMPARATIVO EN UN AMBIENTE
PARALELO ASÍNCRONO
por
Christian Daniel von Lücken Martínez
Trabajo de Tesis desarrollado como parte de los
requerimientos para el grado de
Master
en
Ingeniería de Sistemas
de la
Universidad Nacional de Asunción
Diciembre 2003
Este trabajo está dedicado a mis padres y a mi familia,
sin su amor no lo hubiera logrado.
Agradecimientos
Estetrabajonohubierasidoposiblesinelapoyoconstantedemisseresqueridos,quisieraagrade-
cerlesatodos,enespecialaKariporsuapoyoycomprensión,porelamorquenosune.
Al profesor Benjamín Barán, su excepcional capacidad para sobrellevar los problemas es fuente
deinspiraciónparatodoslosquetenemoslasuertedetrabajarjuntoaél.Portodo,graciasprofe!.
AlaprofesoraBlancaTrochedeTrevisan,directoradelCentroNacionaldeComputación,porser
la persona que posibilitó que en dicha intitución puedan ser llevados a cabo trabajos de investigación
deestanaturaleza.
AOscarParraporlaayudadesinteresadaylaamistadsincera.
AlprofesorHoracioFeliciangelliporlaoportunidaddetrabajarjuntoaél.
ADianaBenitez,excelentepersonayamiga,gracias.
Quiero agradecer también a mis estimados compañeros y amigos del grupo de investigación, con
quienes pasé gratos momentos que hicieron más llevaderos los imprevistos y las contrariedades muy
habitualesenestetipodetrabajo.
A todos mis profesores, compañeros y amigos de la facultad con quienes compartí estos años de
formación.
Amisprimos,RodrigoyLuisFernando.Luis,séquemeestásmirando.
Finalmenteamisabuelos,porcuidarme.
Índice general
Índicedealgoritmos V
ÍndicedeTablas VI
1. Introducción 1
2. ComputaciónEvolutiva 5
2.1. AlgoritmosEvolutivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2. Métodostradicionalesdebúsqueda,algoritmosevolutivosyrobustez . . . . . . . . . 10
2.3. Codificaciónyfuncióndeadaptación . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4. Operadoresevolutivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4.1. Selección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.4.2. Cruzamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4.3. Mutación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5. Unalgoritmogenéticosimple. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.6. Teoremadeesquemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.7. Convergenciaydiversidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.7.1. FitnessSharing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.7.2. Restriccióndeapareamiento . . . . . . . . . . . . . . . . . . . . . . . . . . 29
I
2.7.3. Elitismo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3. OptimizaciónMultiobjetivo 30
3.1. Conceptosbásicosyterminología . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2. ProcesodesolucióndeunMOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.3. Métodostradicionalesdeoptimización . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3.1. Métodosdesumaponderada . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3.2. Programacióndemetas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.3.3. OrdenamientoLexicográfico . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.3.4. Elmétododelasrestriccionese . . . . . . . . . . . . . . . . . . . . . . . . 45
3.4. Discusióndelosmétodosclásicos . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4. AlgoritmosEvolutivosMultiobjetivo 47
4.1. MOEAsdeprimerageneración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.1.1. Multiobjective GeneticAlgorithm . . . . . . . . . . . . . . . . . . . . . . . 51
4.1.2. NondominatedSortingGeneticAlgorithm . . . . . . . . . . . . . . . . . . . 53
4.1.3. NichedParetoGeneticAlgorithm . . . . . . . . . . . . . . . . . . . . . . . 56
4.2. MOEAsdesegundageneración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.2.1. StrengthParetoEvolutionaryAlgorithm . . . . . . . . . . . . . . . . . . . . 59
4.2.2. NondominatedSortingGeneticAlgorithmII . . . . . . . . . . . . . . . . . 63
4.2.3. ControlledElitistNSGA-II . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5. ComputaciónParalela+MOEAs=AlgoritmosEvolutivosParalelosMultiobjetivo 71
5.1. ConceptosdeComputaciónParalela . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.1.1. Clasificacióndelprocesamientoparalelo. . . . . . . . . . . . . . . . . . . . 74
5.1.2. Cómputodistribuido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
II
5.1.3. Herramientasdesoftwareparalacomunicaciónenmulticomputadoras . . . . 78
5.2. AlgoritmosEvolutivosParalelosMultiobjetivo . . . . . . . . . . . . . . . . . . . . . 81
5.2.1. Modelomaestro-esclavo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.2.2. ModelodeDifusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.2.3. ModelodeIslas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.2.4. Esquemadeparalelizaciónutilizado . . . . . . . . . . . . . . . . . . . . . . 86
6. ComparaciónExperimentaldepMOEAs 95
6.1. MétricasdeDesempeño . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.1.1. GeneraciónTotaldeVectoresNodominados . . . . . . . . . . . . . . . . . . 97
6.1.2. RazóndelaGeneraciónTotaldeVectoresNodominados . . . . . . . . . . . 98
6.1.3. Númerodesolucionesnodominadasverdaderas . . . . . . . . . . . . . . . . 98
6.1.4. Razóndelerror . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.1.5. DistanciaGeneracional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.1.6. ErrorMáximodelFrentePareto . . . . . . . . . . . . . . . . . . . . . . . . 100
6.1.7. Espaciamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.1.8. Cobertura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.2. FuncionesdepruebaZDT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.3. DescripcióndelosexperimentossobrefuncionesZDT . . . . . . . . . . . . . . . . 104
6.4. Resultadosexperimentalessobrelasfuncionesdeprueba . . . . . . . . . . . . . . . 107
6.4.1. ResultadosdelosexperimentossobrelafunciónZDT1 . . . . . . . . . . . . 107
6.4.2. ResultadosdelosexperimentossobrelafunciónZDT2 . . . . . . . . . . . . 116
6.4.3. ResultadosdelosexperimentossobrelafunciónZDT3 . . . . . . . . . . . . 124
6.4.4. ResultadosdelosexperimentossobrelafunciónZDT4 . . . . . . . . . . . . 130
6.5. Conclusionesexperimentales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
III
7. Comparación de pMOEAs aplicados al Problema de la Programación Óptima de Esta-
cionesdeBombeodeAgua 140
7.1. Definicióndelproblema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
7.1.1. Modelohidráulico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
7.1.2. Representación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
7.1.3. Formulaciónmatemáticadelosobjetivosdelproblema . . . . . . . . . . . . 146
7.1.3.1. Costodelaenergíaeléctrica(E ) . . . . . . . . . . . . . . . . . . 146
c
7.1.3.2. Costodelmantenimientodelasbombas(N ) . . . . . . . . . . . . 147
s
7.1.3.3. Variacióndelnivelenelreservorio(D h) . . . . . . . . . . . . . . 148
7.1.3.4. Picomáximodepotencia(P ) . . . . . . . . . . . . . . . . . . 149
max
7.1.4. Problemadeoptimizacióndebombasmultiobjetivo . . . . . . . . . . . . . . 150
7.1.5. Datosnecesariosparalaresolucióndelproblema . . . . . . . . . . . . . . . 150
7.2. Descripcióndelosexperimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
7.3. Resultadosexperimentalesyanálisis . . . . . . . . . . . . . . . . . . . . . . . . . . 152
8. Conclusionesfinalesytrabajosfuturos 166
Glosario 173
Acrónimos 175
Símbolosyabreviaturas 178
Bibliografía 183
Indicealfabético 197
IV
Índice de algoritmos
1. Algoritmodeselecciónporruleta. . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2. Algoritmogenéticosimple. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3. ProcedimientodeasignacióndevalordeadaptaciónenNSGA. . . . . . . . . . . . . 54
4. ProcedimientodefitnesssharingutilizadoenNSGA. . . . . . . . . . . . . . . . . . 56
5. ProcedimientodeselecciónportorneoPareto,utilizadoporelNPGA. . . . . . . . . 58
6. ProcedimientoprincipaldelSPEA. . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
7. ProcedimientodeclusteringparaelSPEA. . . . . . . . . . . . . . . . . . . . . . . . 61
8. AlgoritmodeasignacióndefitnessparaelSPEA. . . . . . . . . . . . . . . . . . . . 63
9. ProcedimientoRápidodeOrdenamientoporNodominanciadelNSGA-II. . . . . . . 65
10. ProcedimientodeasignacióndedistanciadecrowdingutilizadoenNSGA-II. . . . . 66
11. AlgoritmodelNSGA-II. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
12. Procedimientodeseleccióndeelementosamigrar. . . . . . . . . . . . . . . . . . . 88
13. Procedimientoutilizadoparaelreemplazodeelementos. . . . . . . . . . . . . . . . 90
14. Procedimientocolector(pColector). . . . . . . . . . . . . . . . . . . . . . . . . . . 91
15. Algoritmogenéticoparalelogeneral. . . . . . . . . . . . . . . . . . . . . . . . . . . 93
V
Índice de Tablas
2.1. Característicasprincipalesdelosmétodosdebúsquedayoptimizacióntradicionales. . . . . 12
3.1. NotaciónutilizadaparalasrelacionesdedominanciaParetoentrevectoresobjetivo. . . . . . 36
6.1. Característicasdelentornocomputacionalparaleloutilizado. . . . . . . . . . . . . . . . . 105
6.2. Parámetrosutilizadosenlasdiferentescorridas. . . . . . . . . . . . . . . . . . . . . . . 106
6.3. Característicaslasdistintascorridas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
6.4. ZDT1:RazóndeNentrelosconjuntosobtenidosporlascorridasparalelasylasecuencial. . 111
6.5. ZDT1:GananciaporcentualdeNentrelosresultadosdelascorridasparalelasylasecuencial. 111
6.6. ZDT1:MétricasONVG,ONVGRyNaplicadasalosresultadosdelascorridas. . . . . . . 113
6.7. ZDT1:MétricasError,GD,MEySpacingaplicadasalosresultadosdelascorridas. . . . . . 114
6.8. ZDT1:Tiempopromedioutilizadoparaobtenercadaconjuntoaproximación. . . . . . . . . 114
6.9. ZDT1:coberturaentreconjuntoscalculadosporMOEAsdesegundageneración. . . . . . . 115
6.10. ZDT1:Coberturaentrelosconjuntoscalculadosenlascorridasa. . . . . . . . . . . . . . . 115
6.11. ZDT1:Coberturaentrelosconjuntoscalculadosenlascorridasb. . . . . . . . . . . . . . . 115
6.12. ZDT1:Coberturaentrelosconjuntoscalculadosenlascorridasc. . . . . . . . . . . . . . . 115
6.13. ZDT1:Coberturaentrelosconjuntoscalculadosenlascorridasd. . . . . . . . . . . . . . 116
6.14. ZDT2:RazóndeNentrelosconjuntosobtenidosporlascorridasparalelasylasecuencial. . 119
6.15. ZDT2:MétricasONVG,ONVGRyNaplicadasalosresultadosdelascorridas. . . . . . . 121
VI
6.16. ZDT2:MétricasError,GD,MEySpacingaplicadasalosresultadosdelascorridas. . . . . . 121
6.17. ZDT2:coberturaentreconjuntoscalculadosporMOEAsdesegundageneración. . . . . . . 122
6.18. ZDT2:Tiempopromedioutilizadoparaobtenercadaconjuntoaproximación. . . . . . . . . 122
6.19. ZDT2:Coberturaentrelosconjuntoscalculadosenlascorridasa. . . . . . . . . . . . . . . 123
6.20. ZDT2:Coberturaentrelosconjuntoscalculadosenlascorridasb. . . . . . . . . . . . . . . 123
6.21. ZDT2:Coberturaentrelosconjuntoscalculadosenlascorridasc. . . . . . . . . . . . . . . 123
6.22. ZDT2:Coberturaentrelosconjuntoscalculadosenlascorridasd. . . . . . . . . . . . . . 123
6.23. ZDT3:MétricasONVG,ONVGRyNaplicadasalosresultadosdelascorridas. . . . . . . 127
6.24. ZDT3:MétricasError,GD,MEySpacingaplicadasalosresultadosdelascorridas. . . . . . 127
6.25. ZDT3:Tiempopromedioutilizadoparaobtenercadaconjuntoaproximación. . . . . . . . . 128
6.26. ZDT3:coberturaentreconjuntoscalculadosporMOEAsdesegundageneración. . . . . . . 128
6.27. ZDT3:Coberturaentrelosconjuntoscalculadosenlascorridasa. . . . . . . . . . . . . . . 129
6.28. ZDT3:Coberturaentrelosconjuntoscalculadosenlascorridasb. . . . . . . . . . . . . . . 129
6.29. ZDT3:Coberturaentrelosconjuntoscalculadosenlascorridasc. . . . . . . . . . . . . . . 129
6.30. ZDT3:Coberturaentrelosconjuntoscalculadosenlascorridasd. . . . . . . . . . . . . . 129
6.31. ZDT4:RazóndeNentrelosconjuntosobtenidosporlascorridasparalelasylasecuencial. . 132
6.32. ZDT4:MétricasONVG,ONVGRyNaplicadasalosresultadosdelascorridas. . . . . . . 134
6.33. ZDT4:MétricasError,GD,MEySpacingaplicadasalosresultadosdelascorridas. . . . . . 134
6.34. ZDT4:Tiempopromedioutilizadoparaobtenercadaconjuntoaproximación. . . . . . . . . 135
6.35. ZDT4:coberturaentreconjuntoscalculadosporMOEAsdesegundageneración. . . . . . . 135
6.36. ZDT4:Coberturaentrelosconjuntoscalculadosenlascorridasa. . . . . . . . . . . . . . . 136
6.37. ZDT4:Coberturaentrelosconjuntoscalculadosenlascorridasb. . . . . . . . . . . . . . . 136
6.38. ZDT4:Coberturaentrelosconjuntoscalculadosenlascorridasc. . . . . . . . . . . . . . . 136
6.39. ZDT4:Coberturaentrelosconjuntoscalculadosenlascorridasd. . . . . . . . . . . . . . 136
VII
Description:Los Algoritmos Evolutivos (Evolutionary Algorithms - EAs) [4] han demostrado ser especialmente adecuados para la . embargo, es probable que un súbito cambio de ambiente provoque la desaparición de especies enteras Engineering, University of Sheffield, Sheffield, UK, Agosto 2001. 191