modelo heur´ıstico de afinación de parámetros sobre algoritmos

162
Modelo heur´ ıstico de afinaci´ on de par´ ametros sobre algoritmos evolutivos aplicados a problemas de optimizaci´ on num´ erica con restricciones. Por: Francisco Daniel Hern´ andez Rodr´ ıguez Tesis presentada para obtener el grado de: Maestro en redes y sistemas integrados Asesor: Dr. Efr´ en Mezura Montes. Laboratorio Nacional de Inform´ atica Avanzada, LANIA. Xalapa, Veracruz. 2012

Upload: vodiep

Post on 02-Jan-2017

221 views

Category:

Documents


1 download

TRANSCRIPT

Modelo heurıstico de afinacion de parametrossobre algoritmos evolutivos aplicados a

problemas de optimizacion numerica conrestricciones.

Por:Francisco Daniel Hernandez Rodrıguez

Tesis presentada para obtener el grado de:Maestro en redes y sistemas integrados

Asesor:Dr. Efren Mezura Montes.

Laboratorio Nacional de Informatica Avanzada, LANIA.Xalapa, Veracruz. 2012

i

Maestrıa en Redes y Sistemas IntegradosFrancisco Daniel Hernandez Rodrıguez

Aprobado por:

Sinodales:

Laboratorio Nacional de Informatica Avanzada, LANIA.Xalapa, Veracruz. 2012

iii

Resumen

En este trabajo de tesis se describe el desarrollo de un meta-algoritmoevolutivo afinador de parametros de algoritmos evolutivos. Su objetivoconsiste en mejorar el rendimiento de los algoritmos evolutivos mediante unadefinicion automatica de un conjunto especıfico de valores en sus parametros deentrada. Las pruebas se realizan sobre un conjunto de funciones de optimizacionconocidas, cuyos resultados son comparados contra resultados de la literaturaespecializada, y ası poder conocer el efecto entre el comportamiento de losalgoritmos con parametros seleccionados empıricamente y los afinados de formaautomatica.

Cabe mencionar que el algoritmo afinador al igual que los algoritmosevolutivos, implementa componentes evolutivos para su funcionamiento, es decir, elalgoritmo afinador de parametros tambien es un algoritmo evolutivo. Ya que utilizaun enfoque basado en la evolucion natural para afinar los parametros de entradade un conjunto de algoritmos evolutivos, los cuales son utilizados como elementosde entrada por el afinador, trabajando por ende en un nivel logico mas bajo.La implementacion del algoritmo afinador automatiza la definicion de parametrosde algoritmos evolutivos, los cuales en repetidas ocasiones mejoran los resultadosoriginales, reduciendo drasticamente los recursos que necesita para su ejecucion.

iv

v

Agradecimientos

A mis padres Blanca y Clemente, por su incansable e inmensa paciencia,por creer en mı, en muchas ocasiones mas que yo mismo, por apoyarmeincondicionalmente y ser mi principal motivacion.

A mi abuelita Mercedes por apoyarme financieramente y ofrecerme palabrasde aliento. Sin su apoyo no hubiera sido posible cumplir mi sueno.

A mis companeros del programa de maestrıa: Alejandro, Angel, Oscar Leal,Oscar Navarro, Joaquın, Daniel Mendez, Carlos, Samuel y Jorge, porque heaprendido mucho de cada uno de ellos, agradezco su amistad y el compartir buenosrecuerdos.

A mis amigos Alberto y Guadalupe por todo lo que he aprendido de ellos, porsu apoyo en momentos difıciles, por nuestras aventuras y los buenos tiempos.

Al Dr. Efren Mezura Montes porque a pesar de su saturada agenda, siempreencontro un espacio para atenderme y resolver mis dudas, por guiarme siempretan eficazmente.

A todos los catedraticos que me dieron clase por todo el conocimiento que metransmitieron, por hacerme un mejor profesional.

Al Laboratorio Nacional de Informatica Avanzada, por abrirme las puertas ypermitirme formar parte de esta gran institucion.

A las personas que trabajaron previamente en esta tematica de investigacion,basandome en su conocimiento entre en un area de trabajo fascinante.

vi

Indice general

Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv

Agradecimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi

Capıtulos

1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . 31.2. Objetivos del trabajo de tesis . . . . . . . . . . . . . . . . . . . 7

1.2.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . 71.2.2. Objetivos especıficos . . . . . . . . . . . . . . . . . . . . 7

1.3. Resumen de capıtulos . . . . . . . . . . . . . . . . . . . . . . . . 8

2. Optimizacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.1. Introduccion a la programacion matematica . . . . . . . . . . . 92.2. Clasificacion y enfoques de optimizacion . . . . . . . . . . . . . 13

3. Algoritmos evolutivos . . . . . . . . . . . . . . . . . . . . . . . . . 173.1. Componentes de algoritmos evolutivos . . . . . . . . . . . . . . 20

3.1.1. Representacion de soluciones . . . . . . . . . . . . . . . . 203.1.2. Reproduccion de individuos . . . . . . . . . . . . . . . . 223.1.3. Seleccion de soluciones . . . . . . . . . . . . . . . . . . . 24

3.2. Paradigmas de implementacion . . . . . . . . . . . . . . . . . . 263.2.1. Algoritmos geneticos . . . . . . . . . . . . . . . . . . . . 263.2.2. Programacion evolutiva . . . . . . . . . . . . . . . . . . . 283.2.3. Estrategia evolutiva . . . . . . . . . . . . . . . . . . . . . 29

4. Afinacion de parametros . . . . . . . . . . . . . . . . . . . . . . . 314.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.1.1. Costo de configurar parametros . . . . . . . . . . . . . . 344.1.2. Introduccion al control de parametros de EA . . . . . . . 354.1.3. Definicion de un afinador de parametros . . . . . . . . . 37

4.2. Clasificacion de los metodos de afinacion de parametros . . . . . 384.3. Metodos de afinacion implementados . . . . . . . . . . . . . . . 394.4. Robustez como medida de calidad . . . . . . . . . . . . . . . . . 40

5. Algoritmos evolutivos implementados . . . . . . . . . . . . . . . 425.1. Evolucion diferencial (DE/rand/1/bin) . . . . . . . . . . . . . . 43

5.1.1. Inicializacion del algoritmo . . . . . . . . . . . . . . . . 445.1.2. Mutacion de los individuos . . . . . . . . . . . . . . . . 445.1.3. Seleccion y eliminacion de individuos . . . . . . . . . . . 455.1.4. Manejo de restricciones . . . . . . . . . . . . . . . . . . . 47

5.2. Evolucion diferencial (DE/best/1/bin) . . . . . . . . . . . . . . 485.3. Estrategia evolutiva . . . . . . . . . . . . . . . . . . . . . . . . 49

vii

5.3.1. Seleccion de individuos . . . . . . . . . . . . . . . . . . 515.3.2. Mutacion . . . . . . . . . . . . . . . . . . . . . . . . . . 525.3.3. Recombinacion . . . . . . . . . . . . . . . . . . . . . . . 525.3.4. Manejo de restricciones . . . . . . . . . . . . . . . . . . 53

5.4. Colonia artificial de abejas . . . . . . . . . . . . . . . . . . . . . 535.4.1. Seleccion de fuentes de alimento . . . . . . . . . . . . . 565.4.2. Mutacion . . . . . . . . . . . . . . . . . . . . . . . . . . 585.4.3. Mecanismo de reemplazo . . . . . . . . . . . . . . . . . 595.4.4. Manejo de restricciones . . . . . . . . . . . . . . . . . . 59

5.5. Resultados experimentales . . . . . . . . . . . . . . . . . . . . . 595.5.1. Resultados de funciones CEC 2006 . . . . . . . . . . . . 605.5.2. Comparacion de resultados contra el entorno de

referencia (Benchmark) . . . . . . . . . . . . . . . . . 65

6. Algoritmo propuesto de afinacion de parametros . . . . . . . . 716.1. Afinacion de parametros en APEA . . . . . . . . . . . . . . . . 726.2. Definicion de la propuesta . . . . . . . . . . . . . . . . . . . . . 75

6.2.1. Inicializacion del algoritmo . . . . . . . . . . . . . . . . . 806.2.2. Mutacion de los individuos . . . . . . . . . . . . . . . . . 826.2.3. Seleccion de los sobrevivientes . . . . . . . . . . . . . . . 836.2.4. Manejo de restricciones . . . . . . . . . . . . . . . . . . . 84

6.3. Resultados experimentales . . . . . . . . . . . . . . . . . . . . . 856.3.1. Tablas de comparacion de resultados afinados . . . . . . 90

7. Comentarios finales . . . . . . . . . . . . . . . . . . . . . . . . . . 1027.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027.2. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

Anexos

A. Graficas de dispersion: resultados originales vs afinados . . . 106

B. Graficas de dispersion: comparacion entre EAs afinados . . . 128

Lista de referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

viii

Indice de cuadros

1. Aplicaciones de los algoritmos geneticos. . . . . . . . . . . . . . 282. Aplicaciones de programacion evolutiva. . . . . . . . . . . . . . 293. Aplicaciones de EE. . . . . . . . . . . . . . . . . . . . . . . . . 30

4. Parametros de evolucion diferencial. . . . . . . . . . . . . . . . 445. Parametros de estrategia evolutiva. . . . . . . . . . . . . . . . . 506. Parametros de Colonia Artificial de Abejas. . . . . . . . . . . . 567. Resultados originales CEC2006: g01-g05. . . . . . . . . . . . . . 618. Resultados originales CEC2006: g06-g10. . . . . . . . . . . . . . 629. Resultados originales CEC2006: g11-g15. . . . . . . . . . . . . . 6310. Resultados originales CEC2006: g16-g20. . . . . . . . . . . . . . 6411. Resultados originales CEC2006: g21-g24. . . . . . . . . . . . . . 6512. Comparacion de resultados CEC2006: g01-g06. . . . . . . . . . 6613. Comparacion de resultados CEC2006: g07-g12. . . . . . . . . . 6614. Comparacion de resultados CEC2006: g13-g18. . . . . . . . . . 6615. Comparacion de resultados CEC2006: g19-g24. . . . . . . . . . 6616. Prueba Wilcoxon para los EA sobre CEC 2006. . . . . . . . . . 68

17. Parametros en APEA. . . . . . . . . . . . . . . . . . . . . . . . 7618. Conjuntos de parametros afinados para EDB. . . . . . . . . . . 8619. Conjuntos de parametros afinados para EDR. . . . . . . . . . . 8720. Conjuntos de parametros afinados para ES. . . . . . . . . . . . 8821. Conjuntos de parametros afinados para ABC. . . . . . . . . . . 8922. Valores promedio de parametros afinados de los EA. . . . . . . 9023. Resultados afinados CEC2006: g01-g05. . . . . . . . . . . . . . . 9124. Resultados afinados CEC2006: g06-g10. . . . . . . . . . . . . . . 9225. Resultados afinados CEC2006: g11-g15. . . . . . . . . . . . . . . 9326. Resultados afinados CEC2006: g16-g20. . . . . . . . . . . . . . . 9427. Resultados afinados CEC2006: g21-g24. . . . . . . . . . . . . . . 9528. Comparacion de resultados afinados CEC2006: g01-g04. . . . . . 9629. Comparacion de resultados afinados CEC2006: g05-g08. . . . . . 9630. Comparacion de resultados afinados CEC2006: g09-g12. . . . . . 9731. Comparacion de resultados afinados CEC2006: g13-g16. . . . . . 9732. Comparacion de resultados afinados CEC2006: g17-g20. . . . . . 9833. Comparacion de resultados afinados CEC2006: g21-g24. . . . . . 9834. Prueba Wilcoxon para los EA afinados. . . . . . . . . . . . . . . 9935. Mejores resultados alcanzados por los EA afinados. . . . . . . . 101

ix

Indice de figuras

1. Modelo de un espacio de busqueda. . . . . . . . . . . . . . . . . . 22. Ejemplo de espacio de busqueda abstracto con restricciones. . . . . 4

3. Ejemplo de principio de dualidad. . . . . . . . . . . . . . . . . . . 114. Espacio de busqueda con optimos locales. . . . . . . . . . . . . . . 125. Espacio de soluciones para un problema de dos variables y una

restriccion de igualdad. . . . . . . . . . . . . . . . . . . . . . . . 166. Representacion geometrica de programacion no lineal . . . . . . . . 16

7. Ejemplo del proceso evolutivo. . . . . . . . . . . . . . . . . . . . . 188. Analogıa de representacion de un individuo. . . . . . . . . . . . . . 219. Ejemplo de cruza en un punto. . . . . . . . . . . . . . . . . . . . . 2310. Ejemplo de cruza punto a punto. . . . . . . . . . . . . . . . . . . 23

11. Parametros usados en algoritmos evolutivos. . . . . . . . . . . . . 3212. Representacion en capas del contexto de un algoritmo evolutivo. . . 3313. Objetivos de configuracion de parametros. . . . . . . . . . . . . . . 3614. Estructura logica de un afinador de parametros. . . . . . . . . . . 37

15. Representacion de los individuos. . . . . . . . . . . . . . . . . . . 4216. Creacion del vector mutante de DE. . . . . . . . . . . . . . . . . . 4517. Recombinacion en evolucion diferencial. . . . . . . . . . . . . . . . 4618. Seleccion para (µ+ λ)-ES. . . . . . . . . . . . . . . . . . . . . . . 5119. Seleccion para (µ, λ)-ES. . . . . . . . . . . . . . . . . . . . . . . . 5120. Entorno de la colonia artificial de abejas. . . . . . . . . . . . . . . 5521. Seleccion por sub-torneos binarios. . . . . . . . . . . . . . . . . . . 57

22. Estructura del afinador de parametros propuesto. . . . . . . . . . . 7123. Representacion de los individuos en APEA. . . . . . . . . . . . . . 7624. Arreglo tridimensional de parametros optimizados en el afinador. . . 7825. Archivo de texto con los nombres de los algoritmos evolutivos. . . . 8026. Archivo de texto de informacion de variables objeto. . . . . . . . . 81

A.1. Comparacion de resultados originales vs afinados, funcionCEC2006, G01. . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

A.2. Comparacion de resultados originales vs afinados, funcionCEC2006, G02. . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

A.3. Comparacion de resultados originales vs afinados, funcionCEC2006, G03. . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

A.4. Comparacion de resultados originales vs afinados, funcionCEC2006, G04. . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

x

A.5. Comparacion de resultados originales vs afinados, funcionCEC2006, G05. . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

A.6. Comparacion de resultados originales vs afinados, funcionCEC2006, G06. . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

A.7. Comparacion de resultados originales vs afinados, funcionCEC2006, G07. . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

A.8. Comparacion de resultados originales vs afinados, funcionCEC2006, G08. . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

A.9. Comparacion de resultados originales vs afinados, funcionCEC2006, G09. . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

A.10. Comparacion de resultados originales vs afinados, funcionCEC2006, G10. . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

A.11. Comparacion de resultados originales vs afinados, funcionCEC2006, G11. . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

A.12. Comparacion de resultados originales vs afinados, funcionCEC2006, G12. . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

A.13. Comparacion de resultados originales vs afinados, funcionCEC2006, G13. . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

A.14. Comparacion de resultados originales vs afinados, funcionCEC2006, G14. . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

A.15. Comparacion de resultados originales vs afinados, funcionCEC2006, G15. . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

A.16. Comparacion de resultados originales vs afinados, funcionCEC2006, G16. . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

A.17. Comparacion de resultados originales vs afinados, funcionCEC2006, G17. . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

A.18. Comparacion de resultados originales vs afinados, funcionCEC2006, G18. . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

A.19. Comparacion de resultados originales vs afinados, funcionCEC2006, G19. . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

A.20. Comparacion de resultados originales vs afinados, funcionCEC2006, G21. . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

A.21. Comparacion de resultados originales vs afinados, funcionCEC2006, G23. . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

A.22. Comparacion de resultados originales vs afinados, funcionCEC2006, G24. . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

B.1. Comparacion general, funcion CEC 2006, g01. . . . . . . . . . . . 128B.2. Comparacion general, funcion CEC 2006, g02. . . . . . . . . . . . 128B.3. Comparacion general, funcion CEC 2006, g03. . . . . . . . . . . . . 129B.4. Comparacion general, funcion CEC 2006, g04. . . . . . . . . . . . 129B.5. Comparacion general, funcion CEC 2006, g05. . . . . . . . . . . . 130

xi

B.6. Comparacion general, funcion CEC 2006, g06. . . . . . . . . . . . 130B.7. Comparacion general, funcion CEC 2006, g07. . . . . . . . . . . . 131B.8. Comparacion general, funcion CEC 2006, g08. . . . . . . . . . . . 131B.9. Comparacion general, funcion CEC 2006, g09. . . . . . . . . . . . 132B.10. Comparacion general, funcion CEC 2006, g10. . . . . . . . . . . . 132B.11. Comparacion general, funcion CEC 2006, g11. . . . . . . . . . . . 133B.12. Comparacion general, funcion CEC 2006, g12. . . . . . . . . . . . 133B.13. Comparacion general, funcion CEC 2006, g13. . . . . . . . . . . . 134B.14. Comparacion general, funcion CEC 2006, g14. . . . . . . . . . . . 134B.15. Comparacion general, funcion CEC 2006, g15. . . . . . . . . . . . . 135B.16. Comparacion general, funcion CEC 2006, g16. . . . . . . . . . . . 135B.17. Comparacion general, funcion CEC 2006, g17. . . . . . . . . . . . 136B.18. Comparacion general, funcion CEC 2006, g18. . . . . . . . . . . . 136B.19. Comparacion general, funcion CEC 2006, g19. . . . . . . . . . . . 137B.20. Comparacion general, funcion CEC 2006, g21. . . . . . . . . . . . 137B.21. Comparacion general, funcion CEC 2006, g23. . . . . . . . . . . . 138B.22. Comparacion general, funcion CEC 2006, g24. . . . . . . . . . . . 138

xii

CAPITULO 1

Introduccion

La computacion evolutiva se ha convertido en un area de gran interes, debidoa que ha demostrado mediante sus aplicaciones, que puede encontrar solucionesbastante competitivas sobre problemas de optimizacion [1–4]. Las tecnicas deevolucion en la naturaleza se han aplicado a problemas donde se pretende obtenerlos mejores resultados y donde las caracterısticas de los estos mismos problemaslos hacen demasiado extensos o complejos para resolver con metodos tradicionales,ejemplos de estos se pueden encontrar en [5] y [6].

Este enfoque de computacion no es nuevo, sin embargo ha ganado muchoterreno, entre otras cosas por que en numerosos casos ha probado estar a laaltura de la misma inteligencia humana sobre problemas altamente complejos oflexibles, encontrando soluciones similares a problematicas de la vida real. Porlo tanto, no sorprende encontrar un incremento importante en la investigacion eimplementaciones de algoritmos evolutivos, por su capacidad de obtener buenosresultados y en algunas ocasiones alcanzar la calidad de las soluciones basadas enla experiencia humana.

Con el incremento de aplicaciones y conocimiento, es muy comun enfrentarsecon la necesidad de resolver problemas con una gran cantidad de variantes,por ende, un gran numero de posibles soluciones. Los algoritmos evolutivosestan inspirados en la naturaleza (bio-inspirados) porque trabajan imitando losprocesos de evolucion biologica natural como estrategia de solucion de problemas,en este caso, utilizada para buscar la mejor solucion entre un conjunto finitopredeterminado de posibles soluciones.

Los algoritmos bio-inspirados utilizan tecnicas de optimizacion y busquedasde soluciones basadas en la seleccion natural y genetica, solucionando problemasno lineales que involucran muchas variables sobre problemas complejos.

El conjunto de posibles soluciones es expuesto iterativamente a diferentes sub-procesos como el de reproduccion, mutacion y sobrevivencia de los mas aptos, conel objetivo final de seleccionar estocasticamente el camino que deben tomar a travesdel tiempo [7].

El objetivo primario de este tipo de algoritmos es recorrer un conjunto depropiedades modeladas en un espacio de soluciones, para encontrar aquella solucionoptima global. Uno de los principales problemas, consiste en busquedas sobre

1

Capıtulo 1. Introduccion LANIA

espacios demasiado extensos o quiza demasiado complejos por el conjunto decaracterısticas que comparten. En cualquiera de los casos obtener la mejor solucionresulta altamente complejo. La Figura 1 muestra un ejemplo grafico abstracto deun espacio de busqueda de soluciones.

Figura 1: Modelo de un espacio de busqueda.

Los algoritmos evolutivos estan inspirados en la naturaleza (bio-inspirados)porque trabajan imitando los procesos de evolucion biologica natural comoestrategia de solucion de problemas, en este caso, utilizada para buscar la mejorsolucion entre un conjunto finito predeterminado. Utilizan tecnicas de optimizaciony busquedas de soluciones basadas en la seleccion natural y genetica, solucionandoproblemas no lineales que involucran muchas variables sobre problemas complejos.

El conjunto de posibles soluciones es expuesto iterativamente a diferentes sub-procesos como el de reproduccion, mutacion y sobrevivencia de los mas aptos, conel objetivo final de seleccionar estocasticamente el camino que deben tomar a travesdel tiempo [7].

Los individuos representan soluciones, proyectando mediante sus propiedadesinformacion de la funcion objetivo, por lo tanto, toda solucion encontrada consisteen la inclusion de uno o mas objetivos, los cuales se obtienen del procesamientode un conjunto de variables. En este trabajo se considera la optimizacion de unobjetivo, sin embargo, se puede obtener una buena introduccion a la optimizacionmulti-objetivo en [8–10].

Despues de haber establecido la complejidad de traducir la problematicaen un espacio de soluciones, ası como la dificultad tanto de representar lassoluciones mediante individuos como de recorrer el espacio de busqueda, lasiguiente problematica radica en asegurar que los algoritmos pueden ejecutarsecorrectamente. Cada algoritmo tiene un conjunto de valores que le indican eltamano de la poblacion, numero de generaciones, ası como parametros referentes

2

Capıtulo 1. Introduccion LANIA

al subproceso de seleccion de los individuos mas fuertes.

Una correcta definicion de los parametros de entrada puede marcar ladiferencia en los resultados obtenidos [11], puesto que marcan la forma enque exploran el espacio de soluciones. Si esto es tan importante, surgenalgunos cuestionamientos, por ejemplo, ¿Cual es el tamano de la poblacionnecesario?, ¿Que rango de parentesco deben tener los individuos resultado dela reproduccion?, ¿Como seleccionar los individuos que deben sobrevivir a lassiguientes generaciones?.

Resolver este tipo de cuestiones puede ser visto como un subproblema deoptimizacion en que la mayorıa de los disenadores de algoritmos bio-inspiradostienden a invertir una gran cantidad de tiempo [12].

1.1. Planteamiento del problema

Este trabajo consiste en desarrollar un algoritmo de afinacion de parametros deentrada en otras heurısticas aplicadas a problemas de optimizacion numerica. Elalgoritmo de afinacion se considerara un algoritmo de alto nivel, mientras que losalgoritmos a configurar pueden ser vistos como algoritmos de bajo nivel, estosultimos resuelven problemas de optimizacion numerica, los cuales a su vez puedenser generalizados como el problema de programacion no lineal, que se define, sinperdida de generalidad, como:

Encontrar x que minimiza:

f(x) (1.1.1)

sujeta a ¡

gi(x) ≤ 0, i = 1, ...,m (1.1.2)

hj(x) = 0, j = 1, ..., p (1.1.3)

donde x ∈ ~X ∈ Rn, ~X es un vector de n variables de decision x =[x1, x2, ..., xn]T y cada xi = 1, ..., n esta acotada por limites inferiores y superioresLi ≤ xi ≤ Ui, los cuales definen el espacio de busqueda S. F es el conjunto detodas las soluciones que satisfacen las restricciones 1.1.2 y 1.1.3 del problema y sele llama zona factible, siendo claro que F ⊂ S, m es el numero de restricciones dedesigualdad y p es el numero de restricciones de igualdad. Las restricciones y lafuncion objetivo pueden ser lineales y/o no lineales. Esta informacion se encuentra

3

Capıtulo 1. Introduccion LANIA

detallada en [13].

Definicion 1.1.1. Las variables de decision son las variables xi y componenla funcion de evaluacion f(~x) cuya evaluacion genera el valor de calidad de unindividuo dentro de la poblacion.

Definicion 1.1.2. Aptitud es el nombre del valor con el cual se mide la calidadde un individuo, usualmente es el resultado de la aplicacion de la funcion deevaluacion.

Resumiendo la notacion encontrada en la definicion de PNL (Programacionno lineal), se tiene lo siguiente:

xi representa una variable de decision considerada en el modelo, mientrasque ~X representa a un vector de variables objeto (al conjunto de variablesque conforman una solucion)

f representa la funcion objetivo, la cual es la funcion compuesta por lasvariables objeto que queremos maximizar o minimizar.

gi y hi representan las funciones de restriccion, las cuales definen igualdadeso desigualdades que los valores de ~X deben satisfacer.

Figura 2: Ejemplo de espacio de busqueda abstracto con restricciones.

4

Capıtulo 1. Introduccion LANIA

La Figura 2 muestra un ejemplo grafico abstracto, el cual representa loselementos que conforman la definicion de problema de optimizacion no linealdefinido anteriormente. En esta imagen se puede apreciar un conjunto de cırculosen un espacio de busqueda (fondo blanco). Cada cırculo hace referencia a unsubconjunto de soluciones, se dice que una solucion dentro de un cırculo satisfacesus requerimientos, de esta manera, se entiende que cada restriccion mantiene unconjunto propio de requerimientos.

Ası pues, optimizacion consiste en encontrar la mejor solucion dentro delespacio de busqueda que cumple con los requerimientos de todas las restriccionespreviamente definidas. Para este caso, el subconjunto de soluciones factibles F seencuentra en la interseccion de todas las restricciones.

En este trabajo se pretende encontrar una solucion meta-heurıstica que utiliceinformacion de las instancias de algoritmos evolutivos (informacion no relacionadacon su implementacion), y que en base a su manipulacion a un nivel mas alto,devuelva aquella configuracion de parametros que minimice la cantidad de tiempo yrecursos necesarios para mantener la calidad de los resultados originales, obtenidospor la maxima cantidad permitida de evaluaciones.

En la primera parte se realiza el analisis de cuatro algoritmos evolutivos:Colonia Artificial de Abejas (ABC), Evolucion Diferencial Rand (EDR), EvolucionDiferencial Best (EDB) y la Estrategia Evolutiva (µ, λ) (ES−(µ, λ)). En este puntose pretende obtener resultados sobre las funciones de evaluacion presentadas en elcongreso de computacion evolutiva (IEEE CEC) del 2006. Los resultados de lasfunciones se obtienen bajo la restriccion de un numero lımite de evaluaciones deindividuos, el cual, al inicio es el maximo con el que comunmente se han evaluadoestas heurısticas (500,000).

Los resultados obtenidos de los algoritmos evolutivos seran comparados contralos oficiales del congreso CEC 2006 [14], por lo tanto, la informacion de estareferencia sera tomada como el entorno de pruebas de comparacion, referidodesde ahora como “BenchMark”. El estudio de los resultados de la primeraseccion, permitira visualizar de forma rapida la calidad de todas las instanciasimplementadas, con el objetivo de clasificarlos en forma descendente del mejoral peor algoritmo. La idea de jerarquızarlos radıca en obtener una medida decomparacion entre los mismos y conocer la evolucion de sus resultados despuesde ser afinados.

La segunda parte presenta, en base a la informacion introductoria, unadescripcion detallada de los procesos de un algoritmo evolutivo que logra afinaro configurar los parametros de las heurısticas de la seccion anterior. El resultado

5

Capıtulo 1. Introduccion LANIA

del algoritmo sera una configuracion de parametros que se considera optima paracada heurıstica y valida para todas las funciones de bajo nivel evaluadas.

La aplicacion de una configuracion optima de parametros considera mantenerla calidad de los resultados de la primer seccion, en muchos casos mejorarlos, perocon una cantidad de evaluaciones menor. Lo anterior permite que los algoritmostengan un comportamiento mas agil sobre un entorno complejo donde es necesarioanalizar mucha informacion y encontrar soluciones en poco tiempo.

Una configuracion en los valores de los parametros que resulta en unareduccion de sus valores implica una cantidad menor de evaluaciones, mientrasque una cantidad reducida de evaluaciones permite ahorrar tiempo de ejecuciony recursos computacionales. Se debe tomar en cuenta que el objetivo consisteen disminuir el numero de evaluaciones a realizar por el algoritmo evolutivodependiendo de las caracterısticas de cada problema de optimizacion y de cadaEA, sin perder calidad en sus resultados. Cuando se devuelve un conjunto devalores para los parametros de un EA que cumplen con estas caracterısticas, sedice que se han configurado los parametros del EA.

Este enfoque resulta de la experimentacion de trabajar con algoritmosevolutivos y funciones de evaluacion complejas, siempre se tiene que tomar encuenta la gran cantidad de tiempo que estas pueden requerir para ejecutarse, segenera esta propuesta de afinador de parametros de EA’s, sugiriendo que unabuena configuracion de sus parametros puede redefinir los resultados de cualquieralgoritmo de busqueda.

Es importante recordar que los algoritmos evolutivos pretenden resolver unconjunto de funciones de optimizacion numerica, mientras que el algoritmo afinadortoma los valores de parametros de estos algoritmos evolutivos para optimizarlos.En otras palabras, El algoritmo afinador utiliza los algoritmos evolutivos comoentrada, mientras que los algoritmos evolutivos intentar resolver problemas deoptimizacion especıficos.

Si los algoritmos evolutivos forman parte del afinador, podemos decir quelos algoritmos evolutivos trabajan en un nivel bajo y el afinador trabaja sobreel dominio de los parametros de los algoritmos evolutivos (EA, por sus siglas eningles) a un nivel superior. Para evitar ambiguedad de referencia a los metodos, sehara referencia a los algoritmos de bajo nivel como algoritmos evolutivos, mientrasque al algoritmo evolutivo de afinacion de parametros como algoritmo afinador.

6

Capıtulo 1. Introduccion LANIA

1.2. Objetivos del trabajo de tesis

Los objetivos se han definido como un objetivo general y especıficos que sedelimitan de la siguiente forma:

1.2.1. Objetivo general

Disenar, desarrollar e implementar un algoritmo meta-heurıstico de afinacion deparametros de algoritmos evolutivos.

1.2.2. Objetivos especıficos

Implementar un algoritmo que devuelva un conjunto de instancias dealgoritmos evolutivos con resultados competentes, con la capacidad decomunicarse de manera uniforme con diferentes instancias de EA, teniendola posibilidad de implementarse con diferentes EA’s por usuarios con pococonocimiento tecnico acerca de los problemas de optimizacion a resolver.

Realizar una comparacion entre los resultados obtenidos de la ejecucion delos EA con un numero de evaluaciones igual a 5×105 (resultados originales),contra los obtenidos con la ejecucion de EA afinados.

Lograr configuraciones de parametros que permitan reducir la cantidad deesfuerzo computacional requerido para obtener resultados, mientras que losparametros mejorados mantienen la bondad de la calidad con respecto a losoriginales.

Comparar los resultados obtenidos contra los reportados en la literaturaespecializada. Los resultados derivados de la implementacion del algoritmoafinador deben ser cercanos a los resultados del entorno de pruebas adoptadopara la implementacion de los algoritmos evolutivos.

Describir diferentes caracterısticas del algoritmo afinador, tal como suaplicabilidad sobre un conjunto de funciones de evaluacion, calidad y robustezde sus resultados.

Aportar conocimiento en la afinacion de parametros sobre algoritmosevolutivos.

7

Capıtulo 1. Introduccion LANIA

1.3. Resumen de capıtulos

Para proporcionar una vista general de esta tesis, se describe brevemente elcontenido de cada capıtulo de la siguiente manera:

Capıtulo 2. Presenta un resumen del contexto y definicion del problema deoptimizacion numerica.

Capıtulo 3. Introduce los conceptos que manejan los algoritmos evolutivos,ası como las ventajas y desventajas que presentan sobre los algoritmostradicionales.

Capıtulo 4. Muestra una recopilacion de informacion sobre los problemasrelacionados con el afinamiento de parametros.

Capıtulo 5. Describe los metodos de desarrollo utilizados para laimplementacion de los algoritmos evolutivos, los cuales son: EvolucionDiferencial Rand (EDR), Evolucion Diferencial Best (EDB), EstrategiaEvolutiva (µ, λ), Colonia Artificial de Abejas (ABC), los cuales se comparancontra los resultados reportados en la literatura especializada para el congresode computacion evolutiva CEC 2006.

Capıtulo 6. Expone el desarrollo e implementacion del algoritmo principaldedicado al afinamiento de parametros de los algoritmos evolutivosimplementados, resultando en la comprobacion del buen funcionamiento delmetodo desarrollado.

Capıtulo 7. Presenta de forma resumida las conclusiones de laimplementacion y analisis de los resultados obtenidos del algoritmo afinadorde parametros, ası como el trabajo futuro que el autor considera importante.

Anexo A. Presenta un conjunto de graficas de comparacion de resultadosde los cuatro algoritmos evolutivos. La comparacion se realiza con todas lasfunciones de optimizacion, tomando en cuenta los valores obtenidos antes ydespues de afinar sus parametros.

Anexo B. Presenta un conjunto de graficas de comparacion que muestra ladispersion de los resultados de las cuatro instancias de algoritmos evolutivosafinados. Cada grafica muestra la comparacion de los cuatro algoritmosevolutivos con los resultados obtenidos para una funcion CEC 2006 especıfica.

8

CAPITULO 2

Optimizacion

“La gente optimiza. Los inversionistas buscan crear conjuntos deherramientas que puedan evitar un riesgo excesivo, mientras obtienenrangos altos en ganancia. Los manufactureros buscan la maximaeficiencia en el diseno y operacion de sus procesos de produccion. Losingenieros ajustan sus parametros para optimizar el rendimiento de susdisenos.

La naturaleza optimiza, los sistemas fısicos tienden a establecer elmınimo de energıa, las moleculas en un sistema quımico soladoreaccionan entre si, hasta la energıa potencial de sus electrones se vuelvemınima, los rayos de luz siguen rutas que minimizan el tiempo de surecorrido” [15].

La optimizacion se encuentra en todas las areas del conocimiento, existenproblemas con diferentes caracterısticas, ası como nuevas herramientas para lograrmejores resultados, por muchos aspectos es considerada un area abierta a lainvestigacion [16]. Este capıtulo pretende dar una idea introductoria basica y brevesobre el contexto de la optimizacion matematica, tambien llamada programacionmatematica o simplemente optimizacion. Es importante conocer este tema, ya quees la base de la optimizacion con restricciones, optimizacion numerica y algoritmosevolutivos [17,18].

2.1. Introduccion a la programacion matematica

Las tecnicas de optimizacion han sido utilizadas para resolver un conjunto ampliode problemas, tales como: definicion de caminos optimos para vehıculos espaciales,problemas de diseno aeronauticos, diseno de componentes mecanicos, diseno deturbinas-enfriadores, diseno de material electrico, diseno de redes electricas ohidraulicas, optimizacion de horarios, optimizacion de procesos quımicos, entreotros [13].

Definicion 2.1.1. Optimizacion trata de calcular o determinar el valor mınimoo el valor maximo de la funcion compuesta por un conjunto de variables. Seentiende tambien por el acto de obtener el mejor resultado posible dadas ciertascircunstancias [19].

9

Capıtulo 2. Optimizacion LANIA

Las caracterısticas de un problema, son todas aquellas variables o factores noconocidos que intervienen en el desarrollo de una solucion. El objetivo principal deun procedimiento de optimizacion, consiste en encontrar valores para las variables,de tal manera que optimicen el objetivo (el valor devuelto), tomando en cuentaque en muchas ocasiones los valores pueden estar restringidos.

Definicion 2.1.2. Se conoce como funcion objetivo a una definicion querepresenta formalmente lo que se quiere optimizar, comunmente f : X 7−→Y, donde Y ⊆ R.

El proceso de representar el valor de la funcion objetivo, las variables ysus restricciones para un problema especıfico se conoce como modelado de laproblematica [20, 21]. De esta manera, desarrollar un modelo apropiado es elprimer paso del camino (quiza el mas importante) del proceso de optimizacion [15].Dependiendo de la calidad, resultara la factibilidad, no simplemente de obtenerbuenos resultados, sino de por lo menos tratar adecuadamente el problema.

Despues de que se logra modelar el problema tratado, existe la posibilidad deusar el algoritmo para encontrar una solucion, teniendo en cuenta que la decisionde implementar algun metodo radica en las caracterısticas observadas, ası comoen el criterio del usuario interesado, de tal manera, en este paso se debe escogerun algoritmo, entre un conjunto disponible que sea adecuado a la situacion actual,esperando (usualmente basado en la experiencia) que esta decision sea la correcta.

Hasta este punto, tomando en cuenta metodos de optimizacion tradicionalescomo metodos matematicos o metodos de busqueda exhaustivos, se puede decir queoptimizar es una tarea bastante compleja, debido a que se necesitan conocimientosprofundos tanto del contexto del problema, ası como de tecnicas complejas debusqueda de soluciones, para de esta manera definir una la solucion apropiada alproblema en cuestion.

10

Capıtulo 2. Optimizacion LANIA

Figura 3: Ejemplo de principio de dualidad.

La Figura 3, la cual representa el principio de dualidad en optimizacion,muestra una representacion grafica arbitraria, supone que el eje que contiene losvalores de x, representa en cada punto un vector de variables de decision del modelo,mientras que el eje Y, representa el valor f(x) resultado del vector coincidente enel plano cartesiano.

La optimizacion intenta obtener aquella solucion que se considera mejor entretodas las demas, ya sea al minimizar o maximizar el valor encontrado por laevaluacion. Con fines practicos, en la Figura 3 se puede identificar el principio dedualidad indicando que el mınimo de una funcion f(x) es igual al valor negativodel maximo −f(x) o que el mınimo y maximo globales son contrarios en el planocartesiano. [19].

Dependiendo de las caracterısticas del espacio de soluciones, surgen diferentesrestricciones que brindan una configuracion particular del problema. El esfuerzode la optimizacion se concentra en el estudio e implementacion de metodologıasdiversas, con el objetivo de conseguir los mejores resultados sobre diferentesinstancias de los problemas analizados.

Existen muchos problemas que surgen en el estudio de soluciones deoptimizacion, ası como tambien muchas propuestas de solucion, sin embargo,se propone que todas estas soluciones se dirigen al resultado por medio de laconvergencia [22].

Considerese por ejemplo el proceso automatico de creacion de una piezamecanica compuesta por diferentes elementos. La solucion deseada puede consistiren encontrar una sucesion de actividades que utilizan en cada paso los mejores

11

Capıtulo 2. Optimizacion LANIA

recursos para producir una pieza de buena calidad, al menor precio (loscomponentes de la pieza) y empleando la menor cantidad de tiempo en sufabricacion.

Lo que se intenta resaltar es que si existe un conjunto de soluciones para elproblema planteado, donde la idea es escoger aquella solucion con una mejor calidad(representada por un valor), entonces existiran soluciones que pueden aparentarser la que se busca (pero no lo son), por lo que se hace necesario encontrar unamanera de discriminarlas y seleccionar la mejor de ellas. Este tipo de solucionesaparentemente buenas se llaman “optimos locales”.

Definicion 2.1.3. Un mınimo local xi ∈ ~X de una funcion objetivo f , es unelemento de entrada dentro de un vecindario V , donde f(xi) ≤ f(x) para todos losvecinos conocidos por x ∈ V .

Definicion 2.1.4. Un mınimo global xi ∈ ~X de una funcion objetivo f , es unelemento de entrada con f(xi) ≤ f(x) ∀ x ∈ ~X, donde ~X ∈ R.

Figura 4: Espacio de busqueda con optimos locales.

La Figura 4 [23] muestra un ejemplo de espacio de busqueda donde existensoluciones optimas locales, viendolo de esta forma se puede hacer la analogıa deun espacio de soluciones con un terreno fısico. Con esta perspectiva, el procesode optimizacion es utilizado como una forma eficiente de encontrar el punto dela superficie mas alta (o baja) del terreno previamente desconocido, tomando

12

Capıtulo 2. Optimizacion LANIA

en consideracion solo informacion parcial relativa al sub-espacio de busquedaanalizado en determinado momento, tomando en cuenta tambien que un terrenopuede ser inmensamente grande.

2.2. Clasificacion y enfoques de optimizacion

En este capıtulo, se considera importante presentar cuatro aspectos de entreotros existentes, los cuales ayudan a comprender el proceso de optimizacion [24].Lo relevante de estos aspectos radica en que al definirlos se puede conseguiruna clasificacion acerca de los tipos de optimizacion y generar un conocimientoespecıfico sobre el proceso de optimizacion enfocado en la propuesta de trabajofinal, manteniendo un panorama general alrededor del mismo. Se encuentran otrosejemplos interesantes de clasificacion en [13] y [22].

La primera clasificacion toma en cuenta el tipo de valores que representan alas variables, ası como las estructuras manipuladas para la representacion de lasvariables definidas.

Optimizacion numerica: Se busca un conjunto de valores para lasvariables del problema, donde las variables pertenecen a un dominio devalores exactos contables (numeros enteros, decimales, etc) de manera queal sustituirse en la funcion objetivo se maximice o minimice el valor deesta funcion. Un ejemplo de este problema puede ser el diseno de unapieza mecanica, donde se buscan valores optimos de sus dimensiones paraminimizar su costo de fabricacion. [25].

Optimizacion combinatoria: Se busca encontrar el ordenamiento de unconjunto de elementos de manera que se maximice o minimice el valor dela funcion objetivo. Un ejemplo de este tipo de problemas es el del agenteviajero, que debe recorrer un conjunto de ciudades, pasando por ellas solouna vez, de manera que regrese a su punto de salida y se minimice el costodel viaje. [26,27].

Otra clasificacion se basa en el alcance del espacio de busqueda representadoen el modelo. En esta clasificacion se toma en cuenta el tamano del espacio debusqueda, derivado del tipo de variables que lo componen.

Optimizacion discreta: Su principal caracterıstica consiste en trabajarcon variables numerables, es decir, que el conjunto de posibles valores paracada variable, dentro del espacio de soluciones es finito y se puede contar, unejemplo de esto es la programacion que ocupa valores enteros [28].

13

Capıtulo 2. Optimizacion LANIA

Optimizacion continua: A diferencia de la anterior, toma conjuntos devalores no contables o infinitos (numeros reales). A pesar de la dificultad queimplica buscar en un dominio infinito, los valores reales suponen la facilidadde adecuarse con exactitud a las funciones de los metodos y algoritmos debusqueda [29].

Otra clasificacion pertinente consiste en las bases con las que se modelael espacio de soluciones, especıficamente trata de los valores permitidos por lasvariables a considerar.

Optimizacion sin restricciones: Se refiere al caso de optimizacion, dondeno existen restricciones, el valor que toman las variables en cada momento delproceso es el resultado de escoger un valor dentro del dominio especificado,tomando en cuenta la premisa de la falta de restricciones para encontrar lasolucion final [15,30].

Optimizacion con restricciones: Al contrario de la anterior, en estetipo de procedimientos, los posibles valores de las variables de la solucionfinal, se encuentran limitados por un conjunto de restricciones predefinidas,tales como restricciones de igualdad o desigualdad (se explican adelante),que afectan completamente la definicion del metodo de solucion, ası comolos resultados a obtener [31,32].

La ultima clasificacion presentada se refiere al conocimiento “a priori” que elmetodo de busqueda tiene sobre el espacio de soluciones, siendo el motivo principalen el desarrollo de su actividad.

Optimizacion estocastica: El algoritmo de busqueda no conoceinformacion sobre el modelo de la problematica, por lo cual puede actuarpor medio del aprendizaje y experiencia obtenida por la interaccion con suentorno [33].

Optimizacion determinista: Se da cuando se tiene cierto conocimientodel contexto o se tienen modelos derivados basados en experiencia, en estecaso se actua mediante probabilidades que dan cierto rango de seguridad,aunque tambien consideran porcentajes de error [15].

Definicion 2.2.1. Es importante explicar que las caracterısticas de los problemasabordados en este trabajo se refieren a optimizacion con restricciones, valorescontinuos y tecnicas de optimizacion numerica, que en conjunto se relacionan alparadigma de optimizacion con el nombre de “Programacion no lineal”.

En el siguiente apartado se exponen algunos metodos de solucion de problemasde programacion no lineal que se han utilizado para encontrar soluciones dentrodel paradıgma de programacion no lineal:

14

Capıtulo 2. Optimizacion LANIA

Metodos clasicos: Este tipo de algoritmos de busqueda se centran en laobtencion del mejor resultado, teniendo como ventaja una garantıa de quesiempre va a devolver la solucion optima global. Este tipo de metodos sonla primera opcion a tomar en cuenta al tratar de resolver los problemas deoptimizacion citados [34,35].

Metodos heurısticos: Se centran en buscar de forma inteligente sobre elespacio muestral, al seleccionar una muestra del mismo, apostando que dentrode esta, se encuentra la solucion optima global [36, 37].

Metodos hiper-heurısticos: Conservan todas las bondades de los metodosheurısticos y meta-heurısticos, anadiendo la posibilidad de combinarlos yobtener mejores resultados [38,39].

Definicion 2.2.2. Una heurıstica es el componente de un algoritmo de busquedaque utiliza informacion dinamica local para formular su decision sobre cual sera lasiguiente opcion a evaluar y como debe ser generado el siguiente individuo de lapoblacion.

La Figura 5 muestra un ejemplo abstracto de optimizacion con dos variablesde decision x1, x2 y una restriccion de igualdad c1, representadas en un planocartesiano. Se puede observar que los contornos circulares referencıan los valoresde las variables de desicion dentro del problema acotados por la funcion f , quetoma como argumentos a estas variables f(x1, x2).

La lınea que corta los circulos representa la restriccion, cualquier solucionaceptable debe estar dentro de esta lınea. Un punto dentro del plano representaun valor especıfico de f . De forma empırica se puede decir que el optimo globalse encuentra dentro del punto mas cercano al centro de los cırculos que intersectela lınea de la restriccion de igualdad, de tal manera que el valor de la solucionf(x1, x2) sea el mejor (maximo o mınimo) de entre el total de posibles soluciones.

15

Capıtulo 2. Optimizacion LANIA

Figura 5: Espacio de soluciones para un problema de dos variables y una restriccion de

igualdad.

La Figura 6 muestra una representacion valida de la definicion de PNL, dondese puede apreciar que la solucion esta acotada por las restricciones c1 y c2, laprimera restriccion es una restriccion de igualdad, de tal manera que la soluciondebe pasar por esta lınea, sumado a eso, existe una restriccion de desigualdadque delimita el espacio de soluciones factible hacia adentro del espacio interiorformado por la lınea semi-circular, de esta manera, la solucion encontrada es aquelpunto que respeta las restricciones y se encuentra situada mas cerca del centro delcontorno mas pequeno. Es necesario notar el cambio registrado en la solucion finalcuando se agrega una restriccion de desigualdad con respecto a las soluciones conla restriccion de igualdad y sobre el espacio de busqueda sin restricciones.

Figura 6: Representacion geometrica de programacion no lineal

16

CAPITULO 3

Algoritmos evolutivos

Los algoritmos evolutivos imitan procesos que suceden en la evolucion natural delas especies. La idea general de este tipo de tecnicas consiste en mantener duranteun periodo definido de tiempo, una poblacion de individuos sometida a una presionambiental a traves de una seleccion natural o sobrevivencia del mas apto con unincremento constante en la calidad de los individuos. Este proceso es repetitivo,por lo cual, al final del proceso de evolucion, entre los sobrevivientes se encuentranaquellos con las mejores caracterısticas o considerados mas fuertes. Yao brinda masdetalle en [40].

Puede resultar sorprendente que una de las areas con mayor demanda enla investigacion actual, se base en conceptos tan antiguos como la evolucionde las especies, propuesta por Charles Darwin [41, 42] en su libro “El origende las especies”, donde se pueden identificar principios de seleccion natural ysobrevivencia del mas apto como metricas de la evolucion natural [43,44], algunosde estos principios son:

Los individuos de las especies poseen gran fertilidad, por lo que producendescendencia con probabilidad de crecer hasta la adultez.

Bajo la ausencia de influencias externas (como desastres naturales), eltamano de la poblacion de las especies tiende a permanecer constante.

Sin la ocurrencia de influencias externas, las fuentes de alimento son limitadaspero estables a traves del tiempo.

Dado que los individuos cuentan con recursos limitados, se asegura unacompetencia por la sobrevivencia.

En la reproduccion de las especies, no existen individuos iguales.

Algunas variaciones entre los individuos afectaran su aptitud y por lo tanto,su capacidad de sobrevivencia.

Una buena fraccion de esas variaciones no es hereditaria.

Los individuos con menor aptitud son menos propensos a reproducirse,mientras que lo mas aptos tienen una mayor probabilidad de sobrevivir yproducir descendientes.

La descendencia de los sobrevivientes conservara rasgos de sus padres.

17

Capıtulo 3. Algoritmos evolutivos LANIA

La computacion evolutiva se basa en el neo-Darwinismo [45], que al mismotiempo tiene sus raıces en la teorıa de Darwin, los conceptos de seleccion deWeissman [46,47] y de genetica de Mendel [47]. Esta teorıa asegura que la historiade la vida (evolucion) esta determinada solo por unos cuantos procesos estadısticosque actuan sobre las especies [48]. Los procesos son simples y se definen brevementede la siguiente forma:

Reproduccion: Corresponde a una forma de crear nuevos individuos quetienen como origen la poblacion actual. Se comprende de forma implıcitaque en un momento dado, existen dos poblaciones, una poblacion u y unapoblacion u′. El numero de individuos en la poblacion derivada puede sermayor que la inicial.

Mutacion: Genera modificaciones muy pequenas en la composicion de losindividuos de la poblacion, logrando la diversificacion de los mismos.

Competencia: Es un mecanismo de comparacion entre los individuos de lapoblacion, el objetivo es medir la aptitud de un conjunto de ellos.

Seleccion: Permite conocer los individuos mejor adaptados al ambiente,con el objetivo de mantenerlos o darles prioridad sobre los debiles. En lamayorıa de las implementaciones los individuos mas fuertes son los unicosque sobreviven.

Repeticion: Es un procedimiento usualmente implıcito, solo es necesariorecordar que los cuatro subprocesos anteriores se repiten un determinadonumero de iteraciones.

Figura 7: Ejemplo del proceso evolutivo.

18

Capıtulo 3. Algoritmos evolutivos LANIA

La Figura 7 muestra la conjuncion de los elementos presentados con unenfoque de implementacion hacia la computacion. Al principio es necesario crearuna poblacion inicial la cual mediante su representacion computacional, tiene lacapacidad de incluir todas las caracterısticas encontradas en el contexto de laproblematica a solucionar y que despues de pasar a traves de los subprocesos enel desarrollo de la evolucion, deriven una solucion unica, satisfactoria con respectoa sus limitantes de espacio de busqueda y restricciones.

Definicion 3.0.3. Una poblacion dentro del contexto de computo evolutivorepresenta el conjunto de soluciones del problema que se esta tratando en esemomento. Se dice poblacion puesto que cada solucion representa un individuo, elcual va sufriendo cambios considerados como mejoras (evolucion). Cada individuoevoluciona constantemente hasta el fin de las generaciones.

Se selecciona un subconjunto (µ′) de la poblacion general (µ) para modificarlocon operadores de mutacion. Los elementos compiten entre si tomando en cuentael porcentaje de calidad individual. El concepto “seleccion ambiental” se diferencıade “seleccion de individuos” en el sentido de que la primera puede elegir entre unapoblacion formada por µ ∩ µ′, mientras que la segunda solo selecciona los mejoresentre los que son considerados padres [49].

Los mejores individuos son seleccionados forman la poblacion de la siguentegeneracion, se considera completa una iteracion, recordando que la evolucion sepuede ver de forma simple como un conjunto de repeticiones de esta secuencia depasos. Es necesario identificar, que cuando se cumple el criterio de parada, el mejorindividuo en la poblacion corresponde a la solucion final. Si el criterio de paradano ha sido alcanzado, comienza una nueva iteracion.

Definicion 3.0.4. El criterio de parada dentro de un algoritmo iterativorepresenta la condicion que indica el momento en que la ejecucion del algoritmodebe detenerse. Usualmente se realiza por un numero determinado de iteraciones,por la obtencion de un valor buscado o por la deteccion de la falta de modificacionen este valor, entre otras.

Definicion 3.0.5. Una generacion dentro de un algoritmo evolutivo correspondea una iteracion del proceso de busqueda, a su vez, una iteracion se cumplecuando los componentes del proceso evolutivo se completan secuencialmente paraun conjunto de individuos. La idea es que el proceso de evolucion sea repetitivo.

En la Figura 7, la cual representa un problema de programacion no lineal,el inicio de todo el proceso esta determinado por las flechas verticales y lasrepeticiones por las flechas en forma circular. Al inicio de una iteracion (generacion)

19

Capıtulo 3. Algoritmos evolutivos LANIA

la seleccion de padres puede tomar en cuenta los individuos recien inicializados olos mejores individuos de la generacion anterior. El Algoritmo 1 muestra un criteriotecnico para mostrar el funcionamiento de un algoritmo evolutivo.

Algoritmo 1: Algoritmo evolutivo baseg ← 0Pob ← crearPoblacion()inicializarPoblacion()evaluarPoblacion()while criterioTerminacion() do

subPob ← seleccionarIndividuos(Pob)Pob′ ← reproducirIndividuos(subPob)Pob ← compararIndividuos(subPob, Pob′)g = g + 1

endDevolver la mejor solucion

3.1. Componentes de algoritmos evolutivos

Esta seccion presenta una descripcion con mayor detalle de los actores yprocedimientos que actuan en todas las implementaciones de algoritmos evolutivos.

3.1.1. Representacion de soluciones

La representacion de los individuos se toma de la teorıa de la genetica, la cual diceque los organismos pueden ser definidos por dos conceptos: genotipo y fenotipo. Elgenotipo corresponde a su composicion interna y el fenotipo a sus caracterısticasexternas. En otras palabras, el primero de ellos cubre la composicion “fısica” en quese representan los individuos, haciendo enfasis en la teorıa de la genetica, mientrasque el segundo expone el procedimiento de darle un significado a los individuosartificiales existentes y dotarlos con “presencia” dentro de la poblacion [45,50,51].

Genotipo en computo evolutivo: Recordando que la teorıa de lacomputacion evolutiva tiene origen en la genetica, la representacion delos individuos en un espacio de soluciones trata de imitar la informaciongenetica que manejan los cromosomas en la cromatina [52]. En este punto,un cromosoma es usualmente implementado como una estructura de datosunidimensional. Los valores de los espacios de la estructura se comparancon la informacion almacenada por los genes, para los diferentes marcadoresgeneticos (locus). Cada alelo representa informacion de una variable objeto,logrando encapsular las caracterısticas geneticas del individuo.

20

Capıtulo 3. Algoritmos evolutivos LANIA

Figura 8: Analogıa de representacion de un individuo.

En la Figura 8, se observa el ejemplo de un cromosoma. En computoevolutivo, este ejemplo se visualiza como la representacion del conjunto devariables de decision de un individuo. Los genes del ADN son vistos comolos valores de cada variable xi, mientras que la interpretacion del significadogenetico f(x) del conjunto ~X | x ∈ ~X sera visto como el fenotipo.

Fenotipo en computo evolutivo: El fenotipo representa la decodificacionde la informacion genetica del individuo. En un caso simple, se puede resumiral fenotipo como el conjunto de caracterısticas que definen la apariencia yconducta de los elementos en la poblacion. Resulta pertinente resaltar ladependencia que existe entre el fenotipo y el genotipo, ası como la variacionque puede tener su percepcion con respecto al entorno de los individuos.

La conjuncion entre genotipo y fenotipo hace referencia a la calidad de lascaracterısticas que un individuo tiene. La interpretacion “visual” de la informacionen los genes se proyecta mediante el fenotipo, que al mismo tiempo le da un valorunico a cada solucion dentro del proceso evolutivo. Si se toma en cuenta al fenotipocomo una representacion “visual” del genotipo, dentro de un proceso de busquedabasado en la evolucion el fenotipo engloba las caracterısticas que se perciben delindividuo en el medio ambiente, lo cual permite que cada individuo sea consideradocomo una opcion de solucion final.

Se puede decir que el fenotipo de un individuo se expresa directamente como suvalor de aptitud (fitness) dentro del proceso de busqueda del algoritmo evolutivo,ya que el valor fitness es utilizado para medir la calidad de la solucion y determinarsu comportamiento.

21

Capıtulo 3. Algoritmos evolutivos LANIA

El valor fitness de un individuo es igual al resultado de su evaluacion, por lotanto, basado en un individuo ui, su ecuacion representativa es la siguiente:

fitness(ui) = f(ui)

Siendo fitness la funcion objetivo cuando no se toman en cuenta restriccionesdentro del problema a solucionar (la inclusion de restricciones se tratara masadelante). La funcion a evaluar por los individuos se representa formalmente como:

f : Rn ← R

3.1.2. Reproduccion de individuos

La operacion de reproduccion consiste en generar nuevos individuos a partir de unconjunto previo. El objetivo de la reproduccion es diversificar las posibles solucionesal problema tratado, para que de esta manera puedan competir, sobrevivan losmejor adaptados y se de un proceso de evolucion (claramente elitista). Se presentandos tipos de reproduccion.

Cruza: Durante esta fase se cruzan o mezclan los individuos seleccionadosen la fase anterior. Los genes de los dos padres se mezclan entre sı para darlugar a diferentes hijos. Existen diversos metodos de cruza, pero los masutilizados son los siguientes:

• Cruza basada en un punto: los dos individuos seleccionados para jugarel papel de padres son recombinados por medio de la seleccion de unpunto de corte, para posteriormente intercambiar las secciones que seencuentran a la derecha de dicho punto. Es decir, los genes del padre1 ala izquierda del punto de corte forman parte del hijo1 y los situados a laderecha formaran parte del hijo2, mientras que con el padre2 sucedera locontrario [53]. La Figura 9 muestra un ejemplo de este tipo de cruza.

• Cruza punto a punto: este tipo de cruza es similar al anterior perorealizandose para cada gen de los padres. Por tanto, en esta cruza losgenes pares del padre1 formaran parte del hijo1 y los genes imparesformaran parte del hijo2, mientras que para el padre2 sucedera locontrario [54]. La Figura 10 muestra un ejemplo de este proceso.

• Cruze multipunto: en este tipo de cruza se selecciona aleatoriamente lacantidad de puntos que se van a utilizar. De esta manera, similar a losejemplos presentados en las Figuras 9 y 10, se iran intercambiando losgenes en los padres para formar los dos nuevos hijos.

• Cruzas especıficas de codificaciones no binarias: ademas de losanteriores, otros tipos de operadores de cruza [55,56]:

22

Capıtulo 3. Algoritmos evolutivos LANIA

◦ Media: el gen “mutado” que pasa a la siguiente generacion toma elvalor promedio de los genes de los padres.

◦ Media geometrica: cada gen de la descendencia toma como valor laraız cuadrada del producto de los genes de los padres.

Figura 9: Ejemplo de cruza en un punto.

Figura 10: Ejemplo de cruza punto a punto.

Mutacion: Es un operador que trabaja al agregar un pequeno elementode aleatoriedad a los individuos de la poblacion. Si bien se admite que eloperador de cruza es el responsable de efectuar la busqueda a lo largo delespacio de posibles soluciones, el operador de mutacion es el responsable delaumento o reduccion del espacio de busqueda dentro del algoritmo genetico ydel fomento de la variabilidad genetica de los individuos de la poblacion [51].Es posible encontrar ejemplos del proceso de mutacion en las paginas 44, 52y 58, los cuales seran explicados en el capıtulo 5.

23

Capıtulo 3. Algoritmos evolutivos LANIA

Existen varios metodos para aplicar la mutacion a los individuos de unapoblacion, pero el mas comun es el de mutar un porcentaje de los genestotales de la poblacion.

Este porcentaje de genes a mutar se puede seleccionar de dos maneras,de forma fija, especificando el mismo porcentaje de mutacion a todas lasgeneraciones del algoritmo y de forma variable, es decir, modificando elporcentaje de mutacion de una generacion a otra, por ejemplo reduciendolo.De esta manera, se consigue hacer una busqueda mas amplia y global alprincipio e ir reduciendola en las siguientes generaciones.

Definicion 3.1.1. La convergencia es una medida de comportamiento de losindividuos de la poblacion. Se sabe que cada individuo evoluciona, eso quieredecir que va modificando sus caracterısticas y al mismo tiempo, el algoritmo debusqueda va “caminando” sobre el espacio de busqueda. Se dice que una poblacionconverge, cuando los cambios en los individuos dejan de ser importantes, o cuandola busqueda ya no camina.

El criterio de parada se alcanza por diversas razones, una puede ser que eltotal de iteraciones se haya completado, que las soluciones de los individuos seansuficientemente buenas para el problema tratado o cuando se considera que lapoblacion ha convergido. En un algoritmo genetico se entiende que una poblacionha convergido cuando la mayorıa de los individuos ha dejado de sufrir importantescambios en la informacion de sus genes a traves del proceso evolutivo [57].

3.1.3. Seleccion de soluciones

Debido a las diferentes versiones de seleccion de individuos y la gran cantidad deinformacion sobre los mismos, en este apartado, se presenta una explicacion brevede cada tecnica, seguida de su algoritmo general [58].

Seleccion determinista: Este tipo de seleccion devuelve los n mejoreselementos de la poblacion, se considera que el orden es ascendente, por loque en el proceso la seleccion se realiza de forma simple de acuerdo a lacalidad de las soluciones. El algoritmo 2 muestra el pseudocodigo para estatecnica.

24

Capıtulo 3. Algoritmos evolutivos LANIA

Algoritmo 2: Algoritmo de seleccion determinista

Entrada: Poblacionseleccion ← listaVaciapob ← ordenarLista()for i ← 1 to n do

seleccion ← agregarIndividuo(pob[i])end

Seleccion proporcional: El algoritmo 3 muestra un ejemplo de este tipo deseleccion. En este metodo la probabilidad de un individuo de ser seleccionadoes proporcional a su valor de aptitud (usualmente hablando de un procesode maximizacion), siendo comparado contra el de los demas individuos dela poblacion [59]. El valor de probabilidad de eleccion se define mediante lasiguiente formula:

P (p1) = f(x)∑|pob|i=1 f(x)

Un ejemplo de implementacion de esta tecnica se llama “seleccion por elmetodo de la ruleta” [54].

Algoritmo 3: Algoritmo de seleccion proporcional

listaProb ← listaVaciafor i ← 1 to tamanoPoblacion do

totalProb ← totalProb + P (x)pobiendfor i ← 1 to tamanoPoblacion do

listaProb[i] ← P (f(x)pobi)/totalProbend

25

Capıtulo 3. Algoritmos evolutivos LANIA

Seleccion por torneo: El algoritmo 4 muestra un ejemplo de este tipo deseleccion. En la seleccion por torneo, se escogen n invidiuos de la poblaciontotal para ser comparados entre ellos mismos, en cada enfrentamiento, elganador se considera como seleccionado, otra version podrıa seleccionar a losm individuos con mayor cantidad de enfrentamientos.

Algoritmo 4: Algoritmo de seleccion por torneo

Require: Poblacionseleccion← listaV aciak : Numero de enfrentamientos por ronda del torneowhile i ≤ tamanoSeleccion doa← rand(indviduosPoblacion)while j ← 1 to k do

if temp← rand(individuosPoblacion) 6= a thenmejor ← obtenerGanador(a, temp)

end ifend whileseleccion[i]← mejor

end while

3.2. Paradigmas de implementacion

En este apartado se realiza una descripcion breve de los paradigmas actuales decomputacion evolutiva. El objetivo principal de la exposicion de esta informacionconsiste en diferenciar los esfuerzos realizados en esta area.

3.2.1. Algoritmos geneticos

De acuerdo con [60], una definicion valida de algoritmos geneticos puede ser lasiguiente:

“Son algoritmos de busqueda basados en la mecanica de seleccionnatural y de la genetica natural. Combinan la supervivencia delmas apto entre estructuras de secuencias con un intercambio deinformacion estructurado, aunque de forma aleatoria, para constituirası un algoritmo de busqueda que tenga algo de las genialidades de lasbusquedas realizadas por los humanos”.

26

Capıtulo 3. Algoritmos evolutivos LANIA

Estos algoritmos heredan las caracterısticas de trabajar con una poblacion deindividuos, los cuales representan posibles soluciones al problema tratado. Cadaindividuo esta asociado, de acuerdo a sus caracterısticas a un valor de bondad y unconjunto de generaciones de evolucion. Los algoritmos geneticos trabajan a niveldel genotipo [61], por lo cual implementan operadores de cruza y mutacion.

Algoritmo 5: Algoritmo genetico general.g ← 0InicializarPoblacion()while !criterioTerminacion() do

while poblacion temporal no llena doSeleccionar padresCruzar padres con probabilidad Pmif Se ha producido el cruce then

Mutar descendiente con probabilidad PdEvaluar descendientesAnadir descendientes a la poblacion temporal

elseAnadir los padres a la poblacioestos contornosn temporal

end

endg ← g + 1Actualizar poblacion con los mejores individuos de temporal

end

Como se puede observar en el Algoritmo 5, una generacion se componepor la aplicacion de los operadores de reproduccion a la poblacion actual, loselementos mutados son almacenados en un subconjunto de individuos temporales(poblacion temporal), la cual es representada por un arreglo de individuos vacıo encada iteracion general, la aplicacion de estos operadores y la comparacion de losindividuos cruzados generan una descendencia del mismo tamano del numero depadres (cruza sexual), donde usualmente dos padres generan dos hijos. Si dentrode una generacion no se reproducen los individuos, estos mismo individuos (lospadres) sobreviviran a la siguiente generacion sin sufrir algun cambio.

27

Capıtulo 3. Algoritmos evolutivos LANIA

Algunas aplicaciones de los algoritmos geneticos se listan en el Cuadro 1.

Cuadro 1: Aplicaciones de los algoritmos geneticos.

Aplicaciones Referencias

Medicina [62–64]

Minerıa de datos [65,66]

Comunicaciones [67,68]

Ingenierıa electrica [69,70]

Economıa [71]

3.2.2. Programacion evolutiva

Su principal diferencia radica en que trabaja a nivel del fenotipo, evolucionandola poblacion a nivel de especies. La programacion evolutiva descarta por completomecanismos sobre el genoma, esto quiere decir que no existen operaciones de cruza.El principal objetivo de la programacion evolutiva es maximizar la aptitud deun conjunto de soluciones candidatas, haciendo enfasis en la herencia despues deaplicar operadores de mutacion [72].

El algoritmo basico de la programacion evolutiva, mostrado en el Algoritmo6, consiste en los siguientes pasos:

Generar aleatoriamente una poblacion inicial

Aplicar operadores de mutacion

Calcular la aptitud de cada hijo, usando un proceso de seleccion mediantetorneo para determinar cuales seran las soluciones que se retendran.

Algoritmo 6: Algoritmo generico de programacion evolutiva.

InicializarPoblacion(Pob)evaluarPoblacion(Pob)while !criterioTerminacion() do

offspring ← mutarPoblacion(Pob)evaluarPoblacion(offspring)Pob ← Seleccionar por torneo los mejores individuos

end

28

Capıtulo 3. Algoritmos evolutivos LANIA

Algunas aplicaciones de la programacion evolutiva se listan en el Cuadro 2.

Cuadro 2: Aplicaciones de programacion evolutiva.

Aplicaciones Referencias

Aprendizaje maquina [73]

Comportamiento video juegos [74,75]

Quımica [76–78]

Ingenierıa electrica [79,80]

Minerıa de datos [81]

3.2.3. Estrategia evolutiva

En esta seccion se presenta una descripcion muy breve de la estrategia evolutiva,mientras que en el Capıtulo 5 se describe nuevamente con mayor detalle, ya que eltrabajo realizado en esta tesis utiliza una instancia de esta tecnica para formularlos resultados.

Las Estrategias Evolutivas fueron desarrolladas en 1964 en Alemania pararesolver problemas hidrodinamicos de alto grado de complejidad por un grupode estudiantes de ingenierıa encabezado por Ingo Rechenberg. La version original(1+1)-EE usaba un solo padre y con el se generaba un solo hijo, este hijo semantenıa si era mejor que el padre o de lo contrario se eliminaba (a este tipo deseleccion se le llama extintiva porque los peores individuos tienen una probabilidadcero de ser seleccionados).

Rechenberg introdujo el concepto de poblacion, al proponer una estrategiaevolutiva llamada (λ +1)-EE, en la cual hay λ padres y se genera un solo hijo,que puede reemplazar al peor padre de la poblacion (seleccion extintiva). Schwefelintrodujo el uso de multiples hijos en las estrategias similares denominadas como:(µ + λ)-EE. Una definicion basica del algoritmo de estrategia evolutiva se muestraen el Algoritmo 7.

29

Capıtulo 3. Algoritmos evolutivos LANIA

Algoritmo 7: Pasos genericos de estrategia evolutiva.

inicializarPoblacion(Pob)evaluarPoblacion(Pob)while !criterioTerminacion() do

offspring ← cruzarPoblacion(Pob)mutarPoblacion(offspring)evaluarPoblacion(offspring)Pob ← Seleccionar mejores individuos

end

Existen dos formas de seleccionar los individuos considerados como mejores encada generacion:

En el primer caso, los µ mejores individuos sobreviven.

En el segundo caso, solo los µ mejores hijos de la siguiente generacionsobreviven.

Los operadores de recombinacion de las Estrategias Evolutivas pueden ser:

Sexuales: el operador actua sobre 2 individuos elegidos aleatoriamente de lapoblacion de padres.

Panmıticos: se elige un solo padre al azar, el cual se mantiene fijo mientras seelige al azar un segundo padre (diferente del primero) para cada componentedel conjunto de individuos a recombinar.

Algunos ejemplos de areas de aplicacion de EE se muestran en el Cuadro 3.

Cuadro 3: Aplicaciones de EE.

Aplicaciones Referencias

Minerıa de datos [82]

Calendarizacion [83]

Optimizacion combinatoria [84–86]

Geometrıa y fısica [87,88]

Procesamiento de imagenes [89–91]

30

CAPITULO 4

Afinacion de parametros

“La implementacion de algoritmos de afinacion de parametrosdevuelve recompensas muy grandes, los esfuerzos son moderados ylas ganancias en el comportamiento de los algoritmos puede ser muysignificativas” [92].

Utilizando afinadores no solo se obtienen configuraciones superiores deparametros, sino tambien mucha informacion acerca de la relacion entre parametrosy rendimiento, la cual puede ser utilizada para obtener un conocimiento masprofundo del algoritmo en cuestion. Cuando se disena un algoritmo evolutivo nuevo,usualmente se compara contra un conjunto de problemas de prueba documentadosen la literatura. Uno de los mayores problemas para realizar esta comparacion,ası como el estudio del algoritmo nuevo es la necesidad de generar una grancantidad de resultados diferentes para sacar estadısticas de los mismos. Trabajarbajo estas condiciones durante una experimentacion competitiva resulta complejocomo se explica con detalle en [93].

La ejecucion de un algoritmo evolutivo se basa en la seleccion de loscomponentes internos que lo hacen funcionar (seleccion, mutacion, recombinacion,sobrevivencia) [94, 95]. La idea general consiste en delegar al EA el trabajode representacion y busqueda de soluciones del problema a tratar, mientrasque el usuario se ocupa de delimitar algunos parametros necesarios para sufuncionamiento, asignar valores de forma empırica, lo cual resulta complejo ypoco efectivo, de esta manera surge la necesidad de un proceso de seleccion deparametros adecuado.

La configuracion de un algoritmo se define como el hecho de asignar a todossus parametros un valor especıfico dentro de su dominio. Ademas, se percibeque establecer configuraciones para diferentes algoritmos es un proceso realmentecomplejo si se toma en cuenta que no generan resultados iguales, aun cuandose apliquen al mismo problema, ya que la eleccion de diferentes valores en losparametros de entrada implica diferentes niveles de bondad en las soluciones, esimportante saber como afinar los valores de los parametros para que devuelvan losmejores resultados.

31

Capıtulo 4. Afinacion de parametros LANIA

Figura 11: Parametros usados en algoritmos evolutivos.

El analisis de parametros-resultados es una actividad bastante difıcil derealizar, ya que en la mayorıa de los casos no existe un modelo formal para realizarexperimentos sobre heurısticas. Hasta el momento, la definicion de los valoresiniciales se hace mediante pruebas estadısticas, consenso de resultados, propuestasde la literatura especializada o en algunos casos por la experiencia del investigador.Se debe considerar que algunas implican la dedicacion de mucho tiempo o tiendena ser subjetivas [93].

En este apartado se expone teorıa sobre el estado actual de los metodos deafinacion de parametros, clasificacion de las soluciones implementadas, ası comoalgunos ejemplos documentados en la literatura especializada.

4.1. Introduccion

De acuerdo con Maturana, Lardeux y Saubion [96], la implementacion de unalgoritmo evolutivo se compone de dos fases: la primera se relaciona con su diseno,donde los componentes del mismo son definidos (ver Figura 7 del Capıtulo 3). Lasegunda fase se relaciona con la correcta ejecucion del EA, lo que provoca el ajustede su comportamiento a lo largo de su ejecucion. Las dos fases implican una tomade decisiones que puede realizarse de forma parametrica.

Un concepto importante en la literatura de EA es el de instancia. Se diceque se tiene la instancia de un EA cuando se han definido las caracterısticas detodos sus componentes internos, ası como los valores de parametros tomando encuenta los lımites de sus dominios (la Figura 11, ejemplifica representaciones deparametros). La seleccion de estos componentes y valores se traducen en decisionesy sub-problemas de optimizacion. Si la decision de instanciar componentes de EA seconsideran parametricas, se pueden identificar dos tipos de parametros, los cualesse describen brevemente de la siguiente forma:

32

Capıtulo 4. Afinacion de parametros LANIA

Parametros cualitativos: Representan la seleccion de los componentes delEA, por ejemplo, el tipo de recombinacion y el operador de mutacion entrelos disponibles.

Parametros cuantitativos: Representados usualmente con valoresnumericos, definen aspectos como el tamano de la poblacion, numero deindividuos en la descendencia, rangos de mutacion, generaciones, etc. Dentrode esta categorıa es necesario notar que existe un subconjunto de parametrosque establecen la estructura del algoritmo, tal como el tamano de lapoblacion, mientras que existe otro subconjunto de parametros que indicanel comportamiento de los operadores seleccionados, tal como el rango demutacion.

Figura 12: Representacion en capas del contexto de un algoritmo evolutivo.

33

Capıtulo 4. Afinacion de parametros LANIA

La Figura 12, resume la informacion del capıtulo discutida hasta el momento,representa la conjuncion de definiciones de parametros y componentes comola representacion de una instancia de algoritmo evolutivo, la cual se aplica ala problematica tratada. El hecho de que los rectangulos esten sobrepuestoshace referencia a que la implementacion de los algoritmos evolutivos dependede la problematica y que la calidad de las soluciones encontradas depende dela implementacion de la instancia del algoritmo evolutivo sobre el modelo delproblema actual.

Existen diferentes motivos por los cuales se puede implementar un algoritmoafinador de parametros, algunos de ellos son [92]:

Para obtener la instancia de un algoritmo evolutivo con alto rendimiento,dada una forma o conjunto de formas de medir el comportamiento.

Para obtener la instancia de un algoritmo evolutivo, robusta a cambios en laespecificacion del problema a tratar.

Para determinar la robustez de un algoritmo a cambios en la definicion desus parametros.

Para aprender la relacion entre los parametros y el comportamiento de unalgoritmo evolutivo.

Minimizar los recursos que requiere un algoritmo evolutivo para devolverbuenos resultados. El objetivo de este trabajo.

Entre otras implementaciones importantes de afinadores de parametros sepuede encontrar al afinador meta-GA [97], el metodo REVAC [98], los cualestrabajan sobre parametros numericos. Otros trabajos importantes son ANOVA [99]y racing [100], lo cuales presumen ser aplicables tanto a parametros cualitativoscomo cuantitativos.

4.1.1. Costo de configurar parametros

Desde el punto de vista de un algoritmo de afinacion de parametros, el costo derealizar una busqueda sobre un espacio de soluciones es bastante alto. Es muy difıcildefinir una unidad de medida puesto que se trabaja con algoritmos evolutivoscomplejos que requieren diferentes niveles de recursos computacionales. Apartede la complejidad de la implementacion del algoritmo de busqueda, otro factorimportante se refiere a las propiedades del problema que se este evaluando, laconjuncion de estas variables resulta en esfuerzos demandantes para cada funcion[101].

34

Capıtulo 4. Afinacion de parametros LANIA

En general, el esfuerzo total puede ser expresado mediante el productoAxBxC, donde las constantes tienen los siguientes significados

A: Numeros de vectores de parametros evaluados por el afinador.

B: Numero de pruebas realizadas a cada parametro para definir su utilidad.

C: Numero de funciones objetivo evaluadas para devolver los resultados. Sise esta hablando de un afinador, entonces se refiere a la cantidad de funcionesque el algoritmo evolutivo debe resolver para que pueda obtener una instanciageneralista.

4.1.2. Introduccion al control de parametros de EA

Hasta el momento existen dos enfoques para asignar buenos parametros aalgoritmos [102–104], afinacion de parametros y control de parametros, los cualesse definen de la siguiente forma [105]:

Afinacion de parametros: Se aplican tecnicas para definir una buenaconfiguracion de parametros antes de la ejecucion del algoritmo evolutivo.En este caso, los valores asignados a los parametros se mantienen fijos a lolargo de la ejecucion.

Control de parametros: Se aplican tecnicas para definir la configuracionde los parametros durante la ejecucion del algoritmo evolutivo. En este casolos valores cambian de acuerdo al comportamiento del algoritmo, comienzacon una configuracion inicial de parametros y van cambiando de acuerdo asu aptitud a traves del tiempo.

Un metodo muy recordado de control de parametros es la regla usadapor el algoritmo de estrategia evolutiva, donde, dependiendo de un valor deprobabilidad de exito en la aptitud de un individuo y un umbral de tolerancia,el rango de mutacion es incrementado o decrementado, con lo cual se consigueredefinir dinamicamente los procesos geneticos de la evolucion de los individuos[104, 106, 107]. Otros trabajos proponen tecnicas para encontrar relaciones entrelos parametros y los resultados obtenidos [108], identificando patrones y generandomodelos estadısticos o matematicos internos.

35

Capıtulo 4. Afinacion de parametros LANIA

Figura 13: Objetivos de configuracion de parametros.

La Figura 13 muestra una breve clasificacion de los enfoques de asignacion deparametros, la descripcion detallada de los metodos de control de parametros sepuede encontrar en el trabajo de Eiben, Hinterding y Michalewicz [105]. Sobrelas categorıas de control de parametros mostradas en la figura, se describe losiguiente [97].

Control determinista: Esta clasificacion de metodos modifica los valoresde los parametros de acuerdo a alguna metrica estadıstica pre-establecida. Laprincipal caracterıstica de estas implementaciones consiste en la modificacionde los parametros sin haber obtenido informacion de la utilidad de losvectores o cualquier informacion relacionada con la busqueda. Un ejemplode esto es generar alteraciones despues de un periodo de tiempo o cantidadde ejecuciones establecidas.

Control adaptativo: Este metodo tiene lugar cuando se toma en cuentacierta forma de retroalimentacion del proceso de busqueda y se utiliza suinformacion para determinar la direccion o magnitud del cambio en losparametros.

Control auto-adaptativo: Este metodo implementa la idea de laevolucion de las soluciones. Los parametros son adaptados y codificados comocromosomas y son sometidos a procesos de mutacion y recombinacion. Losmejores valores conducen a mejores individuos, los cuales tienen mayoresposibilidades de sobrevivir y generar descendencia.

El reto principal del diseno y configuracion de algoritmos evolutivos consiste ensaber que la definicion de valores para el conjunto de parametros de entrada de losalgoritmos influye en gran medida en su desempeno. Debido a esta problematica,se dice que el diseno de algoritmos, los cuales resuelven problemas de optimizacion,se convierte en un problema de optimizacion independiente [109].

36

Capıtulo 4. Afinacion de parametros LANIA

Ya que la afinacion de parametros tiene las caracterısticas de un problemaclasico de optimizacion, uno de los enfoques para resolverlo consiste en aplicar unalgoritmo evolutivo. En este caso el algoritmo afinador se convierte en una meta-heurıstica, que hereda las propiedades de las implementaciones actuales, tales comouna poblacion con individuos como soluciones, generaciones y parametros propiosdel metodo de busqueda implementado [101,108].

Algo que vale la pena considerar, es que el uso de una meta-heurıstica paraconfigurar instancias de algoritmos evolutivos, implica que la meta-heurısticaherede todas las bondades de los algoritmos evolutivos, lo cual le proporcionauna gran capacidad para obtener un buen resultado, sin embargo, mientras estosucede, el algoritmo afinador tambien hereda todas dificultades de los EAs, talcomo la necesidad de configuracion de sus parametros.

4.1.3. Definicion de un afinador de parametros

Dentro del ambito de la afinacion de parametros de [92], se puede visualizar elproceso de afinacion de parametros con la siguiente imagen.

Figura 14: Estructura logica de un afinador de parametros.

La Figura 14 muestra una implementacion tıpica de un algoritmo afinador,donde la solucion final consiste en resolver dos problemas de optimizacionindependientes. El primer problema se genera entre la capa de aplicacion y la capadel algoritmo, la primera hace referencia al problema que se intenta solucionar,mientras que la segunda capa representa el algoritmo que trata de resolver estaproblematica. El segundo problema se mantiene creando diferentes vectores deparametros de solucion para la configuracion optima de los mismos.

Cada vector de parametros generado tendra que ser evaluado, dando comoresultado el valor que corresponde a su utilidad. Las flechas de la imagen muestran

37

Capıtulo 4. Afinacion de parametros LANIA

el flujo de comunicacion entre los componentes. El afinador de parametros en lacapa de diseno genera un conjunto de vectores que deben ser evaluados medianteuna funcion de utilidad, la capa del algoritmo debe utilizar los parametros yejecutar el algoritmo evolutivo para obtener el valor de aptitud. Se puede decirque cada capa se mantiene optimizando sobre su propio espacio de soluciones.

Se debe tomar en cuenta que en los problemas de optimizacion que seacaban de describir se obtienen valores de calidad. Para el espacio de solucionesde vectores de parametros (el afinador de parametros) la calidad se mide deacuerdo a su utilidad, mientras que para el espacio de soluciones de vectores devariables de decision (el resolvedor del problema) la calidad se mide a traves de laaptitud. La estructura en capas presentada es independiente del metodo de solucionimplementado, solo se muestran los componentes principales.

4.2. Clasificacion de los metodos de afinacion de parametros

Todos los algoritmos afinadores de parametros consisten en la generacion y pruebade un conjunto de vectores, que despues de cierto tiempo deriva en la definicionde un vector con mayor utilidad.

Dentro de la primera categorıa se toman en cuenta los algoritmos de acuerdoa la naturaleza implementada en su busqueda de soluciones optimas.

• Afinadores no iterativos: Este tipo de afinadores ejecuta el procesode generacion de parametros solo una vez durante su ejecucion, seobtiene la utilidad de cada vector durante la fase de evaluacion paraencontrar el mejor. En todo caso, se dice que estos afinadores solorealizan las tareas de inicializacion y prueba, como ejemplos estan Latin-Square [103] y Taguchi Orthogonal [110].

• Afinadores iterativos: La principal propiedad de este tipo deafinadores es que, a diferencia de su contraparte, los valores de losvectores no permanecen estaticos, sino que se modifican a lo largode un numero definido de repeticiones, en otros casos el numero devectores puede variar, ejemplos de implementacion son los algoritmosmeta-heurısticos.

En la segunda categorıa se hacen evidentes las diferencias en laimplementacion de la funcion de utilidad, la principal diferencia consisteen como discriminan los vectores de parametros generados previamente[111,112].

38

Capıtulo 4. Afinacion de parametros LANIA

• Afinadores de una etapa: Se realiza el mismo numero de pruebaspara todos los vectores de parametros en el espacio de busqueda de algunmodo. Puede llamarse un proceso exhaustivo dentro de los elementosde la poblacion, puesto que no discriminan entre las posibilidades.

• Afinadores de multiples etapas: Realizan una forma dediscriminacion local en los parametros, al agregar un mecanismo deseleccion de los vectores de parametros e ignorar los demas de acuerdoa su utilidad.

De la misma forma que los algoritmos evolutivos, los afinadores puedenexplorar soluciones nuevas para descubrir vectores prometedores o explotarlas soluciones que se considera tienen mejores posibilidades. De acuerdo con eltipo de balance entre estos conceptos se puede identificar una ultima categorıaentre los afinadores de parametros.

• Meta-algoritmos evolutivos: Dan prioridad a la explotacion de lasmejores soluciones encontradas para devolver aquel vector con la mejorutilidad.

• Muestreo de soluciones: Dan prioridad a la exploracion de vectorescon el objetivo de obtener informacion propia de los parametros o delcomportamiento de los algoritmos evolutivos.

4.3. Metodos de afinacion implementados

Este apartado expone diferentes metodos documentados en la literaturapara la afinacion de parametros, si bien tienen una relacion o similitud con lasclasificaciones presentadas en la seccion anterior, se considera que la definicion delos metodos de esta seccion son una especializacion de los presentados.

Metodos de exploracion de vectores: Tratan de analizar el valor yla robustez de los parametros, para definir su importancia. Este tipo demetodos no pretende encontrar el vector con mayor utilidad, sino explorarlas propiedades de los mismos. Por estos motivos, este tipo de algoritmosno se utilizan como afinadores independientes, sino como puntos de entradapara afinadores de parametros.

Metodos de exploracion iterativos: Implementan busquedas deexploracion iterativas a las soluciones que se vuelven mas fuertes, de modoque se utilizan como afinadores independientes, un ejemplo importante esCALIBRA [113].

39

Capıtulo 4. Afinacion de parametros LANIA

Metodos basados en modelo: Definen un modelo derivado de relacionarparametros y su utilidad despues de ser evaluados. Entre los objetivos del usode un modelo esta el eliminar estadısticamente los vectores de parametros queno tienen buena probabilidad de devolver buenos resultados. Otro objetivoconsiste en generar nuevos vectores de parametros a partir de la extra-polacion de los valores de los vectores actuales, inclusive se puede calcularmatematicamente el valor de los vectores utilizando tecnicas de regresion[114–116].

Metodo iterativo basado en modelo: Mantiene las tecnicas de busquedadel algoritmo anterior, agregando una ejecucion iterativa y extendiendo elmetodo para que despues de la estimacion de los parametros se realiceuna busqueda local que optimice los parametros encontrados al inicio dela iteracion. Un buen ejemplo de este metodo es Coy [109].

Meta-algoritmos evolutivos: Representan los vectores de parametroscomo individuos de una poblacion, la poblacion evoluciona a traves degeneraciones, un valor derivado de la aptitud de los individuos es asignada ala utilidad, el objetivo es devolver un conjunto de valores especıficos que paraobtener un algoritmo mejor adaptado al final de su proceso. Estos algoritmosbuscan la configuracion optima de los parametros dejando de lado generarconocimiento sobre su funcionamiento [97,117].

4.4. Robustez como medida de calidad

Hasta este momento se ha hablado de calidad con respecto a las instanciasde los EA, sin embargo, resulta util conocer el comportamiento que tienen conrespecto a los problemas tratados. En este caso se asigna una aptitud no a unasolucion encontrada por el EA, sino que se asigna al mismo EA, dependiendo desu comportamiento, que se llama robustez. El estudio de esta medida puede servisto de las siguientes maneras [92]:

Analizar la calidad de un algoritmo evolutivo al estudiar la dependencia desu rendimiento con los diferentes problemas que resuelve.

Analizar la calidad de un algoritmo evolutivo al estudiar la variacion de ladependencia en su rendimiento para diferentes ejecuciones sobre un mismoproblema.

Medir la robustez de un algoritmo permite definir ciertas caracterısticas delmismo, tales como su aplicabilidad para un conjunto de problemas, ası comola posibilidad de afinar sus parametros de acuerdo a su dominio, tomando en

40

Capıtulo 4. Afinacion de parametros LANIA

cuenta si los resultados obtenidos son consistentes en calidad al compararlos condiferentes instancias. Esto resulta importante para un afinador, puesto que de estascaracterısticas se puede medir que tan productivo es, tomando en cuenta que debenexistir otras medidas de calidad en la literatura, se presentan las siguientes:

Aplicabilidad: Cuando se asignan valores a los parametros de un algoritmoevolutivo se obtiene una instancia especialista, sin embargo, no tiene lacapacidad de asegurar que los resultados obtenidos para una funcion f(x)sean buenos para otras funciones. En un algoritmo afinador, lo ideal es quetenga la capacidad de ser aplicado a diferentes algoritmos evolutivos. Laaplicacion de un algoritmo de afinacion de parametros a un conjunto defunciones de prueba ~f , construira una instancia generalista.

Consistencia de resultados: Para que un algoritmo de afinacion deparametros sea consistente, debe mantener la misma calidad en sus resultadosa lo largo de las diferentes ejecuciones sobre los problemas tratados. Yaque obviamente se intentan generar instancias con buenos resultados, sepuede medir la cantidad de ejecuciones que un algoritmo resulta con valoresaceptables de acuerdo con un umbral de comparacion. Cuando se mide ladiferencia de resultados entre las soluciones de EA’s obtenidas en diferentesejecuciones o con diferentes problemas de optimizacion, si la diferencia decalidad resulta “pequena” o con poca variacion, entonces se ha generado unainstancia de EA estable.

41

CAPITULO 5

Algoritmos evolutivos implementados

En este capıtulo se presentan en detalle los algoritmos evolutivos conque trabaja el algoritmo afinador. Los algoritmos son: Evolucion Diferencial“DE/rand/1/bin”, Evolucion Diferencial “DE/best/1/bin”, Estrategia Evolutiva yColonia Artificial de Hormigas. Para cada algoritmo se describe su funcionamiento,detalles relevantes propios de su implementacion utilizados para este trabajode tesis, ası como los resultados obtenidos de las pruebas a los mismos. Cabemencionar que un analisis detallado del funcionamiento interno de los EA quedafuera de los alcances de este documento.

Todos los algoritmos a describir tienen en comun la forma en que representanlos individuos. Para cada generacion se utiliza una estructura similar, la cual semuestra en la Figura 15.

Figura 15: Representacion de los individuos.

Todos los algoritmos trabajan con las variables xi, i = 1, ...n (donde n esel numero total de variables de decision) para establecer las restricciones. Sinembargo, para determinar la bondad de los individuos en cada generacion, seutiliza el valor impuesto como fitness, el campo “Factible” indica si una solucioncumple con las condiciones impuestas por las restricciones del problema, el valor defuncion objetivo se utiliza para almacenar el resultado de la evaluacion a la funcionobjetivo, numero de violaciones y suma de violaciones almacenan los valores de lasrestricciones no cumplidas por un individuo, los campos ri almacenan los valoresobtenidos por las restricciones en la evaluacion de f(x), mientras que los camposxi toman valores de variables de la definicion del problema.

42

Capıtulo 5. Algoritmos evolutivos implementados LANIA

5.1. Evolucion diferencial (DE/rand/1/bin)

Definido de la siguiente manera: “DE” significa evolucion diferencial por sus siglasen ingles, “rand” indica que el vector base se selecciona de manera aleatoria, “1” esel numero de diferencias que se calculan en el algoritmo y “bin” hace referencia altipo de recombinacion, en este caso binomial (se comprederan mejor los terminosmas adelante). Este algoritmo se basa en el analisis y distribucion de un conjuntode posibles soluciones, simulando un proceso de evolucion natural de las mismas,intentando en cada iteracion y mediante el uso de operadores de modificacion,realizar una busqueda en diferentes direcciones. El algoritmo mantiene un registrode la mejor solucion en cada iteracion, de esta manera intenta encontrar la optimaglobal al final de su ejecucion [118–120]. DE/rand/1/bin se encuentra definido enel Algoritmo 8.

Algoritmo 8: DE/rand/1/bin.

G = 0Crear una poblacion inicial aleatoria xi,G∀i, i = 1, ..., NPEvaluar f(xi,G)∀i, i = 1, ..., NPfor G=1 to MAX GEN do

for i=1 to NP doSeleccionar aleatoriamente r3 6= r1 6= r2 6= ijrand = randint(1,D)for j=1 to D do

if (randj[0, 1) < CR OR j = jrand) thenui,j,G = xr3,j,G−1 + F (xr1,j,G−1 − xr2,j,G−1)

elseui,j,G = xi,j,G−1

end

endif f(ui,G) ≤ f(xi,G−1) then

xi,G = ui,Gelse

xi,G = xi,G−1end

end

end

DE requiere de un conjunto de parametros para funcionar, tales como: numero desoluciones con las que va a trabajar, numero de iteraciones y parametros referentesa los operadores de cruza y mutacion. Se presenta en el Cuadro 4 una descripcionde estos valores.

43

Capıtulo 5. Algoritmos evolutivos implementados LANIA

Cuadro 4: Parametros de evolucion diferencial.

Nombre Sımbolo Descripcion

Numero vectores NP Numero de soluciones en lapoblacion.

Generaciones MAX GEN Iteraciones de la DE.

Factor de escala F Multiplica al vector diferencia quese utiliza para calcular el vectorde mutacion. Es un valor realentre(0,1+].

Porcentaje de cruza CR Determina la aportacion delvector de mutacion (con respectoal vector padre) en la generaciondel vector hijo.

Cada vector ~X, donde xi, i = 1,. . . ,NP, representativo de las variables dedecision del problema a optimizar sera comparado contra un vector hijo ( ~X ′)obtenido despues de aplicar un proceso de mutacion en cada iteracion o generacion.Despues de agregar el concepto de generacion, es valido decir que cada vector devariables podra ser identificado como xi,G, i = 1..., NP,G = 1, ...,MAX GEN .

5.1.1. Inicializacion del algoritmo

En esta etapa se asignan valores aleatorios mediante una distribucion uniforme alas variables xi en ~x. Cada variable del problema se encuentra asociada a un rangodelimitado por (liminferior < xi < limsuperior) donde los rangos de cada variablepueden variar. El dominio de los valores en las variables pertenece a los numerosreales.

5.1.2. Mutacion de los individuos

Cada vector xi,g, se convertira en un vector objetivo para reproducirse y generarun vector hijo ui,G. Para crear un hijo, es necesario obtener un vector mutante,el cual se crea mediante la manipulacion de los valores de otros vectores. En laecuacion 5.1.1 se define la forma de generar el vector de mutacion.

xmut = xr3 + F (xr1 − xr2) (5.1.1)

44

Capıtulo 5. Algoritmos evolutivos implementados LANIA

Primero se le da una direccion a la busqueda al obtener la diferencia entre dosvectores diferentes (xr1,G menos xr2,G), la diferencia se escala al multiplicarla conel parametro F > 0, para despues sumarla a los valores de un tercer vector, lostres vectores se seleccionan aleatoriamente, tomando en cuenta que deben seguirla siguiente regla:

r1 6= r2 6= r3 6= i (siendo i, el identificador del padre)

La Figura 16 muestra el proceso de creacion del vector mutante. El resultadode este proceso es una diferencia escalada de vectores, el cual define la direccion enque se mueve la busqueda de la solucion. La diferencia entre los vectores, sumadaal valor del vector base, define la posicion del vector mutante.

Figura 16: Creacion del vector mutante de DE.

5.1.3. Seleccion y eliminacion de individuos

Define la forma en que se discriminan los individuos que van a pasar a las siguientesfases del proceso evolutivo. El operador de recombinacion se aplica entre el vectorde mutacion y el vector prueba para dar origen al vector de comparacion y serealiza como lo indica la Ecuacion 5.1.2 y se muestra en la Figura 17.

ui,G = uj,i,G =

{vj,i,G si (randj(0, 1) ≤ CR o j = jrand)

xj,i,G−1 de otra manera (5.1.2)

El valor de CR se encuentra en un rango de [0,1] y define que tan parecidosera el vector hijo con respecto al vector de mutacion o al vector padre. Si CRes cercano a 1, el vector hijo se parecera mucho al vector de mutacion, si CRes cercano a 0, el vector hijo sera muy similar al vector padre. Cabe mencionarque, aunque el valor de CR sea igual a 0 (lo que implicarıa que el vector hijo sea

45

Capıtulo 5. Algoritmos evolutivos implementados LANIA

exactamente igual al vector padre), al menos una posicion del vector hijo siempresera distinta, debido a la condicion j = jrand, donde j representa una variable delvector que se esta calculando y jrand es una posicion del vector generada de maneraaleatoria en la cual el vector padre y el vector hijo diferiran [121].

Figura 17: Recombinacion en evolucion diferencial.

En la Figura 15, el vector randj(0,1) contiene valores ε(0,1), el valor en negritaes menor que CR, por lo tanto esa posicion se copia del vector de mutacion y elresto del vector padre. Se puede deducir que cuando el valor de CR se acerca acero, se incrementa la probabilidad de que el vector sea similar al vector padre,mientras que sera similar al vector de mutacion cuando CR se acerca a uno.

La implementacion del algoritmo de evolucion diferencial de este trabajo tomaen cuenta la recombinacion binomial, donde cada valor de las variables de decisiondel padre se emparejan con las del vector de mutacion y de acuerdo al valor deCR, se decide cual de los dos valores pasara al vector hijo. Cuando se ha generadoel vector hijo se realiza un procedimiento de seleccion local bipartita simple, en lacual se comparan directamente los vectores padre e hijo. El mejor de ellos pasara ala siguiente generacion, mientras que el peor sera eliminado. El proceso de seleccionesta definido por la Ecuacion 5.1.3.

xi,G =

{ui,G si f(ui,G) ≤ f(xi,G−1)xi,G de otra manera (5.1.3)

46

Capıtulo 5. Algoritmos evolutivos implementados LANIA

5.1.4. Manejo de restricciones

El manejo de restricciones se explica en dos contextos diferentes, uno dentrodel subproceso de mutacion de los individuos en la poblacion, mientras que el otrose refiere al subproceso de evaluacion de los vectores de solucion. Cada contextosugiere un tipo diferente de manejo de restricciones, los cuales se describen acontinuacion.

Restricciones en la mutacion de individuos

Ya que cada variable tiene asociado un lımite inferior y un lımite superior,cuando existe la situacion en que el valor de mutacion queda fuera de sus lımites,se tomo en cuenta la solucion propuesta por Saku y Jouni en [122], que consisteen un conjunto de reglas definidas en la Ecuacion 5.1.4.

uj,i,G =

{2xj

liminf − uj,i,G si uj,i,G < xjliminf

2xjlimsup − uj,i,G si uj,i,G > xj

limsup

uj,i,G de otra manera(5.1.4)

Donde liminf y limsup corresponden a los lımites previamente impuestos para cadavariable en la definicion del problema de optimizar.

Restricciones en la evaluacion de individuos

Dentro de este contexto, el manejo de restricciones consiste en laimplementacion de penalizaciones cuando una restriccion predefinida en la funcionde optimizacion ha sido violada. Para cada individuo dentro de la funcion deevaluacion, se analiza el valor de sus restricciones, cuando alguna restriccion esmayor a cero, el valor de factibilidad se vuelve negativo y se incrementa en unaunidad el valor fitness, de esta manera, resulta menos probable que el mismoindividuo sea elegido. Aun siendo la penalizacion muy pequena, se han obtenidobuenos resultados. Esta funcion se muestra en el siguiente algoritmo:

47

Capıtulo 5. Algoritmos evolutivos implementados LANIA

for G=1 to NUM RESTRICCIONES doif restriccionesi,G > 0 then

restricciones(i,G) = f(Xi,G) +NumV iolaciones(Xi,G)

elserestricciones(i,G) = f(Xi,G)

end

end

5.2. Evolucion diferencial (DE/best/1/bin)

La diferencia con respecto a DE/rand/1/bin consiste en que el vector basese selecciona encontrando el mejor individuo (“best”) entre toda la poblacion,mientras que en la implementacion descrita en la seccion anterior lo hace deforma aleatoria. En DE/best/1/bin los vectores r1 y r2 siguen siendo seleccionadosaleatoriamente. La ecuacion 5.2.1 define la forma en que genera el vector demutacion.

xmut = xrbest + F (xr1 − xr2) (5.2.1)

En esta seccion resulta importante retomar la siguiente regla.

rbest 6= r1 6= r2 6= i (siendo i, el identificador del padre) (5.2.2)

Durante el proceso de mutacion de individuos, cuando el vector base se elige alescoger el mejor individuo entre toda la poblacion, en algun momento este vectorbase rbest apuntara al mismo vector que aquel identificado como padre en 5.2.2.Esto quiere decir que cuando rbest = i, la regla definida en 5.2.2 no se cumple.Para solucionar esta situacion, al identificador del vector base rbest se le suma unaunidad, de esta manera y para este unico caso, se hace una excepcion y se ignorael vector considerado como el mejor con rbest + 1.

Considerese un caso de ejemplo, dentro de una poblacion de 100 individuos,donde rbest = 20 e i = 20, al incrementar el mejor vector en una unidad, la condicionen 5.2.2 se vuelve a cumplir.

48

Capıtulo 5. Algoritmos evolutivos implementados LANIA

Si despues de realizar el incremento se da el escenario de que el identificadordel mejor vector sobrepasa al lımite superior, es decir que apunta a un individuoinexistente (101 en el caso descrito anteriormente), entonces el identificador derbest se decrementa en una unidad, en caso contrario, si se encuentra en el lımiteinferior, se incrementa una unidad.

5.3. Estrategia evolutiva

El objetivo principal del algoritmo consiste en optimizar el resultado de lasfunciones de evaluacion, por medio de la mutacion y recombinacion de losindividuos participantes en su proceso iterativo de evolucion. La primera versiondel algoritmo se identifico como (1 + 1)-ES, la cual utiliza solo un individuo y esmutado usando el parametro σ, para dar como resultado un hijo. En cada iteracion,se escoge la mejor solucion entre los individuos y solo uno puede sobrevivir paracomenzar de nuevo el subproceso mencionado anteriormente [123].

La primer extension de este algoritmo disenada por Rechenberg se identificacomo (µ + 1)-ES, donde la notacion indica que se utilizan µ padres, los cualesgeneran λ hijos, por medio del operador de seleccion “+”. La idea general consisteen crear un conjunto inicial de soluciones aleatorias, las cuales seran los padresy que por cada generacion desarrollaran un conjunto de mutaciones (los hijos),que pretenden competir con los padres y obtener soluciones mejores a traves delnumero de iteraciones.

De acuerdo con la propuesta de Schwefel [124,125], en el algoritmo ES multi-miembros, al momento de realizar la seleccion de nuevos individuos, los cualespasaran a la siguiente iteracion, se pueden distinguir dos mecanismos, estos son:(µ + λ)-ES y (µ, λ)-ES. En el primer metodo el grupo de sobrevivientes se tomade la union de los padres con los hijos (offspring), mientras que en el segundo setoman solo del offspring.

Una propiedad del metodo implementado es que las soluciones iniciales notienen la capacidad de sobrevivir mas de una generacion, se supone en cadageneracion la mejora de los individuos a traves del proceso evolutivo, los cualesvan encontrando valores fitness mejores. Cada individuo conserva los elementospresentados al principio de la seccion, agregando a estos un conjunto de valores σdel mismo tamano que el conjunto de variables de decision (X). Los valores en elvector σ se utilizan en el proceso de mutacion.

49

Capıtulo 5. Algoritmos evolutivos implementados LANIA

Despues de un numero determinado de generaciones, el algoritmo terminade acuerdo a diferentes condiciones, dependientes de la implementacion. Estascondiciones o criterios de parada pueden ser los siguientes: [123]:

Criterio por recursos

• Numero maximo de iteraciones

• Lımite de tiempo de procesamiento

Criterio por convergencia

• Definicion sobre los valores fitness

• Definicion sobre los parametros objeto (variables de decision)

• Definicion sobre parametros estrategicos (σ)

La implementacion estudiada e implementada en este trabajo hace referenciaal algoritmo de estrategia evolutiva multimiembro, con tipo de seleccion “coma” ycon mutaciones no co-relacionadas. Se muestra este algoritmo en el Algoritmo 9

Algoritmo 9: Estrategia evolutiva (µ, λ).

t=0Crear µ soluciones aleatorias como poblacion inicialEvaluar los µ individuos generadosfor t=1 to MAX GEN do

Producir λ offspring recombinando los µ padresMutar cada hijo (individuo de λ)Evaluar individuos en λµ′ = Seleccionar mejores de µ ∪ λ

end

ES necesita conocer los valores de algunos parametros para funcionarcorrectamente, tales como el numero de padres, el tamano del offspring(descendientes) y el numero de generaciones. Se presenta en la siguiente tablauna descripcion de estos valores [123].

Cuadro 5: Parametros de estrategia evolutiva.

Nombre Descripcion

Numero de padres El tamano de los padres en cada generacion

Numero de hijos El tamano de los individuos mutados y recombinados

Numero de generaciones Numero total de iteraciones

50

Capıtulo 5. Algoritmos evolutivos implementados LANIA

5.3.1. Seleccion de individuos

Al igual que en todos los algoritmos de busqueda, uno de los aspectos principalesde su funcionamiento se refiere a la forma en que definen la direccion para recorrerel espacio de soluciones. De la forma en que se mostro, en ES existen dos metodosde seleccion, el metodo de seleccion denotado por el signo “+” y el denotado por“,”, ambos tienen la capacidad de ser determinısticos y elitistas.

Figura 18: Seleccion para (µ+ λ)-ES.

El ejemplo de la figura 18, muestra un ejemplo de la seleccion “+”, dondeel conjunto de individuos seleccionados se toma de la union de los padres con loshijos en la iteracion t. Es necesario notar que el grupo λ, tiene un mayor numerode integrantes, es decir, se cumple la condicion µ < λ, con el objetivo de que en elproceso exista suficiente informacion derivada de la mutacion de los padres. Si elnumero de padres fuera igual al de los hijos, no se estarıa haciendo una seleccion,sino un recorrido aleatorio [123].

Figura 19: Seleccion para (µ, λ)-ES.

La discriminacion de los individuos se realiza mediante la comparacion de suvalor fitness, donde los mas altos se consideran de mejor calidad, ası los individuoscon mayor calidad, tendran la oportunidad de reproducirse. En la figura 19, semuestra un ejemplo de seleccion “,”. donde se puede observar que se toman losmejores µ hijos resultantes de la mutacion en cada generacion t.

Los individuos seleccionados en una generacion t, se convierten en los padresde la siguiente generacion t+1, los nuevos padres seran mutados, recombinados ycomparados contra el nuevo offspring, hasta encontrar un criterio de parada.

51

Capıtulo 5. Algoritmos evolutivos implementados LANIA

5.3.2. Mutacion

El funcionamiento principal de la mutacion consiste en aplicar variaciones a losvalores de las variables de decision, ası como a los parametros estrategicos. Alproceso de mutacion de los individuos dentro de la iteraciones, se le conoce como“evolucion”, siendo la mutacion y seleccion a traves del tiempo, la analogıa directaentre el proceso reproductivo de la naturaleza y los algoritmos bio-inspirados.

Dentro del contexto de la mutacion en ES, los valores de σ co-evolucionan conel valor de f(x) al tener una relacion de cambio con los valores xt. La mutacion secalcula mediante las ecuaciones 5.3.1 y 5.3.2.

σ′i = σi ∗ exp(τ ′ ∗N(0, 1) + τ ∗Ni(0, 1)) (5.3.1)

x′i = xi + σ′i ∗Ni(0, 1) (5.3.2)

Los valores τ y τ ′ son interpretados como tasas de aprendizaje y son definidos

por su autor de la siguiente manera: τ = (√

2 ∗√n−1

) y τ ′ = (√

2n−1

), Ni(x, y)es una funcion que devuelve un numero aleatorio real con distribucion normalcon media “x” y desviacion “y”. El ındice i indica que este numero aleatorio esgenerado para cada variable de decision.

La mutacion de las variables de decision puede resultar en valores fuera delrango permitido para cada xi. Es necesario revisar y ajustar los valores generadospuesto que una variable fuera de rango implica una mayor probabilidad de unresultado no satisfactorio en la evaluacion del individuo.

5.3.3. Recombinacion

Existen dos tipos de recombinacion, recombinacion discreta y recombinacionintermedia, ambos tipos de operaciones pueden ser ejecutadas entre dos o maspadres o variables de decision, en ES la recombinacion es el siguiente paso de lamutacion y deriva la generacion del offspring. Para lograr un mejor entendimiento,se define que una recombinacion ocurre entre dos mutaciones P1i y P2i. De formagenerica, la recombinacion de estos individuos puede completarse mediante dosformas:

Recombinacion discreta: El individuo dentro de λ, se escoge por algun criterioprobabilıstico y puede ser P1i y P2i.

Recombinacion intermedia: El individuo dentro λ se escoge como resultadode la aplicacion de la formula: P1i + ((P2i − P1i)/2)

52

Capıtulo 5. Algoritmos evolutivos implementados LANIA

El proceso de recombinacion se realiza un numero de veces equivalente alnumero de mutaciones obtenido, al final del proceso se obtendra el mismo numerode individuos recombinados, de los cuales, los mejores podran pasar a la siguientefase para convertirse en los nuevos padres.

5.3.4. Manejo de restricciones

Las restricciones se toman en cuenta a la hora de generar las mutaciones paralas variables de decision dentro de un individuo. El manejo primario de lasrestricciones, se basa en asegurar que en cada mutacion, el valor que se asignaa la variable quede dentro de los lımites establecidos por la definicion de la funcionque se este evaluando.

Cada variable tiene asociado tanto un lımite inferior, como un lımite superior(ambos numeros reales). Si el valor de una mutacion queda fuera de sus lımites, laprobabilidad de que las restricciones no se cumplan, es mucho mayor, para evitaresto, en ES se tomo en cuenta la siguiente solucion.

Si la mutacion es mayor que el lımite inferior y menor que el superior, elvalor de la mutacion es aceptado, en caso contrario se genera una nueva solucionaleatoria.

uj,i,G =

{Aleatorios(liminf ,limsup) si uj,i,G < xj

liminf o uj,i,G > xjlimsup

uj,i,G de otra manera

El manejo de las restricciones del problema de optimizacion, ası como de suspenalizaciones se realiza de la misma forma que en DE.

5.4. Colonia artificial de abejas

Es un algoritmo de reciente creacion que comparte ciertas caracterısticas generalescon los metodos explicados, fue presentado por Karaboga [126]. Como su nombrelo indica, se inspira en el comportamiento de obtencion de alimento de las abejas,retomando las observaciones del estudio de procesos internos en las colonias de estosinsectos y haciendo enfasis en el aspecto social que implementan para conseguirgenerar conocimiento colectivo, a traves del intercambio de informacion durante elproceso.

Haciendo una referencia del metodo real, el modelo biologico de recoleccionde alimento de las abejas esta compuesto por los siguientes elementos:

53

Capıtulo 5. Algoritmos evolutivos implementados LANIA

Fuentes de alimento: El valor de una fuente de alimento depende de muchosfactores, tales como: la cercanıa que tiene con la colmena, la concentracion dealimento y la facilidad para extraerlo. Una fuente de alimento en el modelode la naturaleza, es representado por un individuo dentro de la poblacionen una generacion g. Por simplicidad, es posible representar la rentabilidadde una fuente de alimento mediante un valor numerico, dicho valor se puedemapear como el valor f(~x), sin tomar en cuenta las restricciones.

Abejas empleadas: Estas abejas estan asociadas con una fuente particular dealimento, la cual esta siendo explotada en una generacion g, el trabajo delas recolectoras consiste en obtener el alimento de una fuente de trabajo porun tiempo limitado, una vez que ese tiempo finaliza, vuelven a reportar lacalidad de la fuente que explotaron recientemente.

Abejas desempleadas (exploradoras): Estas abejas pueden buscar fuentes dealimentos y/o estan a la expectativa de la informacion de las recolectoras,dependiendo de la calidad reportada en las diferentes fuentes exploradas,pueden unirse a abejas companeras para trabajar en otra parte.

Como se menciono, una fuente de alimento corresponde a un individuo de lapoblacion en un determinado tiempo, lo cual indica que una fuente de alimentoespecıfica puede ir mutando a traves de las generaciones para convertirse en lamejor solucion global encontrada. El numero de abejas recolectoras es el mismoque el numero de fuentes de alimento, lo cual corresponde al numero de individuosen los parametros de entrada.

54

Capıtulo 5. Algoritmos evolutivos implementados LANIA

Figura 20: Entorno de la colonia artificial de abejas.

La Figura 20 muestra un ejemplo de la interaccion entre las abejas en undeterminado tiempo (generacion), ya que el numero de abejas es el mismo que elnumero de fuentes de alimento (de acuerdo a la implementacion del algoritmo),al principio cada abeja explota una fuente aleatoria de alimento, para regresar areportar la calidad de su fuente, en este momento, los mejores lugares son preferidossobre los lugares con un valor bajo.

En el ejemplo de la Figura 20 dos abejas estan comprometidas con lafuente de alimento B, al suponer que alguna de ellas (quiza la abeja 2) laexploto anteriormente, reporto buenos resultados y recluto a la abeja 3 porqueel valor de la fuente de alimento es muy alto. En caso de que la fuente no tengabuenos resultados, la abeja puede optar por volverse desempleada. Las abejasdesempleadas pueden dedicarse a buscar nuevas fuentes o ser observadoras a laespera de ser reclutadas y volverse recolectoras. La abeja 4 se encuentra explotandola fuente A, decidiendo explotarla en varias ocasiones.

55

Capıtulo 5. Algoritmos evolutivos implementados LANIA

Algoritmo 10: Algoritmo Colonia artificial de abejas (ABC).

Inicializar la poblacion de soluciones xi, 0, i = 1, ..., SNEvaluar la poblacionfor G=1 to MNC do

Enviar a cada abeja a una fuente aleatoriaGenerar nuevas soluciones vi,g para las abejas empleadas convi,g = xi,g + φ ∗ (xi,g − xk,g)Evaluar soluciones generadas (mutaciones)Seleccionar las fuentes de alimento que seran visitadas por las abejas,la seleccion depende de la calidad encontrada en la fuenteGenerar nuevas soluciones vi,g para las abejas empleadas convi,g = xi,g + φ ∗ (xi,g − xk,g)Evaluar soluciones generadas (mutaciones)Comparar soluciones, seleccionar la mejorDeterminar si existe una fuente abandonada y re-emplazarla con unasolucion aleatoria

endDevolver la mejor solucion

El Algoritmo 10 muestra una implementacion general del algoritmo ABC, parafuncionar necesita conocer los valores de algunos parametros, tales como el numerosoluciones a considerar (SN), el numero de generaciones en la evolucion (MNC) yel numero de generaciones que una solucion puede permanecer sin mejora antes deser modificada (Lımite). Se presenta en la siguiente tabla una descripcion de estosvalores.

Cuadro 6: Parametros de Colonia Artificial de Abejas.

Nombre Descripcion

SN Numero de soluciones en la poblacion

MNC Iteraciones del algoritmo

Lımite Numero de no mejores para re-aleatorizar una fuente de alimento

5.4.1. Seleccion de fuentes de alimento

Este proceso corresponde a la asignacion de abejas desempleadas en las mejoresfuentes de alimento encontradas, tambien se refiere a la danza de las abejas,tomando en cuenta que representa a las mejores soluciones tarda mas tiempo enser ejecutada, por lo que tiene una mayor probabilidad de ser observada.

56

Capıtulo 5. Algoritmos evolutivos implementados LANIA

Si se toma el concepto de probabilidad, este procedimiento se resume en elsub-problema de encontrar la probabilidad (como un porcentaje o valor real entre0-1) de cada fuente y asignar un numero proporcional de abejas de acuerdo a estevalor probabilıstico. La primera opcion para solucionar esta problematica fue laseleccion por ruleta donde los valores de bondad de las fuentes son los generadoresde la distribucion de la probabilidad entre las mismas, sin embargo, este metodofallo cuando un valor de bondad (tomado de f(x)) resulto negativo.

La asignacion de abejas debe ser coherente con la diferencia de porcentajesentre las fuentes (seleccion proporcional del capıtulo 3), por ejemplo, al imaginarla asignacion de cuatro abejas a una fuente f1 con valor -800, y las demas fuentescon valor 0.0, se puede aceptar que el total de abejas trabajen en la fuente f1, dadoque la diferencia de mejora con respecto a las demas fuentes es muy amplia (encaso de minimizacion). Del mismo modo, si devolviera f1:-50, f2:-30 y las demas0.0, se aceptarıa que la mitad de las abejas sean asignadas a f1 y la otra mitad af2, tambien serıa aceptable que tres abejas trabajen en f1 y solo una en f2.

Se implemento un mecanismo de “seleccion por sub-torneos binarios”, el cualimplementa una seleccion proporcional basada en la comparacion iterativa de losvalores de bondad de las fuentes de comida. En cada comparacion existe un ganadory por cada uno se incrementa su cuenta personal. Aunque al final de un numerolimitado de enfrentamientos se obtendra un ganador, la finalidad es contar elnumero de veces que las fuentes ganan los sub-torneos, hasta que la suma delas cuentas personales ha alcanzado al numero del total de abejas disponibles.

Figura 21: Seleccion por sub-torneos binarios.

57

Capıtulo 5. Algoritmos evolutivos implementados LANIA

La Figura 21 muestra como se realizan las comparaciones entre los individuos,existe un vector de ganancias, que tiene un espacio para cada participante. Losparticipantes son las fuentes de alimento disponibles, cada uno se mide con respectoal valor de bondad de cada fuente, en cada comparacion o sub-torneo, el ganadorincrementa su cuenta de ganancias, al final de la ejecucion el valor de la gananciasera el numero de abejas que seran asignadas a la fuente de alimento. La condicionde paro del algoritmo sera haber asignado el total de abejas a las fuentes dealimento o que no existan mas comparaciones posibles.

Este algoritmo toma como base que la fuente de alimentos con mejor valorobtendra el mayor numero de ganancias durante todas las iteraciones, lo cual severa reflejado en el vector final, sin embargo, es posible manipular el resultado dela cuenta de ganadores configurando el nivel de elitismo, al indicar el numero deiteracion desde donde deben comenzar a incrementarse las ganancias.

En el ejemplo de la Figura 21, se pueden observar las siguientescomparaciones para la iteracion 0: {(Azul-Verde),(Verde-Amarillo),(Amarillo-Cafe),(Cafe-Naranja),(Azul-Naranja)}, de las cuales se obtienen 5 elementosganadores, en la iteracion 1, se realiza el mismo proceso, pero al encontrar lacomparacion Azul-Azul, se ignora y elimina a uno de los participantes repetidos, lascomparaciones continuan hasta alcanzar la condicion de paro previamente definida.

Al finalizar, el total de abejas habra sido distribuido uniformemente entre losmejores individuos, en el ejemplo presentado, si se elige empezar por la iteracion1, la asignacion de abejas quedara de la siguiente manera: {Azul=2, Verde=1,Amarillo=1, Naranja=1}, que al ser una iteracion cercana a 0 promueve laexploracion de fuentes, contrario a elegir la iteracion 3, que resulta en la asignacionelitista {Azul=2, Verde=0}, en todos los casos se respetan las diferencias entre losvalores de los participantes y se consigue implementar una seleccion proporcional.

5.4.2. Mutacion

La mutacion de los individuos sucede cuando las abejas recolectoras explotan unafuente de alimento, la cual se define mediante la implementacion de la ecuacion5.4.1.

vi,g = xi,g + φ ∗ (xi,g − xk,g) (5.4.1)

en la cual i representa la fuente de alimento donde se encuentra actualmente, kes una fuente de alimento aleatoria diferente, g es el numero de generacion y φ es

58

Capıtulo 5. Algoritmos evolutivos implementados LANIA

un numero real aleatorio en el intervalo [-1,1]. La aplicacion de esta formula paralas fuentes de alimento visitada deriva en nuevas soluciones candidatas. Es notableque la mutacion de los individuos se realiza en dos ocasiones por cada generacion,para esto necesita una tabla de asignaciones, la asignacion de abejas a las fuentesmas valiosas se puede representar como en la siguiente tabla.

Observadora Fuente k φ1 φ21 3 2 0.1 0.52 1 3 0.16 0.23 1 1 0.01 0.3

La mutacion de un individuo se realiza al aplicar la formula a las variablesde decision de los individuos (xi), para todos los individuos de la poblacion enuna generacion. Al modificar las variables de decision y evaluar al individuo, secomparan el valor de la funcion objetivo recien obtenido (f(x)′) contra el obtenidoantes de la mutacion f(x), si f(x)′ es mejor que f(x), el individuo modificara susvalores por los mutados, en caso contrario, se ignoran los valores de la mutacion yel individuo conserva los que tenıa antes de comenzar el proceso.

5.4.3. Mecanismo de reemplazo

ABC lleva una cuenta de las veces en que una fuente de comida no mejorasu productividad, esta informacion es parte del conocimiento que cada abejarecolectora tiene de la explotacion de las soluciones. Cuando una fuente no mejoraen un numero determinado de generaciones, los valores de la misma vuelven agenerarse de forma aleatoria.

5.4.4. Manejo de restricciones

De la misma manera que en los algoritmos anteriores, el manejo de restricciones serealiza en la evaluacion de la funcion f(x), penalizando las restricciones violadasal sumar la cantidad de restricciones no cumplidas el valor del fitness (recordandoque se escogeran los individuos con fitness bajo). Los lımites de las variables secuidan en cada mutacion, re-aleatorizando los valores que resulten sobrepasar loslımites.

5.5. Resultados experimentales

En este apartado se presentan los resultados obtenidos por las heurısticasbasadas en Evolucion Diferencial Best, Evolucion Diferencial Rand, ColoniaArtificial de Abejas y Estrategia Evolutiva, implementadas para las funciones con

59

Capıtulo 5. Algoritmos evolutivos implementados LANIA

restricciones presentadas en el congreso de computo evolutivo CEC 2006 [14]. Entodas las evaluaciones, las restricciones de igualdad se traducen a restriccionesde desigualdad mediante el valor EPSILON = 0.0001. Los objetivos sonimplementar funciones competitivas y lograr una categorizacion de las heurısticaspor cada conjunto de funciones. Informacion y definicion de las funciones puedeser encontrada en [14].

5.5.1. Resultados de funciones CEC 2006

Todas las ejecuciones sobre las funciones CEC fueron limitadas por un numeromaximo de evaluaciones de individuos (MAX FES) equivalente a 500000, dondeel contador de evaluaciones se incrementa por la evaluacion de una solucion hijoo padre, durante todas las generaciones. Al alcanzar el valor de MAX FES, elalgoritmo se detiene y devuelve el mejor resultado obtenido hasta el momento. Laconfiguracion de parametros para las heurısticas es la siguiente:

Evolucion Diferencial Rand: 300 individuos en la poblacion, 5000generaciones, factor de mutacion con valor de 0.5, factor de recombinacioncon valor de 0.5 y MAX FES igual a 500000.

Evolucion Diferencial Best: 300 individuos en la poblacion, 5000 generaciones,factor de mutacion con valor de 0.5, factor de recombinacion con valor de 0.5y MAX FES igual a 500000.

Estrategia Evolutiva: 100 padres, 300 hijos, 5000 generaciones y MAX FESigual a 500000.

Colonia Artificial de Abejas: 300 individuos en la poblacion, 5000generaciones, el lımite de re-aleatorizacion con valor de 500 y MAX FESigual a 500000.

Los cuadros 7, 8, 9, 10 y 11 contienen los resultados estadısticos de EDR,EDB, ABC y ES para las 24 funciones del CEC 2006.

60

Capıtulo 5. Algoritmos evolutivos implementados LANIA

Cuadro 7: Resultados originales CEC2006: g01-g05.

Algoritmo g01 g02 g03 g04 g05

EDR

Mejor -15 -0.8034 -0.999 -30665.53 5126.496Mediana -15 -0.8033 -0.9997 -30665.53 5126.496

Peor -15 -0.8033 -0.9997 -30665.53 5126.496Promedio -15 -0.8033 -0.9997 -30665.53 5126.496

σ 0 3.1×10−5 5.6×10−5 0 0

EDB

Mejor -15 -0.8035 -0.9999 -30665.53 5126.496Mediana -15 -0.8035 -0.9998 -30665.53 5126.496

Peor -15 -0.8034 -0.9997 -30665.53 5126.496Promedio -15 -0.8035 -0.9998 -30665.53 5126.496

σ 0 1.6×10−5 3.3×10−5 0 0

Algoritmo g01 g02 g03 g04 g05

ABC

Mejor -14.9993 -0.7180 -0.9997 -30665.535 5133.1659Mediana -14.9991 -0.6598 -0.9994 -30665.531 5151.4890

Peor -14.9998 -0.5843 -0.9992 -30665.527 5166.877Promedio -14.9991 -0.6547 -0.9994 -30665.531 5150.0275

σ 0.0001 0.0362 0.0001 0.0020 7.7817

ES

Mejor -15 -0.7941 -0.9932 -30665.5381 5127.2591Mediana -14.9999 -0.6799 -0.9803 -30663.0860 5243.4413

Peor -11.6470 -0.4976 -0.6021 -30348.1656 5508.4594Promedio -14.6479 -0.6744 -0.9514 -30631.0098 5289.3260

σ 0.8329 0.0708 0.0843 72.4799 139.3389

61

Capıtulo 5. Algoritmos evolutivos implementados LANIA

Cuadro 8: Resultados originales CEC2006: g06-g10.

Algoritmo g06 g07 g08 g09 g10

EDR

Mejor -6961.813 24.375 -0.0958 680.6310 7124.321Mediana -6961.813 24.402 -0.0958 680.6316 7169.260

Peor -6961.813 24.447 -0.0958 680.6325 7226.040Promedio -6961.813 24.408 -0.0958 680.6316 7170.742

σ 0 0.0194 0 0.0003 24.2834

EDB

Mejor -6961.813 24.354 -0.0958 680.6304 7079.126Mediana -6961.813 24.377 -0.0958 680.6308 7116.371

Peor -6961.813 24.395 -0.0958 680.6316 7225.830Promedio -6961.813 24.376 -0.0958 680.6308 7116.454

σ 0 0.0096 0 0.0002 26.603

Algoritmo g06 g07 g08 g09 g10

ABC

Mejor -6961.8127 24.4897 -0.0958 680.6371 7187.820Mediana -6961.8100 24.5960 -0.0958 680.6521 7273.058

Peor -6961.8065 24.8231 -0.0958 680.6680 7399.175Promedio -6961.8097 24.6043 -0.0958 680.6518 7282.283

σ 0.00171 0.0699 0 0.0067 53.7365

ES

Mejor -6961.8138 24.6716 -0.0958 680.9046 7054.7330Mediana -6961.8138 30.2673 -0.0958 681.8185 7916.8288

Peor -6961.8138 44.3930 -0.0291 722.7354 12859.649Promedio -6961.8138 30.6393 -0.0936 685.0455 8435.0404

σ 0 4.8043 0.0121 9.0188 1407.5250

62

Capıtulo 5. Algoritmos evolutivos implementados LANIA

Cuadro 9: Resultados originales CEC2006: g11-g15.

Algoritmo g11 g12 g13 g14 g15

EDR

Mejor 0.7499 -1 0.3713 -41.053 961.7150Mediana 0.7499 -1 0.9237 -39.493 961.7150

Peor 0.7499 -1 0.9914 -37.665 961.7150Promedio 0.7499 -1 0.8919 -39.494 961.7150

σ 0 0 0.5759 0.5759 0

EDB

Mejor 0.7499 -1 0.1103 -40.307 961.7150Mediana 0.7499 -1 0.4859 -37.734 961.7150

Peor 0.7499 -1 0.9799 -35.168 961.7150Promedio 0.7499 -1 0.5654 -37.918 961.7150

σ 0 0 0.2816 1.0473 0

Algoritmo g11 g12 g13 g14 g15

ABC

Mejor 0.7547 -1 0.8863 -43.4777 962.4097Mediana 0.8255 -1 0.9840 -41.6816 962.9236

Peor 1.3694 -1 1.0000 -40.1322 972.2654Promedio 0.8863 -1 0.9791 -41.7874 963.7842

σ 0.1813 0 0.1243 0.8701 2.4459

ES

Mejor 0.7499 -1 0.2999 -44.3573 961.7150Mediana 0.8300 -1 0.9144 -40.7897 962.0133

Peor 0.9125 -0.99 2.6546 -37.6778 967.9998Promedio 0.8155 -1 0.9213 -41.0848 962.6875

σ 0.0422 0.0018 0.4341 1.8613 1.4472

63

Capıtulo 5. Algoritmos evolutivos implementados LANIA

Cuadro 10: Resultados originales CEC2006: g16-g20.

Algoritmo g16 g17 g18 g19 g20

EDR

Mejor -0.8919 8851.81(1) -0.8609 33.9512 0.947(16)Mediana -0.7772 8939.94(1) -0.8587 34.3534 1.325(17)

Peor -0.6795 8946.94(2) -0.8548 34.8489 2.435(17)Promedio -0.7851 8948.05(1) -0.8586 34.3598 1.412(17)

σ 0.0547 80.9426 0.0017 0.2224 0.4151

EDB

Mejor -0.9869 8863.675 -0.8647 33.1872 0.794(14)Mediana -0.8528 8930.893 -0.8627 33.6301 0.739(15)

Peor -0.7092 9199.15(1) -0.8613 34.1252 3.441(15)Promedio -0.8517 8963.09(1) -0.8628 33.6594 1.121(15)

σ 0.0719 113.413 0.0007 0.20801 0.957

Algoritmo g16 g17 g18 g19 g20

ABC

Mejor -1.1247 8860.914 -0.8609 45.2365 8.4067(17)Mediana -0.9734 8930.732 -0.8528 71.3447 7.8877(18)

Peor -0.7758 8937.665 -0.8463 2779.17 11.0267(18)Promedio -0.9594 8918.323 -0.8534 312.931 7.9913(18)

σ 0.0902 26.6839 0.0034 529.845 1.1677

ES

Mejor -1.5356 8851.755 -0.8657 64.1907 0.3821(11)Mediana -1.0461 8939.517 -0.6651 109.855 2.0913(14)

Peor 0.0895(3) 9159.005(1) 0.0139 189.948 5.5562(20)Promedio -1.0977 8930.842 -0.6973 114.708 2.0725(14)

σ 1.7411 30.5259 0.1512 33.5364 87.30

64

Capıtulo 5. Algoritmos evolutivos implementados LANIA

Cuadro 11: Resultados originales CEC2006: g21-g24.

Algoritmo g21 g22 g23 g24

EDR

Mejor 343.7368 4185.96(9) -1193.787(2) -5.5080Mediana 772.824(3) 13856.0(10) 51.419(3) -5.5080

Peor 991.189(3) 19393.9(10) 508.11(3) -5.5080Promedio 738.122(2) 13271.4(10) 17.579(3) -5.5080

σ 170.3376 4151.76 235.928 0

EDB

Mejor 193.7318 2875.08(9) -634.97(2) -5.5080Mediana 324.7432 12886.37(9) 188.771(3) -5.5080

Peor 546.151(2) 19966.1(10) 607.509(3) -5.5080Promedio 337.832 11715.80(9) 110.893(3) -5.5080

σ 206.0725 5464.8253 281.8148 0

Algoritmo g21 g22 g23 g24

ABC

Mejor 218.056 8378.27(10) -325.9810 -5.5080Mediana 356.423 11039.0(11) -101.0603 -5.5080

Peor 430.075 19969.4(11) 82.9720 -5.5080Promedio 352.232 11960.3(11) -87.6912 -5.5080

σ 42.3454 4151.0939 116.8245 0

ES

Mejor 250.2270 7640.4751(4) -279.3406 -5.50801Mediana 295.9657 11480.110(5) -112.4927(1) -5.50801

Peor 326.733(3) 9990.3231(12) -147.5654(1) -5.49832Promedio 297.692 12836.4083(5) -77.3736(1) -5.50769

σ 27.0333 3985.2149 159.7380 0.00176

5.5.2. Comparacion de resultados contra el entorno de referencia(Benchmark)

Los cuadros 12, 13, 14 y 15 muestran el mejor valor alcanzado por EDR, EDB,ABC y ES. Ademas del valor optimo reportado en el benchmark. Aquellos valoresremarcados con negrita, son iguales a los del benchmark.

65

Capıtulo 5. Algoritmos evolutivos implementados LANIA

Cuadro 12: Comparacion de resultados CEC2006: g01-g06.

Resultado g01 g02 g03 g04 g05 g06

BenchMark -15 -0.8036 -1.0005 -30665.539 5126.497 -6961.814EDR -15 -0.8034 -0.9999 -30665.5386 5126.4967 -6961.8138EDB -15 -0.8035 -0.9999 -30665.5386 5126.4967 -6961.8138ABC -14.9993 -0.7180 -0.9997 -30665.535 5133.1659 -6361.8127ES -15 -0.7941 -0.9932 -30665.5381 5127.2591 -6961.8138

Cuadro 13: Comparacion de resultados CEC2006: g07-g12.

Resultado g07 g08 g09 g10 g11 g12

BenchMark 24.306 -0.09582 680.6301 7049.248 0.7499 -1EDR 24.375 -0.0958 680.6310 7124.321 0.7499 -1EDB 24.3546 -0.0958 680.6304 7079.265 0.7499 -1ABC 24.4897 -0.0958 680.6371 7187.8208 0.7499 -1ES 24.6716 -0.0958 680.9046 7054.7330 0.7499 -1

Cuadro 14: Comparacion de resultados CEC2006: g13-g18.

Resultado g13 g14 g15 g16 g17 g18

BenchMark 0.05349 -47.765 961.71502 -1.90515 8853.5397 -0.86602EDR 0.3713 -41.053 961.7150 -0.8919 8851.8172 -0.8609EDB 0.1103 -40.307 961.7150 -0.9869 8863.675 -0.86476ABC 0.8863 -43.4777 962.4097 -1.1247 8860.914 -0.8609ES 0.2999 -44.3573 961.7150 -1.5356 8851.755 -0.8657

Cuadro 15: Comparacion de resultados CEC2006: g19-g24.

Resultado g19 g20 g21 g22 g23 g24

BenchMark 32.6555 Infactible 193.72451 236.43097 -400.0551 -5.50801EDR 33.9512 0.947(16) 343.7368 4185.96(9) -1193.787(2) -5.5080EDB 33.1872 0.794(14) 193.7318 2875.08(9) -634.97(2) -5.5080ABC 45.2365 8.4067(17) 218.056 8378.27(10) -325.9810 -5.5080ES 64.1907 0.3821(11) 250.2270 7640.4751(4) -279.3406 -5.5080

Derivado de la exploracion a los resultados obtenidos por los algoritmosevolutivos, surge una hipotesis, la cual afirma que los algoritmos EDB y EDR

66

Capıtulo 5. Algoritmos evolutivos implementados LANIA

tienen un mejor rendimiento que ES y ABC. Para poder describir la calidad de losresultados se realiza una comparacion en parejas entre los EA mediante la pruebacon signo de Wilcoxon. El siguiente cuadro muestra las comparaciones necesariaspara realizar una categorizacion con respecto a la calidad de cada EA con respectoa los demas.

67

Capıtulo 5. Algoritmos evolutivos implementados LANIA

Cuadro 16: Prueba Wilcoxon para los EA sobre CEC 2006.

Wilcoxon con funciones CEC2006

EDB>EDR EDR>ABC ABC>ES

p-value R+ +R− p-value R+ +R− p-value R+ +R−

g01 Iguales Iguales 1.7×10−6 -465 0.0471 -193

g02 1.7×10−6 -465 1.7×10−6 -465 0.1359 145

g03 6.9e×10−6 -437 1.7×10−6 -465 1.7×10−6 -465

g04 Iguales Iguales 1.7×10−6 -465 3.5×10−6 -451

g05 Iguales Iguales 1.7×10−6 -465 6.01×10−5 -334

g06 Iguales Iguales 1.7×10−6 -465 1.7×10−6 465

g07 1.7×10−6 -465 1.7×10−6 -465 1.7×10−6 -465

g08 Iguales Iguales Iguales Iguales 0.3173105079 -1

g09 1.7×10−6 -465 1.7×10−6 -465 1.7×10−6 -465

g10 6.5×10−6 -445 1.9×10−-6 -464 3.4×10−5 -403

g11 Iguales Iguales 1.7×10−6 -465 1.9×10−6 -465

g12 Iguales Iguales Iguales Iguales 0.3173 -1

g13 0.0001 356 2.0e×10−5 -317 0.2418 -87

g14 6.98×10−6 -437 2.5e×10−6 435 2.5×10−6 -435

g15 Iguales Iguales 1.7×10−6 -465 1.9×10−6 -465

g16 0.0008 -309 3.5e×10−6 458 0.0593 37

g17 0.7173 -14 0.1504 284 0.0142 -193

g18 1.7×10−6 -465 4.7×10−6 -455 0.0004 -292

g19 1.7×10−6 -465 1.7×10−6 -465 0.517 63

g20 Infactible Infactible Infactible Infactible Infactible Infactible

g21 0.0001 -264 1.9×10−6 464 0.0026 127

g22 Infactible Infactible Infactible Infactible Infactible Infactible

g23 0.2188 108 0.0413 65 0.5929 -2

g24 Iguales Iguales Iguales Iguales 0.3173 -1

Mejorıa: 50 % Mejorıa: 63 % Mejorıa: 54 %

68

Capıtulo 5. Algoritmos evolutivos implementados LANIA

Interpretacion de resultados y categorizacion de EAs

Para interpretar la calidad en los resultados de los algoritmos evolutivos, serealizaron pruebas Wilcoxon con signo. La informacion de las pruebas se usa paracomparar y categorizar los resultados de los EAs [127]. La suma de los valores detodas las categorıas se obtiene mediante la formula: MAX R=n((n+ 1)/2), la cualindica el nivel de bondad del algoritmo con mejor desempeno en la comparacion.La suma de diferencias entre los valores de las muestras comparadas R+ y R− serepresentan por las siguientes formulas:

R+ =∑di>0

rango(di) +1

2

∑di=0

rango(di)

R− =∑di<0

rango(di) +1

2

∑di=0

rango(di)

Para las comparaciones presentadas en el cuadro 16, se relaciona R− con lasuma de los rangos de las diferencias en las cuales el primer algoritmo mejora alsegundo. Al sumar (R+) + (R−) se obtiene un valor W positivo o negativo, en casode que W sea positivo el primer algoritmo no es mejor que el segundo, esto implicarechazar la hipotesis nula, mientras que un W negativo la confirma.

Ya que se tomaron muestras de 30 resultados de cada algoritmo evolutivo, elvalor de MAX R se obtiene de 30((30+1)/2), por lo tanto, MAX R = 465. Mientrasmas cercano se encuentra el valor absoluto obtenido de R+ +R− a MAX R mayorsera la diferencia entre los algoritmos. Los valores de p−value indican el porcentajede error de la estimacion. El valor maximo permitido es 0.05 en este trabajo con5 % de error permitido.

De forma generica, la hipotesis nula H0 asegura que el primer algoritmo A1

es mejor que el segundo A2, la comparacion de dos individuos representando H0

se representa con la forma A1 > A2, donde el identificador del individuo (Ai)depende del numero de individuos (n), es decir, Ai identifica el nombre de unalgoritmo evolutivo.

En la informacion del cuadro 16 los problemas g20 y g22 no se contaran enlas estadısticas, ya que en ningun caso se encontro alguna solucion factible. Lacolumna “EDB>EDR” indica que en 9 ocasiones se encontraron muestras con losmismos resultados (g01, g04, g05, g06, g08, g11, g12, g15, g24), las funciones g17 yg23 no cumplen con el criterio determinado por el margen de error (el valor en p-value es mayor a 0.05), mientras que en los 11 problemas restantes se encontro unamejorıa de EDB sobre EDR.

69

Capıtulo 5. Algoritmos evolutivos implementados LANIA

Se utilizara el nombre de “columna de comparacion” a la columna identificadacon la forma A1 > A2. La ultima fila de las columnas de comparacion indica elporcentaje de funciones que cumplen con la hipotesis nula y comprueban que elalgoritmo A1 es mejor. En el caso de la comparacion EDB-EDR, EDB mejoro un50 % a EDR, este valor se obtiene de sacar el porcentaje de comprobaciones de H0

sobre el total de funciones, si 11 funciones comprueban la hipotesis nula y el totalde funciones factibles es 22, entonces la mejorıa es ((11*100)/22). La interpretacionde la comparacion indica que EDB mejora a EDR en el 50 % de las funciones CEC2006.

La columna “EDR>ABC” indica que EDR mejora en un 63 % de las 22funciones a ABC, mientras que ABC mejora a EDR en el 18 % de las funciones(g14, g16, g21, g23). Con esta informacion se tomara a EDR como mejor queABC. De la misma manera se toma a ABC como mejor que ES y se genera unacategorizacion entre los algoritmos evolutivos definida de la siguiente manera:

1. Evolucion diferencial Best.

2. Evolucion diferencial Rand.

3. Colonia artificial de abejas.

4. Estrategia evolutiva.

La categorizacion indica que EDB es el algoritmo que obtuvo mejoresresultados entre todos los EA, seguido por EDR y ABC, mientras que ES escatalogado como el algoritmo con peor rendimiento. La importancia de realizaruna jerarquıa entre los algoritmos radıca en el estudio del comportamiento de cadaalgoritmo evolutivo con respecto a los demas. La categorizacion permite conocerel impacto de la afinacion de los algoritmos de acuerdo con la calidad y coherenciade su rendimiento antes y despues de ser afinados, se puede ver a que algoritmo leafecta mas la afinacion de parametros.

Cabe notar que existen algunos casos donde ABC mejora a EDR o donde ESmejora a ABC, sin embargo, la categorizacion se realiza tomando en cuenta el totalde funciones de optimizacion tratadas por los cuatro algoritmos evolutivos.

70

CAPITULO 6

Algoritmo propuesto de afinacion de parametros

En este apartado se detalla la funcionalidad del algoritmo de afinacionde parametros desarrollado durante este trabajo de tesis. Por simplicidad, estapropuesta sera referenciada como APEA (Afinador de Parametros de EA’s) alo largo del capıtulo. De acuerdo con la informacion presentada en el capitulo4, APEA se situa en la categorıa de meta-algoritmos evolutivos, centrandoseen la optimizacion de parametros cuantitativos y con el objetivo de encontrarconfiguraciones de parametros optimas.

Se dice que es un meta-algoritmo evolutivo por dos razones, la primera se debea que las unidades de informacion con las que trabaja son algoritmos evolutivos,por lo tanto trabaja a un nivel mas alto, la segunda razon toma como base laprimera y agrega que el algoritmo afinador implementa la misma funcionalidad dealgoritmo evolutivo de los elementos que pretende configurar.

Tratar de encontrar vectores con parametros de utilidad alta es una tarea deoptimizacion compleja, ya que puede incluir funciones objetivo no lineales, variablesque interactuan entre sı, multiples optimos locales, entre otros atributos que hacende un espacio de busqueda un “territorio complejo”. Con todos estos obstaculos,resulta bastante atractivo la implementacion de un algoritmo evolutivo, puesto queuno de los principales motivos que los han hecho exitosos, es su alto rendimientoen este tipo de entornos [106].

De la misma forma que A. Eiben define en [92] a los afinadores de parametros,la estructura de APEA consiste en la interaccion de cuatro componentes principalesque se encargan de resolver dos subproblemas de optimizacion (ver Figura 22).Mientras una parte del algoritmo se concentra en resolver la problematica de lafuncion de evaluacion, otra parte optimiza la utilidad de los parametros.

Figura 22: Estructura del afinador de parametros propuesto.

71

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

APEA al igual que los algoritmos evolutivos toma en cuenta el valor de losvectores de solucion como la aptitud de los individuos, sin embargo, no implementauna funcion de utilidad explıcita como en la literatura se describe, en lugar deeso, dirige la busqueda de la mejor solucion, a traves del valor de aptitud de losalgoritmos evolutivos, restringiendolos por medio de la suma de sus parametros (seexplica mas adelante), esta suma de sus parametros corresponde a la utilidad delvector secundario a minimizar.

Tomando en cuenta lo anterior, la idea general consiste en dar prioridad aaquellas soluciones con mejor aptitud y utilidad al mismo tiempo, valores que seconvierten en los objetivos a optimizar. Hacer esto implica la construccion de unalgoritmo elitista con una inclinacion hacia la explotacion de buenas soluciones,mientras que la re-seleccion aleatoria de las soluciones no factibles encontradasen conjunto con el componente de mutacion, pretenden incluir el termino deexploracion sobre el espacio de busqueda.

Hasta el momento se ha visto que una de las dificultades mas grandes de esteenfoque de afinador, consiste en la necesidad de invertir mucho tiempo, ası comorecursos computacionales para obtener una retroalimentacion de los individuosevaluados en la poblacion, sin embargo, el recorrido “inteligente” que se consiguecon algoritmos bio-inspirados como el utilizado en este trabajo, activa la posibilidadde reducir esta cantidad de recursos necesarios y hace factible el enfoque debusqueda.

A lo largo de este capıtulo se mostraran los procesos y la implementacion de unalgoritmo que configure optimamente los parametros cuantitativos de algoritmosevolutivos. Una de las principales intenciones consiste en obtener un afinadorcon capacidad de generalizar de forma transitiva sus resultados sobre diferentesconjuntos de funciones de evaluacion.

6.1. Afinacion de parametros en APEA

La implementacion de un afinador meta-heurıstico es similar a la implementacionde un algoritmo evolutivo para resolver problemas de optimizacion numerica, lo quelos hace diferentes es la composicion de los elementos que conforman su espaciode busqueda. La optimizacion de una funcion de evaluacion con restricciones sepresenta a continuacion.

f(~x) = 3x1 + 0,000001x31 + 2x2 + (0,000002

3)x32 (6.1.1)

72

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

sujeta a:

g1(~x) = −x4 + x3 − 0,55 ≤ 0 (6.1.2)

g2(~x) = −x3 + x4 − 0,55 ≤ 0 (6.1.3)

h3(~x) = 1000sin(−x3 − 0,25) + 1000sin(−x4 − 0,25) + 894,8− x1 = 0 (6.1.4)

h4(~x) = 1000sin(x3 − 0,25) + 1000sin(x3 − x4 − 0,25) + 894,8− x2 = 0 (6.1.5)

h5(~x) = 1000sin(x4 − 0,25) + 1000sin(x4 − x3 − 0,25) + 1294,8 = 0 (6.1.6)

Se pueden identificar diferentes factores importantes, el primero (1) hacereferencia una funcion objetivo (6.1.1), como un valor unico conservado en laspropiedades de los individuos del algoritmo evolutivo, que define la bondad de lasolucion. El siguiente factor (2) representan las restricciones de desigualdad (6.1.2)y (6.1.3), ası como las restricciones de igualdad (6.1.4)-(6.1.6) transformadas afunciones de desigualdad. La representacion de las restricciones dentro del modeloevolutivo se realiza mediante una estructura de datos unidimensional, la cualcontiene el mismo numero de elementos que restricciones dentro del problema aoptimizar.

Otro factor importante (3) hace referencia a los lımites de las variables.Cada variable x ∈ ~x se toma como variable de decision, estas variables tienensus valores restringidos por lımites inferiores y superiores. El conjunto de estosfactores definen las propiedades de un individuo. En el caso de la optimizacion defunciones numericas (4), lo que se pretende es encontrar un individuo que mediantesus propiedades logre minimizar el valor de f(~x).

La base de la implementacion de APEA consiste en trasladar los factoresencontrados en los problemas de optimizacion numerica (enumerados en losparrafos anteriores) hacia un enfoque de optimizacion con parametros en lugarde variables de decision, este proceso es una traduccion o adecuacion de lascaracterısticas que resuelven los EA originales hacia el algoritmo afinador.

Dentro del ambito de afinacion de parametros, el primer factor (1’), tomael concepto de variables de decision; en este contexto, una variable de este tipoes un valor asignado a un parametro especıfico, donde el conjunto de parametrosdefine las variantes (llamadas variables de decision en los EA’s) que dan valor alos individuos o soluciones. De la misma forma que en el ambiente de optimizacionde funciones de evaluacion CEC, las variables del problema de optimizacion deparametros se representan mediante celdas de un vector unidimensional.

El manejo de restricciones se realiza tomando en cuenta que todos losalgoritmos evolutivos son iterativos y que al mismo tiempo mantienen un poblacionque genera descendientes, mientras que los demas componentes en la evolucion

73

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

difieren en cada implementacion. Los algoritmos evolutivos mantienen dos criteriosde parada, el primero consiste en alcanzar un numero maximo de evaluaciones acualquier individuo MAX FES, utilizado en los congresos de computacion evolutivaCEC.

El segundo criterio se alcanza cuando el numero de generaciones indicadaspor los parametros del algoritmo se cumplen. Como ejemplo, el numero deevaluaciones en la evolucion diferencial esta dado por g1 = numEval = NP +(NP ∗MAX GEN), que indica que el numero de hijos NP , va a ser evaluadoun MAX GEN veces, sumado a la evaluacion inicial de la poblacion NP . Larestriccion principal (2’) del problema de afinacion consiste en no sobrepasar elvalor de MAX FES. Por lo tanto, para cada vector de parametros afinado debecumplirse que numEval ≤MAX FES.

El segundo tipo de restriccion (3’) se aplica a ~x, donde los valores de cadavariable de decision de alto nivel (las variables del problema de optimizacion deparametros), estan definidos por lımites inferior y superior Linf ≤ xi ≤ Lsup, estosultimos establecidos por el usuario (de la misma forma que en la optimizacionnumerica en los EA que resuelven las funciones CEC).

Por ultimo, en la afinacion de parametros (4’), lo que se busca es encontrar unindividuo dentro de la poblacion que tenga un conjunto de propiedades que logreminimizar el valor de aptitud de los algoritmos evolutivos y que al mismo tiempo,reduzca el valor de utilidad del vector de parametros. Esto se traduce en optimizarla calidad de los resultados y reducir los recursos computacionales necesarios delos EA configurados. Se supone que reducir el numero de evaluaciones necesariasen la ejecucion, disminuye los recursos.

Tomando en cuenta la informacion presentada anteriormente, se formalizael problema que se pretende resolver para la optimizacion de parametros, de lasiguiente manera:

Encontrar ~P que minimice:

f(~P ) yn∑

i=1

pi (6.1.7)

sujeta a

g1(p) ≤MAX FES (6.1.8)

donde

g1(p) = 2∗ | offspring | ∗MAX GEN (6.1.9)

74

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

donde ~P ∈ Rn es un vector de n variables p = [p1, p2, ..., pn]T y cadapi = 1, ..., n esta acotado por limites inferiores y superiores Li ≤ xi ≤ Ui, loscuales definen el espacio de busqueda S. F es el conjunto de todas las solucionesque satisfacen las restricciones del problema y se le llama zona factible, siendo claroque F ⊆ S. Offspring se identifica como el numero de descendientes del procesoevolutivo.

La idea de la restriccion es asegurar que la configuracion final del algoritmorespete el numero maximo permitido de evaluaciones.

En la implementacion de la estrategia evolutiva (µ, λ), la funcion que dicta elnumero de evaluaciones es la siguiente numEval = numPadres+(2∗numHijos∗numGeneraciones). Considerando que esta ecuacion puede cambiar y afecta ala restriccion, la definicion de g1 en 6.1.9, sumada a las bondades del procesoevolutivo, aumentan la capacidad de encontrar configuraciones optimas y validaspara un rango amplio de algoritmos evolutivos.

Notar que 6.1.9 es la formula general para calcular el valor de la restriccion yesta definida de esta forma para soportar diferentes configuraciones de numEvalen los EA.

6.2. Definicion de la propuesta

La propuesta consiste en implementar un algoritmo evolutivo sobre la definicion deoptimizacion de parametros presentada en el apartado anterior. La decision sobreel algoritmo a utilizar para la afinacion de parametros consistio en re-explorar y re-usar algoritmos evolutivos como heurısticas de alto nivel y conocer la factibilidadde este metodo para el ambito de la optimizacion. El algoritmo es iterativo, utilizael operador de mutacion de la evolucion diferencial y una implementacion de listatabu de tamano considerable como ındice de posibles soluciones (individuos en lapoblacion que cumplen con las caracterısticas que solucionen el problema).

Para poder recibir retroalimentacion de la busqueda se necesita ejecutar yesperar el resultado del algoritmo evolutivo en diferentes ocasiones a traves delas iteraciones, por este motivo una lista tabu puede resultar de gran ayuda, yaque, aunque la probabilidad de repeticion de individuos es moderada al iniciodel ciclo, permitira volver a evaluar aquellos individuos que han sido descartadosanteriormente cuando la convergencia de soluciones sea importante.

Los individuos mantienen una configuracion similar a su contraparte deoptimizacion numerica. La Figura 23 muestra la representacion “fısica” de losindividuos en la poblacion, la diferencia radica en que la “Suma de parametros”,

75

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

mantiene el valor de utilidad del vector de parametros y el afinador discriminara losindividuos basado en este valor, “Restriccion” es el valor de la unica restriccion delproblema y el vector de ~P , corresponde a los valores de los parametros, lo cual esla contraparte de las variables de decision en la implementacion de un EA.

Figura 23: Representacion de los individuos en APEA.

Una descripcion de los parametros utilizados por el algoritmo afinador se muestranen el cuadro 17.

Cuadro 17: Parametros en APEA.

Parametro Descripcion

MAX GEN Numero de generaciones

tamVecindario Numero de individuos en la poblacion

NumFunciones Funciones a resolver por el algoritmo evolutivo

maxFES Evaluaciones permitidas en los algoritmos evolutivos

F Factor de mutacion

El algoritmo 11 muestra la estructura del algoritmo afinador de parametrospropuesto, en las subsecciones siguientes se explicaran las partes principales delmismo.

76

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

Algoritmo 11: Propuesta de afinador de parametros.

1: Leer archivos de informacion2: while iteracion ≤ numFunciones/4 do3: Obtener funcion actual a evaluar4: Crear una poblacion inicial aleatoria pi,G∀i, i = 1, ..., NP5: for G=1 to MAX GEN do6: while ! solucionInicial do7: Inicializar poblacion8: Seleccionar solucion inicial9: end while

10: Evaluar inicial f(pi,G)∀i, i = 1, ..., NP11: if Solucion inicial infactible then12: Marcar funcion actual como infactible13: Regresar al inicio del while con un nueva funcion actual14: end if15: Identificar candidatos16: Marcar infactibles como errores17: if numCandidatos > 3 then18: Evaluar candidatos19: Re-aleatorizar errores20: Localizar mejor candidato21: Mutar los candidatos no seleccionados22: Comparar mejor solucion con candidato23: Meter a lista tabu al perdedor24: Meter a lista tabu a candidatos no seleccionados25: else26: Re-aleatorizar errores27: end if28: end for29: Almacenar parametros en historialParametros30: Incrementar iteracion31: end while32: parametrosFinales = obtenerMedianas(historialParametros)33: Devolver parametrosFinales

El algoritmo evalua una funcion CEC definida al inicio de una iteracion,existen diferentes valores de bondad en los individuos, los cuales contienen unconjunto de variables y definen la calidad de la solucion, cada solucion es afectadapor el proceso evolutivo, de tal manera que se van mutando a traves de lasgeneraciones (igual que en todos los algoritmos evolutivos), cuando el numero

77

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

lımite de generaciones ha sido alcanzado, se devuelve el individuo con la mejorconfiguracion de parametros para dicha funcion (funcion actual), de acuerdo alalgoritmo anterior, en ese momento se ha terminado una iteracion.

El algoritmo realiza un numero de iteraciones definido por numFunciones/4,lo cual indica que evalua un cuarto del numero total de funciones de evaluacion(en este caso CEC 2006), esto quiere decir que obtendra (numFunciones/4) ∗numHeuristicas vectores de parametros optimos, la estructura que mantiene lainformacion de los parametros encontrados se llama “historialParametros” y puedeser visualizada como en la Figura 24.

Figura 24: Arreglo tridimensional de parametros optimizados en el afinador.

De acuerdo a la figura anterior, cuando se termina la primera iteracion, seobtiene un conjunto de numHeuristicas vectores de parametros optimos, estosvectores se almacenan en hi.1, donde i corresponde al numero de heurısticaevaluada, esto quiere decir, que por cada iteracion se evaluan todas las instanciasde algoritmos evolutivos almacenadas, resolviendo una funcion de evaluacion a la

78

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

vez, de entre el total disponibles (entre las funciones CEC), si se evaluan cuatroinstancias, entonces se obtendran cuatro vectores que seran almacenados en h1.1,h2.1, h3.1, h4.1 respectivamente. Explicado de otra manera, para el caso de estetrabajo donde se tienen cuatro instancias, el apuntador de tres dimensiones tienecuatro celdas, dentro de cada celda existe una matriz de numFunciones/4 filas connumParametros columnas, donde el numero de columnas identifica el numero deparametros que se necesitan optimizar. Cada matriz de dos dimensiones identificaa una heurıstica, mientras que cada vector en la matriz identifica a un vector deparametros optimos.

El resultado final consiste un arreglo bidimensional de numHeuristicas filaspor numParametros columnas, donde las celdas de cada fila de la matriz seobtienen mediante la mediana de los valores del vector tridimensional. Para obtenerel valor final del parametro 1 de la heurıstica 1, se obtiene la mediana de todaslas celdas marcadas con “0”, en la matriz h1, el segundo valor se obtiene, con lamediana de los valores marcados con “1” en la matriz h1 y ası sucesivamente. Estoquiere decir que se obtiene una mediana de un conjunto finito de vectores, dondecada vector corresponde a una iteracion con una funcion de evaluacion diferente.

Las funciones de evaluacion se eligen de forma aleatoria en cada iteracion,una funcion es elegible siempre que no se haya seleccionado anteriormente y noeste dentro de las funciones consideradas infactibles. Una funcion sera consideradainfactible cuando en su primer evaluacion, el numero de restricciones sea mayor acero, en este caso sera marcada como infactible y no podra volver a usarse en otrasiteraciones.

El proceso descrito hasta el momento toma los valores definidos por elsubproceso evolutivo de busqueda, donde un subproceso de evolucion devuelve unvector de parametros para una instancia de EA sobre una funcion de evaluacion.En cada iteracion tendran lugar numHeuristicas y procesos de evolucion,donde el total de procesos de evolucion esta definido por numHeuristicas ∗(numFunciones/4).

El proceso de busqueda interno puede definirse de la siguiente manera. Segenera una poblacion aleatoria de tamano tamV ecindario, la poblacion puede serllamada vecindario. El primer paso consiste en encontrar la solucion inicial que debeser factible, se busca de forma secuencial un individuo como punto de partida. Sino se encuentran soluciones factibles, se re-inicializa la poblacion aleatoriamentey se repite la busqueda. Ya que se ha encontrado una solucion inicial, el siguientepaso consiste en identificar aquellas soluciones que son factibles de acuerdo a larestriccion, las soluciones factibles ingresan a una lista de candidatos, siempre ycuando no esten dentro de la lista tabu, mientras que las soluciones no factiblesentran a una lista de errores.

79

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

Los errores se re-aleatorizan, mientras que en la lista de candidatos serecorren los individuos para encontrar aquel con la mejor solucion. En este paso,los individuos no seleccionados seran mutados con el operador de mutacion deevolucion diferencial. El individuo considerado como mejor candidato se comparacontra la mejor solucion conocida actualmente, el perdedor sera mutado. El ultimopaso consiste en ingresar los candidatos no seleccionados y agregarlos a la lista tabu.La lista tabu tiene un tamano tamV ecindario/2, que es relativamente grande, peroutil para evitar ciclos en el proceso de busqueda.

6.2.1. Inicializacion del algoritmo

El algoritmo comienza leyendo los nombres de los algoritmos evolutivos, ası comoinformacion referente al numero de variables de decision implementadas por elalgoritmo. Esta actividad corresponde a la primer lınea del algoritmo 12. Para queel algoritmo de afinacion sea capaz de trabajar con varias heurısticas, necesita leerla informacion de dos tipos de archivos. La informacion del primero se muestra enla figura 25.

4MRySI EDRMRySI EDBMRySI ESMRySI ABC

Figura 25: Archivo de texto con los nombres de los algoritmos evolutivos.

Ya que el sistema necesita ejecutar los EA, utiliza los nombres de lasaplicaciones dentro del sistema para construir los comandos de ejecucion, loscomandos de ejecucion son las lineas con las que se invocan los programas a travesdel interprete de comandos del sistema operativo.

Debe existir un archivo con la informacion mostrada en la Figura 25 paracada algoritmo evolutivo a afinar, la primera lınea indica el numero de variables,la segunda identifica las variables utiles para construir la restriccion, la terceraindica la posicion donde inician las variables (Fıgura 26) utiles (se explicara masadelante), mientras que el resto indica los lımites de cada variable.

80

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

3211004002005000100500

Figura 26: Archivo de texto de informacion de variables objeto.

La primera accion del algoritmo consiste en comparar los valores de la primeralınea de los archivos con informacion de variables, el valor mas alto encontrado sealmacena e indica el tamano de las variables de todos los individuos. Se lleva uncontador interno para identificar el numero de variables de cada heurıstica, por estemotivo, es posible trabajar con heurısticas que manejan una cantidad diferente deparametros.

Cuando las estructuras de datos han sido creadas, se inicializa las variablespi, i = 1, 2, ..., numeroV ariables, para cada individuo de la poblacion, lainicializacion esta sujeta a los valores determinados como lımites que el usuarioespecifico en el archivo de texto con informacion de variables objeto. En este trabajode tesis se utilizo una generacion aleatoria con distribucion normal

Se puede considerar parte de la inicializacion el hecho de seleccionar por unicavez dentro del algoritmo 12, la seleccion de la mejor solucion inicial, esta partedepende de los valores generados aleatoriamente durante la fase de inicializacionde la poblacion y consiste en encontrar aquel individuo que maximiza f(~P ) y

minimizan∑

i=1

pi, entre todos los individuos de la poblacion. El algoritmo 12 muestra

el pseudocodigo para la definicion de la mejor solucion inicial, mientras que el 14muestra los criterios de comparacion para determinar la solucion con mejor aptitud(relacionada con f(~P )) y utilidad (relacionada con la sumatoria de parametros).

81

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

Algoritmo 12: Seleccion inicial de la mejor solucion.

Leer nombresCrear una poblacion inicial aleatoria pi,G∀i, i = 1, ..., NPfor G=1 to MAX GEN do

while ! solucionInicial doInicializar poblacion;Seleccionar solucion inicial;

endEvaluar inicial f(pi,G)∀i, i = 1, ..., NPIdentificar candidatos(tamVecindario);Marcar infactibles como errores

end

6.2.2. Mutacion de los individuos

La descripcion de mutacion en el afinador corresponde a la mutacion delalgoritmo Evolucion Diferencial, en este caso no se implemento un procedimientode recombinacion. Cada vector pi,g, se convertira en un vector objetivo parareproducirse y generar un vector hijo ui,G. Para crear un hijo, es necesario obtenerun vector mutante, el cual se crea mediante la manipulacion de los valores de otrosvectores. Para iniciar, en la siguiente ecuacion se define la forma de generar elvector de mutacion y se explica en los siguientes parrafos

pmut = pr0 + F (pr1 − pr2)

Primero se le da una direccion a la busqueda al obtener la diferencia entre dosvectores diferentes (pr1,G menos pr2,G), la diferencia se debe escalar, al multiplicarlacon el parametro F>0, para despues sumarla a los valores de un tercer vector , lostres vectores se seleccionan aleatoriamente, tomando en cuenta que deben seguirla siguiente regla.

r0 6= r1 6= r2 6= i (siendo i, el identificador del padre)

La forma de mutar las soluciones es exactamente la misma implementada enla evolucion diferencial (ver Figura 15), donde se puede observar que la direccionen que la busqueda se “mueve” depende de la comparacion entre la diferenciaescalada, sumada al valor del vector base que define la posicion del vector mutantey el vector que se este mutando en ese momento.

82

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

6.2.3. Seleccion de los sobrevivientes

El criterio de seleccion de individuos es totalmente elitista, ya que primero se escogeaquellos individuos que tienen la propiedad de ser factibles, sin dar oportunidad alos infactibles de pasar a las siguientes generaciones. Cuando los individuos factiblesson identificados (se agrega su identificador en una lista), se encuentra el mejor deellos, llamado el mejor candidato y es comparado contra la mejor solucion en lageneracion actual, el perdedor de esta comparacion es mutado, de la misma maneraque las soluciones factibles que no fueron seleccionadas como el mejor candidato.

Algoritmo 13: Criterios de comparacion entre individuos.

mejor = MejorSolucionif (MejorSolucion.factible & Candidato.factible) then

if (Candidato.aptitud < MejorSolucion.aptitud) thenmejor = Candidato

end ifif (MejorSolucion.aptitud = Candidato.aptitud) then

if (Candidato.utilidad < MejorSolucion.utilidad) thenmejor = Candidato

end ifend if

elseif (Candidato.factible & MejorSolucion.infactible) then

mejor = Candidatoend ifif (Candidato.Infactible & MejorSolucion.Infactible) then

if (Candidato.NoViolaciones 6= MejorSolucion.NoViolaciones) thenif (Candidato.NoViolaciones < MejorSolucion.NoViolaciones) then

mejor = Candidatoend if

elseif (Candidato.utilidad ≤ MejorSolucion.utilidad) then

mejor = Candidatoend if

end ifend if

end if

La siguiente generacion estara poblada por el mejor individuo encontrado hastala generacion actual y las mutaciones de los mejores candidatos de la solucionanterior, es decir, el proceso de evolucion modifica a las soluciones factibles y lasva mutando entre sı, hasta que se conviertan en la mejor solucion o dejen de ser

83

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

factibles. El termino vecindario es vago en esta implementacion, puesto que no esposible definir los vecinos de un individuo, sin embargo, el operador de mutacionde la evolucion diferencial es apropiado por que muta los individuos y triangulalas soluciones exploradas, eso le da mas fuerza a la definicion de vecindario.

6.2.4. Manejo de restricciones

Como se comento, en APEA existen dos tipos de restricciones, la primera se aplicaa los lımites de ~P , mientras que la segunda se relaciona con el lımite MAX FESnecesario para la implementacion del afinador, la primera cobra importanciadurante la fase de inicializacion (explicada anteriormente) y durante el procesode mutacion de individuos. La segunda es importante a la hora de construir larestriccion g1 para el problema de optimizacion de parametros.

Las restricciones se toman en cuenta a la hora de generar las mutacionespara las variables de decision dentro de un individuo. El manejo primario de lasrestricciones se basa en asegurar que en cada mutacion, el valor que se va a asignar ala variable quede dentro de los lımites establecidos por el usuario. Cuando un valormutado queda fuera del rango establecido, se remedia con la siguiente solucion.

uj,i,G =

{2pj

liminf − uj,i,G si uj,i,G < pjliminf

2pjlimsup − uj,i,G si uj,i,G > pj

limsup

uj,i,G de otra manera

Para describir la construccion de la restriccion del problema general g1 seretoma la figura 25, la cual representa la informacion contenida en el archivo deinformacion de variables de decision para cada EA a configurar. La restriccion delproblema esta definida por la ecuacion:

g1(p) = 2∗ | offspring | ∗MAX GEN

Los valores de offspring yMAX GEN deben ser identificados entre los datosde los arreglos lineales que representan a los conjuntos de parametros a afinar. Sibien esto hace complicado la configuracion inicial, es necesario para poder trabajarcon un conjunto amplio de EA’s con diferentes cantidades de parametros, estamedida es una forma de estandarizar los valores de entrada del algoritmo afinador.

La segunda lınea del archivo de texto de informacion inicial (figura 25), indicala cantidad de parametros que definen el numero de evaluaciones que debe realizarel algoritmo evolutivo. La restriccion g0 se construye a partir del tamano del“offspring” y el numero de generaciones, por lo tanto, el numero mınimo en la

84

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

segunda lınea del archivo es 2 (individuos y generaciones), en los conjuntos deparametros estos datos deben ir juntos y con ese orden: padres, hijos, generacionesy otros parametros.

La tercera lınea indica la posicion donde se encontrara el primero de estosvalores (el numero de individuos) entre el total de parametros. De esta formael algoritmo tiene informacion suficiente para crear las estructuras y generar larestriccion g0. Se puede decir que el algoritmo afinador no conoce la utilidad decada parametro dentro del EA, sino que el usuario indica mediante el archivo detexto de informacion inicial como trabajar con ellos, es decir, el usuario tiene queidentificar los parametros que influyen en la determinacion del numero generacionesa evaluar por los EA’s.

6.3. Resultados experimentales

De la ejecucion repetida por 30 veces del algoritmo afinador, se obtuvieron losconjuntos de parametros que se presentan en los cuadros 18-21, la columna“MAX FES” indica el numero de evaluaciones que seran ejecutadas por elalgoritmo evolutivo, la columna marcada como “Utiliza” indica el porcentajede evaluaciones que el algoritmo realiza con respecto a las 500000 evaluacionesutilizadas en la implementacion de los EA sin afinar.

La configuracion de parametros utilizada para la ejecucion del algoritmoafinador esta conformada por una poblacion de 30 individuos, 50 generaciones,numero de funciones igual a 24, MAX FES igual a 500000 (el numero lımite deevaluaciones que debe respetar) y un factor para el operador de mutacion iguala 0.9, lo que hara que la busqueda se mueva de forma mas rapida por el espaciode busqueda. El orden de los parametros mostrados en la tabla de resultados paraEDB y EDR es el siguiente: NP, MAX GEN, F y CR. El orden de los parametrosmostrados en la tabla de resultados para ES es el siguiente: numero de padres,numero de hijos y numero de generaciones, mientras que el orden de parametrospara ABC es: SN, MNC y lımite.

85

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

Cuadro 18: Conjuntos de parametros afinados para EDB.

No. Parametros MAX FES Utiliza

1 148.117331 825.225695 0.492455 0.9688 122378 24 %

2 160.475206 523.454053 0.438266 0.813398 84162 17 %

3 136.773724 640.834535 0.428531 0.893742 87786 18 %

4 180.033825 668.282124 0.418539 0.961209 120493 24 %

5 166.278509 628.908994 0.418103 0.84323 104740 21 %

6 156.551793 615.227048 0.348084 0.849457 96471 19 %

7 118.333966 634.993644 0.455258 0.856318 75260 15 %

8 137.931177 645.722586 0.489546 0.773161 89203 18 %

9 141.140089 664.148605 0.229224 0.942347 93879 19 %

10 255.300423 699.110938 0.363042 0.953289 178739 36 %

11 190.935898 625.689729 0.34054 0.96764 119658 24 %

12 117.835924 614.103992 0.205107 0.717051 72481 14 %

13 131.987764 651.691688 0.350692 0.881753 86147 17 %

14 140.383774 647.771047 0.442924 0.893489 91077 18 %

15 127.410956 965.543707 0.459739 0.968585 123148 25 %

16 139.254568 622.626202 0.365516 0.886914 86843 17 %

17 163.041078 695.01768 0.453128 0.903068 113479 23 %

18 123.259785 637.539451 0.422845 0.889398 78706 16 %

19 117.988821 609.609873 0.501288 0.924812 72045 14 %

20 111.388987 717.138588 0.259057 0.827718 79993 16 %

21 175.008703 760.443759 0.357966 0.768991 133259 27 %

22 131.815217 760.690328 0.454336 0.960332 100402 20 %

23 139.365508 651.935815 0.489139 0.83343 90997 18 %

24 216.661908 706.185577 0.405575 0.958853 153220 31 %

25 122.153778 732.7659 0.591637 0.918127 89632 18 %

26 137.457012 699.503066 0.408255 0.86391 96289 19 %

27 141.351211 617.270124 0.364625 0.918935 87393 17 %

28 156.384919 641.669384 0.408665 0.954269 100504 20 %

29 111.349595 646.335196 0.209565 0.758906 72081 14 %

30 132.703256 648.661373 0.499829 0.862099 86212 17 % 86

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

Cuadro 19: Conjuntos de parametros afinados para EDR.

No. Parametros MAX FES Utiliza

1 159.989906 558.764051 0.370937 0.986503 89557 18 %

2 113.677949 515.799366 0.339498 0.827149 58749 12 %

3 113.422991 672.252003 0.390276 0.917421 76362 15 %

4 145.673962 869.569019 0.399946 0.943941 126819 25 %

5 144.337516 791.199264 0.376694 0.847403 114344 23 %

6 168.603377 645.450018 0.394058 0.908878 108994 22 %

7 152.488203 559.985064 0.235022 0.862193 85544 17 %

8 173.772798 631.521067 0.430424 0.85557 109915 22 %

9 196.339117 748.863357 0.336642 0.926509 147228 29 %

10 121.838726 1110.097439 0.533797 0.874085 135375 27 %

11 139.347004 788.150684 0.433591 0.821933 109966 22 %

12 137.217459 725.221374 0.454035 0.961894 99650 20 %

13 133.928636 570.8419 0.441927 0.85051 76586 15 %

14 125.480456 780.6118 0.337809 0.892947 98077 20 %

15 120.859226 575.252846 0.365686 0.757805 69645 14 %

16 162.934327 723.140752 0.422313 0.850331 117987 24 %

17 183.81681 690.014682 0.407874 0.894644 127020 25 %

18 132.577883 597.191443 0.374058 0.843498 79307 16 %

19 147.637059 785.557036 0.453783 0.974715 116125 23 %

20 165.768167 611.264329 0.47408 0.856975 101494 20 %

21 136.963954 694.761433 0.370143 0.708674 95294 19 %

22 127.862569 552.94137 0.200864 0.890955 70828 14 %

23 128.319604 616.421921 0.363313 0.89502 79227 16 %

24 136.270781 688.151581 0.373275 0.976281 93911 19 %

25 157.974568 660.846591 0.40219 0.916378 104555 21 %

26 140.399596 581.792671 0.443453 0.945743 81824 16 %

27 167.897116 721.354271 0.377221 0.955443 121281 24 %

28 146.360154 785.873615 0.459087 0.77335 115167 23 %

29 145.473328 641.591414 0.397028 0.793113 93480 19 %

30 143.659145 653.02409 0.316362 0.775096 93957 19 % 87

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

Cuadro 20: Conjuntos de parametros afinados para ES.

No. Parametros MAX FES Utiliza

1 164.020367 415.618475 735.273123 305757 61 %

2 171.52074 378.834813 606.897167 230085 46 %

3 119.277807 343.179363 674.906437 231733 46 %

4 192.294435 409.295314 856.354988 350694 70 %

5 159.985515 447.039528 611.578005 273560 55 %

6 141.91293 393.229027 601.037433 236487 47 %

7 146.403713 434.727539 699.619678 304290 61 %

8 189.886185 342.399144 760.141381 260462 52 %

9 247.496708 424.929458 689.69054 293317 59 %

10 189.475343 359.352699 803.110887 288790 58 %

11 145.096644 392.045363 519.550527 203832 41 %

12 180.814525 348.606416 658.325384 229677 46 %

13 154.392583 362.194311 648.670538 235099 47 %

14 192.551364 365.567977 832.774243 304628 61 %

15 130.555891 384.483837 731.317903 281310 56 %

16 115.602386 398.81843 663.458791 264715 53 %

17 181.547624 331.525012 702.574359 233103 47 %

18 265.772253 325.031508 828.318538 269495 54 %

19 169.435677 386.719028 649.552916 251364 50 %

20 161.608922 386.725636 788.830454 305223 61 %

21 271.549487 401.555035 590.877983 237542 48 %

22 246.144419 336.579133 774.636754 260973 52 %

23 203.998506 391.576195 659.363352 258395 52 %

24 195.498481 465.941681 565.14245 263519 53 %

25 255.994217 396.459462 695.510288 275998 55 %

26 194.814249 367.400201 639.977344 235323 47 %

27 139.020038 326.33506 635.393348 207490 41 %

28 208.080908 417.903828 672.761179 281358 56 %

29 199.083342 322.786202 722.549882 233428 47 %

30 221.32789 419.565502 733.397339 307930 62 % 88

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

Cuadro 21: Conjuntos de parametros afinados para ABC.

No. Parametros FES Utiliza

1 122.949238 1053.463004 241.26726002 259168 52 %

2 120.606977 1491.216092 140.9158962 359823 72 %

3 143.623178 1306.968075 164.58007386 375565 75 %

4 114.963928 1300.367728 216.59036614 299106 60 %

5 118.149641 1721.142583 297.9376857 406823 81 %

6 120.255521 1400.968699 373.08087598 337069 67 %

7 135.955759 1658.089763 367.9296461 450990 90 %

8 108.440888 1894.342324 161.32124752 410957 82 %

9 117.98824 1772.178351 320.08055045 418310 84 %

10 135.335272 1490.897981 198.61732707 403678 81 %

11 115.386959 1600.891884 232.41599372 369559 74 %

12 142.216564 1479.320036 166.98394318 420910 84 %

13 120.207998 1756.847844 134.0393291 422495 84 %

14 117.868573 1728.875636 213.35448618 407678 82 %

15 138.004869 1796.782591 197.65576938 496067 99 %

16 151.620908 1302.039179 175.68985169 394984 79 %

17 125.752336 1635.487609 110.1200121 411459 82 %

18 112.700361 1789.867171 294.14793276 403550 81 %

19 121.539351 1925.549211 138.27689876 468182 94 %

20 121.535148 1577.108562 180.40466331 383470 77 %

21 122.449847 1540.395867 173.17336196 377365 75 %

22 115.399727 1902.513201 111.07607373 439214 88 %

23 112.078462 1673.278074 190.9520658 375189 75 %

24 132.347424 1644.914887 272.26761306 435533 87 %

25 112.758149 1267.543454 267.24970146 285964 57 %

26 126.272396 1604.354029 108.95055578 405298 81 %

27 125.754626 1021.680079 152.8940181 257088 51 %

28 114.360724 1805.470693 146.445713 413064 83 %

29 119.237774 1823.096304 291.38971022 434883 87 %

30 119.06459 1871.423522 197.95245611 445760 89 % 89

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

Se puede observar que para cada algoritmo evolutivo, la mayorıa de los datosen las columnas que conforman los vectores afinados de parametros tienen valoressimilares, de esta manera, es posible definir un patron para cada heurıstica. Almismo tiempo, existe la posibilidad de identificar una medida de conocimientosobre como interactuan los parametros entre si. Se genera un cuestionamiento:¿Por que se obtienen mejores resultados con menor cantidad de evaluaciones, si elobjetivo principal de los EA consiste en evolucionar a traves de las generaciones?

Cuadro 22: Valores promedio de parametros afinados de los EA.

Id Parametros FES Utiliza

EDB 147.6224901667 673.2700233667 0.4023825333 0.8837743667 99556 20 %

EDR 145.6964129 684.9168817 0.3891795333 0.8761652333 99942 20 %

ABC 123.4941809333 1594.5691477667 207.9253692813 392307 78 %

ES 185.1721049667 382.5475059 691.7197737 263853 53 %

El cuadro 22 muestra el valor promedio de las 30 ejecuciones del algoritmoafinador, estos valores seran utilizados para ejecutar otras 30 veces los algoritmosevolutivos y realizar una comparacion entre los “resultados originales” y los“resultados afinados”.

6.3.1. Tablas de comparacion de resultados afinados

Los parametros utilizados para obtener los resultados afinados se heredan delcuadro 22, se identifica el valor de cada parametro en el siguiente cuadro:

Evolucion Diferencial Rand: 145 individuos en la poblacion, 684 generaciones,factor de mutacion con valor de 0.3891795333, factor de recombinacion convalor de 0.8761652333 y MAX FES igual a 99556.

Evolucion Diferencial Best: 147 individuos en la poblacion, 673 generaciones,factor de mutacion con valor de 0.4023825333, factor de recombinacion convalor de 0.8837743667 y MAX FES igual a 99942.

Estrategia Evolutiva: 185 padres, 382 hijos, 691 generaciones y MAX FESigual a 263853.

Colonia Artificial de Abejas: 123 individuos en la poblacion, 1594generaciones, el lımite de re-aleatorizacion con valor de 207 y MAX FESigual a 392307.

90

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

Los cuadros 23-27 presentan la informacion obtenida por la ejecucion de cadaalgoritmo evolutivo con los parametros afinados.

Cuadro 23: Resultados afinados CEC2006: g01-g05.

Algoritmo g01 g02 g03 g04 g05

EDR

Mejor -15 -0.8034 -1 -30665.5386 5126.496Mediana -15 -0.8031 -1 -30665.5386 5126.496

Peor -15 -0.7924 -1 -30665.5386 5126.496Promedio -15 -0.7484 -1 -30665.5386 5126.496

σ 0 0.2929 0 0 0

EDB

Mejor -15 -0.8033 -1 -30665.5386 5126.496Mediana -15 -0.8030 -1 -30665.5386 5126.496

Peor -15 -0.7922 -1 -30665.5386 5126.496Promedio -15 -0.8018 -1 -30665.5386 5126.496

σ 0 0.0032 0 0 0

Algoritmo g01 g02 g03 g04 g05

ABC

Mejor -15 -0.8013 -0.9998 -30665.538 5129.9437Mediana -15 -0.7949 -0.9997 -30665.538 5147.4789

Peor -15 -0.7858 -0.9996 -30665.538 5179.7877Promedio -15 -0.7953 -0.9997 -30665.538 5147.3780

σ 0 0.0036 7.3×10−5 0 11.0274

ES

Mejor -14.999 -0.7752 -0.9959 -30665.538 5126.5807Mediana -14.897 -0.6614 -0.9810 -30663.592 5317.1405

Peor -12.0670 -0.5124 -0.8951 -30344.576 5812.5711Promedio -14.2754 -0.6693 -0.9684 -30638.050 5342.978

σ 1.0219 0.0694 0.0280 72.9534 189.478

91

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

Cuadro 24: Resultados afinados CEC2006: g06-g10.

Algoritmo g06 g07 g08 g09 g10

EDR

Mejor -6961.8138 24.307 -0.0958 680.6300 7049.771Mediana -6961.8138 24.309 -0.0958 680.6300 7050.228

Peor -6961.8138 24.310 -0.0958 680.6300 7050.466Promedio -6961.8138 24.309 -0.0958 680.6300 7050.147

σ 0 0.0007 0 0 0.3046

EDB

Mejor -6961.8138 24.3073 -0.0958 680.6300 7049.591Mediana -6961.8138 24.3079 -0.0958 680.6300 7049.806

Peor -6961.8138 24.3083 -0.0958 680.6300 7050.008Promedio -6961.8138 24.3080 -0.0958 680.6300 7049.802

σ 0 0.0002 0 0 0.0221

Algoritmo g06 g07 g08 g09 g10

ABC

Mejor -6961.8138 24.4038 -0.0958 680.6367 7105.0158Mediana -6961.8138 24.4951 -0.0958 680.6440 7175.2046

Peor -6961.8138 24.8760 -0.0958 680.6525 7330.6826Promedio -6961.8138 24.5102 -0.0958 680.6448 7193.9833

σ 0 0.0876 0 0.0040 65.8195

ES

Mejor -6961.8139 24.9605 -0.0958 681.0692 7161.2975Mediana -6961.8139 32.9200 -0.0958 681.8076 8466.1933

Peor -6961.8139 160.324 -0.0858 702.3107 14703.507Promedio -6961.8139 45.7912 -0.0958 684.1620 9024.529

σ 0 35.8195 0 4.8276 1912.7578

92

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

Cuadro 25: Resultados afinados CEC2006: g11-g15.

Algoritmo g11 g12 g13 g14 g15

EDR

Mejor 0.7499 -1 0.4655 -32.703 961.7150Mediana 0.7499 -1 0.8124 -32.697 961.7150

Peor 0.7524 -1 0.9885 -32.697 961.7150Promedio 0.7503 -1 0.7872 -32.697 961.7150

σ 0.0009 0 0.1324 0.0013 0

EDB

Mejor 0.7499 -1 0.0541 -39.013 961.7150Mediana 0.7499 -1 0.4340 -32.697 961.7150

Peor 0.7960 -1 2.0541 -32.697 961.7150Promedio 0.7652 -1 0.3693 -33.649 961.7150

σ 0.0221 0 0.3926 1.6021 0

Algoritmo g11 g12 g13 g14 g15

ABC

Mejor 0.7499 -1 0.7538 -43.7349 961.7150Mediana 0.7503 -1 0.9442 -42.1032 961.7152

Peor 0.7554 -1 0.9890 -40.1714 961.7159Promedio 0.7508 -1 0.9252 -42.0467 961.7153

σ 0.0013 0 0.0647 0.9823 0.0002

ES

Mejor 0.7530 -1 0.1070 -44.9824 961.7163Mediana 0.8319 -1 0.8626 -40.9202 961.8351

Peor 0.9999 -1 4.4638 -37.4065 965.5881Promedio 0.8310 -1 1.0237 -41.2192 962.1461

σ 0.0725 0 0.9102 1.9300 0.8050

93

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

Cuadro 26: Resultados afinados CEC2006: g16-g20.

Algoritmo g16 g17 g18 g19 g20

EDR

Mejor -1.0683 8853.323 -0.8660 32.6613 0.8812(16)Mediana -0.9245 8855.485 -0.8660 32.6665 1.0643(17)

Peor -0.7469 8943.274 -0.8658 32.6913 4.8406(18)Promedio -0.8735 8885.267 -0.8659 32.6701 1.2939(17)

σ 0.1002 37.4890 4.1×10−5 0.0087 6.9924

EDB

Mejor -1.0975 8853.323 -0.8660 32.6555 0.1457(14)Mediana -0.9786 8927.508 -0.8660 32.6556 0.6834(16)

Peor -0.8851 8927.508 -0.8660 32.6558 1.9491(18)Promedio -1.0119 8895.361 -0.8660 32.6556 1.1038(16)

σ 0.0641 37.3900 0 5.6×10−5 17.221

Algoritmo g16 g17 g18 g19 g20

ABC

Mejor -1.4019 8859.221 -0.8646 43.1743 7.7579(17)Mediana -1.1070 8928.943 -0.8603 110.0444 7.4247(18)

Peor -0.8462 8935.342 -0.8547 1927.089 9.3495(18)Promedio -1.1231 8917.792 -0.8606 358.3902 7.3136(18)

σ 0.1401 25.4752 0.0021 445.8986 28.2316

ES

Mejor -1.3146 8861.687 -0.8656 51.9720 0.2868(13)Mediana -1.1549(1) 8947.971 -0.7626 149.211 0.7293(15)

Peor 0.9785(3) 9178.934 -0.4959 298.385 1.6878(20)Promedio -1.2078(1) 8965.455 -0.7028 143.108 1.0285(16)

σ 1.8997 83.6025 0.1348 53.0099 1.8086

94

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

Cuadro 27: Resultados afinados CEC2006: g21-g24.

Algoritmo g21 g22 g23 g24

EDR

Mejor 193.7264 7170.302(9) -264.134 -5.5080Mediana 193.7535 13747.81(9) -96.8450 -5.5080

Peor 955.194(1) 19888.3(10) -175.002 -5.5080Promedio 275.4698 13792.3(9) -80.358 -5.5080

σ 179.7593 3421.201 104.8585 0

EDB

Mejor 193.7245 2459.97(8) -394.2627 -5.5080Mediana 324.7028 12744.4(8) -227.4996 -5.5080

Peor 933.2709 19786.2(9) 489.8934 -5.5080Promedio 297.3313 12830.0(8) -210.599 -5.5080

σ 136.9963 5500.466 167.0391 0

Algoritmo g21 g22 g23 g24

ABC

Mejor 269.9337 6029.95(10) -283.3060 -5.5080Mediana 342.9118 11638.31(11) -72.1336 -5.5080

Peor 390.7559 19446.43(11) 86.7736 -5.5080Promedio 338.0690 11270.29(11) -89.2448 -5.5080

σ 34.1472 3572.725 103.5368 0

ES

Mejor 195.991 10400.93(2) -315.8496 -5.50801Mediana 293.074 10933.68(6) -96.0680 -5.50801

Peor 325.797 12463.86(10) -117.519 -5.47903Promedio 283.364 14295.07(5) -113.917 -5.50704

σ 37.7413 2900.61 120.3002 0.0052

Comparacion de resultados afinados contra los originales y el Benchmark

Los cuadros 28-33 muestran una comparacion entre los mejores resultadosobtenidos de la ejecucion de los EA afinados contra los valores originales (EA sinafinar), la idea general consiste en comparar la cantidad de funciones de evaluacionque mantienen la calidad de aptitud obtenida con parametros afinados con respectoa los valores originales. Esta comparacion es importante, pues se toma en cuentaque los datos que conforma cada muestra de una funcion de evaluacion CEC vienede vectores de parametros con valores diferentes.

95

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

Cuadro 28: Comparacion de resultados afinados CEC2006: g01-g04.

Origen g01 g02 g03 g04

BenchMark -15 -0.8036 -1.0005 -30665.539

Originales

EDR -15 -0.8034 -0.9999 -30665.5386EDB -15 -0.8035 -0.9999 -30665.5386ABC -14.9993 -0.7180 -0.9997 -30665.535ES -15 -0.7941 -0.9932 -30665.5381

Afinados

EDR -15 -0.8034 -1 -30665.5386EDB -15 -0.8033 -1 -30665.5386ABC -15 -0.8013 -0.9998 -30665.538ES -14.999 -0.7752 -0.9959 -30665.538

Cuadro 29: Comparacion de resultados afinados CEC2006: g05-g08.

Origen g05 g06 g07 g08

BenchMark 5126.497 -6961.814 24.306 -0.09582

Originales

EDR 5126.4967 -6961.8138 24.375 -0.0958EDB 5126.4967 -6961.8138 24.3546 -0.0958ABC 5133.1659 -6361.8127 24.4897 -0.0958ES 5127.2591 -6961.8138 24.6716 -0.0958

Afinados

EDR 5126.496 -6961.8138 24.307 -0.0958EDB 5126.496 -6961.8138 24.307 -0.0958ABC 5129.9437 -6961.8138 24.4038 -0.0958ES 5126.5807 -6961.8139 24.9605 -0.0958

96

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

Cuadro 30: Comparacion de resultados afinados CEC2006: g09-g12.

Origen g09 g10 g11 g12

BenchMark 680.6301 7049.248 0.7499 -1

Originales

EDR 680.6310 7124.321 0.7499 -1EDB 680.6304 7079.265 0.7499 -1ABC 680.6371 7187.8208 0.7499 -1ES 680.9046 7054.7330 0.7499 -1

Afinados

EDR 680.6300 7049.771 0.7499 -1EDB 680.6300 7049.591 0.7499 -1ABC 680.6367 7105.0158 0.7499 -1ES 681.0692 7161.2975 0.7530 -1

Cuadro 31: Comparacion de resultados afinados CEC2006: g13-g16.

Origen g13 g14 g15 g16

BenchMark 0.05349 -47.765 961.71502 -1.90515

Originales

EDR 0.3713 -41.053 961.7150 -0.8919EDB 0.1103 -40.307 961.7150 -0.9869ABC 0.7538 -43.7349 962.4097 -1.1247ES 0.2999 -44.3573 961.7150 -1.5356

Afinados

EDR 0.4655 -32.703 961.7150 -1.0683EDB 0.0541 -39.013 961.7150 -1.0975ABC 0.3440 -44.5830 961.7150 -1.4019ES 0.1070 -44.9824 961.7163 -1.3146

97

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

Cuadro 32: Comparacion de resultados afinados CEC2006: g17-g20.

Origen g17 g18 g19 g20

BenchMark 8853.5397 -0.86602 32.6555 Infactible

Originales

EDR 8851.8172 -0.8609 33.9512 0.947(16)EDB 8863.675 -0.86476 33.1872 0.794(14)ABC 8860.914 -0.8609 45.2365 8.4067(17)ES 8851.755 -0.8657 64.1907 0.3821(11)

Afinados

EDR 8853.540 -0.8660 32.6613 0.947(16)EDB 8853.540 -0.8660 32.6555 0.794(14)ABC 8859.221 -0.8646 43.1743 8.4067(17)ES 8861.687 -0.8656 51.9720 0.3821(11)

Cuadro 33: Comparacion de resultados afinados CEC2006: g21-g24.

Origen g21 g22 g23 g24

BenchMark 193.72451 236.43097 -400.0551 -5.50801

Originales

EDR 343.7368 4185.96(9) -1193.787(2) -5.5080EDB 193.7318 2875.08(9) -634.97(2) -5.5080ABC 218.056 8378.27(10) -325.9810 -5.5080ES 250.2270 7640.4751(4) -279.3406 -5.5080

Afinados

EDR 193.7264 7170.302(9) -264.134 -5.5080EDB 193.7245 2459.97(8) -394.2627 -5.5080ABC 269.9337 6029.95(10) -283.3060 -5.5080ES 195.991 6158.7880(9) -315.8496 -5.5080

La comparacion anterior sugiere que los resultados obtenidos con losparametros afinados mantienen la calidad de aptitud obtenida por las ejecucionesoriginales, y en repetidas ocasiones los mejora. En la mayorıa de las funciones deoptimizacion los valores mejorados por el afinador alcanza los valores reportadosen el BenchMark, de esta manera se puede determinar que el algoritmo afinadorprovoco una mejora en el rendimiento de los algoritmos evolutivos, donde estaqueda remarcada cuando se toma en cuenta la reduccion tan drastica de recursosnecesarios para la ejecucion de los EA afinados.

98

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

Cuadro 34: Prueba Wilcoxon para los EA afinados.

Wilcoxon con funciones CEC2006

EDB>EDR EDR>ABC ABC>ES

p-value R+ +R− p-value R+ +R− p-value R+ +R−

g01 Iguales Iguales Iguales Iguales 1.7×10−6 -465

g02 0.9262 9 0.0004 -339 1.7×10−6 -465

g03 Iguales Iguales 1.7×10−6 -465 1.7×10−6 -465

g04 Iguales Iguales Iguales Iguales 1.9×10−6 -464

g05 Iguales Iguales 1.7×10−6 -465 1.7×10−5 -289

g06 Iguales Iguales Iguales Iguales 1.7×10−6 465

g07 Iguales Iguales 1.7×10−6 -465 2.5×10−6 -435

g08 Iguales Iguales Iguales Iguales Iguales Iguales

g09 Iguales Iguales 1.7×10−6 -465 2.5×10−6 -435

g10 0.0006 -333 1.7×10−6 -465 2.6×10−6 -461

g11 0.0105 90 0.0316 -209 2.5×10−6 -435

g12 Iguales Iguales Iguales Iguales Iguales Iguales

g13 4.4×10−5 -397 3.4×10−5 -403 0.2948 92

g14 0.387 -72 1.7×10−6 465 0.0152 -202

g15 Iguales Iguales 1.7×10−6 -465 1.7×10−6 -465

g16 4.4×10−5 -397 8.0×10−6 392 0.2954 52

g17 0.8628 -12 0.0002 -361 0.0066 -251

g18 1.7×10−6 -465 1.7×10−6 -465 1.0×10−5 -347

g19 1.7×10−6 -466 1.7×10−6 -465 0.1779 131

g20 Infactible Infactible Infactible Infactible Infactible Infactible

g21 0.5277 29 0.0385 -95 0.0052 108

g22 Infactible Infactible Infactible Infactible Infactible Infactible

g23 0.0003 -351 0.84 -15 0.9593 1

g24 Iguales Iguales Iguales Iguales Iguales Iguales

Mejorıa: 27 % Mejorıa: 59 % Mejorıa: 59 %

99

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

Interpretacion de resultados

Despues de realizar pruebas Wilcoxon, de forma similar que en el capıtulo5, se decidio que dentro de la informacion del cuadro de comparaciones losproblemas g20 y g22 no se contaran en las estadısticas, ya que en ningun casose encontro alguna solucion factible. La columna “EDB>EDR” indica que en 11ocasiones se encontraron muestras con los mismos resultados (g01, g03, g04, g05,g06, g08, g07, g09, g12, g15, g24), las funciones g14, g17 y g21 no cumplen con elcriterio determinado por el margen de error ( porque el valor en p-value es mayora 0.05), mientras que en 6 problemas se encontro una mejorıa de EDB sobre EDR.

La ultima fila de las columnas de comparacion indica el porcentaje de funcionesque cumplen con la hipotesis nula y comprueban que primer algoritmo es mejorque el segundo. En el caso de la comparacion EDB-EDR, EDB mejora en un 27 % aEDR, lo cual con respecto a los resultados originales, indica que la diferencia entrelos resultados de los algoritmos evolutivos disminuyo por que EDR alcanzo nuevosvalores del BenchMark con los parametros afinados.

La columna “EDR>ABC” indica que EDR mejora en un 59 % de las 22funciones a ABC, con lo que se tomara a EDR como mejor que ABC. De la mismamanera se toma a ABC como mejor que ES y se mantiene una categorizacion entrelos algoritmos evolutivos definida de la siguiente manera:

1. Evolucion diferencial Best.

2. Evolucion diferencial Rand.

3. Colonia artificial de abejas.

4. Estrategia evolutiva.

La categorizacion indica que EDB es el algoritmo que obtuvo mejoresresultados entre todos los EA afinados, seguido por EDR y ABC, mientras queES es catalogado como el algoritmo con peor rendimiento. Cabe notar que existenalgunos casos donde ABC mejora a EDR o donde ES mejora a ABC, por lo queel siguiente cuadro muestra los mejores resultados obtenidos por los parametrosafinados, su comparacion contra el BenchMark y el nombre del algoritmo evolutivoque genero el resultado. La columna algoritmo indica el nombre del o de losalgoritmos que alcanzan el resultado mostrado en el cuadro 35.

100

Capıtulo 6. Algoritmo propuesto de afinacion de parametros LANIA

Cuadro 35: Mejores resultados alcanzados por los EA afinados.

Problema Algoritmo Resultado BenchMarkg01 EDB, EDR,ABC -15 -15

g02 EDR -0.8034 -0.8036

g03 EDB, EDR -1 -1.0050

g04 Todos -30665.539 -30665.539

g05 EDB, EDR 5126.496 5126.497

g06 Todos -6961.8138 -6961.814

g07 EDB, EDR 24.307 24.306

g08 Todos -0.0958 -0.0958

g09 EDB, EDR 680.6300 680.6301

g10 EDB 7049.591 7049.248

g11 EDB, EDR, ABC 0.7499 0.7499

g12 Todos -1 -1

g13 EDB 0.0541 0.0534

g14 ES -44.9824 -47.765

g15 EDB, EDR, ABC 961.7150 961.7150

g16 ABC -1.4019 -1.90515

g17 EDB,EDR 8853.540 8853.54

g18 EDR,EDB -0.8660 -0.86602

g19 EDB 32.6555 32.6555

g21 EDB 193.7245 193.7245

g23 EDB -394.2627 -400.0551

g24 Todos -5.5080 -5.5080

101

CAPITULO 7

Comentarios finales

En este trabajo se presento un algoritmo evolutivo afinador de parametros dealgoritmos evolutivos, especializado en los parametros cuantitativos de los mismos.El objetivo original de la tesis consistıa en generar un algoritmo hiper-heurısticocon aprendizaje por refuerzo que mediante la exploracion de las soluciones de lasinstancias de EA sobre las funciones de evaluacion a optimizar (funciones CEC),obtuviera “experiencia” y fuera capaz de identificar eficientemente cual instanciaes mejor para cada funcion de evaluacion.

La ejecucion de un algoritmo hiper-heurıstico con aprendizaje maquina porestadısticas utilizo EAs con valores muy bajos en sus parametros, con la intencionde obligarlo a esforzarse mas en su aprendizaje, sin embargo, genero resultadosinesperados sobre los obtenidos en la fase de pruebas de los EA con 500000evaluaciones de individuos. Se identifico que algunas heurısticas tienden a convergerrapidamente, mientras que otras tardan en encontrar una buena solucion.

Intentar evaluar un conjunto de heurısticas que toman en cuenta muchasgeneraciones, es un proceso demasiado costoso durante la fase de pruebas, lo quese busca en estos casos es aumentar la agilidad del proceso general, derivado deesto, se puede pensar que si la finalidad de los algoritmos evolutivos consiste enmejorar los individuos a traves de las generaciones, entonces, reducir el numero degeneraciones se puede llegar a traducir en perdida de la informacion, estos motivosabrieron la pregunta sobre cuales eran las mejores configuraciones para que cadaheurıstica pudiera encontrar sus mejores resultados, de tal manera que sean lomas ligeras posible y no pierdan la calidad en sus resultados. Este trabajo de tesisdesarrollo una alternativa de solucion para esta problematica.

7.1. Conclusiones

Los resultados presentados en el capıtulo 6, indican que el algoritmo afinador deparametros, en la mayorıa de los casos incremento la calidad y agilidad (mejoresresultados con una menor cantidad de evaluaciones) de los algoritmos evolutivospara la mayorıa de las funciones CEC2006 con respecto a los resultados presentadosen el capıtulo 5.

A continuacion se describen de forma independiente las conclusionesobtenidas.

102

Capıtulo 7. Comentarios finales LANIA

Los resultados sugieren de forma empırica que el algoritmo tiene la capacidadde optimizar un conjunto de algoritmos evolutivos, en lugar de solo uno.Por otra parte, mediante las graficas de los anexos, se puede inferir quelos resultados de la ejecucion de los algoritmos evolutivos con parametrosafinados tienden a ser coherentes, que mejoran los resultados mientras quesu jerarquıa se mantiene, reduciendo a mismo tiempo el consumo de recursosde forma drastica. Se traducen estas caracterısticas como indicadores de queel algoritmo es robusto con respecto a las funciones CEC2006.

Aunque los resultados sugieren que el algoritmo es robusto, las graficas dedispersion de algunas funciones, indican que no serıa prudente afirmar que esun afinador general que puede trabajar con cualquier conjunto de heurısticaso funciones de evaluacion, esto se debe a que cada funcion de evaluacion tienecaracterısticas independientes, donde los parametros influyen de diferentemanera para encontrar el resultado final. Se observa que la mayorıa delos resultados de algunas funciones son buenos, mientras que en algunasfunciones no se logra encontrar una buena solucion o los datos estan dispersos.

Se dice que se encuentra una buena solucion cuando los valores dentro delconjunto de resultados de un EA afinado mejoran e idealmente se encuentranmenos dispersos que los resultados originales.

El uso de un algoritmo evolutivo de alto nivel con el objetivo de manejarun conjunto de algoritmos evolutivos de bajo nivel es un enfoque bastanteatractivo, puesto que los EA fueron disenados para trabajar en entornosdifıciles, sin embargo, su implementacion es costosa con respecto a otrosmetodos existentes, tales como la regresion lineal. En este trabajo seidentifico la idea de que el uso de un algoritmo con parametros afinadoses esencial para combatir el costo necesario de ejecucion de los EAs. Seintenta delimitar el numero de evaluaciones necesarias con diferentes factores,tratando de mantener los mejores resultados.

La implementacion de un algoritmo evolutivo de alto nivel para afinaralgoritmos de bajo nivel, hereda tanto las bondades de los algoritmosevolutivos como sus dificultades. Se puede ver que el uso del afinador necesitaque el usuario configure previamente un conjunto de parametros. De acuerdocon la experimentacion realizada en este trabajo, se presume que el espaciode busqueda del modelo de parametros es bastante reducido con respectoa los modelos de las funciones CEC, por este motivo, se obtuvieron buenosresultados con pocas evaluaciones.

La reduccion del espacio de busqueda supone que la configuracion deparametros del algoritmo de alto nivel es mucho mas sencilla de lograr, porlo que el tiempo invertido para esta tarea es reducido y vale la pena, ya que

103

Capıtulo 7. Comentarios finales LANIA

con esto se puede lograr la configuracion de un conjunto de EAs (centralizael problema).

De acuerdo con Sampieri, Collado y Lucio en [128], los resultados deeste trabajo de tesis se obtuvieron mediante un trabajo de investigacioncualitativo, puesto que en cada fase se hizo necesaria la retroalimentacionde los resultados obtenidos hasta ese momento, esta re-evaluacion llevo ala redefinicion constante de objetivos e hipotesis. Cada etapa dentro deeste trabajo se convirtio en un subproceso de investigacion, mientras quela conjuncion de estos definio el camino a seguir del trabajo.

Los conjuntos de parametros optimizados para un algoritmo evolutivo,pueden representar una fuente de informacion para conocer al mismoalgoritmo evolutivo, puesto que indican patrones de uso sobre los valoresen los parametros, esta informacion puede ser un punto inicial para conocerel comportamiento interno de los EA.

El resultado buscado en este trabajo consistio en encontrar buenasconfiguraciones de parametros de algoritmos evolutivos, no se buscaobtener informacion sobre la interaccion entre parametros o sus nivelesde importancia sobre los componentes que definen al proceso de busquedageneral.

Las contribuciones de este trabajo de tesis se pueden resumir en los siguientespuntos:

• Aportar conocimiento en el area de configuracion de parametros,mediante el desarrollo de un modelo de afinacion de parametros dealgoritmos evolutivos.

• Retomar un enfoque de afinacion de parametros que se considerainfactible y proporcionar un modelo simple con buenos resultados.

• Demostrar la importancia de la tarea de afinacion de parametros comoun factor clave para obtener buenos resultados de la implementacion dealgoritmos evolutivos, al describir un metodo el cual genera una solucionque reduce los recursos y tiempo de ejecucion de los EAs que utilizanlos parametros afinados.

104

Capıtulo 7. Comentarios finales LANIA

7.2. Trabajo futuro

Las actividades propuestas como continuacion a este trabajo, se resumen en lossiguientes puntos:

Implementar el algoritmo afinador a conjuntos diferentes de funciones deevaluacion, ası como a diferentes algoritmos evolutivos, para visualizarsu comportamiento, de esta manera se puede verificar la calidad delcomportamiento del afinador.

Aumentar la capacidad del afinador para que agregue la optimizacion deparametros cualitativos, intentando que la configuracion inicial por parte delusuario no se vuelva una tarea demasiado compleja.

Este trabajo presenta la descripcion de la implementacion y los resultados,sin embargo, serıa buena idea realizar un estudio del comportamiento delalgoritmo que permita observar la forma (comportamiento interno) en querealiza la busqueda de buenas soluciones.

Ya que uno de los principales objetivos del algoritmo consiste en minimizarel tiempo y recursos de ejecucion, podrıa ser interesante aplicar este modeloa heurısticas que solucionan problemas en un ambito productivo.

105

APENDICE A

Graficas de dispersion: resultados originales vs afinados

En este apartado se muestra un conjunto de figuras de comparacion entre losresultados obtenidos por los algoritmos evolutivos con parametros originales y losresultados obtenidos con la ejecucion de los mismos algoritmos evolutivos, perocon parametros afinados. Cada figura corresponde a una funcion CEC especıfica,se compone de cuatro subfiguras correspondientes a todos los EA presentados enel capıtulo 5. Dentro de cada subfigura se presentan dos graficas de caja, la graficaque se encuentra en la parte superior se formo con los valores afinados, mientrasque la grafica de la parte inferior fue creada con los valores originales. La idea escomparar la grafica de arriba contra la de abajo.

(a) EDR (b) EDB

(c) ABC (d) ES

Figura A.1: Comparacion de resultados originales vs afinados, funcion CEC2006,G01.

106

Apendice A. Graficas de dispersion: resultados originales vs afinados LANIA

(a) EDR (b) EDB

(c) ABC (d) ES

Figura A.2: Comparacion de resultados originales vs afinados, funcion CEC2006,G02.

107

Apendice A. Graficas de dispersion: resultados originales vs afinados LANIA

(a) EDR (b) EDB

(c) ABC (d) ES

Figura A.3: Comparacion de resultados originales vs afinados, funcion CEC2006,G03.

108

Apendice A. Graficas de dispersion: resultados originales vs afinados LANIA

(a) EDR (b) EDB

(c) ABC (d) ES

Figura A.4: Comparacion de resultados originales vs afinados, funcion CEC2006,G04.

109

Apendice A. Graficas de dispersion: resultados originales vs afinados LANIA

(a) EDR (b) EDB

(c) ABC (d) ES

Figura A.5: Comparacion de resultados originales vs afinados, funcion CEC2006,G05.

110

Apendice A. Graficas de dispersion: resultados originales vs afinados LANIA

(a) EDR (b) EDB

(c) ABC (d) ES

Figura A.6: Comparacion de resultados originales vs afinados, funcion CEC2006,G06.

111

Apendice A. Graficas de dispersion: resultados originales vs afinados LANIA

(a) EDR (b) EDB

(c) ABC (d) ES

Figura A.7: Comparacion de resultados originales vs afinados, funcion CEC2006,G07.

112

Apendice A. Graficas de dispersion: resultados originales vs afinados LANIA

(a) EDR (b) EDB

(c) ABC (d) ES

Figura A.8: Comparacion de resultados originales vs afinados, funcion CEC2006,G08.

113

Apendice A. Graficas de dispersion: resultados originales vs afinados LANIA

(a) EDR (b) EDB

(c) ABC (d) ES

Figura A.9: Comparacion de resultados originales vs afinados, funcion CEC2006,G09.

114

Apendice A. Graficas de dispersion: resultados originales vs afinados LANIA

(a) EDR (b) EDB

(c) ABC (d) ES

Figura A.10: Comparacion de resultados originales vs afinados, funcion CEC2006,G10.

115

Apendice A. Graficas de dispersion: resultados originales vs afinados LANIA

(a) EDR (b) EDB

(c) ABC (d) ES

Figura A.11: Comparacion de resultados originales vs afinados, funcion CEC2006,G11.

116

Apendice A. Graficas de dispersion: resultados originales vs afinados LANIA

(a) EDR (b) EDB

(c) ABC (d) ES

Figura A.12: Comparacion de resultados originales vs afinados, funcion CEC2006,G12.

117

Apendice A. Graficas de dispersion: resultados originales vs afinados LANIA

(a) EDR (b) EDB

(c) ABC (d) ES

Figura A.13: Comparacion de resultados originales vs afinados, funcion CEC2006,G13.

118

Apendice A. Graficas de dispersion: resultados originales vs afinados LANIA

(a) EDR (b) EDB

(c) ABC (d) ES

Figura A.14: Comparacion de resultados originales vs afinados, funcion CEC2006,G14.

119

Apendice A. Graficas de dispersion: resultados originales vs afinados LANIA

(a) EDR (b) EDB

(c) ABC (d) ES

Figura A.15: Comparacion de resultados originales vs afinados, funcion CEC2006,G15.

120

Apendice A. Graficas de dispersion: resultados originales vs afinados LANIA

(a) EDR (b) EDB

(c) ABC (d) ES

Figura A.16: Comparacion de resultados originales vs afinados, funcion CEC2006,G16.

121

Apendice A. Graficas de dispersion: resultados originales vs afinados LANIA

(a) EDR (b) EDB

(c) ABC (d) ES

Figura A.17: Comparacion de resultados originales vs afinados, funcion CEC2006,G17.

122

Apendice A. Graficas de dispersion: resultados originales vs afinados LANIA

(a) EDR (b) EDB

(c) ABC (d) ES

Figura A.18: Comparacion de resultados originales vs afinados, funcion CEC2006,G18.

123

Apendice A. Graficas de dispersion: resultados originales vs afinados LANIA

(a) EDR (b) EDB

(c) ABC (d) ES

Figura A.19: Comparacion de resultados originales vs afinados, funcion CEC2006,G19.

124

Apendice A. Graficas de dispersion: resultados originales vs afinados LANIA

(a) EDR (b) EDB

(c) ABC (d) ES

Figura A.20: Comparacion de resultados originales vs afinados, funcion CEC2006,G21.

125

Apendice A. Graficas de dispersion: resultados originales vs afinados LANIA

(a) EDR (b) EDB

(c) ABC (d) ES

Figura A.21: Comparacion de resultados originales vs afinados, funcion CEC2006,G23.

126

Apendice A. Graficas de dispersion: resultados originales vs afinados LANIA

(a) EDR (b) EDB

(c) ABC (d) ES

Figura A.22: Comparacion de resultados originales vs afinados, funcion CEC2006,G24.

127

APENDICE B

Graficas de dispersion: comparacion entre EAs afinados

En este apartado se muestra la comparacion entre los cuatro EAs, para cadafuncion CEC, cada figura esta compuesta por cuatro graficas de caja, todas lasgraficas fueron creadas con los valores obtenidos de las ejecuciones de los EAs conparametros afinados.

Figura B.1: Comparacion general, funcion CEC 2006, g01.

Figura B.2: Comparacion general, funcion CEC 2006, g02.

128

Apendice B. Graficas de dispersion: comparacion entre EAs afinados LANIA

Figura B.3: Comparacion general, funcion CEC 2006, g03.

Figura B.4: Comparacion general, funcion CEC 2006, g04.

129

Apendice B. Graficas de dispersion: comparacion entre EAs afinados LANIA

Figura B.5: Comparacion general, funcion CEC 2006, g05.

Figura B.6: Comparacion general, funcion CEC 2006, g06.

130

Apendice B. Graficas de dispersion: comparacion entre EAs afinados LANIA

Figura B.7: Comparacion general, funcion CEC 2006, g07.

Figura B.8: Comparacion general, funcion CEC 2006, g08.

131

Apendice B. Graficas de dispersion: comparacion entre EAs afinados LANIA

Figura B.9: Comparacion general, funcion CEC 2006, g09.

Figura B.10: Comparacion general, funcion CEC 2006, g10.

132

Apendice B. Graficas de dispersion: comparacion entre EAs afinados LANIA

Figura B.11: Comparacion general, funcion CEC 2006, g11.

Figura B.12: Comparacion general, funcion CEC 2006, g12.

133

Apendice B. Graficas de dispersion: comparacion entre EAs afinados LANIA

Figura B.13: Comparacion general, funcion CEC 2006, g13.

Figura B.14: Comparacion general, funcion CEC 2006, g14.

134

Apendice B. Graficas de dispersion: comparacion entre EAs afinados LANIA

Figura B.15: Comparacion general, funcion CEC 2006, g15.

Figura B.16: Comparacion general, funcion CEC 2006, g16.

135

Apendice B. Graficas de dispersion: comparacion entre EAs afinados LANIA

Figura B.17: Comparacion general, funcion CEC 2006, g17.

Figura B.18: Comparacion general, funcion CEC 2006, g18.

136

Apendice B. Graficas de dispersion: comparacion entre EAs afinados LANIA

Figura B.19: Comparacion general, funcion CEC 2006, g19.

Figura B.20: Comparacion general, funcion CEC 2006, g21.

137

Apendice B. Graficas de dispersion: comparacion entre EAs afinados LANIA

Figura B.21: Comparacion general, funcion CEC 2006, g23.

Figura B.22: Comparacion general, funcion CEC 2006, g24.

138

Lista de referencias

[1] S. Manos, M. Large, and L. Ploladian, “Evolutionary design of single-mode microstructured polymer optical fibres using an artificial embryogenyrepresentation,” in Proceedings GECCO the genetic and evolutionaryComputation Conference companion, Nov. 2007, pp. 2549–2556.

[2] A. Hauptman and M. Sipper, “Evolution of an efficent serach algorithm forthe mate-in-n problem in chess,” in Proceedings EuroGP the 10th EuropeanConference on Genetic Programming, Nov. 2007, pp. 78–79.

[3] X. Llora, R. Reddy, B. Matesic, and R. Bhargava, “Towards better thanhuman capability in diagnosing cancer using infrared spectroscopic imaging,”in Proceedings GECCO the Genetic and Evolutionaryy ComputationConference, Nov. 2007, pp. 2098–2105.

[4] J. BAcardit, M. Stout, X. Llora, and N. Krasnogor, “Automatedalphabet reduction method with evolutionary algoritms for proteinstructure prediction,” in Proceedings GECCO the Genetic and EvolutionaryyComputation Conference, Nov. 2007, pp. 346–353.

[5] D. V. Arnold, Noisy Optimization with Evolution Strategies. New York,United States of America: Kluer Academic Publishers, 2002.

[6] C. C. Coello, D. V. Veldhuizen, and G. Lammont, Evolutionary Algorithmsfor Solving Multi-Objective Problems. New York, United States of America:Kluer Academic Publishers, 2002.

[7] D. B. Fogel, Evolutionary Computation. Toward a New Philosophy ofMachine Learning, New York, United States of America, 1998.

[8] C. A. C. Coello, A comprensive survey of evolutionary-bases multi-objectiveoptimization techniques, New York, United States of America, 1999.

[9] T. Hanne, “On the convergence of multiobjective evolutionary algorithms,”in European Journal of Operational Research, 1999, pp. 553–564.

[10] T. Hanne, “Global multiobjective optimization using evolutionaryalgorithms,” in Journal of heuristics, 2000, pp. 347–360.

[11] V. Nannen, S. K. Smith, and Agoston E. Eiben, “Costs and benefits of tuningparameters of evolutionary algorithms.” in PPSN’08, 2008, pp. 528–538.

139

Apendice B. Graficas de dispersion: comparacion entre EAs afinados LANIA

[12] F. B. and Hartfelder, “Optimization of genetic alrorithms by geneticalgorithms.” in Artificial eural Networks and Genetic Algorithms, 1993, pp.392–399.

[13] E. Mezura-Montes, “Alternative techniques to handle constraints inevolutionary optimization,” Ph.D. dissertation, Centro de Investigacion yde Estudios Avanzados dle IPN, 2004.

[14] Liang-Thomas, P. Runarsson, E. Mezura-Montes, M. C. Suganthan, C. A.Coello, and K. Deb, “Problem definitions and evaluation criteria for thecec 2006 special session on contrained real-parameter optimization,” IEEETransactions, 2006.

[15] J. Nocedal and S. J. Wright, Numerical Optimization, S. M. R. Peter Glynn,Ed. United States of America: Springer, 1999.

[16] C. Floudas and P. Pardalos, eds., Recent Advances in Global Optimization,Princeton University Press, Princeton, NJ, 1992.

[17] J. E. Dennis and R. B. Schnabel, Numerical Methods for UnconstrainedOptimization, Prentice- Hall, Englewood Cliffs, NJ. SIAM Publications,1993.

[18] P. Gill, W. Murray, and M. H. Wright, Practical Optimization, AcademicPress, 1981.

[19] C. Villela, “Mecanısmo de seleccion y control de una hiperheurıstica basadaen evolucion diferencial para optimizacion en espacios restringidos,” Master’sthesis, Centro de Investigacion y de Estudios Avanzados dle IPN, 2010.

[20] R. Fourer, D. M. Gay, and B. W. Kernighan, AMPL: A Modeling Languagefor Mathematical Programming. The Scientific Press, 1993.

[21] R. K. Ahuja, T. L. Magnanti, and J. B. Orlin, Network Flows: Theory,Algorithms, and Applications. Prentice-Hall, 1993.

[22] A. L. Lopez, “Un estudio de las estregias evolutivas paraproblemasmultiobjetivo,” Ph.D. dissertation, Centro de Investigacion y de EstudiosAvanzados dle IPN, 2003.

[23] T. Weise, Global Optimization Algorithms, Theory and Application. ThomasWeise, 2009.

[24] G. L. Nemhauser and L. A. Wolsey, Integer and Combinatorial Optimization.John Wiley e hijos, 1988.

140

Apendice B. Graficas de dispersion: comparacion entre EAs afinados LANIA

[25] M. Bazaraa, H. Sherali, and C. Shetty, Nonlinear Programming, Theory andApplications. John Wiley e hijos, 1993.

[26] W. J. Cook and W. H. Cunningham, Combinatorial optimization. JohnWiley e hijos, 1997.

[27] C. H. Papadimitriou and K. Steiglitz, Combinatorial Optimization:Algorithms and Complexity. Prentice Hall, 1982.

[28] L. A. Wolsey, Integer Programming. John Wiley e hijos, 1998.

[29] V. Chvatal, Linear Programming. W. H. Freeman, 1983.

[30] G. B. Dantzig, Linear Programming and Extensions. Princeton UniversityPress, 1963.

[31] O. L. Mangasarian, Nonlinear Programming. McGraw-Hill, New York, 1995.

[32] P. E. Gill, W. Murray, M. A. Saunders, and M. H. Wright, “Constrainednonlinear programming,” Optimization, vol. 1, pp. 171–210, 1989.

[33] J. R. Birge and F. Louveaux, Introduction to Stochastic Programming.Springer-Verlag, 1997.

[34] R. H. Byrd and J. Nocedal, An analysis of reduced Hessian methods forconstrained optimization, Mathematical Programming, 1991.

[35] Hiriart-Urruty and C. Lemarechal, Convex Analysis and MinimizationAlgorithms, Springer-Verlag, Berlin, New York, 1993.

[36] R. Govindan and H. Tangmunarunkit, “Heuristics for internet mapdiscovery,” 2000.

[37] Michalewicz, Zbigniew, and D. B. Fogel, How to Solve It: Modern Heuristics.Springer, 2004.

[38] E. Ozcan, B. Bilgin, and E. E. Korkmaz, “A comprehensive analysis ofhyperheuristics.”

[39] E. K. Burke, M. Hyde, G. Kendall, G. Ochoa, E. Ozcan, and J. R. Woodward,“A classification of hyper-heuristic approaches.”

[40] X. Yao, Evolutionary computation: A gentle introduction, M. M. Sarker andX. Yao, Eds. Kluwer Academic Publishers, 2002.

[41] Arts and humanities Research Council, “The complete work of charlesdarwin,” Agosto 2011. [Online]. Available: htttp://dariwin-online.org.uk

141

Apendice B. Graficas de dispersion: comparacion entre EAs afinados LANIA

[42] C. Darwin and S. Schmitz, Charles Darwin - ein Leben : Autobiographie,Briefe, Dokumente. Deutscher Taschenbuch Verlag, 1982.

[43] C. Darwin, On the Origin of Species by Means of Natural Selection. DoverPublications, 2006.

[44] C. Darwin, The Origin Of Species. Signet Classics, 2003.

[45] D. B. Fogel, Evolutionary Computation. Toward a New Philosophy ofMachine Intelligence, 1995.

[46] J. Jenkins, Genetics. Houghton Mifflin Company, 1984.

[47] R. Baldwin, Genetica elemental. Limusa, 1983.

[48] D. B. Fogel, “An introduction to simulated evolutionary optimization,” IEEETransactions on Neural Networks, vol. 5, no. 1, pp. 3–14, Jan. 1994.

[49] T. Back and H. Schwefel, “An overview of Evolutionary Algorithms forparameter optimization,” Evolutionary Computation, vol. 1, no. 1, pp. 1–23, 1993.

[50] L. E. Davis, Handbook of genetic algorithms. New York: Van NostrandReinhold, 1991.

[51] Z. Michalewicz, Genetic algorithms + data structures = evolution programs.Berlin: Springer, 1992.

[52] L. Franco, “Doble helice, genes and cromosomas,” Promocion de la culturacientıfica y tecnologica, pp. 99–114, 2007.

[53] J. H. Holland, Adaptation in Natural an Artificial Systems. MIT Press,1992.

[54] A. D. Jong, An Analysis of the Behavior of a Class of Genetic AdaptativeSystems. University of Michigan, 1975.

[55] D. H. Ackley, A Connectionist Machine for Genetic Hillclimbing. KluwerAcademic Publishers, 1995.

[56] G. Syswerda, “Uniform crossover in genetic algorithms,” in Proceedings ofthe Third International Conference on Genetic Alg orithms, J. D. Schaffer,Ed., 1989, pp. 2–9.

[57] E. Smorodkina and D. Tauritz, “Greedy population sizing for evolutionaryalgorithms,” in Proceedings of CEC, 2007, pp. 2181–2187.

142

Apendice B. Graficas de dispersion: comparacion entre EAs afinados LANIA

[58] O. Francois and C. Lavergne, “: Design of evolutionary algorithms. astatistical perspective,” IEEE Trans. Evol. Comput. 5(2), vol. 5, no. 2, pp.129–148, 2001.

[59] D. E. Goldberg and K. Deb, “A comparison of selection schemes used ingenetic algorithms,” in Foundations of Genetic Algorithms, G. J. E. Rawlins,Ed., 1991, pp. 69–93.

[60] D. E. Goldberg, : Genetic Algorithms in Search, Optimization and MachineLearning. Addison-Wesley Longman Publishing Co., Boston, 1989.

[61] B. Friesleben and M. Hartfelder, : Optimization of Genetic Algorithms byGenetic Algorithms, R. F., C. R. Reeves, and N. C. Steele, Eds. Albrecht,1993.

[62] S. Cagnoni, A. B. Dobrzeniecki, R. Poli, and J. C. Yanch, “Genetic algorithm-based interactive segmentation of 3D medical images,” Image and VisionComputing, vol. 17, no. 12, pp. 881–895, Oct. 1999.

[63] R. Smigrodzki, B. Goertzel, C. Pennachin, L. Coelho, F. Prosdocimi, andD. P. Jr, “Genetic algorithm for analysis of mutations in parkinson’s disease,”Artificial Intelligence in Medicine, vol. 35, pp. 227–241, Nov. 2005.

[64] H. Yan, Y. Jiang, J. Zheng, C. Peng, and S. Xiao, “Discovering criticaldiagnostic features for heart diseases with a hybrid genetic algorithm,” inProceedings of the International Conference on Mathematics and EngineeringTechniques in Medicine and Biological Scienes, METMBS’03, F. Valafar andH. Valafar, Eds., June 2003, pp. 406–409.

[65] H. Min, T. G. Smolinski, and G. M. Boratyn, “A genetic algorithm- baseddata mining approach to profiling the adopters and non-adopters of e-purchasing,” in Information Reuse and Integration, Third Inter- nationalConference, W. W. Smari, Ed., 2001, pp. 1–6.

[66] A. Kamraniy, W. Rong, and R. Gonzalez, “A genetic algorithm methodologyfor data mining and intelligent knowledge acquisition,” Computers andIndustrial Engineering, vol. 40, no. 4, pp. 361–377, Sept. 2001.

[67] K. El-Fakihy, H. Yamaguchi, and G. von Bochmann, “A method anda genetic algorithm for deriving protocols for distributed applicationswith minimum communication cost,” in Proceedings of Eleventh IASTEDInternational Conference on Parallel and Distributed Computing andSystems (PDCS’99), 1999, pp. 863–868.

143

Apendice B. Graficas de dispersion: comparacion entre EAs afinados LANIA

[68] N. P. Sharples, Evolutionary Approaches to Adaptive Protocol Design. PhDthesis, School of Cognitive and Computing Sciences of the University ofSussex, Aug. 2001.

[69] J. D. Lohn and S. P. Colombano, “A circuit representation technique for auto-mated circuit design,” IEEE Transactions on Evolutionary Computation(IEEE-EC), vol. 3, no. 3, p. 205, Sept. 1999.

[70] J. Lohn, S. Colombano, G. Haith, and D. Stassinopoulos, “A parallel geneticalgorithm for automated electronic circuit design,” in Proceedings of theComputational Aerosciences Workshop, Feb. 2000.

[71] D. Yuret and M. Maza, A genetic algorithm system for predicting the oex.Technical Analysis of Stocks and Commodities, June 1994.

[72] P. Vitanyi, “A dicipline of evolutionary programming,” Theorietical computerscience, 2000.

[73] D. B. Fogel, System Identification through Simulated Evolution: A MachineLearn- ing Approach to Modeling. Ginn Press, Needham Heights, MA, June1991.

[74] D. B. Fogel, “Evolving a checkers player without relying on humanexperience,” Intelligence, vol. 11, no. 2, pp. 20–27, 2000.

[75] D. B. Fogel, Blondie24: playing at the edge of AI. The Morgan KaufmannSeries in Artificial Intelligence, Sept. 2001.

[76] G. Verkhivker, R. Fogel, and Freer, “Docking conformationally flexible smallmolecules into a protein binding site through evolutionary programming,” inEvolutionary Programming IV: Proceedings of the Fourth Annual Conferenceon Evo- lutionary Programming, 1995.

[77] D. K. Gehlhaar and D. B. Fogel, “Tuning evolutionary programmingfor confor- mationally flexible molecular docking,” in EvolutionaryProgramming V: Proceedings of the Fifth Annual Conference on EvolutionaryProgramming, 1996, pp. 419–429.

[78] B. S. Duncan and A. J. Olson, “Applications of evolutionary programmingfor the prediction of protein-protein interactions,” in EvolutionaryProgramming V: Proceedings of the Fifth Annual Conference on EvolutionaryProgramming, 1996, pp. 411–417.

[79] J.-H. Kim and J.-Y. Jeon, “Evolutionary programming-based high- precisioncontroller design,” in Evolutionary Programming V: Proceedings of the FifthAnnual Conference on Evolutionary Programming, 1996, pp. 73–81.

144

Apendice B. Graficas de dispersion: comparacion entre EAs afinados LANIA

[80] K. M. Nelson, “A comparison of evolutionary programming and geneticalgorithms for electronic part placement,” in Evolutionary Programming IV:Proceedings of the Fourth Annual Conference on Evolutionary Programming,1995, pp. 503–519.

[81] M. Sarkar, “Evolutionary programming-based fuzzy clustering,” inEvolutionary Programming V: Proceedings of the Fifth Annual Conferenceon Evolutionary Pro- gramming, 1996, pp. 247–256.

[82] O. Cordon, F. Herrera, and L. Sanchez, Evolutionary learning processesfor data analysis in electrical engineering applications, J. P. Quagliarella,C. Poloni, and G. Winter, Eds., 1998.

[83] H.-D. Huang, J. T. Yang, S. F. Shen, and J.-T. Horng, “An evolution strategyto solve sports scheduling problems,” in Proceedings of the Genetic andEvolutionary Computation Conference GECCO-99, 1999, vol. 1, p. 943.

[84] V. Nissen and M. Krause, “Constrained combinatorial optimization with anevolution strategy,” in Proceedings of Fuzzy Logik, Theorie und Praxis, June1994, vol. 4., pp. 33–40.

[85] H.-G. Beyer, “Some aspects of the ‘evolution strategy’ for solving TSP-like optimization problems appearing at the design studies os a 0,” Parallelproblem solving from nature, vol. 2, pp. 361–370, 1992.

[86] H.-G. Beyer, “Design optimization of a linear accelerator using evolutionstrat- egy: solving a TSP-like optimization problem,” in Handbook ofEvolutionary Compu- tation, 1997, vol. 2, pp. 1–8.

[87] R. E. Keller, W. Banzhaf, J. Mehnen, andK. Weinert, “Cad surface reconstruction from digitized 3d point data witha genetic programming/evolution strategy hybrid,” in Advances in geneticprogramming:, 1999, vol. 3, pp. 41–65.

[88] K. Weinert and J. Mehnen, “Discrete nurbs-surface approximation using anevolutionary strategy,” Department of Machining Technology, University ofDortmund, Germany, Technical Report Sonderforschungsbereich (SFB) 531,Oct. 2001.

[89] H. Greiner, “Robust filter design by stochastic optimization,” Proceedingsof SPIE (The International Society for Optical Engineering), vol. 2253, pp.150–161, 1994.

[90] H. Greiner, “Robust optical coating design with evolutionary strategies,”Applied Optics, vol. 35, no. 28, pp. 5477–5483, 1996.

145

Apendice B. Graficas de dispersion: comparacion entre EAs afinados LANIA

[91] T. Back, Evolution strategies for mixed-integer optimization of opticalmultilayer systems. Evolutionary Programming IV., 1995.

[92] A. E. Eiben and S. K. Smith, “Parameter tuning for configuring andanalyzing evolutionary algorithms,” in Swarm and evolutionary computation,Marzo 2011, pp. 19–31.

[93] J. Hooker, “Testing heuristics: We have it all wrong,” Journal of Heuristics,vol. 1, pp. 33–42, 1995.

[94] V. Nannen, S. Smit, and A. E. Eiben, “Costs and benefits of tuningparameters of evolutionary algorithms,” Journal of Heuristics, vol. 1, pp.33–42, 2009.

[95] A. E. Eiben and J. Smith, Introduction to Evolutionary Computing.Springer-Verlag, London, 2003.

[96] J. Maturana, F. Lardeux, and F. Saubion, Controlling behavioral andstructural parameters in evolutionary algorithms. International Conferenceon Artificial Evolution, EA, 2009.

[97] J. Greffenstette, “Optimisation of Control Parameters for Genetic Al-gorithms,” IEEE Transactions on Systems, Man and Cybernetics, vol. 16,pp. 122–128, 1986.

[98] V. Nannen and A. E. Eiben, Relevance Estimation and Value Calibration ofEvolutionary Algorithm Parameters, in: M. M. Veloso, Ed. Proceed- ingsof the 20th International Joint Conference on Artificial Intelligence (IJCAI),Hyderabad, India, 2007.

[99] J. Schaffer, R. Caruana, L. Eshelman, and R. Das, A study of controlparameters affecting online performance of genetic algorithms for functionoptimization. Proceedings of the third international conference on Geneticalgorithms, Morgan Kaufmann Publishers Inc., San Francisco, CA, USA,1989.

[100] O. Maron and A. Moore, “The racing algorithm: Model selection for lazylearners,” Artificial Intelligence Review, vol. 11, pp. 193–225, 1997.

[101] A. E. Eiben and S. K. Smit, Evolutionary algorithm parameters and methodsto tune them, in: E. M. Y. Hamadi and F. Saubion, Eds. AutonomousSearch, Springer, 2011.

[102] S. K. Smit and A. E. Eiben, Using entropy for parameter analysis ofevolutionary algorithms, in: T. Bartz-Beielstein, M. Chiarandini, L. Paquete,

146

Apendice B. Graficas de dispersion: comparacion entre EAs afinados LANIA

and M. Preuss, Eds. Experimental Methods for the Analysis of OptimizationAlgorithms, in: Natural Computing Series, Springer, 2010.

[103] R. Myers and E. R. Hancock, Empirical modelling of genetic algorithms.Evolution- ary Computation 9, 2001.

[104] T. Bartz-Beielstein, “Experimental analysis of evolution strategies: overviewand comprehensive introduction,” SFB 531, Universitat Dortmund,Dortmund, Germany,” Technical Report Reihe CI 157/03, 2003.

[105] A. E. Eiben, R. Hinterding, and Z. Michalewicz, Parameter control inevolutionary algorithms. IEEE Transactions on Evolutionary Computation3, 1999.

[106] F. Lobo, C. Lima, and Z. Michalewicz, Parameter Setting in EvolutionaryAlgorithms. Springer, 2007.

[107] M. Birattari, Tuning Metaheuristics, Springer, 2005.

[108] S. K. Smit and A. E. Eiben, Comparing parameter tuning methods forevolutionary algorithms. in: IEEE Congress on Evolutionary Computation,IEEE Press, Trondheim, 2009.

[109] S. Coy, B. Golden, G. Runger, and E. Wasil, Using experimental design tofind effective parameter settings for heuristics. Journal of Heuristics 7, 2001.

[110] G. Taguchi and T. Yokoyama, Taguchi Methods: Design of Experiments. ASIPress, 1993.

[111] T. Bartz-Beielstein, Experimental Research in Evolutionary Computation:The New Experimentalism. Springer, 2006.

[112] R. Bechhofer, C. Dunnett, D. Goldsman, and M. Hartmann, A comparisonof the performances of procedures for selecting the normal population havingthe largest mean when populations have a common unknown variance.Communications in Statistics B19, 1990.

[113] B. Adenso-Diaz and M. Laguna, “Fine-tunning of algorithms using fractionalexperimental designs and local search,” Operations research 54, pp. 99–114,2006.

[114] A. Czarn, C. MacNish, K. Vijayan, B. Turlach, and R. Gupta, Statisti-cal exploratory analysis of genetic algorithms. IEEE Transactions onEvolutionary Computation 8, 2004.

147

Apendice B. Graficas de dispersion: comparacion entre EAs afinados LANIA

[115] I. Ramos, M. Goldbarg, E. Goldbarg, and A. Neto, “Logistic regressionfor parameter tuning on an evolutionary algorithm,” in: Proceedings ofthe 2005 IEEE Congress on Evolutionary Computation IEEE Congress onEvolutionary Computation, vol. 2, pp. 1061–1068, 2005.

[116] O. Francois and C. Lavergne, Design of Evolutionary Algorithms: AStatistical Perspective. IEEE Transactions on Evolutionary Computation5, 2001.

[117] R. Mercer and J. Sampson, Adaptive search using a reproductive metaplan.Kybernetes 7, 1978.

[118] S. Kukkonenand J. Lampinen, “Contrained real-parameter optimization with generalizeddifferential evolution,” Congress on Evolutionary Computation, vol. 1, pp.33–42, 2006.

[119] E. Mezura-Montes, J. Velazquez-Reyes, and C. A. C. Coello,“Modified differential evolution for constrained optimization,” Congress onEvolutionary Computation, vol. 1, pp. 33–42, 2006.

[120] E. Mezura-Montes, M. E. Miranda-Varela, and R. del Carmen Gomez-Ramon, “Differential evolution in constrained numerical optimization. anempirical study,” Congress on Evolutionary Computation, vol. 1, pp. 33–42,2006.

[121] E. Mezura-Montes, M. E. Miranda-Varela, and J. I. Flores-Mendoza,“Paradıgmas emergentes en algoritmos bio-inspirados,” IEEE Transactions,2009.

[122] S. Kukkonen and J. Lampinen, “Constrained real-parameter optimizationwith generalized differential evolution,” Congreso de computacion evolutiva,2006.

[123] H.-G. Beyer and H.-P. Schwefel, “Evolution strategies. a comprensiveintroduction,” Natural computing, 2002.

[124] I. Rechenberg, Evolutionsstrategie: Optimierung technischer Systeme nachPrinzipien der biologischen Evolution. [PhD Thesis] Technical Universityof Berlin, Department of Process Engineering, 1971.

[125] T. back, F. Hoffmeister, and H.-P. Schwefel, “A survey of evolutionstrategies,” Natural computing, 2002.

[126] D. KAraboga and B. Bastuk, “A powerful and efficient algorithm fornumerical function optimization,” Optimizacion global, 2007.

148

Apendice B. Graficas de dispersion: comparacion entre EAs afinados LANIA

[127] J. Derrac, S. Garcıa, D. Molina, and F. Herrera, “A practical tutorial onthe use of nonparametric statistical tests as a methodology for comparingevolutionary and swarm intelligence algorithms,” Swarm and EvolutionaryComputation, 2010.

[128] R. Sampieri, C. Collado, and P. Lucio, Metodologıa de la investigacion.McGraww Hill, 2006.

149