Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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 Especcos . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.5. Organizaci on de la Tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2. Conceptos Previos 19
2.1. Algoritmo Genetico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1.1. Codicacion de Problemas . . . . . . . . . . . . . . . . . . . . . . . 21
2.1.2. Funci on de Evaluaci on . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2. Operadores Geneticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.1. Operadores de Cruzamiento . . . . . . . . . . . . . . . . . . . . . . 22
2.2.2. Operadores de Mutaci on . . . . . . . . . . . . . . . . . . . . . . . . 24
2.2.3. Operadores de Selecci on . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3. Consideraciones Finales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3. Propuesta 32
3.1. Esquema de Ponderaci on de Probabilidades de Mutaci on . . . . . . . . . . 33
3.2. Selecci on Descriminatoria de Individuos . . . . . . . . . . . . . . . . . . . . 35
7
INDICE GENERAL
4. Casos de Estudio, Pruebas y Resultados 38
4.1. Caso de Estudio 1: Funciones Benchmarking . . . . . . . . . . . . . . . . . 38
4.1.1. Denici on 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. Denici on 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. Funci on de Evaluaci on . . . . . . . . . . . . . . . . . . . . . . . . . 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
Bibliografa 64
Ingeniera Inform atica - UCSP 8
Indice de cuadros
3.1. Ejemplo del calculo de las probabilidades de mutaci on por clase donde
n : 16 y PMI : 0,1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.1. Par ametros Caso 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.2. Comparativo del n umero de generaciones que los operadores de Selecci on
necesitaron para converger en la funci on Schwegel. . . . . . . . . . . . . . . 49
4.3. Par ametros Caso 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
9
Indice de guras
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. Mutaci on para Representaci on de Orden. . . . . . . . . . . . . . . . . . . . 25
2.8. Ejemplo de la Selecci on de Ruleta. . . . . . . . . . . . . . . . . . . . . . . 26
2.9. Ejemplo de la Selecci on por Torneo. . . . . . . . . . . . . . . . . . . . . . . 27
2.10. Ejemplo de la probabilidad de eleccion de acuerdo al tness. . . . . . . . . 28
2.11. Ejemplo de la probabilidad de eleccion de acuerdo al ranking. . . . . . . . 28
2.12. Separacion de la poblaci on en hembras y machos. . . . . . . . . . . . . . . 30
2.13. Selecci on 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. Separaci on de la poblaci on en dos clases. . . . . . . . . . . . . . . . . . . . 35
3.4. Denir la probabilidad de mutaci on para cada clase. . . . . . . . . . . . . . 36
10
INDICE DE FIGURAS
3.5. Diferenciacion de machos y hembras en cada clase. . . . . . . . . . . . . . 36
3.6. Emparejamiento y producci on 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 Selecci on con una Poblaci on de 20 Indi-
viduos al evaluar la Funci on Step. . . . . . . . . . . . . . . . . . . . . . . . 41
4.5. Comparacion entre Operadores de Selecci on con una Poblacion de 100 In-
dividuos al evaluar la Funci on Step. . . . . . . . . . . . . . . . . . . . . . . 42
4.6. Comparacion entre Operadores de Selecci on con una Poblacion de 200 In-
dividuos al evaluar la Funci on Step. . . . . . . . . . . . . . . . . . . . . . . 42
4.7. Comparacion entre Operadores de Selecci on con una Poblacion de 400 In-
dividuos al evaluar la Funci on Step. . . . . . . . . . . . . . . . . . . . . . . 43
4.8. Comparacion entre Operadores de Selecci on con una Poblaci on de 20 Indi-
viduos al evaluar la Funci on Sphere. . . . . . . . . . . . . . . . . . . . . . . 43
4.9. Comparacion entre Operadores de Selecci on con una Poblacion de 100 In-
dividuos al evaluar la Funci on Sphere. . . . . . . . . . . . . . . . . . . . . . 44
4.10. Comparaci on entre Operadores de Selecci on con una Poblaci on de 200 In-
dividuos al evaluar la Funci on Sphere. . . . . . . . . . . . . . . . . . . . . . 44
4.11. Comparaci on entre Operadores de Selecci on con una Poblaci on de 400 In-
dividuos al evaluar la Funci on Sphere. . . . . . . . . . . . . . . . . . . . . . 45
4.12. Comparaci on entre Operadores de Selecci on con una Poblacion de 20 Indi-
viduos al evaluar la Funci on Rosenbrock. . . . . . . . . . . . . . . . . . . . 45
4.13. Comparaci on entre Operadores de Selecci on con una Poblaci on de 100 In-
dividuos al evaluar la Funci on Rosenbrock. . . . . . . . . . . . . . . . . . . 46
4.14. Comparaci on entre Operadores de Selecci on con una Poblaci on de 200 In-
dividuos al evaluar la Funci on Rosenbrock. . . . . . . . . . . . . . . . . . . 46
4.15. Comparaci on entre Operadores de Selecci on con una Poblaci on de 400 In-
dividuos al evaluar la Funci on Rosenbrock. . . . . . . . . . . . . . . . . . . 47
4.16. Comparaci on entre Operadores de Selecci on con una Poblacion de 20 Indi-
viduos al evaluar la Funci on Schwefel. . . . . . . . . . . . . . . . . . . . . . 47
Ingeniera Inform atica - UCSP 11
INDICE DE FIGURAS
4.17. Comparaci on entre Operadores de Selecci on con una Poblaci on de 100 In-
dividuos al evaluar la Funci on Schwefel. . . . . . . . . . . . . . . . . . . . . 48
4.18. Comparaci on entre Operadores de Selecci on con una Poblaci on de 200 In-
dividuos al evaluar la Funci on Schwefel. . . . . . . . . . . . . . . . . . . . . 48
4.19. Comparaci on entre Operadores de Selecci on con una Poblaci on de 400 In-
dividuos al evaluar la Funci on Schwefel. . . . . . . . . . . . . . . . . . . . . 49
4.20. Ejemplo tpico y b asico de un horario de empleados. . . . . . . . . . . . . . 50
4.21. Ejemplo b asico de un Horario Est atico en 2 periodos de tiempo. . . . . . . 50
4.22. Ejemplo b asico de un Horario Din amico en 2 periodos de tiempo donde los
casilleros sombreados indican la variacion entre periodo 1 y periodo 2. . . . 51
4.23. Esquema b asico del Individuo. . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.24. Selecci on de dos columnas aleatoriamente. . . . . . . . . . . . . . . . . . . 53
4.25. Exchange selected columns. . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.26. Selecci on mitad menos signicativa. . . . . . . . . . . . . . . . . . . . . . . 54
4.27. Mutaci on de turnos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.28. Ejemplo b asico de una Matriz de Preferencias. . . . . . . . . . . . . . . . . 55
4.29. Ejemplo b asico de un Horario y su respectiva Matriz de Preferencias. . . . 56
4.30. Valores obtenidos despues de multiplicar posici on por posicion. . . . . . . . 56
4.31. Comparaci on entre Operadores de Selecci on. . . . . . . . . . . . . . . . . . 57
4.32. Comparaci on entre Probabilidades de Cruzamiento y Mutaci on. . . . . . . 58
4.33. Comparaci on entre diferente n umero de Indidivuos en una Poblacion . . . 58
4.34. Comparaci on entre Operadores de Cruzamiento y Mutacion . . . . . . . . 59
4.35. Comparaci on entre diferentes tama nos de clase . . . . . . . . . . . . . . . . 60
4.36. Optimizacion de la Calidad de un Horario. . . . . . . . . . . . . . . . . . . 60
Ingeniera Inform atica - UCSP 12
Lista de algoritmos
1. Algoritmo Genetico Basico . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2. Pseudoc odigo Seleccion de Ruleta . . . . . . . . . . . . . . . . . . . . . . . 26
3. Pseudoc odigo Seleccion por Torneo . . . . . . . . . . . . . . . . . . . . . . 27
4. Pseudoc odigo Seleccion Basada en Ranking . . . . . . . . . . . . . . . . . . 29
5. Pseudoc odigo Seleccion Sexual . . . . . . . . . . . . . . . . . . . . . . . . . 31
6. Pseudoc odigo Seleccion Descriminatoria de Individuos . . . . . . . . . . . . 37
13
Captulo 1
Introducci on
Los Algoritmos Geneticos (AGs) son metodos de optimizacion [Goldberg, 1989] ba-
sados en el paradigma Neo-Darwiniano [Tuttle, 1989], como la vida biol ogica en nuestro
mundo que envuelve los mecanismos de reproducci on, mutacion, competici on y seleccion
natural. En la naturaleza los individuos de una poblacion compiten entre s en la b usque-
da de recursos tales como comida, agua y refugio. Incluso los miembros de una misma
especie compiten a menudo en la b usqueda de un compa nero para producir descendencia.
Aquellos individuos que tienen mas exito en sobrevivir y en atraer compa neros tienen
mayor probabilidad de generar un gran n umero de descendientes. Por el contrario, indivi-
duos poco dotados produciran un menor n umero de descendientes. Esto signica que los
genes de los individuos mejor adaptados se propagar an en sucesivas generaciones hacia un
n umero de individuos creciente. La combinacion de buenas caractersticas provenientes de
diferentes ancestros, puede a veces producir descendientes superindividuos, cuya adapta-
ci on es mucho mayor que la de cualquiera de sus ancestros. De esta manera, las especies
evolucionan logrando unas caractersticas cada vez mejor adaptadas al entorno en el que
viven. La Figura 1.1 muestra el ciclo basico evolucionario de un Algoritmo Genetico (AG)
con sus respectivos operadores.
Poblacin Inicial
Crear una poblacion
inicial de individuos
aleatorios
Evaluacin
Calcular las Iunciones
objetivo de los
candidatos
Asignar Aptitud
A partir de los valores de
de Iuncion objetivo de
los candidatos
Reproduccin
Crear nuevos individuos
usando mutacion y
recombinacion
Seleccin
Escoger los mejores
individuos para su
reproduccion
Figura 1.1: Ciclo b asico de un Algoritmo Genetico
El poder de los AGs proviene del hecho de que se trata de una tecnica robusta, y
pueden tratar con exito una gran variedad de problemas provenientes de diferentes areas,
14
CAP
ITULO 1. Introducci on
incluyendo aquellos en los que otros metodos encuentran dicultades. Si bien no se garan-
tiza que el AG encuentre la solucion optima del problema al nal de las iteraciones, existe
evidencia emprica de que se encuentran soluciones de un nivel aceptable, en un tiempo
competitivo con el resto de algoritmos de optimizaci on combinatoria y adem as en la lite-
ratura se encuentra un analisis matematico que muestra la convergencia al optimo global
para modelos con codicaciones binarias cuando se emplea elitismo [Rudolph, 1994].
Los AGs estan compuestos generalmente de dos procesos. El primer proceso es la selec-
ci on de individuos para la produccion de la siguiente generaci on y el segundo proceso es
la manipulacion de los individuos seleccionados para conformar la siguiente generacion
mediante las tecnicas de cruzamiento y mutaci on. El mecanismo de seleccion determina
cu ales son los individuos seleccionados para la reproducci on. El principio m as importante
de la estrategia de selecci on es mientras mejor sea el individuo, mayor es su probabilidad
de ser padre [Razali and Geraghty, 2011].
El mecanismo de seleccion reduce el area de b usqueda dentro de la poblaci on des-
cartando soluciones pobres, el mecanismo de selecci on debe dar la oportunidad a todos
los 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 la
siguiente generacion, y las buenas soluciones pasen a la siguiente generaci on con m as
frecuencia que las soluciones pobres. El mecanismo de selecci on debe ser elegido de tal
manera que la convergencia a la soluci on optima global este garantizada. Durante el desa-
rrollo de los AGs, muchas estrategias de selecci on han sido propuestas y utilizadas tales
como: Seleccion de Ruleta (SR), Seleccion por Torneo (ST) [Michalewicz, 1996], Selecci on
Basada 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 exploraci on y explotacion sin la inconveniencia del ajuste
de 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 que
el operador de ST obtiene un mejor rendimiento en cuanto a la calidad de la solucion en
comparaci on con la SR y la SBR. Adicionalmente se concluye que la ST es superior a la SR
y SBR en problemas de menor complejidad ya que se vuelve susceptible a la convergencia
prematura conforme la complejidad del problema se incrementa. Las comparaciones entre
los operadores de selecci on que se han realizado ayudan a comprender la relacion del t-
ness y la convergencia. Se concluye que la ST supera a la SBR en terminos de mantener la
presi on constante hacia la convergencia. En las investigaciones sobre los AGs para encon-
trar soluciones de problemas de distintas complejidades y de distintas areas, generalmente
se proponen operadores geneticos de cruzamiento y mutaci on, ademas de la funcion de
evaluaci on. Debido a que estos operadores se centran en explorar el espacio de b usqueda,
nace la necesidad de denir un nuevo operador de selecci on que ayude a explotar mejor el
espacio de b usqueda, es decir, de utilizar todas las soluciones independientemente de su
Ingeniera Inform atica - UCSP 15
1.2. Estado del Arte
calidad. Debido a que el rendimiento de un AG es evaluada en terminos de convergencia
y el n umero de generaciones necesarias para hallar el optimo global, este nuevo opera-
dor debe tener una convergencia uniforme, descartando la convergencia prematura as la
rapidez en alcanzar el optimo global.
1.2. Estado del Arte
Varias investigaciones han estudiado el rendimiento de los AGs usando diferentes
estrategias de selecci on. El rendimiento de los AGs es usualmente evaluada en terminos
de convergencia y n umero de generaciones hasta alcanzar el optimo global.
En el trabajo de investigaci on de [Jadaan et al., 2008] se comparan los resutados
de los operadores de SR y SBR usando varias funciones de optimizaci on matem atica y
determin o que la SBR super o a la SR en cuanto al menor uso de generaciones para hallar
la solucion optima. Observ o que la SBR es m as estable y mas rapida que la SR.
Por otro lado, [Zhong et al., 2005] compara la SR con la ST, con siete funciones de
prueba y concluy o que el algoritmo con la ST es m as eciente en la convergencia que la
SR.
En el trabajo de investigaci on de [Goh et al., 2003] se propone un operador de se-
leccion denominado SS, el cual se inspira en el concepto de selecci on sexual propuesto por
Darwin, y compara este operador con diferentes metodos de selecci on. Se concluye con
que el operador de seleccion propuesto tiene un rendimiento ya sea igual o mejor que la
SR. 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 de
Seleccion Bisexual, en donde se propone dividir la poblaci on de individuos en hembras
y machos. Esta propuesta tiende a modicar las preferencias de emparejamiento de los
machos y hembras al punto de que puedan elegir reproducirse con alguien de su mismo
genero. Esto debido a que a veces en la poblaci on generada no habr a un n umero equitativo
de machos y hembras.
Finalmente, en el trabajo de investigaci on de [Razali and Geraghty, 2011] se presen-
ta la comparacion del rendimiento del AG al resolver el problema del vendedor viajero
utilizando 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 comparaci on con la
SR y la SBR. Se determina tambien que la ST es superior a la SR y SBR en problemas
peque nos porque se vuelve susceptible a la convergencia prematura conforme el tama no
del problema se incrementa.
Los trabajos de investigaci on mencionados se han realizado para comprender la
relacion del tness y la convergencia. Se concluy o que la ST supera a la SBR en terminos
de mantener la presi on constante hacia la convergencia. El operador propuesto se basa en
la estructura del operador de SS [Goh et al., 2003]. Los operadores de seleccion a utilizar
Ingeniera Inform atica - UCSP 16
CAP
ITULO 1. Introducci on
para comparar la propuesta ser an los usados en los distintos trabajos de investigacion, los
cuales son: ST, SR, SBR y la SS.
1.3. Planteamiento del Problema
Generalmente, los operadores de cruzamiento y la mutaci on exploran el espacio de
b usqueda, mientras que la selecci on reduce el area de b usqueda dentro de la poblaci on
descartando 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 a
material genetico util. Un par ametro crtico en el AG es la presi on de selecci on, que es el
proceso de selecci on que selecciona a los individuos mas aptos para la reproduccion. Si la
presi on de selecci on es demasiada baja, entonces la tasa de convergencia hacia la soluci on
optima ser a demasiada lenta. Si la presi on de seleccion es demasiada alta, es probable
que el AG se quede atrapado en un optimo local debido a la falta de diversidad en la
poblaci on [Oladele and Sadiku, 2013]. Una buena tecnica de b usqueda debe encontrar un
buen equilibrio entre la exploraci on y la explotaci on con el n de encontrar un optimo
global [Beasley et al., 1993]. Por lo tanto, es importante encontrar un equilibrio entre la
exploraci on (es decir, soluciones pobres deben tener la oportunidad de ir a la siguiente
generacion) y explotaci on (es decir, las buenas soluciones pasan a la siguiente generaci on
con mas frecuencia que las soluciones pobres) dentro del mecanismo de la selecci on. Cada
estrategia de selecci on utilizada en el proceso de un AG afectar a signicativamente el
rendimiento del algoritmo de una forma diferente. El mecanismo de selecci on debe ser
elegido de tal manera que la convergencia a la solucion optima global este garantizada.
Adem as el proceso de seleccion debido a que es el proceso mas costoso de un AG debe
poseer una caracterstica que lo haga paralelizable para as reducir considerablemente el
tiempo y costo de procesamiento.
1.4. Objetivos
El objetivo principal de esta investigacion es proponer y evaluar un nuevo operador
de selecci on basado en la Selecci on Sexual para un Algoritmo Genetico (AG) el cual
adicionalmente implementa un esquema de probabilidades de mutaci on.
1.4.1. Objetivos Especcos
Los objetivos especcos de esta investigaci on son:
Modelar un nuevo operador de selecci on.
Modelar un esquema de probabilidades de mutacion.
Ingeniera Inform atica - UCSP 17
1.5. Organizacion de la Tesis
Probar el Algoritmo Genetico (AG) con el nuevo operador en un problema de mejora
de 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 Captulo 2 presenta los conceptos previos sobre AGs y Estrategias de Selecci on
(ES).
El Captulo 3 contiene una descripci on de la propuesta del nuevo operador de selec-
ci on
El Captulo 4 dene los casos de uso a utilizar con sus respectivos experimentos.
Finalmente, en el captulo 5 se mencionan las conclusiones, limitaciones y trabajos
futuros correspondientes a este trabajo de investigacion.
Ingeniera Inform atica - UCSP 18
Captulo 2
Conceptos Previos
En este captulo se especican conceptos que son necesarios para la realizacion de
la propuesta, primeramente se denen a los AGs, seguido de los operadores de selecci on
existentes.
2.1. Algoritmo Genetico
Los AGs son metodos adaptativos que pueden usarse para resolver problemas de
b usqueda y optimizaci on. Est an basados en el proceso genetico de los organismos vivos
[Holland, 1975]. A lo largo de las generaciones, las poblaciones evolucionan en la naturaleza
acorde con los principios de la seleccion natural y la supervivencia de los mas fuertes, los
AGs son capaces de ir creando soluciones para problemas del mundo real. La evolucion de
dichas soluciones hacia valores optimos del problema depende en buena medida de una
adecuada codicaci on de las mismas.
M as formalmente, y siguiendo la denici on dada por Goldberg, Los Algoritmos
Geneticos son algoritmos de b usqueda basados en la mecanica de seleccion natural y de la
genetica natural. Combinan la supervivencia del mas apto entre estructuras de secuencias
con un intercambio de informacion estructurado, aunque aleatorizado, para constituir as
un algoritmo de b usqueda que tenga algo de las genialidades de las b usquedas humanas
[Goldberg, 1989].
Los AGs usan una analoga directa con el comportamiento natural. Trabajan con
una poblacion de individuos, cada uno de los cuales representa una solucion factible a un
problema dado. Luego el AG eval ua cada candidata de acuerdo con la funci on de aptitud.
En un acervo de candidatas generadas aleatoriamente, por supuesto, la mayora no funcio-
nar an en absoluto, y seran eliminadas. Sin embargo, por puro azar, unas pocas pueden ser
prometedoras, aunque s olo sea actividad debil e imperfecta, hacia la soluci on del problema
[Marczyk, 2004]. En la naturaleza esto equivaldra al grado de efectividad de un organis-
mo para competir por unos determinados recursos. Cuanto mayor sea la adaptaci on de
19
2.1. Algoritmo Genetico
un individuo al problema, mayor ser a la probabilidad de que el mismo sea seleccionado
para reproducirse, cruzando su material genetico con otro individuo seleccionado de igual
forma. En la Figura 2.1 se muestra el modelo b asico del AG.
f()
Reproduccion Nueva poblacion
de descendientes
Evaluacion de
la descendencia
Evolucion
Seleccion de
Progenitores
Cruce
Mutacion
Individuo genotipo tness
x
1
100100 1296
x
2
010010 324
x
3
010110 484
x
4
000001 1
Figura 2.1: Esquema b asico de un Algoritmo Genetico.
Durante la ejecucion del algoritmo, los padres deben ser seleccionados para la repro-
ducci on, a continuaci on dichos padres seleccionados se cruzaran generando dos hijos, sobre
cada uno de los cuales actuar a un operador de mutacion. El resultado de la combinacion
de las anteriores funciones sera un conjunto de individuos, los cuales en la evolucion del
AG formaran parte de la siguiente poblacion. A continuaci on se muestra un pseudoc odigo
de un AG basico.
Algoritmo 1 Algoritmo Genetico Basico
generar una poblaci on inicial
evaluacion de tness de cada individuo
mientras condici on de n = falso hacer
para tama no poblacion / 2 hacer
seleccionar dos individuos de la anterior generacion para cruzamiento
cruzar los dos individuos obteniendo dos descendientes
mutar los dos individuos descendientes
evaluar tness de los dos individuos descendientes
insertar los dos descendientes en la nueva generaci on
n para
si poblaci on ha convergido entonces
Terminado := TRUE
n si
n mientras
Ingeniera Inform atica - UCSP 20
CAP
N
j=1
f
j
(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 Figura
2.8)
Figura 2.8: Ejemplo de la Selecci on de Ruleta.
A continuaci on se muestra el pseudoc odigo del procedimiento del operador de SR.
Algoritmo 2 Pseudoc odigo Seleccion de Ruleta
Generar el valor de n con un valor de 0
mientras tama no de la poblacion >n hacer
Generar el n umero aleatorio r
Calcular el tness acumulado, tness total (P
t
), y la suma del tness proporcional
(SUM)
si SUM <r entonces
Seleccionar el primer cromosoma, de otra manera, seleccionar el i-esimo cromo-
soma
n si
Incrementar el valor de n en una unidad
n mientras
Devolver los cromosomas con valores de tness proporcionales al tama no de la secci on
de la ruleta seleccionada
Ingeniera Inform atica - UCSP 26
CAP
ITULO 3. Propuesta
Figura 3.2: Esquema de los pasos del operador propuesto.
Adicionalmente al operador de seleccion, se propone un esquema de probabilidades
de mutacion que sera utilizado por el operador para asignar las probabilidades de mutaci on
a sus diversas clases. Los puntos contenidos en este captulo son los siguientes:
1. Esquema de Ponderaci on de Probabilidades de Mutacion
2. Operador de Seleccion Discriminatoria de Individuos
3.1. Esquema de Ponderacion de Probabilidades de
Mutaci on
Debido a que el operador de selecci on propuesto divide la poblaci on en clases de-
pendiendo de su aptitud, se agrega un esquema donde las probabilidades de mutaci on en
la poblaci on varan dependiendo a que clase pertenecen los individuos. La clase m as alta
posee una probabilidad base inicial de mutaci on mientras que las dem as clases van aumen-
tando su probabilidad en incrementos constantes de tal forma que la ultima clase tiene
Ingeniera Inform atica - UCSP 33
3.1. Esquema de Ponderaci on de Probabilidades de Mutacion
una probabilidad de mutacion de 1. Este aumento de probabilidad se calcula utilizando
la Ecuacion 3.1.
k =
1 PM
0
(n 1)
(3.1)
donde:
n: es el n umero de clases.
PM
0
: es la probabilidad inicial de mutaci on.
k: es el incremento de probabilidad por cada clase.
En el Cuadro 3.1 se muestra un ejemplo de la variaci on de las probabilidad de
mutacion al aplicar la Ecuaci on 3.1 con una probabilidad inicial de 0.10 y un n umero de
16 clases. El valor de k es de 0.06.
Clase Probabilidad
1 0.10
2 0.16
3 0.22
4 0.28
5 0.34
6 0.40
7 0.46
8 0.52
9 0.58
10 0.64
11 0.70
12 0.76
13 0.82
14 0.88
15 0.94
16 1.00
Cuadro 3.1: Ejemplo del calculo de las probabilidades de mutacion por clase donde n : 16
y PMI : 0,1.
Con este esquema se garantiza que las clases m as bajas tengan la oportunidad de
generar descendientes con buen tness, es decir, la alta probabilidad de mutacion ayuda
a explorar el espacio de b usqueda y no solo centrarse en los individuos que pertenecen a
las clases m as altas.
Este esquema elimina la dependencia entre clases al realizar operaciones, un proble-
ma en los operadores de selecci on cl asicos. Al eliminar esta dependencia ayuda a que el
AG pueda ser paralelizable.
Ingeniera Inform atica - UCSP 34
CAP
ITULO 3. Propuesta
3.2. Seleccion Descriminatoria de Individuos
Debido a que surge la necesidad de explotar todos los elementos del espacio de
b usqueda, este operador utiliza el Esquema de Ponderacion de Probabilidades de Muta-
ci on (EPPM) para asignar probabilidades de mutaci on a todos los individuos. Al asignar
diferentes probabilidades de mutacion a las distintas clases generadas, se garantiza que
los individuos pobres tengan la posibilidad de generar un descendiente bueno.
Este operador de seleccion divide la poblaci on en clases de acuerdo a su tness.
Juntando a los mejores individuos con los mejores individuos y a los peores individuos con
los peores individuos. Con la separaci on de la poblaci on en clases, se elimina la dependencia
entre clases. Al eliminar esta dependencia el algoritmo puede ser implementado en un
contexto paralelo. Adicionalmente, este operador se basa en la estructura del operador de
selecci on sexual [Goh et al., 2003]. La Seleccion Discriminatoria de Individuos (SDI) se
compone principalmente en los siguientes pasos:
1. Separar poblaci on en clases de acuerdo a su aptitud.
2. Denir probabilidad de mutaci on 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 continuaci on se mostrara un ejemplo gr aco de la SDI ilustrado en las Figuras
3.3, 3.4, 3.5 y 3.6.
Figura 3.3: Separacion de la poblaci on en dos clases.
Ingeniera Inform atica - UCSP 35
3.2. Selecci on Descriminatoria de Individuos
Figura 3.4: Denir la probabilidad de mutaci on para cada clase.
Figura 3.5: Diferenciacion de machos y hembras en cada clase.
Figura 3.6: Emparejamiento y producci on de descendencia.
A continuaci on se muestra el pseudoc odigo del procedimiento del operador de SSI!
(SSI!).
Ingeniera Inform atica - UCSP 36
CAP
ITULO 3. Propuesta
Algoritmo 6 Pseudoc odigo Seleccion Descriminatoria de Individuos
Ordenar la poblaci on de acuerdo a su aptitud
Generar el valor del tama no de clase
Separar la poblaci on en clases de acuerdo a su aptitud
mientras cantidad de clases >0 hacer
Denir probabilidad de mutaci on para cada clase
Separar los individuos de la clase en machos y hembras de acuerdo a su tness
Calcular el tness acumulado, tness total (P
t
) por cada clase
Generar el valor n con valor de tama no de la clase / 2
n mientras
mientras n >0 hacer
Seleccionar hembra no emparejada
Seleccionar macho para emparejar de acuerdo a su tness
Decrementar el valor de n en una unidad
n mientras
Devolver las parejas formadas por los inviduos de acuerdo al proceso de seleccion
Este operador de seleccion permitir a dividir la poblacion en clases de acuerdo a su
aptitud, lo que permitira 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 clases
y se incrementa conforme se clasican los dem as individuos. Ademas permitira utilizar
paralelismo para disminuir el costo de c alculo de soluciones.
Ingeniera Inform atica - UCSP 37
Captulo 4
Casos de Estudio, Pruebas y
Resultados
Con la propuesta ya denida en el captulo anterior se procede a realizar los expe-
rimentos y an alisis de los resultados obtenidos. Para las pruebas se tendr an dos casos de
uso, 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 funciones
Benchmarking. Digalakis [Digalakis and Margaritis, 2002] resume un conjunto de funcio-
nes Benchmarking. En este conjunto, se seleccionan cuatro funciones, para llevar a cabo
el estudio propuesto, las cuales se mencionan a continuaci on:
Funci on Step : es la representante de la problem atica de las supercies planas,
las cu ales son obst aculos para los algoritmos de optimizaci on debido a que no dan
informaci on acerca de que direccion es favorable para realizar la b usqueda. Su optimo
global es 0.
f
1
=
n
i=1
|x
i
| donde : 5, 12 x
i
5, 12 (4.1)
Funci on Sphere : funcion parab olica, convexa lisa, unimodal, simetrica, y cuya con-
vergencia para el optimo global se consigue facilmente. Su optimo global es 0.
f
2
=
n
i=1
x
2
i
donde : 5, 12 x
i
5, 12 (4.2)
38
CAP
i=1
(x
i
sin(
|x
i
|)) donde : 500 x
i
500 (4.4)
Este subconjunto de funciones contiene caractersticas importantes que sirven para
resolver problemas de optimizacion, tales como: suavidad, unimodalidad, multimodalidad,
una supercie plana, y tambien muchos optimos locales [Broglio Carvalho et al., 2011].
4.1.1. Denicion del Individuo
Dado que se trabaja con valores enteros, el individuo se representa como un arreglo
binario. (Vease Figura 4.1)
Figura 4.1: Ejemplo basico del Individuo.
4.1.2. Operador de Cruzamiento
El operador de cruzamiento a utilizar seg un [Digalakis and Margaritis, 2002] es el
cruzamiento uniforme que consiste en la generacion aleatoria de una m ascara de cruce con
valores binarios [Gestal, 2010]. Si en una de las posiciones de la mascara hay un 1, el gen
situado en esa posici on en uno de los descendientes se copia del primer padre. Si por el
contrario hay un 0 el gen se copia del segundo padre. Para producir el segundo descendiente
se intercambian los papeles de los padres, o bien se intercambia la interpretacion de los
unos y ceros de la m ascara de cruce tal como se puede apreciar en la Figura 4.2.
Ingeniera Inform atica - UCSP 39
4.1. Caso de Estudio 1: Funciones Benchmarking
Individuo 1 Individuo 2
Hijo 1
Hijo 2
Individuo 1 Individuo 2
Figura 4.2: Cruce Uniforme.
4.1.3. Operador de Mutaci on
El operador de mutaci on a utilizar seg un [Digalakis and Margaritis, 2002] es el re-
emplazo aleatorio el cual consiste en variar aleatoriamente un gen de un cromosoma, como
el individuo es un arreglo de bits se modica 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 par ametros detallados en
el Cuadro 4.1. Se consideran las probabilidades de cruzamiento y mutacion dadas por
[Srinivas and Patnaik, 1994]. En los resultados el parametro que vara es el tama no de la
poblaci on, debido a que es el unico parametro que afecta los resultados de los experimentos.
La utilizaci on de estos valores como parametros son especicados por [Digalakis and Margaritis, 2002].
Ingeniera Inform atica - UCSP 40
CAP
i=1
n
j=1
M(i, j) I(i, j) (4.5)
Ingeniera Inform atica - UCSP 55
4.2. Caso de Estudio 2: Mejora de Calidad en Horarios de Empleados
donde:
f(x): es la funci on de evaluaci on.
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 denido, la MPs tiene una probabilidad por cada turno
posible de cada empleado. Entonces para calcular el tness en funci on de la MPs se mul-
tiplicar a cada posici on de la MPs con la posici on del individuo, es decir si en el individuo
la posici on de turno esta seleccionada, el valor a multiplicar sera 1, caso contrario 0. En
las Figuras 4.29 y 4.30 se muestra un ejemplo basico de c alculo de tness con la MPs.
Figura 4.29: Ejemplo b asico de un Horario y su respectiva Matriz de Preferencias.
Figura 4.30: Valores obtenidos despues de multiplicar posici on por posicion.
Con los valores obtenidos despues de la operaci on de evaluaci on del tness se procede
a sumar estos valores con lo que se obtendra el valor del tness de 7.88.
Ingeniera Inform atica - UCSP 56
CAP
IA
[Grobner and Wilke, 2001] Grobner, M. and Wilke, P. (2001). Optimizing employee sche-
dule by a hibrid genetic algorithm. Applications of Evolutionary Computing. Lecture
Notes in Computer Science (2001), pages 463472.
[Holland, 1975] Holland, J. H. (1975). Adaptation in Natural and Articial Systems. Uni-
versity of Michigan Press, Ann Arbor, Michigan, rst edition.
[Jadaan et al., 2008] Jadaan, O. A., Rajamani, L., and Rao, C. R. (2008). www.jatit.org
improved 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 22132218.
[Morz and Nysret, 2004] Morz, M. and Nysret, M. (2004). Genetic algorithm for rotating
workforce scheduling problem. In Computational Cybernetics, 2004. ICCC 2004. Second
IEEE International Conference (ICCC 2004), pages 121126.
[Oladele and Sadiku, 2013] Oladele, R. O. and Sadiku, J. S. (2013). Article: Genetic algo-
rithm performance with dierent selection methods in solving multi-objective network
design problem. International Journal of Computer Applications, 70(12):59. Published
by Foundation of Computer Science, New York, USA.
[Razali and Geraghty, 2011] Razali, N. M. and Geraghty, J. (2011). Article: Genetic al-
gorithm performance with dierent selection strategies in solving tsp. International
Journal of Computer ApplicationsProceedings of The World Congress on Engineering
2011, 2:11341139.
[Rosenbrock, 1960] Rosenbrock, H. H. (1960). An automatic method for nding 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):96101.
[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 paleontologists perspec-
tive. American Journal of Physical Anthropology, 80(3):405406.
[Zhong et al., 2005] Zhong, J., Hu, X., Gu, M., and Zhang, J. (2005). Comparison of
performance between dierent selection strategies on simple genetic algorithms. In
Computational 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 11151121.
Ingeniera Inform atica - UCSP 64