• No se han encontrado resultados

Generarel valor del tama˜no de clase

Separarla poblaci´on en clases de acuerdo a su aptitud mientras cantidad de clases >0 hacer

Definir probabilidad de mutaci´on para cada clase

Separar los individuos de la clase en machos y hembras de acuerdo a su fitness Calcular el fitness acumulado, fitness total (Pt) por cada clase

Generar el valor n con valor de tama˜no de la clase / 2 fin mientras

mientras n >0 hacer

Seleccionar hembra no emparejada

Seleccionar macho para emparejar de acuerdo a su fitness Decrementar el valor de n en una unidad

fin mientras

Devolverlas parejas formadas por los inviduos de acuerdo al proceso de selecci´on

Este operador de selecci´on permitir´a dividir la poblaci´on en clases de acuerdo a su aptitud, 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 m´as baja en las mejores clases y se incrementa conforme se clasifican los dem´as individuos. Adem´as permitir´ıa utilizar paralelismo para disminuir el costo de c´alculo de soluciones.

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 an´alisis de los resultados obtenidos. Para las pruebas se tendr´an dos casos de uso, los cuales se detallan a continuaci´on:

4.1.

Caso de Estudio 1: Funciones Benchmarking

Para la obtenci´on 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 superficies planas, las cu´ales son obst´aculos para los algoritmos de optimizaci´on debido a que no dan informaci´on acerca de que direcci´on es favorable para realizar la b´usqueda. Su ´optimo global es 0. f1 = n X i=1 |xi| donde : −5, 12 ≤ xi ≤ 5, 12 (4.1)

Funci´on Sphere : funci´on parab´olica, convexa lisa, unimodal, sim´etrica, y cuya con- vergencia para el ´optimo global se consigue f´acilmente. Su ´optimo global es 0.

f2 = n X i=1 x2 i donde : −5, 12 ≤ xi ≤ 5, 12 (4.2)

CAP´ITULO 4. Casos de Estudio, Pruebas y Resultados

Funci´on Rosenbrock: considerada de alto nivel de dificultad. Es una funci´on no convexa usada para realizar pruebas de rendimiento para algoritmos de optimizaci´on definida por Howard H. Rosenbrock en 1960 [Rosenbrock, 1960]. Su ´optimo global es 0. f3 = 100(x 2 1− x2) 2 + (1 − x1) 2 donde : −2, 048 ≤ xi ≤ 2, 048 (4.3)

Funci´on Schwefel: es una funci´on multimodal compleja, es decir, tiene varios ´optimos locales y solo un ´optimo global. Su ´optimo global es 837.966.

f4 = n X i=1 (−xisin( q |xi|)) donde: −500 ≤ xi ≤ 500 (4.4)

Este subconjunto de funciones contiene caracter´ısticas importantes que sirven para resolver problemas de optimizaci´on, tales como: suavidad, unimodalidad, multimodalidad, una superficie plana, y tambi´en muchos ´optimos locales [Broglio Carvalho et al., 2011].

4.1.1.

Definici´on del Individuo

Dado que se trabaja con valores enteros, el individuo se representa como un arreglo binario. (V´ease Figura 4.1)

Figura 4.1: Ejemplo b´asico 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 generaci´on aleatoria de una m´ascara de cruce con valores binarios [Gestal, 2010]. Si en una de las posiciones de la m´ascara 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 interpretaci´on de los unos y ceros de la m´ascara de cruce tal como se puede apreciar en la Figura 4.2.

4.1. Caso de Estudio 1: Funciones Benchmarking

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 modifica el 1 por el 0 o viceversa. (V´ease Figura 4.3)

Figura 4.3: Reemplazo Aleatorio.

4.1.4.

Par´ametros 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 mutaci´on dadas por [Srinivas and Patnaik, 1994]. En los resultados el par´ametro que var´ıa es el tama˜no de la poblaci´on, debido a que es el ´unico par´ametro que afecta los resultados de los experimentos.

CAP´ITULO 4. Casos de Estudio, Pruebas y Resultados

Par´ametro Valor Tama˜no de poblaci´on 20, 100, 200, 400 Probabilidad de cruzamiento 0.65 Probabilidad inicial de mutaci´on 0.008

Cuadro 4.1: Par´ametros Caso 1.

4.1.5.

Resultados

Primeramente se muestran los resultados obtenidos al evaluar la funci´on Step con los diferentes tama˜nos de poblaci´on. En la Figura 4.4 se observa que si bien la SDI no es la m´as r´apida en converger a su ´optimo global, posee una curva bien definida. Hay que considerar que para este experimento se utiliz´o un valor entero de 5000 al que se le restaba el resultado hallado por el AG, esto se realiz´o solo con el objetivo de visualizar la curva generada. En la Figura 4.5 se observa una convergencia m´as r´apida por parte de los operadores de selecci´on utilizados. En la Figura 4.6 se muestra que la curva de la SDI junto con la ST, la cual ven´ıa siendo el operador que converg´ıa m´as r´apido, convergen antes que los dem´as operadores. Finalmente se observa que en la Figura 4.7 la SDI converge m´as r´apido a su ´optimo global que los dem´as operadores mostrando una curva bien definida.

Figura 4.4: Comparaci´on entre Operadores de Selecci´on con una Poblaci´on de 20 Indivi- duos al evaluar la Funci´on Step.

4.1. Caso de Estudio 1: Funciones Benchmarking

Figura 4.5: Comparaci´on entre Operadores de Selecci´on con una Poblaci´on de 100 Indivi- duos al evaluar la Funci´on Step.

Figura 4.6: Comparaci´on entre Operadores de Selecci´on con una Poblaci´on de 200 Indivi- duos al evaluar la Funci´on Step.

CAP´ITULO 4. Casos de Estudio, Pruebas y Resultados

Figura 4.7: Comparaci´on entre Operadores de Selecci´on con una Poblaci´on de 400 Indivi- duos al evaluar la Funci´on Step.

A continuaci´on se muestran los resultados obtenidos al evaluar la funci´on Sphere. En la Figura 4.8 se observa que la curva del operador de SS converge m´as r´apido que los dem´as operadores siendo seguida del operador de SDI. En la Figura 4.9 se observa que la curva del operador de ST converge m´as r´apido que los dem´as operadores. Finalmente se muestra en las Figura 4.10 y 4.11 que el operador de SDI converge m´as r´apido que los dem´as operadores.

Figura 4.8: Comparaci´on entre Operadores de Selecci´on con una Poblaci´on de 20 Indivi- duos al evaluar la Funci´on Sphere.

4.1. Caso de Estudio 1: Funciones Benchmarking

Figura 4.9: Comparaci´on entre Operadores de Selecci´on con una Poblaci´on de 100 Indivi- duos al evaluar la Funci´on Sphere.

Figura 4.10: Comparaci´on entre Operadores de Selecci´on con una Poblaci´on de 200 Indi- viduos al evaluar la Funci´on Sphere.

CAP´ITULO 4. Casos de Estudio, Pruebas y Resultados

Figura 4.11: Comparaci´on entre Operadores de Selecci´on con una Poblaci´on de 400 Indi- viduos al evaluar la Funci´on Sphere.

Los resultados obtenidos al ejecutar la funci´on de Rosenbrock con los diferentes tama˜nos de poblaci´on se muestran a continuaci´on. En la Figura 4.12 se observa que la convergencia de la SDI es menor a los dem´as operadores de selecci´on exceptuando al operador de SR. En la Figura 4.13 se observa que la convergencia del operador de SDI es mejor que los dem´as operadores de selecci´on as´ı como tambi´en alcanza su ´optimo global en menos generaciones que los dem´as operadores. En la Figura 4.14 tambi´en se observa una m´as r´apida convergencia hacia su ´optimo global. En la Figura 4.15 se observa que la convergencia del operador de SDI es m´as r´apido de los dem´as operadores de selecci´on y se reafirma el hecho de que el operador halla el ´optimo global en menos generaciones.

Figura 4.12: Comparaci´on entre Operadores de Selecci´on con una Poblaci´on de 20 Indivi- duos al evaluar la Funci´on Rosenbrock.

4.1. Caso de Estudio 1: Funciones Benchmarking

Figura 4.13: Comparaci´on entre Operadores de Selecci´on con una Poblaci´on de 100 Indi- viduos al evaluar la Funci´on Rosenbrock.

Figura 4.14: Comparaci´on entre Operadores de Selecci´on con una Poblaci´on de 200 Indi- viduos al evaluar la Funci´on Rosenbrock.

CAP´ITULO 4. Casos de Estudio, Pruebas y Resultados

Figura 4.15: Comparaci´on entre Operadores de Selecci´on con una Poblaci´on de 400 Indi- viduos al evaluar la Funci´on Rosenbrock.

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

Figura 4.16: Comparaci´on entre Operadores de Selecci´on con una Poblaci´on de 20 Indivi- duos al evaluar la Funci´on Schwefel.

4.1. Caso de Estudio 1: Funciones Benchmarking

Figura 4.17: Comparaci´on entre Operadores de Selecci´on con una Poblaci´on de 100 Indi- viduos al evaluar la Funci´on Schwefel.

Figura 4.18: Comparaci´on entre Operadores de Selecci´on con una Poblaci´on de 200 Indi- viduos al evaluar la Funci´on Schwefel.

CAP´ITULO 4. Casos de Estudio, Pruebas y Resultados

Figura 4.19: Comparaci´on entre Operadores de Selecci´on con una Poblaci´on de 400 Indi- viduos al evaluar la Funci´on Schwefel.

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

Operador de Selecci´on Generaci´on de convergencia 400 Ind 200 Ind 100 Ind Selecci´on por Torneo 356 510 535

Selecci´on de Ruleta 418 574 –

Selecci´on Sexual 327 391 562

Selecci´on Basada en Ranking 333 551 567 Selecci´on Discriminatoria de Individuos 241 275 421

Cuadro 4.2: Comparativo del n´umero de generaciones que los operadores de Selecci´on necesitaron para converger en la funci´on Schwegel.

Se observa que con esta funci´on multimodal la SR no llega a converger, por otro lado se muestra que la SDI converge m´as r´apido que los dem´as operadores.

4.2.

Caso de Estudio 2: Mejora de Calidad en Hora-

rios de Empleados

Un problema adicional abarcado en este trabajo de investigaci´on es la mejora de calidad de un horario de trabajo cuyo tema es abarcado en varios trabajos de investigaci´on

4.2. Caso de Estudio 2: Mejora de Calidad en Horarios de Empleados utilizando diferentes formas de nombrarlo. Los t´erminos m´as utilizados son: workforce scheduling, manpower scheduling, staff scheduling, employee timetabling, crew scheduling [Morz and Nysret, 2004]. La asignaci´on de un horario de trabajo a los empleados consiste en adjudicar a los empleados turnos de trabajo en un periodo previamente definido. En la Figura 4.20 se muestra un ejemplo de un horario b´asico utilizado generalmente por diversas empresas e instituciones, en este ejemplo el periodo es de 7 d´ıas.

Figura 4.20: Ejemplo t´ıpico y b´asico de un horario de empleados.

Existen b´asicamente dos tipos de horarios de trabajo: a) los horarios est´aticos, los cuales no var´ıan en los diferentes periodos de tiempo y b) los horarios din´amicos que s´ı var´ıan en cada periodo de tiempo.

A continuaci´on en las Figuras 4.21 y 4.22 se muestran dos ejemplos b´asicos de horarios din´amicos y est´aticos cuyo periodo es de 7 d´ıas.

CAP´ITULO 4. Casos de Estudio, Pruebas y Resultados

Figura 4.22: Ejemplo b´asico de un Horario Din´amico en 2 periodos de tiempo donde los casilleros sombreados indican la variaci´on entre periodo 1 y periodo 2.

En este caso de uso se considerar´a el horario din´amico ya que se pretende mejorar la productividad de los empleados y, al mismo tiempo, tener un mejor impacto de satisfacci´on y salud de los empleados.

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

Trabajo adicional en altas horas de la noche. Conflictos personales.

Variaci´on del ritmo circadiano. D´ıas seguidos de trabajo.

Para lo cual es importante encontrar un horario que pueda mejorar la productividad y eficiencia de los salvavidas. A continuaci´on se definen los individuos, operadores gen´eticos y se propone una estructura llamada Matriz de Preferencias (MPs) para solucionar este problema.

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

4.2.1.

Definici´on de Individuo

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

El individuo es una matriz d × e, donde d es el n´umero de d´ıas y e es el n´umero de empleados disponibles (V´ease Figura 4.23). Los valores de esta matriz son los periodos en que est´a compuesto un d´ıa de trabajo, en el individuo se est´a considerando dos periodos: amy pm.

Figura 4.23: Esquema b´asico del Individuo.

En el AG se genera una poblaci´on de x individuos, donde cada individuo representa una posible soluci´on al problema propuesto.

4.2.2.

Operador de Cruzamiento

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

CAP´ITULO 4. Casos de Estudio, Pruebas y Resultados

Figura 4.24: Selecci´on de dos columnas aleatoriamente.

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

Figura 4.25: Exchange selected columns.

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 sea incorrecto, lo que podr´ıa ocasionar inconsistencias en el algoritmo. Para solucionar este problema se utilizar´a una funci´on de comprobaci´on de individuos, la cual evaluar´a el descendiente con la MPs. Y en caso el individuo sea incorrecto se tomar´a al padre del individuo, caso contrario el descendiente ser´a elegido.

4.2.3.

Operador de Mutaci´on

El operador de mutaci´on propuesto consiste en seleccionar la mitad menos signifi- cativa del individuo y aplicar la mutaci´on de los turnos como se muestran en las Figuras 4.26 y 4.27.

Figura 4.26: Selecci´on mitad menos significativa.

Figura 4.27: Mutaci´on de turnos.

Se procede a mutar los turnos de la columna elegida, es decir si el elemento es am se procede a cambiarlo por pm y viceversa, se podr´a mutar un individuo solo si la MPs tiene un valor diferente a 0 en esa posici´on.

4.2.4.

Matriz de Preferencias

Para la generaci´on de la poblaci´on de los AGs generalmente se realiza mediante la generaci´on aleatoria sin seguir un patr´on de probabilidades. Debido a esta falta de especificaci´on es que se propone una MPs (V´ease Figura 4.28) en el AG para la generaci´on de la poblaci´on inicial y c´alculo de aptitud.

CAP´ITULO 4. Casos de Estudio, Pruebas y Resultados

Figura 4.28: Ejemplo b´asico de una Matriz de Preferencias.

En la matriz definida por cada d´ıa se agrega la cantidad de turnos por d´ıa, en este caso cada d´ıa tiene dos turnos. Una de las particularidades de esta matriz es que los valores de cada columna deben de sumar 1. Si un elemento de la columna var´ıa, la diferencia del valor actual con el anterior se reparte entre los dem´as elementos de la columna, ya sea para agregar o disminuir el valor de los dem´as elementos. Si un empleado no puede trabajar en un turno especificado el valor para esa posici´on en la MPs ser´ıa de 0.

Esta matriz ayudar´a a generar una poblaci´on inicial con mayor aptitud, por ende con una mejor calidad de individuos. Cabe resaltar que esta estructura se basa en el modelo probabil´ıstico al utilizar esta MPs, por lo cual los individuos no ser´an parecidos ni se estar´a forzando una generaci´on estandar de individuos.

Los valores de esta matriz var´ıan de acuerdo a valores de eficiencia, penalidades por parte del empleado, etc. Estos valores influyen para que esta matriz tenga elementos din´amicos, lo que permitir´ıa una mayor aleatoriedad de los individuos a generarse en la poblaci´on inicial.

Al modificar un elemento de la MPs los valores de la columna son afectados, de esta forma se recalcula la MPs para seguir cumpliendo la condici´on de que los elementos de una columna deben sumar 1. Para evitar el hecho de que un elemento pueda ser elegido varias veces, se normalizar´a cada columna de la MPs.

4.2.5.

Funci´on de Evaluaci´on

El c´alculo de fitness del individuo se har´a en base a la Ecuaci´on 4.5 utilizando valores de la MPs. f(x) = n X i=1 n X j=1 M(i, j) ∗ I(i, j) (4.5)

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 definido, la MPs tiene una probabilidad por cada turno posible de cada empleado. Entonces para calcular el fitness 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 est´a seleccionada, el valor a multiplicar ser´ıa 1, caso contrario 0. En las Figuras 4.29 y 4.30 se muestra un ejemplo b´asico de c´alculo de fitness con la MPs.

Figura 4.29: Ejemplo b´asico de un Horario y su respectiva Matriz de Preferencias.

Figura 4.30: Valores obtenidos despu´es de multiplicar posici´on por posici´on.

Con los valores obtenidos despu´es de la operaci´on de evaluaci´on del fitness se procede a sumar estos valores con lo que se obtendr´ıa el valor del fitness de 7.88.

CAP´ITULO 4. Casos de Estudio, Pruebas y Resultados

4.2.6.

Par´ametros del Modelo

Para resolver este problema tomaremos en cuenta los par´ametros detallados en el Cuadro 4.3.

Par´ametro Valor Tama˜no de poblaci´on 448 Probabilidad de cruzamiento 0.7 Probabilidad inicial de mutaci´on 0.1 Tama˜no de clase 4

Documento similar