UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO PROGRAMA DE MAESTRÍA Y DOCTORADO EN INGENIERÍA FACULTAD DE INGENIERÍA APLICACIÓN DE ALGORITMOS GENÉTICOS PARA EL PROBLEMA DE ASIGNACIÓN DE HORARIOS EN LA DIVISIÓN DE INGENIERÍAS CIVIL Y GEOMÁTICA T E S I S QUE PARA OPTAR POR EL GRADO DE: MAESTRO EN INGENIERÍA INVESTIGACIÓN DE OPERACIONES P R E S E N T A: ING. TANYA ITZEL ARTEAGA RICCI TUTOR: DRA.IDALIA FLORES DE LA MOTA Ciudad Universitaria,Mayo2013 UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO PROGRAMA DE MAESTRÍA Y DOCTORADO EN INGENIERÍA INGENIERÍA EN SISTEMAS INVESTIGACIÓN DE OPERACIONES APLICACIÓN DE ALGORITMOS GENÉTICOS PARA EL PROBLEMA DE ASIGNACIÓN DE HORARIOS EN LA DIVISIÓN DE INGENIERÍAS CIVIL Y GEOMÁTICA T E S I S QUE PARA OPTAR POR EL GRADO DE: MAESTRO EN INGENIERÍA PRESENTA: ING. TANYA ITZEL ARTEAGA RICCI TUTOR PRINCIPAL: DRA. IDALIA FLORES DE LA MOTA FACULTAD DE INGENIERÍA MÉXICO, D. F. MAYO 2013 JURADO ASIGNADO: Presidente: Dr. Acosta Flores José Jesús Secretario: Dr. Suarez Rocha Javier Vocal: Dra. Flores De La Mota Idalia 1 er. Suplente: Dr. Estrada Medina Juan Manuel 2 d o. Suplente: M. en C. Espinosa Avila Eduardo Lugar o lugares donde se realizó la tesis: Ciudad Universitaria, México D.F. TUTOR DE TESIS: DRA. FLORES DE LA MOTA IDALIA FIRMA ˝ndice general xv Agradecimientos xviii Resumen xix Abstract Introducci(cid:243)n 1 1. AnÆlisis de la ProblemÆtica de la Programaci(cid:243)n de Horarios 5 1.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2. Teor(cid:237)a de GrÆ(cid:28)cas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.2.1. El Problema de Coloraci(cid:243)n de GrÆ(cid:28)cas . . . . . . . . . . . . . . 11 1.2.2. Problema de Coloraci(cid:243)n Robusta . . . . . . . . . . . . . . . . . 12 1.3. Problema de Coloraci(cid:243)n Robusta Generalizada . . . . . . . . . . . . . . 13 2. Marco Te(cid:243)rico 15 2.1. MØtodos Exactos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2. MØtodos Heur(cid:237)sticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2.1. MØtodos Heur(cid:237)sticos en la Programaci(cid:243)n de Horarios . . . . . . 17 2.3. Teor(cid:237)a de la Programaci(cid:243)n de Horarios . . . . . . . . . . . . . . . . . . 18 2.4. Problema de Horarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.5. Optimizaci(cid:243)n Combinatoria . . . . . . . . . . . . . . . . . . . . . . . . 20 ii ˝NDICE GENERAL iii 2.6. Complejidad Computacional . . . . . . . . . . . . . . . . . . . . . . . . 21 2.6.1. Problemas P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.6.2. Problemas NP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.6.3. Problemas NP-Completo . . . . . . . . . . . . . . . . . . . . . . 23 3. Algoritmos GenØticos 25 3.1. Algoritmo genØtico bÆsico . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.2. Poblaci(cid:243)n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.2.1. Criterio de tamaæo de la poblaci(cid:243)n . . . . . . . . . . . . . . . . 27 3.3. Funci(cid:243)n de Aptitud ((cid:28)tness) . . . . . . . . . . . . . . . . . . . . . . . . 27 3.4. Selecci(cid:243)n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.4.1. Selecci(cid:243)n elitista . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.4.2. Selecci(cid:243)n proporcional a la aptitud . . . . . . . . . . . . . . . . 28 3.4.3. Selecci(cid:243)n por ruleta . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.4.4. Selecci(cid:243)n escalada . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.4.5. Selecci(cid:243)n por torneo . . . . . . . . . . . . . . . . . . . . . . . . 29 3.4.6. Selecci(cid:243)n por rango . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.4.7. Selecci(cid:243)n generacional . . . . . . . . . . . . . . . . . . . . . . . 29 3.4.8. Selecci(cid:243)n por estado estacionario . . . . . . . . . . . . . . . . . 29 3.4.9. Selecci(cid:243)n jerÆrquica . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.5. Operadores GenØticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.5.1. Inversi(cid:243)n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.5.2. Elitismo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.5.3. Mutaci(cid:243)n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.5.4. Cruce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.6. Criterio de Parada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ˝NDICE GENERAL iv 4. Desarrollo del Modelo 35 4.1. Metodolog(cid:237)a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.2. Representaci(cid:243)n de los individuos . . . . . . . . . . . . . . . . . . . . . . 43 4.3. Generaci(cid:243)n de la poblaci(cid:243)n inicial . . . . . . . . . . . . . . . . . . . . . 44 4.4. Modelo de programaci(cid:243)n matemÆtica . . . . . . . . . . . . . . . . . . . 46 4.4.1. Mejoramiento de la poblaci(cid:243)n inicial. . . . . . . . . . . . . . . . 51 4.4.2. Evaluaci(cid:243)n de la poblaci(cid:243)n generada . . . . . . . . . . . . . . . 51 4.5. Operador de cruce uniforme . . . . . . . . . . . . . . . . . . . . . . . . 53 4.6. Restricciones adicionales . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.6.1. Restricciones generales . . . . . . . . . . . . . . . . . . . . . . . 56 4.6.2. Restricciones espec(cid:237)(cid:28)cas . . . . . . . . . . . . . . . . . . . . . . 57 5. Pruebas y validaci(cid:243)n del modelo 58 5.1. Resultados Computacionales . . . . . . . . . . . . . . . . . . . . . . . . 58 5.1.1. Elecci(cid:243)n del nœmero de iteraciones . . . . . . . . . . . . . . . . 59 5.1.2. Elecci(cid:243)n del tamaæo de la poblaci(cid:243)n . . . . . . . . . . . . . . . . 62 5.2. Elecci(cid:243)n del cruce y eliminaci(cid:243)n . . . . . . . . . . . . . . . . . . . . . . 67 5.3. Resultados (cid:28)nales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.4. Comparativa con una programaci(cid:243)n tradicional . . . . . . . . . . . . . 70 6. Conclusiones 72 Bibliograf(cid:237)a 74 Anexo A 78 Anexo B 80 Anexo C 82 ˝ndice de (cid:28)guras 1.1. Duraci(cid:243)n de las asignaturas por d(cid:237)a . . . . . . . . . . . . . . . . . . . . 7 1.2. Duraci(cid:243)n de las asignaturas por semana . . . . . . . . . . . . . . . . . . 7 1.3. Primer conjunto de horarios disponibles . . . . . . . . . . . . . . . . . . 7 1.4. Segundo conjunto de horarios disponibles . . . . . . . . . . . . . . . . . 8 1.5. Concentrado de asignaturas por semestre . . . . . . . . . . . . . . . . . 8 1.6. Nœmero CromÆtico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.1. Relaci(cid:243)n entre algunas clases de complejidad . . . . . . . . . . . . . . . 24 4.1. Pasos que se llevarÆn a cabo para la metodolog(cid:237)a . . . . . . . . . . . . 43 4.2. Ejemplo de Individuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.3. Matriz de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.4. AG - Cruce uniforme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5.1. Criterio de parada de 200 Iteraciones, Poblaci(cid:243)n de 100 . . . . . . . . . 59 5.2. Benchmark para 200 Iteraciones Poblaci(cid:243)n 100 . . . . . . . . . . . . . . 60 5.3. Criterio de parada de 150 Iteraciones, Poblaci(cid:243)n de 100 . . . . . . . . . 60 5.4. Benchmark para 150 Iteraciones Poblaci(cid:243)n 100 . . . . . . . . . . . . . . 61 5.5. Criterio de parada de 100 Iteraciones, Poblaci(cid:243)n de 100 . . . . . . . . . 61 5.6. Benchmark para 100 Iteraciones Poblaci(cid:243)n 100 . . . . . . . . . . . . . . 62 5.7. Criterio de parada de 100 Iteraciones, Poblaci(cid:243)n de 50 . . . . . . . . . . 63 vi ˝NDICE DE FIGURAS vii 5.8. Benchmark para 100 Iteraciones Poblaci(cid:243)n 50 . . . . . . . . . . . . . . 63 5.9. Criterio de parada de 100 Iteraciones, Poblaci(cid:243)n de 150 . . . . . . . . . 64 5.10.Benchmark para 100 Iteraciones Poblaci(cid:243)n 150 . . . . . . . . . . . . . . 64 5.11.Criterio de parada de 100 Iteraciones, Poblaci(cid:243)n de 200 . . . . . . . . . 65 5.12.Benchmark para 100 Iteraciones Poblaci(cid:243)n 200 . . . . . . . . . . . . . . 65 5.13.Criterio de parada de 200 Iteraciones, Poblaci(cid:243)n de 300 . . . . . . . . . 66 5.14.Benchmark para 100 Iteraciones Poblaci(cid:243)n 300 . . . . . . . . . . . . . . 66 5.15.GrÆ(cid:28)ca Total . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.16.Benchmark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.17.Vector de Colores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 5.18.Resultados Ordenados . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 6.1. Plan de Estudios de la carrera de Ingenier(cid:237)a Civil . . . . . . . . . . . . 80 6.2. Plan de Estudios de la carrera de Ingenieria GeomÆtica . . . . . . . . . 81
Description: