Table Of ContentUNIVERSIDAD 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:Plan de Estudios de la carrera de Ingenieria Geomática el recocido simulado [30], búsqueda tabú [4], algoritmos genéticos, sistemas expertos,.