modelo de un algoritmo genético con selección discriminatoria de

65
Modelo de un Algoritmo Gen´ etico con Selecci´on Discriminatoria de Individuos bajo un Esquema de Ponderaci´ on de Probabilidades de Mutaci´on Victor Manuel Arroyo Apaza Orientador: Dr. Yv´ an Jes´ us T´ upac Valdivia Tesis profesional presentada al Programa Profesional de Ingenier´ ıa Inform´ atica como parte de los requisitos para obtener el T´ ıtulo Profesional de Ingeniero Inform´ atico. UCSP - Universidad Cat´ olica San Pablo Diciembre de 2013

Upload: lenguyet

Post on 14-Feb-2017

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modelo de un Algoritmo Genético con Selección Discriminatoria de

Modelo de un Algoritmo Genetico con Seleccion

Discriminatoria de Individuos bajo un Esquema de

Ponderacion de Probabilidades de Mutacion

Victor Manuel Arroyo Apaza

Orientador: Dr. Yvan Jesus Tupac Valdivia

Tesis profesional presentada al Programa Profesional deIngenierıa Informatica como parte de los requisitos paraobtener el Tıtulo Profesional de Ingeniero Informatico.

UCSP - Universidad Catolica San Pablo

Diciembre de 2013

Page 2: Modelo de un Algoritmo Genético con Selección Discriminatoria de

A Dios, por todo lo que me ha dado,a mi madre por el apoyo incondicionalbrindado todos estos anos, a mi familiay a todos los profesores por sus ense-nanzas.

Page 3: Modelo de un Algoritmo Genético con Selección Discriminatoria de

Agradecimientos

En primer lugar deseo agradecer a Dios por haberme guiado a lo largo de estos cinco anosde estudio.

Agradezco a mi madre por el apoyo y esfuerzo brindado para forjarme como un profesional.

Agradezco a la familia Valencia Fernandez-Davila por todos estos anos de apoyo incondi-cional.

Agradezco a la universidad, mi alma matter, por haberme cobijado y brindado la formacionque ahora me permitira ayudar a construir una mejor sociedad.

Agradezco de forma muy especial a mi asesor Dr. Yvan Tupac por haberme guiado en laelaboracion de esta tesis.

Deseo agradecer de forma especial a mis docentes: Ernesto Cuadros, Dennis Barrios, AlexCuadros, Luis Diaz Basurco, Juan Carlos Gutierrez porque fueron ejemplos que deseoseguir en mi vida profesional.

Deseo agradecer al personal administrativo de la universidad: Gabriela Valencia y GonzaloVillegas. Muchas gracias por la atencion brindada y porque siempre estuvieron dispuestosa ayudarnos.

Page 4: Modelo de un Algoritmo Genético con Selección Discriminatoria de

Abreviaturas

AG Algoritmo Genetico

AGs Algoritmos Geneticos

ES Estrategias de Seleccion

SDI Seleccion Discriminatoria de Individuos

ST Seleccion por Torneo

SR Seleccion de Ruleta

SS Seleccion Sexual

SBR Seleccion Basada en Ranking

MPs Matriz de Preferencias

EPPM Esquema de Ponderacion de Probabilidades de Mutacion

AMSG Arquitectura Master-Slave Global

4

Page 5: Modelo de un Algoritmo Genético con Selección Discriminatoria de

Resumen

Un Algoritmo Genetico (AG) posee varios operadores geneticos que pue-den ser modificados para mejorar su rendimiento. Estos operadores incluyen ala seleccion, cruzamiento y mutacion. La seleccion es una de las operacionesmas importantes en el AG. Este trabajo de investigacion presenta un modelode AG que implementa un operador de seleccion al que se le denominara Selec-cion Discriminatoria de Individuos (SDI), que se inspira en la discriminacionde clases que existe en la sociedad, es decir los mejores se reproducen con losmejores y los peores con los peores.. La estructura de este operador toma comobase el operador de Seleccion Sexual (SS) ya existente. El modelo evolutivoincluye un Esquema de Ponderacion de Probabilidades de Mutacion (EPPM)para la asignacion de probabilidades de mutacion en la poblacion. Para ve-rificar la calidad de la evolucion de los operadores propuestos se realizarondos casos de uso: solucionar el problema de mejora de calidad en horarios detrabajo y cuatro funciones Benchmarking. Los experimentos realizados dieronresultados que muestran una caracterıstica exploratoria para el operador deSDI, mejorando el tiempo de convergencia conforme el tamano de la poblacionse incrementa.

Page 6: Modelo de un Algoritmo Genético con Selección Discriminatoria de

Abstract

A Genetic Algorithm (GA) has several operators which may be modifiedto improve its performance. These operators include selection, crossover andmutation. Selection is one of the most important operations in the GA. Thisresearch presents a model of GA that implements a selection operator calledDiscriminatory Selection of Individual (DSI), which is inspired by discrimina-tion between classes that exists in society, the best individuals reproduce withthe best and the worst with the worst. The structure of this operator buildson an existing operator called Sexual Selection (SS). The evolutionary modelincludes a Weighted Scheme of Mutation Rates (WSMR) for assigning proba-bilities of mutation in the population. To verify the quality of the evolutionof the proposed operators two use cases were performed: solve the problem ofquality improvement in working schedules and four Benchmarking functions.The experiments gave results showing a exploratory feature for DSI operator,improving convergence time as the size of the population increases.

Page 7: Modelo de un Algoritmo Genético con Selección Discriminatoria de

Indice general

1. Introduccion 14

1.1. Motivacion y Contexto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.2. Estado del Arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.3. Planteamiento del Problema . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.4. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.4.1. Objetivos Especıficos . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.5. Organizacion de la Tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2. Conceptos Previos 19

2.1. Algoritmo Genetico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.1.1. Codificacion de Problemas . . . . . . . . . . . . . . . . . . . . . . . 21

2.1.2. Funcion de Evaluacion . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.2. Operadores Geneticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.2.1. Operadores de Cruzamiento . . . . . . . . . . . . . . . . . . . . . . 22

2.2.2. Operadores de Mutacion . . . . . . . . . . . . . . . . . . . . . . . . 24

2.2.3. Operadores de Seleccion . . . . . . . . . . . . . . . . . . . . . . . . 25

2.3. Consideraciones Finales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3. Propuesta 32

3.1. Esquema de Ponderacion de Probabilidades de Mutacion . . . . . . . . . . 33

3.2. Seleccion Descriminatoria de Individuos . . . . . . . . . . . . . . . . . . . . 35

7

Page 8: Modelo de un Algoritmo Genético con Selección Discriminatoria de

INDICE GENERAL

4. Casos de Estudio, Pruebas y Resultados 38

4.1. Caso de Estudio 1: Funciones Benchmarking . . . . . . . . . . . . . . . . . 38

4.1.1. Definicion del Individuo . . . . . . . . . . . . . . . . . . . . . . . . 39

4.1.2. Operador de Cruzamiento . . . . . . . . . . . . . . . . . . . . . . . 39

4.1.3. Operador de Mutacion . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.1.4. Parametros del Modelo . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.1.5. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.2. Caso de Estudio 2: Mejora de Calidad en Horarios de Empleados . . . . . . 49

4.2.1. Definicion de Individuo . . . . . . . . . . . . . . . . . . . . . . . . . 52

4.2.2. Operador de Cruzamiento . . . . . . . . . . . . . . . . . . . . . . . 52

4.2.3. Operador de Mutacion . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.2.4. Matriz de Preferencias . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.2.5. Funcion de Evaluacion . . . . . . . . . . . . . . . . . . . . . . . . . 55

4.2.6. Parametros del Modelo . . . . . . . . . . . . . . . . . . . . . . . . . 57

4.2.7. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5. Conclusiones y Trabajos Futuros 61

5.1. Limitaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

5.2. Trabajos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Bibliografıa 64

Ingenierıa Informatica - UCSP 8

Page 9: Modelo de un Algoritmo Genético con Selección Discriminatoria de

Indice de cuadros

3.1. Ejemplo del calculo de las probabilidades de mutacion por clase donden : 16 y PMI : 0,1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.1. Parametros Caso 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.2. Comparativo del numero de generaciones que los operadores de Seleccionnecesitaron para converger en la funcion Schwegel. . . . . . . . . . . . . . . 49

4.3. Parametros Caso 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

9

Page 10: Modelo de un Algoritmo Genético con Selección Discriminatoria de

Indice de figuras

1.1. Ciclo basico de un Algoritmo Genetico . . . . . . . . . . . . . . . . . . . . 14

2.1. Esquema basico de un Algoritmo Genetico. . . . . . . . . . . . . . . . . . . 20

2.2. Individuo Genetico Binario. . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.3. Cruce de 1 punto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.4. Cruce de 2 puntos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.5. Cruce Uniforme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.6. Reemplazo Aleatorio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.7. Mutacion para Representacion de Orden. . . . . . . . . . . . . . . . . . . . 25

2.8. Ejemplo de la Seleccion de Ruleta. . . . . . . . . . . . . . . . . . . . . . . 26

2.9. Ejemplo de la Seleccion por Torneo. . . . . . . . . . . . . . . . . . . . . . . 27

2.10. Ejemplo de la probabilidad de eleccion de acuerdo al fitness. . . . . . . . . 28

2.11. Ejemplo de la probabilidad de eleccion de acuerdo al ranking. . . . . . . . 28

2.12. Separacion de la poblacion en hembras y machos. . . . . . . . . . . . . . . 30

2.13. Seleccion de hembra no emparejada y seleccion de un macho. . . . . . . . . 30

2.14. Proceso es repetido hasta que todas las hembras hayan sido apareadas. . . 30

3.1. Esquema de un Algoritmo Genetico con el operador propuesto. . . . . . . . 32

3.2. Esquema de los pasos del operador propuesto. . . . . . . . . . . . . . . . . 33

3.3. Separacion de la poblacion en dos clases. . . . . . . . . . . . . . . . . . . . 35

3.4. Definir la probabilidad de mutacion para cada clase. . . . . . . . . . . . . . 36

10

Page 11: Modelo de un Algoritmo Genético con Selección Discriminatoria de

INDICE DE FIGURAS

3.5. Diferenciacion de machos y hembras en cada clase. . . . . . . . . . . . . . 36

3.6. Emparejamiento y produccion de descendencia. . . . . . . . . . . . . . . . 36

4.1. Ejemplo basico del Individuo. . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.2. Cruce Uniforme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.3. Reemplazo Aleatorio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.4. Comparacion entre Operadores de Seleccion con una Poblacion de 20 Indi-viduos al evaluar la Funcion Step. . . . . . . . . . . . . . . . . . . . . . . . 41

4.5. Comparacion entre Operadores de Seleccion con una Poblacion de 100 In-dividuos al evaluar la Funcion Step. . . . . . . . . . . . . . . . . . . . . . . 42

4.6. Comparacion entre Operadores de Seleccion con una Poblacion de 200 In-dividuos al evaluar la Funcion Step. . . . . . . . . . . . . . . . . . . . . . . 42

4.7. Comparacion entre Operadores de Seleccion con una Poblacion de 400 In-dividuos al evaluar la Funcion Step. . . . . . . . . . . . . . . . . . . . . . . 43

4.8. Comparacion entre Operadores de Seleccion con una Poblacion de 20 Indi-viduos al evaluar la Funcion Sphere. . . . . . . . . . . . . . . . . . . . . . . 43

4.9. Comparacion entre Operadores de Seleccion con una Poblacion de 100 In-dividuos al evaluar la Funcion Sphere. . . . . . . . . . . . . . . . . . . . . . 44

4.10. Comparacion entre Operadores de Seleccion con una Poblacion de 200 In-dividuos al evaluar la Funcion Sphere. . . . . . . . . . . . . . . . . . . . . . 44

4.11. Comparacion entre Operadores de Seleccion con una Poblacion de 400 In-dividuos al evaluar la Funcion Sphere. . . . . . . . . . . . . . . . . . . . . . 45

4.12. Comparacion entre Operadores de Seleccion con una Poblacion de 20 Indi-viduos al evaluar la Funcion Rosenbrock. . . . . . . . . . . . . . . . . . . . 45

4.13. Comparacion entre Operadores de Seleccion con una Poblacion de 100 In-dividuos al evaluar la Funcion Rosenbrock. . . . . . . . . . . . . . . . . . . 46

4.14. Comparacion entre Operadores de Seleccion con una Poblacion de 200 In-dividuos al evaluar la Funcion Rosenbrock. . . . . . . . . . . . . . . . . . . 46

4.15. Comparacion entre Operadores de Seleccion con una Poblacion de 400 In-dividuos al evaluar la Funcion Rosenbrock. . . . . . . . . . . . . . . . . . . 47

4.16. Comparacion entre Operadores de Seleccion con una Poblacion de 20 Indi-viduos al evaluar la Funcion Schwefel. . . . . . . . . . . . . . . . . . . . . . 47

Ingenierıa Informatica - UCSP 11

Page 12: Modelo de un Algoritmo Genético con Selección Discriminatoria de

INDICE DE FIGURAS

4.17. Comparacion entre Operadores de Seleccion con una Poblacion de 100 In-dividuos al evaluar la Funcion Schwefel. . . . . . . . . . . . . . . . . . . . . 48

4.18. Comparacion entre Operadores de Seleccion con una Poblacion de 200 In-dividuos al evaluar la Funcion Schwefel. . . . . . . . . . . . . . . . . . . . . 48

4.19. Comparacion entre Operadores de Seleccion con una Poblacion de 400 In-dividuos al evaluar la Funcion Schwefel. . . . . . . . . . . . . . . . . . . . . 49

4.20. Ejemplo tıpico y basico de un horario de empleados. . . . . . . . . . . . . . 50

4.21. Ejemplo basico de un Horario Estatico en 2 periodos de tiempo. . . . . . . 50

4.22. Ejemplo basico de un Horario Dinamico en 2 periodos de tiempo donde loscasilleros sombreados indican la variacion entre periodo 1 y periodo 2. . . . 51

4.23. Esquema basico del Individuo. . . . . . . . . . . . . . . . . . . . . . . . . . 52

4.24. Seleccion de dos columnas aleatoriamente. . . . . . . . . . . . . . . . . . . 53

4.25. Exchange selected columns. . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.26. Seleccion mitad menos significativa. . . . . . . . . . . . . . . . . . . . . . . 54

4.27. Mutacion de turnos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.28. Ejemplo basico de una Matriz de Preferencias. . . . . . . . . . . . . . . . . 55

4.29. Ejemplo basico de un Horario y su respectiva Matriz de Preferencias. . . . 56

4.30. Valores obtenidos despues de multiplicar posicion por posicion. . . . . . . . 56

4.31. Comparacion entre Operadores de Seleccion. . . . . . . . . . . . . . . . . . 57

4.32. Comparacion entre Probabilidades de Cruzamiento y Mutacion. . . . . . . 58

4.33. Comparacion entre diferente numero de Indidivuos en una Poblacion . . . 58

4.34. Comparacion entre Operadores de Cruzamiento y Mutacion . . . . . . . . 59

4.35. Comparacion entre diferentes tamanos de clase . . . . . . . . . . . . . . . . 60

4.36. Optimizacion de la Calidad de un Horario. . . . . . . . . . . . . . . . . . . 60

Ingenierıa Informatica - UCSP 12

Page 13: Modelo de un Algoritmo Genético con Selección Discriminatoria de

Lista de algoritmos

1. Algoritmo Genetico Basico . . . . . . . . . . . . . . . . . . . . . . . . . . . 202. Pseudocodigo Seleccion de Ruleta . . . . . . . . . . . . . . . . . . . . . . . 263. Pseudocodigo Seleccion por Torneo . . . . . . . . . . . . . . . . . . . . . . 274. Pseudocodigo Seleccion Basada en Ranking . . . . . . . . . . . . . . . . . . 295. Pseudocodigo Seleccion Sexual . . . . . . . . . . . . . . . . . . . . . . . . . 316. Pseudocodigo Seleccion Descriminatoria de Individuos . . . . . . . . . . . . 37

13

Page 14: Modelo de un Algoritmo Genético con Selección Discriminatoria de

Capıtulo 1

Introduccion

Los Algoritmos Geneticos (AGs) son metodos de optimizacion [Goldberg, 1989] ba-sados en el paradigma Neo-Darwiniano [Tuttle, 1989], como la vida biologica en nuestromundo que envuelve los mecanismos de reproduccion, mutacion, competicion y seleccionnatural. En la naturaleza los individuos de una poblacion compiten entre sı en la busque-da de recursos tales como comida, agua y refugio. Incluso los miembros de una mismaespecie compiten a menudo en la busqueda de un companero para producir descendencia.Aquellos individuos que tienen mas exito en sobrevivir y en atraer companeros tienenmayor probabilidad de generar un gran numero de descendientes. Por el contrario, indivi-duos poco dotados produciran un menor numero de descendientes. Esto significa que losgenes de los individuos mejor adaptados se propagaran en sucesivas generaciones hacia unnumero de individuos creciente. La combinacion de buenas caracterısticas provenientes dediferentes ancestros, puede a veces producir descendientes superindividuos, cuya adapta-cion es mucho mayor que la de cualquiera de sus ancestros. De esta manera, las especiesevolucionan logrando unas caracterısticas cada vez mejor adaptadas al entorno en el queviven. La Figura 1.1 muestra el ciclo basico evolucionario de un Algoritmo Genetico (AG)con sus respectivos operadores.

���������������������������� ���

� � ������ �� � ����

������ �

� ������������������������ ����

��� ��������

���� ����

������������������� ������������������

�� ���� ������ �����

������� ����

����������������������� �� � ����

����������� �����

���� ��� ���

�������������������������

�� � ������������

�������� ��

Figura 1.1: Ciclo basico de un Algoritmo Genetico

El poder de los AGs proviene del hecho de que se trata de una tecnica robusta, ypueden tratar con exito una gran variedad de problemas provenientes de diferentes areas,

14

Page 15: Modelo de un Algoritmo Genético con Selección Discriminatoria de

CAPITULO 1. Introduccion

incluyendo aquellos en los que otros metodos encuentran dificultades. Si bien no se garan-tiza que el AG encuentre la solucion optima del problema al final de las iteraciones, existeevidencia empırica de que se encuentran soluciones de un nivel aceptable, en un tiempocompetitivo con el resto de algoritmos de optimizacion combinatoria y ademas en la lite-ratura se encuentra un analisis matematico que muestra la convergencia al optimo globalpara modelos con codificaciones binarias cuando se emplea elitismo [Rudolph, 1994].Los AGs estan compuestos generalmente de dos procesos. El primer proceso es la selec-cion de individuos para la produccion de la siguiente generacion y el segundo proceso esla manipulacion de los individuos seleccionados para conformar la siguiente generacionmediante las tecnicas de cruzamiento y mutacion. El mecanismo de seleccion determinacuales son los individuos seleccionados para la reproduccion. El principio mas importantede la estrategia de seleccion es mientras mejor sea el individuo, mayor es su probabilidadde ser padre [Razali and Geraghty, 2011].

El mecanismo de seleccion reduce el area de busqueda dentro de la poblacion des-cartando soluciones pobres, el mecanismo de seleccion debe dar la oportunidad a todoslos individuos ya sean buenos o malos de que puedan reproducirse. Es importante en-contrar un equilibrio donde las soluciones pobres deben tener la oportunidad de ir a lasiguiente generacion, y las buenas soluciones pasen a la siguiente generacion con masfrecuencia que las soluciones pobres. El mecanismo de seleccion debe ser elegido de talmanera que la convergencia a la solucion optima global este garantizada. Durante el desa-rrollo de los AGs, muchas estrategias de seleccion han sido propuestas y utilizadas talescomo: Seleccion de Ruleta (SR), Seleccion por Torneo (ST) [Michalewicz, 1996], SeleccionBasada en Ranking (SBR) o algunas selecciones aplicadas en estrategias evolucionarias[Geyer et al., 1999]. Recientemente, la Seleccion Sexual (SS) ha sido propuesta para pro-veer una clara separacion entre exploracion y explotacion sin la inconveniencia del ajustede parametros [Goh et al., 2003].

1.1. Motivacion y Contexto

En lo que se respecta a los metodos de seleccion, en la literatura se compara los me-todos de seleccion con mejor rendimiento [Razali and Geraghty, 2011]. Se determina queel operador de ST obtiene un mejor rendimiento en cuanto a la calidad de la solucion encomparacion con la SR y la SBR. Adicionalmente se concluye que la ST es superior a la SRy SBR en problemas de menor complejidad ya que se vuelve susceptible a la convergenciaprematura conforme la complejidad del problema se incrementa. Las comparaciones entrelos operadores de seleccion que se han realizado ayudan a comprender la relacion del fit-ness y la convergencia. Se concluye que la ST supera a la SBR en terminos de mantener lapresion constante hacia la convergencia. En las investigaciones sobre los AGs para encon-trar soluciones de problemas de distintas complejidades y de distintas areas, generalmentese proponen operadores geneticos de cruzamiento y mutacion, ademas de la funcion deevaluacion. Debido a que estos operadores se centran en explorar el espacio de busqueda,nace la necesidad de definir un nuevo operador de seleccion que ayude a explotar mejor elespacio de busqueda, es decir, de utilizar todas las soluciones independientemente de su

Ingenierıa Informatica - UCSP 15

Page 16: Modelo de un Algoritmo Genético con Selección Discriminatoria de

1.2. Estado del Arte

calidad. Debido a que el rendimiento de un AG es evaluada en terminos de convergenciay el numero de generaciones necesarias para hallar el optimo global, este nuevo opera-dor debe tener una convergencia uniforme, descartando la convergencia prematura ası larapidez en alcanzar el optimo global.

1.2. Estado del Arte

Varias investigaciones han estudiado el rendimiento de los AGs usando diferentesestrategias de seleccion. El rendimiento de los AGs es usualmente evaluada en terminosde convergencia y numero de generaciones hasta alcanzar el optimo global.

En el trabajo de investigacion de [Jadaan et al., 2008] se comparan los resutadosde los operadores de SR y SBR usando varias funciones de optimizacion matematica ydetermino que la SBR supero a la SR en cuanto al menor uso de generaciones para hallarla solucion optima. Observo que la SBR es mas estable y mas rapida que la SR.

Por otro lado, [Zhong et al., 2005] compara la SR con la ST, con siete funciones deprueba y concluyo que el algoritmo con la ST es mas eficiente en la convergencia que laSR.

En el trabajo de investigacion de [Goh et al., 2003] se propone un operador de se-leccion denominado SS, el cual se inspira en el concepto de seleccion sexual propuesto porDarwin, y compara este operador con diferentes metodos de seleccion. Se concluye conque el operador de seleccion propuesto tiene un rendimiento ya sea igual o mejor que laSR. El nuevo esquema tambien tuvo un mejor rendimiento en comparacion con la ST.

En el trabajo de investigacion de [Cheng et al., 2012] se propone un operador deSeleccion Bisexual, en donde se propone dividir la poblacion de individuos en hembrasy machos. Esta propuesta tiende a modificar las preferencias de emparejamiento de losmachos y hembras al punto de que puedan elegir reproducirse con alguien de su mismogenero. Esto debido a que a veces en la poblacion generada no habra un numero equitativode machos y hembras.

Finalmente, en el trabajo de investigacion de [Razali and Geraghty, 2011] se presen-ta la comparacion del rendimiento del AG al resolver el problema del vendedor viajeroutilizando diferentes mecanismos de seleccion. Se concluye en el trabajo que la ST ob-tiene un mejor rendimiento en cuanto a la calidad de la solucion en comparacion con laSR y la SBR. Se determina tambien que la ST es superior a la SR y SBR en problemaspequenos porque se vuelve susceptible a la convergencia prematura conforme el tamanodel problema se incrementa.

Los trabajos de investigacion mencionados se han realizado para comprender larelacion del fitness y la convergencia. Se concluyo que la ST supera a la SBR en terminosde mantener la presion constante hacia la convergencia. El operador propuesto se basa enla estructura del operador de SS [Goh et al., 2003]. Los operadores de seleccion a utilizar

Ingenierıa Informatica - UCSP 16

Page 17: Modelo de un Algoritmo Genético con Selección Discriminatoria de

CAPITULO 1. Introduccion

para comparar la propuesta seran los usados en los distintos trabajos de investigacion, loscuales son: ST, SR, SBR y la SS.

1.3. Planteamiento del Problema

Generalmente, los operadores de cruzamiento y la mutacion exploran el espacio debusqueda, mientras que la seleccion reduce el area de busqueda dentro de la poblaciondescartando soluciones pobres. Sin embargo, los peores individuos no deben ser descarta-dos y deben tener algunas posibilidades de ser seleccionados, ya que pueden dar lugar amaterial genetico util. Un parametro crıtico en el AG es la presion de seleccion, que es elproceso de seleccion que selecciona a los individuos mas aptos para la reproduccion. Si lapresion de seleccion es demasiada baja, entonces la tasa de convergencia hacia la solucionoptima sera demasiada lenta. Si la presion de seleccion es demasiada alta, es probableque el AG se quede atrapado en un optimo local debido a la falta de diversidad en lapoblacion [Oladele and Sadiku, 2013]. Una buena tecnica de busqueda debe encontrar unbuen equilibrio entre la exploracion y la explotacion con el fin de encontrar un optimoglobal [Beasley et al., 1993]. Por lo tanto, es importante encontrar un equilibrio entre laexploracion (es decir, soluciones pobres deben tener la oportunidad de ir a la siguientegeneracion) y explotacion (es decir, las buenas soluciones pasan a la siguiente generacioncon mas frecuencia que las soluciones pobres) dentro del mecanismo de la seleccion. Cadaestrategia de seleccion utilizada en el proceso de un AG afectara significativamente elrendimiento del algoritmo de una forma diferente. El mecanismo de seleccion debe serelegido de tal manera que la convergencia a la solucion optima global este garantizada.Ademas el proceso de seleccion debido a que es el proceso mas costoso de un AG debeposeer una caracterıstica que lo haga paralelizable para ası reducir considerablemente eltiempo y costo de procesamiento.

1.4. Objetivos

El objetivo principal de esta investigacion es proponer y evaluar un nuevo operadorde seleccion basado en la Seleccion Sexual para un Algoritmo Genetico (AG) el cualadicionalmente implementa un esquema de probabilidades de mutacion.

1.4.1. Objetivos Especıficos

Los objetivos especıficos de esta investigacion son:

Modelar un nuevo operador de seleccion.

Modelar un esquema de probabilidades de mutacion.

Ingenierıa Informatica - UCSP 17

Page 18: Modelo de un Algoritmo Genético con Selección Discriminatoria de

1.5. Organizacion de la Tesis

Probar el Algoritmo Genetico (AG) con el nuevo operador en un problema de mejorade calidad de horario de trabajo implementando una estructura adicional.

Probar el Algoritmo Genetico (AG) en optimizacion numerica con Funciones Bench-mark.

1.5. Organizacion de la Tesis

Este trabajo de investigacion se organiza de la siguiente manera:

El Capıtulo 2 presenta los conceptos previos sobre AGs y Estrategias de Seleccion(ES).

El Capıtulo 3 contiene una descripcion de la propuesta del nuevo operador de selec-cion

El Capıtulo 4 define los casos de uso a utilizar con sus respectivos experimentos.

Finalmente, en el capıtulo 5 se mencionan las conclusiones, limitaciones y trabajosfuturos correspondientes a este trabajo de investigacion.

Ingenierıa Informatica - UCSP 18

Page 19: Modelo de un Algoritmo Genético con Selección Discriminatoria de

Capıtulo 2

Conceptos Previos

En este capıtulo se especifican conceptos que son necesarios para la realizacion dela propuesta, primeramente se definen a los AGs, seguido de los operadores de seleccionexistentes.

2.1. Algoritmo Genetico

Los AGs son metodos adaptativos que pueden usarse para resolver problemas debusqueda y optimizacion. Estan basados en el proceso genetico de los organismos vivos[Holland, 1975]. A lo largo de las generaciones, las poblaciones evolucionan en la naturalezaacorde con los principios de la seleccion natural y la supervivencia de los mas fuertes, losAGs son capaces de ir creando soluciones para problemas del mundo real. La evolucion dedichas soluciones hacia valores optimos del problema depende en buena medida de unaadecuada codificacion de las mismas.

Mas formalmente, y siguiendo la definicion dada por Goldberg, ”Los AlgoritmosGeneticos son algoritmos de busqueda basados en la mecanica de seleccion natural y de lagenetica natural. Combinan la supervivencia del mas apto entre estructuras de secuenciascon un intercambio de informacion estructurado, aunque aleatorizado, para constituir asıun algoritmo de busqueda que tenga algo de las genialidades de las busquedas humanas”[Goldberg, 1989].

Los AGs usan una analogıa directa con el comportamiento natural. Trabajan conuna poblacion de individuos, cada uno de los cuales representa una solucion factible a unproblema dado. Luego el AG evalua cada candidata de acuerdo con la funcion de aptitud.En un acervo de candidatas generadas aleatoriamente, por supuesto, la mayorıa no funcio-naran en absoluto, y seran eliminadas. Sin embargo, por puro azar, unas pocas pueden serprometedoras, aunque solo sea actividad debil e imperfecta, hacia la solucion del problema[Marczyk, 2004]. En la naturaleza esto equivaldrıa al grado de efectividad de un organis-mo para competir por unos determinados recursos. Cuanto mayor sea la adaptacion de

19

Page 20: Modelo de un Algoritmo Genético con Selección Discriminatoria de

2.1. Algoritmo Genetico

un individuo al problema, mayor sera la probabilidad de que el mismo sea seleccionadopara reproducirse, cruzando su material genetico con otro individuo seleccionado de igualforma. En la Figura 2.1 se muestra el modelo basico del AG.

f(◦)

ReproduccionNueva poblacion

de descendientes

Evaluacion de

la descendencia

Evolucion

Seleccion de

Progenitores

Cruce

Mutacion

Individuo genotipo fitness

x1 100100 1296

x2 010010 324

x3 010110 484

x4 000001 1

Figura 2.1: Esquema basico de un Algoritmo Genetico.

Durante la ejecucion del algoritmo, los padres deben ser seleccionados para la repro-duccion, a continuacion dichos padres seleccionados se cruzaran generando dos hijos, sobrecada uno de los cuales actuara un operador de mutacion. El resultado de la combinacionde las anteriores funciones sera un conjunto de individuos, los cuales en la evolucion delAG formaran parte de la siguiente poblacion. A continuacion se muestra un pseudocodigode un AG basico.

Algoritmo 1 Algoritmo Genetico Basicogenerar una poblacion inicialevaluacion de fitness de cada individuomientras condicion de fin = falso hacer

para tamano poblacion / 2 hacer

seleccionar dos individuos de la anterior generacion para cruzamientocruzar los dos individuos obteniendo dos descendientesmutar los dos individuos descendientesevaluar fitness de los dos individuos descendientesinsertar los dos descendientes en la nueva generacion

fin para

si poblacion ha convergido entonces

Terminado := TRUE

fin si

fin mientras

Ingenierıa Informatica - UCSP 20

Page 21: Modelo de un Algoritmo Genético con Selección Discriminatoria de

CAPITULO 2. Conceptos Previos

2.1.1. Codificacion de Problemas

Cualquier solucion potencial a un problema puede ser presentada dando valores auna serie de parametros. El conjunto de todos los parametros (genes en la terminologıade AGs) se codifica en una cadena de valores denominada cromosoma.

El conjunto de los parametros representado por un cromosoma particular recibe elnombre de genotipo. El genotipo contiene la informacion necesaria para la construcciondel organismo, es decir, la solucion real al problema, denominada fenotipo. Por ejemplo,en terminos biologicos, la informacion genetica contenida en el ADN de un individuo serıael genotipo, mientras que la expresion de ese ADN (el propio individuo) serıa el fenotipo.

Desde los primeros trabajos de [Holland, 1975] la codificacion suele hacerse mediantevalores binarios. Se asigna un determinado numero de bits a cada parametro y se realizauna discretizacion de la variable representada por cada gen. El numero de bits asignadosdependera del grado de ajuste que se desee alcanzar. Evidentemente no todos los para-metros tienen que estar codificados con el mismo numero de bits. Cada uno de los bitspertenecientes a un gen suele recibir el nombre de alelo. La Figura 2.2 muestra un ejemplode un individuo binario que codifica 3 parametros.

Figura 2.2: Individuo Genetico Binario.

Sin embargo, tambien pueden existir representaciones que codifiquen directamentecada parametro con un valor entero, real o en punto flotante. A pesar de que se acusa aestas representaciones de degradar el paralelismo implıcito de las representaciones binarias,permiten el desarrollo de operadores geneticos mas especıficos al campo de aplicacion delAG [Gestal, 2010].

2.1.2. Funcion de Evaluacion

Para el correcto funcionamiento de un AG se debe de poseer un metodo que indique silos individuos de la poblacion representan o no buenas soluciones al problema planteado.Por lo tanto para cada tipo de problema que se desee resolver se debera derivar a unnuevo metodo, al igual que ocurrira con la propia codificacion de los individuos. De estose encarga la funcion de evaluacion, que establece una medida numerica de la bondad deuna solucion. Esta medida recibe el nombre de ajuste.

En la naturaleza el ajuste (o fitness) de un individuo puede considerarse como la

Ingenierıa Informatica - UCSP 21

Page 22: Modelo de un Algoritmo Genético con Selección Discriminatoria de

2.2. Operadores Geneticos

probabilidad de que ese individuo sobreviva hasta la edad de reproduccion y se reproduzca.Esta probabilidad debera estar ponderada con el numero de descendientes. Evidentementeno es lo mismo una probabilidad de reproduccion del 0.25 en una poblacion de un parde cientos de individuos que esa misma probabilidad en una poblacion de varios millones.En el mundo de los AGs se empleara esta medicion para controlar la aplicacion de losoperadores geneticos. Es decir, permitira controlar el numero de selecciones, cruces, copiasy mutaciones llevadas a cabo.

2.2. Operadores Geneticos

Para el paso de una generacion a la siguiente se aplican una serie de operadoresgeneticos. A continuacion se definen a los operadores de cruzamiento, mutacion y seleccion.

2.2.1. Operadores de Cruzamiento

Un operador genetico de cruzamiento es un operador empleado para la recombina-cion para producir la descendencia que se insertara en la siguiente generacion. Su impor-tancia para la transicion entre generaciones es elevada puesto que las tasas de cruce conlas que se suele trabajar rondan el 90% .

La idea principal del cruce se basa en que, si se toman dos individuos correctamenteadaptados al medio y se obtiene una descendencia que comparta genes de ambos, existela posibilidad de que los genes heredados sean precisamente los causantes de la bondadde los padres. Al compartir las caracterısticas buenas de dos individuos, la descendencia,o al menos parte de ella, deberıa tener una bondad mayor que cada uno de los padres porseparado. Existen multitud de operadores de cruce. Sin embargo los mas empleados sonlos que se detallaran a continuacion:

Cruce de 1 punto

Es la mas sencilla de las tecnicas de cruce. Una vez seleccionados dos individuosse cortan sus cromosomas por un punto seleccionado aleatoriamente para generar dossegmentos diferenciados en cada uno de ellos: la cabeza y la cola. Se intercambian lascolas entre los dos individuos para generar los nuevos descendientes. De esta maneraambos descendientes heredan informacion genetica de los padres, tal y como puede verseen la Figura 2.3.

Ingenierıa Informatica - UCSP 22

Page 23: Modelo de un Algoritmo Genético con Selección Discriminatoria de

CAPITULO 2. Conceptos Previos

���������������� ���������

����������

����������

���� ������������ ���������

�����

�����

�� �� �� �� �� �� �� ��

���� �� �� �� �� �� ��

�� �� �� �� �� �� �� ��

���� �� �� �� �� �� ��

������������

Figura 2.3: Cruce de 1 punto.

Cruce de 2 puntos

Se trata de una generalizacion del cruce de 1 punto. En vez de cortar por un unicopunto los cromosomas de los padres como en el caso anterior se realizan dos cortes. Deberatenerse en cuenta que ninguno de estos puntos de corte coincida con el extremo de loscromosomas para garantizar que se originen tres segmentos. Para generar la descendenciase escoge el segmento central de uno de los padres y los segmentos laterales del otro padre.(Vease Figura 2.4)

���������������� ���������

����������

����������

���� ������������ ���������

�����

�����

�� �� �� �� �� �� �� ��

���� �� �� �� �� �� ��

�� �� �� �� �� �� �� ��

���� �� �� �� �� �� ��

������ ���

�����

������ ���

�����

Figura 2.4: Cruce de 2 puntos.

Cruce Uniforme

Consiste en la generacion aleatoria de una mascara de cruce con valores binarios[Gestal, 2010]. Si en una de las posiciones de la mascara hay un 1, el gen situado en esaposicion en uno de los descendientes se copia del primer padre. Si por el contrario hay un 0en gel se copia del segundo padre. Para producir el segundo descendiente se intercambianlos papeles de los padres, o bien se intercambia la interpretacion de los unos y ceros de lamascara de cruce tal como se puede apreciar en la Figura 2.5.

Ingenierıa Informatica - UCSP 23

Page 24: Modelo de un Algoritmo Genético con Selección Discriminatoria de

2.2. Operadores Geneticos

����������� �����������

������

������

�� �� �� �� �� �� �� ��

����������� ������������� �� �� �� �� �� �� ��

���� �� �� �� �� �� ��

�� �� �� �� �� �� �� ��

���� �� �� �� �� �� ��

�� �� �� �� �� �� �� ��

Figura 2.5: Cruce Uniforme.

2.2.2. Operadores de Mutacion

Un operador genetico de mutacion permite alcanzar cualquier parte del espacio debusqueda de un individuo. La mutacion de un individuo provoca que alguno de sus genes,generalmente uno solo, varıe su valor de forma aleatoria. Aunque se pueden seleccionarlos individuos directamente de la poblacion actual y mutarlos antes de introducirlos en lanueva poblacion, la mutacion se suele utilizar de manera conjunta con el operador de cruce.La probabilidad de mutacion es muy baja, generalmente menor al 1%. Esto se debe sobretodo a que los individuos suelen tener un fitness menor despues de mutados. Sin embargose realizan mutaciones para garantizar que ningun punto del espacio de busqueda tengauna probabilidad nula de ser examinado. Existen multitud de operadores de mutacion.Sin embargo los mas empleados son los que se detallaran a continuacion:

Reemplazo Aleatorio

Este consiste en variar aleatoriamente un gen de un cromosoma. Si se trabaja concodificaciones binarias consistir simplemente en negar un bit. (Vease la Figura 2.6)

Ingenierıa Informatica - UCSP 24

Page 25: Modelo de un Algoritmo Genético con Selección Discriminatoria de

CAPITULO 2. Conceptos Previos

���������

���������������

�� ����������

� � � � � � � �

�� � � � � � �

������������

Figura 2.6: Reemplazo Aleatorio.

Mutacion para Representacion de Orden

Consiste en la seleccion aleatoria de dos puntos en el cromosoma. Estos dos puntosseleccionados se intercambian en el cromosoma generando un nuevo individuo como semuestra en la Figura 2.7.

Figura 2.7: Mutacion para Representacion de Orden.

2.2.3. Operadores de Seleccion

Los operadores de seleccion seran los encargados de escoger que individuos van adisponer de oportunidades de reproducirse y cuales no. Puesto que se trata de imitarlo que ocurre en la naturaleza, se ha de otorgar un mayor numero de oportunidadesde reproduccion a los individuos mas aptos. Por lo tanto la seleccion de un individuoestara relacionada con su valor de ajuste. No se debe sin embargo eliminar por completolas opciones de reproduccion de los individuos menos aptos, pues en pocas generacionesla poblacion se volverıa homogenea. Se debe dar una posibilidad de reproducirse a losindividuos menos aptos ya que estos pueden incluir material genetico util en el procesode reproduccion. A continuacion se detallara los operadores de seleccion mayormenteutilizados ası como del operador de SS.

Seleccion de Ruleta

Propuesto por DeJong, tambien conocida como Seleccion proporcional a la funcionde desempeno, es posiblemente el metodo mas utilizado desde los orıgenes de los AGs[Blickle and Thiele, 1995]. A cada uno de los individuos de la poblacion se le asigna una

Ingenierıa Informatica - UCSP 25

Page 26: Modelo de un Algoritmo Genético con Selección Discriminatoria de

2.2. Operadores Geneticos

parte proporcional a su ajuste de una ruleta, de tal forma que la suma de todos losporcentajes sea la unidad. Los mejores individuos recibiran una porcion de la ruleta mayorque la recibida por los peores. Generalmente la poblacion esta ordenada en base al ajustepor lo que las porciones mas grandes se encuentran al inicio de la ruleta. Para seleccionarun individuo basta con generar un numero aleatorio del intervalo [0..1] y devolver elindividuo situado en esa posicion de la ruleta. Sea N el numero de individuos existentes yfi el desempeno del i-esimo individuo. La probabilidad asociada a su seleccion esta dadapor:

pi =fi

∑Nj=1

fj(2.1)

Esta posicion se suele obtener recorriendo los individuos de la poblacion y acumulan-do sus proporciones de ruleta hasta que la suma exceda el valor obtenido. (Vease Figura2.8)

Figura 2.8: Ejemplo de la Seleccion de Ruleta.

A continuacion se muestra el pseudocodigo del procedimiento del operador de SR.

Algoritmo 2 Pseudocodigo Seleccion de RuletaGenerar el valor de n con un valor de 0mientras tamano de la poblacion >n hacer

Generar el numero aleatorio rCalcular el fitness acumulado, fitness total (Pt), y la suma del fitness proporcional(SUM)si SUM <r entoncesSeleccionar el primer cromosoma, de otra manera, seleccionar el i-esimo cromo-soma

fin si

Incrementar el valor de n en una unidadfin mientras

Devolver los cromosomas con valores de fitness proporcionales al tamano de la seccionde la ruleta seleccionada

Ingenierıa Informatica - UCSP 26

Page 27: Modelo de un Algoritmo Genético con Selección Discriminatoria de

CAPITULO 2. Conceptos Previos

Seleccion por Torneo

Esta seleccion se efectua mediante un torneo (comparacion) entre un pequeno sub-conjunto de individuos elegidos al azar desde la poblacion. Los beneficios de este tipo deseleccion son la velocidad de aplicacion (dado que no es necesario evaluar ni comparar latotalidad de la poblacion) y la capacidad de prevenir, en cierto grado, la convergencia pre-matura. La principal desventaja es la necesidad de establecer el parametro correspondienteal tamano del subconjunto [Goldberg, 1989].

Variando el numero de individuos que participan en cada torneo se puede modificarla presion de seleccion. Cuando participan muchos individuos en cada torneo, la presion deseleccion es elevada y los peores individuos apenas tienen oportunidades de reproduccion.Un caso particular es el elitismo global. Se trata de un torneo en el que participan todoslos individuos de la poblacion con lo cual la seleccion se vuelve totalmente determinıstica.Cuando el tamano del torneo es reducido, la presion de seleccion disminuye y los peoresindividuos tienen mas oportunidades de ser seleccionados.

En la Figura 2.9 se observa el ejemplo basico de una ST:

Figura 2.9: Ejemplo de la Seleccion por Torneo.

A continuacion se muestra el pseudocodigo del procedimiento del operador de ST.

Algoritmo 3 Pseudocodigo Seleccion por TorneoDefinir tamano del subconjuntoCalcular el fitness acumulado, fitness total (Pi)mientras tamano del subconjunto >0 hacer

Elegir concursantefin mientras

Ordenar los concursante de acuerdo a su fitness y elegir el ganador del torneoDevolver el cromosoma ganador del torneo

Ingenierıa Informatica - UCSP 27

Page 28: Modelo de un Algoritmo Genético con Selección Discriminatoria de

2.2. Operadores Geneticos

Seleccion Basada en Ranking

Esta seleccion se efectua mediante la ordenacion de la poblacion de acuerdo a sufitness y entonces las probabilidades de seleccion se asignan de acuerdo a su ranking. LaSBR puede evitar la convergencia prematura pero puede ser computacionalmente costosapor la necesidad de ordenar la poblacion. La probabilidad asociada a su seleccion estadada por:

Rankingi = 2− SP + (2.(SP − 1) ∗(Pos− 1)

(n− 1)) donde : 1,0 < SP ≤ 2,0 (2.2)

Se considera a n como el numero de individuos en la poblacion, a Pos como laposicion de un individuo en la poblacion y la SP como la presion de seleccion. En lasFiguras 2.10 y 2.11 se observa como la probabilidad de eleccion varıa con la SBR, evitandoque existan super individuos.

Figura 2.10: Ejemplo de la probabilidad de eleccion de acuerdo al fitness.

Figura 2.11: Ejemplo de la probabilidad de eleccion de acuerdo al ranking.

A continuacion se muestra el pseudocodigo del procedimiento del operador de SBR.

Ingenierıa Informatica - UCSP 28

Page 29: Modelo de un Algoritmo Genético con Selección Discriminatoria de

CAPITULO 2. Conceptos Previos

Algoritmo 4 Pseudocodigo Seleccion Basada en RankingGenerar el valor de n con un valor de 0mientras tamano de la poblacion >n hacer

Generar el numero aleatorio rOrdenar poblacion de acuerdo a su rankingAsignar los valores de fitness a los individuos de acuerdo a su rankingCalcular el fitness acumulado, fitness total (Pt), y la suma del fitness proporcional(SUM)si SUM <r entoncesSeleccionar el primer cromosoma, de otra manera, seleccionar el i-esimo cromo-soma

fin si

Incrementar el valor de n en una unidadfin mientras

Devolver los cromosomas con valores de fitness proporcionales al tamano de la seccionde la ruleta seleccionada

Seleccion Sexual

El esquema de Seleccion Sexual [Goh et al., 2003] se inspira en el concepto de selec-cion sexual propuesto por Darwin que sugiere que la eleccion de pareja opera a traves dela eleccion femenina. Esta implementacion consta de 5 etapas principalmente:

1. Separar la generacion actual en machos y hembras.

2. Seleccionar una hembra no emparejada.

3. Seleccionar un macho a emparejar.

4. Emparejar la hembra y macho para producir descendencia.

5. Vuelva al paso 2 hasta que todas las hembras hayan copulado.

Este diseno asegura que todas las hembras se llegan a reproducir independientementede su aptitud y su objetivo es facilitar la exploracion del espacio de busqueda. Por el otrolado, el sesgo hacia los machos explota el conocimiento de que la estructura del cromosomadel individuo es mejor. En las Figuras 2.12, 2.13 y 2.14 se detalla en forma grafica la SS.

Ingenierıa Informatica - UCSP 29

Page 30: Modelo de un Algoritmo Genético con Selección Discriminatoria de

2.2. Operadores Geneticos

Figura 2.12: Separacion de la poblacion en hembras y machos.

Figura 2.13: Seleccion de hembra no emparejada y seleccion de un macho.

Figura 2.14: Proceso es repetido hasta que todas las hembras hayan sido apareadas.

A continuacion se muestra el pseudocodigo del procedimiento del operador de SS.

Ingenierıa Informatica - UCSP 30

Page 31: Modelo de un Algoritmo Genético con Selección Discriminatoria de

CAPITULO 2. Conceptos Previos

Algoritmo 5 Pseudocodigo Seleccion SexualSeparar la poblacion en machos y hembras de acuerdo a su fitnessGenerar el valor n con valor de tamano de la poblacion / 2Calcular el fitness acumulado, fitness total (Pt)mientras n >0 hacer

Seleccionar hembra no emparejadaSeleccionar macho para emparejar de acuerdo a su fitnessDecrementar el valor de n en una unidad

fin mientras

Devolver las parejas formadas por los inviduos de acuerdo al proceso de seleccion

2.3. Consideraciones Finales

Luego de la especificacion de los conceptos previos de esta seccion se procedera aespecificar la propuesta que se basa claramente en la utilizacion de un AG con un operadorde seleccion basandose en la estructura de la Seleccion Sexual[Goh et al., 2003], ademasdel uso de un esquema de probabilidades de mutacion que ayudara a explorar mejor elespacio de busqueda. Los operadores de cruzamiento y mutacion se basan en los operadoresutilizados en estas investigaciones.

Ingenierıa Informatica - UCSP 31

Page 32: Modelo de un Algoritmo Genético con Selección Discriminatoria de

Capıtulo 3

Propuesta

En este capıtulo se detalla la propuesta del nuevo modelo del AG incluyendo eloperador de seleccion propuesto ası como el esquema de ponderacion de probabilidadesde mutacion. La propuesta se basa en la necesidad de un nuevo operador de seleccion queexplore el espacio de busqueda de un problema, con la caracterıstica de que utilice todaslas soluciones, ya sean buenas o malas. Este nuevo operador debe tener una convergenciauniforme, descartando la convergencia prematura ademas de alcanzar el optimo global enun menor numero de generaciones. En la Figura 3.1 se muestra el modelo basico del AGdonde se resalta la parte que modifica la propuesta, la cual es el operador de seleccion.Ademas, en la Figura 3.2 se muestran los pasos que componen este operador de seleccion.

f(◦)

ReproduccionNueva poblacion

de descendientes

Evaluacion de

la descendencia

Evolucion

Modelo de

Seleccion

Cruce

Mutacion

Individuo genotipo fitness

x1 100100 1296

x2 010010 324

x3 010110 484

x4 000001 1

Propuesto

Figura 3.1: Esquema de un Algoritmo Genetico con el operador propuesto.

32

Page 33: Modelo de un Algoritmo Genético con Selección Discriminatoria de

CAPITULO 3. Propuesta

Figura 3.2: Esquema de los pasos del operador propuesto.

Adicionalmente al operador de seleccion, se propone un esquema de probabilidadesde mutacion que sera utilizado por el operador para asignar las probabilidades de mutaciona sus diversas clases. Los puntos contenidos en este capıtulo son los siguientes:

1. Esquema de Ponderacion de Probabilidades de Mutacion

2. Operador de Seleccion Discriminatoria de Individuos

3.1. Esquema de Ponderacion de Probabilidades de

Mutacion

Debido a que el operador de seleccion propuesto divide la poblacion en clases de-pendiendo de su aptitud, se agrega un esquema donde las probabilidades de mutacion enla poblacion varıan dependiendo a que clase pertenecen los individuos. La clase mas altaposee una probabilidad base inicial de mutacion mientras que las demas clases van aumen-tando su probabilidad en incrementos constantes de tal forma que la ultima clase tiene

Ingenierıa Informatica - UCSP 33

Page 34: Modelo de un Algoritmo Genético con Selección Discriminatoria de

3.1. Esquema de Ponderacion de Probabilidades de Mutacion

una probabilidad de mutacion de 1. Este aumento de probabilidad se calcula utilizandola Ecuacion 3.1.

k =1− PM0

(n− 1)(3.1)

donde:n: es el numero de clases.

PM0: es la probabilidad inicial de mutacion.k: es el incremento de probabilidad por cada clase.

En el Cuadro 3.1 se muestra un ejemplo de la variacion de las probabilidad demutacion al aplicar la Ecuacion 3.1 con una probabilidad inicial de 0.10 y un numero de16 clases. El valor de k es de 0.06.

Clase Probabilidad

1 0.102 0.163 0.224 0.285 0.346 0.407 0.468 0.529 0.5810 0.6411 0.7012 0.7613 0.8214 0.8815 0.9416 1.00

Cuadro 3.1: Ejemplo del calculo de las probabilidades de mutacion por clase donde n : 16y PMI : 0,1.

Con este esquema se garantiza que las clases mas bajas tengan la oportunidad degenerar descendientes con buen fitness, es decir, la alta probabilidad de mutacion ayudaa explorar el espacio de busqueda y no solo centrarse en los individuos que pertenecen alas clases mas altas.

Este esquema elimina la dependencia entre clases al realizar operaciones, un proble-ma en los operadores de seleccion clasicos. Al eliminar esta dependencia ayuda a que elAG pueda ser paralelizable.

Ingenierıa Informatica - UCSP 34

Page 35: Modelo de un Algoritmo Genético con Selección Discriminatoria de

CAPITULO 3. Propuesta

3.2. Seleccion Descriminatoria de Individuos

Debido a que surge la necesidad de explotar todos los elementos del espacio debusqueda, este operador utiliza el Esquema de Ponderacion de Probabilidades de Muta-cion (EPPM) para asignar probabilidades de mutacion a todos los individuos. Al asignardiferentes probabilidades de mutacion a las distintas clases generadas, se garantiza quelos individuos pobres tengan la posibilidad de generar un descendiente bueno.

Este operador de seleccion divide la poblacion en clases de acuerdo a su fitness.Juntando a los mejores individuos con los mejores individuos y a los peores individuos conlos peores individuos. Con la separacion de la poblacion en clases, se elimina la dependenciaentre clases. Al eliminar esta dependencia el algoritmo puede ser implementado en uncontexto paralelo. Adicionalmente, este operador se basa en la estructura del operador deseleccion sexual [Goh et al., 2003]. La Seleccion Discriminatoria de Individuos (SDI) secompone principalmente en los siguientes pasos:

1. Separar poblacion en clases de acuerdo a su aptitud.

2. Definir probabilidad de mutacion para cada clase utilizando el EPPM.

3. En cada clase diferenciar las hembras y los machos.

4. Seleccionar una hembra no emparejada y un macho de la misma clase para empa-rejar.

5. Emparejar la hembra y macho para producir descendencia.

6. Vuelva al paso 2 hasta que todas las hembras se hayan reproducido.

A continuacion se mostrara un ejemplo grafico de la SDI ilustrado en las Figuras3.3, 3.4, 3.5 y 3.6.

Figura 3.3: Separacion de la poblacion en dos clases.

Ingenierıa Informatica - UCSP 35

Page 36: Modelo de un Algoritmo Genético con Selección Discriminatoria de

3.2. Seleccion Descriminatoria de Individuos

Figura 3.4: Definir la probabilidad de mutacion para cada clase.

Figura 3.5: Diferenciacion de machos y hembras en cada clase.

Figura 3.6: Emparejamiento y produccion de descendencia.

A continuacion se muestra el pseudocodigo del procedimiento del operador de SSI!

(SSI!).

Ingenierıa Informatica - UCSP 36

Page 37: Modelo de un Algoritmo Genético con Selección Discriminatoria de

CAPITULO 3. Propuesta

Algoritmo 6 Pseudocodigo Seleccion Descriminatoria de IndividuosOrdenar la poblacion de acuerdo a su aptitudGenerar el valor del tamano de claseSeparar la poblacion en clases de acuerdo a su aptitudmientras cantidad de clases >0 hacer

Definir probabilidad de mutacion para cada claseSeparar los individuos de la clase en machos y hembras de acuerdo a su fitnessCalcular el fitness acumulado, fitness total (Pt) por cada claseGenerar el valor n con valor de tamano de la clase / 2

fin mientras

mientras n >0 hacer

Seleccionar hembra no emparejadaSeleccionar macho para emparejar de acuerdo a su fitnessDecrementar el valor de n en una unidad

fin mientras

Devolver las parejas formadas por los inviduos de acuerdo al proceso de seleccion

Este operador de seleccion permitira dividir la poblacion en clases de acuerdo a suaptitud, lo que permitirıa emparejar a los mejores con los mejores y peores con los peores,cada clase tiene su propia probabilidad de mutar que es mas baja en las mejores clasesy se incrementa conforme se clasifican los demas individuos. Ademas permitirıa utilizarparalelismo para disminuir el costo de calculo de soluciones.

Ingenierıa Informatica - UCSP 37

Page 38: Modelo de un Algoritmo Genético con Selección Discriminatoria de

Capıtulo 4

Casos de Estudio, Pruebas y

Resultados

Con la propuesta ya definida en el capıtulo anterior se procede a realizar los expe-rimentos y analisis de los resultados obtenidos. Para las pruebas se tendran dos casos deuso, los cuales se detallan a continuacion:

4.1. Caso de Estudio 1: Funciones Benchmarking

Para la obtencion de resultados de este caso de estudio se utilizan 4 funcionesBenchmarking. Digalakis [Digalakis and Margaritis, 2002] resume un conjunto de funcio-nes Benchmarking. En este conjunto, se seleccionan cuatro funciones, para llevar a caboel estudio propuesto, las cuales se mencionan a continuacion:

Funcion Step : es la representante de la problematica de las superficies planas,las cuales son obstaculos para los algoritmos de optimizacion debido a que no daninformacion acerca de que direccion es favorable para realizar la busqueda. Su optimoglobal es 0.

f1 =n∑

i=1

|xi| donde : −5, 12 ≤ xi ≤ 5, 12 (4.1)

Funcion Sphere : funcion parabolica, convexa lisa, unimodal, simetrica, y cuya con-vergencia para el optimo global se consigue facilmente. Su optimo global es 0.

f2 =n∑

i=1

x2

i donde : −5, 12 ≤ xi ≤ 5, 12 (4.2)

38

Page 39: Modelo de un Algoritmo Genético con Selección Discriminatoria de

CAPITULO 4. Casos de Estudio, Pruebas y Resultados

Funcion Rosenbrock: considerada de alto nivel de dificultad. Es una funcion noconvexa usada para realizar pruebas de rendimiento para algoritmos de optimizaciondefinida por Howard H. Rosenbrock en 1960 [Rosenbrock, 1960]. Su optimo globales 0.

f3 = 100(x2

1− x2)

2 + (1− x1)2 donde : −2, 048 ≤ xi ≤ 2, 048 (4.3)

Funcion Schwefel: es una funcion multimodal compleja, es decir, tiene varios optimoslocales y solo un optimo global. Su optimo global es 837.966.

f4 =n∑

i=1

(−xi sin(√

|xi|)) donde : −500 ≤ xi ≤ 500 (4.4)

Este subconjunto de funciones contiene caracterısticas importantes que sirven pararesolver problemas de optimizacion, tales como: suavidad, unimodalidad, multimodalidad,una superficie plana, y tambien muchos optimos locales [Broglio Carvalho et al., 2011].

4.1.1. Definicion del Individuo

Dado que se trabaja con valores enteros, el individuo se representa como un arreglobinario. (Vease Figura 4.1)

Figura 4.1: Ejemplo basico del Individuo.

4.1.2. Operador de Cruzamiento

El operador de cruzamiento a utilizar segun [Digalakis and Margaritis, 2002] es elcruzamiento uniforme que consiste en la generacion aleatoria de una mascara de cruce convalores binarios [Gestal, 2010]. Si en una de las posiciones de la mascara hay un 1, el gensituado en esa posicion en uno de los descendientes se copia del primer padre. Si por elcontrario hay un 0 el gen se copia del segundo padre. Para producir el segundo descendientese intercambian los papeles de los padres, o bien se intercambia la interpretacion de losunos y ceros de la mascara de cruce tal como se puede apreciar en la Figura 4.2.

Ingenierıa Informatica - UCSP 39

Page 40: Modelo de un Algoritmo Genético con Selección Discriminatoria de

4.1. Caso de Estudio 1: Funciones Benchmarking

����������� �����������

������

������

�� �� �� �� �� �� �� ��

����������� ������������� �� �� �� �� �� �� ��

���� �� �� �� �� �� ��

�� �� �� �� �� �� �� ��

���� �� �� �� �� �� ��

�� �� �� �� �� �� �� ��

Figura 4.2: Cruce Uniforme.

4.1.3. Operador de Mutacion

El operador de mutacion a utilizar segun [Digalakis and Margaritis, 2002] es el re-emplazo aleatorio el cual consiste en variar aleatoriamente un gen de un cromosoma, comoel individuo es un arreglo de bits se modifica el 1 por el 0 o viceversa. (Vease Figura 4.3)

Figura 4.3: Reemplazo Aleatorio.

4.1.4. Parametros del Modelo

Para resolver este problema tomaremos en cuenta los parametros detallados enel Cuadro 4.1. Se consideran las probabilidades de cruzamiento y mutacion dadas por[Srinivas and Patnaik, 1994]. En los resultados el parametro que varıa es el tamano de lapoblacion, debido a que es el unico parametro que afecta los resultados de los experimentos.La utilizacion de estos valores como parametros son especificados por [Digalakis and Margaritis, 2002].

Ingenierıa Informatica - UCSP 40

Page 41: Modelo de un Algoritmo Genético con Selección Discriminatoria de

CAPITULO 4. Casos de Estudio, Pruebas y Resultados

Parametro Valor

Tamano de poblacion 20, 100, 200, 400Probabilidad de cruzamiento 0.65Probabilidad inicial de mutacion 0.008

Cuadro 4.1: Parametros Caso 1.

4.1.5. Resultados

Primeramente se muestran los resultados obtenidos al evaluar la funcion Step conlos diferentes tamanos de poblacion. En la Figura 4.4 se observa que si bien la SDI noes la mas rapida en converger a su optimo global, posee una curva bien definida. Hayque considerar que para este experimento se utilizo un valor entero de 5000 al que se lerestaba el resultado hallado por el AG, esto se realizo solo con el objetivo de visualizar lacurva generada. En la Figura 4.5 se observa una convergencia mas rapida por parte de losoperadores de seleccion utilizados. En la Figura 4.6 se muestra que la curva de la SDI juntocon la ST, la cual venıa siendo el operador que convergıa mas rapido, convergen antes quelos demas operadores. Finalmente se observa que en la Figura 4.7 la SDI converge masrapido a su optimo global que los demas operadores mostrando una curva bien definida.

Figura 4.4: Comparacion entre Operadores de Seleccion con una Poblacion de 20 Indivi-duos al evaluar la Funcion Step.

Ingenierıa Informatica - UCSP 41

Page 42: Modelo de un Algoritmo Genético con Selección Discriminatoria de

4.1. Caso de Estudio 1: Funciones Benchmarking

Figura 4.5: Comparacion entre Operadores de Seleccion con una Poblacion de 100 Indivi-duos al evaluar la Funcion Step.

Figura 4.6: Comparacion entre Operadores de Seleccion con una Poblacion de 200 Indivi-duos al evaluar la Funcion Step.

Ingenierıa Informatica - UCSP 42

Page 43: Modelo de un Algoritmo Genético con Selección Discriminatoria de

CAPITULO 4. Casos de Estudio, Pruebas y Resultados

Figura 4.7: Comparacion entre Operadores de Seleccion con una Poblacion de 400 Indivi-duos al evaluar la Funcion Step.

A continuacion se muestran los resultados obtenidos al evaluar la funcion Sphere.En la Figura 4.8 se observa que la curva del operador de SS converge mas rapido que losdemas operadores siendo seguida del operador de SDI. En la Figura 4.9 se observa quela curva del operador de ST converge mas rapido que los demas operadores. Finalmentese muestra en las Figura 4.10 y 4.11 que el operador de SDI converge mas rapido que losdemas operadores.

Figura 4.8: Comparacion entre Operadores de Seleccion con una Poblacion de 20 Indivi-duos al evaluar la Funcion Sphere.

Ingenierıa Informatica - UCSP 43

Page 44: Modelo de un Algoritmo Genético con Selección Discriminatoria de

4.1. Caso de Estudio 1: Funciones Benchmarking

Figura 4.9: Comparacion entre Operadores de Seleccion con una Poblacion de 100 Indivi-duos al evaluar la Funcion Sphere.

Figura 4.10: Comparacion entre Operadores de Seleccion con una Poblacion de 200 Indi-viduos al evaluar la Funcion Sphere.

Ingenierıa Informatica - UCSP 44

Page 45: Modelo de un Algoritmo Genético con Selección Discriminatoria de

CAPITULO 4. Casos de Estudio, Pruebas y Resultados

Figura 4.11: Comparacion entre Operadores de Seleccion con una Poblacion de 400 Indi-viduos al evaluar la Funcion Sphere.

Los resultados obtenidos al ejecutar la funcion de Rosenbrock con los diferentestamanos de poblacion se muestran a continuacion. En la Figura 4.12 se observa que laconvergencia de la SDI es menor a los demas operadores de seleccion exceptuando aloperador de SR. En la Figura 4.13 se observa que la convergencia del operador de SDI esmejor que los demas operadores de seleccion ası como tambien alcanza su optimo globalen menos generaciones que los demas operadores. En la Figura 4.14 tambien se observauna mas rapida convergencia hacia su optimo global. En la Figura 4.15 se observa que laconvergencia del operador de SDI es mas rapido de los demas operadores de seleccion yse reafirma el hecho de que el operador halla el optimo global en menos generaciones.

Figura 4.12: Comparacion entre Operadores de Seleccion con una Poblacion de 20 Indivi-duos al evaluar la Funcion Rosenbrock.

Ingenierıa Informatica - UCSP 45

Page 46: Modelo de un Algoritmo Genético con Selección Discriminatoria de

4.1. Caso de Estudio 1: Funciones Benchmarking

Figura 4.13: Comparacion entre Operadores de Seleccion con una Poblacion de 100 Indi-viduos al evaluar la Funcion Rosenbrock.

Figura 4.14: Comparacion entre Operadores de Seleccion con una Poblacion de 200 Indi-viduos al evaluar la Funcion Rosenbrock.

Ingenierıa Informatica - UCSP 46

Page 47: Modelo de un Algoritmo Genético con Selección Discriminatoria de

CAPITULO 4. Casos de Estudio, Pruebas y Resultados

Figura 4.15: Comparacion entre Operadores de Seleccion con una Poblacion de 400 Indi-viduos al evaluar la Funcion Rosenbrock.

A continuacion se muestran los resultados obtenidos al probar la funcion Schwefel,la cual es una funcion multimodal. En la Figura 4.16 se observa que los unicos operadoresque generan una curva definida que converge al optimo global son la SS y la SDI, estodebido a que esta funcion posee varios optimos locales. En las Figuras 4.17, 4.18 y 4.19se muestra que la mayorıa de operadores excepto la SR poseen curvas definidas hacia eloptimo global.

Figura 4.16: Comparacion entre Operadores de Seleccion con una Poblacion de 20 Indivi-duos al evaluar la Funcion Schwefel.

Ingenierıa Informatica - UCSP 47

Page 48: Modelo de un Algoritmo Genético con Selección Discriminatoria de

4.1. Caso de Estudio 1: Funciones Benchmarking

Figura 4.17: Comparacion entre Operadores de Seleccion con una Poblacion de 100 Indi-viduos al evaluar la Funcion Schwefel.

Figura 4.18: Comparacion entre Operadores de Seleccion con una Poblacion de 200 Indi-viduos al evaluar la Funcion Schwefel.

Ingenierıa Informatica - UCSP 48

Page 49: Modelo de un Algoritmo Genético con Selección Discriminatoria de

CAPITULO 4. Casos de Estudio, Pruebas y Resultados

Figura 4.19: Comparacion entre Operadores de Seleccion con una Poblacion de 400 Indi-viduos al evaluar la Funcion Schwefel.

Si bien no es posible identificar a simple vista que operador es el que convergeprimero al optimo global, en el Cuadro 4.2 se muestra la cantidad de generaciones queemplea cada operador en converger al optimo global.

Operador de Seleccion Generacion de convergencia

400 Ind 200 Ind 100 Ind

Seleccion por Torneo 356 510 535Seleccion de Ruleta 418 574 –Seleccion Sexual 327 391 562Seleccion Basada en Ranking 333 551 567Seleccion Discriminatoria de Individuos 241 275 421

Cuadro 4.2: Comparativo del numero de generaciones que los operadores de Seleccionnecesitaron para converger en la funcion Schwegel.

Se observa que con esta funcion multimodal la SR no llega a converger, por otrolado se muestra que la SDI converge mas rapido que los demas operadores.

4.2. Caso de Estudio 2: Mejora de Calidad en Hora-

rios de Empleados

Un problema adicional abarcado en este trabajo de investigacion es la mejora decalidad de un horario de trabajo cuyo tema es abarcado en varios trabajos de investigacion

Ingenierıa Informatica - UCSP 49

Page 50: Modelo de un Algoritmo Genético con Selección Discriminatoria de

4.2. Caso de Estudio 2: Mejora de Calidad en Horarios de Empleados

utilizando diferentes formas de nombrarlo. Los terminos mas utilizados son: workforcescheduling, manpower scheduling, staff scheduling, employee timetabling, crew scheduling[Morz and Nysret, 2004]. La asignacion de un horario de trabajo a los empleados consisteen adjudicar a los empleados turnos de trabajo en un periodo previamente definido. Enla Figura 4.20 se muestra un ejemplo de un horario basico utilizado generalmente pordiversas empresas e instituciones, en este ejemplo el periodo es de 7 dıas.

Figura 4.20: Ejemplo tıpico y basico de un horario de empleados.

Existen basicamente dos tipos de horarios de trabajo: a) los horarios estaticos, loscuales no varıan en los diferentes periodos de tiempo y b) los horarios dinamicos que sıvarıan en cada periodo de tiempo.

A continuacion en las Figuras 4.21 y 4.22 se muestran dos ejemplos basicos dehorarios dinamicos y estaticos cuyo periodo es de 7 dıas.

Figura 4.21: Ejemplo basico de un Horario Estatico en 2 periodos de tiempo.

Ingenierıa Informatica - UCSP 50

Page 51: Modelo de un Algoritmo Genético con Selección Discriminatoria de

CAPITULO 4. Casos de Estudio, Pruebas y Resultados

Figura 4.22: Ejemplo basico de un Horario Dinamico en 2 periodos de tiempo donde loscasilleros sombreados indican la variacion entre periodo 1 y periodo 2.

En este caso de uso se considerara el horario dinamico ya que se pretende mejorar laproductividad de los empleados y, al mismo tiempo, tener un mejor impacto de satisfacciony salud de los empleados.

Para la obtencion de resultados en este caso de uso se va a tomar un caso de lavida real, los horarios de salvavidas de Wilderness Resort, localizado en Wisconsin Dells,USA, cuyo horario de salvavidas es generado manualmente por 2 personas encargadas quetoman en un tiempo de 4 dıas calendarios. Este horario tiene un promedio de 50 salvavidasdivididos en 2 turnos. Siendo el trabajo de salvavidas muy crıtico debido a que un pequenodescuido puede ocasionar la muerte de alguna persona, los salvavidas deben encontrarseen su mejor capacidad de respuesta lo cual puede ser afectada por varios motivos como:

Trabajo adicional en altas horas de la noche.

Conflictos personales.

Variacion del ritmo circadiano.

Dıas seguidos de trabajo.

Para lo cual es importante encontrar un horario que pueda mejorar la productividady eficiencia de los salvavidas. A continuacion se definen los individuos, operadores geneticosy se propone una estructura llamada Matriz de Preferencias (MPs) para solucionar esteproblema.

Ingenierıa Informatica - UCSP 51

Page 52: Modelo de un Algoritmo Genético con Selección Discriminatoria de

4.2. Caso de Estudio 2: Mejora de Calidad en Horarios de Empleados

4.2.1. Definicion de Individuo

La definicion del individuo del AG se basa en el individuo utilizado para resolver elProblem A: curriculum-based course timetabling [Abdullah and Turabieh, 2012].

El individuo es una matriz d× e, donde d es el numero de dıas y e es el numero deempleados disponibles (Vease Figura 4.23). Los valores de esta matriz son los periodos enque esta compuesto un dıa de trabajo, en el individuo se esta considerando dos periodos:am y pm.

Figura 4.23: Esquema basico del Individuo.

En el AG se genera una poblacion de x individuos, donde cada individuo representauna posible solucion al problema propuesto.

4.2.2. Operador de Cruzamiento

El operador de cruzamiento propuesto basado en el operador propuesto en el trabajode [Abdullah and Turabieh, 2012], consisten en elegir aleatoriamente dos columnas distin-tas de nuestros individuos para cruzar e intercambiarlas como se muestra en las Figuras4.24 y 4.25.

Ingenierıa Informatica - UCSP 52

Page 53: Modelo de un Algoritmo Genético con Selección Discriminatoria de

CAPITULO 4. Casos de Estudio, Pruebas y Resultados

Figura 4.24: Seleccion de dos columnas aleatoriamente.

En este ejemplo se ha seleccionado aleatoriamente la columna 2 y la columna 5.

Figura 4.25: Exchange selected columns.

Ingenierıa Informatica - UCSP 53

Page 54: Modelo de un Algoritmo Genético con Selección Discriminatoria de

4.2. Caso de Estudio 2: Mejora de Calidad en Horarios de Empleados

Cabe destacar que el operador de cruzamiento podrıa generar un individuo que seaincorrecto, lo que podrıa ocasionar inconsistencias en el algoritmo. Para solucionar esteproblema se utilizara una funcion de comprobacion de individuos, la cual evaluara eldescendiente con la MPs. Y en caso el individuo sea incorrecto se tomara al padre delindividuo, caso contrario el descendiente sera elegido.

4.2.3. Operador de Mutacion

El operador de mutacion propuesto consiste en seleccionar la mitad menos signifi-cativa del individuo y aplicar la mutacion de los turnos como se muestran en las Figuras4.26 y 4.27.

Figura 4.26: Seleccion mitad menos significativa.

Figura 4.27: Mutacion de turnos.

Se procede a mutar los turnos de la columna elegida, es decir si el elemento es amse procede a cambiarlo por pm y viceversa, se podra mutar un individuo solo si la MPstiene un valor diferente a 0 en esa posicion.

4.2.4. Matriz de Preferencias

Para la generacion de la poblacion de los AGs generalmente se realiza mediantela generacion aleatoria sin seguir un patron de probabilidades. Debido a esta falta deespecificacion es que se propone una MPs (Vease Figura 4.28) en el AG para la generacionde la poblacion inicial y calculo de aptitud.

Ingenierıa Informatica - UCSP 54

Page 55: Modelo de un Algoritmo Genético con Selección Discriminatoria de

CAPITULO 4. Casos de Estudio, Pruebas y Resultados

Figura 4.28: Ejemplo basico de una Matriz de Preferencias.

En la matriz definida por cada dıa se agrega la cantidad de turnos por dıa, en estecaso cada dıa tiene dos turnos. Una de las particularidades de esta matriz es que los valoresde cada columna deben de sumar 1. Si un elemento de la columna varıa, la diferencia delvalor actual con el anterior se reparte entre los demas elementos de la columna, ya sea paraagregar o disminuir el valor de los demas elementos. Si un empleado no puede trabajar enun turno especificado el valor para esa posicion en la MPs serıa de 0.

Esta matriz ayudara a generar una poblacion inicial con mayor aptitud, por ende conuna mejor calidad de individuos. Cabe resaltar que esta estructura se basa en el modeloprobabilıstico al utilizar esta MPs, por lo cual los individuos no seran parecidos ni seestara forzando una generacion estandar de individuos.

Los valores de esta matriz varıan de acuerdo a valores de eficiencia, penalidadespor parte del empleado, etc. Estos valores influyen para que esta matriz tenga elementosdinamicos, lo que permitirıa una mayor aleatoriedad de los individuos a generarse en lapoblacion inicial.

Al modificar un elemento de la MPs los valores de la columna son afectados, de estaforma se recalcula la MPs para seguir cumpliendo la condicion de que los elementos deuna columna deben sumar 1. Para evitar el hecho de que un elemento pueda ser elegidovarias veces, se normalizara cada columna de la MPs.

4.2.5. Funcion de Evaluacion

El calculo de fitness del individuo se hara en base a la Ecuacion 4.5 utilizando valoresde la MPs.

f(x) =n∑

i=1

n∑

j=1

M(i, j) ∗ I(i, j) (4.5)

Ingenierıa Informatica - UCSP 55

Page 56: Modelo de un Algoritmo Genético con Selección Discriminatoria de

4.2. Caso de Estudio 2: Mejora de Calidad en Horarios de Empleados

donde:f(x): es la funcion de evaluacion.M : es la Matriz de Probabilidades.I: es el Individuo.

i, j: son las posiciones en la Matriz de Probabilidades y la matriz del Individuo.

Como previamente se ha definido, la MPs tiene una probabilidad por cada turnoposible de cada empleado. Entonces para calcular el fitness en funcion de la MPs se mul-tiplicara cada posicion de la MPs con la posicion del individuo, es decir si en el individuola posicion de turno esta seleccionada, el valor a multiplicar serıa 1, caso contrario 0. Enlas Figuras 4.29 y 4.30 se muestra un ejemplo basico de calculo de fitness con la MPs.

Figura 4.29: Ejemplo basico de un Horario y su respectiva Matriz de Preferencias.

Figura 4.30: Valores obtenidos despues de multiplicar posicion por posicion.

Con los valores obtenidos despues de la operacion de evaluacion del fitness se procedea sumar estos valores con lo que se obtendrıa el valor del fitness de 7.88.

Ingenierıa Informatica - UCSP 56

Page 57: Modelo de un Algoritmo Genético con Selección Discriminatoria de

CAPITULO 4. Casos de Estudio, Pruebas y Resultados

4.2.6. Parametros del Modelo

Para resolver este problema tomaremos en cuenta los parametros detallados en elCuadro 4.3.

Parametro Valor

Tamano de poblacion 448Probabilidad de cruzamiento 0.7Probabilidad inicial de mutacion 0.1Tamano de clase 4

Cuadro 4.3: Parametros Caso 2.

4.2.7. Resultados

Es interesante verificar el desempeno de este operador de SDI en el AG, a continua-cion en la Figura 4.31 se muestra la comparacion de los operadores de seleccion.

Figura 4.31: Comparacion entre Operadores de Seleccion.

Analizando la Figura 4.31 para los distintos operadores de seleccion se observa que eloperador de seleccion propuesto tiene una curva mejor definida en comparacion a los demasoperadores de seleccion, aunque no presente la misma rapidez de convergencia, mostrandouna caracterıstica exploratoria. La curva definida se da por el equilibrio entre exploraciony explotacion de las posibles soluciones. En la Figura 4.32 se observa la evaluacion de

Ingenierıa Informatica - UCSP 57

Page 58: Modelo de un Algoritmo Genético con Selección Discriminatoria de

4.2. Caso de Estudio 2: Mejora de Calidad en Horarios de Empleados

las distintas probabilidades de cruzamiento y mutacion para los operadores evolutivospropuestos.

Figura 4.32: Comparacion entre Probabilidades de Cruzamiento y Mutacion.

Las probabilidades optimas de cruzamiento y mutacion segun [Srinivas and Patnaik, 1994]son de 0.65 y 0.008, en la Figura 4.32 se observa que las probabilidad 0.7 y 0.1 son masoptimas para este caso de uso. Debido a que el operador de SDI separa en clases a la po-blacion de individuos, se realizaron pruebas con diferentes cantidades de poblacion parahallar la mejor y utilizarla como parametro del algoritmo (Vease Figura 4.33).

Figura 4.33: Comparacion entre diferente numero de Indidivuos en una Poblacion

Se observa que conforme el numero de individuos aumenta, tiende a encontrar unamejor solucion a nuestro problema hasta que llega al maximo de 448, despues de este nu-

Ingenierıa Informatica - UCSP 58

Page 59: Modelo de un Algoritmo Genético con Selección Discriminatoria de

CAPITULO 4. Casos de Estudio, Pruebas y Resultados

mero de individuos el maximo tiende a disminuir. Como parte de ese objetivo especıficotambien se propone un operador de cruzamiento y mutacion adecuado para nuestro ope-rador de seleccion propuesto. En la Figura 4.34 se observa la evaluacion de los distintosoperadores de cruzamiento y mutacion para encontrar el mas apropiado para la propuesta.

Figura 4.34: Comparacion entre Operadores de Cruzamiento y Mutacion

En la Figura 4.35 se observan los resultados al modificar el tamano de las clases ennuestro algoritmo. Se observa que mientras el tamano de la clase sea mayor, menor serasu eficiencia al momento de converger en la solucion de nuestro caso de uso.

Ingenierıa Informatica - UCSP 59

Page 60: Modelo de un Algoritmo Genético con Selección Discriminatoria de

4.2. Caso de Estudio 2: Mejora de Calidad en Horarios de Empleados

Figura 4.35: Comparacion entre diferentes tamanos de clase

A continuacion en la Figura 4.36 se muestra la evolucion de la calidad del horariogenerado conforme las generaciones son ejecutadas.

Figura 4.36: Optimizacion de la Calidad de un Horario.

Ingenierıa Informatica - UCSP 60

Page 61: Modelo de un Algoritmo Genético con Selección Discriminatoria de

Capıtulo 5

Conclusiones y Trabajos Futuros

Se modelo un nuevo operador de seleccion denominado operador de SDI, el cual estabasado en un EPPM. Adicionalmente se probo el nuevo operador con cuatro funcionesBenchmarking y un problema de mejora de calidad en los horarios de trabajo.

Analizando los resultados obtenidos, se comprueba que :

El operador de SDI propuesto en este trabajo de investigacion genera una curvadefinida independientemente del tamano de la poblacion.

Por los resultados obtenidos, se observa que este operador de SDI no converge masrapido que los demas operadores en una poblacion pequena por lo que muestra unacaracterıstica exploratoria.

Al incrementar el tamano de la poblacion. el operador de SDI tiende a mejorarconsiderablemente su eficiencia en cuanto a convergencia y el numero de generacionesa ejecutar para encontrar la solucion al problema atacado.

El operador de SDI muestra una curva de convergencia uniforme, es decir no tiene elproblema de la convergencia prematura. El esquema de ponderacion propuesto parala mutacion en este algoritmo ayuda a que se explore nuevas soluciones a costa de losindividuos menos aptos, este esquema ayuda a explorar en el espacio de busquedacuando el tamano de la poblacion sea pequena.

Si bien no existe otro modelo que utilice una estructura que almacene valores deproductividad o probabilidades para comparar los resultados de la calidad del hora-rio obtenido, se observa que la propuesta obtiene un horario que mejora la calidadde acuerdo a la MPs.

61

Page 62: Modelo de un Algoritmo Genético con Selección Discriminatoria de

5.1. Limitaciones

5.1. Limitaciones

Las probabilidades y operadores de cruzamiento y mutacion utilizados en este tra-bajo no siempre seran los mas optimos, esto varıa segun el problema a resolver. Si bien,conforme aumenta el tamano de poblacion el rendimiento del operador de SDI mejora.Cuando el espacio de busqueda de un problema es pequeno, el operador de SDI no muestrauna mejora significativa en comparacion con los operadores de seleccion existentes.

5.2. Trabajos futuros

En base a la propuesta del AG con el operador SDI y el EPPM que se propone en estetrabajo de investigacion. Para poder ser implementado en un contexto paralelo al quitarla dependencia entre las clases de la poblacion, un trabajo futuro es la implementacion deeste algoritmo en un contexto masivamente paralelo (GPU) utilizando una ArquitecturaMaster-Slave Global (AMSG).

Ingenierıa Informatica - UCSP 62

Page 63: Modelo de un Algoritmo Genético con Selección Discriminatoria de

Bibliografıa

[Abdullah and Turabieh, 2012] Abdullah, S. and Turabieh, H. (2012). On the use ofmulti neighbourhood structures within a tabu-based memetic approach to universitytimetabling problems. Information Sciences, 191:146–168.

[Beasley et al., 1993] Beasley, D., Bull, D. R., and Martin, R. R. (1993). An overview ofgenetic algorithms: Part 1, fundamentals.

[Blickle and Thiele, 1995] Blickle, T. and Thiele, L. (1995). A comparison of selectionschemes used in genetic algorithms. Technical report, Gloriastrasse 35, CH-8092 Zu-rich: Swiss Federal Institute of Technology (ETH) Zurich, Computer Engineering andCommunications Networks Lab (TIK.

[Broglio Carvalho et al., 2011] Broglio Carvalho, D., Nunes Bittencourt, J. C., andD’Martin Maia, T. (2011). The simple genetic algorithm performance: A comparativestudy on the operators combination. In INFOCOMP 2011, The First InternationalConference on Advanced Communications and Computation, pages 20–24.

[Cheng et al., 2012] Cheng, R., Yao, M., Xue, X., and Shen, B. (2012). Bisexual evolution:A novel bisexual evolutionary framework based on the fisher’s runaway process. InEvolutionary Computation (CEC), 2012 IEEE Congress on, pages 1–8.

[Digalakis and Margaritis, 2002] Digalakis, J. G. and Margaritis, K. G. (2002). On bench-marking functions for genetic algorithms. International Journal of Computer Mathe-matics, 79(4):403–416.

[Gestal, 2010] Gestal, M. (2010). Introduccion a los algoritmos geneticos.

[Geyer et al., 1999] Geyer, H., Ulbig, P., and Schulz, S. (1999). Use of evolutionary al-gorithms for the calculation of group contribution parameters in order to predict ther-modynamic properties: Part 2: Encapsulated evolution strategies. Computers and Che-mical Engineering, 23(7):955 – 973.

[Goh et al., 2003] Goh, K. S., Lim, A., and Rodrigues, B. (2003). Sexual selection forgenetic algorithms. Artificial Intelligence Review, 19(2):123–152.

[Goldberg, 1989] Goldberg, D. E. (1989). Genetic Algorithms in Search, Optimizationand Machine Learning. Addison-Wesley Longman Publishing Co., Inc., Boston, MA,USA, 1st edition.

63

Page 64: Modelo de un Algoritmo Genético con Selección Discriminatoria de

BIBLIOGRAFIA

[Grobner and Wilke, 2001] Grobner, M. and Wilke, P. (2001). Optimizing employee sche-dule by a hibrid genetic algorithm. Applications of Evolutionary Computing. LectureNotes in Computer Science (2001), pages 463–472.

[Holland, 1975] Holland, J. H. (1975). Adaptation in Natural and Artificial Systems. Uni-versity of Michigan Press, Ann Arbor, Michigan, first edition.

[Jadaan et al., 2008] Jadaan, O. A., Rajamani, L., and Rao, C. R. (2008). www.jatit.orgimproved selection operator for ga.

[Marczyk, 2004] Marczyk, A. (2004). Genetic algorithms and evolutionary computation.

[Michalewicz, 1996] Michalewicz, Z. (1996). Genetic algorithms + data structures = evo-lution programs (3rd ed.). Springer-Verlag, London, UK, UK.

[Montana et al., 1998] Montana, D., Brinn, M., Moore, S., and Bidwell, G. (1998). Ge-netic algorithms for complex, real-time scheduling. In Systems, Man, and Cybernetics.IEEE International Conference on (1998), pages 2213–2218.

[Morz and Nysret, 2004] Morz, M. and Nysret, M. (2004). Genetic algorithm for rotatingworkforce scheduling problem. In Computational Cybernetics, 2004. ICCC 2004. SecondIEEE International Conference (ICCC 2004), pages 121–126.

[Oladele and Sadiku, 2013] Oladele, R. O. and Sadiku, J. S. (2013). Article: Genetic algo-rithm performance with different selection methods in solving multi-objective networkdesign problem. International Journal of Computer Applications, 70(12):5–9. Publishedby Foundation of Computer Science, New York, USA.

[Razali and Geraghty, 2011] Razali, N. M. and Geraghty, J. (2011). Article: Genetic al-gorithm performance with different selection strategies in solving tsp. InternationalJournal of Computer ApplicationsProceedings of The World Congress on Engineering2011, 2:1134–1139.

[Rosenbrock, 1960] Rosenbrock, H. H. (1960). An automatic method for finding the grea-test or least value of a function.

[Rudolph, 1994] Rudolph, G. (1994). Convergence analysis of canonical genetic algo-rithms. Neural Networks, IEEE Transactions on, 5(1):96–101.

[Srinivas and Patnaik, 1994] Srinivas, M. and Patnaik, L. M. (1994). Adaptive probabi-lities of crossover and mutation in genetic algorithms. IEEE Transactions on Systems,Man and Cybernetics (1994).

[Tuttle, 1989] Tuttle, R. H. (1989). Arguments on evolution. a paleontologist’s perspec-tive. American Journal of Physical Anthropology, 80(3):405–406.

[Zhong et al., 2005] Zhong, J., Hu, X., Gu, M., and Zhang, J. (2005). Comparison ofperformance between different selection strategies on simple genetic algorithms. InComputational Intelligence for Modelling, Control and Automation, 2005 and Inter-national Conference on Intelligent Agents, Web Technologies and Internet Commerce,International Conference on, volume 2, pages 1115–1121.

Ingenierıa Informatica - UCSP 64

Page 65: Modelo de un Algoritmo Genético con Selección Discriminatoria de