View
3
Download
0
Category
Preview:
Citation preview
GENERACION DE HORARIOS MEDIANTE SISTEMASBASADOS EN CONOCIMIENTO
TESIS
QUE PARA OBTENER EL GRADO DEMAESTRO EN CIENCIAS DE LA COMPUTACION
PRESENTA
BORIS ANTONIO ARANDA BENITEZ
DIRECTOR DR ALVARO DE ALBORNOZ BUENOCODIRECTOR M en C JOSEacute RAFAEL CEN ZUBIETA
Meacutexico DF Octubre del 2007
INSTITUTO POLITECNICO NACIONAL
CENTRO DE INVESTIGACION EN COMPUTACION
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
RESUMEN
En este estudio se aborda al problema NP-completo de la elaboracioacuten dehorarios en una escuela de nivel superior Se definen los elementos deun conjunto de Sistemas Expertos un moacutedulo de Programacioacuten Loacutegicade Restricciones y un moacutedulo de Algoritmos Geneacuteticos para solucionarel problemaComenzando con la determinacioacuten de grupos por abrir despueacutes laasignacioacuten de horario a los grupos posteriormente sigue la asignacioacuten deaula a los grupos y terminando con la propuesta de profesor para lasasignaturas se logra generar un conjunto de soluciones aceptables dehorarios sin problemas que satisfacen las restricciones naturales queimponen las entidades involucradas (catedraacuteticos aulas asignaturas y losgrupos) en el proceso
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
ABSTRACT
This research deals about the Timetabling NP-complete problem appliedat the Instituto Tecnologico de Zacatepec In this document theelements of three Experts System a constrains logic programmingmodule and a Genetics Algorithms module to solve the problem arepresented
Starting with a process to determine how many groups should be openthe next semester after this continue the timetabling assignation to thegroups the next process is the classroom assignation to the groups andthe final module propose a teacher for the groups all this make a setof acceptable solutions without timetabling problems where the naturalconstrains are satisfied
AGRADECIMIENTOS
Agradezco a Dios la oportunidad de vivir para ver terminado este trabajo
Agradezco a mi madre su constante iexcl Ahora una maestriacutea
Agradecimiento especial al Instituto Politeacutecnico Nacional al Centro deInvestigacioacuten en Computacioacuten y al Instituto Tecnoloacutegico de Zacatepecpor haber permitido y facilitado todo para que esta maestriacutea se impartiera
Al Dr Adolfo Guzmaacuten Arenas y al Dr Heacutector Medelliacuten Hernaacutendez porquefueron los autores intelectuales de traer el programa de maestriacutea alTecnoloacutegico de Zacatepec
Al Dr Alvaro de Albornoz Bueno porque sin el curso que impartioacute deInteligencia Artificial y Sistemas Expertos yo seguiriacutea creyendo que esimposible generar los horarios de manera automaacutetica gracias tambieacuten porsu apoyo incondicional y asesoriacutea por uacuteltimo le agradezco la lectura totalal documento final y la aplicacioacuten de las normas de la Real AcademiaEspantildeola al mismo
Al Dr Agustiacuten Gutieacuterrez Torneacutes por su apoyo y confianza en miacute
Debo dar las gracias a Olivia Saacutenchez Cadena por ese tremendo curso deprogramacioacuten visual y tambieacuten a Laura Villavicencio Goacutemez que con lafrase ldquosolo a los nintildeos se les tiene que decir que hacerrdquo me motivoacute acontinuar hasta terminar este trabajo
A mis compantildeeras y compantildeeros por los agradables momentos pasadosdurante el desarrollo de los cursos
A mis alumnos de Ingenieriacutea en Sistemas Computacionales porque con sutiacutepico sentido del humor juvenil me motivaron para cambiar deldquolicenciadordquo a ldquomcrdquo
Agradezco a la ANUIES con su programa Supera por el apoyo econoacutemicobrindado
Se agradece tambieacuten a COSNET por su apoyo dentro del proyecto deinvestigacioacuten 65504-P
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
IacuteNDICE
RESUMEN iABSTRAC iiIacuteNDICE iiiLISTA DE FIGURAS v
CAPIacuteTULO 1 INTRODUCCIOacuteN11 Antecedentes 112 Planteamiento del problema 213 Objetivo general 414 Objetivos especiacuteficos 515 Justificacioacuten 5151 Justificacioacuten teoacuterica 5152 Justificacioacuten metodoloacutegica 5153 Justificacioacuten praacutectica 616 Alcances y limitaciones 7
CAPIacuteTULO 2 MARCO TEOacuteRICO21 El estado del arte 9211 Antecedentes 9212 Algunos meacutetodos para resolver el Problema de la Generacioacuten de Horarios 92121 Algoritmos Geneacuteticos 122122 Programacioacuten Loacutegica de Restricciones 122123 Redes Neuronales 132124 Recocido Simulado 132125 Operadores Recombinatorios Especializados 132126 El Sistema Experto basado en reglas 14213 Observaciones realizadas a algunos paquetes generadores de horarios 1522 Los horarios 16221 El problema de la elaboracioacuten de horarios 1723 El proceso de la elaboracioacuten de horarios 22
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
CAPIacuteTULO 3 TEacuteCNICAS DE INTELIGENCIA ARTIFICIALUTILIZADAS PARA LA GENERACIOacuteN DE HORARIOS31 Sistemas Expertos 24311 Funcioacuten de un Sistema Experto 25312 Arquitectura de Sistemas Expertos 25313 La base de conocimiento 26314 Motor de inferencias 27315 iquestPor queacute utilizar un Sistema Experto 27316 Construccioacuten de prototipos 2832 Algoritmos geneacuteticos 29321 Antecedentes 29322 Definicioacuten de Algoritmo Geneacutetico 30323 Ventajas y desventajas 31324 iquestCoacutemo saber si es posible usar un Algoritmo Geneacutetico 31325 Paraacutemetros que deben ser especificados en el programa 3233 Programacioacuten Loacutegica de Restricciones(PLR) 34331 Antecedentes de la PLR 34332 Restricciones 35333 Sistemas con restricciones 37334 Referencia histoacuterica de las restricciones 37335 Satisfaccioacuten de las restricciones 38336 Resolucioacuten de restricciones 38337 Organizacioacuten de proyectos 38
CAPIacuteTULO 4 ANAacuteLISIS Y DISENtildeO41 Recopilacioacuten de la informacioacuten 4142 Anaacutelisis de la informacioacuten 4643 Solucioacuten definida 4844 Requerimientos del sistema 4945 Disentildeo del sistema 52451 Mapa conceptual del proyecto 52452 Mapas conceptuales de los moacutedulos 54453 Diagramas de contexto 62454 Diagramas entidad relacioacuten 674 55 Diccionario de la base de datos 73456 Lista de funciones o programas 85457 Diagrama de arquitectura (menuacutes) 87
CAPIacuteTULO 5 IMPLEMENTACIOacuteN51 Pantallas del sistema 89
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
CAPIacuteTULO 6 PRUEBAS Y RESULTADOS61 Pruebas del sistema 11462 Pruebas del sistema 115621 Prueba 1 Aacuterea de menuacutes 115622 Prueba 2 Validacioacuten de entradas 118623 Prueba 3 Desplegado de resultados 1206231 Moacutedulo generacioacuten de grupos por abrir 1206232 Moacutedulo generacioacuten de horarios 1216233 Moacutedulo asignacioacuten de aula 1226234 Moacutedulo seleccioacuten de catedraacuteticos 127
CAPIacuteTULO 7 CONCLUSIONES Y TRABAJOS FUTUROS71 Conclusiones 13172 Trabajos futuros 132
REFERENCIAS BIBLIOGRAacuteFICAS 133
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
LISTA DE FIGURAS
Figura Nombre Paacutegina
31 Arquitectura de un Sistema Experto 2632 Pseudocoacutedigo del Algoritmo Geneacutetico simple 3341 Mapa conceptual del proyecto 5242 Diagrama de secuencia 5443 Sistema Experto generador de grupos 5544 Diagrama del moacutedulo Programacioacuten Loacutegica de Restricciones 5745 Diagrama del moacutedulo Algoritmo Geneacutetico 5846 Diagrama de Sistema Experto para sugerir profesor a asignatura 6047 Diagrama de Sistema Experto para sugerir asignaturas para
catedraacutetico61
48 Diagrama de contexto del proyecto 6449 Diagrama de funciones fundamentales (entradas) 65410 Diagrama de funciones fundamentales (salidas) 66411 Diagrama entidad relacioacuten del moacutedulo administrativo 67412 Diagrama E-R del moacutedulo para determinar y ajustar nuacutemero de
grupos68
413 Diagrama E-R del moacutedulo para asignar aulas (Algoritmo Geneacutetico) 69414 Diagrama E-R del moacutedulo para asignar horario (PLR) 70415 Diagrama E-R del moacutedulo designa mejor catedraacutetico (Sistema
Experto)71
416 Diagrama E-R del moacutedulo selecciona mejor materia (SistemaExperto)
72
51 Portada inicial del proyecto 8852 Acerca del sistema 8953 Menuacute principal del proyecto 8954 Menuacute grupos por abrir 9055 Materias 9056 Consulta materias 9157 Pantalla servicios escolares 9158 Pantalla consulta servicios escolares 9259 Pantalla criterios por materia 92510 Pantalla consulta criterios por materia 93511 Pantalla carreras 93512 Pantalla criterios 94513 Pantalla consulta criterios 94514 Pantalla reglas 95515 Pantalla consulta reglas 95516 Pantalla ajustes 96
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
517 Pantalla consulta ajustes 96518 Pantalla criterios por regla 97519 Pantalla consulta criterios por regla 97520 Pantalla caacutelculo de ajustes 98521 Pantalla explicacioacuten de la inferencia 98522 Pantalla inicial del moacutedulo generacioacuten de horarios 99523 Pantalla principal del moacutedulo generacioacuten de horarios 99524 Pantalla principal del menuacute Algoritmos Geneacuteticos 100525 Pantalla de administracioacuten de grupos 100526 Pantalla de consulta de administracioacuten de grupos 101527 Pantalla del control de aulas 101528 Pantalla de consultas del control de aulas 102529 Pantalla para generacioacuten de poblacioacuten inicial 102530 Pantalla de evaluacioacuten de versiones 103531 Pantalla del proceso de seleccioacuten 103532 Pantalla del proceso de clonacioacuten 104
533 Pantalla de mutacioacuten 104534 Pantalla del proceso de cruzamiento 105535 Horarios finales 105536 Pantalla menuacute seleccioacuten de catedraacuteticos 106537 Pantalla de perfiles 106538 Pantalla de consulta perfiles 107539 Pantalla perfiles de las materias 107540 Pantalla consulta perfiles de las materias 108541 Pantalla captura datos de catedraacuteticos 108542 Pantalla consulta datos de catedraacuteticos 109543 Pantalla captura perfil de catedraacuteticos 109544 Pantalla consulta perfil de catedraacuteticos 110545 Pantalla muestra inferencia catedraacuteticos para materia 110546 Pantalla explicacioacuten del porqueacute un maestro puede dar una materia 111547 Pantalla materias que puede impartir un profesor 111548 Pantalla de explicacioacuten del porqueacute un profesor puede dar una
materia112
61 Portada inicial del proyecto 11562 Menuacute principal del proyecto 11663 Menuacute grupos por abrir 11664 Pantalla menuacute seleccioacuten de catedraacuteticos 11765 Pantalla principal del menuacute Algoritmos Geneacuteticos 11766 Pantalla de captura de datos de las Materias 11867 Pantalla de captura de datos de Criterios por Materia 11968 Pantalla de captura de datos de Carreras 11969 Pantalla caacutelculo de ajustes 120
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
610 Pantalla inicial del moacutedulo generacioacuten de horarios 121611 Pantalla principal del moacutedulo generacioacuten de horarios 122612 Pantalla del control de aulas 123613 Pantalla de consultas del control de aulas 123614 Pantalla de genera poblacioacuten inicial 124615 Pantalla de evaluacioacuten de versiones 124616 Pantalla del proceso de seleccioacuten 125617 Pantalla del proceso de clonacioacuten 125618 Pantalla de mutacioacuten 126619 Pantalla del proceso de cruzamiento 126620 Horarios finales 127621 Pantalla captura perfil de catedraacuteticos 128622 Pantalla muestra inferencia catedraacuteticos para materia 128623 Pantalla explicacioacuten porque un maestro puede dar una materia 129624 Pantalla materias que puede impartir un profesor 129625 Pantalla de explicacioacuten porque un profesor puede dar una materia 130
Capiacutetulo 1 Introduccioacuten
CAPIacuteTULO 1
INTRODUCCIOacuteN
11 Antecedentes
iquestQueacute es un horario
ldquoEl horario completo bien puede gobernar las vidas demiles de alumnos y cientos de profesores para los 200 diacuteasdel antildeo escolar semestre a semestre hora tras hora Comouna poderosa herramienta puede faacutecilmente crear o deshacersituaciones de ensentildeanza aprendizajerdquo [Johnson 1980]
En la educacioacuten superior la historia siempre es la misma la proporcioacuten de tiempodictada por el horario para los alumnos y profesores es generalmente muy baja Apesar de esto las dificultades en la creacioacuten de los horarios son grandes Existenvarios departamentos y carreras cada uno con sus propias ideas de coacutemo y cuaacutendo sedeben programar sus cursos El nuacutemero de estudiantes puede variar considerablementede antildeo en antildeo Similarmente las preferencias de los alumnos a favor o en contra delas materias pueden variar dramaacuteticamente de un semestre a otro Los estudiantespueden tomar cursos de un departamento o de varios de ellos aun maacutes puedenseleccionar materias de otras carreras La reciente desaparicioacuten de las restricciones decreacuteditos para cursar las asignaturas complica maacutes la situacioacuten porque ampliacutea el rangode materias que puede tomar un alumno Los horarios aparecen en varias formasmatutinos vespertinos mixtos y todo el diacutea Los horarios escolares indican cuando unmaestro y un alumno deben ir a cada clase Todas las escuelas tienen un horario decursos que dirige lo que cada estudiante y catedraacutetico debe hacer en determinadomomento Esta tesis versa especiacuteficamente sobre el problema de construir horariospara Institutos Tecnoloacutegicos en Meacutexico
La planeacioacuten de los horarios es un trabajo que se realiza semestralmente antes de iniciarel siguiente periodo escolar tomando en cuenta la demanda de grupos que se ofreceraacuteny asignando a estos grupos los alumnos el aula el catedraacutetico y el horariocorrespondiente mediante informacioacuten que se obtiene de varias maneras
El principal objetivo de este proyecto es dar una solucioacuten aproximada (aceptable) alproblema de la generacioacuten de horarios de una escuela de nivel superior que se resumeasiacute
Capiacutetulo 1 Introduccioacuten
ldquoDado un conjunto de departamentos y carreras asignaturas con prerrequisitos gruposcatedraacuteticos con especialidad y horario definidos aulas laboratorios y alumnos con suspreferencias de materias el problema es construir un condensado de horarios factibleque satisfaga todas las restricciones fuertes y minimice las restricciones medias ysuavesrdquo
Las restricciones fuertes son restricciones de espacio y tiempo tal como planear doscursos en un aula al mismo tiempo Las restricciones medias y suaves son laspreferencias de maestros y estudiantes que deberaacuten ser satisfechas si es posible[Elmohamed 1998]
El problema de la generacioacuten de horarios ha sido tratado por muchos investigadoresutilizando meacutetodos que van desde la investigacioacuten de operaciones hasta disciplinas de laInteligencia Artificial como son Algoritmos Geneacuteticos Recocido Simulado RedesNeuronales etc
12 Planteamiento del problema
La generacioacuten de horarios es una forma particular del problema de asignacioacuten derecursos En el caso maacutes general existe una serie de objetos (recursos) y una serie deprocesos que necesitan ser realizados por cada uno de esos objetos En un contextoeducacional cada estudiante debe asistir a un nuacutemero predeterminado de clases y elprofesor debe impartirlas durante la semana en un aula predeterminada el estudiante elprofesor y el aula pasan aquiacute a ser el objeto y las clases el proceso
La complejidad del problema de la generacioacuten de horarios
La generacioacuten de horarios es un problema de optimizacioacuten combinatorio multi-dimensional no Euclidiano con muacuteltiples restricciones y por lo tanto difiacutecil de resolver[Elmohamed 1998]
El problema de la generacioacuten de horarios esta agrupado dentro de los considerados decomplejidad NP-completos es decir que no pueden ser resueltos en tiempo polinomialusando un algoritmo determiniacutestico No se conoce un algoritmo determiniacutestico detiempo polinomial para resolver alguno de esos problemas y la mayoriacutea de la gente creeque dichos algoritmos no existen[Karp 1972]
La generacioacuten de horarios es la asignacioacuten de lapsos de tiempo a un conjunto de eventossujeto a las restricciones en esas asignaciones Seguacuten Elmohamed [Elmohamed 1998]el problema NP-completo de la elaboracioacuten de horarios es un problema para la
Capiacutetulo 1 Introduccioacuten
satisfaccioacuten de restricciones que puede ser definido de la siguiente maneraPara una escuela dada con
Np profesores con sus horarios y turnos Nq materias con su temario y objetivosNx aulas y laboratorios con su capacidad Ns estudiantes
es requerido programar Nt parejas de
alumno-materiahora-materiamaestro-materiaaula-materia
una vez definidas las parejas anteriores se deben programar elementos de la formamateria-maestro-hora -aula
En un liacutemite de Nt lapsos de tiempo para producir una programacioacuten factible En unaprogramacioacuten factible no se puede encontrar a un profesor grupo o estudiante en maacutesde un lugar al mismo tiempo y un aula no puede ser asignada con maacutes de una clase a lavez o maacutes estudiantes de su capacidad o un profesor programado fuera de su horarionormal o con maacutes horas frente a grupo de las reglamentarias ademaacutes de un conjuntoadicional de restricciones
Importancia del problema
La administracioacuten de los recursos comprende la apertura de los grupos para inscribir alos alumnos el proacuteximo semestre la asignacioacuten de carga acadeacutemica a los catedraacuteticos lautilizacioacuten de aulas y laboratorios de quiacutemica produccioacuten coacutemputo electromecaacutenicaaulas de dibujo y demaacutes instalaciones del Instituto Tecnoloacutegico de Zacatepec (ITZ)Cuando por errores imputables al creador de los horarios se hizo una mala planeacioacuten sederivan los siguientes problemasbull Alumnos que se inscriben con una carga de creacuteditos menor a la miacutenima por falta de
grupos suficientesbull Alumnos que deben estar en el ITZ desde las 700 hrs hasta las 2000 hrs varios
diacuteas a la semana por abrir grupos en horarios muy separadosbull Alumnos que pierden la secuencia de materias seriadas por falta de cupobull Alumnos que deben permanecer 1 oacute 2 semestres maacutes en el ITZ por no prever
suficientes grupos para semestres terminalesbull Catedraacuteticos que no imparten el miacutenimo reglamentario de horas frente a grupo por
no crearles grupos suficientesbull Catedraacuteticos a los que se les avisa 1 diacutea antes del inicio de clases que impartiraacuten una
Capiacutetulo 1 Introduccioacuten
asignatura nuevabull Asignaturas que son impartidas por profesores que no cumplen el perfil deseado en
esa asignaturabull Choque de grupos en las aulasbull Choque de grupos en laboratoriosbull Falta de laboratorio a algunos gruposbull Deficiente utilizacioacuten de las aulas
La creacioacuten de un sistema que evite de manera automaacutetica caer en errores como losmencionados NO ES TAREA TRIVIAL intentar resolver este problema involucra laelaboracioacuten de un ldquosistema inteligenterdquo capaz de tomar decisiones aprender inferirbasaacutendose en hechos generar nueva informacioacuten y a partir de ella nuevamente volver adecidir El sistema que se elabore debe tener la capacidad para deducir e inducir de unamanera combinada
Desventajas del sistema actual
La mayoriacutea de los problemas anteriores son ocasionados por alguno o varios de lossiguientes motivosbull Todo el proceso de caacutelculo y administracioacuten de los recursos es manualbull El proceso de elaboracioacuten coincide con el cierre de semestre actual y como las
personas responsables tambieacuten son catedraacuteticos deben combinar la generacioacuten dehorarios con las evaluaciones finales revisioacuten de proyectos y entrega decalificaciones de sus grupos a los alumnos
bull La elaboracioacuten de los horarios es un proceso que se lleva semanas de labor diariabull Requiere la atencioacuten total de los coordinadores durante todo el tiempo de
elaboracioacutenbull Al no tener la informacioacuten automatizada se tienen peacuterdidas de tiempo en la toma de
decisiones como por ejemplo en el preacutestamo de aulas no utilizadas o en la forma decompartir catedraacuteticos
bull Se tienen fuertes restricciones debido a los horarios de los catedraacuteticosbull Hay fuertes dificultades cuando se deben negociar cambios de horarios porque el
proceso implica mover asignaturas buscar aulas dejar paquetes de materias porsemestre etc
bull El estado de aacutenimo del coordinador influye en la elaboracioacuten de los horarios
13 Objetivo general
Generacioacuten de una solucioacuten aproximada del condensado de horarios para una escuela denivel superior que satisfaga las restricciones ocasionadas por los recursos involucradosmediante la elaboracioacuten de un sistema hiacutebrido (experto geneacutetico y loacutegico restrictivo)
Capiacutetulo 1 Introduccioacuten
14 Objetivos especiacuteficos
Se tiene el disentildeo e implementacioacuten de un sistema que
bull Proporciona una solucioacuten aproximada aceptable al problema de la generacioacuten dehorarios
bull Permite a los coordinadores delegar a la computadora la asignacioacuten de recursosbull Ahorra tiempo en la generacioacuten de los horariosbull Reduce el trabajo manualbull Agiliza la toma de decisionesbull Reduce el tiempo de elaboracioacuten de horariosbull Facilita la modificacioacuten de informacioacuten generadabull Aumenta la eficiencia en las negociaciones entre jefes y coordinadoresbull Lleva al Instituto Tecnoloacutegico de Zacatepec (ITZ) a la modernizacioacuten en este
proceso
15 Justificacioacuten del sistema
151 Justificacioacuten teoacuterica
La utilizacioacuten de la Inteligencia Artificial (IA) para la solucioacuten de problemas de la vidacotidiana ha sido una estrategia utilizada cuando los sistemas tradicionales decomputacioacuten no proveen mecanismos suficientes para garantizar una solucioacuten adecuadasu utilizacioacuten para la generacioacuten de horarios (creacioacuten de grupos asignacioacuten de horaasignacioacuten de aula determinacioacuten de catedraacutetico) presenta una alternativa ideal paracomprobarlo
152 Justificacioacuten metodoloacutegica
La utilizacioacuten de un grupo de Sistemas Expertos que realice la asignacioacuten de losrecursos para la generacioacuten de grupos y le proponga una materia determinada a unprofesor seguacuten el perfil acadeacutemico de ambos reuacutene las caracteriacutesticas necesarias paradar la solucioacuten elegante y efectiva al problema planteado anteriormente porque
bull Se requiere del conocimiento de un experto para plantear el funcionamiento delsistema
bull El conocimiento se alimentaraacute a una base de conocimientos que conste de variaspartes
bull Para la generacioacuten de grupos de una asignatura dada el sistema debe ldquorazonarrdquo paradeterminar cuantos de eacutestos se deben abrir para ofertarlos a los alumnos
Capiacutetulo 1 Introduccioacuten
bull En la asignacioacuten de nuevas materias a los catedraacuteticos el sistema debe ldquodeterminarrdquoquieacuten es el maacutes idoacuteneo para impartirla de acuerdo al perfil de ambos materia ymaestro
La Programacioacuten Loacutegica de Restricciones (PLR) es una de las teacutecnicas que maneja demanera natural informacioacuten sometida a ciertas restricciones y fue seleccionada paraseguir trabajando en la resolucioacuten del problema porque
bull Los horarios deben satisfacer ciertas restricciones como por ejemplo no se debengenerar mas grupos de los necesarios no puede haber dos materias con el mismogrupo no deben existir grupos del mismo paquete a la misma hora etc
bull Cada paquete de un semestre es un objeto que por siacute mismo posee ciertascualidades y restricciones por ejemplo no debe tener horas sin asignatura entre lahora inicial y final existen materias que se deben impartir de una hora diaria otrasdeben ser impartidas de 2 horas diarias etc
bull La solucioacuten presentada por la PLR inicia con datos aleatorios de un horario despueacutesse verifica si las restricciones se cumplen o no si se cumplen se guarda el dato si nose genera un nuevo dato aleatorio
Los Algoritmos Geneacuteticos utilizados aquiacute para asignar aula a los grupos cumplen con lametodologiacutea de la Computacioacuten Evolutiva porque
bull Se tienen datos iniciales de los grupos (materia-hora)bull Se genera una poblacioacuten inicial que son n versiones de un condensado de horarios
sin aulabull Esta poblacioacuten inicial es evaluada se seleccionan los condensados maacutes adecuados y
se eliminan las versiones menos adecuadasbull Se realizan cruzamientos mutaciones clonaciones y se crea la nueva generacioacuten de
horariosbull Se repite el proceso hasta llegar a una utilizacioacuten eficiente de las aulas
Por lo anterior se pueden observar las ventajas de utilizar un sistema inteligente sobreuno convencional para solucionar el problema planteado
Una vez definido el modelo para solucionar el problema de la asignacioacuten de horariospara las asignaturas aulas y catedraacuteticos de una institucioacuten de educacioacuten superior seraacutefaacutecil extrapolarlo para solucionar algunos problemas referentes a la planeacioacuten dehorarios de otro tipo de escuelas de nivel medio superior
153 Justificacioacuten praacutectica
La creacioacuten de un sistema que resuelva el problema de la elaboracioacuten de horarios ygenere automaacuteticamente la programacioacuten de grupos aulas y maestros sin violar las
Capiacutetulo 1 Introduccioacuten
restricciones fuertes minimizando las restricciones medias y suaves optimizando lautilizacioacuten de las aulas cumpliendo con las restricciones de los profesores asignandoprofesores adecuados para impartir las clases traeraacute como consecuencia condicionespara mejorar el proceso de ensentildeanza aprendizaje
16 Alcances y limitaciones
Alcances
El sistema generaraacute un espacio de soluciones finito que satisfaga las restriccionesfuertes medias y suaves optimizando el uso de los recursos disponibles se puede decirque el sistema optimizaraacute los recursos cuando los horarios generados tengan lascaracteriacutesticas mencionadas maacutes adelante
Esta tesis documenta la creacioacuten de un sistema basado en el conocimiento parasolucionar el problema de la generacioacuten de horarios en el Instituto Tecnoloacutegico deZacatepec que permite
bull Generar grupos suficientes para que todos los estudiantes se inscriban al menos conla carga miacutenima reglamentaria
bull Que los alumnos tengan horarios adecuados a sus necesidades y preferenciasbull Que todos los grupos tengan capacidad suficiente para todos los estudiantes que
deseen inscribirsebull Que los profesores impartan materias de acuerdo a su perfil profesionalbull Evitar los choques de grupos en aulas y laboratoriosbull Que todos los grupos tengan aula asignada desde el inicio del semestrebull La utilizacioacuten oacuteptima de las aulas y laboratoriosbull La correcta asignacioacuten de aulas y laboratorios a los cursosbull Realizar de manera automaacutetica la asignacioacuten de los recursosbull Determinar el nuacutemero de grupos que se deben abrirbull Llenar las aulas con grupos sin permitir choque de horariosbull Imprimir la lista de grupos ofertados para el semestre siguientebull Cuando exista el grupo de una materia sin maestro determinar cual es el mejor para
impartirla
Tener un Sistema terminado que contenga los siguientes moacutedulos
Sistema administrativo para control de horarios Sistema Experto para determinar la cantidad de grupos por abrir Sistema Experto para sugerir materias a un catedraacutetico Sistema Experto para seleccionar los mejores catedraacuteticos para impartir una
asignatura
Capiacutetulo 1 Introduccioacuten
Moacutedulo de Programacioacuten Loacutegica de Restricciones para generar los horarios a lospaquetes de materias por semestre
Moacutedulo de Algoritmo Geneacutetico para asignar aula a los grupos
Cada moacutedulo tendraacute
bull Interfaces de usuario amigablesbull Tiempos de ejecucioacuten raacutepidos (independientemente de la maacutequina objetivo)bull Reglas de inferencia para generar resultados (soacutelo los Sistemas Expertos)bull Buacutesquedas heuriacutesticas o aleatorias seguacuten el casobull Procesos para realizar induccioacuten y deduccioacuten (soacutelo los Sistemas Expertos)bull Manejo de incertidumbre (soacutelo los Sistemas Expertos)bull Un moacutedulo de explicaciones en lenguaje natural
Limitaciones
El sistema estaacute disentildeado para generar horarios de una escuela de nivel superior donde elcoordinador de cada carrera es el responsable de la generacioacuten de sus horarios controlarsus profesores impartir cierto nuacutemero de materias y utilizar cierta cantidad de aulas ylaboratorios
Trabaja exclusivamente en lenguaje espantildeol
Las reglas de la base de conocimiento tienen un formato predeterminado por unasintaxis definida para el sistema
El sistema estaacute elaborado para trabajar en microcomputadoras compatibles con IBM
No maneja los horarios individuales de los alumnos en el proceso de inscripcioacuten estaactividad deberaacute ser realizada por los sistemas del departamento de servicios escolares
Capiacutetulo 2 Marco teoacuterico
CAPIacuteTULO 2
MARCO TEOacuteRICO
21 El estado del arte
211 Antecedentes
El problema de la generacioacuten de horarios ha sido atacado de varias maneras a nivelmundial inclusive existe un grupo internacional que convoca al congreso llamadoPATATxx (Practice and Theory of Automated Timetabling) donde xx es el antildeo delcongreso en cuestioacuten
La ASAP (Automated scheduling optimization and planing group) es otro organismocuyo fin principal es conducir investigacioacuten en modelos heuriacutesticas y algoritmos para laproduccioacuten automaacutetica de soluciones de alta calidad a una gran variedad de problemasde planeacioacuten y optimizacioacuten del mundo real incluyendo elaboracioacuten de horarioslogiacutestica asignacioacuten de espacio y mantenimiento de inventarios
212 Algunos meacutetodos para resolver el Problema de laGeneracioacuten de Horarios
La generacioacuten de horarios acadeacutemicos ha sido acometida por muchos investigadoresbaacutesicamente dentro del aacuterea de la Investigacioacuten de Operaciones
2121 Investigacioacuten de Operaciones
El algoritmo para resolver problemas de asignacioacuten se denomina Huacutengaro ya que fuerondos matemaacuteticos Huacutengaros Koumlnig (1916) y Egervary (1931) los que aportaron lasteoriacuteas que sirven de base a este meacutetodo [Daellenbach 1987]
Este problema se presenta en diversos casos de toma de decisiones Los problemastiacutepicos de asignacioacuten implican asignar tareas a maacutequinas trabajadores a tareas yproyectos personal de ventas a territorios de ventas contratos a licitaciones horarios deaulas disponibles a horarios de maestros disponibles enfermos a camas disponibles delhospital cierto nuacutemero de empleados a cierta cantidad de puestos en una empresaaviones a destinos aeacutereos entre otros
Capiacutetulo 2 Marco teoacuterico
Una caracteriacutestica importante de los problemas de asignacioacuten es que se asigna untrabajador una tarea a una sola maacutequina proyectoEn particular se busca elconjunto de asignaciones que optimice el objetivo planteado tal como minimizar costosminimizar tiempo o maximizar utilidad
La formulacioacuten del problema general de asignacioacuten es
Sujeta a
Corresponde a un caso especial del problema del transporte en el cual las variables Xijsoacutelo pueden tomar el valor 0 oacute 1 tomar el valor 1 si el origen i se hace corresponder aldestino j y 0 en caso contrario
El Algoritmo Huacutengaro
Este algoritmo se usa para resolver problemas de minimizacioacuten ya que es maacutes eficazque el empleado para resolver el problema del transporte por el alto grado dedegeneracioacuten que pueden presentar los problemas de asignacioacuten Las fases para laaplicacioacuten del meacutetodo Huacutengaro son
Capiacutetulo 2 Marco teoacuterico
Paso 1 Encontrar primero el elemento maacutes pequentildeo en cada fila de la matriz de costosmm se debe construir una nueva matriz al restar de cada costo el costo miacutenimo de cadafila encontrar para esta nueva matriz el costo miacutenimo en cada columna A continuacioacutense debe construir una nueva matriz (denominada matriz de costos reducidos) al restar decada costo el costo miacutenimo de su columna
Paso 2 (En algunos pocos textos este paso se atribuye a Flood) Consiste en trazar elnuacutemero miacutenimo de liacuteneas (horizontales o verticales o ambas uacutenicamente de esasmaneras) que se requieren para cubrir todos los ceros en la matriz de costos reducidos sise necesitan m liacuteneas para cubrir todos los ceros se tiene una solucioacuten oacuteptima entre losceros cubiertos de la matriz Si se requieren menos de m liacuteneas para cubrir todos losceros se debe continuar con el paso 3 El nuacutemero de liacuteneas para cubrir los ceros es iguala la cantidad de asignaciones que hasta ese momento se pueden realizar
Paso 3 Encontrar el menor elemento diferente de cero (llamado k) en la matriz decostos reducidos que no estaacute cubierto por las liacuteneas dibujadas en el paso 2 acontinuacioacuten se debe restar k de cada elemento no cubierto de la matriz de costosreducidos y sumar k a cada elemento de la matriz de costos reducidos cubierto por dosliacuteneas (intersecciones) Por uacuteltimo se debe regresar al paso 2
Notas
1 Para resolver un problema de asignacioacuten en el cual la meta es maximizar la funcioacutenobjetivo se debe multiplicar la matriz de ganancias por menos uno (-1) y resolver elproblema como uno de minimizacioacuten
2 Si el nuacutemero de filas y de columnas en la matriz de costos son diferentes el problemade asignacioacuten estaacute desbalanceado El meacutetodo Huacutengaro puede proporcionar una solucioacutenincorrecta si el problema no estaacute balanceado debido a lo anterior se debe balancearprimero cualquier problema de asignacioacuten (antildeadiendo filas o columnas ficticias) antes deresolverlo mediante el meacutetodo Huacutengaro
3 En un problema grande puede resultar difiacutecil obtener el miacutenimo nuacutemero de filasnecesarias para cubrir todos los ceros en la matriz de costos actual Se puede demostrarque si se necesitan j liacuteneas para cubrir todos los ceros entonces se pueden asignarsolamente j trabajos a un costo cero en la matriz actual esto explica porqueacute terminacuando se necesitan m liacuteneas
Capiacutetulo 2 Marco teoacuterico
Tambieacuten han aparecido meacutetodos no convencionales que atacan el problema desdediferentes aacutengulos Los maacutes usuales son
Algoritmos Geneacuteticos Redes Neuronales Recocido Simulado Buacutesquedas Tabuacute Sistemas Expertos Programacioacuten Loacutegica de Restricciones Grafos Coloreados Operadores Recombinatorios Especializados
2122 Algoritmos Geneacuteticos
Los Algoritmos Geneacuteticos han sido utilizados satisfactoriamente para planear exaacutemenesy cursos en cierto nuacutemero de casos [Corne 1993] utiliza una buena aproximacioacutentradicional donde cada gene representa la hora en la cual se presentaraacute un examen ocurso Con operadores de cruzamiento y mutacioacuten como los mencionadosanteriormente agrega sustanciosos ahorros de tiempo al meacutetodo de Corne [Paechter1994] da una aproximacioacuten diferente donde el gene de cada examen no solo especificaldquoel cuandordquo sino que tambieacuten busca un nuevo horario del examen si despueacutes delcruzamiento el curso esta causando un conflicto Si el examen no puede ser programadoen alguna hora entonces no se agrega a la planeacioacuten con la finalidad de no tenerhorarios infactibles
[Burke1994] incorpora dominios de conocimiento especiacutefico para asegurar que ningunade las soluciones candidato es no factible En particular una representacioacuten directa seutilizada que incluye no soacutelo el cuaacutendo sino tambieacuten el doacutende un curso o examendeberaacuten ser tomados permitiendo al programador de horarios detener la ejecucioacuten delalgoritmo en cualquier punto y tener ya una serie de soluciones de buenos horariosfactibles
2123 Programacioacuten Loacutegica de Restricciones
Varios autores han presentado teacutecnicas de Programacioacuten Loacutegica de Restricciones pararesolver problemas de asignacioacuten de horarios pero eacuteste sigue siendo un nuevo enfoqueTambieacuten han aparecido algunos usando PLR para la planeacioacuten de clase-maestro[Yoshikawa 1994]
Kang y White presentaron una buena aproximacioacuten estaacutendar de PLR programandocursos sin permitir ningun conflicto [Kang y White 1994] Ellos usaron una teacutecnica dereversa equivalente al backtracking con lo cual cuando un curso no puede ser
Capiacutetulo 2 Marco teoacuterico
asignado uno similar es desasignado y el nuevo es colocado en su lugar Esto previeneuna buacutesqueda exhaustiva completa Esto tambieacuten introduce el concepto de undelimitador de tamantildeo que establece un maacuteximo en el tamantildeo del aula que puede usarun curso en particular Las restricciones son priorizadas en cinco diferentes categoriacuteasdonde la categoriacutea cinco debe ser liberada antes que la categoriacutea cuatro y asiacute con lasdemaacutes Este procedimiento fue utilizado para programar exitosamente los cursos de laUniversidad de Otawa
Tambieacuten se ha utilizado la teacutecnica de la Programacioacuten Loacutegica de Restricciones parahacer los horarios de una facultad utilizando una regla heuriacutestica para seleccionar quecurso asignar primero [Fahrion y Dollanski 1992]
2124 Redes Neuronales
De las distintas categoriacuteas de las Redes Neuronales Artificiales la maacutes apropiada pararesolver el problema es la familia de las Redes Neuronales de reaccioacuten basadas enneuronas multiestado con ecuaciones de teoriacutea de campos con significado controlandolas dinaacutemicas Las ecuaciones anteriores son usadas en lugar de los procedimientospara actualizacioacuten de demanda estocaacutesticos que han sido usados por otros esquemas paraevitar quedar atorados en circuitos locales miacutenimos [Carrasco 2004]
2125 Recocido Simulado
Recocido Simulado se refiere al uso de una teacutecnica de optimizacioacuten combinatoria odiscreta Divide el problema en grupos del mismo tiempo de clase los cuales sonespecificados por cada departamento acadeacutemico basados en la habilidad de losinstructores Funciona asiacute
1 El proceso asigna aulas procesando un grupo a la vez empezando con el primero2 El proceso continuacutea hasta que todos los grupos son procesados3 Cuando una solucioacuten es obtenida dividiendo el problema en conjuntos de horario
una mutacioacuten especial es generada con grupos traslapados Esto podriacutea generar unamala asignacioacuten de aula para minimizar esto se utiliza el siguiente paso
4 Los grupos son procesados basados en el nuacutemero de aulas este nuacutemero de aulas esoptimizado y se termina con las horas de clase con el miacutenimo de paquetes a esa hora
5 La implementacioacuten del programa genera una base de datos con la nueva asignacioacutende salones para el proacuteximo semestre [Abramson 1991]
2126 Operadores Recombinatorios Especializados
Los operadores de cruzamiento de los Algoritmos Geneacuteticos producen buenas
Capiacutetulo 2 Marco teoacuterico
combinaciones de genes para ser pasados entre los diferentes miembros de unapoblacioacuten En los Algoritmos Geneacuteticos estaacutendar es un procedimiento similar a escogerlos primeros n genes del primer padre y los uacuteltimos del segundo padre esteprocedimiento no es uacutetil en situaciones donde existen fuertes restricciones sobre laforma de los miembros de la poblacioacuten aquiacute un operador violaraacute esos requerimientosEl operador de recombinacioacuten heuriacutestico hiacutebrido trabaja asiacute
1 Los grupos no programados del periodo anterior son pasados al algoritmo2 Primero selecciona aquellos grupos programados en el periodo i en los padres 1 y 23 Los grupos extra son seleccionados de aquellos programados en el periodo i ya sea
del padre 1 o del padre 2 o de los dejados del periodo i ndash 14 Cualquiera de los grupos no programados es pasado al periodo i+15 Soacutelo los grupos que no crean conflicto con aquellos ya programados para este
periodo pueden ser seleccionados [Wilke 2002]
2127 El Sistema Experto Basado en Reglas
Los Sistemas Basados en Reglas proporcionan un buen punto de referencia para saberque tan buenos son otros meacutetodos en comparacioacuten a esta teacutecnica estaacutendar Varias deestas reglas son usadas para proporcionar sensibles elecciones para los movimientos enel algoritmo de Recocido Simulado en lugar de seleccionar cambios de manera aleatoriase ha usado este sistema como un preprocesador para generar una buena aproximacioacuteninicial y darla al Recocido Simulado
El Sistema Experto Basado en Reglas consiste en un nuacutemero de reglas (o heuriacutesticas) yrecursioacuten convencional para ayudar en la generacioacuten de asignacioacuten de clases Lasestructuras de datos o componentes del sistema son
bull Una matriz de distancias entre los departamentos acadeacutemicos y los edificios queseraacuten utilizados
bull Estructura de los datos de las materias para cada grupo programado en el campobull Estructura para las aulas (independientemente del tipo de aula) involucradas en el
procesobull Horarios para cada periodo de tiempo guardando cuales estaacuten disponibles y
cuales ya fueron ocupadasbull La estructura de los departamentosbull Las preferencias de los estudiantes indicando las clases requeridas
independientemente del semestre que sean las materias [Gervaacutes 1999]
Capiacutetulo 2 Marco teoacuterico
213 Observaciones realizadas a algunos paquetes generadores de horarios
Nombre DeMIStDescripcioacuten Puede describirse como un paquete que realiza bien las operaciones decasa (la propia universidad que lo creoacute) pero salioacute tan costoso como si hubierancomprado un paquete [Demist 2000]Proveedor DeMISt University
KnowTISEs un proyecto iniciado por la universidad de Leeds En la literatura aparece como unpaquete que es mejor para la generacioacuten de Grandes Horarios para una universidad quepara un departamento Utiliza el beneficio de gran cantidad de informacioacutencentralizada para la optimizacioacuten de recursos [Schedul 2000]Leeds University
STARSSTARS(Space Time and Resources Management) Igual que el anterior corre mejor enla elaboracioacuten de horarios de buen tamantildeo que en una aplicacioacuten departamentalDe Montfort University
Meeting maker Office TalkEs un generador de clases y acciones diarias es bueno cuando no es uacutetil el horario delos alumnos ya que proporciona uacutenicamente los espacios para las clases [Gervaacutes 1999]Varios proveedores
GP-UNTISEs un paquete australiano que funciona perfectamente para los requerimientos de lasescuelas secundariasTimetabling Services UK
Syllabus PlusEs una buena opcioacuten para uso departamental cumple los requerimientos de unauniversidad para la generacioacuten de horarios no trabaja a nivel de estudiantes pero si lohace con grupos de ellos no es factible para la generacioacuten de Grandes HorariosScientia LTD
Facility TimetablerEs una buena opcioacuten para uso departamental y para Grandes Horarios tiene interfaz conlos sistemas de alumnos y permite la creacioacuten de horarios individuales permite el uso
Capiacutetulo 2 Marco teoacuterico
centralizado de las aulas para una buena optimizacioacutenFacility Systems
Mimosa for WindowsEs un software general de planificacioacuten de la ensentildeanza y de programacioacuten de horariosLa aplicacioacuten utiliza todas las propiedades de Windows eficientemente es raacutepida tienegran capacidad y lo mas importante es tan flexible que puede aplicarse en todo el tipode escuelas desde la escuela primaria a las universidades desde las escuelasvocacionales a las academias militares
Se podriacutea decir que este producto cubririacutea todas las necesidades de la institucioacuten perohan existido algunos inconvenientes ya que no cubre con las necesidades deldepartamento tan solo da ayuda al usuario para que pueda generar sus horarios ademaacutesel tener tantos botones en pantalla (200) podriacutean confundir al usuario y realizar horarioserroacuteneos y no se resolveriacutea el problema [Nielsoft 2000]Mimosa Software Oy Finlandia
GestHor BSPEs un producto informaacutetico para resolver problemas de horarios escolares en escuelasbaacutesicas escuelas secundarias y escuelas profesionales
Toacutemese en cuenta que la mayoriacutea de los sistemas mencionados se enfoca solo a laasignacioacuten aula ndash materia y no abarca lo que es asignacioacuten materia ndash profesor
22 Los horarios
Existe mucha literatura referente a los horarios con una gran variedad de subtiacutetulos ydiferentes problemas Una gran variedad de algoritmos han sido propuestos empleandometodologiacuteas y heuriacutesticas de buacutesqueda produciendo horarios completos o soacuteloayudando durante el proceso Una de las grandes preguntas para la elaboracioacuten dehorarios es que si eacutestos pueden ser generales es decir iquestse puede encontrar un algoritmoo meacutetodo suficientemente general que produzca buenos horarios para todos losproblemas y para todas las restricciones La alternativa desde luego es continuardesarrollando algoritmos especializados aislados cada vez que un problema de horariosaparece
Al trabajar con una solucioacuten para el problema de los horarios se deben contestar lassiguientes preguntas iquestTodas las escuelas de nivel superior elaboran los horarios de lamisma manera iquestSon grandes o pequentildeas las diferencias en la forma de elaborar loshorarios iquestQueacute tan necesaria es la ayuda de la computadora iquestSoacutelo se requiere unpaquete general para la elaboracioacuten de los horarios iquestQueacute funcionalidad debe tener
Capiacutetulo 2 Marco teoacuterico
dicho paquete iquestQueacute tan grande y complejo es el problema de elaboracioacuten de horariosiquestQueacute propiedades debe poseer un horario aceptable para que una institucioacuten lo use
Se han realizado algunas encuestas para conocer si las escuelas de nivel superior tienensistemas computarizados para la elaboracioacuten de horarios si no los tienen si lonecesitaban y queacute caracteriacutesticas deberiacutea poseer El estudio concluyoacute que existe una grandemanda para tal sistema que se requiere un alto grado de asistencia automatizada yque la mayoriacutea de los elaboradores de horarios no estaban muy contentos con sussistemas actuales [Comm y Mathaisel 1988]
[Dowsland y Lim 1982] consideraron el problema de la elaboracioacuten de horarios peroproporcionaron alternativas en la encuesta de la utilidad de sistemas automatizados[Junginger 1986] establece que ldquoAunque los horarios producidos requierenmodificacioacuten las escuelas estaacuten contentas con los resultados El tiempo ahorrado fueconsiderable arriba del 75rdquo Dowsland por otro lado concluye que ldquoEs muy difiacuteciljuzgar el eacutexito actual de los paquetes para la elaboracioacuten de horarios pero el uso muylimitado de ellos sugiere que sus ventajas son limitadasrdquo Claramente ninguacuten disentildeadorde sistemas puede garantizar la idea de que su producto seraacute bienvenido con los brazosabiertos
[Pendlebury 1986] encuestoacute a las universidades politeacutecnicas britaacutenicas con respecto ala elaboracioacuten de horarios de cursos Doce de las treinta que contestaron la encuestautilizan elaboracioacuten de horarios por computadora (siete a gran escala y cuatro lo hacenen pequentildea escala) Es interesante notar que Pendlebury encontroacute que la mayoriacutea de loscursos se basan en clases que son muy independientes unas de otras y en la mayoriacutea delas instituciones encuestadas los departamentos individuales son responsables deproducir sus propios horarios
221 El problema de la elaboracioacuten de horarios
La elaboracioacuten de horarios es el acto de programar cursos a periacuteodos de tiempo asignarun aula a esos cursos y asignar un catedraacutetico a dicho curso
A menudo se hacen afirmaciones acerca de la naturaleza del problema que puedenpermitir encontrar una solucioacuten maacutes eficientemente Sin embargo cuando se trata deconstruir un sistema general se estaacute limitado a que las afirmaciones son el miacutenimocomuacuten denominador de todos los posibles escenarios
Una informacioacuten impliacutecita que ha sido hecha a menudo es la independencia entreunidades acadeacutemicas separadas Algunas universidades programan preguntando a susdepartamentos los horarios de sus propios cursos Una unioacuten central de dichos horarioses entonces utilizada para asegurar que todas las restricciones relevantes son cumplidasEn muchos casos esta es la forma normal en que es producido el horario de los cursos
Capiacutetulo 2 Marco teoacuterico
aunque algunos departamentos desarrollan su propio software para la programacioacuten decursos
En varias universidades los alumnos pueden tomar algunos de sus cursos endepartamentos diferentes al suyo Obviamente la independencia no debe ser asumidageneralmente debido a que puede haber diferencia en la programacioacuten de los cursos decada departamento En el Tecnoloacutegico de Zacatepec por ejemplo la probabilidadpromedio de que un curso tenga conflicto con uno de otro departamento es 1650mientras que la probabilidad de que dos cursos del mismo departamento tengan conflictoes 2250 notaacutendose una gran diferencia en el resultado
Dificultades encontradas por los responsables de la generacioacuten de horarios
Algunas dificultades experimentadas por los departamentos y facultades sonmencionadas aquiacute
bull Los programas acadeacutemicos se hacen cada vez maacutes flexibles (los estudiantesseleccionan queacute asignaturas tomar cuaacutendo doacutende y con quieacuten)
bull Algunos departamentos tienen asignaturas para ofrecer pero no tienen muchosalumnos
bull Los espacios para ofrecer las materias son cada vez menos y el problema se agravacuando los alumnos no quieren asistir en las tardes o los saacutebados
bull El staff de profesores no siempre estaacute disponible para impartir clases por muacuteltiplesrazones
bull Los alumnos pueden solicitar los grupos del proacuteximo semestre desde antes de queinicie pero al llegar el momento de inscribirse no lo hacen
bull Los departamentos estaacuten ansiosos por ofrecer una gran variedad de grupos teniendolos recursos pero esto puede ocasionar problemas
bull Existe una gran variedad de reglas al momento de asignar las aulas (pertenencia alas carreras prioridades de profesores etc)
bull Como no hay un costo asociado a la utilizacioacuten de un aula y no hay sanciones porreservarla y no utilizarla los departamentos acadeacutemicos no tienen un buen motivopara hacer una correcta utilizacioacuten del espacio
bull La falta de recursos ocasiona el mayor de los problemas porque obliga a laoptimizacioacuten en la planeacioacuten
Cursos y estudiantes
El problema de la elaboracioacuten de horarios estaacute relacionado esencialmente con el nuacutemerode eventos que requieren ser programados en este caso los cursos para los estudiantesClaramente el tamantildeo del problema variacutea entre los diferentes centros de estudio desdepequentildeos problemas con alrededor de 50 a 100 cursos hasta los 500 o 1000 cursos que
Capiacutetulo 2 Marco teoacuterico
programar Esta variacioacuten en el tamantildeo afectaraacute el tiempo requerido para resolver elproblema Un problema pequentildeo puede ser resuelto casi de manera oacuteptima mientrasque en uno grande se deben usar buacutesquedas heuriacutesticas u otras formas de acotar elespacio de buacutesqueda de una solucioacuten en un periodo de tiempo razonable
Se debe esperar que el nuacutemero de cursos y el nuacutemero de alumnos esteacuten correlacionadosEl nuacutemero de cursos ofrecidos y desde luego programados debe ser calculado porextrapolacioacuten del promedio de 5 o 6 cursos por alumno y con cupo promedio de 30alumnos por curso obviamente algunos alumnos se inscribiraacuten en 7 u 8 cursos porsemestre mientras que los cursos tendraacuten inscritos entre 20 y 40 alumnos Losalumnos dependiendo del semestre en que se encuentran inscritos deben matricularse aciertos cursos especiacuteficos para ese semestre dichos cursos deben programarse de maneraque los alumnos tengan la menor cantidad de tiempo entre el primer y el uacuteltimo cursodel diacutea permitieacutendoles con esto realizar actividades complementarias
En el Tecnoloacutegico de Zacatepec para una carrera con 900 alumnos se requieren ofertaraproximadamente entre 140 y 160 cursos ademaacutes los estudiantes pueden matricularse encursos ofrecidos por otros departamentos (esto ampliacutea el rango de posibilidades para losalumnos)
Los cursos y los departamentos
El promedio de los cursos ofrecidos por cada departamento variacutea considerablementeentre las diferentes escuelas de nivel superior La razoacuten de esta variabilidad puede servista como un indicador de la naturaleza de la complejidad de la planeacioacuten de horarios
Cada departamento ofrece cursos a los estudiantes de las carreras a las que da soportedirecto pero ademaacutes debe ofrecer cursos para todas las otras carreras de la institucioacutenque lo requieran esto es si un departamento X solicita la apertura de determinadonuacutemero de cursos a un departamento Y el departamento Y debe ofertar los cursossolicitados por X para los alumnos matriculados en el departamento X aunado a estoalgunos cursos ofertados por el departamento Y tienen compatibilidad con cursosofrecidos por X y por lo tanto los estudiantes de Y y X pueden ingresar indistintamenteen cualquiera de los cursos
Los cursos los semestres y las horas
Una de las afirmaciones que se pueden hacer en las instituciones de nivel superior es quelos cursos generalmente inician durante cierto periodo de tiempo y pueden tenerduracioacuten semestral (la gran mayoriacutea) trimestral y sin fechas predeterminadas (algunosposgrados por ejemplo) En general los cursos empiezan a las 700 AM y terminandependiendo del lugar a las 2000 o a las 2100 horas de lunes a saacutebado Aunque estopermite tener un amplio margen de horas para programar los cursos esto hace tambieacuten
Capiacutetulo 2 Marco teoacuterico
aun maacutes difiacutecil la elaboracioacuten de los horarios porque aumenta el rango de posiblescombinaciones donde programar cursos
Los cursos se pueden programar en periodos de tiempo muy variados aunque la mayoriacuteade los programadores de horarios siguen los siguientes patrones
bull Curso diario de 1 horabull Curso de dos horas en diacuteas saltados (lunes y mieacutercoles jueves y viernes
mieacutercoles y viernes)bull Curso de dos horas diarias 3 diacuteas por semana (lunes mieacutercoles y viernes)
(lunes martes y jueves) o (martes jueves y viernes)bull Cursos de cuatro horas en un solo diacutea por semanabull En el peor de los casos se programan cursos con la combinacioacuten de algunos
de los anteriores
Dependiendo del curso algunos tienen duracioacuten de cuatro horas teoacutericas semanales otroscombinan cuatro horas de teoriacutea y dos de praacutectica y algunos excepcionalmente sonprogramados con cuatro horas de praacutectica y dos de teoriacutea Las horas de praacutecticageneralmente se realizan en laboratorios o praacutecticas de campo agregando esto un nuevoparaacutemetro para la complejidad de la elaboracioacuten de horarios
Los cursos y las aulas
Las aulas son el espacio fiacutesico donde se impartiraacuten los cursos pueden ser salones declase laboratorios salones de exposicioacuten aulas para aplicacioacuten de exaacutemenes aulas paraactividades deportivas musicales o recreativas cada aula tiene capacidad para quecierto nuacutemero definido de estudiantes reciba sin problema unidades de ensentildeanzaaprendizaje
En una encuesta realizada por la Universidad de Nottingham [Burke y Elliman 1998] sedefinioacute que la programacioacuten de los cursos en las aulas es uno de los mayores problemasa los que se enfrentan los responsables de la elaboracioacuten de horarios Esto proviene dedos problemas mayores El primer problema es la escasez de aulas disponibles ya queen algunas de las escuelas de nivel superior el crecimiento de la poblacioacuten estudiantil hasido mayor que el crecimiento del nuacutemero de aulas disponibles para la ensentildeanza Elsegundo problema ocurre cuando se programa un curso en mas de un aula o saloacuten declase
La ocupacioacuten de las aulas es variable de acuerdo al departamento para el que seaasignada algunos prefieren utilizarlas al maacuteximo en el turno matutino otros en el turnovespertino tienen ocupacioacuten total algunos las utilizan exhaustivamente de lunes ajueves unos departamentos las llenan los viernes y saacutebados y otros tienen que utilizarlastodo el diacutea de lunes a saacutebado inclusive solicitan prestadas a los otros departamentosaquellos espacios que no son utilizados en alguacuten diacutea y hora a la semana
Capiacutetulo 2 Marco teoacuterico
Para el Tecnoloacutegico de Zacatepec el recurso llamado las aulas debe ser optimizado enuna buena planeacioacuten de horarios esto es deben ser utilizadas al maacuteximo todos los diacuteasde la semana desde las 700 hasta las 2100 de lunes viernes y los saacutebados hasta las1500 horas
Tipos de cursos
Una de las cosas a tomarse en cuenta durante la elaboracioacuten de los horarios es el tipo decurso a programar
bull Teoacutericos como los cursos matemaacuteticos cursos de administracioacuten etcbull Teoacuterico praacutecticos como los cursos de electroacutenica sistemas digitalesbull Lenguajes de programacioacutenbull Con praacutecticas de campo que deben salir al aire librebull Con praacutecticas de quiacutemica
Otra consideracioacuten es el tipo de aula requerida por los diferentes tipos de cursos
bull cursos que requieren medios audiovisuales simples (pizarroacuten y gis)bull algunos cursos adicionalmente requieren proyectores de acetatos y salas
obscurecidasbull cursos que requieren equipo de coacutemputo equipo de proyeccioacuten equipo de video y
televisioacuten para el desarrollo de la caacutetedra etcbull cursos que requieren laboratorios con computadorasbull que requieren equipos de medicioacuten electroacutenica generadores de sentildeales enchufes
eleacutectricos ybull cursos que requieren mesas tomas eleacutectricas y equipos para conexioacuten de redes
Los cursos y los catedraacuteticos
Definitivamente eacutesta es una de las principales consideraciones que tienen en cuenta losprogramadores de horarios la asignacioacuten de los cursos a los catedraacuteticos porque es unproceso que no puede realizarse de manera aleatoria es un proceso delicado porque deesto depende la efectividad del proceso de ensentildeanzandashaprendizaje
Los catedraacuteticos tienen caracteriacutesticas individuales que los hacen uacutenicosindependientemente de la profesioacuten que hayan estudiado Tienen intereses diferentesmeacutetodos diferentes aacutereas de preferencia diferentes perfil profesiograacutefico distinto tienenactividades extralaborales variadas asiacute que
iquestCoacutemo asignarle un curso a un catedraacutetico para que logre un oacuteptimo resultado en el
Capiacutetulo 2 Marco teoacuterico
proceso de ensentildeanza-aprendizajeiquestCoacutemo garantizar que el curso asignado a un profesor seraacute bien impartidoiquestCoacutemo saber que el profesor estaacute capacitado para ofrecer un buen cursoiquestCuaacuteles son los requisitos que debe reunir un profesor para impartir cierto cursoiquestDependen soacutelo de la profesioacuten los cursos que puede impartiriquestCoacutemo conocer de antemano las preferencias de los profesoresiquestEl nivel de estudio de los profesores les capacita para impartir cualquier cursoiquestDeben los profesores ser guiados a una especialidad por los programadores dehorarios
Las respuestas a todas estas preguntas incorporadas en un sistema generador de horariosiquestpermitiraacuten hacer una buena asignacioacuten de catedraacutetico a un curso
El condensado de horarios
Es un documento emitido cada semestre por los responsables de la elaboracioacuten de loshorarios que contiene la informacioacuten requerida por los alumnos jefes de departamento ycatedraacuteticos para conocer la distribucioacuten de las materias los grupos las aulas las horasy los catedraacuteticos que impartiraacuten los cursos en otras palabras el condensado de materiases el documento final de los HORARIOS que marcaraacute las acciones de todos el semestreactual
23 El proceso de la elaboracioacuten de horarios
El proceso de la elaboracioacuten de horarios abarca cada accioacuten que es requerida para crearel horario final completo y correcto de los datos iniciales Esto incluye recibir validary dar formato a los datos generar la versioacuten inicial hacer las correcciones y luegoproducir el condensado final de horarios El proceso de la generacioacuten de horariosabarca
bull la generacioacuten del dato de cuantos cursos se van a ofertarbull asignacioacuten de horario a esos cursosbull proporcionar aulas a los cursosbull designar profesores para los cursos definidos
la parte difiacutecil de esto es generar los horarios con los recursos disponibles en cadadepartamento cada etapa tiene sus restricciones (fuertes y suaves) los recursos no soninagotablesEl uso de la computadora
En una encuesta realizada por la Universidad de Nottingham [Burke y Elliman 1998]referente a la forma de elaborar horarios en las demaacutes universidades se encontroacute que un
Capiacutetulo 2 Marco teoacuterico
58 de ellas utilizan la computadora en alguna etapa del proceso de eacutestas el 21 tienela facilidad de realizar la programacioacuten aunque generalmente requieren captura manualde informacioacuten y conocimientos previos del problema particular del proceso El 1tienen paquetes comerciales y el 14 tienen paquetes hechos en casa para generarhorarios y el 2 aseguran que estaacuten desarrollando o comprando un paquete
Dado el tamantildeo de los horarios de dichas universidades es sorprendente que muchas notengan alguna forma de automatizacioacuten Esto se debe en la mayoriacutea de los casos a quelos horarios no cambian significativamente de un antildeo a otro Sin embargo de lasuniversidades que no programan horarios por computadora la mitad usa el horario delantildeo pasado y la otra mitad empiezan desde cero cada vez Cuando no se usa el horariodel antildeo pasado generalmente toma 4 semanas elaborar uno nuevo En la mayoriacutea de loscasos donde se usa la computadora generalmente no se toma en cuenta el horario delantildeo anterior
Causas de cambio de los horarios antildeo tras antildeo
Para que un horario pueda ser usado antildeo tras antildeo debe ser lo suficientemente robustopara que los cambios que ocurran en los datos de entrada produzcan soacutelo una pequentildeaalteracioacuten o modificacioacuten en el condensado final de horarios El uso del condensado delantildeo pasado depende en la cantidad de cambios que deben hacerse y esto a su vezdepende de cuanto cambie la cantidad de grupos que deben ofertarse para cadaasignatura y esto depende de la cantidad de alumnos que pueden cursar una asignaturaahora bien la cantidad de alumnos estaacute en funcioacuten de los iacutendices de aprobacioacuten yreprobacioacuten del periodo de los alumnos que por alguna razoacuten no cursaron unaasignatura y de la cantidad de grupos ofertados el periodo pasado
Si cambia la cantidad de horas frente a grupo asignada a un departamento entoncescambiaraacute el condensado de horarios con respecto al del antildeo pasado porque eso afectadirectamente en la cantidad de cursos que podraacute ofertarse este periodo este es uno de losrecursos maacutes variables que influyen para hacer cambios en los condensados antildeo trasantildeo
La redistribucioacuten de aulas y laboratorios (que no se realiza a menudo) llega tambieacuten ainfluir en los cambios
El cambio de horario matutino a vespertino (o viceversa) solicitado por un catedraacuteticoque es el especialista en impartir cierto curso ocasiona los cambios del condensado dehorarios del antildeo anterior al nuevo
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
CAPIacuteTULO 3
TEacuteCNICAS DE INTELIGENCIA ARTIFICIAL UTILIZADASPARA LA GENERACIOacuteN DE HORARIOS
31 Sistemas Expertos (SE)Bajo el teacutermino de Sistemas Expertos se entiende un nuevo tipo de software que imita elcomportamiento de un experto humano en la solucioacuten de un problema Un SE puedealmacenar conocimientos de expertos para un campo determinado y solucionar unproblema mediante razonamiento loacutegico de conclusiones
Los Sistemas Expertos son sistemas que buscan modelar el conocimiento yprocedimientos usados por un experto humano para resolver un problemadeterminado[Saacutenchez 1999]
iquestUn Sistema Experto utiliza teacutecnicas de la Inteligencia Artificial (IA)
Los Sistemas Expertos son uno de los puntos que componen las investigaciones en elcampo de la IA Un sistema de computadoras que trabaje con teacutecnicas de IA deberaacuteestar en situacioacuten de combinar informacioacuten de forma ldquointeligenterdquo alcanzarconclusiones y justificarlas (al igual que el resultado final) Los Sistemas Expertos sonuna expresioacuten de los sistemas basados en el conocimiento Con la aplicacioacuten de teacutecnicasde Inteligencia Artificial finaliza la transicioacuten del procesamiento de datos alprocesamiento de conocimientos
Un Sistema Experto es un sistema informaacutetico que simula el proceso de aprendizaje dememorizacioacuten de razonamiento de comunicacioacuten y de accioacuten de un experto humano enuna determinada rama o dominio Estas caracteriacutesticas le permiten almacenar datos yconocimiento sacar conclusiones loacutegicas tomar decisiones aprender de la experiencia ylos datos existentes comunicarse con humanos explicar el porqueacute de las decisionestomadas y realizar acciones como consecuencia de todo lo anterior
La incorporacioacuten dentro de un sistema de computadoras de un componente basado enel conocimiento correspondiente a una habilidad experta de tal forma que el sistemapueda ofrecer asesoramiento inteligente o tomar una decisioacuten inteligente sobre unafuncioacuten del proceso Una caracteriacutestica adicional deseable que muchos consideranfundamental es la capacidad del sistema si se le solicita de justificar su propia liacutenea derazonamiento de un modo directamente inteligible para el interrogador El estiloadoptado para alcanzar estas caracteriacutesticas es la programacioacuten basada en reglas[Waterman 1986]
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
311 Funcioacuten de un Sistema Experto
La funcioacuten de un Sistema Experto es aportar soluciones a problemas de un dominioespeciacutefico imitando la forma de razonamiento de los seres humanos es decir el SistemaExperto debe ser capaz de mostrar soluciones inteligentes [Giarratamo 1998]
Acceder a los conocimientos adquiridos por experiencia es lo maacutes difiacutecil ya que losexpertos al igual que otras personas apenas los reconocen como tales Son buscadoscon mucho esfuerzo y cuidado siendo descubiertos de uno en uno poco a poco
Ventajas del Sistema Experto
Experto Humano Experto ArtificialMortal PermanenteDifiacutecil de documentar Faacutecil de documentarDifiacutecil de transferir Faacutecil de transferirImpredecible ConsistenteMaacutes caro Menos caro
Ventajas del Experto Humano
Experto Humano Experto ArtificialCreativo No creativoAdaptable Requiere mantenimientoExperiencia sensorial Entrada simboacutelicaConocimiento de sentido comuacuten Conocimiento teacutecnico
312 Arquitectura de Sistemas Expertos [Gines 1986] [Giarratamo 1998]
La arquitectura general de un SE (Fig 31) estaacute compuesta fundamentalmente de
bull Base de Conocimiento Representa el conocimiento adquirido del expertohumano incluyendo experiencia sentido comuacuten e intuicioacuten
bull Motor de Inferencia Decide que se debe aplicar que se debe hacer resuelveconflictos nuevos hace uso de la base del conocimiento Proporcionamecanismos de razonamiento buacutesqueda aprendizaje etc
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
bull Interfaz Usuario Facilita la comunicacioacuten entre el Sistema Experto y el usuarioque realiza las consultas
bull Subsistema de Adquisicioacuten Mejor conocido como la Interfaz de Expertopermite ingresar el conocimiento a la Base de Conocimientos por parte delhumano experto en alguacuten dominio de conocimiento
bull Subsistema de explicaciones Permite dar a conocer los resultados obtenidospor el Sistema Experto
313 La base de conocimiento
El enfoque maacutes comuacuten para representar el dominio del conocimiento que se requierepara un SE son las reglas de produccioacuten Estas pueden ser referidas como reglasldquosituacioacuten-accioacutenrdquo o ldquoif-thenrdquo De esta forma con frecuencia una base deconocimientos estaacute fraguada principalmente de reglas las cuales son invocadas por uncasamiento de patrones con las particularidades de las tareas circunstanciales que vanapareciendo en la base de hechosLas reglas en una base de conocimientos representan el dominio de hechos y laheuriacutestica de un buen juicio de acciones a tomar cuando uno llega a situacionesespeciacuteficas La fuerza de un SE yace en el conocimiento especiacutefico del dominio delproblema Casi todos los sistemas existentes basados en reglas contienen cientos o milesde ellas y generalmente se obtienen de entrevistas con expertos durante un tiempo largoEn cualquier SE las reglas se conectan una a otra por ligas de asociacioacuten para formar
Base de
Motor de
Subsistema deadquisicioacuten
del
Subsistemade
explicacione
Interfazde
usuario
Ingeniero delconocimiento y experto Usuario
Base de hechos
Figura 31 Arquitectura de un Sistema Experto
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
redes de reglas Una vez que han sido ensambladas tales redes entonces se tiene unarepresentacioacuten de un cuerpo de conocimientos que es sustancial
Generalmente un experto tiene muchas reglas de criterio empiacutericas por lo que el soportesuele ser incompleto para la evidencia que se dispone En tales casos una teacutecnica es la devincular valores numeacutericos a cada regla para indicar el grado de certidumbre que eacutestatiene En la operacioacuten de SE los valores de certidumbre se combinan unos a otros atraveacutes de la red considerando tambieacuten la certidumbre de los datos de entrada delproblema para llegar finalmente a un valor de certidumbre de la solucioacuten final
314 El motor de inferencias
El sistema experto modela el proceso de razonamiento humano con un moacutedulo conocidocomo el motor de inferencia Dicho motor de inferencia trabaja con la informacioacutencontenida en la base de conocimientos y la base de hechos para deducir nuevos hechosContrasta los hechos particulares de la base de hechos con el conocimiento contenido enla base de conocimientos para obtener conclusiones acerca del problemaEl modelo de problema - solucioacuten y sus meacutetodos organizan y controlan las etapas que sevan tomando para la resolucioacuten de problemas Un modelo muy poderoso y comuacuten es elde encadenar las reglas `` if-then-else con el fin de formar alguna liacutenea derazonamiento Si el encadenamiento se inicia a partir de un conjunto de condiciones y semueve hacia alguna conclusioacuten el meacutetodo se llama encadenamiento hacia adelante y ensu caso contrario el encadenamiento es hacia atraacutes
Un problema de encadenamiento hacia adelante sin una apropiada heuriacutestica de podaderivaraacute muchas soluciones de las cuales no todas son necesarias En el caso deencadenamiento hacia atraacutes es necesario tambieacuten trabajar con una heuriacutestica apropiadacon la finalidad de poder manejar submetas conjuntivas En general para atacar elproblema de conjuncioacuten es necesario encontrar un caso en donde todas las submetasinteractuantes se satisfagan Pero con frecuencia una buacutesqueda de tal naturaleza nos dauna explosioacuten combinatoria de posibilidades Es por esta razoacuten que el dominioapropiado de la heuriacutestica y su esquema inferencial deberaacuten ser encontrados para cadatipo de problemas para que de esta manera se tenga un SE eficaz y eficiente
315 iquestPor queacute utilizar un Sistema Experto [Pluss 1999] [Sanchez 1999]
1 Con la ayuda de un Sistema Experto personas con poca experiencia pueden resolverproblemas que requieren un conocimiento formal especializado
2 Los Sistemas Expertos pueden obtener conclusiones y resolver problemas de formamaacutes raacutepida que los expertos humanos
3 Los Sistemas Expertos razonan pero basaacutendose en un conocimiento adquirido y notienen sitio para la subjetividad
Capiacutetulo 2 Marco teoacuterico
4 El uso de Sistemas Expertos es especialmente recomendado en las siguientessituaciones
bull Cuando los expertos humanos en una determinada materia son escasos
bull En situaciones complejas donde la subjetividad humana puede llevar aconclusiones erroacuteneas
bull Cuando es muy elevado el volumen de datos que ha de considerarse paraobtener una conclusioacuten
316 Construccioacuten de prototipos [Turban 1995]
En el desarrollo de Sistemas Expertos se plantean dos importantes riesgos
1- No existen implementaciones similares que puedan servir de orientacioacuten al encargadodel desarrollo en la casi totalidad de los casos
2- En muchos puntos los requisitos necesarios estaacuten esbozados con muy poca precisioacuten
El disentildeo y la especificacioacuten requieren una temprana determinacioacuten de la interfaz delsoftware y de la funcionalidad de los componentes En el desarrollo de SistemasExpertos deben alterarse a menudo durante y tambieacuten despueacutes de su implementacioacuten yaque los requisitos se han ido configurando y han obtenido mayor precisioacuten o porque seha descubierto que deben iniciarse otras viacuteas de solucioacuten Durante el desarrollo resultamaacutes apropiado empezar con implementaciones tipo test para encontrar el camino haciauna solucioacuten definitiva y para hacerlas coincidir con las necesidades del usuario
32 Algoritmos Geneacuteticos
321 Antecedentes [Medina 2004] [Goldberg 1989] [Davis 1991]
El Algoritmo Geneacutetico es una teacutecnica de buacutesqueda basada en la teoriacutea de la evolucioacutende Darwin que ha cobrado tremenda popularidad en todo el mundo durante los uacuteltimosantildeos
Esta teacutecnica se basa en los mecanismos de seleccioacuten que utiliza la naturaleza de acuerdoa los cuales los individuos maacutes aptos de una poblacioacuten son los que sobreviven al
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
adaptarse maacutes faacutecilmente a los cambios que se producen en su entorno Hoy en diacutea sesabe que estos cambios se efectuacutean en los genes de un individuo (unidad baacutesica decodificacioacuten de cada uno de los atributos de un ser vivo) y que sus atributos maacutesdeseables se transmiten a sus descendientes cuando eacuteste se reproduce sexualmente
En 1859 Darwin publica su libro laquoEl origen de las especiesraquo El libro causoacute una granpoleacutemica en el mundo cientiacutefico por las revolucionarias teoriacuteas en eacutel contenidas que lasespecies evolucionan acorde al medio para adaptarse a eacuteste Con ello el universopasaba de ser una creacioacuten de Dios estaacutetica y perfecta desde su inicio a un conjunto deindividuos en constante competicioacuten y evolucioacuten para poder perpetuar su especie en eltiempo La existencia de una especie pasa asiacute a ser algo dinaacutemico las especies se creanevolucionan y desaparecen si no se adaptan Para cada especie animal la naturalezaproponiacutea un crudo filtro soacutelo los mejores los maacutes aptos los que mejor se adapten almedio conseguiacutean sobrevivir lo suficiente para llegar a la madurez y encontrar unapareja para perpetuar sus aptitudes que le haciacutean maacutes apto
La informaacutetica ve aquiacute un claro proceso de optimizacioacuten Se toman los individuos mejoradaptados (mejores soluciones temporales) se cruzan (se mezclan ) generando nuevosindividuos (nuevas soluciones) que contendraacuten parte del coacutedigo geneacutetico (informacioacuten)de sus dos antecesores y por lo tanto aunque el nuevo individuo no tenga que estarforzosamente mejor adaptado de hecho puede que ni la probabilidad de que el nuevoindividuo generado esteacute mejor adaptado que los padres sea alta el promedio de laadaptacioacuten de toda la poblacioacuten si mejora ya que tienden a perpetuarse y extenderse lasmejores caracteriacutesticas y a extinguirse las poco beneficiosas o perjudiciales En losAlgoritmos Geneacuteticos se crea una nueva abstraccioacuten -la poblacioacuten- cuya funcioacuten decoste mejoraraacute globalmente por lo que puede que se encuentre alguacuten individuo conmejores caracteriacutesticas
Un investigador de la Universidad de Michigan llamado John Holland era consciente dela importancia de la seleccioacuten natural y a fines de los antildeos 60 desarrolloacute una teacutecnica quepermitioacute incorporarla a un programa Su objetivo era lograr que las computadorasaprendieran por siacute mismas A la teacutecnica que inventoacute Holland se le llamoacute originalmentePlanes Reproductivos pero se hizo popular bajo el nombre Algoritmo Geneacutetico trasla publicacioacuten de su libro en 1975
En esa universidad Holland impartiacutea un curso titulado Teoriacutea de sistemas adaptativosDentro de este curso y con una participacioacuten activa por parte de sus estudiantes fuedonde se crearon las ideas que maacutes tarde se convertiriacutean en los Algoritmos GeneacuteticosLos objetivos de su investigacioacuten fueron dos
Imitar los procesos adaptativos de los sistemas naturales y Disentildear sistemas artificiales (normalmente programas) que retengan los mecanismos
importantes de los sistemas naturales
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
Unos 15 antildeos maacutes adelante David Goldberg actual delfiacuten de los Algoritmos Geneacuteticosconocioacute a Holland y se convirtioacute en su estudiante Golberg era un ingeniero industrialtrabajando en disentildeo de tuberiacuteas y fue uno de los primeros que tratoacute de aplicar losAlgoritmos Geneacuteticos a problemas industriales Aunque Holland tratoacute de disuadirleporque pensaba que el problema era excesivamente complejo Goldberg consiguioacute loque queriacutea escribiendo un Algoritmo Geneacutetico en una computadora personal Apple IIEstas y otras aplicaciones creadas por estudiantes de Holland convirtieron a losAlgoritmos Geneacuteticos en un campo con base suficiente como para celebrar la primeraconferencia en 1985 ICGAacute85 Tal conferencia se sigue celebrando bianualmente[Beasley 1993]
Una definicioacuten bastante completa de un Algoritmo Geneacutetico es la propuesta por JohnKoza es un algoritmo matemaacutetico altamente paralelo que transforma un conjunto deobjetos matemaacuteticos individuales con respecto al tiempo usando operaciones modeladasde acuerdo al principio Darwiniano de reproduccioacuten y supervivencia del maacutes apto y trashaberse presentado de forma natural una serie de operaciones geneacuteticas de entre las quedestaca la recombinacioacuten sexual Cada uno de estos objetos matemaacuteticos suele ser unacadena de caracteres (letras o nuacutemeros) de longitud fija que se ajusta al modelo de lascadenas de cromosomas y se les asocia con una cierta funcioacuten matemaacutetica que refleja suaptitud [Koza 1992] 322 Definicioacuten de AG
Los Algoritmos Geneacuteticos (AG) son meacutetodos adaptativos que pueden usarse pararesolver problemas de buacutesqueda y optimizacioacuten Estaacuten basados en el proceso geneacutetico delos organismos vivos A lo largo de las generaciones las poblaciones evolucionan en lanaturaleza de acorde con los principios de la seleccioacuten natural y la supervivencia de losmaacutes fuertes postulados por Darwin Por imitacioacuten de este proceso los AlgoritmosGeneacuteticos son capaces de ir creando soluciones para problemas del mundo real Laevolucioacuten de dichas soluciones hacia valores oacuteptimos del problema depende en buenamedida de una adecuada codificacioacuten de las mismas [Goldberg 1989]
Un Algoritmo Geneacutetico consiste en una funcioacuten matemaacutetica que toma como entradas alos ejemplares y retorna como salidas cuaacuteles de ellos deben generar descendencia para lanueva generacioacuten
Los Algoritmos Geneacuteticos presentan ventajas sobre otros algoritmos que los hacenpreferibles para determinado tipo de aplicaciones Algunas de las caracteriacutesticas de losAlgoritmos Geneacuteticos son
bull Son algoritmos estocaacutesticos Dos ejecuciones distintas pueden dar dos solucionesdistintas Esto es uacutetil por el hecho de que hay gran cantidad de isoacutemeros que
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
corresponden a soluciones vaacutelidas por lo que es interesante que distintas ejecucionespuedan dar isoacutemeros distintos
bull Son algoritmos de buacutesqueda muacuteltiple luego dan varias soluciones Aunquehabitualmente la energiacutea de los individuos de la poblacioacuten final es similar losindividuos suelen ser distintos entre si Con el modelo de paralelizacioacuten empleado -geneacutetico multipoblacional- la probabilidad de obtener muchas soluciones distintas esmaacutes alta todaviacutea
bull Son los algoritmos que hacen una barrida mayor al subespacio de posiblessoluciones vaacutelidas De hecho se considera que de todos los algoritmos deoptimizacioacuten estocaacutesticos los Algoritmos Geneacuteticos son de los maacutes exploratoriosdisponibles
323 Ventajas y Desventajas [Bull 1993]
bull No necesitan conocimientos especiacuteficos sobre el problema que intentan resolverbull Operan de forma simultaacutenea con varias soluciones en vez de trabajar de forma
secuencial como las teacutecnicas tradicionalesbull Cuando se usan para problemas de optimizacioacuten de una funcioacuten objetivo- resultan
menos afectados por los oacuteptimos locales (falsas soluciones) que las teacutecnicastradicionales
bull Usan operadores probabiliacutesticos en vez de los tiacutepicos operadores determiniacutesticos delas otras teacutecnicas
bull La mayoriacutea de las otras teacutecnicas de optimizacioacuten son tambieacuten estocaacutesticasbull Pueden tardar mucho en converger o no converger en absoluto dependiendo en
cierta medida de los paraacutemetros que se utilicen tamantildeo de la poblacioacuten nuacutemero degeneraciones etc-
bull Pueden converger prematuramente debido a una serie de problemas de diversaiacutendole
324 iquestCoacutemo saber si es posible usar un Algoritmo Geneacutetico
La aplicacioacuten maacutes comuacuten de los Algoritmos Geneacuteticos ha sido la solucioacuten de problemasde optimizacioacuten en donde han mostrado ser muy eficientes y confiables Sin embargono todos los problemas pudieran ser apropiados para la teacutecnica y se recomienda engeneral tomar en cuenta las siguientes caracteriacutesticas del mismo antes de intentar usarlabull Su espacio de buacutesqueda (ie sus posibles soluciones) debe estar delimitado dentro
de un cierto rangobull Debe poderse definir una funcioacuten de aptitud que indique que tan buena o mala es
una cierta respuestabull Las soluciones deben codificarse de una forma que resulte relativamente faacutecil de
implementar en la computadora
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
Decisiones para implementar un Algoritmo Geneacutetico [Michalewicz 1992]
Las decisiones que hay que tomar para implementar un Algoritmo Geneacutetico son
bull Criterio de codificacioacuten Coacutemo se va a almacenar la informacioacuten en el genomabull Criterio de tratamiento de individuos no factibles Coacutemo se van a tratar a los
individuos que no cumplan las restriccionesbull Criterio de inicializacioacuten Coacutemo se va a construir la poblacioacuten inicialbull Criterio de parada Determina cuaacutendo el algoritmo ha llegado a una solucioacuten
aceptablebull Funcioacuten de adaptacioacuten Corresponde a la funcioacuten de costo de la investigacioacuten
operativa tradicionalbull Operadores geneacuteticos Se emplean para determinar coacutemo va a ser la nueva
generacioacuten Baacutesicamente son los operadores de cruce y mutacioacuten aunque pueden serempleados otros adicionales -muerte aborto envejecimiento- Tanto cruce comomutacioacuten pueden ser realizados de muchas formas distintas
bull Criterios de reemplazo Los criterios que determinan quieacutenes se van a cruzar Notienen que ser obligatoriamente los mismos que los criterios de seleccioacuten de lospadres
bull Paraacutemetros de funcionamiento Determinados paraacutemetros que sin poder serenglobados en ninguno de los anteriores son fundamentales para el funcionamientode un Algoritmo Geneacutetico Es el caso por ejemplo del tamantildeo de la poblacioacuten laprobabilidad de la aplicacioacuten de los operadores geneacuteticos etc
325 Paraacutemetros que deben ser especificados en el programa
Nordm de generaciones cantidad de veces que se produce una nueva generacioacuten deindividuos utilizando las reglas anteriormente explicadas Por loacutegica cuantas maacutesgeneraciones se produzcan se obtendraacuten mejores individuosNordm de individuos por generacioacuten en este ejemplo la cantidad de individuos de unageneracioacuten a otra es constante no variacuteaNordm de entrenamientos cantidad de veces que se lleva a cabo un entrenamiento entrediferentes generaciones de individuos
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
Fig 32 Pseudocoacutedigo del Algoritmo Geneacutetico simple
Los Algoritmos Geneacuteticos son una poderosa herramienta de propoacutesito general deoptimizacioacuten que modela los principios de la evolucioacuten [Burke 1994]
El proceso es el siguiente
1 Una poblacioacuten random de horarios factibles es creada Cada horario es evaluado deacuerdo a una conjunto de criterios (por ejemplo el tamantildeo del horario cuantosgrupos son colocados a la misma hora y en el mismo saloacuten cuantos salones hayvaciacuteos)
2 Los horarios son seleccionados de manera aleatoria para ser las bases de la proacuteximageneracioacuten Los buenos horarios son maacutes deseables que los malos En las bases dela evaluacioacuten de estos miembros de la poblacioacuten (horarios factibles) se escogen lospadres de la proacutexima generacioacuten de horarios Evaluando numeacutericamente durante elproceso de seleccioacuten buscando los mejores horarios los peores horarios soneliminados al mismo tiempo que la buacutesqueda se dirige hacia las aacutereas maacutespromisorias del espacio de soluciones
3 El Operador Mutacioacuten se aplica generalmente a un solo miembro de la poblacioacuten einvolucra el cambio aleatorio de la hora o aula de algunos grupos despueacutesalmacena el nuevo horario siempre manteniendo un horario factible Esto agrega
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
un elemento que permite tambieacuten introducir material geneacutetico uacutetil que ha sidoperdido en otros horarios en las primeras generaciones
4 El Operador de Cruzamiento toma una pareja de horarios y los combina de algunamanera para producir uno o dos nuevos horarios esto se hace generalmente deforma aleatoria seleccionando algunos grupos de la mantildeana de un miembro de lapoblacioacuten y los algunos grupos de la tarde de otro miembro para producir un nuevohorario cualquier grupo que no pueda ser colocado de esta manera se manda alperiodo siguiente disponible
5 La nueva poblacioacuten es generada El proceso seraacute repetido hasta que una buenasolucioacuten sea generada
33 Programacioacuten Loacutegica de Restricciones (PLR)
331 Antecedentes de la PLR
La Programacioacuten Loacutegica de Restricciones (PLR) es una teacutecnica que tiene mucho encomuacuten con los algoritmos de asignacioacuten heuriacutestica Dechter describe asiacute el problemade la satisfaccioacuten de restricciones ldquoUn problema de satisfaccioacuten de restricciones (PSR)es representado por una red de restricciones consistente en un conjunto de n variablesX1 Xn con sus respectivos valores de dominio RR n y un conjunto derestricciones Una restriccioacuten Ci (Xi1Xij)es un subconjunto del producto cartesiano Ri1 x x R i1 formado por todas las tuplas de valores para un subconjunto(X i1X ij) delas variables que son compatibles unas con otrasrdquo [Detcher 1990]
Una solucioacuten de la red es una asignacioacuten de valores a todas las variables de tal formaque todas las restricciones son satisfechasrdquo Esta es una representacioacuten maacutes poderosaque el modelo de los Grafos Coloreados porque puede representar restricciones mascomplejas El problema de los grafos coloreados es equivalente a un PLR binario en lacual cada restriccioacuten soacutelo tiene dos variables
Este modelo se resuelve tratando de asignar valores a cada una de las variables encuestioacuten y entonces regresando si se encuentra en un punto muerto y quitandorestricciones si se descubre que no se puede encontrar solucioacuten El orden en el que lasvariables son seleccionadas y el orden de los valores que son asignados a las variablespuede ser alterado para tratar aumentar la velocidad de buacutesqueda
La PLR es un meacutetodo que permite el disentildeo raacutepido de prototipos de resolucioacuten deproblemas complejos Las principales aportaciones en esta liacutenea se centran en eldesarrollo de programas que incluyen conjuntos de restricciones adaptadas a unadeterminada familia de problemas asiacute como al disentildeo formal e implementacioacuten demodelos de interpretacioacuten en paralelo con el fin de mejorar la eficiencia del proceso
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
deductivo El objetivo final es disponer de sistemas de resolucioacuten implementados paraapoyar la creacioacuten de sistemas donde la explosioacuten combinatoria de los elementos de unproblema hace muy difiacutecil la buacutesqueda de una solucioacuten en un tiempo razonable [Farion1992]
En esta seccioacuten se proporciona una breve introduccioacuten de la Programacioacuten Loacutegica conRestricciones y sus aplicaciones dentro del marco general de la programacioacuten loacutegica Setrata eacuteste de un campo que ha tenido una notable expansioacuten debido a su potencialaplicacioacuten praacutectica dado que el anaacutelisis de las restricciones permite mejorarconsiderablemente la eficiencia del caacutelculo de determinadas funciones
332 Restricciones
En primer lugar se empieza por contestar la pregunta iquestQueacute es una restriccioacuten Estacuestioacuten se puede responder tan brevemente como escribe Roman Bartak[1998]Una restriccioacuten es simplemente una relacioacuten loacutegica entre varias variablesdesconocidas tomando cada una un valor dentro de un dominio determinado (peA+B=C-el circulo estaacute dentro del cuadrado- etc)Asiacute las restricciones aparecen de forma natural en todos los campos del conocimientohumano La suma de los aacutengulos de un triaacutengulo es 180 grados es un ejemplo derestriccioacuten que aparece en el mundo real De hecho las restricciones son el medionatural en el que las personas expresamos los problemas en todas las aacutereas
Con la explicacioacuten dada se ve de forma natural que las restricciones gozan de variaspropiedades interesantes
bull las restricciones pueden especificar informacioacuten parcial es decir en lasrestricciones no hace falta que se den de forma uacutenica los valores de sus variables
bull las variables son no direccionales es decir en una restriccioacuten tiacutepica sobre dosvariables (XY) se puede inferir una restriccioacuten sobre X dada una restriccioacutensobre Y y viceversa
bull las restricciones son declarativas es decir se puede especificar que relacioacutendeben mantener sin especificar el procedimiento computacional que implementeesa relacioacuten
bull las restricciones son aditivas es decir el orden de imposicioacuten de las restriccionesno importa todo lo que importa al fin y al cabo es la conjuncioacuten de restriccionesy su efecto
bull las restricciones no suelen ser independientes normalmente restricciones dentrodel conjunto total de restricciones comparte variables
Asiacute siguiendo esta idea el objetivo de la Programacioacuten Loacutegica con Restricciones essustituir el proceso de unificacioacuten por la resolucioacuten de restricciones sobre un dominio
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
particular de intereacutes Con esta visioacuten se considera que el procesador de restriccionesdebe encargarse de comprobar la consistencia del conjunto de restricciones y dentro delo posible reducirlo a alguna forma normal
Seguacuten Elmohamed [Elmohamed 1998] las restricciones pueden ser divididas en trestipos fuertes medias y suaves
Restricciones fuertes Son todas aquellas que deben ser cumplidas obligatoriamente elcosto de no cumplir estas restricciones es sumamente alto y por lo tanto en un horariofactible su costo asociado por incumplimiento debe ser cero Por ejemplo (en unproblema real se pueden encontrar de 10 a 15 restricciones fuertes)
bull Dos o maacutes clases impartidas por un profesor no se pueden programar a lamisma hora
bull Una clase teoacuterica y su laboratorio no se pueden programar a la misma hora en elmismo diacutea
bull Una clase no se puede programar en un aula a menos que su capacidad seamayor al nuacutemero de alumnos inscritos
Restricciones medias Estas restricciones no se refieren a conflictos de tiempo perotienen asociado un alto costo a ellas sin embargo este costo no es tan alto como el de lasrestricciones fuertes En el condensado de horarios final el costo de estas restriccioneses minimizado y es deseable reducirlo a cero Por ejemplo (en un problema real sepueden tener entre 20 y 25 restricciones medias)
bull Para cada estudiante el balancear las secciones LunMieVie y MarJuebull Balancear o distribuir y equilibrar las horas de clase en la semanabull Las clases pueden requerir periodos de tiempo contiguosbull Las clases se pueden agrupar con otras clases formando paquetesbull Los horarios particulares deben tener la menor cantidad de ldquohoyosrdquo posible esto
es que las clases deben ser consecutivas unas despueacutes de otras
Restricciones suaves Estas restricciones no tienen nada que ver con conflictos detiempo y tienen un bajo costo asociado a ellas Tambieacuten en el condensado de horariosfinal este costo es minimizado pero no necesariamente debe ser cero Por ejemplo (sepueden tener entre 30 y 40 restricciones suaves)
bull Balancear la inscripcioacuten en cursos de varios paquetesbull Especificar la hora de comida y otros periodos de descansobull Los catedraacuteticos pueden requerir periodos de tiempo sin clasebull No inscribir alumnos-atletas en cursos que tengan conflicto con sus horas de
praacutectica deportiva etc
333 Sistemas con RestriccionesUna manera maacutes formal de definir las restricciones es considerarlas como una foacutermulade primer orden interpretada en una estructura para asiacute tener en cuenta la semaacutenticaparticular del sistema de restricciones Esta semaacutentica declarativa es adecuada cuando
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
existe a priori una estructura que se adecua al sistema de restricciones (pe Los realespara las restricciones aritmeacuteticas) pero esto no funciona demasiado bien para lossistemas de restricciones maacutes praacutecticos (pe Dominios finitos) Obviamente no se puededireccionar ninguacuten caacutelculo operacional relacionado con el propio procesador de lasrestricciones [Elmohamed 2001]
334 Referencia Histoacuterica de las RestriccionesLas restricciones como un aacuterea de trabajo que combina investigacioacuten de un gran nuacutemerode campos incluyendo Inteligencia Artificial Lenguajes de Programacioacuten CaacutelculoSimboacutelico y Loacutegica Computacional Las restricciones sobre redes y los problemas desatisfabilidad con restricciones empezaron a estudiarse por los investigadores deInteligencia Artificial en los antildeos 70
La programacioacuten con restricciones ha sido aplicada con notable eacutexito en numerososcampos Los trabajos en esta aacuterea se remontan a la investigacioacuten de InteligenciaArtificial y Representacioacuten Graacutefica por Computadora por los antildeos 60 y 70 En la uacuteltimadeacutecada sin embargo ha empezado a darse una mayor conciencia de que las restriccionesproporcionan las bases para un potente acercamiento a la programacioacuten modelado yresolucioacuten de problemas y que los diferentes esfuerzos por explotar estas ideas puedenser unidos bajo el mismo prisma conceptual y praacutectico la programacioacuten conrestricciones
Entre los dominios tratados por los sistemas de Programacioacuten Loacutegica con Restriccioneslos que maacutes ampliamente son investigados son sin duda los dominios finitos losnuacutemeros reales y racionales con restricciones aritmeacuteticas y los booleanos De hecho 3de los principales lenguajes de Programacioacuten Loacutegica con Restricciones son un claroejemplo de esta tendencia CHIP que proporciona restricciones sobre dominios finitosracionales y booleanos PrologIII que incluye racionales booleanos y listas y PLR(R)que maneja restricciones sobre reales
En la actualidad se pueden observar dos ramas principales en los avances en laprogramacioacuten con restricciones que parten de diferente base y por tanto usan diferentemetodologiacutea para resolver las restricciones Estas dos ramas son
bull Satisfaccioacuten de Restriccionesbull Resolucioacuten de Restricciones
335 Satisfaccioacuten de RestriccionesLa satisfaccioacuten de restricciones parte de los avances en Inteligencia Artificial (problemascombinatorios) y los Graacuteficos por computadora (sistema de SKETCHPAD[1963]expresando coherencia geomeacutetrica en el caso de anaacutelisis de escenas)
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
336 Resolucioacuten de RestriccionesLa resolucioacuten de restricciones difiere de la satisfaccioacuten de restricciones porque usavariables con dominios infinitos Ademaacutes las restricciones individuales son maacutescomplicadas por ejemplo ecuaciones no lineales En consecuencia los algoritmos deresolucioacuten de restricciones usan meacutetodos algebraicos y numeacutericos en vez decombinaciones y buacutesqueda Sin embargo existe metodologiacutea para discretizar losdominios infinitos en un nuacutemero finito de componentes y entonces se aplican lasteacutecnicas de Satisfaccioacuten de Restricciones
La programacioacuten con restricciones ha sido aplicada con eacutexito en numerosos campos Lasaplicaciones recientes incluyen [Detcher 1990]
bull Graacuteficos por Computadorabull Procesamiento del Lenguaje Natural (construccioacuten de analizadores eficientes)bull Sistemas de Bases de Datos (para reforzar yo mantener la consistencia de los
datosbull Problemas de Investigacioacuten Operativa (como la optimizacioacuten de problemas)bull Biologiacutea Molecular (secuenciacioacuten de ADN)bull Aplicaciones de Empresabull Ingenieriacutea Eleacutectrica (localizacioacuten de fallos)bull Disentildeo de Circuitos (para computar configuraciones)bull Planificacioacuten y organizacioacutenbull Configuracioacutenbull Juegosbull Configuracioacuten de horariosbull Criptoaritmeacuteticabull Coloreado de Grafosbull Razonamiento de hipoacutetesis quiacutemicas
En esta seccioacuten se va a dedicar una parte a cada una las aplicaciones maacutes estudiadas
337 Organizacioacuten de Proyectos
El problema de la Organizacioacuten es el proceso de asignar actividades a recursos en eltiempo En el caso general de organizacioacuten es un proceso de tomar decisiones donde sepueden tomar dos tipos de decisiones
bull Decisiones de situar temporalmente Cuaacutendo deberiacutea empezar cada actividadbull Decisiones de asignacioacuten de recursos Con queacute recursos deberiacutea ejecutarse cada
actividad
Los problemas de organizacioacuten y de asignacioacuten de recursos estaacuten basados enrestricciones Diferentes restricciones pueden afectar a la organizacioacuten la duracioacuten de
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
una actividad las fechas de contrato restricciones precedentes tiempos de transferenciao de inicio de la actividad la capacidad de los recursos y el reparto de recursos
La relajacioacuten de las restricciones principales caracteriza la calidad de los problemas deorganizacioacuten Estas restricciones son las relacionadas con fechas de entregaproductividad periodicidad de los cambios de herramientas niveles de inventariomargen de tiempo etc Algunas de estas restricciones pueden ser combinadas en lafuncioacuten de evaluacioacuten para la optimizacioacuten
Las aplicaciones industriales de las teacutecnicas de resolucioacuten de restricciones a losproblemas del tipo de asignacioacuten de tareas incluye[Detcher 1990]
bull Organizacioacuten de la produccioacutenbull Organizacioacuten y planificacioacuten del transporte y la logiacutesticabull Administracioacuten del traacuteficobull Disentildeo de horarios de recursos y de hombresbull Asignacioacuten de plantilla incluyendo aplicaciones de ingenieriacutea de organizacioacutenbull Problemas de empaquebull Configuracioacuten de maacutequinas
Claramente hay muchos problemas relacionados en el aacuterea de la organizacioacuten en lapraacutectica para los sistemas comerciales e industriales reales los liacutemites entre unos y otrosno estaacuten claros Es difiacutecil encontrar alguacuten problema real que se ajuste a un modelopreconcebido sin tener que descartar partes del problema y aproximar otras asiacute que hayque tomar estos modelos con amplio margen de aproximacioacuten
Otra complicacioacuten es el tema de la optimizacioacuten En algunos casos el usuario estaacutesatisfecho soacutelo con tener una manera automaacutetica de tener la respuesta pero la mayoriacuteaquieren tener al menos una buena respuesta y algunos el mejor resultado posible Perodebido a la gran complejidad combinatoria de la mayoriacutea de los problemas reales deorganizacioacuten una optimizacioacuten real es muy difiacutecil asiacute que en la mayoriacutea de los casos seusa la programacioacuten con restricciones en combinacioacuten con otras teacutecnicas tales comoAlgoritmos Geneacuteticos para dar soluciones casi oacuteptimas en un tiempo razonable
Normalmente los problemas de organizacioacuten se presentan usando variables conrestricciones fuertes y restricciones suaves Estas pueden ser agrupadas en la abstraccioacutendel problema de organizacioacuten Asiacute tiacutepicamente el tiempo de comienzo y fin y laduracioacuten de cada actividad se representan por variables con restricciones Los dominiosde estas variables son el rango de tiempo de intereacutes en la organizacioacuten requerida
Capiacutetulo 4 Anaacutelisis y Disentildeo
CAPIacuteTULO 4
ANAacuteLISIS Y DISENtildeO
41 Recopilacioacuten de informacioacuten
bull Documentos recopilados
bull Cataacutelogo de asignaturas prerrequisitos y semestrebull Cataacutelogo de aulas y su capacidadbull Cataacutelogo de catedraacuteticos horas disponiblesbull Mapa reticular de la carrerabull Reporte de grupos abiertos en periodo actualbull Reporte de alumnos por grupo en periodo actualbull Reporte de alumnos no inscritos por materia y semestrebull Reporte de simulacioacuten (si todos aprobaran sus cursos)bull Reporte del iacutendice de reprobacioacuten del semestre anteriorbull Encuesta aplicada para determinar los conocimientos requeridos
para impartir una materiabull Encuesta aplicada para obtener los conocimientos de cada
catedraacuteticobull Aacuterbol de conocimiento realizado para determinar los grupos por
abrir de cada asignaturabull Aacuterbol de conocimiento del perfil de las asignaturasbull Aacuterbol de conocimiento del perfil de los catedraacuteticosbull Aacuterbol de conocimiento de los criterios de apertura de materia
bull El proceso de la elaboracioacuten de los horarios
1 Elaboracioacuten de los reportes estadiacutesticos del periodo actual(grupos abiertos alumnos por grupo alumnos no inscritos pormateria simulacioacuten iacutendice de reprobacioacuten)
2 Caacutelculo de la estimacioacuten de alumnos por materia del proacuteximoperiodo
3 Caacutelculo del nuacutemero de grupos por materia requeridos para elproacuteximo periodo
4 Ajuste de los grupos por materia requeridos para el proacuteximoperiodo
5 Formacioacuten de los grupos en paquetes por semestre6 Asignacioacuten de hora y aula a los grupos
Capiacutetulo 4 Anaacutelisis y Disentildeo
7 Seleccioacuten de catedraacutetico al grupo y viceversa8 Ajustes en hora aula y catedraacutetico por grupo9 Elaboracioacuten del reporte condensado para publicacioacuten de horarios10 Elaboracioacuten de los reportes de grupos sin maestro maestros con
horas disponibles grupos sin aula
Para elaborar los horarios de los grupos y maestros un semestre determinado se tienenen consideracioacuten los siguientes elementos
bull El estadiacutestico de Servicios Escolares (SE)El departamento de SE cuenta con un sistema que registra todo el historial acadeacutemicode los alumnos inscritos en el ITZ las materias cursadas y sus calificaciones lasdiferentes carreras con su retiacutecula de asignaturas y sus prerrequisitos los grupos delsemestre actual la cantidad de alumnos en cada grupo de una asignatura los iacutendicesde reprobacioacuten de semestres anteriores las materias que puede cursar un alumno elproacuteximo semestre etceacutetera Toda esta informacioacuten plasmada en reportesdiferentes es la base para la generacioacuten de los horarios del proacuteximo semestre
bull Los grupos requeridosSobre la base de operaciones aplicadas a la informacioacuten estadiacutestica se obtiene lacantidad de grupos requeridos para abrirse el proacuteximo semestre este nuacutemero degrupos es la cantidad oacuteptima con la que se podraacuten inscribir los alumnos sin tenerproblemas de falta de espacio el alterar disminuyendo o aumentando el nuacutemero degrupos requeridos puede ocasionar alumnos con carga crediticia menor a lareglamentaria o que existan grupos con menos de 10 alumnos respectivamente
bull Las aulasEl ITZ cuenta con 52 aulas repartidas entre las 8 carreras a cada coordinador decarrera se le asigna determinado numero de aulas para su administracioacuten asiacute que alasignar el aula a cada grupo debe cuidar la correcta distribucioacuten de los grupos en loshorarios correspondientes y que la capacidad de las aulas no rebase el numero dealumnos inscritos
bull Los maestros y departamentosCada departamento esta formado por un jefe y los catedraacuteticos que forman laacademia de cada carrera los profesores pueden ser de tiempo completo frac34 y frac12tiempo o profesores de asignatura cada uno tiene un horario predeterminado en turnomatutino o vespertino los catedraacuteticos de un departamento cubren las asignaturas desu carrera y apoyan a otras carreras a cubrir las materias que tienen el perfil de esaacademia los catedraacuteticos son uno de los recursos mas difiacuteciles de controlar
Restricciones propias de los profesores
o Materia no tiene maestro
o Maestro tiene horas disponibles
Capiacutetulo 4 Anaacutelisis y Disentildeo
o Maestro tiene materias preferencia
o Maestro ha impartido materia
o Maestro solicita materia
o Maestro tiene restricciones de nuacutemero de materias a impartir
o Restriccioacuten no pueden darse maacutes de tres materias diferentes
o Maestro tiene una profesioacuten
o Maestro tiene un perfil
o Maestro tiene un aacuterea definida
o Maestro prefiere materias especialidad
o Maestro prefiere materias semestres iniciales
bull Las materias o asignaturasEn cada carrera se tiene un mapa reticular que tiene las materias de cada semestre elnombre los creacuteditos las horas de teoriacutea y praacutectica las ligas con los prerrequisitos lasmaterias de la especialidad seleccionada etc
Restricciones propias de las asignaturas
o Materia de 1deg semestre
o Materia de 2deg semestre
o Materia de 3deg semestre
o Materia de 4deg semestre
o Materia de 5deg semestre
o Materia de 6deg semestre
o Materia de 7deg semestre
o Materia de 8deg semestre
o Materia de 9deg semestre
o Materia de especialidad
o Materia tiene prerrequisito
o Materia es de baacutesicas
o Materia requiere conocimientos de Base de Datos
o Materia requiere conocimientos de Electroacutenica
o Materia la puede impartir cualquier maestro
Capiacutetulo 4 Anaacutelisis y Disentildeo
o Materia requiere conocimientos de Redes
o Materia requiere ser impartida por ingeniero
o Materia tiene complejidad alta
o Materia debe ser impartida por catedraacutetico con grado de maestriacutea
o Materia requiere conocimientos de Arquitectura de Computadoras
o Materia no tiene cadenas
o Materia de Administracioacuten
o Materia de Ingenieriacutea Industrial
o Materia requiere conocimientos de Aacutelgebra
o Materia requiere conocimientos de Caacutelculo Diferencial e Integral
o Materia requiere conocimientos de Quiacutemica Inorgaacutenica y Orgaacutenica
o Materia requiere una elaboracioacuten de proyectos
bull Las carrerasLas 8 carreras que se imparten en el ITZ son ordenadas por nuacutemero de alumnos
1 Ingenieriacutea en Sistemas Computacionales2 Licenciatura en Informaacutetica3 Licenciatura en Administracioacuten4 Ingenieriacutea Civil5 Ingenieriacutea Electromecaacutenica6 Ingenieriacutea Industrial7 Ingenieriacutea Quiacutemica8 Ingenieriacutea Bioquiacutemica
bull Los horarios de grupoUna vez determinados los grupos requeridos para el proacuteximo semestre se procede a laasignacioacuten de horario de acuerdo al nuacutemero de horas teoacuterico-praacutecticas se le asignaaula y un catedraacutetico responsable se fija tambieacuten un nuacutemero de alumnos y el tiempode laboratorio en caso de ser necesario
Capiacutetulo 4 Anaacutelisis y Disentildeo
Diagrama de flujo del proceso
Elaboracioacuten de los reportes estadiacutesticos
Caacutelculo de alumnos por materiaproacuteximo periodo
Caacutelculo del nuacutemero de grupos pormateria requeridos
Ajuste de los grupos por materiarequeridos
Formacioacuten de los grupos en paquetespor semestre
Asignacioacuten de hora y aula a los grupos
Asignacioacuten de catedraacutetico al grupo
Ajustes en hora aula y catedraacutetico porgrupo
Elaboracioacuten del reporte condensado
Elaboracioacuten de reportes varios
Todo cuadrabien
Si
No
Fin
Inicio
Capiacutetulo 4 Anaacutelisis y Disentildeo
42 Anaacutelisis de la informacioacuten
bull Cataacutelogo de asignaturas prerrequisitos y semestre
Funcioacuten Dar a conocer las asignaturas de una carrera los prerrequisitos de las materiasy el semestre al que pertenece una asignatura los creacuteditos miacutenimos que debe tenerun alumno para cursar la asignatura
Origen Reporte emitido por el departamento de Servicios Escolares
Campos del reporte nombre carrera nombre asignaturas creacuteditos miacutenimos materiasprerrequisito semestre al que pertenece la asignatura
bull Cataacutelogo de aulas y su capacidad
Funcioacuten Dar a conocer la nomenclatura y capacidad de las aulas y laboratorios del ITZ
Origen Departamento de Planeacioacuten
Campos del reporte Nombre del edificio nuacutemero de aula capacidad
bull Cataacutelogo de catedraacuteticos horas disponibles
Funcioacuten Dar a conocer los catedraacuteticos por departamento y sus horas disponibles frentea grupo
Origen Departamentos acadeacutemicos
Campos del reporte Nombre del departamento clave de profesor nombre del profesorcantidad de horas frente a grupo que debe tener
bull Mapa reticular de la carrera
Funcioacuten Mostrar el mapa reticular de una carrera graacuteficamente muestra las asignaturaspor semestre sus requisitos foacutermula crediticia etc
Origen Divisioacuten de Estudios Profesionales
Campos del reporte Nombre y clave de la carrera nombre y clave de las asignaturasfoacutermula crediticia (nuacutemero de horas teoacutericas nuacutemero de horas praacutecticas creacuteditos dela asignatura) las materias prerrequisito de otras materias de especialidad semestrede la asignatura nuacutemero de creacuteditos necesarios para poder cursar una asignatura
Capiacutetulo 4 Anaacutelisis y Disentildeo
bull Reporte de grupos abiertos en periodo actual
Funcioacuten Muestra los cursos que son ofertados en el periodo actual
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera nombre de las asignaturas grupo de loscursos cantidad de alumnos inscritos nombre del catedraacutetico que lo imparte
bull Reporte de alumnos por grupo en periodo actual
Funcioacuten Muestra la cantidad de alumnos inscritos por semestre de una carrera
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera semestres del 1 al 13 nuacutemero de alumnosinscritos por semestre
bull Reporte de alumnos no inscritos por materia y semestre
Funcioacuten Muestra los alumnos que pudieron inscribirse a una materia pero que poralguna razoacuten no lo hicieron
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera nombre de la materia por semestre nuacutemerode alumnos que pudieron inscribirse y no lo hicieron
bull Reporte de simulacioacuten (si todos aprobaran sus cursos)
Funcioacuten Este reporte simula que todos los alumnos inscritos en los cursos acreditan elcurso entonces cuenta cuantos estudiantes pueden cursar todas las asignaturas comosi hubieran aprobado todos sus cursos actuales
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera nombre de la asignatura y por semestre elnuacutemero de alumnos que pueden cursar una materia
bull Reporte del iacutendice de reprobacioacuten del semestre anterior
Funcioacuten Dar a los coordinadores los iacutendices de aprobacioacuten y reprobacioacuten de los cursosdel periodo anterior
Capiacutetulo 4 Anaacutelisis y Disentildeo
Origen Departamento de Servicios EscolaresCampos del reporte Nombre de la carrera nombre de la asignatura total de alumnos
aprobados total de alumnos reprobados del periodo anterior
bull Encuesta de conocimientos requeridos para impartir asignatura
Funcioacuten Obtener los datos de los conocimientos que debe poseer un catedraacutetico quequiera impartir una asignatura
Origen Academia de cada departamentoCampos del reporte Nombre de la asignatura objetivo de la asignatura carrera lista de
conocimientos requeridos para impartir la asignatura carrera adecuada del profesorque imparta la asignatura
bull Encuesta de conocimientos requeridos para perfil de profesores
Funcioacuten Obtener los datos de los conocimientos que debe posee un catedraacutetico
Origen Academia de cada departamento
Campos del reporte Nombre del catedraacutetico carrera del catedraacutetico conocimientos enaacutereas particulares de cada asignatura
43 Solucioacuten definida
Resolver el problema iniciando con la metodologiacutea ldquodivide y venceraacutesrdquo el problemageneral se dividiraacute en 6 problemas particulares
a) Sistema de Informacioacuten para control de horariosb) Sistema Experto para definicioacuten y generacioacuten de grupos
por abrirc) Moacutedulo Programacioacuten Loacutegica de Restricciones para
asignar horario a los gruposd) Moacutedulo Algoritmos Geneacuteticos para asignar aula a los
grupos ya definidose) Sistema Experto para definir catedraacutetico para
asignaturaf) Sistema Experto para asignar asignatura a catedraacutetico
Debido a la naturaleza y caracteriacutesticas de la informacioacuten todos lossistemas seraacuten realizados iniciando desde cero la recopilacioacuten deinformacioacuten el anaacutelisis el disentildeo y la programacioacuten de cada moacutedulo delsistema programado en Visual Basic y Bases de Datos en Access
Capiacutetulo 4 Anaacutelisis y Disentildeo
La principal ventaja de eacutesta opcioacuten es que el sistema estaacute hecho a la medida de lasnecesidades de la institucioacuten poniendo las restricciones en el formato que se tienenactualmente la desventaja es que se debe desarrollar TODO el sistema
44 Requerimientos del sistema
Los Motores de Inferencias deben ser disentildeados con las siguientes caracteriacutesticas
bull Buacutesqueda de primero en profundidad en ocasiones cuando se interactuacutee con elusuario este tipo de buacutesqueda seraacute utilizado para recorrer toda la base deconocimiento
bull Buacutesqueda heuriacutestica en la que el usuario deberaacute dar datos iniciales de por dondeempezar la buacutesqueda de alguna informacioacuten
bull Tomar informacioacuten de la Base de Conocimiento y guardarla en las bases de datos ytambieacuten inferir la informacioacuten y guardarla en las bases de datos para su posteriortratamiento e impresioacuten
bull Seleccionar la mejor opcioacuten y presentarla al usuario para los casos en que el usuariodecida cambiar alguacuten dato la maacutequina deberaacute presentar una opcioacuten y saber indicarel porqueacute la ldquoeligioacuterdquo
bull Dar otras soluciones ademaacutes de la oacuteptima teniendo porcentajes de aceptacioacuten paracada solucioacuten y permitiendo la buacutesqueda de maestros a impartir materias aulas paraalguacuten grupo o cantidad de grupos a abrir
bull Dar resultados en lenguaje natural de modo que el usuario entienda claramente loque la maacutequina le comunica
bull Trabajar interactivamente con el usuario para que eacuteste pueda cuestionar el porqueasignoacute un maestro abrioacute grupos asignoacute un aula etceacutetera
bull Tener capacidad para el uso del paradigma basado en analogiacuteas ldquoSi un maestro yadio la materia en alguacuten semestre entonces puede darla en este semestrerdquo o bien ldquoSieste paquete de materias estaacute completo entonces repite todo el paquete estesemestrerdquo
Interfaz de Usuario recibe y entrega informacioacuten interactuando con el usuario esdecir el usuario puede
1) alimentar hechos2) solicitar resultados y reportes3) cuestionar coacutemo se obtuvieron ciertas conclusiones
La interfaz de usuario debe tener las caracteriacutesticas siguientes
bull Comunicarse en el lenguaje del usuario sea un humano u otro dispositivobull Recibir hechos del usuario y almacenarlos en la base de hechosbull Presentar de manera amigable los objetivos a buscar e inferencias en pantallabull Dar de manera clara la explicacioacuten de la inferencia realizada
Capiacutetulo 4 Anaacutelisis y Disentildeo
bull Dar resultados por escrito en informesbull Proporcionar al usuario la facilidad de alimentar la base de conocimientosbull Dar al usuario la facultad de corregir las inferenciasbull Si el usuario es inexperto facilitar la ayuda necesaria
Seleccioacuten del lenguaje de programacioacuten
Visual Basic 60 proporciona a los programadores facilidad para desarrollar aplicacionescomplejas en poco tiempo (comparado con lo que cuesta programar en Visual C++ porejemplo)
El sistema necesita interfaces amigables al usuario con ventanas y botones emergentesen cualquier momento y Visual Basic 60 es una herramienta de disentildeo de aplicacionespara Windows en la que eacutestas se desarrollan en una gran parte a partir del disentildeo de unainterfaz graacutefica (pudiendo incorporar todos los elementos de este entorno informaacuteticoventanas botones cajas de diaacutelogo y texto botones de opcioacuten y de seleccioacuten barras dedesplazamiento graacuteficos menuacutes etc) En una aplicacioacuten Visual Basic 60 el programaestaacute formado por una parte de coacutedigo puro y otras partes asociadas a los objetos queforman la interfaz graacutefica Visual Basic 60 permite la programacioacuten de sus ventanasbotones y componentes de manera maacutes faacutecil que Java con sus Applets
En la parte del sistema de control de horarios que es un sistema de informacioacuten comuacutenlos programas que llenan de informacioacuten las bases de datos son muy parecidos unos conotros al hacer los procesos de altas bajas modificaciones consultas y validaciones seutilizan las ventajas que Visual Basic 60 ofrece de la Programacioacuten Orientada aObjetos (POO) eacutesta es una forma de programacioacuten que utiliza objetos ligados mediantemensajes para la solucioacuten de problemas Puede considerarse como una extensioacuten naturalde la programacioacuten estructurada en un intento de potenciar los conceptos demodularidad y reutilizacioacuten de coacutedigo Las caracteriacutesticas fundamentales de la POO sonabstraccioacuten encapsulamiento herencia y polimorfismo
Visual Basic 60 soporta la abstraccioacuten la encapsulacioacuten el polimorfismo y lareutilizacioacuten de coacutedigo Los objetos de Visual Basic estaacuten encapsulados es decircontienen su propio coacutedigo y sus propios datos
Manejador de Base de datos para el almacenamiento de la informacioacutenEl manejador de base de datos a utilizar seraacute Microsoft Access debido a que los usuariosque alimentan la base de conocimientos son expertos en diferentes aacutereas delconocimiento y tiene conocimientos limitados de los diferentes manejadores y estaacuten maacutesfamiliarizados con Microsoft Access Ademaacutes de que Access es transportablefaacutecilmente
Ademaacutes la cantidad y tipo de informacioacuten que se almacena en las tablas no requieremanejadores de bases de datos potentes o con caracteriacutesticas especiales
Capiacutetulo 4 Anaacutelisis y Disentildeo
Sistemagenerador dehorarios
SistemaExperto
Reglas
Criterios
Criterios por regla Conocimiento
Procesos
Capturaestadiacutesticas
Calcula grupos
Ajusta grupos
Sistema expertoasigna materia
Sistema Expertoasigna maestro
Asigna materia
Asigna catedraacutetico
Conocimientos
Procesos
Materias
Perfil general
Catedraacuteticos
Perfil materias
Perfil maestro
Asignacioacutenmateria-maestro
Asignacioacutenmaestro-materia
Buacutesqueda independiente
B adelante
B atraacutes
Abduccioacuten
Explicacioacuten
MoacuteduloPLR
Asigna horario
Datos
Arbol derestricciones Procesos
Materia
Grupos
Paquetes
Horario
Restriccioacuten 1
Restriccioacuten 3
Restriccioacuten 2
Restriccioacuten N
Genera random
Evaluacutea restricciones
Guarda grupo
MoacuteduloAlgoritmoGeneacutetico
Asigna aula
Operadores Geneacuteticos
Evaluacioacuten
Cruzamiento
Seleccioacuten
Mutacioacuten
Poblacioacuten Inicial
Versioacuten 1
Versioacuten 2
Versioacuten 3
Versioacuten N
Condensadodatos grales
Materia
Hora
Aula
Control escolar
Sistema deInformacioacuten
Aulas
Horarios
Grupos
Maestros
Datosestadiacutesticos
Datosgenerales
Datos condensado
Materias
45 MAPA CONCEPTUAL DEL PROYECTO
Capiacutetulo 4 Anaacutelisis y Disentildeo
Capiacutetulo 4 Anaacutelisis y Disentildeo
En la Figura 41 se muestra el mapa conceptual del proyecto La burbuja centralrepresenta el sistema generador de horarios y cada rama representa uno de los seismoacutedulos que lo componen las burbujas de cada rama contienen a su vez variasramificaciones en las que se muestran de manera graacutefica los componentes maacutesrepresentativos de los procesos utilizados la informacioacuten que manejan el conocimientoque utilizan y las restricciones involucradas
El moacutedulo Servicios Escolares contiene informacioacuten necesaria para la administracioacuten delos horarios en general y proporciona los datos para el funcionamiento de los demaacutesmoacutedulos
El moacutedulo Sistema Experto Creacioacuten de Grupos (SECG) muestra el conocimiento yprocesos utilizados para definir la cantidad de grupos a ofertar a partir de la informacioacutenestadiacutestica proporcionada por servicios escolares maacutes adelante en el documento seexplica a detalle su funcionamiento
En la Figura 41 se aprecia que los moacutedulos Sistema Experto AsignaCatedraacutetico(SEAC) y Sistema Experto Asigna Materia(SEAM) comparten las bases deconocimiento porque el conocimiento de un SE es la base de hechos del otro en amboscasos los procesos difieren solamente en la informacioacuten que utilizan y en los resultadosque producen noacutetese que existe un proceso que es ldquobuacutesqueda independienterdquo que puedecatalogarse como un Sistema Experto adicional que sirve para sugerir las asignaturasque puede impartir una persona que no estaacute dentro de las bases de datos de maestros ypor lo tanto su perfil tampoco estaraacute capturado en esta caso los hechos (su perfil deconocimientos) es capturado en el momento de la consulta
El moacutedulo de Algoritmos Geneacuteticos (AG) muestra los datos que recibe como se generauna poblacioacuten inicial el tratamiento que se le aplica por medio de los operadoresgeneacuteticos y la informacioacuten que se genera
Por uacuteltimo en la Figura 41 se nota tambieacuten el moacutedulo donde se utiliza la ProgramacioacutenLoacutegica de Restricciones que contiene 3 ramas donde una representa los datos recibidosy la informacioacuten generada otra rama denota un aacuterbol de restricciones que deben sersatisfechas por los paquetes de horarios la uacuteltima rama denota los procesos que se llevana cabo debe notarse que existe un proceso aleatorio que genera cada grupo un procesoque evaluacutea el grupo contra las restricciones y uno mas que guarda los grupos quecumplieron con todas
En este mapa conceptual no se muestra en que orden se ejecuta cada moacutedulo delproyecto la Figura 42 ilustra la secuencia de ejecucioacuten de los moacutedulos
La Figura 42 muestra el diagrama con la secuencia en que se van ejecutando losprocesos los datos que ingresan a cada moacutedulo y la informacioacuten que genera
Capiacutetulo 4 Anaacutelisis y Disentildeo
452 MAPAS CONCEPTUALES DE LOS MOacuteDULOS
Servicios Escolares
Datos Estadiacutesticos
Sistema Experto Creacioacuten de Grupos
Materias y grupos requeridos
Moacutedulo PLR
Materia + grupo + hora
Moacutedulo AG
Materia + grupo + hora + aula
Sistema ExpertoAsigna Catedraacutetico Sistema Experto
Asigna Materia
Sugiere profesorpara asignaturas
Sugiere asignaturapara profesor
Materia + grupo + hora + aula +profesor
Condensado final de materias
1
2
3
4
5 6
Fig 42 Diagrama de secuencia
Capiacutetulo 4 Anaacutelisis y Disentildeo
Como puede verse todo inicia cuando Servicios Escolares enviacutea la informacioacuten a laDivisioacuten de Estudios Profesionales (donde ldquohabitanrdquo los coordinadores) quienes son losresponsables de la elaboracioacuten de los horarios
Un primer proceso captura la informacioacuten que proviene de Servicios Escolares elsegundo moacutedulo define cuantos grupos deben programarse el tercer proceso asigna lahora a cada grupo el cuarto moacutedulo es el proceso que asigna las aulas los procesosquinto y sexto sirven para sugerir queacute catedraacutetico es el maacutes adecuado para cada grupo ycomo resultado final se tiene el condensado final de horarios para el siguiente semestre
En la Figura 43 se muestran los componentes del primer Sistema Experto utilizado paradefinir la cantidad de grupos que deben ofertarse el proacuteximo semestre en la partesuperior izquierda de la figura esta el coordinador de la carrera quien es el encargado decargar el conocimiento a las Bases de Conocimiento utilizando la interfaz de experto esla persona indicada para definir los criterios que tiene cada materia define las reglaspara la agrupacioacuten de los criterios y define en cada regla que tipo de ajuste se realiza
Experto
Coordinador
Interfaz Experto
Base deConocimientos
CriteriosReglasAjustes
Motor de Inferencia ListasMateriasGrupos requeridos
UsuarioMoacutedulo Explicacioacuten
Usuario(coordinador
novato)
Interfaz Usuario
Base Hechos
Informacion Estadiacutestica
Fig 43 Sistema Experto Generador de Grupos
Capiacutetulo 4 Anaacutelisis y Disentildeo
El usuario en la parte inferior de la figura puede ser el coordinador o su asistente y seencarga de capturar la informacioacuten estadiacutestica proporcionada por servicios escolares queson los datos de alumnos inscritos actualmente en cada materia el iacutendice de reprobacioacutenlos alumnos inscritos en la materias prerrequisito una simulacioacuten de los alumnosprobables para cursar esa materia si todos los inscritos aprueban todo y los alumnos quepueden cursar las materias pero no se inscribieron
Con los datos anteriores se realiza la siguiente operacioacuten
(Inscritos en materia iacutendice de reprobacioacuten de materia) 100 +Alumnos no inscritos +Alumnos en prerrequisito ndash (alumnos en prerrequisito iacutendice de reprobacioacuten) 100 +(Simulacioacuten ndash alumnos en prerrequisito ndash no inscritos) = Alumnos del proacuteximo semestre
Este uacuteltimo dato (alumnos del proacuteximo semestre) proporciona la cantidad de alumnospor materia que pueden inscribirse en los grupos seguacuten los estadiacutesticos de ServiciosEscolares pero no contempla preferencias de alumnos conveniencia de inscripcioacuten etc
Ofrecer los grupos necesarios para la inscripcioacuten de alumnos tomando el dato calculadoocasiona que al terminar las inscripciones existan grupos vaciacuteos grupos sobresaturadosalumnos con pocas materias y varios problemas mas
La finalidad de este Sistema Experto es realizar un ajuste al dato calculadoanteriormente para incluir en su caacutelculo todas aquellas caracteriacutesticas y experiencia delcoordinador para minimizar los problemas mencionados en el paacuterrafo anterior
Los ajustes pueden ser de varios tiposbull Ajuste draacutestico hacia abajo Se aplica una reduccioacuten del 50 al dato calculadobull Ajuste hacia arriba Se agrega un grupo maacutes al dato calculadobull Ajuste hacia abajo Se resta un grupo al dato calculadobull Ajuste numeacuterico Se ajusta utilizando la regla del redondeo de decimalesbull Ajuste draacutestico hacia arriba Se suman 2 oacute 3 grupos al dato calculado
Cuando utilizar una u otra regla estaacute definido por los criterios que cada materia contienenaturalmente y que con el paso de los semestres puede variar (aunque tambieacuten puedenpasar antildeos sin sufrir ninguacuten cambio)
La Figura 44 describe la utilizacioacuten de la teacutecnica de la Inteligencia Artificial llamadaProgramacioacuten Loacutegica de Restricciones para generar el condensado de grupos a partir deuna lista de materias que contiene solamente el nombre y la cantidad de grupos que sedeben abrir de una materia
Capiacutetulo 4 Anaacutelisis y Disentildeo
EoseX
Ugacgg
Lgc
s
ListasMaterias
Procesoformador depaquetes
Lista grupo +paquete
Moacutedulo generadorRandom Hora
Restricciones satisfec
Restriccio
Materia +hora
Moacuteduloverificadorrestriccione
s
Restriccionesnosatisfechas
Fig 44 Diagrama del moacutedulo Programacioacuten Loacutegica de Restriccione
xiste un proceso inicial que forma los ldquopaquetesrdquo de grupos esto es las materias serdenan por el semestre al que corresponden (generalmente son 6 materias poremestre) despueacutes para cada semestre se generan los grupos correspondientes si porjemplo se deben hacer 3 grupos de la materia X se generan tres registros de la materia y cada registro se etiqueta
Materia X grupo AA Materia X grupo AB y Materia X grupo AC
na vez que todas las materias han sido generadas y ldquoempaquetadasrdquo se pasan alenerador de horario en bloques de un paquete a la vez Este proceso funcionasignando un horario aleatorio a cada grupo despueacutes se verifica que cada grupo cumplaon todas las restricciones que son del tipo grupo no ldquochocardquo con otro del paqueterupo proporciona horario continuo al paquete grupo tiene horario de 2 horas por diacutearupo no deja horas vaciacuteas en paquete grupo cumple con todas sus horas asignadas etc
a Figura 45 muestra el disentildeo del Algoritmo Geneacutetico utilizado para asignar aula a losrupos que provienen del moacutedulo anterior (PLR) y recibe como datos de entrada unondensado de horarios (materia + grupo + hora)
Capiacutetulo 4 Anaacutelisis y Disentildeo
Procesoevaluacioacuten
Condensado
Materia +Grupo +Hora
Generador de versiones aleatorias
Genera versioacuten asigna aula
Versioacuten 3
Versioacuten 2
Versioacuten 1
Versioacuten N
Poblacioacuten inicial
ProcesoseleccioacutenProceso cruzamiento
clonacioacuten mutacioacuten
Versioacuten z
Versioacuten y
Versioacuten x
Versioacuten w
Nueva generacioacuten
Individuos aptos
Individuos no aptosReciclaje
CondensadoMateria + grupo +hora + aula
Fig 45 Diagrama del moacutedulo Algoritmo Geneacutetico
Capiacutetulo 4 Anaacutelisis y Disentildeo
Esta rama de la Inteligencia Artificial es utilizada generalmente para procesos deoptimizacioacuten y en esta ocasioacuten se utiliza para asignar las aulas al condensado dematerias
Al inicio se reciben como datos generales el condensado de materias La poblacioacuteninicial se obtiene copiando N veces (N versiones) este condensado y agregando a cadaregistro el nuacutemero de versioacuten y un aula asignada de manera aleatoria de esta manera seobtienen N versiones diferentes del condensado original
Cada versioacuten es entonces evaluada contando el nuacutemero de choques en aula y la cantidadde espacios vaciacuteos por aula a cada versioacuten se le genera un vector para guardar laevaluacioacuten (cromosoma de evaluacioacuten) y de esta manera se mide el grado de aptitud quetiene cada versioacuten
Las versiones que tienen menos choques y menos espacios vaciacuteos se consideran con ungrado de aptitud alto y son las mejores al contrario las que tienen muchos choquesson consideradas de aptitud baja no sirven para la reproduccioacuten y son desechadas
Una vez seleccionadas la mejores versiones se procede a la aplicacioacuten de los operadoresgeneacuteticos el primero que se aplica es el cruzamiento y consiste en elegir dos versionesde alta aptitud tomar segmentos seleccionados heuriacutesticamente de ellas y formar unnuevo individuo (una nueva versioacuten) se repite este proceso Y veces con las diferentesversiones hasta tener una nueva generacioacuten de N condensados de horarios
Repetir este proceso de generacioacuten evaluacioacuten y seleccioacuten durante Z generacionesaplicando cuando se necesite la clonacioacuten que es un proceso de copiar completamenteuna versioacuten (con alto grado de aptitud) a la nueva generacioacuten
Al principio la convergencia hacia horarios sin choques en aula es raacutepida pero al pasode las generaciones disminuye entonces se debe usar la mutacioacuten que es un proceso deacceder manualmente los registros de alguna versioacuten Zi en la generacioacuten Z y corregiralguacuten aula al final despueacutes de varias generaciones selecciones cruzamientosclonaciones y mutaciones se obtiene un condensado de aulas libres de choques y conpocos espacios vaciacuteos
En la Figura 46 se muestran los componentes del Sistema Experto utilizado para sugerircuales son los catedraacuteticos que mejor se desempentildeariacutean para impartir una asignaturatomando en cuenta los conocimientos que tiene un profesor (adquiridos a lo largo de sucarrera) y cuales son los conocimientos necesarios para impartir la caacutetedra de algunaasignatura
Capiacutetulo 4 Anaacutelisis y Disentildeo
Todo inicia haciendo una encuesta a los profesores acerca del perfil y los conocimientosnecesarios para poder impartir una asignatura el objetivo de la misma y los principalestemas que abarca todo lo anterior se captura en la base de hechos como el perfil de lamateria
Posteriormente se hace otra encuesta a los profesores pidieacutendoles que seleccionencuales son los conocimientos y el grado de dominio que tienen de los diferentes toacutepicosde las asignaturas esto se convierte en el perfil del catedraacutetico Por uacuteltimo con unproceso de induccioacuten se determina para cada materia cual es el grado de certeza con elcual puede un profesor impartir una asignatura
Experto
Coordinador
Interfaz Experto
Base deConocimientos
CatedraacuteticosConocimientos profesorPerfil profesor
Motor de Inferencia Lista profesores paraimpartir una materia
Jefedepartamento
Moacutedulo Explicacioacuten
Usuario(coordinador
novato)
Interfaz Usuario
Base Hechos
Perfil
Fig 46 Diagrama de Sistema Experto para sugerir profesor a asignatura
Capiacutetulo 4 Anaacutelisis y Disentildeo
Noacutetese en la Figura 47 que el coordinador captura el conocimiento referente a lasasignaturas (objetivo temas caracteriacutesticas necesarias para impartirla) y este esalmacenado en la Base de Conocimientos
Por otro lado un profesor debe llenar una encuesta en la que indique cuales son lostemas que domina y en que porcentaje lo hace (esto es el perfil del catedraacutetico) estainformacioacuten se almacena en la base de hechos--
El Motor de Inferencia hace los matchs respectivos y genera una lista de las materias quepuede impartir un profesor y con que grado de certeza estaacute capacitado para hacerlo
Por uacuteltimo el moacutedulo de explicacioacuten informa el porqueacute dio esa inferencia mostrando lascaracteriacutesticas de materia y profesor que hicieron match
Fig 47 Diagrama de Sistema Experto para sugerir asignaturas para catedraacutetico
Experto
Coordinador
Interfaz Experto
Base deConocimientos
MateriasCaracteriacutesticas MateriasPerfil materia
Motor de Inferencia Lista materias para unprofesor
Profesor
Moacutedulo Explicacioacuten
Profesor nuevoInterfaz Usuario
Base Hechos Perfil profesor
Capiacutetulo 4 Anaacutelisis y Disentildeo
453 Diagrama de contextoEn la Figura 48 se detallan los elementos que intervienen aportando y recibiendoinformacioacuten para el funcionamiento del sistema
Los departamentos acadeacutemicos aportan al sistema una lista con los catedraacuteticos quelaboran ahiacute incluye los datos personales de los profesores nuacutemero de tarjeta nombrecarrera etc Los coordinadores de carrera son los responsables de la elaboracioacuten de loshorarios estos funcionarios son la pieza fundamental de este proceso porque aportan susconocimientos para
bull Definir el ajuste al dato estadiacutestico proporcionado por Servicios Escolaresbull Definir las restricciones para la creacioacuten de los paquetes de gruposbull Definir las restricciones para asignar hora a cada grupobull La distribucioacuten de los grupos en las aulasbull Asignar la asignatura que mejor puede impartir un catedraacuteticobull Asignarle a una asignatura al profesor que mejor puede impartirla
El departamento de Servicios Escolares es el iniciador del proceso de la elaboracioacuten dehorarios aporta los datos estadiacutesticos obtenidos de la situacioacuten escolar actual de losalumnos cada alumno estaacute inscrito en alguna de las 8 carreras que se ofrecen en elInstituto estaacute cursando entre 5 y 8 asignaturas por semestre en cada periodo acredita oreprueba algunas materias En cada carrera se tiene un mapa reticular que incluyeaproximadamente 50 asignaturas con prerrequisitos creacuteditos horas en aula horas enlaboratorio orden por semestre etc
El departamento Divisioacuten de Estudios Profesionales (donde estaacuten adscritos loscoordinadores de carrera) es el responsable de distribuir las aulas disponibles delInstituto entre los distintos coordinadores las aulas son un recurso escaso y por lo tantovalioso de esta distribucioacuten depende en gran medida la holgura o estrechez que tienenlos coordinadores para asignar las aulas a los grupos creados
Los profesores son otro de los recursos valiosos de una institucioacuten son los responsablesde transmitir sus conocimientos a los alumnos cada catedraacutetico posee conocimientos dediversas aacutereas toacutepicos y ramas del saber humano el perfil del catedraacutetico estaacute enrelacioacuten directa con el dominio que tiene de cada una de ellas y varia desde unconocimiento superficial hasta el dominio total de un aacuterea
Los generadores random de los moacutedulos PLR y AG proporcionan la informacioacutennecesaria generada de manera aleatoria para el funcionamiento de esos moacutedulos
A los coordinadores y alumnos se les proporciona un condensado de horarios losalumnos conocen los grupos a los que se pueden inscribir las horas las aulas y loscatedraacuteticos que las impartiraacuten
Capiacutetulo 4 Anaacutelisis y Disentildeo
Sistema para laelaboracioacuten de
horarios
Departamentosacadeacutemicos
Jefes dedepartamento
Divisioacuten deEstudios
Profesionales
DepartamentoServiciosEscolares
Alumnos
Coordinadoresde carrera
Coordinadoresde carrera
Lista catedraacuteticos disponibles
Conocimientos
Reporte datos estadiacutesticos
Lista aulas disponibles
Condensado de horarios
Horarios disponibles
Lista horarios profesores
Profesores Generadoresaleatorios
Perfil maestro
Horas y aulas aleatorios
Fig 48 Diagrama de contexto del proyecto
Cap
iacutetulo
4
Anaacute
lisis
y D
isentilde
o
Sist
ema
para
lael
abor
acioacute
n de
hora
rios
Dep
arta
men
tos
acad
eacutemic
os
Div
isioacute
n de
Estu
dios
Prof
esio
nale
s
Dep
arta
men
toSe
rvic
ios
Esco
lare
sC
oord
inad
ores
de c
arre
ra
List
a ca
tedr
aacutetic
os d
ispo
nibl
es
Con
ocim
ient
osR
epor
teda
tose
stad
iacutestic
osLi
sta
aula
s dis
poni
bles
Prof
esor
esG
ener
ador
esal
eato
rios
Perf
il m
aest
roH
oras
y a
ulas
Fig
49
Dia
gram
a de
func
ione
s fun
dam
enta
les (
entra
das)
Cap
tura
supe
rfil
deco
noci
mie
nto
Cap
tura
las
aula
s
Enviacute
a da
tos
Cap
tura
suco
noci
mie
nto
Enviacute
a da
tos
depr
ofes
ores G
ener
ada
tos
Cla
ve n
ombr
eho
ras
turn
o
Tips
tru
cos
cono
cim
ient
ohe
uriacutes
tico
Cla
ve c
apac
idad
ed
ifici
o
Alu
mno
sin
scrit
os
sim
ulac
ioacuten
no
insc
ritos
iacutend
ice
repr
obac
ioacuten
Toacutepi
cos y
tem
asqu
e do
min
aA
ula
y ho
raal
eato
rios
Capiacutetulo 4 Anaacutelisis y Disentildeo
Sistema para laelaboracioacuten de
horarios
Coordinadoresde carrera
Jefes dedepartamento Alumnos
Fig 410 Diagrama de funciones fundamentales (salidas)
Imprimecondensado
Imprime lista Imprimehorarios
Maestro materiahora
Materia grupohora aula
maestrosugerido
Condensado de horarios Horarios disponibles
Lista horarios profesores
Materia grupohora aula
maestro
Capiacutetulo 4 Anaacutelisis y Disentildeo
454 Diagrama entidad - relacioacuten
NOTA Los siguientes diagramas muestran las tablas utilizadas por cada moacutedulo paramayor claridad se repitieron las tablas necesarias para representar cada parte del sistemapero en la base de datos no existe tal duplicacioacuten
Este diagrama contiene las tablas del moacutedulo administrativo de los horarios en unprincipio eacutestas eran las uacutenicas tablas de un sistema de control de horarios
FK_HORARIOS_REFERENCE_MATERIASFK_MATERIAS_REFERENCE_SERVICIO
FK_MATERIAS_REFERENCE_RAMA_MAT FK_MATERIAS_REFERENCE_CARRERAS
HORARIOS
GrupoId_aulaHora_inicioHora_lunesHora_martesHora_miercolesHora_juevesHora_viernesHora_sabadoObservacionesPeriodoAnioid_materiaId_catedratico
Text(2)INTEGERINTEGERText(6)Text(6)Text(6)Text(6)Text(6)Text(6)Text(30)Text(20)INTEGERINTEGERSMALLINT
ltfk3gt
ltfk2gtltfk1gt
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
MATERIAS
SERVICIOS_ESCOLARESId_materiaINSCRITOSNO INSCRITOSSIMULACIONPROXIMO SEMESTREGRUPOS REQUERIDOSIndice de reprobacionperiodoantildeoGrupos ajustadoAlumnos ajustadoId_ajusteId_regla
INTEGERSMALLINTSMALLINTSMALLINTSMALLINTDOUBLEDOUBLEText(7)INTEGERSMALLINTSMALLINTINTEGERSMALLINT
RAMA_MATERIA
Id_ramaNombre_rama
COUNTERText(30)
ltpkgt
CARRERAS
Id_CarreraNombre_carrera
Text(15)Text(50)
ltpkgt
Fig 411 Diagrama entidad ndash relacioacuten del moacutedulo administrativo
Capiacutetulo 4 Anaacutelisis y Disentildeo
Este diagrama muestra las tablas donde se almacena el conocimiento de loscoordinadores para que el Sistema Experto del moacutedulo sugiera y aplique el ajuste aldato de cantidad de grupos sugerido por Servicios Escolares La relacioacuten entre las tablasva generando las reglas de produccioacuten
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave asig prerrequisitoclave asig prerrequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
REGLAS
DescriId_reglaId_ajusteTot_peso
Text(70)COUNTERINTEGERINTEGER
ltpkgtltfkgt
FK_MATERIAS_REFERENCE_SERVICIO
FK_HECHOS_R_REFERENCE_CRITERIO
FK_HECHOS_R_REFERENCE_REGLAS
FK_HISTORIA_REFERENCE_REGLAS
FK_HISTORIA_REFERENCE_CRITERIO
FK_REGLAS_REFERENCE_AJUSTES
FK_HISTORIA_REFERENCE_MATERIAS
FK_HISTORIA_REFERENCE_CRITERIO
SERVICIOS_ESCOLARES
Id_materiaINSCRITOSNO INSCRITOSSIMULACIONPROXIMO SEMESTREGRUPOS REQUERIDOSIndice de reprobacioacutenperiodoantildeoGrupos ajustadoAlumnos ajustadoId_ajusteId_regla
INTEGERSMALLINTSMALLINTSMALLINTSMALLINTDOUBLEDOUBLEText(7)INTEGERSMALLINTSMALLINTINTEGERSMALLINT
HECHOS_REGLAS
Id_criterioId_reglaPromedio
INTEGERINTEGERINTEGER
ltfk2gtltfk1gt
CRITERIOS
Id_criterioDescripcion
COUNTERText(60)
ltpkgt
HISTORIAL_CRITERIOS
Id_criterioId_reglaPeso de la regla
INTEGERINTEGERSMALLINT
ltfk2gtltfk1gt
AJUSTES
TipoDescripcionId_ajuste
Text(25)MemoCOUNTER ltpkgt
HISTORIAL_MATERIA
Id_materiaId_criterioprioridad
INTEGERINTEGERSMALLINT
ltfk2gtltfk1gt
Fig 412 Diagrama E-R del moacutedulo para determinar y ajustar nuacutemero de grupos
Capiacutetulo 4 Anaacutelisis y Disentildeo
En este diagrama se muestra la base de datos que almacena la informacioacuten quemanipula el moacutedulo Algoritmo Geneacutetico las tablas maacutes representativas sonPOBLACION donde se guardan todas las versiones que forman las generaciones dehorarios y CROMOSOMAS que almacena el registro de evaluacioacuten de cada versioacuten dehorarios
FK_HORARIO__REFERENCE_AULAS
FK_HORARIO__REFERENCE_POBLACIO
FK_MATERIAS_REFERENCE_TIPO_HOR
FK_POBLACIO_REFERENCE_AULAS
FK_POBLACIO_REFERENCE_MATERIAS
FK_POBLACIO_REFERENCE_CROMOZOM1 1
HORARIO_AULA
VersionAulaLunesMartesMiercolesJuevesViernesSabadoHoraId_aula
INTEGERText(6)SMALLINTSMALLINTSMALLINTSMALLINTSMALLINTSMALLINTSMALLINTINTEGER
ltfk2gt
ltfk1gt
AULAS
Id_aulaCapacidad_aulaNombre_aulaDisponible
COUNTERSMALLINTText(50)YesNo
ltpkgt
POBLACION
Id_materiaGrupoId_catedraticoAulaHora_inicioHora_lunesHora_martesHora_miercolesHora_juevesHora_viernesVersionId_aulaPeriodoAnio
INTEGERText(4)INTEGERText(4)INTEGERText(6)Text(6)Text(6)Text(6)Text(6)INTEGERINTEGERText(10)INTEGER
ltfk2gt
ltfk1gtltfk3gt
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
TIPO_HORARIO
Tipo_horario
DescripcionLunes
MartesMiercoles
Jueves
ViernesSabado
COUNTER
Text(20)SMALLINT
SMALLINTSMALLINT
SMALLINT
SMALLINTSMALLINT
ltpkgt
CROMOZOMAS
VersionSemestreChoquesVacias
INTEGERINTEGERINTEGERINTEGER
ltpkgt
Fig 413 Diagrama E-R del moacutedulo para asignar aulas (Algoritmo Geneacutetico)
Capiacutetulo 4 Anaacutelisis y Disentildeo
En esta Figura 414 se pueden observar las tablas involucradas en el proceso paragenerar los paquetes de materias por semestre y la asignacioacuten de horario a cada grupodel paquete utilizando la teacutecnica Programacioacuten Loacutegica de Restricciones noacutetese que noexiste una tabla de restricciones eacutestas se aplican por software a cada grupo generado
FK_MATERIAS_REFERENCE_SERVIC
FK_MATERIAS_REFERENCE_TIPO_H
FK_HORARIOS_REFERENCE_MATERI
MATERIA
Id_materiMateriNum de HrsNum de HrsClave deId_CarrerCreditoSemestrObservacioneTroncoalumnos porclave de asigclave de asigId_ramSuma_maOrdeTipo_horari
INTEGEText(40SMALLINSMALLINText(8Text(15SMALLINSMALLINText(60YesNSMALLINText(40Text(40INTEGESMALLINSMALLININTEGE
ltpkfk4
ltfk1
ltfk3
ltfk2
SERVICIOS_ESCOLARE
Id_materiINSCRITONOSIMULACIOPROXIMOGRUPOSIndice deperiodantildeGruposAlumnosId_ajustId_regl
INTEGESMALLINSMALLINSMALLINSMALLINDOUBLDOUBLText(7INTEGESMALLINSMALLININTEGESMALLIN
TIPO_HORARI
Tipo_horariDescripcioLuneMarteMiercoleJueveVierneSabad
COUNTEText(20SMALLINSMALLINSMALLINSMALLINSMALLINSMALLIN
ltpk
HORARIO
GrupId_aulHora_iniciHora_luneHora_marteHora_miercoleHora_jueveHora_vierneHora_sabadObservacionePeriodAniid_materiId_catedratic
Text(2INTEGEINTEGEText(6Text(6Text(6Text(6Text(6Text(6Text(30Text(20INTEGEINTEGESMALLIN
ltfk3
ltfk2ltfk1
Fig414 Diagrama E-R del moacutedulo para asignar horario (PLR)
Capiacutetulo 4 Anaacutelisis y Disentildeo
FK_HECHOS_M_REFERENCE_MATERIAS
FK_HECHOS_M_REFERENCE_CATEDRAT
HECHOS_MAT_PROF
Id_catedraticoId_materiaPromedio
SMALLINTSMALLINTSMALLINT
ltpkfk1gtltpkfk2gt
FK_PERFIL_C_REFERENCE_CATEDRAT
FK_PERFIL_C_REFERENCE_PERFILES
FK_PERFILES_REFERENCE_TIPO_PER
FK_PROF_PAR_REFERENCE_CATEDRAT
FK_PROF_PAR_REFERENCE_MATERIAS
PERFIL_CATEDRATICO
Id_catedraticoId_perfilPrioridad_perfil_cate
SMALLINTINTEGERSMALLINT
ltfk1gtltfk2gt
CATEDRATICOS
Id_catedraticoApellido_paternoApellido_maternoNombre_catedraticoTitulo_catedraticoSuma_cate
SMALLINTText(20)Text(20)Text(20)Text(30)SMALLINT
ltpkgt
PERFILES
Id_perfilId_tipoDescripcion_perfil
COUNTERINTEGERText(60)
ltpkgtltfkgt
TIPO_PERFIL
Id_tipoTipo_perfil
COUNTERText(30)
ltpkgt
PROF_PARA_MAT
Id_materiaId_catedraticoPorcentaje_cate
INTEGERSMALLINTSMALLINT
ltpkfk2gtltpkfk1gt
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
Fig 415 Diagrama E-R del moacutedulo designa mejor catedraacutetico (Sistema Experto)
Capiacutetulo 4 Anaacutelisis y Disentildeo
En las figuras de la paacutegina anterior y eacutesta (Fig 415 y 416) se muestran las tablasutilizadas por los Sistemas Expertos para sugerir que materias puede impartir unprofesor y tambieacuten sugiere que profesores pueden impartir una asignatura
FK_PERFILES_REFERENCE_TIPO_PER
FK_PERFIL_M_REFERENCE_MATERIAS
FK_PERFIL_M_REFERENCE_PERFILES
FK_MAT_PARA_REFERENCE_MATERIAS
FK_MAT_PARA_REFERENCE_CATEDRAT
FK_HECHOS_M_REFERENCE_MATERIAS
FK_HECHOS_M_REFERENCE_CATEDRAT
PERFILES
Id_perfilId_tipoDescripcion_perfil
COUNTERINTEGERText(60)
ltpkgtltfkgt
TIPO_PERFIL
Id_tipoTipo_perfil
COUNTERText(30)
ltpkgt
PERFIL_MATERIA
Id_materiaId_perfilPrioridad_perfil_mat
INTEGERINTEGERINTEGER
ltfk2gtltfk1gt
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
MAT_PARA_PROF
Id_catedraticoId_materiaPorcentaje_mat
SMALLINTINTEGERSMALLINT
ltpkfk1gtltpkfk2gt
CATEDRATICOS
Id_catedraticoApellido_paternoApellido_maternoNombre_catedraticoTitulo_catedraticoSuma_cate
SMALLINTText(20)Text(20)Text(20)Text(30)SMALLINT
ltpkgt
HECHOS_MAT_PROF
Id_catedraticoId_materiaPromedio
SMALLINTSMALLINTSMALLINT
ltpkfk1gtltpkfk2gt
Fig 416 Diagrama E-R del moacutedulo selecciona mejor materia (sistema experto)
Capiacutetulo 4 Anaacutelisis y Disentildeo
455 Diccionario de la Base de Datos
Nombre HORARIOS_CON_CONOCIMIENTOComentario Base de datos del sistema ldquoGeneracioacuten de horarios mediante Sistemas
Basados en ConocimientordquoDBMS Microsoft Access 97
Lista de Tablas
Nombre Tipo deObjeto
AJUSTES TableAULAS TableCARRERAS TableCATEDRATICOS TableCRITERIOS TableCROMOSOMAS TableHECHOS TableHECHOS_MAT_PROF TableHECHOS_PROF_MAT TableHECHOS_REGLAS TableHISTORIAL_CRITERIOS TableHISTORIAL_MATERIA TableHORARIO_AULA TableHORARIOS TableMAT_PARA_PROF TableMATERIAS TablePERFIL_CATEDRATICO TablePERFIL_MATERIA TablePERFILES TablePOBLACION TablePROF_PARA_MAT TableRAMA_MATERIA TableREGLAS TableSERVICIOS_ESCOLARES TableTIPO_HORARIO TableTIPO_PERFIL Table
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla AJUSTESFuncioacuten Almacena los datos de los tipos de ajuste que se aplican por el Sistema Experto al
dato estadiacutestico que define cuantos grupos se deben abrir de cada materia
Lista de columnas de la tabla AJUSTESNombre Tipo de
DatoLong Llave
Primaria ForaneaComentario
Tipo Text(25) 25 Nombre del tipo de ajusteDescripcioacuten Memo Explicacioacuten del ajuste a realizar al nuacutemero
de grupos calculados segun estadisticosId_ajuste COUNTER 4 X Identificador del ajuste
Tabla AULASFuncioacuten Almacena los datos de las aulas que existen en cada edificio del instituto
Lista de columnas de la tabla AULASNombre Tipo de
DatoLong Llave
Primaria ForaneaComentario
Id_aula COUNTER 4 X Identificador del aulaCapacidad_aula SMALLINT 4 Nuacutemero maacuteximo de alumnos en el
aulaNombre_aula Text(50) 50 Nombre del aula (edificio+numero)Disponible YesNo 1 Disponibilidad del aula
Tabla CARRERASFuncioacuten Almacena los datos de las carreras que se imparten en el ITZ
Lista de columnas de la tabla CARRERASNombre Tipo de
DatoLong Llave
Primaria ForaneaComentario
Id_Carrera Text(15) 15 X Clave de la carreraNombre_carrera Text(50) 50 Nombre de la carrera
Tabla CATEDRATICOSFuncioacuten Almacena los datos de los CATEDRAacuteTICOS que imparten clases en las diferentes carreras del
Instituto Se utilizan los datos en los Sistemas Expertos que definen cual es el mejor catedraacuteticopara impartir una materia
Capiacutetulo 4 Anaacutelisis y Disentildeo
Lista de columnas de la tabla CATEDRATICOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Nuacutemero de tarjeta del catedraacuteticoApellido_paterno Text(20) 20 Apellido paterno del catedraacuteticoApellido_materno Text(20) 20 Apellido materno del catedraacuteticoNombre_catedratico Text(20) 20 Nombre del catedraacuteticoTitulo_catedratico Text(30) 30 Grado de estudios y tiacutetulo del
catedraacuteticoSuma_cate SMALLINT 4 Suma total de las pesos de los perfiles
pertenecientes al catedraacutetico
Tabla CRITERIOSFuncioacuten Tabla de los criterios utilizados por el experto para crear las reglas que definen el tipo de
ajuste inferido por el Sistema Experto para definicioacuten de grupos por abrir
Lista de columnas de la tabla CRITERIOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_criterio COUNTER 4 X Identificador del criterio aplicado auna materia para crear grupos
Descripcion Text(60) 60 Descripcioacuten del criterio
Tabla CROMOSOMASFuncioacuten Almacena los datos de la evaluacioacuten de cada versioacuten de horarios generada ya sea por la
poblacioacuten inicial o por los operadores geneacuteticos se genera un cromosoma por cadasemestre en cada versioacuten
Lista de columnas de la tabla CROMOSOMASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Version INTEGER 4 X Nuacutemero de individuo o versioacuten dehorarios
Semestre INTEGER 4 Semestre al que pertenece el datoChoques INTEGER 4 Nuacutemero de choques de versioacuten y
semestreVacias INTEGER 4 Nuacutemero de aulas vaciacuteas del individuo
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla HECHOS_MAT_PROFFuncioacuten Esta tabla almacena el resultado de la inferencia del Sistema Experto materias para
profesor indica para cada catedraacutetico las materias y el porcentaje de certeza con quepuede impartirlas
Lista de columnas de la tabla HECHOS_MAT_PROFNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Identificador del catedraacuteticoId_materia SMALLINT 4 X Identificador de la asignaturaPromedio SMALLINT 4 Porcentaje de certeza con que un
profesor puede impartir una materia(resultado de la inferencia)
Tabla HECHOS_PROF_MATFuncioacuten Almacena los datos de la inferencia del Sistema Experto que calcula para una materia
determinada cuales son los mejores maestros para impartirla
Lista de columnas de la tabla HECHOS_PROF_MATNombre Tipo de
DatoLongitud
LlavePrimaria Foraacutenea
Comentario
Id_catedratico SMALLINT 4 X Identificador del catedraacuteticoId_materia SMALLINT 4 X Identificador de la asignaturaPromedio SMALLINT 4 Porcentaje de certeza con que una
materia puede ser impartida por unprofesor (resultado de la inferencia)
Tabla HECHOS_REGLASFuncioacuten Almacena los porcentajes de certeza con que se dispara una regla del Sistema Experto
que define los grupos por abrir
Lista de columnas de la tabla HECHOS_REGLASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_criterio SMALLINT 4 X Identificador del criterioId_regla SMALLINT 4 X Identificador de la reglaPromedio INTEGER 4 Porcentaje de certeza con que una
regla dispara un criterio
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla HISTORIAL_CRITERIOS
Funcioacuten Almacena las reglas formadas por los criterios utilizados por el Sistema Experto paradefinir los grupos por abrir
Lista de columnas de la tabla HISTORIAL_CRITERIOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_criterio INTEGER 4 X Identificador del criterio pertenecientea la regla
Id_regla INTEGER 4 X Identificador de la reglaPeso de la regla SMALLINT 4 Peso del criterio en la regla
Tabla HISTORIAL_MATERIAFuncioacuten Tabla que almacena la definicioacuten de cada materia con base en los criterios utilizados por
las reglas para definir por materia el nuacutemero de grupos por abrir
Lista de columnas de la tabla HISTORIAL_MATERIANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materia para suasignacioacuten de criterios
Id_criterio INTEGER 4 X Identificador del criterio que se aplicaa la materia para describirla
Prioridad SMALLINT 4 Peso del criterio en la materia
Tabla HORARIOS
Funcioacuten Almacena los datos del condensado final de horarios aquiacute se almacena el producto finaldel sistema para su posterior publicacioacuten y distribucioacuten entre la comunidad tecnoloacutegica
Lista de columnas de la tabla HORARIOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materiaGrupo Text(2) 2 Identificador del grupo A B CId_catedratico SMALLINT 4 X Catedraacutetico asignado al grupoId_aula INTEGER 4 X Aula asignada al grupoHora_inicio INTEGER 4 Hora de inicio del grupoHora_lunes Text(6) 6 Horas que se imparte el grupo el diacutea
lunes
Capiacutetulo 4 Anaacutelisis y Disentildeo
Hora_martes Text(6) 6Hora_miercoles Text(6) 6Hora_jueves Text(6) 6Hora_viernes Text(6) 6Hora_sabado Text(6) 6Observaciones Text(30) 30 Observaciones al grupoPeriodo Text(20) 20 Periodo Ene-jun o Ago-dicAnio INTEGER 4 Antildeo en que se utiliza el horario
Tabla HORARIO_AULAFuncioacuten Tabla auxiliar utilizada como almacenamiento temporal durante el proceso de evaluacioacuten
en el Algoritmo Geneacutetico guarda los datos de ocupacioacuten choques y no utilizacioacuten decada aula por hora diacutea y versioacuten
Lista de columnas de la tabla HORARIO_AULANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Version INTEGER 4 X Nuacutemero de individuo o versioacutenAula Text(6) 6 Nombre del aulaLunes SMALLINT 4 Nuacutemero de horas que se utiliza el aula
el diacutea lunesMartes SMALLINT 4Miercoles SMALLINT 4Jueves SMALLINT 4Viernes SMALLINT 4Sabado SMALLINT 4Hora SMALLINT 4 Hora de utilizacioacuten del aulaId_aula INTEGER 4 X Identificador del aula en la versioacuten
Tabla MATERIASFuncioacuten Esta es una de las principales tablas del proyecto se utiliza en todos los moacutedulos del
sistema contiene informacioacuten base para caacutelculos diversos ademaacutes contiene tambieacuten lasllaves de diferentes tablas que describen de manera de manera especial a las materias
Lista de columnas de la tabla MATERIASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia COUNTER 4 X Identificacioacuten de la materia llaveprincipal
Materia Text(40) 40 Nombre de la materiaNum de Hrs prac SMALLINT 4 Nuacutemero de horas praacutecticasNum de Hrs teo SMALLINT 4 Nuacutemero de horas teoacutericasClave de Asig Text(8) 8 Clave oficial de la materiaId_Carrera Text(15) 15 X Carrera a la que pertenece la materiaCreditos SMALLINT 4 Creacuteditos de la materia
Capiacutetulo 4 Anaacutelisis y Disentildeo
Semestre SMALLINT 4 Semestre en que se imparte la materiaObservaciones Text(60) 60Tronco comun YesNo 1 Definicioacuten de especialidad o tronco
comuacutenalumnos porgrupo
SMALLINT 4 Capacidad sugerida de los grupos deesta materia
clave de asigprerequisito
Text(40) 40 Clave de asignatura del prerrequisito
clave de asigprerequisito1
Text(40) 40 Clave de asignatura del prerrequisito
Id_rama INTEGER 4 X Identificador de la rama a la quepertenece la materia
Suma_mat SMALLINT 4 Suma total de los perfilespertenecientes a la materia
Orden SMALLINT 4 Es el nuacutemero de materia en un paqueteTipo_horario INTEGER 4 X El tipo de horario asignado a materia
Tabla MAT_PARA_PROFFuncioacuten La tabla almacena para cada catedraacutetico las asignaturas que puede impartir y el grado
de certeza con que puede hacerlo se almacena en esta tabla el resultado de la inferenciadel Sistema Experto
Lista de columnas de la tabla MAT_PARA_PROFNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Nuacutemero de tarjeta del profesorId_materia INTEGER 4 X Identificador de la materiaPorcentaje_mat SMALLINT 4 Porcentaje de certeza con que un
profesor puede impartir una materia
Tabla PERFILESFuncioacuten Tabla que contiene una relacioacuten de todas las caracteriacutesticas de las materias
caracteriacutesticas necesarias para poder impartirlas es al mismo tiempo la tabla quecontiene la relacioacuten general de los conocimientos que poseen los profesores
Lista de columnas de la tabla PERFILESNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_perfil COUNTER 4 X Identificador del perfil paraasignaciones de materias acatedraacuteticos
Id_tipo INTEGER 4 X Identificador del tipo del perfilDescripcion_perfil Text(60) 60 Descripcioacuten de una caracteriacutestica del
perfil de una materia o un catedraacutetico
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla PERFIL_CATEDRATICOFuncioacuten Tabla que contiene el perfil de todos los catedraacuteticos (pueden llamarse las reglas) del
Sistema Experto que recomienda profesores para las materias el perfil de un catedraacuteticoesta definido por los conceptos que domina de las materias
Lista de columnas de la tabla PERFIL_CATEDRATICONombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Identificador del catedraacutetico paradefinicioacuten de su perfil acadeacutemico
Id_perfil INTEGER 4 X Identificador del perfil que define aun catedraacutetico
Prioridad_perfil_cate SMALLINT 4 Porcentaje en que contribuye elperfil especificado en la definicioacutendel catedraacutetico
Tabla PERFIL_MATERIAFuncioacuten Esta tabla almacena las reglas que definen el perfil de una materia contiene las
caracteriacutesticas y temas que forman el temario de la materia
Lista de columnas de la tabla PERFIL_MATERIANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materia en laregla de la materia
Id_perfil INTEGER 4 X Identificador del perfilperteneciente a una materia
Prioridad_perfil_mat INTEGER 4 Porcentaje en que contribuye esteperfil particular a definir unamateria
Tabla PROF_PARA_MATFuncioacuten Esta tabla almacena la inferencia del Sistema Experto para determinar cuales son los
mejores profesores para impartir una materia contiene para cada asignatura una lista delos profesores y el porcentaje de certeza con que pueden desempentildearse si la imparten
Capiacutetulo 4 Anaacutelisis y Disentildeo
Lista de columnas de la tabla PROF_PARA_MATNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de materiaId_catedratico SMALLINT 4 X Identificador de catedraacuteticoPorcentaje_cate SMALLINT 4 de certeza con que el catedraacutetico X
puede impartir la materia Y
Tabla POBLACIONFuncioacuten La tabla es la maacutes importante para el moacutedulo de Algoritmo Geneacutetico porque almacena los
datos de cada individuo hipoacutetesis o versioacuten que son generados ya sea por la poblacioacuteninicial aleatoria o por los diversos operadores geneacuteticos contiene copias (versiones) delcondensado de horarios con aulas aleatorias
Lista de columnas de la tabla POBLACIONNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materiaGrupo Text(4) 4 Grupo de la materiaId_catedratico INTEGER 4 X Identificador del catedraticoAula Text(4) 4 X Nombre del aula (edificio + numero)Hora_inicio INTEGER 4 Hora de inicio del grupoHora_lunes Text(6) 6 Hora inicio del lunesHora_martes Text(6) 6Hora_miercoles Text(6) 6Hora_jueves Text(6) 6Hora_viernes Text(6) 6Version INTEGER 4 X Nuacutemero de la versioacuten o hipoacutetesisPeriodo Text(10) 10 Periodo o semestre del grupoAnio INTEGER 4 Antildeo del grupo
Tabla RAMA_MATERIAFuncioacuten La tabla almacena la clasificacioacuten de las materias de acuerdo a las ciencias a la que
pertenecen
Lista de columnas de la tabla RAMA_MATERIANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_rama COUNTER 4 X Identificador de la rama de unamateria (clasificacioacuten)
Nombre_rama Text(30) 30 Descripcioacuten de la rama de unamateria
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla REGLAS
Funcioacuten Esta tabla almacena las reglas utilizadas para generar los grupos que se deben ofertar elproacuteximo semestre indicando para cada regla el tipo de ajuste que debe aplicarse
Lista de Columnas de la Tabla REGLASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Descripcion Text(70) 70 Descripcioacuten de la regla para ajustarel nuacutemero de grupos
Id_regla COUNTER 4 X Identificador de la reglaId_ajuste INTEGER 4 X Identificador del tipo de ajuste que
se aplica cuando esta regla sedispara para alguna materia
Tot_peso INTEGER 4 Total de los pesos de lascaracteriacutesticas de esta regla
Tabla SERVICIOS_ESCOLARESFuncioacuten En esta tabla se almacenan los datos estadiacutesticos de cada materia que provienen de
Servicios Escolares para el caacutelculo del nuacutemero de grupos que deben abrirse para elproacuteximo semestre contiene tambieacuten los paraacutemetros proporcionados por el SistemaExperto para realizar el ajuste al nuacutemero de grupos calculado inicialmente
Lista de columnas de la tabla SERVICIOS_ESCOLARESNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materiaINSCRITOS SMALLINT 4 Nuacutemero de alumnos inscritos
actualmente en el grupoNO INSCRITOS SMALLINT 4 Nuacutemero de alumnos que pueden
cursar la materia pero no seinscribieron
SIMULACION SMALLINT 4 Simulacioacuten de Servicios Escolaresde alumnos que podraacuten cursar lamateria
PROXIMOSEMESTRE
SMALLINT 4 Resultado del calculo de ServEscolares de alumnos que cursaraacutenla materia
GRUPOSREQUERIDOS
DOUBLE 4 Grupos requeridos para abrirproacuteximo semestre seguacuten caacutelculosiniciales
Indice dereprobacion
DOUBLE 4 Indice de reprobacioacuten de la materia
periodo Text(7) 7 Periodo de caacutelculo de horarios actual(semestre ene-jun o ago-dic)
Capiacutetulo 4 Anaacutelisis y Disentildeo
antildeo INTEGER 4 Antildeo de caacutelculo de horariosGrupos ajustado SMALLINT 4 Nuacutemero de grupos a solicitar para
abrir proacuteximo semestreAlumnos ajustado SMALLINT 4 Caacutelculo final del numero de alumnos
del proacuteximo semestre en estamateria
Id_ajuste INTEGER 4 X Tipo del ajuste aplicado por elSistema Experto al campogrupos_requeridos
Id_regla SMALLINT 4 X Regla que se disparo para realizar elajuste
Tabla TIPO_HORARIOFuncioacuten Esta tabla almacena los formatos de los distintos tipos de horario que existen y se ofrecen
para cada materia horarios de 2345 diacuteas a la semana y de 123 o 4 horas por diacutea
Lista de columnas de la tabla TIPO_HORARIONombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Tipo_horario COUNTER 4 X Identificador del tipo de horarioDescripcion Text(20) 20 Descripcioacuten del tipo de horarioLunes SMALLINT 4 Nuacutemero de horas del lunesMartes SMALLINT 4 Nuacutemero de horas del martesMiercoles SMALLINT 4 Nuacutemero de horas del mieacutercolesJueves SMALLINT 4 Nuacutemero de horas del juevesViernes SMALLINT 4 Nuacutemero de horas del viernesSabado SMALLINT 4 Nuacutemero de horas del saacutebado
Tabla TIPO_PERFILFuncioacuten Aquiacute se almacena una clasificacioacuten de los perfiles de acuerdo a la rama de conocimiento
a la que pertenecen
Lista de columnas de la tabla TIPO_PERFILNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_tipo COUNTER 4 X Identificador del tipo de perfilTipo_perfil Text(30) 30 Descripcioacuten del tipo de perfil de los
catedraacuteticos o las materias
Capiacutetulo 4 Anaacutelisis y Disentildeo
456 Lista de funciones o programas
Nombre Programa Descripcioacuten del programa
Ajustes Datos generales de los tipos de ajustes que se aplican al nuacutemero degrupos por abrir al dato de Servicios Escolares
Aulas Captura los datos de las aulas disponibles para claseCaptura_horarios Este programa realiza los cambios posteriores a la generacioacutenCarreras Captura los datos de las carreras del tecnoloacutegicoCatedraticos Datos generales de los catedraacuteticosClonacion Obtiene una copia (clon) del mejor individuo de una generacioacutenCons_ajuste Muestra yo imprime los datos generales de los ajustesCons_aulas Emite una pantalla de consulta general de aulasCons_captura_horarios Muestra una pantalla de consulta de los horarios generadosCons_carrera Despliega yo imprime las carrerasCons_catedratico Muestraimprime los datos generales de los catedraacuteticosCons_criterio Formulario que muestra yo despliega los criterios generalesCons_critXmat Muestra yo imprime los criterios de una materiaCons_critXregla Despliegaimprime los criterios que forman una reglaCons_gpos_abrir Explicacioacuten de la inferencia realizada (reglas disparadas)Cons_hist_crit Muestra las reglas de produccioacuten de los criteriosCons_materia Pantalla que despliega yo imprime datos de las materiasCons_materia_gral Pantalla de consulta general de los datos de materiasCons_perf_cate Consultaimprime los datos del perfil acadeacutemico de los
catedraacuteticosCons_perf_mate Consultaimprime los datos del perfil acadeacutemico de las materiasCons_perfil Muestraimprime datos de los perfilesCons_perfiles Consulta a la lista de perfiles o caracteriacutesticas Cons_perfilxmat Consulta a las reglas de produccioacuten del perfil de una materiaCons_rama Consulta a la lista de ramas (clasificacioacuten de las materias)Cons_reglas Consulta a la base de reglas para ajustar nuacutemero de gruposCons_serv_esc Consulta a las tablas que tienen informacioacuten de Servicios
EscolaresCons_serv_escol Pantalla que muestra yo imprime los datos estadiacutesticos de Serv
EscCons_tipo_perfil Consulta a los tipos de perfil (clasificacioacuten de perfiles)Crit_X_mat Formulario que captura los criterios pertenecientes a una materiaCrit_X_regla Captura los criterios que forman una regla de produccioacutenCriterios Pantalla que captura el conocimiento de criterios para el SECriteriosxmat Pantalla de captura para los criterios por materiaCruzamiento Programa que realiza la combinacioacuten (cruza) de individuos de la
poblacioacuten en el Algoritmo Geneacutetico
Capiacutetulo 4 Anaacutelisis y Disentildeo
Evaluacion Programa que realiza la creacioacuten del cromosoma de evaluacioacuten alevaluar las versiones de horarios de una generacioacuten
Explica_ajustes Moacutedulo de explicacioacuten del porque se aplicoacute determinado ajuste auna materia
Explica_mat_p_prof Explicacioacuten del porque una materia puede ser impartida por unprofesor con cierto grado de certidumbre
Explica_prof_p_mat Explicacion del porque un profesor puede impartir una materiacon cierto grado de certidumbre
Genera_horarios Sistema que utiliza Programacioacuten Loacutegica de Restricciones paragenerar los paquetes de horarios de un semestre
Genera_paquete Muestra el paquete generado por el procesoGrupo_nuevo Programa que va generando los paquetesGrupos_por_abrir Inferencia realizada para definir el ajuste aplicado a los grupos
definidos por Servicios EscolaresHistorial_criterios Captura los criterios necesarios para hacer una reglaHistorial_materia Captara los criterios por materiaMat_para_prof Inferencia realizada para determinar que profesores pueden
impartir una materiaMaterias Actualizacioacuten al archivo datos generales de las materiasMenu_algoritmos_geneticos Menuacute del moacutedulo para asignar aula a los gruposMenu_generacion_grupos Menuacute del Sistema Experto para definir cuantos grupos abrirMenu_asigna_horario Menuacute del moacutedulo asignacioacuten de horarioMenu_principal Menuacute principal del sistemaMenu_sel_catedra Menuacute del Sistema Experto para seleccioacuten de catedraacuteticos a
materiaMutacion Programa que hace la modificacioacuten de informacioacuten de aulas de
alguna versioacuten (versioacuten)Perfil_catedratico Captura el perfil acadeacutemico de los catedraacuteticosPerfil_materia Captura el perfil acadeacutemico de las materiasPerfiles Datos generales del perfil acadeacutemico de materias y catedraacuteticosPoblacion_inicial Programa que genera versiones de horarios y que de manera
aleatoria le va asignando aula a los gruposPortada_principal Es la ventana de entrada al sistemaProf_para_mat Inferencia realizada para determinar que materias pueden ser
impartidas por un profesorRama Programa que capturas las posibles ramas de los materiasReglas Datos generales de las reglas de produccioacuten para definir el No de
grupos por abrirSeleccioacuten Proceso que selecciona las mejores versiones de horarios (mejores
individuos) y elimina las menos aptasServ_escolares Pantalla de captura de los datos estadiacutesticos de Servicios EscolaresTipo_perfil Programa que captura la clasificacioacuten de los perfiles de materias y
profesores
Capiacutetulo 4 Anaacutelisis y Disentildeo
457 Diagrama de Arquitectura (Menuacutes)
Menuacute general
Menuacute Grupos porabrir
MenuacuteGeneracioacuten de
horarios
MenuacuteAsignacioacuten de
aulas
Datos de materias
Estadiacutesticos Serv Esc
Criterios
Criterios por materia
Reglas
Criterios por regla
Ajustes
Carreras
Nuacutemero de grupos
MenuacuteSeleccioacuten decatedraacuteticos
Genera paquete
Genera horarios
Datos generalesgrupos
Datos de aulas
Genera poblacioacuteninicial
Evaluacioacuten
Seleccioacuten
Cruzamiento
Clonacioacuten
Mutacioacuten
Horarios finales
Perfiles
Perfil de las materias
Perfil de catedraacuteticos
Catedraacuteticos
Perfil de loscatedraacuteticos
Asignacioacuten materia aprofesor
Asignacioacuten profesor amateria
Capiacutetulo 4 Anaacutelisis y Disentildeo
Capiacutetulo 5 Implementacioacuten del sistema
CAPIacuteTULO 5
IMPLEMENTACIOacuteN
51 Pantallas del sistema
La Figura 51 muestra la portada inicial del proyecto Contiene los logotipos de las tresinstituciones participantes y el nombre del proyecto
Fig 51 Portada inicial del proyecto
La Figura 52 es la pantalla que proporciona la informacioacuten de los autores del proyecto
Es el botoacutende entrada alsistema
Botoacuten deinformacioacuten delos autores
Capiacutetulo 5 Implementacioacuten del sistema
Fig 52 Acerca del sistema
La Figura 53 muestra el menuacute principal del proyecto contiene y 4 moacutedulos La primeraopcioacuten incluye los moacutedulos administrativo y generacioacuten de grupos la segunda opcioacutenincluye seleccioacuten de maestro y seleccioacuten de materia
Fig 53 Menuacute principal del proyecto
Moacutedulos delproyecto
Cuadro queproporcionalainformacioacutende la opcioacutensentildealada porel cursor
Capiacutetulo 5 Implementacioacuten del sistema
En la Figura 54 se tiene la pantalla del menuacute que agrupa los programas del moacuteduloadministrativo y Sistema Experto para determinar el nuacutemero de grupos por abrir seguacutenlos caacutelculos realizados con los datos de Servicios Escolares y el ajuste a ese dato
Fig 54 Menuacute grupos por abrir
Este programa del moacutedulo administrativo (Figura 55) sirve para capturar la informacioacutengeneral de las asignaturas que componen una carrera
Fig 55 Materias
Programas delos moacutedulos
Descripcioacutende laactividad delprogramaseleccionado
Nombre de laasignatura
Nuacutemero dehoraspraacutecticas yteoacutericas
Alumnos por grupopara calcularcantidad de grupos
Dato para formarpaquetes porsemestre
Icono quehabilita lacaptura denuevosdatos
Icono queregresa alMenuacute anterior
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 56 es un ejemplo de la consulta de datos en pantalla
Fig 56 Consulta Materias
La Figura 57 es la pantalla donde se capturan los datos estadiacutesticos provenientes deServicios Escolares contiene la informacioacuten necesaria para realizar el caacutelculo originaldel nuacutemero de grupos de cada asignatura que se debe abrir para ofertarse a los alumnosel siguiente semestre la foacutermula mostrada proporciona tal dato
Botoacuten queregresa elcontrol alprogramaque loinvocoacute
Alumnosesperados parael proacuteximo
Fccg
Datosestadiacutesticos
Fig 57 Pantalla Servicios Es
semestre
oacutermula paraaacutelculoantidad-rupos
Caacutelculosgeneral y pormateria
Grupos (datoestadiacutestico)
colares
Capiacutetulo 5 Implementacioacuten del sistema
En la Figura 58 se muestra la pantalla de consulta de los datos estadiacutesticosproporcionados por Servicios Escolares
Fig 58 Pantalla consulta Servicios Escolares
Esta pantalla captura las caracteriacutesticas por materia que dan origen al conocimientonecesario para definir el tipo de ajuste que se aplica al dato del nuacutemero de gruposproporcionado por los caacutelculos estadiacutesticos de la pantalla anterior
Criterios de unamateria
Fig 59 Pantalla criterios por materia
Grado deimportancia de esacaracteriacutestica para la
Capiacutetulo 5 Implementacioacuten del sistema
En la Figura 510 se muestra un ejemplo de la consulta a la base de datos del sistema enla parte de criterios por materia
Fig 510 Pantalla consulta criterios por materia
Esta pantalla (fig 511) proporciona al sistema la capacidad de capturar modificarborrar e imprimir las carreras del Instituto Tecnoloacutegico de Zacatepec
Fig 511 Pantalla carreras
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 512 proporciona al sistema la capacidad para capturar los criterios(conocimientos) del experto para definir a cada materia
Fig 512 Pantalla criterios
La Figura 513 muestra un ejemplo de consulta al archivo de los criterios capturados enel sistema
Fig 513 Pantalla consulta criterios
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 514 muestra la pantalla de captura de las reglas que componen el SistemaExperto para determinar el tipo de ajuste que se aplicaraacute al dato estadiacutestico del nuacutemerode grupos que se van a abrir el proacuteximo semestre cada regla tiene asignado un tipo deajuste
Fig 514 Pantalla reglas
La Figura 515 muestra un ejemplo de la consulta al archivo de las reglas que utiliza elSistema Experto para determinar nuacutemero de grupos por ofertar el proacuteximo semestre
Fig 515 Pantalla consulta reglas
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 516 muestra la pantalla de captura al archivo de ajustes noacutetese que ladescripcioacuten explica en extenso la accioacuten que se realiza al aplicar este ajuste provenientede una regla disparada por los criterios pertenecientes a la definicioacuten de una materia
Fig 516 Pantalla ajustes
La Figura 517 muestra la pantalla de la consulta a los ajustes que contiene el sistema
Fig 517 Pantalla consulta ajustes
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 518 muestra la pantalla que captura los criterios para cada regla Una reglaestaacute formada por el mismo tipo de criterios que definen a las materias
Criteriosde una
Fig 518 Pantalla criterios por regla
La Figura 519 muestra el ejemplo de una consulta de los criterios que definen a unaregla
Fig 519 Pantalla consulta criterios por regla
Reglas de produccioacuten Criterios por regla
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 520 es la pantalla maacutes importante de moacutedulo de generacioacuten de grupos porquees donde se realiza la inferencia para calcular el tipo de ajuste que se va a aplicar a cadamateria con base en las reglas que se disparan y que hacen match los criterios de unaregla y los criterios de una materia
Fig 520 Pantalla caacutelculo de ajustes
Esta pantalla (Figura 521) ofrece una explicacioacuten mostrando los criterios que definenuna materia y su correspondiente regla disparada mostrando los criterios de la regla quehacen match con los criterios de la materia
Fig 521 Pantalla explicacioacuten de la inferencia
Asignaturaa la que sele aplicaraacuteel ajuste
Regla quese disparaseguacutencriterios
Tipo deajuste quese aplica
Dato seguacutenestadiacutestico
Datos seguacutenajuste delSistemaExperto
Inferenciageneral
Inferenciaindividual
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 522 muestra el formulario que forma los paquetes de materias seguacuten laretiacutecula de una carrera muestra el nuacutemero de grupos por cada materia que se van aformar y hace los paquetes asignando los grupos AA AB AC AD
Fig 522 Pantalla inicial del moacutedulo generacioacuten de horarios
La Figura 523 es el formulario del moacutedulo Programacioacuten Loacutegica de Regenera los horarios por paquete satisfaciendo las restricciones para forlibre de choques continuo (sin horas muertas) cumpliendo las horas por m
Fig 523 Pantalla principal del moacutedulo generacioacuten de horari
Semestre al que sele formaraacuten lospaquetes
Paquetes generadosHora de iniciode clases decada grupo
Materias delsemestre
Nuacutemero de gruposal que se lesgeneraraacute horario
MateriaPaquete
Nuacutemero dehoras por diacutea
Botonesque invocanal moacutedulogeneradorde horarios
stricciones quemar un horarioateria etc
Hora de iniciode la materia
os
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 524 muestra el moacutedulo para asignar aula a los horarios que ya tienen materiagrupo y hora
Fig 524 Pantalla principal del menuacute Algoritmos Geneacuteticos
Esta pantalla (Figura 525) se utiliza para hacer altas bajas consulta y modificaciones alos grupos que se les va a dar aula
Fig 525 Pantalla de administracioacuten de grupos
Periodode loshorarios
Hora iniciodel grupo
Hora por diacutea
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 526 muestra una consulta de la pantalla administracioacuten de grupos
Fig 526 Pantalla de consulta de administracioacuten de grupos
La Figura 527 muestra la pantalla para actualizar las aulas disponibles por las personasque generan los horarios estas aulas estaacuten disponibles para que el Algoritmo Geneacuteticolas utilice para asignarles grupos durante el proceso
Fig 527 Pantalla del control de aulas
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 528 muestra la consulta de las aulas que utiliza el moacutedulo generacioacuten deaulas
Fig 528 Pantalla de consultas del control de aulas
La Figura 529 muestra la pantalla que genera la poblacioacuten inicial a partir de los datosgenerales proveniente de los moacutedulos anteriores
Fig 529 Pantalla de genera poblacioacuten inicial
Nuacutemero dehipoacutetesisversiones oindividuos
Aula aleatoriagenerada
Este botoacuteninicia lageneracioacutende las nversionesde horarios
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 530 muestra la pantalla que evaluacutea las versiones originadas y genera paracada una de ellas un cromosoma cuyos genes contienen la informacioacuten obtenida
Fig 530 Pantalla de evaluacioacuten de versiones
La Figura 531 muestra el formulario del proceso de seleccioacuten de las mejores versionesde horarios toma aquellas que tienen menor numero de choques y mayor espacio deocupacioacuten de aulas
Fig 531 Pantalla del proceso de seleccioacuten
Cantidad deversiones quesobreviviraacuten
Cromosomas delos mejoresindividuos
Botoacuten queinicia elproceso deseleccioacuten
Botoacuten queinicia elproceso deeliminacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 532 muestra la pantalla del proceso de clonacioacuten donde se selecciona la mejorversioacuten y se obtiene un clon ideacutentico con un nuevo nuacutemero de versioacuten
Fig 532 Pantalla del proceso de clonacioacuten
La Figura 533 muestra la pantalla del proceso de mutacioacuten utilizado para hacer elcambio ldquomutarrdquo los datos de una versioacuten para romper alguacuten ciclado de la tendencia haciael resultado o simplemente para acelerar el proceso de optimizacioacuten
Cromosomasde versionesmaacutes aptas
Nuacutemero demejor versioacuten
Poblacioacutenversiones
Cromosomamuestra lasmejoresversiones
Aulas quepueden mutarse
Botoacuten queinicia elproceso demutacioacuten
Nuacutemero deversioacuten
Fig 533 Pantalla de mutacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 534 muestra la pantalla donde se realiza el cruzamiento utilizando plantillaspredeterminadas dirigiendo la cruza de versiones por paquetes de materias agrupadas porsemestre y cada plantilla genera una nueva versioacuten con la combinacioacuten de fragmentosde varias versiones
Fig 534 Pantalla del proceso de cruzamiento
La Figura 535 permite la seleccioacuten y enviacuteo de la mejor versioacuten de horarios y adaptarloal moacutedulo administrativo para su distribucioacuten y publicacioacuten
Fig 535 Horarios finales
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 536 muestra el menuacute de los moacutedulos que sugiere maestros para impartir unaasignatura y sugerencia de asignatura para alguacuten maestro
Fig 536 Pantalla menuacute seleccioacuten de catedraacuteticos
La Figura 537 muestra la pantalla para la captura de caracteriacutesticas de losconocimientos requeridos para dar una materia que son las mismas caracteriacutesticas quedefinen los conocimientos de un profesor para impartir las materias
Fig 537 Pantalla de perfiles
Clasificacioacutende los perfiles
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 538 muestra una consulta de los perfiles agrupados por tipo
Fig 538 Pantalla de consulta perfiles
La Figura 539 muestra la pantalla en la que se definen los conocimientos requeridospara poder impartir una asignatura de acuerdo al perfil y contenido temaacutetico
Fig 539 Pantalla perfiles de las materias
La Figura 540 muestra un ejemplo de la consulta al perfil de una materia
Importancia de lacaracteriacutestica en la materia
Capiacutetulo 5 Implementacioacuten del sistema
Fig 540 Pantalla consulta perfiles de las materias
La Figura 541 es utilizada para capturar los datos de los catedraacuteticos que imparten lasasignaturas de una carrera
Fig 541 Pantalla captura datos de catedraacuteticos
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 542 es una muestra de la consulta al archivo de los catedraacuteticos
Fig 542 Pantalla consulta datos de catedraacuteticos
La Figura 543 muestra la pantalla en que se captura el perfil de los catedraacuteticos elperfil son los conocimientos que tiene el profesor que lo capacitan para impartir algunaasignatura
Fig 543 Pantalla captura perfil de catedraacuteticos
Conocimientosdel profesor
Barra deseleccioacuten deperfiles
Grado dedominio deltema
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 544 muestra una consulta tiacutepica al archivo de perfiles de los catedraacuteticos
Fig 544 Pantalla consulta perfil de catedraacuteticos
La Figura 545 muestra la pantalla de inferencia final que sugiere quienes son loscatedraacuteticos maacutes capacitados para impartir una materia haciendo la inferencia mediantela buacutesqueda de matchs entre el perfil de la asignatura y el perfil del catedraacutetico
Fig 545 Pantalla muestra inferencia catedraacuteticos para materia
Candidatos aimpartir lamateria
Botoacuten del proceso deinferencia generalPorcentaje de certeza con
que puede impartirla
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 546 muestra la pantalla de explicacioacuten donde se indican los perfiles de lamateria y el perfil del profesor
Fig 546 Pantalla explicacioacuten porque un maestro puede dar una materia
La Figura 547 muestra el resultado de la inferencia del proceso que sugiere las materiasque puede impartir un profesor con base en el perfil de la materia y el perfil del profesor
Fig 547 Pantalla materias que puede impartir un profesor
Posibles materia aimpartir Porcentaje de certeza con
que puede impartirlaBotoacuten del proceso deinferencia general
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 548 muestra la pantalla de explicacioacuten donde se indican el perfil de la materiay el perfil del profesor
Fig 548 Pantalla de explicacioacuten porque un profesor puede dar una materia
Capiacutetulo 5 Implementacioacuten del sistema
Capiacutetulo 6 Pruebas y Resultados
CAPIacuteTULO 6
PRUEBAS Y RESULTADOS
61 Pruebas del sistema
Se pueden detectar dentro del desarrollo de sistemas las actividades para realizarpruebas las producidas durante la etapa de requerimientos de disentildeo preliminar y las dedisentildeo detallado Clasificadas de otra manera eacutestas pueden ser funcionales deintegracioacuten y de implementacioacuten
La finalidad de realizar Pruebas funcionales es detectar errores que pudieran habersedado durante las fases de anaacutelisis y de especificacioacuten Por otro lado ellas pueden ayudara probar si el disentildeo es correcto ya que esta fase en sus dos niveles preliminar ydetallado estaacute basada en el anaacutelisis y especificacioacuten de requerimientos del sistema Estaactividad es guiada por los objetivos y requerimientos plasmados Se busca en estaprueba la posibilidad de que se haya incurrido en errores de conceptualizacioacuten yo deespecificacioacuten Las pruebas se organizan tomando como guiacutea las diferentes opciones delsistema final
Las Pruebas de integracioacuten se realizan cuando se procede a interconectar los diferentessubsistemas que constituyen el futuro sistema Como es conocido un sistema puede serdesarrollado por diferentes personas Por esta razoacuten es de suma importancia probar lainterconexioacuten de los diferentes subsistemas y asiacute verificar que ha sido realizada demanera correcta
Las Pruebas de implementacioacuten o codificacioacuten son las que se realizan directamentesobre los programas que se estaacuten desarrollando durante la fase de implementacioacuten Estosmoacutedulos o programas a su vez constituyen subsistemas Por esta razoacuten la integracioacuten delos diferentes moacutedulos que forman un subsistema deben ser probados Estas pruebasdeben estar basadas en la especificacioacuten de disentildeo preliminar y detallado [Gerez 1985]
Los siguientes rubros describen las pruebas maacutes importantes que se consideraron paravalidar el sistema las pruebas funcionales Las pruebas de implementacioacuten se realizarondurante el desarrollo de la codificacioacuten de los diferentes moacutedulos
Capiacutetulo 6 Pruebas y Resultados
62 PRUEBAS DEL SISTEMA
621 PRUEBA 1 AacuteREAS DE MENUacuteS
Objetivo Guiar al usuario en el desarrollo del proceso Esta prueba verifica que elsistema tenga como opciones principales y submenuacutes los sentildealados en la definicioacuten derequerimientos
Criterios de aceptacioacuten Cada prueba verifica que el sistema produzca los resultadossentildealados en la definicioacuten de requerimientos
Procedimiento de la prueba A continuacioacuten se despliegan las pantallascorrespondientes a los menuacutes principales y submenuacutes Las opciones principales delproyecto son dos Menu Principal y Datos de los autores
Resultado de la prueba Los resultados fueron satisfactorios En todas las opcionesactivadas el sistema presentoacute los submenuacutes definidos en la etapa de requerimientos
La Figura 61 muestra la portada inicial del proyecto Contiene los logotipos de las tresinstituciones participantes y el nombre del proyecto
Fig 61 Portada inicial del proyecto
Es el botoacutende entrada alsistema
Botoacuten deinformacioacutende los autores
Capiacutetulo 6 Pruebas y Resultados
La Figura 62 muestra el menuacute principal del proyecto y contiene 4 moacutedulos La primeraopcioacuten incluye los moacutedulos administrativo y generacioacuten de grupos la segunda opcioacutenincluye seleccioacuten de maestro y seleccioacuten de materia
Fig 62 Menuacute principal del proyecto
En la Figura 63 se tiene la pantalla del menuacute que agrupa los programas del moacuteduloadministrativo y Sistema Experto para determinar el nuacutemero de grupos por abrir seguacutenlos caacutelculos realizados con los datos de Servicios Escolares y el ajuste a ese dato
Fig 63 Menuacute grupos por abrir
Moacutedulos delproyecto
Cuadro queproporcionalainformacioacutende la opcioacutensentildealada porel cursor
Programas delos moacutedulos
Descripcioacutende laactividad delprogramaseleccionado
Capiacutetulo 6 Pruebas y Resultados
La Figura 64 muestra el menuacute de los moacutedulos que sugiere maestros para impartir unaasignatura y sugerencia de asignatura para alguacuten maestro
Fig 64 Pantalla menuacute seleccioacuten de catedraacuteticos
La Figura 65 muestra el moacutedulo para asignar aula a los horarios que ya tienen materiagrupo y hora
Fig 65 Pantalla principal del menuacute Algoritmos Geneacuteticos
Capiacutetulo 6 Pruebas y Resultados
622 PRUEBA 2 VALIDACIOacuteN DE ENTRADAS
Objetivo Evitar peacuterdidas de tiempo con entradas erroacuteneas de datos y resultados sinvalidez
Criterios de aceptacioacuten Esta prueba deberaacute mostrar de manera exacta la informacioacutenal seleccionar la opcioacuten deseada
Procedimiento de la prueba Se verifica que todas las cajas de texto tengan el dato quese pide y una vez dados todos los datos se guardan para que estos datos posteriormentesean procesados por el sistema y almacenen los datos correctos
Resultado de la prueba Los resultados fueron satisfactorios En todas las opcionesactivadas el sistema presentoacute los resultados correctos a cada opcioacuten Ademaacutes losdesplegados de mensajes de error se presentaron de manera correcta en todas laspruebas
La Figura 66 muestra la captura de datos de una asignatura y enviacutea el correspondientemensaje de error si una caja de texto se encuentra vaciacutea
Fig 66 Pantalla de captura de datos de las Materias
Muestra elmensaje deerror si esque hacefalta alguacuten
Capiacutetulo 6 Pruebas y Resultados
La Figura 67 muestra una pantalla de captura de datos asignando criterios a una materiay valida la no duplicidad de criterios en esa materia se enviacutea el correspondiente mensajede error si una entrada ya fue capturada
Fig 67 Pantalla de captura de datos de Criterios por Materia
La Figura 68 muestra una pantalla de captura de datos de las carreras al encontrar unregistro ya capturado muestra el mensaje de error si una carrera ya fue capturada
Fig 68 Pantalla de captura de datos de Carreras
Muestra elmensajede error sies que yaexiste elregistro
Muestra elmensaje deerror si esque yaexiste elregistro
Capiacutetulo 6 Pruebas y Resultados
623 PRUEBA 3 DESPLEGADO DE RESULTADOS
6231 MOacuteDULO DE GENERACIOacuteN DE GRUPOS POR ABRIR
Objetivo Proporcionar los datos que el moacutedulo pide para que posteriormente elsistema genere el nuacutemero de grupos sugerido por abrir para cada materia
Criterios de aceptacioacuten Esta prueba muestra la lista de grupos que se deben abrirdespueacutes de aplicar los criterios del Sistema Experto
Procedimiento de la prueba Una vez que se proporcionan los datos que el SistemaExperto requiere el sistema generaraacute una lista de los grupos que se deben abrir elproacuteximo semestre
Resultado de la prueba Los resultados fueron satisfactorios En todos los casospresentados el sistema generoacute la lista en forma satisfactoria y con la informacioacutencorrecta
La Figura 69 es la pantalla maacutes importante de moacutedulo de generacioacuten de grupos porquees donde se realiza la inferencia para calcular el tipo de ajuste que se va a aplicar a cadamateria con base en las reglas que se disparan y que hacen match los criterios de unaregla y los criterios de una materia
Asignaturaa la que sele aplicaraacuteel ajuste
Regla quese disparaseguacutencriterios
Tipo deajuste quese aplica
Inferenciageneral
Datoseguacuten
Fig 69 Pantalla caacutelculo de ajustes
Datos seguacutenajuste delSistemaExperto
Inferenciaindividual
Capiacutetulo 6 Pruebas y Resultados
6232 MOacuteDULO DE GENERACIOacuteN DE HORARIOS
Objetivo Proporcionar los datos que el moacutedulo pide para que posteriormente elsistema genere el horario por semestre de las materias de una carrera
Criterios de aceptacioacuten Esta prueba debe mostrar los horarios para las materias sinerrores sin choques de hora en un paquete
Procedimiento de la prueba Recibe como entrada cuantos grupos abrir de cadamateria en cada semestre y genera primero los paquetes posteriormente a cada paquetede materias le asigna la hora por materia
Resultado de la prueba Los resultados fueron satisfactorios En todos los casospresentados el sistema generoacute los horarios correspondientes
La Figura 610 muestra el formulario que forma los paquetes de materias seguacuten laretiacutecula de una carrera muestra el nuacutemero de grupos por cada materia que se van aformar y hace los paquetes asignando los grupos AA AB AC AD
Fig 610 Pantalla inicial del moacutedulo generacioacuten de horarios
Semestre al que sele formaraacuten lospaquetes
Paquetes generadosHora de iniciode clases decada grupo
Materias delsemestre
Nuacutemero de grupospor al que se lesgeneraraacute horario
Botonesque invocanal moacutedulogeneradorde horarios
Capiacutetulo 6 Pruebas y Resultados
La Figura 611 es el formulario del moacutedulo Programacioacuten Loacutegica de Restricciones quegenera los horarios por paquete satisfaciendo las restricciones para formar un horariolibre de choques continuo (sin horas muertas) cumpliendo las horas por materia etc
Fig 611 Pantalla princip
6233 MOacuteDULO ASIGNACIOacuteN D
Objetivo Utilizar los datos generadoaulas a los paquetes de materias
Criterios de aceptacioacuten Esta pruebaasignacioacuten de aula sin choques
Procedimiento de la prueba Se genAlgoritmos Geneacuteticos durante variachoques en el aula
Resultado de la prueba Los resupresentados el sistema generoacute las aula
MateriaPaquete
Nuacutemero dehoras por diacutea
Hora de iniciode la materia
al del moacutedulo generacioacuten de horarios
E AULA
s en el moacutedulo anterior para hacer la asignacioacuten de
debe mostrar los horarios de las materias con una
eran las aulas utilizando los procedimientos de loss generaciones hasta lograr una generacioacuten sin
ltados fueron satisfactorios En todos los casoss correspondientes
Capiacutetulo 6 Pruebas y Resultados
La Figura 612 muestra la pantalla para actualizar las aulas disponibles por las personasque generan los horarios estas aulas estaacuten disponibles para que el Algoritmo Geneacuteticolas utilice para asignarles grupos durante el proceso
Fig 612 Pantalla del control de aulas
La Figura 613 muestra la consulta de las aulas que utiliza el moacutedulo generacioacuten deaulas
Fig 613 Pantalla de consultas del control de aulas
Capiacutetulo 6 Pruebas y Resultados
La Figura 614 muestra la pantalla que genera la poblacioacuten inicial a partir de los datosgenerales proveniente de los moacutedulos anteriores
Fig 614 Pantalla de genera poblacioacuten inicial
La Figura 615 muestra la pantalla que evaluacutea las versiones originadas y genera paracada una de ellas un cromosoma cuyos genes contienen la informacioacuten obtenida
Fig 615 Pantalla de evaluacioacuten de versiones
Nuacutemero dehipoacutetesisversiones oindividuos
Aula aleatoriagenerada
Este botoacuteninicia lageneracioacutende las nversionesde horarios
Capiacutetulo 6 Pruebas y Resultados
La Figura 616 muestra el formulario del proceso de seleccioacuten de las mejores versionesde horarios toma aquellas que tienen menor numero de choques y mayor espacio deocupacioacuten de aulas
Fig 616 Pantalla del proceso de seleccioacuten
La Figura 617 muestra la pantalla del proceso de clonacioacuten donde se selecciona la mejorversioacuten y se obtiene un clon ideacutentico con un nuevo nuacutemero de versioacuten
Fig 617 Pantalla del proceso de clonacioacuten
Cantidad deversiones quesobreviviraacuten
Cromosomas delos mejoresindividuos
Botoacuten queinicia elproceso deseleccioacuten
Botoacuten queinicia elproceso deeliminacioacuten
Cromosomasde versionesmaacutes aptas
Nuacutemero demejor versioacuten
Poblacioacutenversiones
Capiacutetulo 6 Pruebas y Resultados
La Figura 618 muestra la pantalla del proceso de mutacioacuten utilizado para hacer elcambio ldquomutarrdquo los datos de una versioacuten para romper alguacuten ciclado de la tendencia haciael resultado o simplemente para acelerar el proceso de optimizacioacuten
Fig 618 Pantalla de mutacioacuten
La Figura 619 muestra la pantalla donde se realiza el cruzamiento utilizando plantillaspredeterminadas dirigiendo la cruza de versiones por paquetes de materias agrupadas porsemestre y cada plantilla genera una nueva versioacuten con la combinacioacuten de fragmentosde varias versiones
Fig 619 Pantalla del proceso de cruzamiento
Cromosomamuestra lasmejoresversiones
Nuacutemero deversioacuten amutar
Aulas quepueden mutarse
Botoacuten queinicia elproceso demutacioacuten
Capiacutetulo 6 Pruebas y Resultados
La Figura 620 permite la seleccioacuten y enviacuteo de la mejor versioacuten de horarios y adaptarloal moacutedulo administrativo para su distribucioacuten y publicacioacuten
Fig 620 Horarios finales
6234 MOacuteDULO SELECCIOacuteN DE CATEDRATICOS
Objetivo Capturar los datos de los profesores y su perfil profesiograacutefico ademaacutescapturar los conocimientos necesarios para impartir una asignatura para poder sugerircual es el mejor catedraacutetico que puede impartir una asignatura
Criterios de aceptacioacuten Esta prueba debe mostrar la sugerencia de los mejorescatedraacuteticos para una materia y las mejores materias para un catedraacutetico
Procedimiento de la prueba Se daraacuten los datos iniciales de los maestros y el sistemadeberaacute generar una lista a partir de la inferencia del Sistema Experto respectivo yviceversa
Resultado de la prueba Los resultados fueron satisfactorios En todos los casospresentados el sistema infirioacute las materias y los catedraacuteticos correspondientes
Capiacutetulo 6 Pruebas y Resultados
La Figura 621 muestra la pantalla en que se captura el perfil de los catedraacuteticos elperfil son los conocimientos que tiene el profesor que lo capacitan para impartir algunaasignatura
Fig 621 Pantalla captura perfil de catedraacuteticos
La Figura 622 muestra la pantalla de inferencia final que sugiere quienes son loscatedraacuteticos maacutes capacitados para impartir una materia haciendo la inferencia mediantela buacutesqueda de matchs entre el perfil de la asignatura y el perfil del catedraacutetico
Fig 622 Pantalla muestra inferencia catedraacuteticos para materia
Conocimientosdel profesor
Barra deseleccioacuten deperfiles
Grado dedominio deltema
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Candidatos aimpartir lamateria Botoacuten del proceso de
inferencia generalPorcentaje de certeza conque puede impartirla
Capiacutetulo 6 Pruebas y Resultados
La Figura 623 muestra la pantalla de explicacioacuten donde se indican los perfiles de lamateria y el perfil del profesor
Fig 623 Pantalla explicacioacuten porque un maestro puede dar una materia
La Figura 624 muestra el resultado de la inferencia del proceso que sugiere las materiasque puede impartir un profesor con base en el perfil de la materia y el perfil del profesor
Fig 624 Pantalla materias que puede impartir un profesor
Posibles materia aimpartir Porcentaje de certeza con
que puede impartirlaBotoacuten del proceso deinferencia general
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Capiacutetulo 6 Pruebas y Resultados
La Figura 625 muestra la pantalla de explicacioacuten donde se indican el perfil de la materiay el perfil del profesor
Fig 625 Pantalla de explicacioacuten porque un profesor puede dar una materia
Capiacutetulo 6 Pruebas y Resultados
Capiacutetulo 7 Conclusiones y Trabajos Futuros
CAPIacuteTULO 7
CONCLUSIONES Y TRABAJOS FUTUROS
71 CONCLUSIONES
Los meacutetodos de programacioacuten lineal proporcionan una solucioacuten parcial al problema dela generacioacuten de horarios utilizan una ldquorecetardquo predefinida para lograr la optimizacioacutende la asignacioacuten de recursos como lo hace el meacutetodo Huacutengaro La Inteligencia Artificialsoluciona el problema utilizando la heuriacutestica el conocimiento y la experiencia de unexperto humano para solucionar el problema se decidioacute utilizar esta metodologiacutea paraexplorar una solucioacuten aproximada al problema
En el ITZ la generacioacuten de horarios se haciacutea de forma manual no se utilizaba ninguacutenmeacutetodo automatizado Al aplicar algunas teacutecnicas de la Inteligencia Artificial se halogrado generar de manera automatizada los horarios de las materias que se ofertaraacuten elproacuteximo semestre
La aplicacioacuten de varias ramas de la Inteligencia Artificial para la resolucioacuten delproblema de la generacioacuten de horarios viene a demostrar que si es posible generar uncondensado de horarios para el Instituto Tecnoloacutegico de Zacatepec que es una escuelade nivel superior y que estos horarios satisfacen adecuadamente las restricciones fuertesmedias y suaves Para ello fue necesaria la combinacioacuten de varias disciplinas de lacomputacioacuten para generar cada una de las partes que componen un horario y tambieacutenrecomendar los catedraacuteticos mas apropiados para impartir dichos grupos nuevamentequeda demostrado que la Inteligencia Artificial sirve para resolver problemas que lasteacutecnicas convencionales de computacioacuten consideran problema NP-completo
La utilizacioacuten de las teacutecnicas de los Sistemas Expertos para ajustar el nuacutemero de grupospor abrir el proacuteximo semestre permite aplicar el conocimiento y experiencia de lapersona encargada de elaborar los horarios y asiacute disminuir el nuacutemero de gruposcancelados el conocimiento e intuicioacuten del experto humano realizan un ajuste fino alnuacutemero de grupos y como puede notarse el sistema lo hace de manera similar
Para el moacutedulo de generacioacuten de los grupos y los horarios la utilizacioacuten de la teacutecnicallamada Programacioacuten Loacutegica de Restricciones permitioacute la satisfaccioacuten de lasrestricciones que hacen que los horarios sean considerados factibles para su aplicacioacuten a
Capiacutetulo 7 Conclusiones y Trabajos Futuros
los alumnos el proacuteximo semestre ya que los paquetes de materias por semestre tienenhorarios corridos y sin choques en horas nuacutemero de materias completo y buenadistribucioacuten de horas pares e impares
Se utilizoacute tambieacuten la teacutecnica de optimizacioacuten llamada Algoritmos Geneacuteticos pararealizar la asignacioacuten de aulas a cada grupo generado logrando con ello minimizarautomaacuteticamente el nuacutemero de choques de materias en aulas En las pruebas realizadasse logroacute que en la sexta generacioacuten de individuos ya soacutelo hubiera hasta un maacuteximo de 24choques lo que indicaba que soacutelo 4 oacute 5 grupos compartiacutean aula a la misma hora esto erafaacutecilmente corregible realizando una inspeccioacuten visual a la versioacuten de horarios final yajustando los uacuteltimos errores
Por uacuteltimo nuevamente se aplicaron los Sistemas Expertos en el moacutedulo de sugerenciade materias que puede impartir un maestro y en el moacutedulo maestros que pueden impartiruna determinada materia vale la pena comentar que durante las pruebas realizadas loscatedraacuteticos del departamento de Sistemas y Computacioacuten capturaban su perfilprofesiograacutefico y al pedir al sistema la sugerencia de cuaacuteles materias podriacutean impartirlos Sistemas Expertos del proyecto inferiacutean exactamente las materias que loscatedraacuteticos estaacuten impartiendo en este semestre y las que habiacutean impartido en alguacutensemestre anterior demostrando que en efecto para profesores nuevos la recomendacioacutendel sistema seriacutea vaacutelida
72 TRABAJOS FUTUROS
Se sugiere que se ampliacutee el proyecto para que a cada grupo generado con aula y hora sele asigne de manera automaacutetica un catedraacutetico utilizando ya sea Algoritmos Geneacuteticos oProgramacioacuten Loacutegica de Restricciones
Otra posible mejora puede ser incluir la Loacutegica Difusa en los Sistemas Expertos de losmoacutedulos que sugieren las materias que puede impartir un catedraacutetico y los catedraacuteticosque pueden impartir una asignatura
Como ya se comproboacute la factibilidad de generar los horarios de manera automaacutetica sepropone tambieacuten la exploracioacuten de otras ramas y teacutecnicas de la computacioacuten (RedesNeuronales Buacutesqueda Tabuacute Grafos Coloreados etc) para comparar el rendimientotiempo esfuerzo y asiacute poder determinar cuales son mejores o peores teacutecnicas pararesolver el problema de la generacioacuten de horarios
Referencias Bibliograacuteficas
REFERENCIAS BIBLIOGRAacuteFICAS
[Abramson 1991] Abramson D ldquoConstructing School Timetables Using SimulatedAnnealing Secuencial and Parallel Algoritmsrdquo Management Science PWS PublishingBoston 1998
[Beasley 1993] Beasley D amp Bull DR amp Martin RR ldquoAn Overview of GeneticAlgorithms Part 1 Fundamentalsrdquo University Computing
[Bull 1993] Bull DR amp Beasley D amp Martin RR ldquoAn Overview of GeneticAlgorithms Part 2rdquo University Computing Magazine 1993
[Burke1994]Burke EK ldquoA Genetic Algorithm for University Timetablingrdquo AISBworkshop on evolutionary computing Leeds 1994
[Burke 1997] Burke Edmund K ldquoAutomated Scheduling Optimization and PlanningGroup (ASAP)rdquo PATATrsquo97 Proceedings of the 2nd Intenational Conference on thePractice And Theory of Automated Timetabling 1997
[Burke2000] Burke Edmund amp Eliman David amp Weare Rupert ldquoA GeneticAlgorithm Based University Timetabling Systemrdquo PATATrsquo2000 Proceedings of the 5ft
Intenational Conference on the Practice And Theory of Automated Timetabling 2000
[Burke2001] Burke EK amp Eliman DGamp Weare R ldquoAutomated Scheduling OfUniversity Examsrdquo Leeds 2001
[Burke2002] Burke Edmund amp Eliman David amp Weare Rupert ldquoExaminationTimetabling in British Universities ndash A Surveyrdquo Leeds 2002
[Carrasco 2004] Carrasco Marco amp Pato Margarida ldquoSolving Real ClassTeacherTimetabling Problems using Neural Networksrdquo Facultade de Ciencias University ofLisboa Portugal
[Chorafas 1990] Chorafas Dimitris N ldquoKnowledge Engineeringrdquo Van NostrandReinnhold New York USA
Referencias Bibliograacuteficas
[Corne 1993] Corne D ldquoSolving the module exam scheduling problem with geneticalgorithmsrdquo Proceedings of the 6th Intenational conference in Industrial andEngineering applications of Artificial Intelligence and Expert Systems1993
[Daellenbach 1987] Daellenbach Hans amp McNickle Donald ldquoIntroduccioacuten a teacutecnicasde Investigacioacuten de Operacionesrdquo CECSA Meacutexico 1987
[Davis 1991] Davis L ldquoHandbook of Genetic Algorithmsrdquo Van Nostrand ReinholdNew York NY
[Demist2000] Demist ldquoDepartamental Timetabling Proyect ProposalDeMIStinterface to Timetabling Package Proyectrdquo Demist University 2000
[Detcher 1990] Detcher R ldquoEnhancement Schemes for Constraint Processing BackJumping Learning and Cutset Decompositionrdquo Artificial Intelligence 41 (1990)
[Eliman 2000] Eliman David ldquoSpecialised Recombinative Operators for TimetablingProblemsrdquo Cambridge University Press New York 2000
[Elmohamed2000] Elmohamed Saleh ldquoThe timetabling problemrdquo PATATrsquo2000Proceedings of the 5th Intenational Conference on the Practice And Theory ofAutomated Timetabling 2000
[Elmohamed2001] Elmohamed Saleh ldquoConstraint based university coursetimetablingrdquo 4th World Congress on Timetabing Aplication of advanced informationTechnologies London 2001
[Fahrion y Dollanski 1992] Fahrion R amp G Dollanski ldquoConstruction of UniversityFaculty Timetables using Logic Programmingrdquo ACM Sigsoft Notes vol 9 no 3 May1992
[Frenzel 1986]Frenzel Louis E ldquoCrash Course in Artificial Intelligence and ExpertSystemsrdquo Howard W Sams amp Co McMillan Inc Indianapolis USA
[Gerez 1985] Gerez Victor amp Mier Mauricio ldquoDesarrollo y administracioacuten deprogramas de computadorardquo McGraw Hill Meacutexico 1985
[Gervaacutes 1999] Gervaacutes P amp San Miguel B ldquoSequential Building of ConstrainedTimetables Using Rule-Based Heuristics An Expert System for AutomatedTimetablingrdquo Congreso Internacional de Investigacioacuten en Ciencias Computacionales
Referencias Bibliograacuteficas
[Giarratamo 1998] Giarratamo Joseph y Gary Riley ldquoExpert Systems Principles andProgrammingrdquo PWS Kent Publishing Company Boston USA
[Gines 1986] Gines B amp Boose J ldquoKnowledge Acquisition for Knowledge-BasedSystemsrdquo Vol 1amp2 Academic Press London U K
[Goldberg 1989] Goldberg DE ldquoGenetic Algorithms in SearchOptimization andMachine LearningrdquoAddison-Wesley
[Kang y White 1994 ] Kang L amp White GM ldquoA Logic Approach to the Resolutionof Constrains in Timetablingrdquo European Journal of Operational Research vol 61 1994
[Kandel 1991] Kandel Abraham ldquoFuzzy Expert Systemsrdquo CRC Press Inc LondonUK 1991
[Kendall1999] Kendall y Kendall ldquoAnaacutelisis y disentildeo de sistemasrdquo 3ordf edicion PearsonEducacioacuten
[Koza 1992] Koza JR ldquoGenetic Programming On the Programming of Computers bymeans of Natural Selectionrdquo Cambridge MA MIT Press
[Martiacutenez 1999] Martiacutenez Alfaro Horacio ldquoSolucioacuten al problema de asignacioacuten desalones de clases horario y grupo mediante templado simuladordquo Memorias 6ordm CongresoInternacional de Mecatroacutenica e Inteligencia Artificial Meacutexico 1999
[Medina 2004] Medina Pasaflores Horacio ldquoFundamentos de Algoritmos GeneacuteticosrdquoTesis de licenciatura Zacatepec Mexico 2004
[Michalewicz 1992] Michalewicz Z ldquoGenetic algorithms + Data Structures =Evolution Programsrdquo Springer-Verlag New York NY
[Negoita1985] Negoita ConstantinV Expert Systems and Fuzzy Systems TheBenjamin Cummings Publishing Co Menlo Park CA USA
[Nielsoft 2000] Nielsoft informatica ldquoManual de usuario Mimosa for windowsrdquo
[Paechter 1994] Paechter B ldquoTwo solutions to the general timetabling problemusing evolutionary methodsrdquo IEEE WCCI 1994
[Pluss1999] Pluss JJ ldquoSistemas expertos un enfoque pragmaacuteticordquo UNR
Referencias Bibliograacuteficas
[Rich 1996] Rich E y Knight K ldquoInteligencia Artificialrdquo McGraw HillInteramericana Madrid Espantildea
[Russell 1996] Russell S y Norvig P ldquoInteligencia Artificial un enfoque modernordquoPrentice Hall Mexico 1996
[Sanchez1999] Sanchez y Beltran ldquoSistemas expertos una metodologiacutea deprogramacioacutenrdquo Macrobit
[Schedul2000] SchedulExpert ldquoCourse scheduling in post educational institutionsrdquo EdAddison Wesley 2000
[Trick 1999 ] Trick Michael ldquoNetwork resources for coloring a graphrdquo Oracle PressEd McGraw Hill 1999
[Turban 1995] Turban Efraim ldquoDecision Support and Expert Systems ManagementSupport Systemsrdquo Fourth Edition Orentice Hall NJ USA
[Waterman1986] Waterman Donald A ldquoA Guide to Expert Systemsrdquo Addison-Wesley Publishing Co USA
[Weare2000] Weare Rupert amp Burke Edmundo amp Eliman David ldquoA Questionnaireon Exam Timetabling in Universitiesrdquo Annual review of computer Science Volume 2Palo Alto 2000
[Wilke 2002] Wilke P amp Grobner M amp Oster N ldquoA hibrid Genetic Algorithm forSchool Timetablingrdquo Advances in Artificial Intelligence Springer Lecture Notes inComputer Science New York
[Yoshikawa 1994] Yoshikawa M amp Kaneko KldquoA Constraint-based Approach toHigh School Timetabling Problems A Case Studyrdquo AAAI-94 12ordm NationalConference on Artificial Intelligence
Referencias Bibliograacuteficas
Referencias electroacutenicas
httpwwwmonografiacuteascomtrabajos12inteartfinteartfshtmlObregoacuten Arturo Inteligencia artificial y Sistemas expertos IIMAS-UNAM (1992)
httpwwwlafacucomapuntesinformaticasist_conodefaulthtmCruz Ochoa Wilson Sistemas de conocimiento
httpwwwingenieroseninformaticaorgrecursostutorialessist_exphtmlZambrano Molina Darwin Sistemas expertos
httpredcientificacomdocdoc199008210001htmlSamper Marquez Juan Joseacute Introduccioacuten a los sistemas expertos Madrid 2000
httpmismonografiascomarSistemas20expertofuzzyhtmlArede Dario Sistema experto fuzzy
httpcruzrojaguayaorginteligenciainterhtmlAyuquina Martha amp Arellano Gregorio Inteligencia artificial Universidad de Guayaquil
httpdmiuibesabasolointart1-introduccionhtmlAbasolo Mariacutea Joseacute Dra Inteligencia Artificial
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
RESUMEN
En este estudio se aborda al problema NP-completo de la elaboracioacuten dehorarios en una escuela de nivel superior Se definen los elementos deun conjunto de Sistemas Expertos un moacutedulo de Programacioacuten Loacutegicade Restricciones y un moacutedulo de Algoritmos Geneacuteticos para solucionarel problemaComenzando con la determinacioacuten de grupos por abrir despueacutes laasignacioacuten de horario a los grupos posteriormente sigue la asignacioacuten deaula a los grupos y terminando con la propuesta de profesor para lasasignaturas se logra generar un conjunto de soluciones aceptables dehorarios sin problemas que satisfacen las restricciones naturales queimponen las entidades involucradas (catedraacuteticos aulas asignaturas y losgrupos) en el proceso
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
ABSTRACT
This research deals about the Timetabling NP-complete problem appliedat the Instituto Tecnologico de Zacatepec In this document theelements of three Experts System a constrains logic programmingmodule and a Genetics Algorithms module to solve the problem arepresented
Starting with a process to determine how many groups should be openthe next semester after this continue the timetabling assignation to thegroups the next process is the classroom assignation to the groups andthe final module propose a teacher for the groups all this make a setof acceptable solutions without timetabling problems where the naturalconstrains are satisfied
AGRADECIMIENTOS
Agradezco a Dios la oportunidad de vivir para ver terminado este trabajo
Agradezco a mi madre su constante iexcl Ahora una maestriacutea
Agradecimiento especial al Instituto Politeacutecnico Nacional al Centro deInvestigacioacuten en Computacioacuten y al Instituto Tecnoloacutegico de Zacatepecpor haber permitido y facilitado todo para que esta maestriacutea se impartiera
Al Dr Adolfo Guzmaacuten Arenas y al Dr Heacutector Medelliacuten Hernaacutendez porquefueron los autores intelectuales de traer el programa de maestriacutea alTecnoloacutegico de Zacatepec
Al Dr Alvaro de Albornoz Bueno porque sin el curso que impartioacute deInteligencia Artificial y Sistemas Expertos yo seguiriacutea creyendo que esimposible generar los horarios de manera automaacutetica gracias tambieacuten porsu apoyo incondicional y asesoriacutea por uacuteltimo le agradezco la lectura totalal documento final y la aplicacioacuten de las normas de la Real AcademiaEspantildeola al mismo
Al Dr Agustiacuten Gutieacuterrez Torneacutes por su apoyo y confianza en miacute
Debo dar las gracias a Olivia Saacutenchez Cadena por ese tremendo curso deprogramacioacuten visual y tambieacuten a Laura Villavicencio Goacutemez que con lafrase ldquosolo a los nintildeos se les tiene que decir que hacerrdquo me motivoacute acontinuar hasta terminar este trabajo
A mis compantildeeras y compantildeeros por los agradables momentos pasadosdurante el desarrollo de los cursos
A mis alumnos de Ingenieriacutea en Sistemas Computacionales porque con sutiacutepico sentido del humor juvenil me motivaron para cambiar deldquolicenciadordquo a ldquomcrdquo
Agradezco a la ANUIES con su programa Supera por el apoyo econoacutemicobrindado
Se agradece tambieacuten a COSNET por su apoyo dentro del proyecto deinvestigacioacuten 65504-P
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
IacuteNDICE
RESUMEN iABSTRAC iiIacuteNDICE iiiLISTA DE FIGURAS v
CAPIacuteTULO 1 INTRODUCCIOacuteN11 Antecedentes 112 Planteamiento del problema 213 Objetivo general 414 Objetivos especiacuteficos 515 Justificacioacuten 5151 Justificacioacuten teoacuterica 5152 Justificacioacuten metodoloacutegica 5153 Justificacioacuten praacutectica 616 Alcances y limitaciones 7
CAPIacuteTULO 2 MARCO TEOacuteRICO21 El estado del arte 9211 Antecedentes 9212 Algunos meacutetodos para resolver el Problema de la Generacioacuten de Horarios 92121 Algoritmos Geneacuteticos 122122 Programacioacuten Loacutegica de Restricciones 122123 Redes Neuronales 132124 Recocido Simulado 132125 Operadores Recombinatorios Especializados 132126 El Sistema Experto basado en reglas 14213 Observaciones realizadas a algunos paquetes generadores de horarios 1522 Los horarios 16221 El problema de la elaboracioacuten de horarios 1723 El proceso de la elaboracioacuten de horarios 22
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
CAPIacuteTULO 3 TEacuteCNICAS DE INTELIGENCIA ARTIFICIALUTILIZADAS PARA LA GENERACIOacuteN DE HORARIOS31 Sistemas Expertos 24311 Funcioacuten de un Sistema Experto 25312 Arquitectura de Sistemas Expertos 25313 La base de conocimiento 26314 Motor de inferencias 27315 iquestPor queacute utilizar un Sistema Experto 27316 Construccioacuten de prototipos 2832 Algoritmos geneacuteticos 29321 Antecedentes 29322 Definicioacuten de Algoritmo Geneacutetico 30323 Ventajas y desventajas 31324 iquestCoacutemo saber si es posible usar un Algoritmo Geneacutetico 31325 Paraacutemetros que deben ser especificados en el programa 3233 Programacioacuten Loacutegica de Restricciones(PLR) 34331 Antecedentes de la PLR 34332 Restricciones 35333 Sistemas con restricciones 37334 Referencia histoacuterica de las restricciones 37335 Satisfaccioacuten de las restricciones 38336 Resolucioacuten de restricciones 38337 Organizacioacuten de proyectos 38
CAPIacuteTULO 4 ANAacuteLISIS Y DISENtildeO41 Recopilacioacuten de la informacioacuten 4142 Anaacutelisis de la informacioacuten 4643 Solucioacuten definida 4844 Requerimientos del sistema 4945 Disentildeo del sistema 52451 Mapa conceptual del proyecto 52452 Mapas conceptuales de los moacutedulos 54453 Diagramas de contexto 62454 Diagramas entidad relacioacuten 674 55 Diccionario de la base de datos 73456 Lista de funciones o programas 85457 Diagrama de arquitectura (menuacutes) 87
CAPIacuteTULO 5 IMPLEMENTACIOacuteN51 Pantallas del sistema 89
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
CAPIacuteTULO 6 PRUEBAS Y RESULTADOS61 Pruebas del sistema 11462 Pruebas del sistema 115621 Prueba 1 Aacuterea de menuacutes 115622 Prueba 2 Validacioacuten de entradas 118623 Prueba 3 Desplegado de resultados 1206231 Moacutedulo generacioacuten de grupos por abrir 1206232 Moacutedulo generacioacuten de horarios 1216233 Moacutedulo asignacioacuten de aula 1226234 Moacutedulo seleccioacuten de catedraacuteticos 127
CAPIacuteTULO 7 CONCLUSIONES Y TRABAJOS FUTUROS71 Conclusiones 13172 Trabajos futuros 132
REFERENCIAS BIBLIOGRAacuteFICAS 133
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
LISTA DE FIGURAS
Figura Nombre Paacutegina
31 Arquitectura de un Sistema Experto 2632 Pseudocoacutedigo del Algoritmo Geneacutetico simple 3341 Mapa conceptual del proyecto 5242 Diagrama de secuencia 5443 Sistema Experto generador de grupos 5544 Diagrama del moacutedulo Programacioacuten Loacutegica de Restricciones 5745 Diagrama del moacutedulo Algoritmo Geneacutetico 5846 Diagrama de Sistema Experto para sugerir profesor a asignatura 6047 Diagrama de Sistema Experto para sugerir asignaturas para
catedraacutetico61
48 Diagrama de contexto del proyecto 6449 Diagrama de funciones fundamentales (entradas) 65410 Diagrama de funciones fundamentales (salidas) 66411 Diagrama entidad relacioacuten del moacutedulo administrativo 67412 Diagrama E-R del moacutedulo para determinar y ajustar nuacutemero de
grupos68
413 Diagrama E-R del moacutedulo para asignar aulas (Algoritmo Geneacutetico) 69414 Diagrama E-R del moacutedulo para asignar horario (PLR) 70415 Diagrama E-R del moacutedulo designa mejor catedraacutetico (Sistema
Experto)71
416 Diagrama E-R del moacutedulo selecciona mejor materia (SistemaExperto)
72
51 Portada inicial del proyecto 8852 Acerca del sistema 8953 Menuacute principal del proyecto 8954 Menuacute grupos por abrir 9055 Materias 9056 Consulta materias 9157 Pantalla servicios escolares 9158 Pantalla consulta servicios escolares 9259 Pantalla criterios por materia 92510 Pantalla consulta criterios por materia 93511 Pantalla carreras 93512 Pantalla criterios 94513 Pantalla consulta criterios 94514 Pantalla reglas 95515 Pantalla consulta reglas 95516 Pantalla ajustes 96
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
517 Pantalla consulta ajustes 96518 Pantalla criterios por regla 97519 Pantalla consulta criterios por regla 97520 Pantalla caacutelculo de ajustes 98521 Pantalla explicacioacuten de la inferencia 98522 Pantalla inicial del moacutedulo generacioacuten de horarios 99523 Pantalla principal del moacutedulo generacioacuten de horarios 99524 Pantalla principal del menuacute Algoritmos Geneacuteticos 100525 Pantalla de administracioacuten de grupos 100526 Pantalla de consulta de administracioacuten de grupos 101527 Pantalla del control de aulas 101528 Pantalla de consultas del control de aulas 102529 Pantalla para generacioacuten de poblacioacuten inicial 102530 Pantalla de evaluacioacuten de versiones 103531 Pantalla del proceso de seleccioacuten 103532 Pantalla del proceso de clonacioacuten 104
533 Pantalla de mutacioacuten 104534 Pantalla del proceso de cruzamiento 105535 Horarios finales 105536 Pantalla menuacute seleccioacuten de catedraacuteticos 106537 Pantalla de perfiles 106538 Pantalla de consulta perfiles 107539 Pantalla perfiles de las materias 107540 Pantalla consulta perfiles de las materias 108541 Pantalla captura datos de catedraacuteticos 108542 Pantalla consulta datos de catedraacuteticos 109543 Pantalla captura perfil de catedraacuteticos 109544 Pantalla consulta perfil de catedraacuteticos 110545 Pantalla muestra inferencia catedraacuteticos para materia 110546 Pantalla explicacioacuten del porqueacute un maestro puede dar una materia 111547 Pantalla materias que puede impartir un profesor 111548 Pantalla de explicacioacuten del porqueacute un profesor puede dar una
materia112
61 Portada inicial del proyecto 11562 Menuacute principal del proyecto 11663 Menuacute grupos por abrir 11664 Pantalla menuacute seleccioacuten de catedraacuteticos 11765 Pantalla principal del menuacute Algoritmos Geneacuteticos 11766 Pantalla de captura de datos de las Materias 11867 Pantalla de captura de datos de Criterios por Materia 11968 Pantalla de captura de datos de Carreras 11969 Pantalla caacutelculo de ajustes 120
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
610 Pantalla inicial del moacutedulo generacioacuten de horarios 121611 Pantalla principal del moacutedulo generacioacuten de horarios 122612 Pantalla del control de aulas 123613 Pantalla de consultas del control de aulas 123614 Pantalla de genera poblacioacuten inicial 124615 Pantalla de evaluacioacuten de versiones 124616 Pantalla del proceso de seleccioacuten 125617 Pantalla del proceso de clonacioacuten 125618 Pantalla de mutacioacuten 126619 Pantalla del proceso de cruzamiento 126620 Horarios finales 127621 Pantalla captura perfil de catedraacuteticos 128622 Pantalla muestra inferencia catedraacuteticos para materia 128623 Pantalla explicacioacuten porque un maestro puede dar una materia 129624 Pantalla materias que puede impartir un profesor 129625 Pantalla de explicacioacuten porque un profesor puede dar una materia 130
Capiacutetulo 1 Introduccioacuten
CAPIacuteTULO 1
INTRODUCCIOacuteN
11 Antecedentes
iquestQueacute es un horario
ldquoEl horario completo bien puede gobernar las vidas demiles de alumnos y cientos de profesores para los 200 diacuteasdel antildeo escolar semestre a semestre hora tras hora Comouna poderosa herramienta puede faacutecilmente crear o deshacersituaciones de ensentildeanza aprendizajerdquo [Johnson 1980]
En la educacioacuten superior la historia siempre es la misma la proporcioacuten de tiempodictada por el horario para los alumnos y profesores es generalmente muy baja Apesar de esto las dificultades en la creacioacuten de los horarios son grandes Existenvarios departamentos y carreras cada uno con sus propias ideas de coacutemo y cuaacutendo sedeben programar sus cursos El nuacutemero de estudiantes puede variar considerablementede antildeo en antildeo Similarmente las preferencias de los alumnos a favor o en contra delas materias pueden variar dramaacuteticamente de un semestre a otro Los estudiantespueden tomar cursos de un departamento o de varios de ellos aun maacutes puedenseleccionar materias de otras carreras La reciente desaparicioacuten de las restricciones decreacuteditos para cursar las asignaturas complica maacutes la situacioacuten porque ampliacutea el rangode materias que puede tomar un alumno Los horarios aparecen en varias formasmatutinos vespertinos mixtos y todo el diacutea Los horarios escolares indican cuando unmaestro y un alumno deben ir a cada clase Todas las escuelas tienen un horario decursos que dirige lo que cada estudiante y catedraacutetico debe hacer en determinadomomento Esta tesis versa especiacuteficamente sobre el problema de construir horariospara Institutos Tecnoloacutegicos en Meacutexico
La planeacioacuten de los horarios es un trabajo que se realiza semestralmente antes de iniciarel siguiente periodo escolar tomando en cuenta la demanda de grupos que se ofreceraacuteny asignando a estos grupos los alumnos el aula el catedraacutetico y el horariocorrespondiente mediante informacioacuten que se obtiene de varias maneras
El principal objetivo de este proyecto es dar una solucioacuten aproximada (aceptable) alproblema de la generacioacuten de horarios de una escuela de nivel superior que se resumeasiacute
Capiacutetulo 1 Introduccioacuten
ldquoDado un conjunto de departamentos y carreras asignaturas con prerrequisitos gruposcatedraacuteticos con especialidad y horario definidos aulas laboratorios y alumnos con suspreferencias de materias el problema es construir un condensado de horarios factibleque satisfaga todas las restricciones fuertes y minimice las restricciones medias ysuavesrdquo
Las restricciones fuertes son restricciones de espacio y tiempo tal como planear doscursos en un aula al mismo tiempo Las restricciones medias y suaves son laspreferencias de maestros y estudiantes que deberaacuten ser satisfechas si es posible[Elmohamed 1998]
El problema de la generacioacuten de horarios ha sido tratado por muchos investigadoresutilizando meacutetodos que van desde la investigacioacuten de operaciones hasta disciplinas de laInteligencia Artificial como son Algoritmos Geneacuteticos Recocido Simulado RedesNeuronales etc
12 Planteamiento del problema
La generacioacuten de horarios es una forma particular del problema de asignacioacuten derecursos En el caso maacutes general existe una serie de objetos (recursos) y una serie deprocesos que necesitan ser realizados por cada uno de esos objetos En un contextoeducacional cada estudiante debe asistir a un nuacutemero predeterminado de clases y elprofesor debe impartirlas durante la semana en un aula predeterminada el estudiante elprofesor y el aula pasan aquiacute a ser el objeto y las clases el proceso
La complejidad del problema de la generacioacuten de horarios
La generacioacuten de horarios es un problema de optimizacioacuten combinatorio multi-dimensional no Euclidiano con muacuteltiples restricciones y por lo tanto difiacutecil de resolver[Elmohamed 1998]
El problema de la generacioacuten de horarios esta agrupado dentro de los considerados decomplejidad NP-completos es decir que no pueden ser resueltos en tiempo polinomialusando un algoritmo determiniacutestico No se conoce un algoritmo determiniacutestico detiempo polinomial para resolver alguno de esos problemas y la mayoriacutea de la gente creeque dichos algoritmos no existen[Karp 1972]
La generacioacuten de horarios es la asignacioacuten de lapsos de tiempo a un conjunto de eventossujeto a las restricciones en esas asignaciones Seguacuten Elmohamed [Elmohamed 1998]el problema NP-completo de la elaboracioacuten de horarios es un problema para la
Capiacutetulo 1 Introduccioacuten
satisfaccioacuten de restricciones que puede ser definido de la siguiente maneraPara una escuela dada con
Np profesores con sus horarios y turnos Nq materias con su temario y objetivosNx aulas y laboratorios con su capacidad Ns estudiantes
es requerido programar Nt parejas de
alumno-materiahora-materiamaestro-materiaaula-materia
una vez definidas las parejas anteriores se deben programar elementos de la formamateria-maestro-hora -aula
En un liacutemite de Nt lapsos de tiempo para producir una programacioacuten factible En unaprogramacioacuten factible no se puede encontrar a un profesor grupo o estudiante en maacutesde un lugar al mismo tiempo y un aula no puede ser asignada con maacutes de una clase a lavez o maacutes estudiantes de su capacidad o un profesor programado fuera de su horarionormal o con maacutes horas frente a grupo de las reglamentarias ademaacutes de un conjuntoadicional de restricciones
Importancia del problema
La administracioacuten de los recursos comprende la apertura de los grupos para inscribir alos alumnos el proacuteximo semestre la asignacioacuten de carga acadeacutemica a los catedraacuteticos lautilizacioacuten de aulas y laboratorios de quiacutemica produccioacuten coacutemputo electromecaacutenicaaulas de dibujo y demaacutes instalaciones del Instituto Tecnoloacutegico de Zacatepec (ITZ)Cuando por errores imputables al creador de los horarios se hizo una mala planeacioacuten sederivan los siguientes problemasbull Alumnos que se inscriben con una carga de creacuteditos menor a la miacutenima por falta de
grupos suficientesbull Alumnos que deben estar en el ITZ desde las 700 hrs hasta las 2000 hrs varios
diacuteas a la semana por abrir grupos en horarios muy separadosbull Alumnos que pierden la secuencia de materias seriadas por falta de cupobull Alumnos que deben permanecer 1 oacute 2 semestres maacutes en el ITZ por no prever
suficientes grupos para semestres terminalesbull Catedraacuteticos que no imparten el miacutenimo reglamentario de horas frente a grupo por
no crearles grupos suficientesbull Catedraacuteticos a los que se les avisa 1 diacutea antes del inicio de clases que impartiraacuten una
Capiacutetulo 1 Introduccioacuten
asignatura nuevabull Asignaturas que son impartidas por profesores que no cumplen el perfil deseado en
esa asignaturabull Choque de grupos en las aulasbull Choque de grupos en laboratoriosbull Falta de laboratorio a algunos gruposbull Deficiente utilizacioacuten de las aulas
La creacioacuten de un sistema que evite de manera automaacutetica caer en errores como losmencionados NO ES TAREA TRIVIAL intentar resolver este problema involucra laelaboracioacuten de un ldquosistema inteligenterdquo capaz de tomar decisiones aprender inferirbasaacutendose en hechos generar nueva informacioacuten y a partir de ella nuevamente volver adecidir El sistema que se elabore debe tener la capacidad para deducir e inducir de unamanera combinada
Desventajas del sistema actual
La mayoriacutea de los problemas anteriores son ocasionados por alguno o varios de lossiguientes motivosbull Todo el proceso de caacutelculo y administracioacuten de los recursos es manualbull El proceso de elaboracioacuten coincide con el cierre de semestre actual y como las
personas responsables tambieacuten son catedraacuteticos deben combinar la generacioacuten dehorarios con las evaluaciones finales revisioacuten de proyectos y entrega decalificaciones de sus grupos a los alumnos
bull La elaboracioacuten de los horarios es un proceso que se lleva semanas de labor diariabull Requiere la atencioacuten total de los coordinadores durante todo el tiempo de
elaboracioacutenbull Al no tener la informacioacuten automatizada se tienen peacuterdidas de tiempo en la toma de
decisiones como por ejemplo en el preacutestamo de aulas no utilizadas o en la forma decompartir catedraacuteticos
bull Se tienen fuertes restricciones debido a los horarios de los catedraacuteticosbull Hay fuertes dificultades cuando se deben negociar cambios de horarios porque el
proceso implica mover asignaturas buscar aulas dejar paquetes de materias porsemestre etc
bull El estado de aacutenimo del coordinador influye en la elaboracioacuten de los horarios
13 Objetivo general
Generacioacuten de una solucioacuten aproximada del condensado de horarios para una escuela denivel superior que satisfaga las restricciones ocasionadas por los recursos involucradosmediante la elaboracioacuten de un sistema hiacutebrido (experto geneacutetico y loacutegico restrictivo)
Capiacutetulo 1 Introduccioacuten
14 Objetivos especiacuteficos
Se tiene el disentildeo e implementacioacuten de un sistema que
bull Proporciona una solucioacuten aproximada aceptable al problema de la generacioacuten dehorarios
bull Permite a los coordinadores delegar a la computadora la asignacioacuten de recursosbull Ahorra tiempo en la generacioacuten de los horariosbull Reduce el trabajo manualbull Agiliza la toma de decisionesbull Reduce el tiempo de elaboracioacuten de horariosbull Facilita la modificacioacuten de informacioacuten generadabull Aumenta la eficiencia en las negociaciones entre jefes y coordinadoresbull Lleva al Instituto Tecnoloacutegico de Zacatepec (ITZ) a la modernizacioacuten en este
proceso
15 Justificacioacuten del sistema
151 Justificacioacuten teoacuterica
La utilizacioacuten de la Inteligencia Artificial (IA) para la solucioacuten de problemas de la vidacotidiana ha sido una estrategia utilizada cuando los sistemas tradicionales decomputacioacuten no proveen mecanismos suficientes para garantizar una solucioacuten adecuadasu utilizacioacuten para la generacioacuten de horarios (creacioacuten de grupos asignacioacuten de horaasignacioacuten de aula determinacioacuten de catedraacutetico) presenta una alternativa ideal paracomprobarlo
152 Justificacioacuten metodoloacutegica
La utilizacioacuten de un grupo de Sistemas Expertos que realice la asignacioacuten de losrecursos para la generacioacuten de grupos y le proponga una materia determinada a unprofesor seguacuten el perfil acadeacutemico de ambos reuacutene las caracteriacutesticas necesarias paradar la solucioacuten elegante y efectiva al problema planteado anteriormente porque
bull Se requiere del conocimiento de un experto para plantear el funcionamiento delsistema
bull El conocimiento se alimentaraacute a una base de conocimientos que conste de variaspartes
bull Para la generacioacuten de grupos de una asignatura dada el sistema debe ldquorazonarrdquo paradeterminar cuantos de eacutestos se deben abrir para ofertarlos a los alumnos
Capiacutetulo 1 Introduccioacuten
bull En la asignacioacuten de nuevas materias a los catedraacuteticos el sistema debe ldquodeterminarrdquoquieacuten es el maacutes idoacuteneo para impartirla de acuerdo al perfil de ambos materia ymaestro
La Programacioacuten Loacutegica de Restricciones (PLR) es una de las teacutecnicas que maneja demanera natural informacioacuten sometida a ciertas restricciones y fue seleccionada paraseguir trabajando en la resolucioacuten del problema porque
bull Los horarios deben satisfacer ciertas restricciones como por ejemplo no se debengenerar mas grupos de los necesarios no puede haber dos materias con el mismogrupo no deben existir grupos del mismo paquete a la misma hora etc
bull Cada paquete de un semestre es un objeto que por siacute mismo posee ciertascualidades y restricciones por ejemplo no debe tener horas sin asignatura entre lahora inicial y final existen materias que se deben impartir de una hora diaria otrasdeben ser impartidas de 2 horas diarias etc
bull La solucioacuten presentada por la PLR inicia con datos aleatorios de un horario despueacutesse verifica si las restricciones se cumplen o no si se cumplen se guarda el dato si nose genera un nuevo dato aleatorio
Los Algoritmos Geneacuteticos utilizados aquiacute para asignar aula a los grupos cumplen con lametodologiacutea de la Computacioacuten Evolutiva porque
bull Se tienen datos iniciales de los grupos (materia-hora)bull Se genera una poblacioacuten inicial que son n versiones de un condensado de horarios
sin aulabull Esta poblacioacuten inicial es evaluada se seleccionan los condensados maacutes adecuados y
se eliminan las versiones menos adecuadasbull Se realizan cruzamientos mutaciones clonaciones y se crea la nueva generacioacuten de
horariosbull Se repite el proceso hasta llegar a una utilizacioacuten eficiente de las aulas
Por lo anterior se pueden observar las ventajas de utilizar un sistema inteligente sobreuno convencional para solucionar el problema planteado
Una vez definido el modelo para solucionar el problema de la asignacioacuten de horariospara las asignaturas aulas y catedraacuteticos de una institucioacuten de educacioacuten superior seraacutefaacutecil extrapolarlo para solucionar algunos problemas referentes a la planeacioacuten dehorarios de otro tipo de escuelas de nivel medio superior
153 Justificacioacuten praacutectica
La creacioacuten de un sistema que resuelva el problema de la elaboracioacuten de horarios ygenere automaacuteticamente la programacioacuten de grupos aulas y maestros sin violar las
Capiacutetulo 1 Introduccioacuten
restricciones fuertes minimizando las restricciones medias y suaves optimizando lautilizacioacuten de las aulas cumpliendo con las restricciones de los profesores asignandoprofesores adecuados para impartir las clases traeraacute como consecuencia condicionespara mejorar el proceso de ensentildeanza aprendizaje
16 Alcances y limitaciones
Alcances
El sistema generaraacute un espacio de soluciones finito que satisfaga las restriccionesfuertes medias y suaves optimizando el uso de los recursos disponibles se puede decirque el sistema optimizaraacute los recursos cuando los horarios generados tengan lascaracteriacutesticas mencionadas maacutes adelante
Esta tesis documenta la creacioacuten de un sistema basado en el conocimiento parasolucionar el problema de la generacioacuten de horarios en el Instituto Tecnoloacutegico deZacatepec que permite
bull Generar grupos suficientes para que todos los estudiantes se inscriban al menos conla carga miacutenima reglamentaria
bull Que los alumnos tengan horarios adecuados a sus necesidades y preferenciasbull Que todos los grupos tengan capacidad suficiente para todos los estudiantes que
deseen inscribirsebull Que los profesores impartan materias de acuerdo a su perfil profesionalbull Evitar los choques de grupos en aulas y laboratoriosbull Que todos los grupos tengan aula asignada desde el inicio del semestrebull La utilizacioacuten oacuteptima de las aulas y laboratoriosbull La correcta asignacioacuten de aulas y laboratorios a los cursosbull Realizar de manera automaacutetica la asignacioacuten de los recursosbull Determinar el nuacutemero de grupos que se deben abrirbull Llenar las aulas con grupos sin permitir choque de horariosbull Imprimir la lista de grupos ofertados para el semestre siguientebull Cuando exista el grupo de una materia sin maestro determinar cual es el mejor para
impartirla
Tener un Sistema terminado que contenga los siguientes moacutedulos
Sistema administrativo para control de horarios Sistema Experto para determinar la cantidad de grupos por abrir Sistema Experto para sugerir materias a un catedraacutetico Sistema Experto para seleccionar los mejores catedraacuteticos para impartir una
asignatura
Capiacutetulo 1 Introduccioacuten
Moacutedulo de Programacioacuten Loacutegica de Restricciones para generar los horarios a lospaquetes de materias por semestre
Moacutedulo de Algoritmo Geneacutetico para asignar aula a los grupos
Cada moacutedulo tendraacute
bull Interfaces de usuario amigablesbull Tiempos de ejecucioacuten raacutepidos (independientemente de la maacutequina objetivo)bull Reglas de inferencia para generar resultados (soacutelo los Sistemas Expertos)bull Buacutesquedas heuriacutesticas o aleatorias seguacuten el casobull Procesos para realizar induccioacuten y deduccioacuten (soacutelo los Sistemas Expertos)bull Manejo de incertidumbre (soacutelo los Sistemas Expertos)bull Un moacutedulo de explicaciones en lenguaje natural
Limitaciones
El sistema estaacute disentildeado para generar horarios de una escuela de nivel superior donde elcoordinador de cada carrera es el responsable de la generacioacuten de sus horarios controlarsus profesores impartir cierto nuacutemero de materias y utilizar cierta cantidad de aulas ylaboratorios
Trabaja exclusivamente en lenguaje espantildeol
Las reglas de la base de conocimiento tienen un formato predeterminado por unasintaxis definida para el sistema
El sistema estaacute elaborado para trabajar en microcomputadoras compatibles con IBM
No maneja los horarios individuales de los alumnos en el proceso de inscripcioacuten estaactividad deberaacute ser realizada por los sistemas del departamento de servicios escolares
Capiacutetulo 2 Marco teoacuterico
CAPIacuteTULO 2
MARCO TEOacuteRICO
21 El estado del arte
211 Antecedentes
El problema de la generacioacuten de horarios ha sido atacado de varias maneras a nivelmundial inclusive existe un grupo internacional que convoca al congreso llamadoPATATxx (Practice and Theory of Automated Timetabling) donde xx es el antildeo delcongreso en cuestioacuten
La ASAP (Automated scheduling optimization and planing group) es otro organismocuyo fin principal es conducir investigacioacuten en modelos heuriacutesticas y algoritmos para laproduccioacuten automaacutetica de soluciones de alta calidad a una gran variedad de problemasde planeacioacuten y optimizacioacuten del mundo real incluyendo elaboracioacuten de horarioslogiacutestica asignacioacuten de espacio y mantenimiento de inventarios
212 Algunos meacutetodos para resolver el Problema de laGeneracioacuten de Horarios
La generacioacuten de horarios acadeacutemicos ha sido acometida por muchos investigadoresbaacutesicamente dentro del aacuterea de la Investigacioacuten de Operaciones
2121 Investigacioacuten de Operaciones
El algoritmo para resolver problemas de asignacioacuten se denomina Huacutengaro ya que fuerondos matemaacuteticos Huacutengaros Koumlnig (1916) y Egervary (1931) los que aportaron lasteoriacuteas que sirven de base a este meacutetodo [Daellenbach 1987]
Este problema se presenta en diversos casos de toma de decisiones Los problemastiacutepicos de asignacioacuten implican asignar tareas a maacutequinas trabajadores a tareas yproyectos personal de ventas a territorios de ventas contratos a licitaciones horarios deaulas disponibles a horarios de maestros disponibles enfermos a camas disponibles delhospital cierto nuacutemero de empleados a cierta cantidad de puestos en una empresaaviones a destinos aeacutereos entre otros
Capiacutetulo 2 Marco teoacuterico
Una caracteriacutestica importante de los problemas de asignacioacuten es que se asigna untrabajador una tarea a una sola maacutequina proyectoEn particular se busca elconjunto de asignaciones que optimice el objetivo planteado tal como minimizar costosminimizar tiempo o maximizar utilidad
La formulacioacuten del problema general de asignacioacuten es
Sujeta a
Corresponde a un caso especial del problema del transporte en el cual las variables Xijsoacutelo pueden tomar el valor 0 oacute 1 tomar el valor 1 si el origen i se hace corresponder aldestino j y 0 en caso contrario
El Algoritmo Huacutengaro
Este algoritmo se usa para resolver problemas de minimizacioacuten ya que es maacutes eficazque el empleado para resolver el problema del transporte por el alto grado dedegeneracioacuten que pueden presentar los problemas de asignacioacuten Las fases para laaplicacioacuten del meacutetodo Huacutengaro son
Capiacutetulo 2 Marco teoacuterico
Paso 1 Encontrar primero el elemento maacutes pequentildeo en cada fila de la matriz de costosmm se debe construir una nueva matriz al restar de cada costo el costo miacutenimo de cadafila encontrar para esta nueva matriz el costo miacutenimo en cada columna A continuacioacutense debe construir una nueva matriz (denominada matriz de costos reducidos) al restar decada costo el costo miacutenimo de su columna
Paso 2 (En algunos pocos textos este paso se atribuye a Flood) Consiste en trazar elnuacutemero miacutenimo de liacuteneas (horizontales o verticales o ambas uacutenicamente de esasmaneras) que se requieren para cubrir todos los ceros en la matriz de costos reducidos sise necesitan m liacuteneas para cubrir todos los ceros se tiene una solucioacuten oacuteptima entre losceros cubiertos de la matriz Si se requieren menos de m liacuteneas para cubrir todos losceros se debe continuar con el paso 3 El nuacutemero de liacuteneas para cubrir los ceros es iguala la cantidad de asignaciones que hasta ese momento se pueden realizar
Paso 3 Encontrar el menor elemento diferente de cero (llamado k) en la matriz decostos reducidos que no estaacute cubierto por las liacuteneas dibujadas en el paso 2 acontinuacioacuten se debe restar k de cada elemento no cubierto de la matriz de costosreducidos y sumar k a cada elemento de la matriz de costos reducidos cubierto por dosliacuteneas (intersecciones) Por uacuteltimo se debe regresar al paso 2
Notas
1 Para resolver un problema de asignacioacuten en el cual la meta es maximizar la funcioacutenobjetivo se debe multiplicar la matriz de ganancias por menos uno (-1) y resolver elproblema como uno de minimizacioacuten
2 Si el nuacutemero de filas y de columnas en la matriz de costos son diferentes el problemade asignacioacuten estaacute desbalanceado El meacutetodo Huacutengaro puede proporcionar una solucioacutenincorrecta si el problema no estaacute balanceado debido a lo anterior se debe balancearprimero cualquier problema de asignacioacuten (antildeadiendo filas o columnas ficticias) antes deresolverlo mediante el meacutetodo Huacutengaro
3 En un problema grande puede resultar difiacutecil obtener el miacutenimo nuacutemero de filasnecesarias para cubrir todos los ceros en la matriz de costos actual Se puede demostrarque si se necesitan j liacuteneas para cubrir todos los ceros entonces se pueden asignarsolamente j trabajos a un costo cero en la matriz actual esto explica porqueacute terminacuando se necesitan m liacuteneas
Capiacutetulo 2 Marco teoacuterico
Tambieacuten han aparecido meacutetodos no convencionales que atacan el problema desdediferentes aacutengulos Los maacutes usuales son
Algoritmos Geneacuteticos Redes Neuronales Recocido Simulado Buacutesquedas Tabuacute Sistemas Expertos Programacioacuten Loacutegica de Restricciones Grafos Coloreados Operadores Recombinatorios Especializados
2122 Algoritmos Geneacuteticos
Los Algoritmos Geneacuteticos han sido utilizados satisfactoriamente para planear exaacutemenesy cursos en cierto nuacutemero de casos [Corne 1993] utiliza una buena aproximacioacutentradicional donde cada gene representa la hora en la cual se presentaraacute un examen ocurso Con operadores de cruzamiento y mutacioacuten como los mencionadosanteriormente agrega sustanciosos ahorros de tiempo al meacutetodo de Corne [Paechter1994] da una aproximacioacuten diferente donde el gene de cada examen no solo especificaldquoel cuandordquo sino que tambieacuten busca un nuevo horario del examen si despueacutes delcruzamiento el curso esta causando un conflicto Si el examen no puede ser programadoen alguna hora entonces no se agrega a la planeacioacuten con la finalidad de no tenerhorarios infactibles
[Burke1994] incorpora dominios de conocimiento especiacutefico para asegurar que ningunade las soluciones candidato es no factible En particular una representacioacuten directa seutilizada que incluye no soacutelo el cuaacutendo sino tambieacuten el doacutende un curso o examendeberaacuten ser tomados permitiendo al programador de horarios detener la ejecucioacuten delalgoritmo en cualquier punto y tener ya una serie de soluciones de buenos horariosfactibles
2123 Programacioacuten Loacutegica de Restricciones
Varios autores han presentado teacutecnicas de Programacioacuten Loacutegica de Restricciones pararesolver problemas de asignacioacuten de horarios pero eacuteste sigue siendo un nuevo enfoqueTambieacuten han aparecido algunos usando PLR para la planeacioacuten de clase-maestro[Yoshikawa 1994]
Kang y White presentaron una buena aproximacioacuten estaacutendar de PLR programandocursos sin permitir ningun conflicto [Kang y White 1994] Ellos usaron una teacutecnica dereversa equivalente al backtracking con lo cual cuando un curso no puede ser
Capiacutetulo 2 Marco teoacuterico
asignado uno similar es desasignado y el nuevo es colocado en su lugar Esto previeneuna buacutesqueda exhaustiva completa Esto tambieacuten introduce el concepto de undelimitador de tamantildeo que establece un maacuteximo en el tamantildeo del aula que puede usarun curso en particular Las restricciones son priorizadas en cinco diferentes categoriacuteasdonde la categoriacutea cinco debe ser liberada antes que la categoriacutea cuatro y asiacute con lasdemaacutes Este procedimiento fue utilizado para programar exitosamente los cursos de laUniversidad de Otawa
Tambieacuten se ha utilizado la teacutecnica de la Programacioacuten Loacutegica de Restricciones parahacer los horarios de una facultad utilizando una regla heuriacutestica para seleccionar quecurso asignar primero [Fahrion y Dollanski 1992]
2124 Redes Neuronales
De las distintas categoriacuteas de las Redes Neuronales Artificiales la maacutes apropiada pararesolver el problema es la familia de las Redes Neuronales de reaccioacuten basadas enneuronas multiestado con ecuaciones de teoriacutea de campos con significado controlandolas dinaacutemicas Las ecuaciones anteriores son usadas en lugar de los procedimientospara actualizacioacuten de demanda estocaacutesticos que han sido usados por otros esquemas paraevitar quedar atorados en circuitos locales miacutenimos [Carrasco 2004]
2125 Recocido Simulado
Recocido Simulado se refiere al uso de una teacutecnica de optimizacioacuten combinatoria odiscreta Divide el problema en grupos del mismo tiempo de clase los cuales sonespecificados por cada departamento acadeacutemico basados en la habilidad de losinstructores Funciona asiacute
1 El proceso asigna aulas procesando un grupo a la vez empezando con el primero2 El proceso continuacutea hasta que todos los grupos son procesados3 Cuando una solucioacuten es obtenida dividiendo el problema en conjuntos de horario
una mutacioacuten especial es generada con grupos traslapados Esto podriacutea generar unamala asignacioacuten de aula para minimizar esto se utiliza el siguiente paso
4 Los grupos son procesados basados en el nuacutemero de aulas este nuacutemero de aulas esoptimizado y se termina con las horas de clase con el miacutenimo de paquetes a esa hora
5 La implementacioacuten del programa genera una base de datos con la nueva asignacioacutende salones para el proacuteximo semestre [Abramson 1991]
2126 Operadores Recombinatorios Especializados
Los operadores de cruzamiento de los Algoritmos Geneacuteticos producen buenas
Capiacutetulo 2 Marco teoacuterico
combinaciones de genes para ser pasados entre los diferentes miembros de unapoblacioacuten En los Algoritmos Geneacuteticos estaacutendar es un procedimiento similar a escogerlos primeros n genes del primer padre y los uacuteltimos del segundo padre esteprocedimiento no es uacutetil en situaciones donde existen fuertes restricciones sobre laforma de los miembros de la poblacioacuten aquiacute un operador violaraacute esos requerimientosEl operador de recombinacioacuten heuriacutestico hiacutebrido trabaja asiacute
1 Los grupos no programados del periodo anterior son pasados al algoritmo2 Primero selecciona aquellos grupos programados en el periodo i en los padres 1 y 23 Los grupos extra son seleccionados de aquellos programados en el periodo i ya sea
del padre 1 o del padre 2 o de los dejados del periodo i ndash 14 Cualquiera de los grupos no programados es pasado al periodo i+15 Soacutelo los grupos que no crean conflicto con aquellos ya programados para este
periodo pueden ser seleccionados [Wilke 2002]
2127 El Sistema Experto Basado en Reglas
Los Sistemas Basados en Reglas proporcionan un buen punto de referencia para saberque tan buenos son otros meacutetodos en comparacioacuten a esta teacutecnica estaacutendar Varias deestas reglas son usadas para proporcionar sensibles elecciones para los movimientos enel algoritmo de Recocido Simulado en lugar de seleccionar cambios de manera aleatoriase ha usado este sistema como un preprocesador para generar una buena aproximacioacuteninicial y darla al Recocido Simulado
El Sistema Experto Basado en Reglas consiste en un nuacutemero de reglas (o heuriacutesticas) yrecursioacuten convencional para ayudar en la generacioacuten de asignacioacuten de clases Lasestructuras de datos o componentes del sistema son
bull Una matriz de distancias entre los departamentos acadeacutemicos y los edificios queseraacuten utilizados
bull Estructura de los datos de las materias para cada grupo programado en el campobull Estructura para las aulas (independientemente del tipo de aula) involucradas en el
procesobull Horarios para cada periodo de tiempo guardando cuales estaacuten disponibles y
cuales ya fueron ocupadasbull La estructura de los departamentosbull Las preferencias de los estudiantes indicando las clases requeridas
independientemente del semestre que sean las materias [Gervaacutes 1999]
Capiacutetulo 2 Marco teoacuterico
213 Observaciones realizadas a algunos paquetes generadores de horarios
Nombre DeMIStDescripcioacuten Puede describirse como un paquete que realiza bien las operaciones decasa (la propia universidad que lo creoacute) pero salioacute tan costoso como si hubierancomprado un paquete [Demist 2000]Proveedor DeMISt University
KnowTISEs un proyecto iniciado por la universidad de Leeds En la literatura aparece como unpaquete que es mejor para la generacioacuten de Grandes Horarios para una universidad quepara un departamento Utiliza el beneficio de gran cantidad de informacioacutencentralizada para la optimizacioacuten de recursos [Schedul 2000]Leeds University
STARSSTARS(Space Time and Resources Management) Igual que el anterior corre mejor enla elaboracioacuten de horarios de buen tamantildeo que en una aplicacioacuten departamentalDe Montfort University
Meeting maker Office TalkEs un generador de clases y acciones diarias es bueno cuando no es uacutetil el horario delos alumnos ya que proporciona uacutenicamente los espacios para las clases [Gervaacutes 1999]Varios proveedores
GP-UNTISEs un paquete australiano que funciona perfectamente para los requerimientos de lasescuelas secundariasTimetabling Services UK
Syllabus PlusEs una buena opcioacuten para uso departamental cumple los requerimientos de unauniversidad para la generacioacuten de horarios no trabaja a nivel de estudiantes pero si lohace con grupos de ellos no es factible para la generacioacuten de Grandes HorariosScientia LTD
Facility TimetablerEs una buena opcioacuten para uso departamental y para Grandes Horarios tiene interfaz conlos sistemas de alumnos y permite la creacioacuten de horarios individuales permite el uso
Capiacutetulo 2 Marco teoacuterico
centralizado de las aulas para una buena optimizacioacutenFacility Systems
Mimosa for WindowsEs un software general de planificacioacuten de la ensentildeanza y de programacioacuten de horariosLa aplicacioacuten utiliza todas las propiedades de Windows eficientemente es raacutepida tienegran capacidad y lo mas importante es tan flexible que puede aplicarse en todo el tipode escuelas desde la escuela primaria a las universidades desde las escuelasvocacionales a las academias militares
Se podriacutea decir que este producto cubririacutea todas las necesidades de la institucioacuten perohan existido algunos inconvenientes ya que no cubre con las necesidades deldepartamento tan solo da ayuda al usuario para que pueda generar sus horarios ademaacutesel tener tantos botones en pantalla (200) podriacutean confundir al usuario y realizar horarioserroacuteneos y no se resolveriacutea el problema [Nielsoft 2000]Mimosa Software Oy Finlandia
GestHor BSPEs un producto informaacutetico para resolver problemas de horarios escolares en escuelasbaacutesicas escuelas secundarias y escuelas profesionales
Toacutemese en cuenta que la mayoriacutea de los sistemas mencionados se enfoca solo a laasignacioacuten aula ndash materia y no abarca lo que es asignacioacuten materia ndash profesor
22 Los horarios
Existe mucha literatura referente a los horarios con una gran variedad de subtiacutetulos ydiferentes problemas Una gran variedad de algoritmos han sido propuestos empleandometodologiacuteas y heuriacutesticas de buacutesqueda produciendo horarios completos o soacuteloayudando durante el proceso Una de las grandes preguntas para la elaboracioacuten dehorarios es que si eacutestos pueden ser generales es decir iquestse puede encontrar un algoritmoo meacutetodo suficientemente general que produzca buenos horarios para todos losproblemas y para todas las restricciones La alternativa desde luego es continuardesarrollando algoritmos especializados aislados cada vez que un problema de horariosaparece
Al trabajar con una solucioacuten para el problema de los horarios se deben contestar lassiguientes preguntas iquestTodas las escuelas de nivel superior elaboran los horarios de lamisma manera iquestSon grandes o pequentildeas las diferencias en la forma de elaborar loshorarios iquestQueacute tan necesaria es la ayuda de la computadora iquestSoacutelo se requiere unpaquete general para la elaboracioacuten de los horarios iquestQueacute funcionalidad debe tener
Capiacutetulo 2 Marco teoacuterico
dicho paquete iquestQueacute tan grande y complejo es el problema de elaboracioacuten de horariosiquestQueacute propiedades debe poseer un horario aceptable para que una institucioacuten lo use
Se han realizado algunas encuestas para conocer si las escuelas de nivel superior tienensistemas computarizados para la elaboracioacuten de horarios si no los tienen si lonecesitaban y queacute caracteriacutesticas deberiacutea poseer El estudio concluyoacute que existe una grandemanda para tal sistema que se requiere un alto grado de asistencia automatizada yque la mayoriacutea de los elaboradores de horarios no estaban muy contentos con sussistemas actuales [Comm y Mathaisel 1988]
[Dowsland y Lim 1982] consideraron el problema de la elaboracioacuten de horarios peroproporcionaron alternativas en la encuesta de la utilidad de sistemas automatizados[Junginger 1986] establece que ldquoAunque los horarios producidos requierenmodificacioacuten las escuelas estaacuten contentas con los resultados El tiempo ahorrado fueconsiderable arriba del 75rdquo Dowsland por otro lado concluye que ldquoEs muy difiacuteciljuzgar el eacutexito actual de los paquetes para la elaboracioacuten de horarios pero el uso muylimitado de ellos sugiere que sus ventajas son limitadasrdquo Claramente ninguacuten disentildeadorde sistemas puede garantizar la idea de que su producto seraacute bienvenido con los brazosabiertos
[Pendlebury 1986] encuestoacute a las universidades politeacutecnicas britaacutenicas con respecto ala elaboracioacuten de horarios de cursos Doce de las treinta que contestaron la encuestautilizan elaboracioacuten de horarios por computadora (siete a gran escala y cuatro lo hacenen pequentildea escala) Es interesante notar que Pendlebury encontroacute que la mayoriacutea de loscursos se basan en clases que son muy independientes unas de otras y en la mayoriacutea delas instituciones encuestadas los departamentos individuales son responsables deproducir sus propios horarios
221 El problema de la elaboracioacuten de horarios
La elaboracioacuten de horarios es el acto de programar cursos a periacuteodos de tiempo asignarun aula a esos cursos y asignar un catedraacutetico a dicho curso
A menudo se hacen afirmaciones acerca de la naturaleza del problema que puedenpermitir encontrar una solucioacuten maacutes eficientemente Sin embargo cuando se trata deconstruir un sistema general se estaacute limitado a que las afirmaciones son el miacutenimocomuacuten denominador de todos los posibles escenarios
Una informacioacuten impliacutecita que ha sido hecha a menudo es la independencia entreunidades acadeacutemicas separadas Algunas universidades programan preguntando a susdepartamentos los horarios de sus propios cursos Una unioacuten central de dichos horarioses entonces utilizada para asegurar que todas las restricciones relevantes son cumplidasEn muchos casos esta es la forma normal en que es producido el horario de los cursos
Capiacutetulo 2 Marco teoacuterico
aunque algunos departamentos desarrollan su propio software para la programacioacuten decursos
En varias universidades los alumnos pueden tomar algunos de sus cursos endepartamentos diferentes al suyo Obviamente la independencia no debe ser asumidageneralmente debido a que puede haber diferencia en la programacioacuten de los cursos decada departamento En el Tecnoloacutegico de Zacatepec por ejemplo la probabilidadpromedio de que un curso tenga conflicto con uno de otro departamento es 1650mientras que la probabilidad de que dos cursos del mismo departamento tengan conflictoes 2250 notaacutendose una gran diferencia en el resultado
Dificultades encontradas por los responsables de la generacioacuten de horarios
Algunas dificultades experimentadas por los departamentos y facultades sonmencionadas aquiacute
bull Los programas acadeacutemicos se hacen cada vez maacutes flexibles (los estudiantesseleccionan queacute asignaturas tomar cuaacutendo doacutende y con quieacuten)
bull Algunos departamentos tienen asignaturas para ofrecer pero no tienen muchosalumnos
bull Los espacios para ofrecer las materias son cada vez menos y el problema se agravacuando los alumnos no quieren asistir en las tardes o los saacutebados
bull El staff de profesores no siempre estaacute disponible para impartir clases por muacuteltiplesrazones
bull Los alumnos pueden solicitar los grupos del proacuteximo semestre desde antes de queinicie pero al llegar el momento de inscribirse no lo hacen
bull Los departamentos estaacuten ansiosos por ofrecer una gran variedad de grupos teniendolos recursos pero esto puede ocasionar problemas
bull Existe una gran variedad de reglas al momento de asignar las aulas (pertenencia alas carreras prioridades de profesores etc)
bull Como no hay un costo asociado a la utilizacioacuten de un aula y no hay sanciones porreservarla y no utilizarla los departamentos acadeacutemicos no tienen un buen motivopara hacer una correcta utilizacioacuten del espacio
bull La falta de recursos ocasiona el mayor de los problemas porque obliga a laoptimizacioacuten en la planeacioacuten
Cursos y estudiantes
El problema de la elaboracioacuten de horarios estaacute relacionado esencialmente con el nuacutemerode eventos que requieren ser programados en este caso los cursos para los estudiantesClaramente el tamantildeo del problema variacutea entre los diferentes centros de estudio desdepequentildeos problemas con alrededor de 50 a 100 cursos hasta los 500 o 1000 cursos que
Capiacutetulo 2 Marco teoacuterico
programar Esta variacioacuten en el tamantildeo afectaraacute el tiempo requerido para resolver elproblema Un problema pequentildeo puede ser resuelto casi de manera oacuteptima mientrasque en uno grande se deben usar buacutesquedas heuriacutesticas u otras formas de acotar elespacio de buacutesqueda de una solucioacuten en un periodo de tiempo razonable
Se debe esperar que el nuacutemero de cursos y el nuacutemero de alumnos esteacuten correlacionadosEl nuacutemero de cursos ofrecidos y desde luego programados debe ser calculado porextrapolacioacuten del promedio de 5 o 6 cursos por alumno y con cupo promedio de 30alumnos por curso obviamente algunos alumnos se inscribiraacuten en 7 u 8 cursos porsemestre mientras que los cursos tendraacuten inscritos entre 20 y 40 alumnos Losalumnos dependiendo del semestre en que se encuentran inscritos deben matricularse aciertos cursos especiacuteficos para ese semestre dichos cursos deben programarse de maneraque los alumnos tengan la menor cantidad de tiempo entre el primer y el uacuteltimo cursodel diacutea permitieacutendoles con esto realizar actividades complementarias
En el Tecnoloacutegico de Zacatepec para una carrera con 900 alumnos se requieren ofertaraproximadamente entre 140 y 160 cursos ademaacutes los estudiantes pueden matricularse encursos ofrecidos por otros departamentos (esto ampliacutea el rango de posibilidades para losalumnos)
Los cursos y los departamentos
El promedio de los cursos ofrecidos por cada departamento variacutea considerablementeentre las diferentes escuelas de nivel superior La razoacuten de esta variabilidad puede servista como un indicador de la naturaleza de la complejidad de la planeacioacuten de horarios
Cada departamento ofrece cursos a los estudiantes de las carreras a las que da soportedirecto pero ademaacutes debe ofrecer cursos para todas las otras carreras de la institucioacutenque lo requieran esto es si un departamento X solicita la apertura de determinadonuacutemero de cursos a un departamento Y el departamento Y debe ofertar los cursossolicitados por X para los alumnos matriculados en el departamento X aunado a estoalgunos cursos ofertados por el departamento Y tienen compatibilidad con cursosofrecidos por X y por lo tanto los estudiantes de Y y X pueden ingresar indistintamenteen cualquiera de los cursos
Los cursos los semestres y las horas
Una de las afirmaciones que se pueden hacer en las instituciones de nivel superior es quelos cursos generalmente inician durante cierto periodo de tiempo y pueden tenerduracioacuten semestral (la gran mayoriacutea) trimestral y sin fechas predeterminadas (algunosposgrados por ejemplo) En general los cursos empiezan a las 700 AM y terminandependiendo del lugar a las 2000 o a las 2100 horas de lunes a saacutebado Aunque estopermite tener un amplio margen de horas para programar los cursos esto hace tambieacuten
Capiacutetulo 2 Marco teoacuterico
aun maacutes difiacutecil la elaboracioacuten de los horarios porque aumenta el rango de posiblescombinaciones donde programar cursos
Los cursos se pueden programar en periodos de tiempo muy variados aunque la mayoriacuteade los programadores de horarios siguen los siguientes patrones
bull Curso diario de 1 horabull Curso de dos horas en diacuteas saltados (lunes y mieacutercoles jueves y viernes
mieacutercoles y viernes)bull Curso de dos horas diarias 3 diacuteas por semana (lunes mieacutercoles y viernes)
(lunes martes y jueves) o (martes jueves y viernes)bull Cursos de cuatro horas en un solo diacutea por semanabull En el peor de los casos se programan cursos con la combinacioacuten de algunos
de los anteriores
Dependiendo del curso algunos tienen duracioacuten de cuatro horas teoacutericas semanales otroscombinan cuatro horas de teoriacutea y dos de praacutectica y algunos excepcionalmente sonprogramados con cuatro horas de praacutectica y dos de teoriacutea Las horas de praacutecticageneralmente se realizan en laboratorios o praacutecticas de campo agregando esto un nuevoparaacutemetro para la complejidad de la elaboracioacuten de horarios
Los cursos y las aulas
Las aulas son el espacio fiacutesico donde se impartiraacuten los cursos pueden ser salones declase laboratorios salones de exposicioacuten aulas para aplicacioacuten de exaacutemenes aulas paraactividades deportivas musicales o recreativas cada aula tiene capacidad para quecierto nuacutemero definido de estudiantes reciba sin problema unidades de ensentildeanzaaprendizaje
En una encuesta realizada por la Universidad de Nottingham [Burke y Elliman 1998] sedefinioacute que la programacioacuten de los cursos en las aulas es uno de los mayores problemasa los que se enfrentan los responsables de la elaboracioacuten de horarios Esto proviene dedos problemas mayores El primer problema es la escasez de aulas disponibles ya queen algunas de las escuelas de nivel superior el crecimiento de la poblacioacuten estudiantil hasido mayor que el crecimiento del nuacutemero de aulas disponibles para la ensentildeanza Elsegundo problema ocurre cuando se programa un curso en mas de un aula o saloacuten declase
La ocupacioacuten de las aulas es variable de acuerdo al departamento para el que seaasignada algunos prefieren utilizarlas al maacuteximo en el turno matutino otros en el turnovespertino tienen ocupacioacuten total algunos las utilizan exhaustivamente de lunes ajueves unos departamentos las llenan los viernes y saacutebados y otros tienen que utilizarlastodo el diacutea de lunes a saacutebado inclusive solicitan prestadas a los otros departamentosaquellos espacios que no son utilizados en alguacuten diacutea y hora a la semana
Capiacutetulo 2 Marco teoacuterico
Para el Tecnoloacutegico de Zacatepec el recurso llamado las aulas debe ser optimizado enuna buena planeacioacuten de horarios esto es deben ser utilizadas al maacuteximo todos los diacuteasde la semana desde las 700 hasta las 2100 de lunes viernes y los saacutebados hasta las1500 horas
Tipos de cursos
Una de las cosas a tomarse en cuenta durante la elaboracioacuten de los horarios es el tipo decurso a programar
bull Teoacutericos como los cursos matemaacuteticos cursos de administracioacuten etcbull Teoacuterico praacutecticos como los cursos de electroacutenica sistemas digitalesbull Lenguajes de programacioacutenbull Con praacutecticas de campo que deben salir al aire librebull Con praacutecticas de quiacutemica
Otra consideracioacuten es el tipo de aula requerida por los diferentes tipos de cursos
bull cursos que requieren medios audiovisuales simples (pizarroacuten y gis)bull algunos cursos adicionalmente requieren proyectores de acetatos y salas
obscurecidasbull cursos que requieren equipo de coacutemputo equipo de proyeccioacuten equipo de video y
televisioacuten para el desarrollo de la caacutetedra etcbull cursos que requieren laboratorios con computadorasbull que requieren equipos de medicioacuten electroacutenica generadores de sentildeales enchufes
eleacutectricos ybull cursos que requieren mesas tomas eleacutectricas y equipos para conexioacuten de redes
Los cursos y los catedraacuteticos
Definitivamente eacutesta es una de las principales consideraciones que tienen en cuenta losprogramadores de horarios la asignacioacuten de los cursos a los catedraacuteticos porque es unproceso que no puede realizarse de manera aleatoria es un proceso delicado porque deesto depende la efectividad del proceso de ensentildeanzandashaprendizaje
Los catedraacuteticos tienen caracteriacutesticas individuales que los hacen uacutenicosindependientemente de la profesioacuten que hayan estudiado Tienen intereses diferentesmeacutetodos diferentes aacutereas de preferencia diferentes perfil profesiograacutefico distinto tienenactividades extralaborales variadas asiacute que
iquestCoacutemo asignarle un curso a un catedraacutetico para que logre un oacuteptimo resultado en el
Capiacutetulo 2 Marco teoacuterico
proceso de ensentildeanza-aprendizajeiquestCoacutemo garantizar que el curso asignado a un profesor seraacute bien impartidoiquestCoacutemo saber que el profesor estaacute capacitado para ofrecer un buen cursoiquestCuaacuteles son los requisitos que debe reunir un profesor para impartir cierto cursoiquestDependen soacutelo de la profesioacuten los cursos que puede impartiriquestCoacutemo conocer de antemano las preferencias de los profesoresiquestEl nivel de estudio de los profesores les capacita para impartir cualquier cursoiquestDeben los profesores ser guiados a una especialidad por los programadores dehorarios
Las respuestas a todas estas preguntas incorporadas en un sistema generador de horariosiquestpermitiraacuten hacer una buena asignacioacuten de catedraacutetico a un curso
El condensado de horarios
Es un documento emitido cada semestre por los responsables de la elaboracioacuten de loshorarios que contiene la informacioacuten requerida por los alumnos jefes de departamento ycatedraacuteticos para conocer la distribucioacuten de las materias los grupos las aulas las horasy los catedraacuteticos que impartiraacuten los cursos en otras palabras el condensado de materiases el documento final de los HORARIOS que marcaraacute las acciones de todos el semestreactual
23 El proceso de la elaboracioacuten de horarios
El proceso de la elaboracioacuten de horarios abarca cada accioacuten que es requerida para crearel horario final completo y correcto de los datos iniciales Esto incluye recibir validary dar formato a los datos generar la versioacuten inicial hacer las correcciones y luegoproducir el condensado final de horarios El proceso de la generacioacuten de horariosabarca
bull la generacioacuten del dato de cuantos cursos se van a ofertarbull asignacioacuten de horario a esos cursosbull proporcionar aulas a los cursosbull designar profesores para los cursos definidos
la parte difiacutecil de esto es generar los horarios con los recursos disponibles en cadadepartamento cada etapa tiene sus restricciones (fuertes y suaves) los recursos no soninagotablesEl uso de la computadora
En una encuesta realizada por la Universidad de Nottingham [Burke y Elliman 1998]referente a la forma de elaborar horarios en las demaacutes universidades se encontroacute que un
Capiacutetulo 2 Marco teoacuterico
58 de ellas utilizan la computadora en alguna etapa del proceso de eacutestas el 21 tienela facilidad de realizar la programacioacuten aunque generalmente requieren captura manualde informacioacuten y conocimientos previos del problema particular del proceso El 1tienen paquetes comerciales y el 14 tienen paquetes hechos en casa para generarhorarios y el 2 aseguran que estaacuten desarrollando o comprando un paquete
Dado el tamantildeo de los horarios de dichas universidades es sorprendente que muchas notengan alguna forma de automatizacioacuten Esto se debe en la mayoriacutea de los casos a quelos horarios no cambian significativamente de un antildeo a otro Sin embargo de lasuniversidades que no programan horarios por computadora la mitad usa el horario delantildeo pasado y la otra mitad empiezan desde cero cada vez Cuando no se usa el horariodel antildeo pasado generalmente toma 4 semanas elaborar uno nuevo En la mayoriacutea de loscasos donde se usa la computadora generalmente no se toma en cuenta el horario delantildeo anterior
Causas de cambio de los horarios antildeo tras antildeo
Para que un horario pueda ser usado antildeo tras antildeo debe ser lo suficientemente robustopara que los cambios que ocurran en los datos de entrada produzcan soacutelo una pequentildeaalteracioacuten o modificacioacuten en el condensado final de horarios El uso del condensado delantildeo pasado depende en la cantidad de cambios que deben hacerse y esto a su vezdepende de cuanto cambie la cantidad de grupos que deben ofertarse para cadaasignatura y esto depende de la cantidad de alumnos que pueden cursar una asignaturaahora bien la cantidad de alumnos estaacute en funcioacuten de los iacutendices de aprobacioacuten yreprobacioacuten del periodo de los alumnos que por alguna razoacuten no cursaron unaasignatura y de la cantidad de grupos ofertados el periodo pasado
Si cambia la cantidad de horas frente a grupo asignada a un departamento entoncescambiaraacute el condensado de horarios con respecto al del antildeo pasado porque eso afectadirectamente en la cantidad de cursos que podraacute ofertarse este periodo este es uno de losrecursos maacutes variables que influyen para hacer cambios en los condensados antildeo trasantildeo
La redistribucioacuten de aulas y laboratorios (que no se realiza a menudo) llega tambieacuten ainfluir en los cambios
El cambio de horario matutino a vespertino (o viceversa) solicitado por un catedraacuteticoque es el especialista en impartir cierto curso ocasiona los cambios del condensado dehorarios del antildeo anterior al nuevo
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
CAPIacuteTULO 3
TEacuteCNICAS DE INTELIGENCIA ARTIFICIAL UTILIZADASPARA LA GENERACIOacuteN DE HORARIOS
31 Sistemas Expertos (SE)Bajo el teacutermino de Sistemas Expertos se entiende un nuevo tipo de software que imita elcomportamiento de un experto humano en la solucioacuten de un problema Un SE puedealmacenar conocimientos de expertos para un campo determinado y solucionar unproblema mediante razonamiento loacutegico de conclusiones
Los Sistemas Expertos son sistemas que buscan modelar el conocimiento yprocedimientos usados por un experto humano para resolver un problemadeterminado[Saacutenchez 1999]
iquestUn Sistema Experto utiliza teacutecnicas de la Inteligencia Artificial (IA)
Los Sistemas Expertos son uno de los puntos que componen las investigaciones en elcampo de la IA Un sistema de computadoras que trabaje con teacutecnicas de IA deberaacuteestar en situacioacuten de combinar informacioacuten de forma ldquointeligenterdquo alcanzarconclusiones y justificarlas (al igual que el resultado final) Los Sistemas Expertos sonuna expresioacuten de los sistemas basados en el conocimiento Con la aplicacioacuten de teacutecnicasde Inteligencia Artificial finaliza la transicioacuten del procesamiento de datos alprocesamiento de conocimientos
Un Sistema Experto es un sistema informaacutetico que simula el proceso de aprendizaje dememorizacioacuten de razonamiento de comunicacioacuten y de accioacuten de un experto humano enuna determinada rama o dominio Estas caracteriacutesticas le permiten almacenar datos yconocimiento sacar conclusiones loacutegicas tomar decisiones aprender de la experiencia ylos datos existentes comunicarse con humanos explicar el porqueacute de las decisionestomadas y realizar acciones como consecuencia de todo lo anterior
La incorporacioacuten dentro de un sistema de computadoras de un componente basado enel conocimiento correspondiente a una habilidad experta de tal forma que el sistemapueda ofrecer asesoramiento inteligente o tomar una decisioacuten inteligente sobre unafuncioacuten del proceso Una caracteriacutestica adicional deseable que muchos consideranfundamental es la capacidad del sistema si se le solicita de justificar su propia liacutenea derazonamiento de un modo directamente inteligible para el interrogador El estiloadoptado para alcanzar estas caracteriacutesticas es la programacioacuten basada en reglas[Waterman 1986]
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
311 Funcioacuten de un Sistema Experto
La funcioacuten de un Sistema Experto es aportar soluciones a problemas de un dominioespeciacutefico imitando la forma de razonamiento de los seres humanos es decir el SistemaExperto debe ser capaz de mostrar soluciones inteligentes [Giarratamo 1998]
Acceder a los conocimientos adquiridos por experiencia es lo maacutes difiacutecil ya que losexpertos al igual que otras personas apenas los reconocen como tales Son buscadoscon mucho esfuerzo y cuidado siendo descubiertos de uno en uno poco a poco
Ventajas del Sistema Experto
Experto Humano Experto ArtificialMortal PermanenteDifiacutecil de documentar Faacutecil de documentarDifiacutecil de transferir Faacutecil de transferirImpredecible ConsistenteMaacutes caro Menos caro
Ventajas del Experto Humano
Experto Humano Experto ArtificialCreativo No creativoAdaptable Requiere mantenimientoExperiencia sensorial Entrada simboacutelicaConocimiento de sentido comuacuten Conocimiento teacutecnico
312 Arquitectura de Sistemas Expertos [Gines 1986] [Giarratamo 1998]
La arquitectura general de un SE (Fig 31) estaacute compuesta fundamentalmente de
bull Base de Conocimiento Representa el conocimiento adquirido del expertohumano incluyendo experiencia sentido comuacuten e intuicioacuten
bull Motor de Inferencia Decide que se debe aplicar que se debe hacer resuelveconflictos nuevos hace uso de la base del conocimiento Proporcionamecanismos de razonamiento buacutesqueda aprendizaje etc
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
bull Interfaz Usuario Facilita la comunicacioacuten entre el Sistema Experto y el usuarioque realiza las consultas
bull Subsistema de Adquisicioacuten Mejor conocido como la Interfaz de Expertopermite ingresar el conocimiento a la Base de Conocimientos por parte delhumano experto en alguacuten dominio de conocimiento
bull Subsistema de explicaciones Permite dar a conocer los resultados obtenidospor el Sistema Experto
313 La base de conocimiento
El enfoque maacutes comuacuten para representar el dominio del conocimiento que se requierepara un SE son las reglas de produccioacuten Estas pueden ser referidas como reglasldquosituacioacuten-accioacutenrdquo o ldquoif-thenrdquo De esta forma con frecuencia una base deconocimientos estaacute fraguada principalmente de reglas las cuales son invocadas por uncasamiento de patrones con las particularidades de las tareas circunstanciales que vanapareciendo en la base de hechosLas reglas en una base de conocimientos representan el dominio de hechos y laheuriacutestica de un buen juicio de acciones a tomar cuando uno llega a situacionesespeciacuteficas La fuerza de un SE yace en el conocimiento especiacutefico del dominio delproblema Casi todos los sistemas existentes basados en reglas contienen cientos o milesde ellas y generalmente se obtienen de entrevistas con expertos durante un tiempo largoEn cualquier SE las reglas se conectan una a otra por ligas de asociacioacuten para formar
Base de
Motor de
Subsistema deadquisicioacuten
del
Subsistemade
explicacione
Interfazde
usuario
Ingeniero delconocimiento y experto Usuario
Base de hechos
Figura 31 Arquitectura de un Sistema Experto
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
redes de reglas Una vez que han sido ensambladas tales redes entonces se tiene unarepresentacioacuten de un cuerpo de conocimientos que es sustancial
Generalmente un experto tiene muchas reglas de criterio empiacutericas por lo que el soportesuele ser incompleto para la evidencia que se dispone En tales casos una teacutecnica es la devincular valores numeacutericos a cada regla para indicar el grado de certidumbre que eacutestatiene En la operacioacuten de SE los valores de certidumbre se combinan unos a otros atraveacutes de la red considerando tambieacuten la certidumbre de los datos de entrada delproblema para llegar finalmente a un valor de certidumbre de la solucioacuten final
314 El motor de inferencias
El sistema experto modela el proceso de razonamiento humano con un moacutedulo conocidocomo el motor de inferencia Dicho motor de inferencia trabaja con la informacioacutencontenida en la base de conocimientos y la base de hechos para deducir nuevos hechosContrasta los hechos particulares de la base de hechos con el conocimiento contenido enla base de conocimientos para obtener conclusiones acerca del problemaEl modelo de problema - solucioacuten y sus meacutetodos organizan y controlan las etapas que sevan tomando para la resolucioacuten de problemas Un modelo muy poderoso y comuacuten es elde encadenar las reglas `` if-then-else con el fin de formar alguna liacutenea derazonamiento Si el encadenamiento se inicia a partir de un conjunto de condiciones y semueve hacia alguna conclusioacuten el meacutetodo se llama encadenamiento hacia adelante y ensu caso contrario el encadenamiento es hacia atraacutes
Un problema de encadenamiento hacia adelante sin una apropiada heuriacutestica de podaderivaraacute muchas soluciones de las cuales no todas son necesarias En el caso deencadenamiento hacia atraacutes es necesario tambieacuten trabajar con una heuriacutestica apropiadacon la finalidad de poder manejar submetas conjuntivas En general para atacar elproblema de conjuncioacuten es necesario encontrar un caso en donde todas las submetasinteractuantes se satisfagan Pero con frecuencia una buacutesqueda de tal naturaleza nos dauna explosioacuten combinatoria de posibilidades Es por esta razoacuten que el dominioapropiado de la heuriacutestica y su esquema inferencial deberaacuten ser encontrados para cadatipo de problemas para que de esta manera se tenga un SE eficaz y eficiente
315 iquestPor queacute utilizar un Sistema Experto [Pluss 1999] [Sanchez 1999]
1 Con la ayuda de un Sistema Experto personas con poca experiencia pueden resolverproblemas que requieren un conocimiento formal especializado
2 Los Sistemas Expertos pueden obtener conclusiones y resolver problemas de formamaacutes raacutepida que los expertos humanos
3 Los Sistemas Expertos razonan pero basaacutendose en un conocimiento adquirido y notienen sitio para la subjetividad
Capiacutetulo 2 Marco teoacuterico
4 El uso de Sistemas Expertos es especialmente recomendado en las siguientessituaciones
bull Cuando los expertos humanos en una determinada materia son escasos
bull En situaciones complejas donde la subjetividad humana puede llevar aconclusiones erroacuteneas
bull Cuando es muy elevado el volumen de datos que ha de considerarse paraobtener una conclusioacuten
316 Construccioacuten de prototipos [Turban 1995]
En el desarrollo de Sistemas Expertos se plantean dos importantes riesgos
1- No existen implementaciones similares que puedan servir de orientacioacuten al encargadodel desarrollo en la casi totalidad de los casos
2- En muchos puntos los requisitos necesarios estaacuten esbozados con muy poca precisioacuten
El disentildeo y la especificacioacuten requieren una temprana determinacioacuten de la interfaz delsoftware y de la funcionalidad de los componentes En el desarrollo de SistemasExpertos deben alterarse a menudo durante y tambieacuten despueacutes de su implementacioacuten yaque los requisitos se han ido configurando y han obtenido mayor precisioacuten o porque seha descubierto que deben iniciarse otras viacuteas de solucioacuten Durante el desarrollo resultamaacutes apropiado empezar con implementaciones tipo test para encontrar el camino haciauna solucioacuten definitiva y para hacerlas coincidir con las necesidades del usuario
32 Algoritmos Geneacuteticos
321 Antecedentes [Medina 2004] [Goldberg 1989] [Davis 1991]
El Algoritmo Geneacutetico es una teacutecnica de buacutesqueda basada en la teoriacutea de la evolucioacutende Darwin que ha cobrado tremenda popularidad en todo el mundo durante los uacuteltimosantildeos
Esta teacutecnica se basa en los mecanismos de seleccioacuten que utiliza la naturaleza de acuerdoa los cuales los individuos maacutes aptos de una poblacioacuten son los que sobreviven al
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
adaptarse maacutes faacutecilmente a los cambios que se producen en su entorno Hoy en diacutea sesabe que estos cambios se efectuacutean en los genes de un individuo (unidad baacutesica decodificacioacuten de cada uno de los atributos de un ser vivo) y que sus atributos maacutesdeseables se transmiten a sus descendientes cuando eacuteste se reproduce sexualmente
En 1859 Darwin publica su libro laquoEl origen de las especiesraquo El libro causoacute una granpoleacutemica en el mundo cientiacutefico por las revolucionarias teoriacuteas en eacutel contenidas que lasespecies evolucionan acorde al medio para adaptarse a eacuteste Con ello el universopasaba de ser una creacioacuten de Dios estaacutetica y perfecta desde su inicio a un conjunto deindividuos en constante competicioacuten y evolucioacuten para poder perpetuar su especie en eltiempo La existencia de una especie pasa asiacute a ser algo dinaacutemico las especies se creanevolucionan y desaparecen si no se adaptan Para cada especie animal la naturalezaproponiacutea un crudo filtro soacutelo los mejores los maacutes aptos los que mejor se adapten almedio conseguiacutean sobrevivir lo suficiente para llegar a la madurez y encontrar unapareja para perpetuar sus aptitudes que le haciacutean maacutes apto
La informaacutetica ve aquiacute un claro proceso de optimizacioacuten Se toman los individuos mejoradaptados (mejores soluciones temporales) se cruzan (se mezclan ) generando nuevosindividuos (nuevas soluciones) que contendraacuten parte del coacutedigo geneacutetico (informacioacuten)de sus dos antecesores y por lo tanto aunque el nuevo individuo no tenga que estarforzosamente mejor adaptado de hecho puede que ni la probabilidad de que el nuevoindividuo generado esteacute mejor adaptado que los padres sea alta el promedio de laadaptacioacuten de toda la poblacioacuten si mejora ya que tienden a perpetuarse y extenderse lasmejores caracteriacutesticas y a extinguirse las poco beneficiosas o perjudiciales En losAlgoritmos Geneacuteticos se crea una nueva abstraccioacuten -la poblacioacuten- cuya funcioacuten decoste mejoraraacute globalmente por lo que puede que se encuentre alguacuten individuo conmejores caracteriacutesticas
Un investigador de la Universidad de Michigan llamado John Holland era consciente dela importancia de la seleccioacuten natural y a fines de los antildeos 60 desarrolloacute una teacutecnica quepermitioacute incorporarla a un programa Su objetivo era lograr que las computadorasaprendieran por siacute mismas A la teacutecnica que inventoacute Holland se le llamoacute originalmentePlanes Reproductivos pero se hizo popular bajo el nombre Algoritmo Geneacutetico trasla publicacioacuten de su libro en 1975
En esa universidad Holland impartiacutea un curso titulado Teoriacutea de sistemas adaptativosDentro de este curso y con una participacioacuten activa por parte de sus estudiantes fuedonde se crearon las ideas que maacutes tarde se convertiriacutean en los Algoritmos GeneacuteticosLos objetivos de su investigacioacuten fueron dos
Imitar los procesos adaptativos de los sistemas naturales y Disentildear sistemas artificiales (normalmente programas) que retengan los mecanismos
importantes de los sistemas naturales
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
Unos 15 antildeos maacutes adelante David Goldberg actual delfiacuten de los Algoritmos Geneacuteticosconocioacute a Holland y se convirtioacute en su estudiante Golberg era un ingeniero industrialtrabajando en disentildeo de tuberiacuteas y fue uno de los primeros que tratoacute de aplicar losAlgoritmos Geneacuteticos a problemas industriales Aunque Holland tratoacute de disuadirleporque pensaba que el problema era excesivamente complejo Goldberg consiguioacute loque queriacutea escribiendo un Algoritmo Geneacutetico en una computadora personal Apple IIEstas y otras aplicaciones creadas por estudiantes de Holland convirtieron a losAlgoritmos Geneacuteticos en un campo con base suficiente como para celebrar la primeraconferencia en 1985 ICGAacute85 Tal conferencia se sigue celebrando bianualmente[Beasley 1993]
Una definicioacuten bastante completa de un Algoritmo Geneacutetico es la propuesta por JohnKoza es un algoritmo matemaacutetico altamente paralelo que transforma un conjunto deobjetos matemaacuteticos individuales con respecto al tiempo usando operaciones modeladasde acuerdo al principio Darwiniano de reproduccioacuten y supervivencia del maacutes apto y trashaberse presentado de forma natural una serie de operaciones geneacuteticas de entre las quedestaca la recombinacioacuten sexual Cada uno de estos objetos matemaacuteticos suele ser unacadena de caracteres (letras o nuacutemeros) de longitud fija que se ajusta al modelo de lascadenas de cromosomas y se les asocia con una cierta funcioacuten matemaacutetica que refleja suaptitud [Koza 1992] 322 Definicioacuten de AG
Los Algoritmos Geneacuteticos (AG) son meacutetodos adaptativos que pueden usarse pararesolver problemas de buacutesqueda y optimizacioacuten Estaacuten basados en el proceso geneacutetico delos organismos vivos A lo largo de las generaciones las poblaciones evolucionan en lanaturaleza de acorde con los principios de la seleccioacuten natural y la supervivencia de losmaacutes fuertes postulados por Darwin Por imitacioacuten de este proceso los AlgoritmosGeneacuteticos son capaces de ir creando soluciones para problemas del mundo real Laevolucioacuten de dichas soluciones hacia valores oacuteptimos del problema depende en buenamedida de una adecuada codificacioacuten de las mismas [Goldberg 1989]
Un Algoritmo Geneacutetico consiste en una funcioacuten matemaacutetica que toma como entradas alos ejemplares y retorna como salidas cuaacuteles de ellos deben generar descendencia para lanueva generacioacuten
Los Algoritmos Geneacuteticos presentan ventajas sobre otros algoritmos que los hacenpreferibles para determinado tipo de aplicaciones Algunas de las caracteriacutesticas de losAlgoritmos Geneacuteticos son
bull Son algoritmos estocaacutesticos Dos ejecuciones distintas pueden dar dos solucionesdistintas Esto es uacutetil por el hecho de que hay gran cantidad de isoacutemeros que
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
corresponden a soluciones vaacutelidas por lo que es interesante que distintas ejecucionespuedan dar isoacutemeros distintos
bull Son algoritmos de buacutesqueda muacuteltiple luego dan varias soluciones Aunquehabitualmente la energiacutea de los individuos de la poblacioacuten final es similar losindividuos suelen ser distintos entre si Con el modelo de paralelizacioacuten empleado -geneacutetico multipoblacional- la probabilidad de obtener muchas soluciones distintas esmaacutes alta todaviacutea
bull Son los algoritmos que hacen una barrida mayor al subespacio de posiblessoluciones vaacutelidas De hecho se considera que de todos los algoritmos deoptimizacioacuten estocaacutesticos los Algoritmos Geneacuteticos son de los maacutes exploratoriosdisponibles
323 Ventajas y Desventajas [Bull 1993]
bull No necesitan conocimientos especiacuteficos sobre el problema que intentan resolverbull Operan de forma simultaacutenea con varias soluciones en vez de trabajar de forma
secuencial como las teacutecnicas tradicionalesbull Cuando se usan para problemas de optimizacioacuten de una funcioacuten objetivo- resultan
menos afectados por los oacuteptimos locales (falsas soluciones) que las teacutecnicastradicionales
bull Usan operadores probabiliacutesticos en vez de los tiacutepicos operadores determiniacutesticos delas otras teacutecnicas
bull La mayoriacutea de las otras teacutecnicas de optimizacioacuten son tambieacuten estocaacutesticasbull Pueden tardar mucho en converger o no converger en absoluto dependiendo en
cierta medida de los paraacutemetros que se utilicen tamantildeo de la poblacioacuten nuacutemero degeneraciones etc-
bull Pueden converger prematuramente debido a una serie de problemas de diversaiacutendole
324 iquestCoacutemo saber si es posible usar un Algoritmo Geneacutetico
La aplicacioacuten maacutes comuacuten de los Algoritmos Geneacuteticos ha sido la solucioacuten de problemasde optimizacioacuten en donde han mostrado ser muy eficientes y confiables Sin embargono todos los problemas pudieran ser apropiados para la teacutecnica y se recomienda engeneral tomar en cuenta las siguientes caracteriacutesticas del mismo antes de intentar usarlabull Su espacio de buacutesqueda (ie sus posibles soluciones) debe estar delimitado dentro
de un cierto rangobull Debe poderse definir una funcioacuten de aptitud que indique que tan buena o mala es
una cierta respuestabull Las soluciones deben codificarse de una forma que resulte relativamente faacutecil de
implementar en la computadora
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
Decisiones para implementar un Algoritmo Geneacutetico [Michalewicz 1992]
Las decisiones que hay que tomar para implementar un Algoritmo Geneacutetico son
bull Criterio de codificacioacuten Coacutemo se va a almacenar la informacioacuten en el genomabull Criterio de tratamiento de individuos no factibles Coacutemo se van a tratar a los
individuos que no cumplan las restriccionesbull Criterio de inicializacioacuten Coacutemo se va a construir la poblacioacuten inicialbull Criterio de parada Determina cuaacutendo el algoritmo ha llegado a una solucioacuten
aceptablebull Funcioacuten de adaptacioacuten Corresponde a la funcioacuten de costo de la investigacioacuten
operativa tradicionalbull Operadores geneacuteticos Se emplean para determinar coacutemo va a ser la nueva
generacioacuten Baacutesicamente son los operadores de cruce y mutacioacuten aunque pueden serempleados otros adicionales -muerte aborto envejecimiento- Tanto cruce comomutacioacuten pueden ser realizados de muchas formas distintas
bull Criterios de reemplazo Los criterios que determinan quieacutenes se van a cruzar Notienen que ser obligatoriamente los mismos que los criterios de seleccioacuten de lospadres
bull Paraacutemetros de funcionamiento Determinados paraacutemetros que sin poder serenglobados en ninguno de los anteriores son fundamentales para el funcionamientode un Algoritmo Geneacutetico Es el caso por ejemplo del tamantildeo de la poblacioacuten laprobabilidad de la aplicacioacuten de los operadores geneacuteticos etc
325 Paraacutemetros que deben ser especificados en el programa
Nordm de generaciones cantidad de veces que se produce una nueva generacioacuten deindividuos utilizando las reglas anteriormente explicadas Por loacutegica cuantas maacutesgeneraciones se produzcan se obtendraacuten mejores individuosNordm de individuos por generacioacuten en este ejemplo la cantidad de individuos de unageneracioacuten a otra es constante no variacuteaNordm de entrenamientos cantidad de veces que se lleva a cabo un entrenamiento entrediferentes generaciones de individuos
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
Fig 32 Pseudocoacutedigo del Algoritmo Geneacutetico simple
Los Algoritmos Geneacuteticos son una poderosa herramienta de propoacutesito general deoptimizacioacuten que modela los principios de la evolucioacuten [Burke 1994]
El proceso es el siguiente
1 Una poblacioacuten random de horarios factibles es creada Cada horario es evaluado deacuerdo a una conjunto de criterios (por ejemplo el tamantildeo del horario cuantosgrupos son colocados a la misma hora y en el mismo saloacuten cuantos salones hayvaciacuteos)
2 Los horarios son seleccionados de manera aleatoria para ser las bases de la proacuteximageneracioacuten Los buenos horarios son maacutes deseables que los malos En las bases dela evaluacioacuten de estos miembros de la poblacioacuten (horarios factibles) se escogen lospadres de la proacutexima generacioacuten de horarios Evaluando numeacutericamente durante elproceso de seleccioacuten buscando los mejores horarios los peores horarios soneliminados al mismo tiempo que la buacutesqueda se dirige hacia las aacutereas maacutespromisorias del espacio de soluciones
3 El Operador Mutacioacuten se aplica generalmente a un solo miembro de la poblacioacuten einvolucra el cambio aleatorio de la hora o aula de algunos grupos despueacutesalmacena el nuevo horario siempre manteniendo un horario factible Esto agrega
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
un elemento que permite tambieacuten introducir material geneacutetico uacutetil que ha sidoperdido en otros horarios en las primeras generaciones
4 El Operador de Cruzamiento toma una pareja de horarios y los combina de algunamanera para producir uno o dos nuevos horarios esto se hace generalmente deforma aleatoria seleccionando algunos grupos de la mantildeana de un miembro de lapoblacioacuten y los algunos grupos de la tarde de otro miembro para producir un nuevohorario cualquier grupo que no pueda ser colocado de esta manera se manda alperiodo siguiente disponible
5 La nueva poblacioacuten es generada El proceso seraacute repetido hasta que una buenasolucioacuten sea generada
33 Programacioacuten Loacutegica de Restricciones (PLR)
331 Antecedentes de la PLR
La Programacioacuten Loacutegica de Restricciones (PLR) es una teacutecnica que tiene mucho encomuacuten con los algoritmos de asignacioacuten heuriacutestica Dechter describe asiacute el problemade la satisfaccioacuten de restricciones ldquoUn problema de satisfaccioacuten de restricciones (PSR)es representado por una red de restricciones consistente en un conjunto de n variablesX1 Xn con sus respectivos valores de dominio RR n y un conjunto derestricciones Una restriccioacuten Ci (Xi1Xij)es un subconjunto del producto cartesiano Ri1 x x R i1 formado por todas las tuplas de valores para un subconjunto(X i1X ij) delas variables que son compatibles unas con otrasrdquo [Detcher 1990]
Una solucioacuten de la red es una asignacioacuten de valores a todas las variables de tal formaque todas las restricciones son satisfechasrdquo Esta es una representacioacuten maacutes poderosaque el modelo de los Grafos Coloreados porque puede representar restricciones mascomplejas El problema de los grafos coloreados es equivalente a un PLR binario en lacual cada restriccioacuten soacutelo tiene dos variables
Este modelo se resuelve tratando de asignar valores a cada una de las variables encuestioacuten y entonces regresando si se encuentra en un punto muerto y quitandorestricciones si se descubre que no se puede encontrar solucioacuten El orden en el que lasvariables son seleccionadas y el orden de los valores que son asignados a las variablespuede ser alterado para tratar aumentar la velocidad de buacutesqueda
La PLR es un meacutetodo que permite el disentildeo raacutepido de prototipos de resolucioacuten deproblemas complejos Las principales aportaciones en esta liacutenea se centran en eldesarrollo de programas que incluyen conjuntos de restricciones adaptadas a unadeterminada familia de problemas asiacute como al disentildeo formal e implementacioacuten demodelos de interpretacioacuten en paralelo con el fin de mejorar la eficiencia del proceso
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
deductivo El objetivo final es disponer de sistemas de resolucioacuten implementados paraapoyar la creacioacuten de sistemas donde la explosioacuten combinatoria de los elementos de unproblema hace muy difiacutecil la buacutesqueda de una solucioacuten en un tiempo razonable [Farion1992]
En esta seccioacuten se proporciona una breve introduccioacuten de la Programacioacuten Loacutegica conRestricciones y sus aplicaciones dentro del marco general de la programacioacuten loacutegica Setrata eacuteste de un campo que ha tenido una notable expansioacuten debido a su potencialaplicacioacuten praacutectica dado que el anaacutelisis de las restricciones permite mejorarconsiderablemente la eficiencia del caacutelculo de determinadas funciones
332 Restricciones
En primer lugar se empieza por contestar la pregunta iquestQueacute es una restriccioacuten Estacuestioacuten se puede responder tan brevemente como escribe Roman Bartak[1998]Una restriccioacuten es simplemente una relacioacuten loacutegica entre varias variablesdesconocidas tomando cada una un valor dentro de un dominio determinado (peA+B=C-el circulo estaacute dentro del cuadrado- etc)Asiacute las restricciones aparecen de forma natural en todos los campos del conocimientohumano La suma de los aacutengulos de un triaacutengulo es 180 grados es un ejemplo derestriccioacuten que aparece en el mundo real De hecho las restricciones son el medionatural en el que las personas expresamos los problemas en todas las aacutereas
Con la explicacioacuten dada se ve de forma natural que las restricciones gozan de variaspropiedades interesantes
bull las restricciones pueden especificar informacioacuten parcial es decir en lasrestricciones no hace falta que se den de forma uacutenica los valores de sus variables
bull las variables son no direccionales es decir en una restriccioacuten tiacutepica sobre dosvariables (XY) se puede inferir una restriccioacuten sobre X dada una restriccioacutensobre Y y viceversa
bull las restricciones son declarativas es decir se puede especificar que relacioacutendeben mantener sin especificar el procedimiento computacional que implementeesa relacioacuten
bull las restricciones son aditivas es decir el orden de imposicioacuten de las restriccionesno importa todo lo que importa al fin y al cabo es la conjuncioacuten de restriccionesy su efecto
bull las restricciones no suelen ser independientes normalmente restricciones dentrodel conjunto total de restricciones comparte variables
Asiacute siguiendo esta idea el objetivo de la Programacioacuten Loacutegica con Restricciones essustituir el proceso de unificacioacuten por la resolucioacuten de restricciones sobre un dominio
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
particular de intereacutes Con esta visioacuten se considera que el procesador de restriccionesdebe encargarse de comprobar la consistencia del conjunto de restricciones y dentro delo posible reducirlo a alguna forma normal
Seguacuten Elmohamed [Elmohamed 1998] las restricciones pueden ser divididas en trestipos fuertes medias y suaves
Restricciones fuertes Son todas aquellas que deben ser cumplidas obligatoriamente elcosto de no cumplir estas restricciones es sumamente alto y por lo tanto en un horariofactible su costo asociado por incumplimiento debe ser cero Por ejemplo (en unproblema real se pueden encontrar de 10 a 15 restricciones fuertes)
bull Dos o maacutes clases impartidas por un profesor no se pueden programar a lamisma hora
bull Una clase teoacuterica y su laboratorio no se pueden programar a la misma hora en elmismo diacutea
bull Una clase no se puede programar en un aula a menos que su capacidad seamayor al nuacutemero de alumnos inscritos
Restricciones medias Estas restricciones no se refieren a conflictos de tiempo perotienen asociado un alto costo a ellas sin embargo este costo no es tan alto como el de lasrestricciones fuertes En el condensado de horarios final el costo de estas restriccioneses minimizado y es deseable reducirlo a cero Por ejemplo (en un problema real sepueden tener entre 20 y 25 restricciones medias)
bull Para cada estudiante el balancear las secciones LunMieVie y MarJuebull Balancear o distribuir y equilibrar las horas de clase en la semanabull Las clases pueden requerir periodos de tiempo contiguosbull Las clases se pueden agrupar con otras clases formando paquetesbull Los horarios particulares deben tener la menor cantidad de ldquohoyosrdquo posible esto
es que las clases deben ser consecutivas unas despueacutes de otras
Restricciones suaves Estas restricciones no tienen nada que ver con conflictos detiempo y tienen un bajo costo asociado a ellas Tambieacuten en el condensado de horariosfinal este costo es minimizado pero no necesariamente debe ser cero Por ejemplo (sepueden tener entre 30 y 40 restricciones suaves)
bull Balancear la inscripcioacuten en cursos de varios paquetesbull Especificar la hora de comida y otros periodos de descansobull Los catedraacuteticos pueden requerir periodos de tiempo sin clasebull No inscribir alumnos-atletas en cursos que tengan conflicto con sus horas de
praacutectica deportiva etc
333 Sistemas con RestriccionesUna manera maacutes formal de definir las restricciones es considerarlas como una foacutermulade primer orden interpretada en una estructura para asiacute tener en cuenta la semaacutenticaparticular del sistema de restricciones Esta semaacutentica declarativa es adecuada cuando
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
existe a priori una estructura que se adecua al sistema de restricciones (pe Los realespara las restricciones aritmeacuteticas) pero esto no funciona demasiado bien para lossistemas de restricciones maacutes praacutecticos (pe Dominios finitos) Obviamente no se puededireccionar ninguacuten caacutelculo operacional relacionado con el propio procesador de lasrestricciones [Elmohamed 2001]
334 Referencia Histoacuterica de las RestriccionesLas restricciones como un aacuterea de trabajo que combina investigacioacuten de un gran nuacutemerode campos incluyendo Inteligencia Artificial Lenguajes de Programacioacuten CaacutelculoSimboacutelico y Loacutegica Computacional Las restricciones sobre redes y los problemas desatisfabilidad con restricciones empezaron a estudiarse por los investigadores deInteligencia Artificial en los antildeos 70
La programacioacuten con restricciones ha sido aplicada con notable eacutexito en numerososcampos Los trabajos en esta aacuterea se remontan a la investigacioacuten de InteligenciaArtificial y Representacioacuten Graacutefica por Computadora por los antildeos 60 y 70 En la uacuteltimadeacutecada sin embargo ha empezado a darse una mayor conciencia de que las restriccionesproporcionan las bases para un potente acercamiento a la programacioacuten modelado yresolucioacuten de problemas y que los diferentes esfuerzos por explotar estas ideas puedenser unidos bajo el mismo prisma conceptual y praacutectico la programacioacuten conrestricciones
Entre los dominios tratados por los sistemas de Programacioacuten Loacutegica con Restriccioneslos que maacutes ampliamente son investigados son sin duda los dominios finitos losnuacutemeros reales y racionales con restricciones aritmeacuteticas y los booleanos De hecho 3de los principales lenguajes de Programacioacuten Loacutegica con Restricciones son un claroejemplo de esta tendencia CHIP que proporciona restricciones sobre dominios finitosracionales y booleanos PrologIII que incluye racionales booleanos y listas y PLR(R)que maneja restricciones sobre reales
En la actualidad se pueden observar dos ramas principales en los avances en laprogramacioacuten con restricciones que parten de diferente base y por tanto usan diferentemetodologiacutea para resolver las restricciones Estas dos ramas son
bull Satisfaccioacuten de Restriccionesbull Resolucioacuten de Restricciones
335 Satisfaccioacuten de RestriccionesLa satisfaccioacuten de restricciones parte de los avances en Inteligencia Artificial (problemascombinatorios) y los Graacuteficos por computadora (sistema de SKETCHPAD[1963]expresando coherencia geomeacutetrica en el caso de anaacutelisis de escenas)
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
336 Resolucioacuten de RestriccionesLa resolucioacuten de restricciones difiere de la satisfaccioacuten de restricciones porque usavariables con dominios infinitos Ademaacutes las restricciones individuales son maacutescomplicadas por ejemplo ecuaciones no lineales En consecuencia los algoritmos deresolucioacuten de restricciones usan meacutetodos algebraicos y numeacutericos en vez decombinaciones y buacutesqueda Sin embargo existe metodologiacutea para discretizar losdominios infinitos en un nuacutemero finito de componentes y entonces se aplican lasteacutecnicas de Satisfaccioacuten de Restricciones
La programacioacuten con restricciones ha sido aplicada con eacutexito en numerosos campos Lasaplicaciones recientes incluyen [Detcher 1990]
bull Graacuteficos por Computadorabull Procesamiento del Lenguaje Natural (construccioacuten de analizadores eficientes)bull Sistemas de Bases de Datos (para reforzar yo mantener la consistencia de los
datosbull Problemas de Investigacioacuten Operativa (como la optimizacioacuten de problemas)bull Biologiacutea Molecular (secuenciacioacuten de ADN)bull Aplicaciones de Empresabull Ingenieriacutea Eleacutectrica (localizacioacuten de fallos)bull Disentildeo de Circuitos (para computar configuraciones)bull Planificacioacuten y organizacioacutenbull Configuracioacutenbull Juegosbull Configuracioacuten de horariosbull Criptoaritmeacuteticabull Coloreado de Grafosbull Razonamiento de hipoacutetesis quiacutemicas
En esta seccioacuten se va a dedicar una parte a cada una las aplicaciones maacutes estudiadas
337 Organizacioacuten de Proyectos
El problema de la Organizacioacuten es el proceso de asignar actividades a recursos en eltiempo En el caso general de organizacioacuten es un proceso de tomar decisiones donde sepueden tomar dos tipos de decisiones
bull Decisiones de situar temporalmente Cuaacutendo deberiacutea empezar cada actividadbull Decisiones de asignacioacuten de recursos Con queacute recursos deberiacutea ejecutarse cada
actividad
Los problemas de organizacioacuten y de asignacioacuten de recursos estaacuten basados enrestricciones Diferentes restricciones pueden afectar a la organizacioacuten la duracioacuten de
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
una actividad las fechas de contrato restricciones precedentes tiempos de transferenciao de inicio de la actividad la capacidad de los recursos y el reparto de recursos
La relajacioacuten de las restricciones principales caracteriza la calidad de los problemas deorganizacioacuten Estas restricciones son las relacionadas con fechas de entregaproductividad periodicidad de los cambios de herramientas niveles de inventariomargen de tiempo etc Algunas de estas restricciones pueden ser combinadas en lafuncioacuten de evaluacioacuten para la optimizacioacuten
Las aplicaciones industriales de las teacutecnicas de resolucioacuten de restricciones a losproblemas del tipo de asignacioacuten de tareas incluye[Detcher 1990]
bull Organizacioacuten de la produccioacutenbull Organizacioacuten y planificacioacuten del transporte y la logiacutesticabull Administracioacuten del traacuteficobull Disentildeo de horarios de recursos y de hombresbull Asignacioacuten de plantilla incluyendo aplicaciones de ingenieriacutea de organizacioacutenbull Problemas de empaquebull Configuracioacuten de maacutequinas
Claramente hay muchos problemas relacionados en el aacuterea de la organizacioacuten en lapraacutectica para los sistemas comerciales e industriales reales los liacutemites entre unos y otrosno estaacuten claros Es difiacutecil encontrar alguacuten problema real que se ajuste a un modelopreconcebido sin tener que descartar partes del problema y aproximar otras asiacute que hayque tomar estos modelos con amplio margen de aproximacioacuten
Otra complicacioacuten es el tema de la optimizacioacuten En algunos casos el usuario estaacutesatisfecho soacutelo con tener una manera automaacutetica de tener la respuesta pero la mayoriacuteaquieren tener al menos una buena respuesta y algunos el mejor resultado posible Perodebido a la gran complejidad combinatoria de la mayoriacutea de los problemas reales deorganizacioacuten una optimizacioacuten real es muy difiacutecil asiacute que en la mayoriacutea de los casos seusa la programacioacuten con restricciones en combinacioacuten con otras teacutecnicas tales comoAlgoritmos Geneacuteticos para dar soluciones casi oacuteptimas en un tiempo razonable
Normalmente los problemas de organizacioacuten se presentan usando variables conrestricciones fuertes y restricciones suaves Estas pueden ser agrupadas en la abstraccioacutendel problema de organizacioacuten Asiacute tiacutepicamente el tiempo de comienzo y fin y laduracioacuten de cada actividad se representan por variables con restricciones Los dominiosde estas variables son el rango de tiempo de intereacutes en la organizacioacuten requerida
Capiacutetulo 4 Anaacutelisis y Disentildeo
CAPIacuteTULO 4
ANAacuteLISIS Y DISENtildeO
41 Recopilacioacuten de informacioacuten
bull Documentos recopilados
bull Cataacutelogo de asignaturas prerrequisitos y semestrebull Cataacutelogo de aulas y su capacidadbull Cataacutelogo de catedraacuteticos horas disponiblesbull Mapa reticular de la carrerabull Reporte de grupos abiertos en periodo actualbull Reporte de alumnos por grupo en periodo actualbull Reporte de alumnos no inscritos por materia y semestrebull Reporte de simulacioacuten (si todos aprobaran sus cursos)bull Reporte del iacutendice de reprobacioacuten del semestre anteriorbull Encuesta aplicada para determinar los conocimientos requeridos
para impartir una materiabull Encuesta aplicada para obtener los conocimientos de cada
catedraacuteticobull Aacuterbol de conocimiento realizado para determinar los grupos por
abrir de cada asignaturabull Aacuterbol de conocimiento del perfil de las asignaturasbull Aacuterbol de conocimiento del perfil de los catedraacuteticosbull Aacuterbol de conocimiento de los criterios de apertura de materia
bull El proceso de la elaboracioacuten de los horarios
1 Elaboracioacuten de los reportes estadiacutesticos del periodo actual(grupos abiertos alumnos por grupo alumnos no inscritos pormateria simulacioacuten iacutendice de reprobacioacuten)
2 Caacutelculo de la estimacioacuten de alumnos por materia del proacuteximoperiodo
3 Caacutelculo del nuacutemero de grupos por materia requeridos para elproacuteximo periodo
4 Ajuste de los grupos por materia requeridos para el proacuteximoperiodo
5 Formacioacuten de los grupos en paquetes por semestre6 Asignacioacuten de hora y aula a los grupos
Capiacutetulo 4 Anaacutelisis y Disentildeo
7 Seleccioacuten de catedraacutetico al grupo y viceversa8 Ajustes en hora aula y catedraacutetico por grupo9 Elaboracioacuten del reporte condensado para publicacioacuten de horarios10 Elaboracioacuten de los reportes de grupos sin maestro maestros con
horas disponibles grupos sin aula
Para elaborar los horarios de los grupos y maestros un semestre determinado se tienenen consideracioacuten los siguientes elementos
bull El estadiacutestico de Servicios Escolares (SE)El departamento de SE cuenta con un sistema que registra todo el historial acadeacutemicode los alumnos inscritos en el ITZ las materias cursadas y sus calificaciones lasdiferentes carreras con su retiacutecula de asignaturas y sus prerrequisitos los grupos delsemestre actual la cantidad de alumnos en cada grupo de una asignatura los iacutendicesde reprobacioacuten de semestres anteriores las materias que puede cursar un alumno elproacuteximo semestre etceacutetera Toda esta informacioacuten plasmada en reportesdiferentes es la base para la generacioacuten de los horarios del proacuteximo semestre
bull Los grupos requeridosSobre la base de operaciones aplicadas a la informacioacuten estadiacutestica se obtiene lacantidad de grupos requeridos para abrirse el proacuteximo semestre este nuacutemero degrupos es la cantidad oacuteptima con la que se podraacuten inscribir los alumnos sin tenerproblemas de falta de espacio el alterar disminuyendo o aumentando el nuacutemero degrupos requeridos puede ocasionar alumnos con carga crediticia menor a lareglamentaria o que existan grupos con menos de 10 alumnos respectivamente
bull Las aulasEl ITZ cuenta con 52 aulas repartidas entre las 8 carreras a cada coordinador decarrera se le asigna determinado numero de aulas para su administracioacuten asiacute que alasignar el aula a cada grupo debe cuidar la correcta distribucioacuten de los grupos en loshorarios correspondientes y que la capacidad de las aulas no rebase el numero dealumnos inscritos
bull Los maestros y departamentosCada departamento esta formado por un jefe y los catedraacuteticos que forman laacademia de cada carrera los profesores pueden ser de tiempo completo frac34 y frac12tiempo o profesores de asignatura cada uno tiene un horario predeterminado en turnomatutino o vespertino los catedraacuteticos de un departamento cubren las asignaturas desu carrera y apoyan a otras carreras a cubrir las materias que tienen el perfil de esaacademia los catedraacuteticos son uno de los recursos mas difiacuteciles de controlar
Restricciones propias de los profesores
o Materia no tiene maestro
o Maestro tiene horas disponibles
Capiacutetulo 4 Anaacutelisis y Disentildeo
o Maestro tiene materias preferencia
o Maestro ha impartido materia
o Maestro solicita materia
o Maestro tiene restricciones de nuacutemero de materias a impartir
o Restriccioacuten no pueden darse maacutes de tres materias diferentes
o Maestro tiene una profesioacuten
o Maestro tiene un perfil
o Maestro tiene un aacuterea definida
o Maestro prefiere materias especialidad
o Maestro prefiere materias semestres iniciales
bull Las materias o asignaturasEn cada carrera se tiene un mapa reticular que tiene las materias de cada semestre elnombre los creacuteditos las horas de teoriacutea y praacutectica las ligas con los prerrequisitos lasmaterias de la especialidad seleccionada etc
Restricciones propias de las asignaturas
o Materia de 1deg semestre
o Materia de 2deg semestre
o Materia de 3deg semestre
o Materia de 4deg semestre
o Materia de 5deg semestre
o Materia de 6deg semestre
o Materia de 7deg semestre
o Materia de 8deg semestre
o Materia de 9deg semestre
o Materia de especialidad
o Materia tiene prerrequisito
o Materia es de baacutesicas
o Materia requiere conocimientos de Base de Datos
o Materia requiere conocimientos de Electroacutenica
o Materia la puede impartir cualquier maestro
Capiacutetulo 4 Anaacutelisis y Disentildeo
o Materia requiere conocimientos de Redes
o Materia requiere ser impartida por ingeniero
o Materia tiene complejidad alta
o Materia debe ser impartida por catedraacutetico con grado de maestriacutea
o Materia requiere conocimientos de Arquitectura de Computadoras
o Materia no tiene cadenas
o Materia de Administracioacuten
o Materia de Ingenieriacutea Industrial
o Materia requiere conocimientos de Aacutelgebra
o Materia requiere conocimientos de Caacutelculo Diferencial e Integral
o Materia requiere conocimientos de Quiacutemica Inorgaacutenica y Orgaacutenica
o Materia requiere una elaboracioacuten de proyectos
bull Las carrerasLas 8 carreras que se imparten en el ITZ son ordenadas por nuacutemero de alumnos
1 Ingenieriacutea en Sistemas Computacionales2 Licenciatura en Informaacutetica3 Licenciatura en Administracioacuten4 Ingenieriacutea Civil5 Ingenieriacutea Electromecaacutenica6 Ingenieriacutea Industrial7 Ingenieriacutea Quiacutemica8 Ingenieriacutea Bioquiacutemica
bull Los horarios de grupoUna vez determinados los grupos requeridos para el proacuteximo semestre se procede a laasignacioacuten de horario de acuerdo al nuacutemero de horas teoacuterico-praacutecticas se le asignaaula y un catedraacutetico responsable se fija tambieacuten un nuacutemero de alumnos y el tiempode laboratorio en caso de ser necesario
Capiacutetulo 4 Anaacutelisis y Disentildeo
Diagrama de flujo del proceso
Elaboracioacuten de los reportes estadiacutesticos
Caacutelculo de alumnos por materiaproacuteximo periodo
Caacutelculo del nuacutemero de grupos pormateria requeridos
Ajuste de los grupos por materiarequeridos
Formacioacuten de los grupos en paquetespor semestre
Asignacioacuten de hora y aula a los grupos
Asignacioacuten de catedraacutetico al grupo
Ajustes en hora aula y catedraacutetico porgrupo
Elaboracioacuten del reporte condensado
Elaboracioacuten de reportes varios
Todo cuadrabien
Si
No
Fin
Inicio
Capiacutetulo 4 Anaacutelisis y Disentildeo
42 Anaacutelisis de la informacioacuten
bull Cataacutelogo de asignaturas prerrequisitos y semestre
Funcioacuten Dar a conocer las asignaturas de una carrera los prerrequisitos de las materiasy el semestre al que pertenece una asignatura los creacuteditos miacutenimos que debe tenerun alumno para cursar la asignatura
Origen Reporte emitido por el departamento de Servicios Escolares
Campos del reporte nombre carrera nombre asignaturas creacuteditos miacutenimos materiasprerrequisito semestre al que pertenece la asignatura
bull Cataacutelogo de aulas y su capacidad
Funcioacuten Dar a conocer la nomenclatura y capacidad de las aulas y laboratorios del ITZ
Origen Departamento de Planeacioacuten
Campos del reporte Nombre del edificio nuacutemero de aula capacidad
bull Cataacutelogo de catedraacuteticos horas disponibles
Funcioacuten Dar a conocer los catedraacuteticos por departamento y sus horas disponibles frentea grupo
Origen Departamentos acadeacutemicos
Campos del reporte Nombre del departamento clave de profesor nombre del profesorcantidad de horas frente a grupo que debe tener
bull Mapa reticular de la carrera
Funcioacuten Mostrar el mapa reticular de una carrera graacuteficamente muestra las asignaturaspor semestre sus requisitos foacutermula crediticia etc
Origen Divisioacuten de Estudios Profesionales
Campos del reporte Nombre y clave de la carrera nombre y clave de las asignaturasfoacutermula crediticia (nuacutemero de horas teoacutericas nuacutemero de horas praacutecticas creacuteditos dela asignatura) las materias prerrequisito de otras materias de especialidad semestrede la asignatura nuacutemero de creacuteditos necesarios para poder cursar una asignatura
Capiacutetulo 4 Anaacutelisis y Disentildeo
bull Reporte de grupos abiertos en periodo actual
Funcioacuten Muestra los cursos que son ofertados en el periodo actual
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera nombre de las asignaturas grupo de loscursos cantidad de alumnos inscritos nombre del catedraacutetico que lo imparte
bull Reporte de alumnos por grupo en periodo actual
Funcioacuten Muestra la cantidad de alumnos inscritos por semestre de una carrera
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera semestres del 1 al 13 nuacutemero de alumnosinscritos por semestre
bull Reporte de alumnos no inscritos por materia y semestre
Funcioacuten Muestra los alumnos que pudieron inscribirse a una materia pero que poralguna razoacuten no lo hicieron
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera nombre de la materia por semestre nuacutemerode alumnos que pudieron inscribirse y no lo hicieron
bull Reporte de simulacioacuten (si todos aprobaran sus cursos)
Funcioacuten Este reporte simula que todos los alumnos inscritos en los cursos acreditan elcurso entonces cuenta cuantos estudiantes pueden cursar todas las asignaturas comosi hubieran aprobado todos sus cursos actuales
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera nombre de la asignatura y por semestre elnuacutemero de alumnos que pueden cursar una materia
bull Reporte del iacutendice de reprobacioacuten del semestre anterior
Funcioacuten Dar a los coordinadores los iacutendices de aprobacioacuten y reprobacioacuten de los cursosdel periodo anterior
Capiacutetulo 4 Anaacutelisis y Disentildeo
Origen Departamento de Servicios EscolaresCampos del reporte Nombre de la carrera nombre de la asignatura total de alumnos
aprobados total de alumnos reprobados del periodo anterior
bull Encuesta de conocimientos requeridos para impartir asignatura
Funcioacuten Obtener los datos de los conocimientos que debe poseer un catedraacutetico quequiera impartir una asignatura
Origen Academia de cada departamentoCampos del reporte Nombre de la asignatura objetivo de la asignatura carrera lista de
conocimientos requeridos para impartir la asignatura carrera adecuada del profesorque imparta la asignatura
bull Encuesta de conocimientos requeridos para perfil de profesores
Funcioacuten Obtener los datos de los conocimientos que debe posee un catedraacutetico
Origen Academia de cada departamento
Campos del reporte Nombre del catedraacutetico carrera del catedraacutetico conocimientos enaacutereas particulares de cada asignatura
43 Solucioacuten definida
Resolver el problema iniciando con la metodologiacutea ldquodivide y venceraacutesrdquo el problemageneral se dividiraacute en 6 problemas particulares
a) Sistema de Informacioacuten para control de horariosb) Sistema Experto para definicioacuten y generacioacuten de grupos
por abrirc) Moacutedulo Programacioacuten Loacutegica de Restricciones para
asignar horario a los gruposd) Moacutedulo Algoritmos Geneacuteticos para asignar aula a los
grupos ya definidose) Sistema Experto para definir catedraacutetico para
asignaturaf) Sistema Experto para asignar asignatura a catedraacutetico
Debido a la naturaleza y caracteriacutesticas de la informacioacuten todos lossistemas seraacuten realizados iniciando desde cero la recopilacioacuten deinformacioacuten el anaacutelisis el disentildeo y la programacioacuten de cada moacutedulo delsistema programado en Visual Basic y Bases de Datos en Access
Capiacutetulo 4 Anaacutelisis y Disentildeo
La principal ventaja de eacutesta opcioacuten es que el sistema estaacute hecho a la medida de lasnecesidades de la institucioacuten poniendo las restricciones en el formato que se tienenactualmente la desventaja es que se debe desarrollar TODO el sistema
44 Requerimientos del sistema
Los Motores de Inferencias deben ser disentildeados con las siguientes caracteriacutesticas
bull Buacutesqueda de primero en profundidad en ocasiones cuando se interactuacutee con elusuario este tipo de buacutesqueda seraacute utilizado para recorrer toda la base deconocimiento
bull Buacutesqueda heuriacutestica en la que el usuario deberaacute dar datos iniciales de por dondeempezar la buacutesqueda de alguna informacioacuten
bull Tomar informacioacuten de la Base de Conocimiento y guardarla en las bases de datos ytambieacuten inferir la informacioacuten y guardarla en las bases de datos para su posteriortratamiento e impresioacuten
bull Seleccionar la mejor opcioacuten y presentarla al usuario para los casos en que el usuariodecida cambiar alguacuten dato la maacutequina deberaacute presentar una opcioacuten y saber indicarel porqueacute la ldquoeligioacuterdquo
bull Dar otras soluciones ademaacutes de la oacuteptima teniendo porcentajes de aceptacioacuten paracada solucioacuten y permitiendo la buacutesqueda de maestros a impartir materias aulas paraalguacuten grupo o cantidad de grupos a abrir
bull Dar resultados en lenguaje natural de modo que el usuario entienda claramente loque la maacutequina le comunica
bull Trabajar interactivamente con el usuario para que eacuteste pueda cuestionar el porqueasignoacute un maestro abrioacute grupos asignoacute un aula etceacutetera
bull Tener capacidad para el uso del paradigma basado en analogiacuteas ldquoSi un maestro yadio la materia en alguacuten semestre entonces puede darla en este semestrerdquo o bien ldquoSieste paquete de materias estaacute completo entonces repite todo el paquete estesemestrerdquo
Interfaz de Usuario recibe y entrega informacioacuten interactuando con el usuario esdecir el usuario puede
1) alimentar hechos2) solicitar resultados y reportes3) cuestionar coacutemo se obtuvieron ciertas conclusiones
La interfaz de usuario debe tener las caracteriacutesticas siguientes
bull Comunicarse en el lenguaje del usuario sea un humano u otro dispositivobull Recibir hechos del usuario y almacenarlos en la base de hechosbull Presentar de manera amigable los objetivos a buscar e inferencias en pantallabull Dar de manera clara la explicacioacuten de la inferencia realizada
Capiacutetulo 4 Anaacutelisis y Disentildeo
bull Dar resultados por escrito en informesbull Proporcionar al usuario la facilidad de alimentar la base de conocimientosbull Dar al usuario la facultad de corregir las inferenciasbull Si el usuario es inexperto facilitar la ayuda necesaria
Seleccioacuten del lenguaje de programacioacuten
Visual Basic 60 proporciona a los programadores facilidad para desarrollar aplicacionescomplejas en poco tiempo (comparado con lo que cuesta programar en Visual C++ porejemplo)
El sistema necesita interfaces amigables al usuario con ventanas y botones emergentesen cualquier momento y Visual Basic 60 es una herramienta de disentildeo de aplicacionespara Windows en la que eacutestas se desarrollan en una gran parte a partir del disentildeo de unainterfaz graacutefica (pudiendo incorporar todos los elementos de este entorno informaacuteticoventanas botones cajas de diaacutelogo y texto botones de opcioacuten y de seleccioacuten barras dedesplazamiento graacuteficos menuacutes etc) En una aplicacioacuten Visual Basic 60 el programaestaacute formado por una parte de coacutedigo puro y otras partes asociadas a los objetos queforman la interfaz graacutefica Visual Basic 60 permite la programacioacuten de sus ventanasbotones y componentes de manera maacutes faacutecil que Java con sus Applets
En la parte del sistema de control de horarios que es un sistema de informacioacuten comuacutenlos programas que llenan de informacioacuten las bases de datos son muy parecidos unos conotros al hacer los procesos de altas bajas modificaciones consultas y validaciones seutilizan las ventajas que Visual Basic 60 ofrece de la Programacioacuten Orientada aObjetos (POO) eacutesta es una forma de programacioacuten que utiliza objetos ligados mediantemensajes para la solucioacuten de problemas Puede considerarse como una extensioacuten naturalde la programacioacuten estructurada en un intento de potenciar los conceptos demodularidad y reutilizacioacuten de coacutedigo Las caracteriacutesticas fundamentales de la POO sonabstraccioacuten encapsulamiento herencia y polimorfismo
Visual Basic 60 soporta la abstraccioacuten la encapsulacioacuten el polimorfismo y lareutilizacioacuten de coacutedigo Los objetos de Visual Basic estaacuten encapsulados es decircontienen su propio coacutedigo y sus propios datos
Manejador de Base de datos para el almacenamiento de la informacioacutenEl manejador de base de datos a utilizar seraacute Microsoft Access debido a que los usuariosque alimentan la base de conocimientos son expertos en diferentes aacutereas delconocimiento y tiene conocimientos limitados de los diferentes manejadores y estaacuten maacutesfamiliarizados con Microsoft Access Ademaacutes de que Access es transportablefaacutecilmente
Ademaacutes la cantidad y tipo de informacioacuten que se almacena en las tablas no requieremanejadores de bases de datos potentes o con caracteriacutesticas especiales
Capiacutetulo 4 Anaacutelisis y Disentildeo
Sistemagenerador dehorarios
SistemaExperto
Reglas
Criterios
Criterios por regla Conocimiento
Procesos
Capturaestadiacutesticas
Calcula grupos
Ajusta grupos
Sistema expertoasigna materia
Sistema Expertoasigna maestro
Asigna materia
Asigna catedraacutetico
Conocimientos
Procesos
Materias
Perfil general
Catedraacuteticos
Perfil materias
Perfil maestro
Asignacioacutenmateria-maestro
Asignacioacutenmaestro-materia
Buacutesqueda independiente
B adelante
B atraacutes
Abduccioacuten
Explicacioacuten
MoacuteduloPLR
Asigna horario
Datos
Arbol derestricciones Procesos
Materia
Grupos
Paquetes
Horario
Restriccioacuten 1
Restriccioacuten 3
Restriccioacuten 2
Restriccioacuten N
Genera random
Evaluacutea restricciones
Guarda grupo
MoacuteduloAlgoritmoGeneacutetico
Asigna aula
Operadores Geneacuteticos
Evaluacioacuten
Cruzamiento
Seleccioacuten
Mutacioacuten
Poblacioacuten Inicial
Versioacuten 1
Versioacuten 2
Versioacuten 3
Versioacuten N
Condensadodatos grales
Materia
Hora
Aula
Control escolar
Sistema deInformacioacuten
Aulas
Horarios
Grupos
Maestros
Datosestadiacutesticos
Datosgenerales
Datos condensado
Materias
45 MAPA CONCEPTUAL DEL PROYECTO
Capiacutetulo 4 Anaacutelisis y Disentildeo
Capiacutetulo 4 Anaacutelisis y Disentildeo
En la Figura 41 se muestra el mapa conceptual del proyecto La burbuja centralrepresenta el sistema generador de horarios y cada rama representa uno de los seismoacutedulos que lo componen las burbujas de cada rama contienen a su vez variasramificaciones en las que se muestran de manera graacutefica los componentes maacutesrepresentativos de los procesos utilizados la informacioacuten que manejan el conocimientoque utilizan y las restricciones involucradas
El moacutedulo Servicios Escolares contiene informacioacuten necesaria para la administracioacuten delos horarios en general y proporciona los datos para el funcionamiento de los demaacutesmoacutedulos
El moacutedulo Sistema Experto Creacioacuten de Grupos (SECG) muestra el conocimiento yprocesos utilizados para definir la cantidad de grupos a ofertar a partir de la informacioacutenestadiacutestica proporcionada por servicios escolares maacutes adelante en el documento seexplica a detalle su funcionamiento
En la Figura 41 se aprecia que los moacutedulos Sistema Experto AsignaCatedraacutetico(SEAC) y Sistema Experto Asigna Materia(SEAM) comparten las bases deconocimiento porque el conocimiento de un SE es la base de hechos del otro en amboscasos los procesos difieren solamente en la informacioacuten que utilizan y en los resultadosque producen noacutetese que existe un proceso que es ldquobuacutesqueda independienterdquo que puedecatalogarse como un Sistema Experto adicional que sirve para sugerir las asignaturasque puede impartir una persona que no estaacute dentro de las bases de datos de maestros ypor lo tanto su perfil tampoco estaraacute capturado en esta caso los hechos (su perfil deconocimientos) es capturado en el momento de la consulta
El moacutedulo de Algoritmos Geneacuteticos (AG) muestra los datos que recibe como se generauna poblacioacuten inicial el tratamiento que se le aplica por medio de los operadoresgeneacuteticos y la informacioacuten que se genera
Por uacuteltimo en la Figura 41 se nota tambieacuten el moacutedulo donde se utiliza la ProgramacioacutenLoacutegica de Restricciones que contiene 3 ramas donde una representa los datos recibidosy la informacioacuten generada otra rama denota un aacuterbol de restricciones que deben sersatisfechas por los paquetes de horarios la uacuteltima rama denota los procesos que se llevana cabo debe notarse que existe un proceso aleatorio que genera cada grupo un procesoque evaluacutea el grupo contra las restricciones y uno mas que guarda los grupos quecumplieron con todas
En este mapa conceptual no se muestra en que orden se ejecuta cada moacutedulo delproyecto la Figura 42 ilustra la secuencia de ejecucioacuten de los moacutedulos
La Figura 42 muestra el diagrama con la secuencia en que se van ejecutando losprocesos los datos que ingresan a cada moacutedulo y la informacioacuten que genera
Capiacutetulo 4 Anaacutelisis y Disentildeo
452 MAPAS CONCEPTUALES DE LOS MOacuteDULOS
Servicios Escolares
Datos Estadiacutesticos
Sistema Experto Creacioacuten de Grupos
Materias y grupos requeridos
Moacutedulo PLR
Materia + grupo + hora
Moacutedulo AG
Materia + grupo + hora + aula
Sistema ExpertoAsigna Catedraacutetico Sistema Experto
Asigna Materia
Sugiere profesorpara asignaturas
Sugiere asignaturapara profesor
Materia + grupo + hora + aula +profesor
Condensado final de materias
1
2
3
4
5 6
Fig 42 Diagrama de secuencia
Capiacutetulo 4 Anaacutelisis y Disentildeo
Como puede verse todo inicia cuando Servicios Escolares enviacutea la informacioacuten a laDivisioacuten de Estudios Profesionales (donde ldquohabitanrdquo los coordinadores) quienes son losresponsables de la elaboracioacuten de los horarios
Un primer proceso captura la informacioacuten que proviene de Servicios Escolares elsegundo moacutedulo define cuantos grupos deben programarse el tercer proceso asigna lahora a cada grupo el cuarto moacutedulo es el proceso que asigna las aulas los procesosquinto y sexto sirven para sugerir queacute catedraacutetico es el maacutes adecuado para cada grupo ycomo resultado final se tiene el condensado final de horarios para el siguiente semestre
En la Figura 43 se muestran los componentes del primer Sistema Experto utilizado paradefinir la cantidad de grupos que deben ofertarse el proacuteximo semestre en la partesuperior izquierda de la figura esta el coordinador de la carrera quien es el encargado decargar el conocimiento a las Bases de Conocimiento utilizando la interfaz de experto esla persona indicada para definir los criterios que tiene cada materia define las reglaspara la agrupacioacuten de los criterios y define en cada regla que tipo de ajuste se realiza
Experto
Coordinador
Interfaz Experto
Base deConocimientos
CriteriosReglasAjustes
Motor de Inferencia ListasMateriasGrupos requeridos
UsuarioMoacutedulo Explicacioacuten
Usuario(coordinador
novato)
Interfaz Usuario
Base Hechos
Informacion Estadiacutestica
Fig 43 Sistema Experto Generador de Grupos
Capiacutetulo 4 Anaacutelisis y Disentildeo
El usuario en la parte inferior de la figura puede ser el coordinador o su asistente y seencarga de capturar la informacioacuten estadiacutestica proporcionada por servicios escolares queson los datos de alumnos inscritos actualmente en cada materia el iacutendice de reprobacioacutenlos alumnos inscritos en la materias prerrequisito una simulacioacuten de los alumnosprobables para cursar esa materia si todos los inscritos aprueban todo y los alumnos quepueden cursar las materias pero no se inscribieron
Con los datos anteriores se realiza la siguiente operacioacuten
(Inscritos en materia iacutendice de reprobacioacuten de materia) 100 +Alumnos no inscritos +Alumnos en prerrequisito ndash (alumnos en prerrequisito iacutendice de reprobacioacuten) 100 +(Simulacioacuten ndash alumnos en prerrequisito ndash no inscritos) = Alumnos del proacuteximo semestre
Este uacuteltimo dato (alumnos del proacuteximo semestre) proporciona la cantidad de alumnospor materia que pueden inscribirse en los grupos seguacuten los estadiacutesticos de ServiciosEscolares pero no contempla preferencias de alumnos conveniencia de inscripcioacuten etc
Ofrecer los grupos necesarios para la inscripcioacuten de alumnos tomando el dato calculadoocasiona que al terminar las inscripciones existan grupos vaciacuteos grupos sobresaturadosalumnos con pocas materias y varios problemas mas
La finalidad de este Sistema Experto es realizar un ajuste al dato calculadoanteriormente para incluir en su caacutelculo todas aquellas caracteriacutesticas y experiencia delcoordinador para minimizar los problemas mencionados en el paacuterrafo anterior
Los ajustes pueden ser de varios tiposbull Ajuste draacutestico hacia abajo Se aplica una reduccioacuten del 50 al dato calculadobull Ajuste hacia arriba Se agrega un grupo maacutes al dato calculadobull Ajuste hacia abajo Se resta un grupo al dato calculadobull Ajuste numeacuterico Se ajusta utilizando la regla del redondeo de decimalesbull Ajuste draacutestico hacia arriba Se suman 2 oacute 3 grupos al dato calculado
Cuando utilizar una u otra regla estaacute definido por los criterios que cada materia contienenaturalmente y que con el paso de los semestres puede variar (aunque tambieacuten puedenpasar antildeos sin sufrir ninguacuten cambio)
La Figura 44 describe la utilizacioacuten de la teacutecnica de la Inteligencia Artificial llamadaProgramacioacuten Loacutegica de Restricciones para generar el condensado de grupos a partir deuna lista de materias que contiene solamente el nombre y la cantidad de grupos que sedeben abrir de una materia
Capiacutetulo 4 Anaacutelisis y Disentildeo
EoseX
Ugacgg
Lgc
s
ListasMaterias
Procesoformador depaquetes
Lista grupo +paquete
Moacutedulo generadorRandom Hora
Restricciones satisfec
Restriccio
Materia +hora
Moacuteduloverificadorrestriccione
s
Restriccionesnosatisfechas
Fig 44 Diagrama del moacutedulo Programacioacuten Loacutegica de Restriccione
xiste un proceso inicial que forma los ldquopaquetesrdquo de grupos esto es las materias serdenan por el semestre al que corresponden (generalmente son 6 materias poremestre) despueacutes para cada semestre se generan los grupos correspondientes si porjemplo se deben hacer 3 grupos de la materia X se generan tres registros de la materia y cada registro se etiqueta
Materia X grupo AA Materia X grupo AB y Materia X grupo AC
na vez que todas las materias han sido generadas y ldquoempaquetadasrdquo se pasan alenerador de horario en bloques de un paquete a la vez Este proceso funcionasignando un horario aleatorio a cada grupo despueacutes se verifica que cada grupo cumplaon todas las restricciones que son del tipo grupo no ldquochocardquo con otro del paqueterupo proporciona horario continuo al paquete grupo tiene horario de 2 horas por diacutearupo no deja horas vaciacuteas en paquete grupo cumple con todas sus horas asignadas etc
a Figura 45 muestra el disentildeo del Algoritmo Geneacutetico utilizado para asignar aula a losrupos que provienen del moacutedulo anterior (PLR) y recibe como datos de entrada unondensado de horarios (materia + grupo + hora)
Capiacutetulo 4 Anaacutelisis y Disentildeo
Procesoevaluacioacuten
Condensado
Materia +Grupo +Hora
Generador de versiones aleatorias
Genera versioacuten asigna aula
Versioacuten 3
Versioacuten 2
Versioacuten 1
Versioacuten N
Poblacioacuten inicial
ProcesoseleccioacutenProceso cruzamiento
clonacioacuten mutacioacuten
Versioacuten z
Versioacuten y
Versioacuten x
Versioacuten w
Nueva generacioacuten
Individuos aptos
Individuos no aptosReciclaje
CondensadoMateria + grupo +hora + aula
Fig 45 Diagrama del moacutedulo Algoritmo Geneacutetico
Capiacutetulo 4 Anaacutelisis y Disentildeo
Esta rama de la Inteligencia Artificial es utilizada generalmente para procesos deoptimizacioacuten y en esta ocasioacuten se utiliza para asignar las aulas al condensado dematerias
Al inicio se reciben como datos generales el condensado de materias La poblacioacuteninicial se obtiene copiando N veces (N versiones) este condensado y agregando a cadaregistro el nuacutemero de versioacuten y un aula asignada de manera aleatoria de esta manera seobtienen N versiones diferentes del condensado original
Cada versioacuten es entonces evaluada contando el nuacutemero de choques en aula y la cantidadde espacios vaciacuteos por aula a cada versioacuten se le genera un vector para guardar laevaluacioacuten (cromosoma de evaluacioacuten) y de esta manera se mide el grado de aptitud quetiene cada versioacuten
Las versiones que tienen menos choques y menos espacios vaciacuteos se consideran con ungrado de aptitud alto y son las mejores al contrario las que tienen muchos choquesson consideradas de aptitud baja no sirven para la reproduccioacuten y son desechadas
Una vez seleccionadas la mejores versiones se procede a la aplicacioacuten de los operadoresgeneacuteticos el primero que se aplica es el cruzamiento y consiste en elegir dos versionesde alta aptitud tomar segmentos seleccionados heuriacutesticamente de ellas y formar unnuevo individuo (una nueva versioacuten) se repite este proceso Y veces con las diferentesversiones hasta tener una nueva generacioacuten de N condensados de horarios
Repetir este proceso de generacioacuten evaluacioacuten y seleccioacuten durante Z generacionesaplicando cuando se necesite la clonacioacuten que es un proceso de copiar completamenteuna versioacuten (con alto grado de aptitud) a la nueva generacioacuten
Al principio la convergencia hacia horarios sin choques en aula es raacutepida pero al pasode las generaciones disminuye entonces se debe usar la mutacioacuten que es un proceso deacceder manualmente los registros de alguna versioacuten Zi en la generacioacuten Z y corregiralguacuten aula al final despueacutes de varias generaciones selecciones cruzamientosclonaciones y mutaciones se obtiene un condensado de aulas libres de choques y conpocos espacios vaciacuteos
En la Figura 46 se muestran los componentes del Sistema Experto utilizado para sugerircuales son los catedraacuteticos que mejor se desempentildeariacutean para impartir una asignaturatomando en cuenta los conocimientos que tiene un profesor (adquiridos a lo largo de sucarrera) y cuales son los conocimientos necesarios para impartir la caacutetedra de algunaasignatura
Capiacutetulo 4 Anaacutelisis y Disentildeo
Todo inicia haciendo una encuesta a los profesores acerca del perfil y los conocimientosnecesarios para poder impartir una asignatura el objetivo de la misma y los principalestemas que abarca todo lo anterior se captura en la base de hechos como el perfil de lamateria
Posteriormente se hace otra encuesta a los profesores pidieacutendoles que seleccionencuales son los conocimientos y el grado de dominio que tienen de los diferentes toacutepicosde las asignaturas esto se convierte en el perfil del catedraacutetico Por uacuteltimo con unproceso de induccioacuten se determina para cada materia cual es el grado de certeza con elcual puede un profesor impartir una asignatura
Experto
Coordinador
Interfaz Experto
Base deConocimientos
CatedraacuteticosConocimientos profesorPerfil profesor
Motor de Inferencia Lista profesores paraimpartir una materia
Jefedepartamento
Moacutedulo Explicacioacuten
Usuario(coordinador
novato)
Interfaz Usuario
Base Hechos
Perfil
Fig 46 Diagrama de Sistema Experto para sugerir profesor a asignatura
Capiacutetulo 4 Anaacutelisis y Disentildeo
Noacutetese en la Figura 47 que el coordinador captura el conocimiento referente a lasasignaturas (objetivo temas caracteriacutesticas necesarias para impartirla) y este esalmacenado en la Base de Conocimientos
Por otro lado un profesor debe llenar una encuesta en la que indique cuales son lostemas que domina y en que porcentaje lo hace (esto es el perfil del catedraacutetico) estainformacioacuten se almacena en la base de hechos--
El Motor de Inferencia hace los matchs respectivos y genera una lista de las materias quepuede impartir un profesor y con que grado de certeza estaacute capacitado para hacerlo
Por uacuteltimo el moacutedulo de explicacioacuten informa el porqueacute dio esa inferencia mostrando lascaracteriacutesticas de materia y profesor que hicieron match
Fig 47 Diagrama de Sistema Experto para sugerir asignaturas para catedraacutetico
Experto
Coordinador
Interfaz Experto
Base deConocimientos
MateriasCaracteriacutesticas MateriasPerfil materia
Motor de Inferencia Lista materias para unprofesor
Profesor
Moacutedulo Explicacioacuten
Profesor nuevoInterfaz Usuario
Base Hechos Perfil profesor
Capiacutetulo 4 Anaacutelisis y Disentildeo
453 Diagrama de contextoEn la Figura 48 se detallan los elementos que intervienen aportando y recibiendoinformacioacuten para el funcionamiento del sistema
Los departamentos acadeacutemicos aportan al sistema una lista con los catedraacuteticos quelaboran ahiacute incluye los datos personales de los profesores nuacutemero de tarjeta nombrecarrera etc Los coordinadores de carrera son los responsables de la elaboracioacuten de loshorarios estos funcionarios son la pieza fundamental de este proceso porque aportan susconocimientos para
bull Definir el ajuste al dato estadiacutestico proporcionado por Servicios Escolaresbull Definir las restricciones para la creacioacuten de los paquetes de gruposbull Definir las restricciones para asignar hora a cada grupobull La distribucioacuten de los grupos en las aulasbull Asignar la asignatura que mejor puede impartir un catedraacuteticobull Asignarle a una asignatura al profesor que mejor puede impartirla
El departamento de Servicios Escolares es el iniciador del proceso de la elaboracioacuten dehorarios aporta los datos estadiacutesticos obtenidos de la situacioacuten escolar actual de losalumnos cada alumno estaacute inscrito en alguna de las 8 carreras que se ofrecen en elInstituto estaacute cursando entre 5 y 8 asignaturas por semestre en cada periodo acredita oreprueba algunas materias En cada carrera se tiene un mapa reticular que incluyeaproximadamente 50 asignaturas con prerrequisitos creacuteditos horas en aula horas enlaboratorio orden por semestre etc
El departamento Divisioacuten de Estudios Profesionales (donde estaacuten adscritos loscoordinadores de carrera) es el responsable de distribuir las aulas disponibles delInstituto entre los distintos coordinadores las aulas son un recurso escaso y por lo tantovalioso de esta distribucioacuten depende en gran medida la holgura o estrechez que tienenlos coordinadores para asignar las aulas a los grupos creados
Los profesores son otro de los recursos valiosos de una institucioacuten son los responsablesde transmitir sus conocimientos a los alumnos cada catedraacutetico posee conocimientos dediversas aacutereas toacutepicos y ramas del saber humano el perfil del catedraacutetico estaacute enrelacioacuten directa con el dominio que tiene de cada una de ellas y varia desde unconocimiento superficial hasta el dominio total de un aacuterea
Los generadores random de los moacutedulos PLR y AG proporcionan la informacioacutennecesaria generada de manera aleatoria para el funcionamiento de esos moacutedulos
A los coordinadores y alumnos se les proporciona un condensado de horarios losalumnos conocen los grupos a los que se pueden inscribir las horas las aulas y loscatedraacuteticos que las impartiraacuten
Capiacutetulo 4 Anaacutelisis y Disentildeo
Sistema para laelaboracioacuten de
horarios
Departamentosacadeacutemicos
Jefes dedepartamento
Divisioacuten deEstudios
Profesionales
DepartamentoServiciosEscolares
Alumnos
Coordinadoresde carrera
Coordinadoresde carrera
Lista catedraacuteticos disponibles
Conocimientos
Reporte datos estadiacutesticos
Lista aulas disponibles
Condensado de horarios
Horarios disponibles
Lista horarios profesores
Profesores Generadoresaleatorios
Perfil maestro
Horas y aulas aleatorios
Fig 48 Diagrama de contexto del proyecto
Cap
iacutetulo
4
Anaacute
lisis
y D
isentilde
o
Sist
ema
para
lael
abor
acioacute
n de
hora
rios
Dep
arta
men
tos
acad
eacutemic
os
Div
isioacute
n de
Estu
dios
Prof
esio
nale
s
Dep
arta
men
toSe
rvic
ios
Esco
lare
sC
oord
inad
ores
de c
arre
ra
List
a ca
tedr
aacutetic
os d
ispo
nibl
es
Con
ocim
ient
osR
epor
teda
tose
stad
iacutestic
osLi
sta
aula
s dis
poni
bles
Prof
esor
esG
ener
ador
esal
eato
rios
Perf
il m
aest
roH
oras
y a
ulas
Fig
49
Dia
gram
a de
func
ione
s fun
dam
enta
les (
entra
das)
Cap
tura
supe
rfil
deco
noci
mie
nto
Cap
tura
las
aula
s
Enviacute
a da
tos
Cap
tura
suco
noci
mie
nto
Enviacute
a da
tos
depr
ofes
ores G
ener
ada
tos
Cla
ve n
ombr
eho
ras
turn
o
Tips
tru
cos
cono
cim
ient
ohe
uriacutes
tico
Cla
ve c
apac
idad
ed
ifici
o
Alu
mno
sin
scrit
os
sim
ulac
ioacuten
no
insc
ritos
iacutend
ice
repr
obac
ioacuten
Toacutepi
cos y
tem
asqu
e do
min
aA
ula
y ho
raal
eato
rios
Capiacutetulo 4 Anaacutelisis y Disentildeo
Sistema para laelaboracioacuten de
horarios
Coordinadoresde carrera
Jefes dedepartamento Alumnos
Fig 410 Diagrama de funciones fundamentales (salidas)
Imprimecondensado
Imprime lista Imprimehorarios
Maestro materiahora
Materia grupohora aula
maestrosugerido
Condensado de horarios Horarios disponibles
Lista horarios profesores
Materia grupohora aula
maestro
Capiacutetulo 4 Anaacutelisis y Disentildeo
454 Diagrama entidad - relacioacuten
NOTA Los siguientes diagramas muestran las tablas utilizadas por cada moacutedulo paramayor claridad se repitieron las tablas necesarias para representar cada parte del sistemapero en la base de datos no existe tal duplicacioacuten
Este diagrama contiene las tablas del moacutedulo administrativo de los horarios en unprincipio eacutestas eran las uacutenicas tablas de un sistema de control de horarios
FK_HORARIOS_REFERENCE_MATERIASFK_MATERIAS_REFERENCE_SERVICIO
FK_MATERIAS_REFERENCE_RAMA_MAT FK_MATERIAS_REFERENCE_CARRERAS
HORARIOS
GrupoId_aulaHora_inicioHora_lunesHora_martesHora_miercolesHora_juevesHora_viernesHora_sabadoObservacionesPeriodoAnioid_materiaId_catedratico
Text(2)INTEGERINTEGERText(6)Text(6)Text(6)Text(6)Text(6)Text(6)Text(30)Text(20)INTEGERINTEGERSMALLINT
ltfk3gt
ltfk2gtltfk1gt
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
MATERIAS
SERVICIOS_ESCOLARESId_materiaINSCRITOSNO INSCRITOSSIMULACIONPROXIMO SEMESTREGRUPOS REQUERIDOSIndice de reprobacionperiodoantildeoGrupos ajustadoAlumnos ajustadoId_ajusteId_regla
INTEGERSMALLINTSMALLINTSMALLINTSMALLINTDOUBLEDOUBLEText(7)INTEGERSMALLINTSMALLINTINTEGERSMALLINT
RAMA_MATERIA
Id_ramaNombre_rama
COUNTERText(30)
ltpkgt
CARRERAS
Id_CarreraNombre_carrera
Text(15)Text(50)
ltpkgt
Fig 411 Diagrama entidad ndash relacioacuten del moacutedulo administrativo
Capiacutetulo 4 Anaacutelisis y Disentildeo
Este diagrama muestra las tablas donde se almacena el conocimiento de loscoordinadores para que el Sistema Experto del moacutedulo sugiera y aplique el ajuste aldato de cantidad de grupos sugerido por Servicios Escolares La relacioacuten entre las tablasva generando las reglas de produccioacuten
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave asig prerrequisitoclave asig prerrequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
REGLAS
DescriId_reglaId_ajusteTot_peso
Text(70)COUNTERINTEGERINTEGER
ltpkgtltfkgt
FK_MATERIAS_REFERENCE_SERVICIO
FK_HECHOS_R_REFERENCE_CRITERIO
FK_HECHOS_R_REFERENCE_REGLAS
FK_HISTORIA_REFERENCE_REGLAS
FK_HISTORIA_REFERENCE_CRITERIO
FK_REGLAS_REFERENCE_AJUSTES
FK_HISTORIA_REFERENCE_MATERIAS
FK_HISTORIA_REFERENCE_CRITERIO
SERVICIOS_ESCOLARES
Id_materiaINSCRITOSNO INSCRITOSSIMULACIONPROXIMO SEMESTREGRUPOS REQUERIDOSIndice de reprobacioacutenperiodoantildeoGrupos ajustadoAlumnos ajustadoId_ajusteId_regla
INTEGERSMALLINTSMALLINTSMALLINTSMALLINTDOUBLEDOUBLEText(7)INTEGERSMALLINTSMALLINTINTEGERSMALLINT
HECHOS_REGLAS
Id_criterioId_reglaPromedio
INTEGERINTEGERINTEGER
ltfk2gtltfk1gt
CRITERIOS
Id_criterioDescripcion
COUNTERText(60)
ltpkgt
HISTORIAL_CRITERIOS
Id_criterioId_reglaPeso de la regla
INTEGERINTEGERSMALLINT
ltfk2gtltfk1gt
AJUSTES
TipoDescripcionId_ajuste
Text(25)MemoCOUNTER ltpkgt
HISTORIAL_MATERIA
Id_materiaId_criterioprioridad
INTEGERINTEGERSMALLINT
ltfk2gtltfk1gt
Fig 412 Diagrama E-R del moacutedulo para determinar y ajustar nuacutemero de grupos
Capiacutetulo 4 Anaacutelisis y Disentildeo
En este diagrama se muestra la base de datos que almacena la informacioacuten quemanipula el moacutedulo Algoritmo Geneacutetico las tablas maacutes representativas sonPOBLACION donde se guardan todas las versiones que forman las generaciones dehorarios y CROMOSOMAS que almacena el registro de evaluacioacuten de cada versioacuten dehorarios
FK_HORARIO__REFERENCE_AULAS
FK_HORARIO__REFERENCE_POBLACIO
FK_MATERIAS_REFERENCE_TIPO_HOR
FK_POBLACIO_REFERENCE_AULAS
FK_POBLACIO_REFERENCE_MATERIAS
FK_POBLACIO_REFERENCE_CROMOZOM1 1
HORARIO_AULA
VersionAulaLunesMartesMiercolesJuevesViernesSabadoHoraId_aula
INTEGERText(6)SMALLINTSMALLINTSMALLINTSMALLINTSMALLINTSMALLINTSMALLINTINTEGER
ltfk2gt
ltfk1gt
AULAS
Id_aulaCapacidad_aulaNombre_aulaDisponible
COUNTERSMALLINTText(50)YesNo
ltpkgt
POBLACION
Id_materiaGrupoId_catedraticoAulaHora_inicioHora_lunesHora_martesHora_miercolesHora_juevesHora_viernesVersionId_aulaPeriodoAnio
INTEGERText(4)INTEGERText(4)INTEGERText(6)Text(6)Text(6)Text(6)Text(6)INTEGERINTEGERText(10)INTEGER
ltfk2gt
ltfk1gtltfk3gt
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
TIPO_HORARIO
Tipo_horario
DescripcionLunes
MartesMiercoles
Jueves
ViernesSabado
COUNTER
Text(20)SMALLINT
SMALLINTSMALLINT
SMALLINT
SMALLINTSMALLINT
ltpkgt
CROMOZOMAS
VersionSemestreChoquesVacias
INTEGERINTEGERINTEGERINTEGER
ltpkgt
Fig 413 Diagrama E-R del moacutedulo para asignar aulas (Algoritmo Geneacutetico)
Capiacutetulo 4 Anaacutelisis y Disentildeo
En esta Figura 414 se pueden observar las tablas involucradas en el proceso paragenerar los paquetes de materias por semestre y la asignacioacuten de horario a cada grupodel paquete utilizando la teacutecnica Programacioacuten Loacutegica de Restricciones noacutetese que noexiste una tabla de restricciones eacutestas se aplican por software a cada grupo generado
FK_MATERIAS_REFERENCE_SERVIC
FK_MATERIAS_REFERENCE_TIPO_H
FK_HORARIOS_REFERENCE_MATERI
MATERIA
Id_materiMateriNum de HrsNum de HrsClave deId_CarrerCreditoSemestrObservacioneTroncoalumnos porclave de asigclave de asigId_ramSuma_maOrdeTipo_horari
INTEGEText(40SMALLINSMALLINText(8Text(15SMALLINSMALLINText(60YesNSMALLINText(40Text(40INTEGESMALLINSMALLININTEGE
ltpkfk4
ltfk1
ltfk3
ltfk2
SERVICIOS_ESCOLARE
Id_materiINSCRITONOSIMULACIOPROXIMOGRUPOSIndice deperiodantildeGruposAlumnosId_ajustId_regl
INTEGESMALLINSMALLINSMALLINSMALLINDOUBLDOUBLText(7INTEGESMALLINSMALLININTEGESMALLIN
TIPO_HORARI
Tipo_horariDescripcioLuneMarteMiercoleJueveVierneSabad
COUNTEText(20SMALLINSMALLINSMALLINSMALLINSMALLINSMALLIN
ltpk
HORARIO
GrupId_aulHora_iniciHora_luneHora_marteHora_miercoleHora_jueveHora_vierneHora_sabadObservacionePeriodAniid_materiId_catedratic
Text(2INTEGEINTEGEText(6Text(6Text(6Text(6Text(6Text(6Text(30Text(20INTEGEINTEGESMALLIN
ltfk3
ltfk2ltfk1
Fig414 Diagrama E-R del moacutedulo para asignar horario (PLR)
Capiacutetulo 4 Anaacutelisis y Disentildeo
FK_HECHOS_M_REFERENCE_MATERIAS
FK_HECHOS_M_REFERENCE_CATEDRAT
HECHOS_MAT_PROF
Id_catedraticoId_materiaPromedio
SMALLINTSMALLINTSMALLINT
ltpkfk1gtltpkfk2gt
FK_PERFIL_C_REFERENCE_CATEDRAT
FK_PERFIL_C_REFERENCE_PERFILES
FK_PERFILES_REFERENCE_TIPO_PER
FK_PROF_PAR_REFERENCE_CATEDRAT
FK_PROF_PAR_REFERENCE_MATERIAS
PERFIL_CATEDRATICO
Id_catedraticoId_perfilPrioridad_perfil_cate
SMALLINTINTEGERSMALLINT
ltfk1gtltfk2gt
CATEDRATICOS
Id_catedraticoApellido_paternoApellido_maternoNombre_catedraticoTitulo_catedraticoSuma_cate
SMALLINTText(20)Text(20)Text(20)Text(30)SMALLINT
ltpkgt
PERFILES
Id_perfilId_tipoDescripcion_perfil
COUNTERINTEGERText(60)
ltpkgtltfkgt
TIPO_PERFIL
Id_tipoTipo_perfil
COUNTERText(30)
ltpkgt
PROF_PARA_MAT
Id_materiaId_catedraticoPorcentaje_cate
INTEGERSMALLINTSMALLINT
ltpkfk2gtltpkfk1gt
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
Fig 415 Diagrama E-R del moacutedulo designa mejor catedraacutetico (Sistema Experto)
Capiacutetulo 4 Anaacutelisis y Disentildeo
En las figuras de la paacutegina anterior y eacutesta (Fig 415 y 416) se muestran las tablasutilizadas por los Sistemas Expertos para sugerir que materias puede impartir unprofesor y tambieacuten sugiere que profesores pueden impartir una asignatura
FK_PERFILES_REFERENCE_TIPO_PER
FK_PERFIL_M_REFERENCE_MATERIAS
FK_PERFIL_M_REFERENCE_PERFILES
FK_MAT_PARA_REFERENCE_MATERIAS
FK_MAT_PARA_REFERENCE_CATEDRAT
FK_HECHOS_M_REFERENCE_MATERIAS
FK_HECHOS_M_REFERENCE_CATEDRAT
PERFILES
Id_perfilId_tipoDescripcion_perfil
COUNTERINTEGERText(60)
ltpkgtltfkgt
TIPO_PERFIL
Id_tipoTipo_perfil
COUNTERText(30)
ltpkgt
PERFIL_MATERIA
Id_materiaId_perfilPrioridad_perfil_mat
INTEGERINTEGERINTEGER
ltfk2gtltfk1gt
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
MAT_PARA_PROF
Id_catedraticoId_materiaPorcentaje_mat
SMALLINTINTEGERSMALLINT
ltpkfk1gtltpkfk2gt
CATEDRATICOS
Id_catedraticoApellido_paternoApellido_maternoNombre_catedraticoTitulo_catedraticoSuma_cate
SMALLINTText(20)Text(20)Text(20)Text(30)SMALLINT
ltpkgt
HECHOS_MAT_PROF
Id_catedraticoId_materiaPromedio
SMALLINTSMALLINTSMALLINT
ltpkfk1gtltpkfk2gt
Fig 416 Diagrama E-R del moacutedulo selecciona mejor materia (sistema experto)
Capiacutetulo 4 Anaacutelisis y Disentildeo
455 Diccionario de la Base de Datos
Nombre HORARIOS_CON_CONOCIMIENTOComentario Base de datos del sistema ldquoGeneracioacuten de horarios mediante Sistemas
Basados en ConocimientordquoDBMS Microsoft Access 97
Lista de Tablas
Nombre Tipo deObjeto
AJUSTES TableAULAS TableCARRERAS TableCATEDRATICOS TableCRITERIOS TableCROMOSOMAS TableHECHOS TableHECHOS_MAT_PROF TableHECHOS_PROF_MAT TableHECHOS_REGLAS TableHISTORIAL_CRITERIOS TableHISTORIAL_MATERIA TableHORARIO_AULA TableHORARIOS TableMAT_PARA_PROF TableMATERIAS TablePERFIL_CATEDRATICO TablePERFIL_MATERIA TablePERFILES TablePOBLACION TablePROF_PARA_MAT TableRAMA_MATERIA TableREGLAS TableSERVICIOS_ESCOLARES TableTIPO_HORARIO TableTIPO_PERFIL Table
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla AJUSTESFuncioacuten Almacena los datos de los tipos de ajuste que se aplican por el Sistema Experto al
dato estadiacutestico que define cuantos grupos se deben abrir de cada materia
Lista de columnas de la tabla AJUSTESNombre Tipo de
DatoLong Llave
Primaria ForaneaComentario
Tipo Text(25) 25 Nombre del tipo de ajusteDescripcioacuten Memo Explicacioacuten del ajuste a realizar al nuacutemero
de grupos calculados segun estadisticosId_ajuste COUNTER 4 X Identificador del ajuste
Tabla AULASFuncioacuten Almacena los datos de las aulas que existen en cada edificio del instituto
Lista de columnas de la tabla AULASNombre Tipo de
DatoLong Llave
Primaria ForaneaComentario
Id_aula COUNTER 4 X Identificador del aulaCapacidad_aula SMALLINT 4 Nuacutemero maacuteximo de alumnos en el
aulaNombre_aula Text(50) 50 Nombre del aula (edificio+numero)Disponible YesNo 1 Disponibilidad del aula
Tabla CARRERASFuncioacuten Almacena los datos de las carreras que se imparten en el ITZ
Lista de columnas de la tabla CARRERASNombre Tipo de
DatoLong Llave
Primaria ForaneaComentario
Id_Carrera Text(15) 15 X Clave de la carreraNombre_carrera Text(50) 50 Nombre de la carrera
Tabla CATEDRATICOSFuncioacuten Almacena los datos de los CATEDRAacuteTICOS que imparten clases en las diferentes carreras del
Instituto Se utilizan los datos en los Sistemas Expertos que definen cual es el mejor catedraacuteticopara impartir una materia
Capiacutetulo 4 Anaacutelisis y Disentildeo
Lista de columnas de la tabla CATEDRATICOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Nuacutemero de tarjeta del catedraacuteticoApellido_paterno Text(20) 20 Apellido paterno del catedraacuteticoApellido_materno Text(20) 20 Apellido materno del catedraacuteticoNombre_catedratico Text(20) 20 Nombre del catedraacuteticoTitulo_catedratico Text(30) 30 Grado de estudios y tiacutetulo del
catedraacuteticoSuma_cate SMALLINT 4 Suma total de las pesos de los perfiles
pertenecientes al catedraacutetico
Tabla CRITERIOSFuncioacuten Tabla de los criterios utilizados por el experto para crear las reglas que definen el tipo de
ajuste inferido por el Sistema Experto para definicioacuten de grupos por abrir
Lista de columnas de la tabla CRITERIOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_criterio COUNTER 4 X Identificador del criterio aplicado auna materia para crear grupos
Descripcion Text(60) 60 Descripcioacuten del criterio
Tabla CROMOSOMASFuncioacuten Almacena los datos de la evaluacioacuten de cada versioacuten de horarios generada ya sea por la
poblacioacuten inicial o por los operadores geneacuteticos se genera un cromosoma por cadasemestre en cada versioacuten
Lista de columnas de la tabla CROMOSOMASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Version INTEGER 4 X Nuacutemero de individuo o versioacuten dehorarios
Semestre INTEGER 4 Semestre al que pertenece el datoChoques INTEGER 4 Nuacutemero de choques de versioacuten y
semestreVacias INTEGER 4 Nuacutemero de aulas vaciacuteas del individuo
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla HECHOS_MAT_PROFFuncioacuten Esta tabla almacena el resultado de la inferencia del Sistema Experto materias para
profesor indica para cada catedraacutetico las materias y el porcentaje de certeza con quepuede impartirlas
Lista de columnas de la tabla HECHOS_MAT_PROFNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Identificador del catedraacuteticoId_materia SMALLINT 4 X Identificador de la asignaturaPromedio SMALLINT 4 Porcentaje de certeza con que un
profesor puede impartir una materia(resultado de la inferencia)
Tabla HECHOS_PROF_MATFuncioacuten Almacena los datos de la inferencia del Sistema Experto que calcula para una materia
determinada cuales son los mejores maestros para impartirla
Lista de columnas de la tabla HECHOS_PROF_MATNombre Tipo de
DatoLongitud
LlavePrimaria Foraacutenea
Comentario
Id_catedratico SMALLINT 4 X Identificador del catedraacuteticoId_materia SMALLINT 4 X Identificador de la asignaturaPromedio SMALLINT 4 Porcentaje de certeza con que una
materia puede ser impartida por unprofesor (resultado de la inferencia)
Tabla HECHOS_REGLASFuncioacuten Almacena los porcentajes de certeza con que se dispara una regla del Sistema Experto
que define los grupos por abrir
Lista de columnas de la tabla HECHOS_REGLASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_criterio SMALLINT 4 X Identificador del criterioId_regla SMALLINT 4 X Identificador de la reglaPromedio INTEGER 4 Porcentaje de certeza con que una
regla dispara un criterio
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla HISTORIAL_CRITERIOS
Funcioacuten Almacena las reglas formadas por los criterios utilizados por el Sistema Experto paradefinir los grupos por abrir
Lista de columnas de la tabla HISTORIAL_CRITERIOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_criterio INTEGER 4 X Identificador del criterio pertenecientea la regla
Id_regla INTEGER 4 X Identificador de la reglaPeso de la regla SMALLINT 4 Peso del criterio en la regla
Tabla HISTORIAL_MATERIAFuncioacuten Tabla que almacena la definicioacuten de cada materia con base en los criterios utilizados por
las reglas para definir por materia el nuacutemero de grupos por abrir
Lista de columnas de la tabla HISTORIAL_MATERIANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materia para suasignacioacuten de criterios
Id_criterio INTEGER 4 X Identificador del criterio que se aplicaa la materia para describirla
Prioridad SMALLINT 4 Peso del criterio en la materia
Tabla HORARIOS
Funcioacuten Almacena los datos del condensado final de horarios aquiacute se almacena el producto finaldel sistema para su posterior publicacioacuten y distribucioacuten entre la comunidad tecnoloacutegica
Lista de columnas de la tabla HORARIOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materiaGrupo Text(2) 2 Identificador del grupo A B CId_catedratico SMALLINT 4 X Catedraacutetico asignado al grupoId_aula INTEGER 4 X Aula asignada al grupoHora_inicio INTEGER 4 Hora de inicio del grupoHora_lunes Text(6) 6 Horas que se imparte el grupo el diacutea
lunes
Capiacutetulo 4 Anaacutelisis y Disentildeo
Hora_martes Text(6) 6Hora_miercoles Text(6) 6Hora_jueves Text(6) 6Hora_viernes Text(6) 6Hora_sabado Text(6) 6Observaciones Text(30) 30 Observaciones al grupoPeriodo Text(20) 20 Periodo Ene-jun o Ago-dicAnio INTEGER 4 Antildeo en que se utiliza el horario
Tabla HORARIO_AULAFuncioacuten Tabla auxiliar utilizada como almacenamiento temporal durante el proceso de evaluacioacuten
en el Algoritmo Geneacutetico guarda los datos de ocupacioacuten choques y no utilizacioacuten decada aula por hora diacutea y versioacuten
Lista de columnas de la tabla HORARIO_AULANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Version INTEGER 4 X Nuacutemero de individuo o versioacutenAula Text(6) 6 Nombre del aulaLunes SMALLINT 4 Nuacutemero de horas que se utiliza el aula
el diacutea lunesMartes SMALLINT 4Miercoles SMALLINT 4Jueves SMALLINT 4Viernes SMALLINT 4Sabado SMALLINT 4Hora SMALLINT 4 Hora de utilizacioacuten del aulaId_aula INTEGER 4 X Identificador del aula en la versioacuten
Tabla MATERIASFuncioacuten Esta es una de las principales tablas del proyecto se utiliza en todos los moacutedulos del
sistema contiene informacioacuten base para caacutelculos diversos ademaacutes contiene tambieacuten lasllaves de diferentes tablas que describen de manera de manera especial a las materias
Lista de columnas de la tabla MATERIASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia COUNTER 4 X Identificacioacuten de la materia llaveprincipal
Materia Text(40) 40 Nombre de la materiaNum de Hrs prac SMALLINT 4 Nuacutemero de horas praacutecticasNum de Hrs teo SMALLINT 4 Nuacutemero de horas teoacutericasClave de Asig Text(8) 8 Clave oficial de la materiaId_Carrera Text(15) 15 X Carrera a la que pertenece la materiaCreditos SMALLINT 4 Creacuteditos de la materia
Capiacutetulo 4 Anaacutelisis y Disentildeo
Semestre SMALLINT 4 Semestre en que se imparte la materiaObservaciones Text(60) 60Tronco comun YesNo 1 Definicioacuten de especialidad o tronco
comuacutenalumnos porgrupo
SMALLINT 4 Capacidad sugerida de los grupos deesta materia
clave de asigprerequisito
Text(40) 40 Clave de asignatura del prerrequisito
clave de asigprerequisito1
Text(40) 40 Clave de asignatura del prerrequisito
Id_rama INTEGER 4 X Identificador de la rama a la quepertenece la materia
Suma_mat SMALLINT 4 Suma total de los perfilespertenecientes a la materia
Orden SMALLINT 4 Es el nuacutemero de materia en un paqueteTipo_horario INTEGER 4 X El tipo de horario asignado a materia
Tabla MAT_PARA_PROFFuncioacuten La tabla almacena para cada catedraacutetico las asignaturas que puede impartir y el grado
de certeza con que puede hacerlo se almacena en esta tabla el resultado de la inferenciadel Sistema Experto
Lista de columnas de la tabla MAT_PARA_PROFNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Nuacutemero de tarjeta del profesorId_materia INTEGER 4 X Identificador de la materiaPorcentaje_mat SMALLINT 4 Porcentaje de certeza con que un
profesor puede impartir una materia
Tabla PERFILESFuncioacuten Tabla que contiene una relacioacuten de todas las caracteriacutesticas de las materias
caracteriacutesticas necesarias para poder impartirlas es al mismo tiempo la tabla quecontiene la relacioacuten general de los conocimientos que poseen los profesores
Lista de columnas de la tabla PERFILESNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_perfil COUNTER 4 X Identificador del perfil paraasignaciones de materias acatedraacuteticos
Id_tipo INTEGER 4 X Identificador del tipo del perfilDescripcion_perfil Text(60) 60 Descripcioacuten de una caracteriacutestica del
perfil de una materia o un catedraacutetico
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla PERFIL_CATEDRATICOFuncioacuten Tabla que contiene el perfil de todos los catedraacuteticos (pueden llamarse las reglas) del
Sistema Experto que recomienda profesores para las materias el perfil de un catedraacuteticoesta definido por los conceptos que domina de las materias
Lista de columnas de la tabla PERFIL_CATEDRATICONombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Identificador del catedraacutetico paradefinicioacuten de su perfil acadeacutemico
Id_perfil INTEGER 4 X Identificador del perfil que define aun catedraacutetico
Prioridad_perfil_cate SMALLINT 4 Porcentaje en que contribuye elperfil especificado en la definicioacutendel catedraacutetico
Tabla PERFIL_MATERIAFuncioacuten Esta tabla almacena las reglas que definen el perfil de una materia contiene las
caracteriacutesticas y temas que forman el temario de la materia
Lista de columnas de la tabla PERFIL_MATERIANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materia en laregla de la materia
Id_perfil INTEGER 4 X Identificador del perfilperteneciente a una materia
Prioridad_perfil_mat INTEGER 4 Porcentaje en que contribuye esteperfil particular a definir unamateria
Tabla PROF_PARA_MATFuncioacuten Esta tabla almacena la inferencia del Sistema Experto para determinar cuales son los
mejores profesores para impartir una materia contiene para cada asignatura una lista delos profesores y el porcentaje de certeza con que pueden desempentildearse si la imparten
Capiacutetulo 4 Anaacutelisis y Disentildeo
Lista de columnas de la tabla PROF_PARA_MATNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de materiaId_catedratico SMALLINT 4 X Identificador de catedraacuteticoPorcentaje_cate SMALLINT 4 de certeza con que el catedraacutetico X
puede impartir la materia Y
Tabla POBLACIONFuncioacuten La tabla es la maacutes importante para el moacutedulo de Algoritmo Geneacutetico porque almacena los
datos de cada individuo hipoacutetesis o versioacuten que son generados ya sea por la poblacioacuteninicial aleatoria o por los diversos operadores geneacuteticos contiene copias (versiones) delcondensado de horarios con aulas aleatorias
Lista de columnas de la tabla POBLACIONNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materiaGrupo Text(4) 4 Grupo de la materiaId_catedratico INTEGER 4 X Identificador del catedraticoAula Text(4) 4 X Nombre del aula (edificio + numero)Hora_inicio INTEGER 4 Hora de inicio del grupoHora_lunes Text(6) 6 Hora inicio del lunesHora_martes Text(6) 6Hora_miercoles Text(6) 6Hora_jueves Text(6) 6Hora_viernes Text(6) 6Version INTEGER 4 X Nuacutemero de la versioacuten o hipoacutetesisPeriodo Text(10) 10 Periodo o semestre del grupoAnio INTEGER 4 Antildeo del grupo
Tabla RAMA_MATERIAFuncioacuten La tabla almacena la clasificacioacuten de las materias de acuerdo a las ciencias a la que
pertenecen
Lista de columnas de la tabla RAMA_MATERIANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_rama COUNTER 4 X Identificador de la rama de unamateria (clasificacioacuten)
Nombre_rama Text(30) 30 Descripcioacuten de la rama de unamateria
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla REGLAS
Funcioacuten Esta tabla almacena las reglas utilizadas para generar los grupos que se deben ofertar elproacuteximo semestre indicando para cada regla el tipo de ajuste que debe aplicarse
Lista de Columnas de la Tabla REGLASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Descripcion Text(70) 70 Descripcioacuten de la regla para ajustarel nuacutemero de grupos
Id_regla COUNTER 4 X Identificador de la reglaId_ajuste INTEGER 4 X Identificador del tipo de ajuste que
se aplica cuando esta regla sedispara para alguna materia
Tot_peso INTEGER 4 Total de los pesos de lascaracteriacutesticas de esta regla
Tabla SERVICIOS_ESCOLARESFuncioacuten En esta tabla se almacenan los datos estadiacutesticos de cada materia que provienen de
Servicios Escolares para el caacutelculo del nuacutemero de grupos que deben abrirse para elproacuteximo semestre contiene tambieacuten los paraacutemetros proporcionados por el SistemaExperto para realizar el ajuste al nuacutemero de grupos calculado inicialmente
Lista de columnas de la tabla SERVICIOS_ESCOLARESNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materiaINSCRITOS SMALLINT 4 Nuacutemero de alumnos inscritos
actualmente en el grupoNO INSCRITOS SMALLINT 4 Nuacutemero de alumnos que pueden
cursar la materia pero no seinscribieron
SIMULACION SMALLINT 4 Simulacioacuten de Servicios Escolaresde alumnos que podraacuten cursar lamateria
PROXIMOSEMESTRE
SMALLINT 4 Resultado del calculo de ServEscolares de alumnos que cursaraacutenla materia
GRUPOSREQUERIDOS
DOUBLE 4 Grupos requeridos para abrirproacuteximo semestre seguacuten caacutelculosiniciales
Indice dereprobacion
DOUBLE 4 Indice de reprobacioacuten de la materia
periodo Text(7) 7 Periodo de caacutelculo de horarios actual(semestre ene-jun o ago-dic)
Capiacutetulo 4 Anaacutelisis y Disentildeo
antildeo INTEGER 4 Antildeo de caacutelculo de horariosGrupos ajustado SMALLINT 4 Nuacutemero de grupos a solicitar para
abrir proacuteximo semestreAlumnos ajustado SMALLINT 4 Caacutelculo final del numero de alumnos
del proacuteximo semestre en estamateria
Id_ajuste INTEGER 4 X Tipo del ajuste aplicado por elSistema Experto al campogrupos_requeridos
Id_regla SMALLINT 4 X Regla que se disparo para realizar elajuste
Tabla TIPO_HORARIOFuncioacuten Esta tabla almacena los formatos de los distintos tipos de horario que existen y se ofrecen
para cada materia horarios de 2345 diacuteas a la semana y de 123 o 4 horas por diacutea
Lista de columnas de la tabla TIPO_HORARIONombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Tipo_horario COUNTER 4 X Identificador del tipo de horarioDescripcion Text(20) 20 Descripcioacuten del tipo de horarioLunes SMALLINT 4 Nuacutemero de horas del lunesMartes SMALLINT 4 Nuacutemero de horas del martesMiercoles SMALLINT 4 Nuacutemero de horas del mieacutercolesJueves SMALLINT 4 Nuacutemero de horas del juevesViernes SMALLINT 4 Nuacutemero de horas del viernesSabado SMALLINT 4 Nuacutemero de horas del saacutebado
Tabla TIPO_PERFILFuncioacuten Aquiacute se almacena una clasificacioacuten de los perfiles de acuerdo a la rama de conocimiento
a la que pertenecen
Lista de columnas de la tabla TIPO_PERFILNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_tipo COUNTER 4 X Identificador del tipo de perfilTipo_perfil Text(30) 30 Descripcioacuten del tipo de perfil de los
catedraacuteticos o las materias
Capiacutetulo 4 Anaacutelisis y Disentildeo
456 Lista de funciones o programas
Nombre Programa Descripcioacuten del programa
Ajustes Datos generales de los tipos de ajustes que se aplican al nuacutemero degrupos por abrir al dato de Servicios Escolares
Aulas Captura los datos de las aulas disponibles para claseCaptura_horarios Este programa realiza los cambios posteriores a la generacioacutenCarreras Captura los datos de las carreras del tecnoloacutegicoCatedraticos Datos generales de los catedraacuteticosClonacion Obtiene una copia (clon) del mejor individuo de una generacioacutenCons_ajuste Muestra yo imprime los datos generales de los ajustesCons_aulas Emite una pantalla de consulta general de aulasCons_captura_horarios Muestra una pantalla de consulta de los horarios generadosCons_carrera Despliega yo imprime las carrerasCons_catedratico Muestraimprime los datos generales de los catedraacuteticosCons_criterio Formulario que muestra yo despliega los criterios generalesCons_critXmat Muestra yo imprime los criterios de una materiaCons_critXregla Despliegaimprime los criterios que forman una reglaCons_gpos_abrir Explicacioacuten de la inferencia realizada (reglas disparadas)Cons_hist_crit Muestra las reglas de produccioacuten de los criteriosCons_materia Pantalla que despliega yo imprime datos de las materiasCons_materia_gral Pantalla de consulta general de los datos de materiasCons_perf_cate Consultaimprime los datos del perfil acadeacutemico de los
catedraacuteticosCons_perf_mate Consultaimprime los datos del perfil acadeacutemico de las materiasCons_perfil Muestraimprime datos de los perfilesCons_perfiles Consulta a la lista de perfiles o caracteriacutesticas Cons_perfilxmat Consulta a las reglas de produccioacuten del perfil de una materiaCons_rama Consulta a la lista de ramas (clasificacioacuten de las materias)Cons_reglas Consulta a la base de reglas para ajustar nuacutemero de gruposCons_serv_esc Consulta a las tablas que tienen informacioacuten de Servicios
EscolaresCons_serv_escol Pantalla que muestra yo imprime los datos estadiacutesticos de Serv
EscCons_tipo_perfil Consulta a los tipos de perfil (clasificacioacuten de perfiles)Crit_X_mat Formulario que captura los criterios pertenecientes a una materiaCrit_X_regla Captura los criterios que forman una regla de produccioacutenCriterios Pantalla que captura el conocimiento de criterios para el SECriteriosxmat Pantalla de captura para los criterios por materiaCruzamiento Programa que realiza la combinacioacuten (cruza) de individuos de la
poblacioacuten en el Algoritmo Geneacutetico
Capiacutetulo 4 Anaacutelisis y Disentildeo
Evaluacion Programa que realiza la creacioacuten del cromosoma de evaluacioacuten alevaluar las versiones de horarios de una generacioacuten
Explica_ajustes Moacutedulo de explicacioacuten del porque se aplicoacute determinado ajuste auna materia
Explica_mat_p_prof Explicacioacuten del porque una materia puede ser impartida por unprofesor con cierto grado de certidumbre
Explica_prof_p_mat Explicacion del porque un profesor puede impartir una materiacon cierto grado de certidumbre
Genera_horarios Sistema que utiliza Programacioacuten Loacutegica de Restricciones paragenerar los paquetes de horarios de un semestre
Genera_paquete Muestra el paquete generado por el procesoGrupo_nuevo Programa que va generando los paquetesGrupos_por_abrir Inferencia realizada para definir el ajuste aplicado a los grupos
definidos por Servicios EscolaresHistorial_criterios Captura los criterios necesarios para hacer una reglaHistorial_materia Captara los criterios por materiaMat_para_prof Inferencia realizada para determinar que profesores pueden
impartir una materiaMaterias Actualizacioacuten al archivo datos generales de las materiasMenu_algoritmos_geneticos Menuacute del moacutedulo para asignar aula a los gruposMenu_generacion_grupos Menuacute del Sistema Experto para definir cuantos grupos abrirMenu_asigna_horario Menuacute del moacutedulo asignacioacuten de horarioMenu_principal Menuacute principal del sistemaMenu_sel_catedra Menuacute del Sistema Experto para seleccioacuten de catedraacuteticos a
materiaMutacion Programa que hace la modificacioacuten de informacioacuten de aulas de
alguna versioacuten (versioacuten)Perfil_catedratico Captura el perfil acadeacutemico de los catedraacuteticosPerfil_materia Captura el perfil acadeacutemico de las materiasPerfiles Datos generales del perfil acadeacutemico de materias y catedraacuteticosPoblacion_inicial Programa que genera versiones de horarios y que de manera
aleatoria le va asignando aula a los gruposPortada_principal Es la ventana de entrada al sistemaProf_para_mat Inferencia realizada para determinar que materias pueden ser
impartidas por un profesorRama Programa que capturas las posibles ramas de los materiasReglas Datos generales de las reglas de produccioacuten para definir el No de
grupos por abrirSeleccioacuten Proceso que selecciona las mejores versiones de horarios (mejores
individuos) y elimina las menos aptasServ_escolares Pantalla de captura de los datos estadiacutesticos de Servicios EscolaresTipo_perfil Programa que captura la clasificacioacuten de los perfiles de materias y
profesores
Capiacutetulo 4 Anaacutelisis y Disentildeo
457 Diagrama de Arquitectura (Menuacutes)
Menuacute general
Menuacute Grupos porabrir
MenuacuteGeneracioacuten de
horarios
MenuacuteAsignacioacuten de
aulas
Datos de materias
Estadiacutesticos Serv Esc
Criterios
Criterios por materia
Reglas
Criterios por regla
Ajustes
Carreras
Nuacutemero de grupos
MenuacuteSeleccioacuten decatedraacuteticos
Genera paquete
Genera horarios
Datos generalesgrupos
Datos de aulas
Genera poblacioacuteninicial
Evaluacioacuten
Seleccioacuten
Cruzamiento
Clonacioacuten
Mutacioacuten
Horarios finales
Perfiles
Perfil de las materias
Perfil de catedraacuteticos
Catedraacuteticos
Perfil de loscatedraacuteticos
Asignacioacuten materia aprofesor
Asignacioacuten profesor amateria
Capiacutetulo 4 Anaacutelisis y Disentildeo
Capiacutetulo 5 Implementacioacuten del sistema
CAPIacuteTULO 5
IMPLEMENTACIOacuteN
51 Pantallas del sistema
La Figura 51 muestra la portada inicial del proyecto Contiene los logotipos de las tresinstituciones participantes y el nombre del proyecto
Fig 51 Portada inicial del proyecto
La Figura 52 es la pantalla que proporciona la informacioacuten de los autores del proyecto
Es el botoacutende entrada alsistema
Botoacuten deinformacioacuten delos autores
Capiacutetulo 5 Implementacioacuten del sistema
Fig 52 Acerca del sistema
La Figura 53 muestra el menuacute principal del proyecto contiene y 4 moacutedulos La primeraopcioacuten incluye los moacutedulos administrativo y generacioacuten de grupos la segunda opcioacutenincluye seleccioacuten de maestro y seleccioacuten de materia
Fig 53 Menuacute principal del proyecto
Moacutedulos delproyecto
Cuadro queproporcionalainformacioacutende la opcioacutensentildealada porel cursor
Capiacutetulo 5 Implementacioacuten del sistema
En la Figura 54 se tiene la pantalla del menuacute que agrupa los programas del moacuteduloadministrativo y Sistema Experto para determinar el nuacutemero de grupos por abrir seguacutenlos caacutelculos realizados con los datos de Servicios Escolares y el ajuste a ese dato
Fig 54 Menuacute grupos por abrir
Este programa del moacutedulo administrativo (Figura 55) sirve para capturar la informacioacutengeneral de las asignaturas que componen una carrera
Fig 55 Materias
Programas delos moacutedulos
Descripcioacutende laactividad delprogramaseleccionado
Nombre de laasignatura
Nuacutemero dehoraspraacutecticas yteoacutericas
Alumnos por grupopara calcularcantidad de grupos
Dato para formarpaquetes porsemestre
Icono quehabilita lacaptura denuevosdatos
Icono queregresa alMenuacute anterior
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 56 es un ejemplo de la consulta de datos en pantalla
Fig 56 Consulta Materias
La Figura 57 es la pantalla donde se capturan los datos estadiacutesticos provenientes deServicios Escolares contiene la informacioacuten necesaria para realizar el caacutelculo originaldel nuacutemero de grupos de cada asignatura que se debe abrir para ofertarse a los alumnosel siguiente semestre la foacutermula mostrada proporciona tal dato
Botoacuten queregresa elcontrol alprogramaque loinvocoacute
Alumnosesperados parael proacuteximo
Fccg
Datosestadiacutesticos
Fig 57 Pantalla Servicios Es
semestre
oacutermula paraaacutelculoantidad-rupos
Caacutelculosgeneral y pormateria
Grupos (datoestadiacutestico)
colares
Capiacutetulo 5 Implementacioacuten del sistema
En la Figura 58 se muestra la pantalla de consulta de los datos estadiacutesticosproporcionados por Servicios Escolares
Fig 58 Pantalla consulta Servicios Escolares
Esta pantalla captura las caracteriacutesticas por materia que dan origen al conocimientonecesario para definir el tipo de ajuste que se aplica al dato del nuacutemero de gruposproporcionado por los caacutelculos estadiacutesticos de la pantalla anterior
Criterios de unamateria
Fig 59 Pantalla criterios por materia
Grado deimportancia de esacaracteriacutestica para la
Capiacutetulo 5 Implementacioacuten del sistema
En la Figura 510 se muestra un ejemplo de la consulta a la base de datos del sistema enla parte de criterios por materia
Fig 510 Pantalla consulta criterios por materia
Esta pantalla (fig 511) proporciona al sistema la capacidad de capturar modificarborrar e imprimir las carreras del Instituto Tecnoloacutegico de Zacatepec
Fig 511 Pantalla carreras
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 512 proporciona al sistema la capacidad para capturar los criterios(conocimientos) del experto para definir a cada materia
Fig 512 Pantalla criterios
La Figura 513 muestra un ejemplo de consulta al archivo de los criterios capturados enel sistema
Fig 513 Pantalla consulta criterios
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 514 muestra la pantalla de captura de las reglas que componen el SistemaExperto para determinar el tipo de ajuste que se aplicaraacute al dato estadiacutestico del nuacutemerode grupos que se van a abrir el proacuteximo semestre cada regla tiene asignado un tipo deajuste
Fig 514 Pantalla reglas
La Figura 515 muestra un ejemplo de la consulta al archivo de las reglas que utiliza elSistema Experto para determinar nuacutemero de grupos por ofertar el proacuteximo semestre
Fig 515 Pantalla consulta reglas
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 516 muestra la pantalla de captura al archivo de ajustes noacutetese que ladescripcioacuten explica en extenso la accioacuten que se realiza al aplicar este ajuste provenientede una regla disparada por los criterios pertenecientes a la definicioacuten de una materia
Fig 516 Pantalla ajustes
La Figura 517 muestra la pantalla de la consulta a los ajustes que contiene el sistema
Fig 517 Pantalla consulta ajustes
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 518 muestra la pantalla que captura los criterios para cada regla Una reglaestaacute formada por el mismo tipo de criterios que definen a las materias
Criteriosde una
Fig 518 Pantalla criterios por regla
La Figura 519 muestra el ejemplo de una consulta de los criterios que definen a unaregla
Fig 519 Pantalla consulta criterios por regla
Reglas de produccioacuten Criterios por regla
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 520 es la pantalla maacutes importante de moacutedulo de generacioacuten de grupos porquees donde se realiza la inferencia para calcular el tipo de ajuste que se va a aplicar a cadamateria con base en las reglas que se disparan y que hacen match los criterios de unaregla y los criterios de una materia
Fig 520 Pantalla caacutelculo de ajustes
Esta pantalla (Figura 521) ofrece una explicacioacuten mostrando los criterios que definenuna materia y su correspondiente regla disparada mostrando los criterios de la regla quehacen match con los criterios de la materia
Fig 521 Pantalla explicacioacuten de la inferencia
Asignaturaa la que sele aplicaraacuteel ajuste
Regla quese disparaseguacutencriterios
Tipo deajuste quese aplica
Dato seguacutenestadiacutestico
Datos seguacutenajuste delSistemaExperto
Inferenciageneral
Inferenciaindividual
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 522 muestra el formulario que forma los paquetes de materias seguacuten laretiacutecula de una carrera muestra el nuacutemero de grupos por cada materia que se van aformar y hace los paquetes asignando los grupos AA AB AC AD
Fig 522 Pantalla inicial del moacutedulo generacioacuten de horarios
La Figura 523 es el formulario del moacutedulo Programacioacuten Loacutegica de Regenera los horarios por paquete satisfaciendo las restricciones para forlibre de choques continuo (sin horas muertas) cumpliendo las horas por m
Fig 523 Pantalla principal del moacutedulo generacioacuten de horari
Semestre al que sele formaraacuten lospaquetes
Paquetes generadosHora de iniciode clases decada grupo
Materias delsemestre
Nuacutemero de gruposal que se lesgeneraraacute horario
MateriaPaquete
Nuacutemero dehoras por diacutea
Botonesque invocanal moacutedulogeneradorde horarios
stricciones quemar un horarioateria etc
Hora de iniciode la materia
os
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 524 muestra el moacutedulo para asignar aula a los horarios que ya tienen materiagrupo y hora
Fig 524 Pantalla principal del menuacute Algoritmos Geneacuteticos
Esta pantalla (Figura 525) se utiliza para hacer altas bajas consulta y modificaciones alos grupos que se les va a dar aula
Fig 525 Pantalla de administracioacuten de grupos
Periodode loshorarios
Hora iniciodel grupo
Hora por diacutea
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 526 muestra una consulta de la pantalla administracioacuten de grupos
Fig 526 Pantalla de consulta de administracioacuten de grupos
La Figura 527 muestra la pantalla para actualizar las aulas disponibles por las personasque generan los horarios estas aulas estaacuten disponibles para que el Algoritmo Geneacuteticolas utilice para asignarles grupos durante el proceso
Fig 527 Pantalla del control de aulas
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 528 muestra la consulta de las aulas que utiliza el moacutedulo generacioacuten deaulas
Fig 528 Pantalla de consultas del control de aulas
La Figura 529 muestra la pantalla que genera la poblacioacuten inicial a partir de los datosgenerales proveniente de los moacutedulos anteriores
Fig 529 Pantalla de genera poblacioacuten inicial
Nuacutemero dehipoacutetesisversiones oindividuos
Aula aleatoriagenerada
Este botoacuteninicia lageneracioacutende las nversionesde horarios
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 530 muestra la pantalla que evaluacutea las versiones originadas y genera paracada una de ellas un cromosoma cuyos genes contienen la informacioacuten obtenida
Fig 530 Pantalla de evaluacioacuten de versiones
La Figura 531 muestra el formulario del proceso de seleccioacuten de las mejores versionesde horarios toma aquellas que tienen menor numero de choques y mayor espacio deocupacioacuten de aulas
Fig 531 Pantalla del proceso de seleccioacuten
Cantidad deversiones quesobreviviraacuten
Cromosomas delos mejoresindividuos
Botoacuten queinicia elproceso deseleccioacuten
Botoacuten queinicia elproceso deeliminacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 532 muestra la pantalla del proceso de clonacioacuten donde se selecciona la mejorversioacuten y se obtiene un clon ideacutentico con un nuevo nuacutemero de versioacuten
Fig 532 Pantalla del proceso de clonacioacuten
La Figura 533 muestra la pantalla del proceso de mutacioacuten utilizado para hacer elcambio ldquomutarrdquo los datos de una versioacuten para romper alguacuten ciclado de la tendencia haciael resultado o simplemente para acelerar el proceso de optimizacioacuten
Cromosomasde versionesmaacutes aptas
Nuacutemero demejor versioacuten
Poblacioacutenversiones
Cromosomamuestra lasmejoresversiones
Aulas quepueden mutarse
Botoacuten queinicia elproceso demutacioacuten
Nuacutemero deversioacuten
Fig 533 Pantalla de mutacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 534 muestra la pantalla donde se realiza el cruzamiento utilizando plantillaspredeterminadas dirigiendo la cruza de versiones por paquetes de materias agrupadas porsemestre y cada plantilla genera una nueva versioacuten con la combinacioacuten de fragmentosde varias versiones
Fig 534 Pantalla del proceso de cruzamiento
La Figura 535 permite la seleccioacuten y enviacuteo de la mejor versioacuten de horarios y adaptarloal moacutedulo administrativo para su distribucioacuten y publicacioacuten
Fig 535 Horarios finales
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 536 muestra el menuacute de los moacutedulos que sugiere maestros para impartir unaasignatura y sugerencia de asignatura para alguacuten maestro
Fig 536 Pantalla menuacute seleccioacuten de catedraacuteticos
La Figura 537 muestra la pantalla para la captura de caracteriacutesticas de losconocimientos requeridos para dar una materia que son las mismas caracteriacutesticas quedefinen los conocimientos de un profesor para impartir las materias
Fig 537 Pantalla de perfiles
Clasificacioacutende los perfiles
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 538 muestra una consulta de los perfiles agrupados por tipo
Fig 538 Pantalla de consulta perfiles
La Figura 539 muestra la pantalla en la que se definen los conocimientos requeridospara poder impartir una asignatura de acuerdo al perfil y contenido temaacutetico
Fig 539 Pantalla perfiles de las materias
La Figura 540 muestra un ejemplo de la consulta al perfil de una materia
Importancia de lacaracteriacutestica en la materia
Capiacutetulo 5 Implementacioacuten del sistema
Fig 540 Pantalla consulta perfiles de las materias
La Figura 541 es utilizada para capturar los datos de los catedraacuteticos que imparten lasasignaturas de una carrera
Fig 541 Pantalla captura datos de catedraacuteticos
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 542 es una muestra de la consulta al archivo de los catedraacuteticos
Fig 542 Pantalla consulta datos de catedraacuteticos
La Figura 543 muestra la pantalla en que se captura el perfil de los catedraacuteticos elperfil son los conocimientos que tiene el profesor que lo capacitan para impartir algunaasignatura
Fig 543 Pantalla captura perfil de catedraacuteticos
Conocimientosdel profesor
Barra deseleccioacuten deperfiles
Grado dedominio deltema
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 544 muestra una consulta tiacutepica al archivo de perfiles de los catedraacuteticos
Fig 544 Pantalla consulta perfil de catedraacuteticos
La Figura 545 muestra la pantalla de inferencia final que sugiere quienes son loscatedraacuteticos maacutes capacitados para impartir una materia haciendo la inferencia mediantela buacutesqueda de matchs entre el perfil de la asignatura y el perfil del catedraacutetico
Fig 545 Pantalla muestra inferencia catedraacuteticos para materia
Candidatos aimpartir lamateria
Botoacuten del proceso deinferencia generalPorcentaje de certeza con
que puede impartirla
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 546 muestra la pantalla de explicacioacuten donde se indican los perfiles de lamateria y el perfil del profesor
Fig 546 Pantalla explicacioacuten porque un maestro puede dar una materia
La Figura 547 muestra el resultado de la inferencia del proceso que sugiere las materiasque puede impartir un profesor con base en el perfil de la materia y el perfil del profesor
Fig 547 Pantalla materias que puede impartir un profesor
Posibles materia aimpartir Porcentaje de certeza con
que puede impartirlaBotoacuten del proceso deinferencia general
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 548 muestra la pantalla de explicacioacuten donde se indican el perfil de la materiay el perfil del profesor
Fig 548 Pantalla de explicacioacuten porque un profesor puede dar una materia
Capiacutetulo 5 Implementacioacuten del sistema
Capiacutetulo 6 Pruebas y Resultados
CAPIacuteTULO 6
PRUEBAS Y RESULTADOS
61 Pruebas del sistema
Se pueden detectar dentro del desarrollo de sistemas las actividades para realizarpruebas las producidas durante la etapa de requerimientos de disentildeo preliminar y las dedisentildeo detallado Clasificadas de otra manera eacutestas pueden ser funcionales deintegracioacuten y de implementacioacuten
La finalidad de realizar Pruebas funcionales es detectar errores que pudieran habersedado durante las fases de anaacutelisis y de especificacioacuten Por otro lado ellas pueden ayudara probar si el disentildeo es correcto ya que esta fase en sus dos niveles preliminar ydetallado estaacute basada en el anaacutelisis y especificacioacuten de requerimientos del sistema Estaactividad es guiada por los objetivos y requerimientos plasmados Se busca en estaprueba la posibilidad de que se haya incurrido en errores de conceptualizacioacuten yo deespecificacioacuten Las pruebas se organizan tomando como guiacutea las diferentes opciones delsistema final
Las Pruebas de integracioacuten se realizan cuando se procede a interconectar los diferentessubsistemas que constituyen el futuro sistema Como es conocido un sistema puede serdesarrollado por diferentes personas Por esta razoacuten es de suma importancia probar lainterconexioacuten de los diferentes subsistemas y asiacute verificar que ha sido realizada demanera correcta
Las Pruebas de implementacioacuten o codificacioacuten son las que se realizan directamentesobre los programas que se estaacuten desarrollando durante la fase de implementacioacuten Estosmoacutedulos o programas a su vez constituyen subsistemas Por esta razoacuten la integracioacuten delos diferentes moacutedulos que forman un subsistema deben ser probados Estas pruebasdeben estar basadas en la especificacioacuten de disentildeo preliminar y detallado [Gerez 1985]
Los siguientes rubros describen las pruebas maacutes importantes que se consideraron paravalidar el sistema las pruebas funcionales Las pruebas de implementacioacuten se realizarondurante el desarrollo de la codificacioacuten de los diferentes moacutedulos
Capiacutetulo 6 Pruebas y Resultados
62 PRUEBAS DEL SISTEMA
621 PRUEBA 1 AacuteREAS DE MENUacuteS
Objetivo Guiar al usuario en el desarrollo del proceso Esta prueba verifica que elsistema tenga como opciones principales y submenuacutes los sentildealados en la definicioacuten derequerimientos
Criterios de aceptacioacuten Cada prueba verifica que el sistema produzca los resultadossentildealados en la definicioacuten de requerimientos
Procedimiento de la prueba A continuacioacuten se despliegan las pantallascorrespondientes a los menuacutes principales y submenuacutes Las opciones principales delproyecto son dos Menu Principal y Datos de los autores
Resultado de la prueba Los resultados fueron satisfactorios En todas las opcionesactivadas el sistema presentoacute los submenuacutes definidos en la etapa de requerimientos
La Figura 61 muestra la portada inicial del proyecto Contiene los logotipos de las tresinstituciones participantes y el nombre del proyecto
Fig 61 Portada inicial del proyecto
Es el botoacutende entrada alsistema
Botoacuten deinformacioacutende los autores
Capiacutetulo 6 Pruebas y Resultados
La Figura 62 muestra el menuacute principal del proyecto y contiene 4 moacutedulos La primeraopcioacuten incluye los moacutedulos administrativo y generacioacuten de grupos la segunda opcioacutenincluye seleccioacuten de maestro y seleccioacuten de materia
Fig 62 Menuacute principal del proyecto
En la Figura 63 se tiene la pantalla del menuacute que agrupa los programas del moacuteduloadministrativo y Sistema Experto para determinar el nuacutemero de grupos por abrir seguacutenlos caacutelculos realizados con los datos de Servicios Escolares y el ajuste a ese dato
Fig 63 Menuacute grupos por abrir
Moacutedulos delproyecto
Cuadro queproporcionalainformacioacutende la opcioacutensentildealada porel cursor
Programas delos moacutedulos
Descripcioacutende laactividad delprogramaseleccionado
Capiacutetulo 6 Pruebas y Resultados
La Figura 64 muestra el menuacute de los moacutedulos que sugiere maestros para impartir unaasignatura y sugerencia de asignatura para alguacuten maestro
Fig 64 Pantalla menuacute seleccioacuten de catedraacuteticos
La Figura 65 muestra el moacutedulo para asignar aula a los horarios que ya tienen materiagrupo y hora
Fig 65 Pantalla principal del menuacute Algoritmos Geneacuteticos
Capiacutetulo 6 Pruebas y Resultados
622 PRUEBA 2 VALIDACIOacuteN DE ENTRADAS
Objetivo Evitar peacuterdidas de tiempo con entradas erroacuteneas de datos y resultados sinvalidez
Criterios de aceptacioacuten Esta prueba deberaacute mostrar de manera exacta la informacioacutenal seleccionar la opcioacuten deseada
Procedimiento de la prueba Se verifica que todas las cajas de texto tengan el dato quese pide y una vez dados todos los datos se guardan para que estos datos posteriormentesean procesados por el sistema y almacenen los datos correctos
Resultado de la prueba Los resultados fueron satisfactorios En todas las opcionesactivadas el sistema presentoacute los resultados correctos a cada opcioacuten Ademaacutes losdesplegados de mensajes de error se presentaron de manera correcta en todas laspruebas
La Figura 66 muestra la captura de datos de una asignatura y enviacutea el correspondientemensaje de error si una caja de texto se encuentra vaciacutea
Fig 66 Pantalla de captura de datos de las Materias
Muestra elmensaje deerror si esque hacefalta alguacuten
Capiacutetulo 6 Pruebas y Resultados
La Figura 67 muestra una pantalla de captura de datos asignando criterios a una materiay valida la no duplicidad de criterios en esa materia se enviacutea el correspondiente mensajede error si una entrada ya fue capturada
Fig 67 Pantalla de captura de datos de Criterios por Materia
La Figura 68 muestra una pantalla de captura de datos de las carreras al encontrar unregistro ya capturado muestra el mensaje de error si una carrera ya fue capturada
Fig 68 Pantalla de captura de datos de Carreras
Muestra elmensajede error sies que yaexiste elregistro
Muestra elmensaje deerror si esque yaexiste elregistro
Capiacutetulo 6 Pruebas y Resultados
623 PRUEBA 3 DESPLEGADO DE RESULTADOS
6231 MOacuteDULO DE GENERACIOacuteN DE GRUPOS POR ABRIR
Objetivo Proporcionar los datos que el moacutedulo pide para que posteriormente elsistema genere el nuacutemero de grupos sugerido por abrir para cada materia
Criterios de aceptacioacuten Esta prueba muestra la lista de grupos que se deben abrirdespueacutes de aplicar los criterios del Sistema Experto
Procedimiento de la prueba Una vez que se proporcionan los datos que el SistemaExperto requiere el sistema generaraacute una lista de los grupos que se deben abrir elproacuteximo semestre
Resultado de la prueba Los resultados fueron satisfactorios En todos los casospresentados el sistema generoacute la lista en forma satisfactoria y con la informacioacutencorrecta
La Figura 69 es la pantalla maacutes importante de moacutedulo de generacioacuten de grupos porquees donde se realiza la inferencia para calcular el tipo de ajuste que se va a aplicar a cadamateria con base en las reglas que se disparan y que hacen match los criterios de unaregla y los criterios de una materia
Asignaturaa la que sele aplicaraacuteel ajuste
Regla quese disparaseguacutencriterios
Tipo deajuste quese aplica
Inferenciageneral
Datoseguacuten
Fig 69 Pantalla caacutelculo de ajustes
Datos seguacutenajuste delSistemaExperto
Inferenciaindividual
Capiacutetulo 6 Pruebas y Resultados
6232 MOacuteDULO DE GENERACIOacuteN DE HORARIOS
Objetivo Proporcionar los datos que el moacutedulo pide para que posteriormente elsistema genere el horario por semestre de las materias de una carrera
Criterios de aceptacioacuten Esta prueba debe mostrar los horarios para las materias sinerrores sin choques de hora en un paquete
Procedimiento de la prueba Recibe como entrada cuantos grupos abrir de cadamateria en cada semestre y genera primero los paquetes posteriormente a cada paquetede materias le asigna la hora por materia
Resultado de la prueba Los resultados fueron satisfactorios En todos los casospresentados el sistema generoacute los horarios correspondientes
La Figura 610 muestra el formulario que forma los paquetes de materias seguacuten laretiacutecula de una carrera muestra el nuacutemero de grupos por cada materia que se van aformar y hace los paquetes asignando los grupos AA AB AC AD
Fig 610 Pantalla inicial del moacutedulo generacioacuten de horarios
Semestre al que sele formaraacuten lospaquetes
Paquetes generadosHora de iniciode clases decada grupo
Materias delsemestre
Nuacutemero de grupospor al que se lesgeneraraacute horario
Botonesque invocanal moacutedulogeneradorde horarios
Capiacutetulo 6 Pruebas y Resultados
La Figura 611 es el formulario del moacutedulo Programacioacuten Loacutegica de Restricciones quegenera los horarios por paquete satisfaciendo las restricciones para formar un horariolibre de choques continuo (sin horas muertas) cumpliendo las horas por materia etc
Fig 611 Pantalla princip
6233 MOacuteDULO ASIGNACIOacuteN D
Objetivo Utilizar los datos generadoaulas a los paquetes de materias
Criterios de aceptacioacuten Esta pruebaasignacioacuten de aula sin choques
Procedimiento de la prueba Se genAlgoritmos Geneacuteticos durante variachoques en el aula
Resultado de la prueba Los resupresentados el sistema generoacute las aula
MateriaPaquete
Nuacutemero dehoras por diacutea
Hora de iniciode la materia
al del moacutedulo generacioacuten de horarios
E AULA
s en el moacutedulo anterior para hacer la asignacioacuten de
debe mostrar los horarios de las materias con una
eran las aulas utilizando los procedimientos de loss generaciones hasta lograr una generacioacuten sin
ltados fueron satisfactorios En todos los casoss correspondientes
Capiacutetulo 6 Pruebas y Resultados
La Figura 612 muestra la pantalla para actualizar las aulas disponibles por las personasque generan los horarios estas aulas estaacuten disponibles para que el Algoritmo Geneacuteticolas utilice para asignarles grupos durante el proceso
Fig 612 Pantalla del control de aulas
La Figura 613 muestra la consulta de las aulas que utiliza el moacutedulo generacioacuten deaulas
Fig 613 Pantalla de consultas del control de aulas
Capiacutetulo 6 Pruebas y Resultados
La Figura 614 muestra la pantalla que genera la poblacioacuten inicial a partir de los datosgenerales proveniente de los moacutedulos anteriores
Fig 614 Pantalla de genera poblacioacuten inicial
La Figura 615 muestra la pantalla que evaluacutea las versiones originadas y genera paracada una de ellas un cromosoma cuyos genes contienen la informacioacuten obtenida
Fig 615 Pantalla de evaluacioacuten de versiones
Nuacutemero dehipoacutetesisversiones oindividuos
Aula aleatoriagenerada
Este botoacuteninicia lageneracioacutende las nversionesde horarios
Capiacutetulo 6 Pruebas y Resultados
La Figura 616 muestra el formulario del proceso de seleccioacuten de las mejores versionesde horarios toma aquellas que tienen menor numero de choques y mayor espacio deocupacioacuten de aulas
Fig 616 Pantalla del proceso de seleccioacuten
La Figura 617 muestra la pantalla del proceso de clonacioacuten donde se selecciona la mejorversioacuten y se obtiene un clon ideacutentico con un nuevo nuacutemero de versioacuten
Fig 617 Pantalla del proceso de clonacioacuten
Cantidad deversiones quesobreviviraacuten
Cromosomas delos mejoresindividuos
Botoacuten queinicia elproceso deseleccioacuten
Botoacuten queinicia elproceso deeliminacioacuten
Cromosomasde versionesmaacutes aptas
Nuacutemero demejor versioacuten
Poblacioacutenversiones
Capiacutetulo 6 Pruebas y Resultados
La Figura 618 muestra la pantalla del proceso de mutacioacuten utilizado para hacer elcambio ldquomutarrdquo los datos de una versioacuten para romper alguacuten ciclado de la tendencia haciael resultado o simplemente para acelerar el proceso de optimizacioacuten
Fig 618 Pantalla de mutacioacuten
La Figura 619 muestra la pantalla donde se realiza el cruzamiento utilizando plantillaspredeterminadas dirigiendo la cruza de versiones por paquetes de materias agrupadas porsemestre y cada plantilla genera una nueva versioacuten con la combinacioacuten de fragmentosde varias versiones
Fig 619 Pantalla del proceso de cruzamiento
Cromosomamuestra lasmejoresversiones
Nuacutemero deversioacuten amutar
Aulas quepueden mutarse
Botoacuten queinicia elproceso demutacioacuten
Capiacutetulo 6 Pruebas y Resultados
La Figura 620 permite la seleccioacuten y enviacuteo de la mejor versioacuten de horarios y adaptarloal moacutedulo administrativo para su distribucioacuten y publicacioacuten
Fig 620 Horarios finales
6234 MOacuteDULO SELECCIOacuteN DE CATEDRATICOS
Objetivo Capturar los datos de los profesores y su perfil profesiograacutefico ademaacutescapturar los conocimientos necesarios para impartir una asignatura para poder sugerircual es el mejor catedraacutetico que puede impartir una asignatura
Criterios de aceptacioacuten Esta prueba debe mostrar la sugerencia de los mejorescatedraacuteticos para una materia y las mejores materias para un catedraacutetico
Procedimiento de la prueba Se daraacuten los datos iniciales de los maestros y el sistemadeberaacute generar una lista a partir de la inferencia del Sistema Experto respectivo yviceversa
Resultado de la prueba Los resultados fueron satisfactorios En todos los casospresentados el sistema infirioacute las materias y los catedraacuteticos correspondientes
Capiacutetulo 6 Pruebas y Resultados
La Figura 621 muestra la pantalla en que se captura el perfil de los catedraacuteticos elperfil son los conocimientos que tiene el profesor que lo capacitan para impartir algunaasignatura
Fig 621 Pantalla captura perfil de catedraacuteticos
La Figura 622 muestra la pantalla de inferencia final que sugiere quienes son loscatedraacuteticos maacutes capacitados para impartir una materia haciendo la inferencia mediantela buacutesqueda de matchs entre el perfil de la asignatura y el perfil del catedraacutetico
Fig 622 Pantalla muestra inferencia catedraacuteticos para materia
Conocimientosdel profesor
Barra deseleccioacuten deperfiles
Grado dedominio deltema
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Candidatos aimpartir lamateria Botoacuten del proceso de
inferencia generalPorcentaje de certeza conque puede impartirla
Capiacutetulo 6 Pruebas y Resultados
La Figura 623 muestra la pantalla de explicacioacuten donde se indican los perfiles de lamateria y el perfil del profesor
Fig 623 Pantalla explicacioacuten porque un maestro puede dar una materia
La Figura 624 muestra el resultado de la inferencia del proceso que sugiere las materiasque puede impartir un profesor con base en el perfil de la materia y el perfil del profesor
Fig 624 Pantalla materias que puede impartir un profesor
Posibles materia aimpartir Porcentaje de certeza con
que puede impartirlaBotoacuten del proceso deinferencia general
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Capiacutetulo 6 Pruebas y Resultados
La Figura 625 muestra la pantalla de explicacioacuten donde se indican el perfil de la materiay el perfil del profesor
Fig 625 Pantalla de explicacioacuten porque un profesor puede dar una materia
Capiacutetulo 6 Pruebas y Resultados
Capiacutetulo 7 Conclusiones y Trabajos Futuros
CAPIacuteTULO 7
CONCLUSIONES Y TRABAJOS FUTUROS
71 CONCLUSIONES
Los meacutetodos de programacioacuten lineal proporcionan una solucioacuten parcial al problema dela generacioacuten de horarios utilizan una ldquorecetardquo predefinida para lograr la optimizacioacutende la asignacioacuten de recursos como lo hace el meacutetodo Huacutengaro La Inteligencia Artificialsoluciona el problema utilizando la heuriacutestica el conocimiento y la experiencia de unexperto humano para solucionar el problema se decidioacute utilizar esta metodologiacutea paraexplorar una solucioacuten aproximada al problema
En el ITZ la generacioacuten de horarios se haciacutea de forma manual no se utilizaba ninguacutenmeacutetodo automatizado Al aplicar algunas teacutecnicas de la Inteligencia Artificial se halogrado generar de manera automatizada los horarios de las materias que se ofertaraacuten elproacuteximo semestre
La aplicacioacuten de varias ramas de la Inteligencia Artificial para la resolucioacuten delproblema de la generacioacuten de horarios viene a demostrar que si es posible generar uncondensado de horarios para el Instituto Tecnoloacutegico de Zacatepec que es una escuelade nivel superior y que estos horarios satisfacen adecuadamente las restricciones fuertesmedias y suaves Para ello fue necesaria la combinacioacuten de varias disciplinas de lacomputacioacuten para generar cada una de las partes que componen un horario y tambieacutenrecomendar los catedraacuteticos mas apropiados para impartir dichos grupos nuevamentequeda demostrado que la Inteligencia Artificial sirve para resolver problemas que lasteacutecnicas convencionales de computacioacuten consideran problema NP-completo
La utilizacioacuten de las teacutecnicas de los Sistemas Expertos para ajustar el nuacutemero de grupospor abrir el proacuteximo semestre permite aplicar el conocimiento y experiencia de lapersona encargada de elaborar los horarios y asiacute disminuir el nuacutemero de gruposcancelados el conocimiento e intuicioacuten del experto humano realizan un ajuste fino alnuacutemero de grupos y como puede notarse el sistema lo hace de manera similar
Para el moacutedulo de generacioacuten de los grupos y los horarios la utilizacioacuten de la teacutecnicallamada Programacioacuten Loacutegica de Restricciones permitioacute la satisfaccioacuten de lasrestricciones que hacen que los horarios sean considerados factibles para su aplicacioacuten a
Capiacutetulo 7 Conclusiones y Trabajos Futuros
los alumnos el proacuteximo semestre ya que los paquetes de materias por semestre tienenhorarios corridos y sin choques en horas nuacutemero de materias completo y buenadistribucioacuten de horas pares e impares
Se utilizoacute tambieacuten la teacutecnica de optimizacioacuten llamada Algoritmos Geneacuteticos pararealizar la asignacioacuten de aulas a cada grupo generado logrando con ello minimizarautomaacuteticamente el nuacutemero de choques de materias en aulas En las pruebas realizadasse logroacute que en la sexta generacioacuten de individuos ya soacutelo hubiera hasta un maacuteximo de 24choques lo que indicaba que soacutelo 4 oacute 5 grupos compartiacutean aula a la misma hora esto erafaacutecilmente corregible realizando una inspeccioacuten visual a la versioacuten de horarios final yajustando los uacuteltimos errores
Por uacuteltimo nuevamente se aplicaron los Sistemas Expertos en el moacutedulo de sugerenciade materias que puede impartir un maestro y en el moacutedulo maestros que pueden impartiruna determinada materia vale la pena comentar que durante las pruebas realizadas loscatedraacuteticos del departamento de Sistemas y Computacioacuten capturaban su perfilprofesiograacutefico y al pedir al sistema la sugerencia de cuaacuteles materias podriacutean impartirlos Sistemas Expertos del proyecto inferiacutean exactamente las materias que loscatedraacuteticos estaacuten impartiendo en este semestre y las que habiacutean impartido en alguacutensemestre anterior demostrando que en efecto para profesores nuevos la recomendacioacutendel sistema seriacutea vaacutelida
72 TRABAJOS FUTUROS
Se sugiere que se ampliacutee el proyecto para que a cada grupo generado con aula y hora sele asigne de manera automaacutetica un catedraacutetico utilizando ya sea Algoritmos Geneacuteticos oProgramacioacuten Loacutegica de Restricciones
Otra posible mejora puede ser incluir la Loacutegica Difusa en los Sistemas Expertos de losmoacutedulos que sugieren las materias que puede impartir un catedraacutetico y los catedraacuteticosque pueden impartir una asignatura
Como ya se comproboacute la factibilidad de generar los horarios de manera automaacutetica sepropone tambieacuten la exploracioacuten de otras ramas y teacutecnicas de la computacioacuten (RedesNeuronales Buacutesqueda Tabuacute Grafos Coloreados etc) para comparar el rendimientotiempo esfuerzo y asiacute poder determinar cuales son mejores o peores teacutecnicas pararesolver el problema de la generacioacuten de horarios
Referencias Bibliograacuteficas
REFERENCIAS BIBLIOGRAacuteFICAS
[Abramson 1991] Abramson D ldquoConstructing School Timetables Using SimulatedAnnealing Secuencial and Parallel Algoritmsrdquo Management Science PWS PublishingBoston 1998
[Beasley 1993] Beasley D amp Bull DR amp Martin RR ldquoAn Overview of GeneticAlgorithms Part 1 Fundamentalsrdquo University Computing
[Bull 1993] Bull DR amp Beasley D amp Martin RR ldquoAn Overview of GeneticAlgorithms Part 2rdquo University Computing Magazine 1993
[Burke1994]Burke EK ldquoA Genetic Algorithm for University Timetablingrdquo AISBworkshop on evolutionary computing Leeds 1994
[Burke 1997] Burke Edmund K ldquoAutomated Scheduling Optimization and PlanningGroup (ASAP)rdquo PATATrsquo97 Proceedings of the 2nd Intenational Conference on thePractice And Theory of Automated Timetabling 1997
[Burke2000] Burke Edmund amp Eliman David amp Weare Rupert ldquoA GeneticAlgorithm Based University Timetabling Systemrdquo PATATrsquo2000 Proceedings of the 5ft
Intenational Conference on the Practice And Theory of Automated Timetabling 2000
[Burke2001] Burke EK amp Eliman DGamp Weare R ldquoAutomated Scheduling OfUniversity Examsrdquo Leeds 2001
[Burke2002] Burke Edmund amp Eliman David amp Weare Rupert ldquoExaminationTimetabling in British Universities ndash A Surveyrdquo Leeds 2002
[Carrasco 2004] Carrasco Marco amp Pato Margarida ldquoSolving Real ClassTeacherTimetabling Problems using Neural Networksrdquo Facultade de Ciencias University ofLisboa Portugal
[Chorafas 1990] Chorafas Dimitris N ldquoKnowledge Engineeringrdquo Van NostrandReinnhold New York USA
Referencias Bibliograacuteficas
[Corne 1993] Corne D ldquoSolving the module exam scheduling problem with geneticalgorithmsrdquo Proceedings of the 6th Intenational conference in Industrial andEngineering applications of Artificial Intelligence and Expert Systems1993
[Daellenbach 1987] Daellenbach Hans amp McNickle Donald ldquoIntroduccioacuten a teacutecnicasde Investigacioacuten de Operacionesrdquo CECSA Meacutexico 1987
[Davis 1991] Davis L ldquoHandbook of Genetic Algorithmsrdquo Van Nostrand ReinholdNew York NY
[Demist2000] Demist ldquoDepartamental Timetabling Proyect ProposalDeMIStinterface to Timetabling Package Proyectrdquo Demist University 2000
[Detcher 1990] Detcher R ldquoEnhancement Schemes for Constraint Processing BackJumping Learning and Cutset Decompositionrdquo Artificial Intelligence 41 (1990)
[Eliman 2000] Eliman David ldquoSpecialised Recombinative Operators for TimetablingProblemsrdquo Cambridge University Press New York 2000
[Elmohamed2000] Elmohamed Saleh ldquoThe timetabling problemrdquo PATATrsquo2000Proceedings of the 5th Intenational Conference on the Practice And Theory ofAutomated Timetabling 2000
[Elmohamed2001] Elmohamed Saleh ldquoConstraint based university coursetimetablingrdquo 4th World Congress on Timetabing Aplication of advanced informationTechnologies London 2001
[Fahrion y Dollanski 1992] Fahrion R amp G Dollanski ldquoConstruction of UniversityFaculty Timetables using Logic Programmingrdquo ACM Sigsoft Notes vol 9 no 3 May1992
[Frenzel 1986]Frenzel Louis E ldquoCrash Course in Artificial Intelligence and ExpertSystemsrdquo Howard W Sams amp Co McMillan Inc Indianapolis USA
[Gerez 1985] Gerez Victor amp Mier Mauricio ldquoDesarrollo y administracioacuten deprogramas de computadorardquo McGraw Hill Meacutexico 1985
[Gervaacutes 1999] Gervaacutes P amp San Miguel B ldquoSequential Building of ConstrainedTimetables Using Rule-Based Heuristics An Expert System for AutomatedTimetablingrdquo Congreso Internacional de Investigacioacuten en Ciencias Computacionales
Referencias Bibliograacuteficas
[Giarratamo 1998] Giarratamo Joseph y Gary Riley ldquoExpert Systems Principles andProgrammingrdquo PWS Kent Publishing Company Boston USA
[Gines 1986] Gines B amp Boose J ldquoKnowledge Acquisition for Knowledge-BasedSystemsrdquo Vol 1amp2 Academic Press London U K
[Goldberg 1989] Goldberg DE ldquoGenetic Algorithms in SearchOptimization andMachine LearningrdquoAddison-Wesley
[Kang y White 1994 ] Kang L amp White GM ldquoA Logic Approach to the Resolutionof Constrains in Timetablingrdquo European Journal of Operational Research vol 61 1994
[Kandel 1991] Kandel Abraham ldquoFuzzy Expert Systemsrdquo CRC Press Inc LondonUK 1991
[Kendall1999] Kendall y Kendall ldquoAnaacutelisis y disentildeo de sistemasrdquo 3ordf edicion PearsonEducacioacuten
[Koza 1992] Koza JR ldquoGenetic Programming On the Programming of Computers bymeans of Natural Selectionrdquo Cambridge MA MIT Press
[Martiacutenez 1999] Martiacutenez Alfaro Horacio ldquoSolucioacuten al problema de asignacioacuten desalones de clases horario y grupo mediante templado simuladordquo Memorias 6ordm CongresoInternacional de Mecatroacutenica e Inteligencia Artificial Meacutexico 1999
[Medina 2004] Medina Pasaflores Horacio ldquoFundamentos de Algoritmos GeneacuteticosrdquoTesis de licenciatura Zacatepec Mexico 2004
[Michalewicz 1992] Michalewicz Z ldquoGenetic algorithms + Data Structures =Evolution Programsrdquo Springer-Verlag New York NY
[Negoita1985] Negoita ConstantinV Expert Systems and Fuzzy Systems TheBenjamin Cummings Publishing Co Menlo Park CA USA
[Nielsoft 2000] Nielsoft informatica ldquoManual de usuario Mimosa for windowsrdquo
[Paechter 1994] Paechter B ldquoTwo solutions to the general timetabling problemusing evolutionary methodsrdquo IEEE WCCI 1994
[Pluss1999] Pluss JJ ldquoSistemas expertos un enfoque pragmaacuteticordquo UNR
Referencias Bibliograacuteficas
[Rich 1996] Rich E y Knight K ldquoInteligencia Artificialrdquo McGraw HillInteramericana Madrid Espantildea
[Russell 1996] Russell S y Norvig P ldquoInteligencia Artificial un enfoque modernordquoPrentice Hall Mexico 1996
[Sanchez1999] Sanchez y Beltran ldquoSistemas expertos una metodologiacutea deprogramacioacutenrdquo Macrobit
[Schedul2000] SchedulExpert ldquoCourse scheduling in post educational institutionsrdquo EdAddison Wesley 2000
[Trick 1999 ] Trick Michael ldquoNetwork resources for coloring a graphrdquo Oracle PressEd McGraw Hill 1999
[Turban 1995] Turban Efraim ldquoDecision Support and Expert Systems ManagementSupport Systemsrdquo Fourth Edition Orentice Hall NJ USA
[Waterman1986] Waterman Donald A ldquoA Guide to Expert Systemsrdquo Addison-Wesley Publishing Co USA
[Weare2000] Weare Rupert amp Burke Edmundo amp Eliman David ldquoA Questionnaireon Exam Timetabling in Universitiesrdquo Annual review of computer Science Volume 2Palo Alto 2000
[Wilke 2002] Wilke P amp Grobner M amp Oster N ldquoA hibrid Genetic Algorithm forSchool Timetablingrdquo Advances in Artificial Intelligence Springer Lecture Notes inComputer Science New York
[Yoshikawa 1994] Yoshikawa M amp Kaneko KldquoA Constraint-based Approach toHigh School Timetabling Problems A Case Studyrdquo AAAI-94 12ordm NationalConference on Artificial Intelligence
Referencias Bibliograacuteficas
Referencias electroacutenicas
httpwwwmonografiacuteascomtrabajos12inteartfinteartfshtmlObregoacuten Arturo Inteligencia artificial y Sistemas expertos IIMAS-UNAM (1992)
httpwwwlafacucomapuntesinformaticasist_conodefaulthtmCruz Ochoa Wilson Sistemas de conocimiento
httpwwwingenieroseninformaticaorgrecursostutorialessist_exphtmlZambrano Molina Darwin Sistemas expertos
httpredcientificacomdocdoc199008210001htmlSamper Marquez Juan Joseacute Introduccioacuten a los sistemas expertos Madrid 2000
httpmismonografiascomarSistemas20expertofuzzyhtmlArede Dario Sistema experto fuzzy
httpcruzrojaguayaorginteligenciainterhtmlAyuquina Martha amp Arellano Gregorio Inteligencia artificial Universidad de Guayaquil
httpdmiuibesabasolointart1-introduccionhtmlAbasolo Mariacutea Joseacute Dra Inteligencia Artificial
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
ABSTRACT
This research deals about the Timetabling NP-complete problem appliedat the Instituto Tecnologico de Zacatepec In this document theelements of three Experts System a constrains logic programmingmodule and a Genetics Algorithms module to solve the problem arepresented
Starting with a process to determine how many groups should be openthe next semester after this continue the timetabling assignation to thegroups the next process is the classroom assignation to the groups andthe final module propose a teacher for the groups all this make a setof acceptable solutions without timetabling problems where the naturalconstrains are satisfied
AGRADECIMIENTOS
Agradezco a Dios la oportunidad de vivir para ver terminado este trabajo
Agradezco a mi madre su constante iexcl Ahora una maestriacutea
Agradecimiento especial al Instituto Politeacutecnico Nacional al Centro deInvestigacioacuten en Computacioacuten y al Instituto Tecnoloacutegico de Zacatepecpor haber permitido y facilitado todo para que esta maestriacutea se impartiera
Al Dr Adolfo Guzmaacuten Arenas y al Dr Heacutector Medelliacuten Hernaacutendez porquefueron los autores intelectuales de traer el programa de maestriacutea alTecnoloacutegico de Zacatepec
Al Dr Alvaro de Albornoz Bueno porque sin el curso que impartioacute deInteligencia Artificial y Sistemas Expertos yo seguiriacutea creyendo que esimposible generar los horarios de manera automaacutetica gracias tambieacuten porsu apoyo incondicional y asesoriacutea por uacuteltimo le agradezco la lectura totalal documento final y la aplicacioacuten de las normas de la Real AcademiaEspantildeola al mismo
Al Dr Agustiacuten Gutieacuterrez Torneacutes por su apoyo y confianza en miacute
Debo dar las gracias a Olivia Saacutenchez Cadena por ese tremendo curso deprogramacioacuten visual y tambieacuten a Laura Villavicencio Goacutemez que con lafrase ldquosolo a los nintildeos se les tiene que decir que hacerrdquo me motivoacute acontinuar hasta terminar este trabajo
A mis compantildeeras y compantildeeros por los agradables momentos pasadosdurante el desarrollo de los cursos
A mis alumnos de Ingenieriacutea en Sistemas Computacionales porque con sutiacutepico sentido del humor juvenil me motivaron para cambiar deldquolicenciadordquo a ldquomcrdquo
Agradezco a la ANUIES con su programa Supera por el apoyo econoacutemicobrindado
Se agradece tambieacuten a COSNET por su apoyo dentro del proyecto deinvestigacioacuten 65504-P
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
IacuteNDICE
RESUMEN iABSTRAC iiIacuteNDICE iiiLISTA DE FIGURAS v
CAPIacuteTULO 1 INTRODUCCIOacuteN11 Antecedentes 112 Planteamiento del problema 213 Objetivo general 414 Objetivos especiacuteficos 515 Justificacioacuten 5151 Justificacioacuten teoacuterica 5152 Justificacioacuten metodoloacutegica 5153 Justificacioacuten praacutectica 616 Alcances y limitaciones 7
CAPIacuteTULO 2 MARCO TEOacuteRICO21 El estado del arte 9211 Antecedentes 9212 Algunos meacutetodos para resolver el Problema de la Generacioacuten de Horarios 92121 Algoritmos Geneacuteticos 122122 Programacioacuten Loacutegica de Restricciones 122123 Redes Neuronales 132124 Recocido Simulado 132125 Operadores Recombinatorios Especializados 132126 El Sistema Experto basado en reglas 14213 Observaciones realizadas a algunos paquetes generadores de horarios 1522 Los horarios 16221 El problema de la elaboracioacuten de horarios 1723 El proceso de la elaboracioacuten de horarios 22
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
CAPIacuteTULO 3 TEacuteCNICAS DE INTELIGENCIA ARTIFICIALUTILIZADAS PARA LA GENERACIOacuteN DE HORARIOS31 Sistemas Expertos 24311 Funcioacuten de un Sistema Experto 25312 Arquitectura de Sistemas Expertos 25313 La base de conocimiento 26314 Motor de inferencias 27315 iquestPor queacute utilizar un Sistema Experto 27316 Construccioacuten de prototipos 2832 Algoritmos geneacuteticos 29321 Antecedentes 29322 Definicioacuten de Algoritmo Geneacutetico 30323 Ventajas y desventajas 31324 iquestCoacutemo saber si es posible usar un Algoritmo Geneacutetico 31325 Paraacutemetros que deben ser especificados en el programa 3233 Programacioacuten Loacutegica de Restricciones(PLR) 34331 Antecedentes de la PLR 34332 Restricciones 35333 Sistemas con restricciones 37334 Referencia histoacuterica de las restricciones 37335 Satisfaccioacuten de las restricciones 38336 Resolucioacuten de restricciones 38337 Organizacioacuten de proyectos 38
CAPIacuteTULO 4 ANAacuteLISIS Y DISENtildeO41 Recopilacioacuten de la informacioacuten 4142 Anaacutelisis de la informacioacuten 4643 Solucioacuten definida 4844 Requerimientos del sistema 4945 Disentildeo del sistema 52451 Mapa conceptual del proyecto 52452 Mapas conceptuales de los moacutedulos 54453 Diagramas de contexto 62454 Diagramas entidad relacioacuten 674 55 Diccionario de la base de datos 73456 Lista de funciones o programas 85457 Diagrama de arquitectura (menuacutes) 87
CAPIacuteTULO 5 IMPLEMENTACIOacuteN51 Pantallas del sistema 89
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
CAPIacuteTULO 6 PRUEBAS Y RESULTADOS61 Pruebas del sistema 11462 Pruebas del sistema 115621 Prueba 1 Aacuterea de menuacutes 115622 Prueba 2 Validacioacuten de entradas 118623 Prueba 3 Desplegado de resultados 1206231 Moacutedulo generacioacuten de grupos por abrir 1206232 Moacutedulo generacioacuten de horarios 1216233 Moacutedulo asignacioacuten de aula 1226234 Moacutedulo seleccioacuten de catedraacuteticos 127
CAPIacuteTULO 7 CONCLUSIONES Y TRABAJOS FUTUROS71 Conclusiones 13172 Trabajos futuros 132
REFERENCIAS BIBLIOGRAacuteFICAS 133
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
LISTA DE FIGURAS
Figura Nombre Paacutegina
31 Arquitectura de un Sistema Experto 2632 Pseudocoacutedigo del Algoritmo Geneacutetico simple 3341 Mapa conceptual del proyecto 5242 Diagrama de secuencia 5443 Sistema Experto generador de grupos 5544 Diagrama del moacutedulo Programacioacuten Loacutegica de Restricciones 5745 Diagrama del moacutedulo Algoritmo Geneacutetico 5846 Diagrama de Sistema Experto para sugerir profesor a asignatura 6047 Diagrama de Sistema Experto para sugerir asignaturas para
catedraacutetico61
48 Diagrama de contexto del proyecto 6449 Diagrama de funciones fundamentales (entradas) 65410 Diagrama de funciones fundamentales (salidas) 66411 Diagrama entidad relacioacuten del moacutedulo administrativo 67412 Diagrama E-R del moacutedulo para determinar y ajustar nuacutemero de
grupos68
413 Diagrama E-R del moacutedulo para asignar aulas (Algoritmo Geneacutetico) 69414 Diagrama E-R del moacutedulo para asignar horario (PLR) 70415 Diagrama E-R del moacutedulo designa mejor catedraacutetico (Sistema
Experto)71
416 Diagrama E-R del moacutedulo selecciona mejor materia (SistemaExperto)
72
51 Portada inicial del proyecto 8852 Acerca del sistema 8953 Menuacute principal del proyecto 8954 Menuacute grupos por abrir 9055 Materias 9056 Consulta materias 9157 Pantalla servicios escolares 9158 Pantalla consulta servicios escolares 9259 Pantalla criterios por materia 92510 Pantalla consulta criterios por materia 93511 Pantalla carreras 93512 Pantalla criterios 94513 Pantalla consulta criterios 94514 Pantalla reglas 95515 Pantalla consulta reglas 95516 Pantalla ajustes 96
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
517 Pantalla consulta ajustes 96518 Pantalla criterios por regla 97519 Pantalla consulta criterios por regla 97520 Pantalla caacutelculo de ajustes 98521 Pantalla explicacioacuten de la inferencia 98522 Pantalla inicial del moacutedulo generacioacuten de horarios 99523 Pantalla principal del moacutedulo generacioacuten de horarios 99524 Pantalla principal del menuacute Algoritmos Geneacuteticos 100525 Pantalla de administracioacuten de grupos 100526 Pantalla de consulta de administracioacuten de grupos 101527 Pantalla del control de aulas 101528 Pantalla de consultas del control de aulas 102529 Pantalla para generacioacuten de poblacioacuten inicial 102530 Pantalla de evaluacioacuten de versiones 103531 Pantalla del proceso de seleccioacuten 103532 Pantalla del proceso de clonacioacuten 104
533 Pantalla de mutacioacuten 104534 Pantalla del proceso de cruzamiento 105535 Horarios finales 105536 Pantalla menuacute seleccioacuten de catedraacuteticos 106537 Pantalla de perfiles 106538 Pantalla de consulta perfiles 107539 Pantalla perfiles de las materias 107540 Pantalla consulta perfiles de las materias 108541 Pantalla captura datos de catedraacuteticos 108542 Pantalla consulta datos de catedraacuteticos 109543 Pantalla captura perfil de catedraacuteticos 109544 Pantalla consulta perfil de catedraacuteticos 110545 Pantalla muestra inferencia catedraacuteticos para materia 110546 Pantalla explicacioacuten del porqueacute un maestro puede dar una materia 111547 Pantalla materias que puede impartir un profesor 111548 Pantalla de explicacioacuten del porqueacute un profesor puede dar una
materia112
61 Portada inicial del proyecto 11562 Menuacute principal del proyecto 11663 Menuacute grupos por abrir 11664 Pantalla menuacute seleccioacuten de catedraacuteticos 11765 Pantalla principal del menuacute Algoritmos Geneacuteticos 11766 Pantalla de captura de datos de las Materias 11867 Pantalla de captura de datos de Criterios por Materia 11968 Pantalla de captura de datos de Carreras 11969 Pantalla caacutelculo de ajustes 120
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
610 Pantalla inicial del moacutedulo generacioacuten de horarios 121611 Pantalla principal del moacutedulo generacioacuten de horarios 122612 Pantalla del control de aulas 123613 Pantalla de consultas del control de aulas 123614 Pantalla de genera poblacioacuten inicial 124615 Pantalla de evaluacioacuten de versiones 124616 Pantalla del proceso de seleccioacuten 125617 Pantalla del proceso de clonacioacuten 125618 Pantalla de mutacioacuten 126619 Pantalla del proceso de cruzamiento 126620 Horarios finales 127621 Pantalla captura perfil de catedraacuteticos 128622 Pantalla muestra inferencia catedraacuteticos para materia 128623 Pantalla explicacioacuten porque un maestro puede dar una materia 129624 Pantalla materias que puede impartir un profesor 129625 Pantalla de explicacioacuten porque un profesor puede dar una materia 130
Capiacutetulo 1 Introduccioacuten
CAPIacuteTULO 1
INTRODUCCIOacuteN
11 Antecedentes
iquestQueacute es un horario
ldquoEl horario completo bien puede gobernar las vidas demiles de alumnos y cientos de profesores para los 200 diacuteasdel antildeo escolar semestre a semestre hora tras hora Comouna poderosa herramienta puede faacutecilmente crear o deshacersituaciones de ensentildeanza aprendizajerdquo [Johnson 1980]
En la educacioacuten superior la historia siempre es la misma la proporcioacuten de tiempodictada por el horario para los alumnos y profesores es generalmente muy baja Apesar de esto las dificultades en la creacioacuten de los horarios son grandes Existenvarios departamentos y carreras cada uno con sus propias ideas de coacutemo y cuaacutendo sedeben programar sus cursos El nuacutemero de estudiantes puede variar considerablementede antildeo en antildeo Similarmente las preferencias de los alumnos a favor o en contra delas materias pueden variar dramaacuteticamente de un semestre a otro Los estudiantespueden tomar cursos de un departamento o de varios de ellos aun maacutes puedenseleccionar materias de otras carreras La reciente desaparicioacuten de las restricciones decreacuteditos para cursar las asignaturas complica maacutes la situacioacuten porque ampliacutea el rangode materias que puede tomar un alumno Los horarios aparecen en varias formasmatutinos vespertinos mixtos y todo el diacutea Los horarios escolares indican cuando unmaestro y un alumno deben ir a cada clase Todas las escuelas tienen un horario decursos que dirige lo que cada estudiante y catedraacutetico debe hacer en determinadomomento Esta tesis versa especiacuteficamente sobre el problema de construir horariospara Institutos Tecnoloacutegicos en Meacutexico
La planeacioacuten de los horarios es un trabajo que se realiza semestralmente antes de iniciarel siguiente periodo escolar tomando en cuenta la demanda de grupos que se ofreceraacuteny asignando a estos grupos los alumnos el aula el catedraacutetico y el horariocorrespondiente mediante informacioacuten que se obtiene de varias maneras
El principal objetivo de este proyecto es dar una solucioacuten aproximada (aceptable) alproblema de la generacioacuten de horarios de una escuela de nivel superior que se resumeasiacute
Capiacutetulo 1 Introduccioacuten
ldquoDado un conjunto de departamentos y carreras asignaturas con prerrequisitos gruposcatedraacuteticos con especialidad y horario definidos aulas laboratorios y alumnos con suspreferencias de materias el problema es construir un condensado de horarios factibleque satisfaga todas las restricciones fuertes y minimice las restricciones medias ysuavesrdquo
Las restricciones fuertes son restricciones de espacio y tiempo tal como planear doscursos en un aula al mismo tiempo Las restricciones medias y suaves son laspreferencias de maestros y estudiantes que deberaacuten ser satisfechas si es posible[Elmohamed 1998]
El problema de la generacioacuten de horarios ha sido tratado por muchos investigadoresutilizando meacutetodos que van desde la investigacioacuten de operaciones hasta disciplinas de laInteligencia Artificial como son Algoritmos Geneacuteticos Recocido Simulado RedesNeuronales etc
12 Planteamiento del problema
La generacioacuten de horarios es una forma particular del problema de asignacioacuten derecursos En el caso maacutes general existe una serie de objetos (recursos) y una serie deprocesos que necesitan ser realizados por cada uno de esos objetos En un contextoeducacional cada estudiante debe asistir a un nuacutemero predeterminado de clases y elprofesor debe impartirlas durante la semana en un aula predeterminada el estudiante elprofesor y el aula pasan aquiacute a ser el objeto y las clases el proceso
La complejidad del problema de la generacioacuten de horarios
La generacioacuten de horarios es un problema de optimizacioacuten combinatorio multi-dimensional no Euclidiano con muacuteltiples restricciones y por lo tanto difiacutecil de resolver[Elmohamed 1998]
El problema de la generacioacuten de horarios esta agrupado dentro de los considerados decomplejidad NP-completos es decir que no pueden ser resueltos en tiempo polinomialusando un algoritmo determiniacutestico No se conoce un algoritmo determiniacutestico detiempo polinomial para resolver alguno de esos problemas y la mayoriacutea de la gente creeque dichos algoritmos no existen[Karp 1972]
La generacioacuten de horarios es la asignacioacuten de lapsos de tiempo a un conjunto de eventossujeto a las restricciones en esas asignaciones Seguacuten Elmohamed [Elmohamed 1998]el problema NP-completo de la elaboracioacuten de horarios es un problema para la
Capiacutetulo 1 Introduccioacuten
satisfaccioacuten de restricciones que puede ser definido de la siguiente maneraPara una escuela dada con
Np profesores con sus horarios y turnos Nq materias con su temario y objetivosNx aulas y laboratorios con su capacidad Ns estudiantes
es requerido programar Nt parejas de
alumno-materiahora-materiamaestro-materiaaula-materia
una vez definidas las parejas anteriores se deben programar elementos de la formamateria-maestro-hora -aula
En un liacutemite de Nt lapsos de tiempo para producir una programacioacuten factible En unaprogramacioacuten factible no se puede encontrar a un profesor grupo o estudiante en maacutesde un lugar al mismo tiempo y un aula no puede ser asignada con maacutes de una clase a lavez o maacutes estudiantes de su capacidad o un profesor programado fuera de su horarionormal o con maacutes horas frente a grupo de las reglamentarias ademaacutes de un conjuntoadicional de restricciones
Importancia del problema
La administracioacuten de los recursos comprende la apertura de los grupos para inscribir alos alumnos el proacuteximo semestre la asignacioacuten de carga acadeacutemica a los catedraacuteticos lautilizacioacuten de aulas y laboratorios de quiacutemica produccioacuten coacutemputo electromecaacutenicaaulas de dibujo y demaacutes instalaciones del Instituto Tecnoloacutegico de Zacatepec (ITZ)Cuando por errores imputables al creador de los horarios se hizo una mala planeacioacuten sederivan los siguientes problemasbull Alumnos que se inscriben con una carga de creacuteditos menor a la miacutenima por falta de
grupos suficientesbull Alumnos que deben estar en el ITZ desde las 700 hrs hasta las 2000 hrs varios
diacuteas a la semana por abrir grupos en horarios muy separadosbull Alumnos que pierden la secuencia de materias seriadas por falta de cupobull Alumnos que deben permanecer 1 oacute 2 semestres maacutes en el ITZ por no prever
suficientes grupos para semestres terminalesbull Catedraacuteticos que no imparten el miacutenimo reglamentario de horas frente a grupo por
no crearles grupos suficientesbull Catedraacuteticos a los que se les avisa 1 diacutea antes del inicio de clases que impartiraacuten una
Capiacutetulo 1 Introduccioacuten
asignatura nuevabull Asignaturas que son impartidas por profesores que no cumplen el perfil deseado en
esa asignaturabull Choque de grupos en las aulasbull Choque de grupos en laboratoriosbull Falta de laboratorio a algunos gruposbull Deficiente utilizacioacuten de las aulas
La creacioacuten de un sistema que evite de manera automaacutetica caer en errores como losmencionados NO ES TAREA TRIVIAL intentar resolver este problema involucra laelaboracioacuten de un ldquosistema inteligenterdquo capaz de tomar decisiones aprender inferirbasaacutendose en hechos generar nueva informacioacuten y a partir de ella nuevamente volver adecidir El sistema que se elabore debe tener la capacidad para deducir e inducir de unamanera combinada
Desventajas del sistema actual
La mayoriacutea de los problemas anteriores son ocasionados por alguno o varios de lossiguientes motivosbull Todo el proceso de caacutelculo y administracioacuten de los recursos es manualbull El proceso de elaboracioacuten coincide con el cierre de semestre actual y como las
personas responsables tambieacuten son catedraacuteticos deben combinar la generacioacuten dehorarios con las evaluaciones finales revisioacuten de proyectos y entrega decalificaciones de sus grupos a los alumnos
bull La elaboracioacuten de los horarios es un proceso que se lleva semanas de labor diariabull Requiere la atencioacuten total de los coordinadores durante todo el tiempo de
elaboracioacutenbull Al no tener la informacioacuten automatizada se tienen peacuterdidas de tiempo en la toma de
decisiones como por ejemplo en el preacutestamo de aulas no utilizadas o en la forma decompartir catedraacuteticos
bull Se tienen fuertes restricciones debido a los horarios de los catedraacuteticosbull Hay fuertes dificultades cuando se deben negociar cambios de horarios porque el
proceso implica mover asignaturas buscar aulas dejar paquetes de materias porsemestre etc
bull El estado de aacutenimo del coordinador influye en la elaboracioacuten de los horarios
13 Objetivo general
Generacioacuten de una solucioacuten aproximada del condensado de horarios para una escuela denivel superior que satisfaga las restricciones ocasionadas por los recursos involucradosmediante la elaboracioacuten de un sistema hiacutebrido (experto geneacutetico y loacutegico restrictivo)
Capiacutetulo 1 Introduccioacuten
14 Objetivos especiacuteficos
Se tiene el disentildeo e implementacioacuten de un sistema que
bull Proporciona una solucioacuten aproximada aceptable al problema de la generacioacuten dehorarios
bull Permite a los coordinadores delegar a la computadora la asignacioacuten de recursosbull Ahorra tiempo en la generacioacuten de los horariosbull Reduce el trabajo manualbull Agiliza la toma de decisionesbull Reduce el tiempo de elaboracioacuten de horariosbull Facilita la modificacioacuten de informacioacuten generadabull Aumenta la eficiencia en las negociaciones entre jefes y coordinadoresbull Lleva al Instituto Tecnoloacutegico de Zacatepec (ITZ) a la modernizacioacuten en este
proceso
15 Justificacioacuten del sistema
151 Justificacioacuten teoacuterica
La utilizacioacuten de la Inteligencia Artificial (IA) para la solucioacuten de problemas de la vidacotidiana ha sido una estrategia utilizada cuando los sistemas tradicionales decomputacioacuten no proveen mecanismos suficientes para garantizar una solucioacuten adecuadasu utilizacioacuten para la generacioacuten de horarios (creacioacuten de grupos asignacioacuten de horaasignacioacuten de aula determinacioacuten de catedraacutetico) presenta una alternativa ideal paracomprobarlo
152 Justificacioacuten metodoloacutegica
La utilizacioacuten de un grupo de Sistemas Expertos que realice la asignacioacuten de losrecursos para la generacioacuten de grupos y le proponga una materia determinada a unprofesor seguacuten el perfil acadeacutemico de ambos reuacutene las caracteriacutesticas necesarias paradar la solucioacuten elegante y efectiva al problema planteado anteriormente porque
bull Se requiere del conocimiento de un experto para plantear el funcionamiento delsistema
bull El conocimiento se alimentaraacute a una base de conocimientos que conste de variaspartes
bull Para la generacioacuten de grupos de una asignatura dada el sistema debe ldquorazonarrdquo paradeterminar cuantos de eacutestos se deben abrir para ofertarlos a los alumnos
Capiacutetulo 1 Introduccioacuten
bull En la asignacioacuten de nuevas materias a los catedraacuteticos el sistema debe ldquodeterminarrdquoquieacuten es el maacutes idoacuteneo para impartirla de acuerdo al perfil de ambos materia ymaestro
La Programacioacuten Loacutegica de Restricciones (PLR) es una de las teacutecnicas que maneja demanera natural informacioacuten sometida a ciertas restricciones y fue seleccionada paraseguir trabajando en la resolucioacuten del problema porque
bull Los horarios deben satisfacer ciertas restricciones como por ejemplo no se debengenerar mas grupos de los necesarios no puede haber dos materias con el mismogrupo no deben existir grupos del mismo paquete a la misma hora etc
bull Cada paquete de un semestre es un objeto que por siacute mismo posee ciertascualidades y restricciones por ejemplo no debe tener horas sin asignatura entre lahora inicial y final existen materias que se deben impartir de una hora diaria otrasdeben ser impartidas de 2 horas diarias etc
bull La solucioacuten presentada por la PLR inicia con datos aleatorios de un horario despueacutesse verifica si las restricciones se cumplen o no si se cumplen se guarda el dato si nose genera un nuevo dato aleatorio
Los Algoritmos Geneacuteticos utilizados aquiacute para asignar aula a los grupos cumplen con lametodologiacutea de la Computacioacuten Evolutiva porque
bull Se tienen datos iniciales de los grupos (materia-hora)bull Se genera una poblacioacuten inicial que son n versiones de un condensado de horarios
sin aulabull Esta poblacioacuten inicial es evaluada se seleccionan los condensados maacutes adecuados y
se eliminan las versiones menos adecuadasbull Se realizan cruzamientos mutaciones clonaciones y se crea la nueva generacioacuten de
horariosbull Se repite el proceso hasta llegar a una utilizacioacuten eficiente de las aulas
Por lo anterior se pueden observar las ventajas de utilizar un sistema inteligente sobreuno convencional para solucionar el problema planteado
Una vez definido el modelo para solucionar el problema de la asignacioacuten de horariospara las asignaturas aulas y catedraacuteticos de una institucioacuten de educacioacuten superior seraacutefaacutecil extrapolarlo para solucionar algunos problemas referentes a la planeacioacuten dehorarios de otro tipo de escuelas de nivel medio superior
153 Justificacioacuten praacutectica
La creacioacuten de un sistema que resuelva el problema de la elaboracioacuten de horarios ygenere automaacuteticamente la programacioacuten de grupos aulas y maestros sin violar las
Capiacutetulo 1 Introduccioacuten
restricciones fuertes minimizando las restricciones medias y suaves optimizando lautilizacioacuten de las aulas cumpliendo con las restricciones de los profesores asignandoprofesores adecuados para impartir las clases traeraacute como consecuencia condicionespara mejorar el proceso de ensentildeanza aprendizaje
16 Alcances y limitaciones
Alcances
El sistema generaraacute un espacio de soluciones finito que satisfaga las restriccionesfuertes medias y suaves optimizando el uso de los recursos disponibles se puede decirque el sistema optimizaraacute los recursos cuando los horarios generados tengan lascaracteriacutesticas mencionadas maacutes adelante
Esta tesis documenta la creacioacuten de un sistema basado en el conocimiento parasolucionar el problema de la generacioacuten de horarios en el Instituto Tecnoloacutegico deZacatepec que permite
bull Generar grupos suficientes para que todos los estudiantes se inscriban al menos conla carga miacutenima reglamentaria
bull Que los alumnos tengan horarios adecuados a sus necesidades y preferenciasbull Que todos los grupos tengan capacidad suficiente para todos los estudiantes que
deseen inscribirsebull Que los profesores impartan materias de acuerdo a su perfil profesionalbull Evitar los choques de grupos en aulas y laboratoriosbull Que todos los grupos tengan aula asignada desde el inicio del semestrebull La utilizacioacuten oacuteptima de las aulas y laboratoriosbull La correcta asignacioacuten de aulas y laboratorios a los cursosbull Realizar de manera automaacutetica la asignacioacuten de los recursosbull Determinar el nuacutemero de grupos que se deben abrirbull Llenar las aulas con grupos sin permitir choque de horariosbull Imprimir la lista de grupos ofertados para el semestre siguientebull Cuando exista el grupo de una materia sin maestro determinar cual es el mejor para
impartirla
Tener un Sistema terminado que contenga los siguientes moacutedulos
Sistema administrativo para control de horarios Sistema Experto para determinar la cantidad de grupos por abrir Sistema Experto para sugerir materias a un catedraacutetico Sistema Experto para seleccionar los mejores catedraacuteticos para impartir una
asignatura
Capiacutetulo 1 Introduccioacuten
Moacutedulo de Programacioacuten Loacutegica de Restricciones para generar los horarios a lospaquetes de materias por semestre
Moacutedulo de Algoritmo Geneacutetico para asignar aula a los grupos
Cada moacutedulo tendraacute
bull Interfaces de usuario amigablesbull Tiempos de ejecucioacuten raacutepidos (independientemente de la maacutequina objetivo)bull Reglas de inferencia para generar resultados (soacutelo los Sistemas Expertos)bull Buacutesquedas heuriacutesticas o aleatorias seguacuten el casobull Procesos para realizar induccioacuten y deduccioacuten (soacutelo los Sistemas Expertos)bull Manejo de incertidumbre (soacutelo los Sistemas Expertos)bull Un moacutedulo de explicaciones en lenguaje natural
Limitaciones
El sistema estaacute disentildeado para generar horarios de una escuela de nivel superior donde elcoordinador de cada carrera es el responsable de la generacioacuten de sus horarios controlarsus profesores impartir cierto nuacutemero de materias y utilizar cierta cantidad de aulas ylaboratorios
Trabaja exclusivamente en lenguaje espantildeol
Las reglas de la base de conocimiento tienen un formato predeterminado por unasintaxis definida para el sistema
El sistema estaacute elaborado para trabajar en microcomputadoras compatibles con IBM
No maneja los horarios individuales de los alumnos en el proceso de inscripcioacuten estaactividad deberaacute ser realizada por los sistemas del departamento de servicios escolares
Capiacutetulo 2 Marco teoacuterico
CAPIacuteTULO 2
MARCO TEOacuteRICO
21 El estado del arte
211 Antecedentes
El problema de la generacioacuten de horarios ha sido atacado de varias maneras a nivelmundial inclusive existe un grupo internacional que convoca al congreso llamadoPATATxx (Practice and Theory of Automated Timetabling) donde xx es el antildeo delcongreso en cuestioacuten
La ASAP (Automated scheduling optimization and planing group) es otro organismocuyo fin principal es conducir investigacioacuten en modelos heuriacutesticas y algoritmos para laproduccioacuten automaacutetica de soluciones de alta calidad a una gran variedad de problemasde planeacioacuten y optimizacioacuten del mundo real incluyendo elaboracioacuten de horarioslogiacutestica asignacioacuten de espacio y mantenimiento de inventarios
212 Algunos meacutetodos para resolver el Problema de laGeneracioacuten de Horarios
La generacioacuten de horarios acadeacutemicos ha sido acometida por muchos investigadoresbaacutesicamente dentro del aacuterea de la Investigacioacuten de Operaciones
2121 Investigacioacuten de Operaciones
El algoritmo para resolver problemas de asignacioacuten se denomina Huacutengaro ya que fuerondos matemaacuteticos Huacutengaros Koumlnig (1916) y Egervary (1931) los que aportaron lasteoriacuteas que sirven de base a este meacutetodo [Daellenbach 1987]
Este problema se presenta en diversos casos de toma de decisiones Los problemastiacutepicos de asignacioacuten implican asignar tareas a maacutequinas trabajadores a tareas yproyectos personal de ventas a territorios de ventas contratos a licitaciones horarios deaulas disponibles a horarios de maestros disponibles enfermos a camas disponibles delhospital cierto nuacutemero de empleados a cierta cantidad de puestos en una empresaaviones a destinos aeacutereos entre otros
Capiacutetulo 2 Marco teoacuterico
Una caracteriacutestica importante de los problemas de asignacioacuten es que se asigna untrabajador una tarea a una sola maacutequina proyectoEn particular se busca elconjunto de asignaciones que optimice el objetivo planteado tal como minimizar costosminimizar tiempo o maximizar utilidad
La formulacioacuten del problema general de asignacioacuten es
Sujeta a
Corresponde a un caso especial del problema del transporte en el cual las variables Xijsoacutelo pueden tomar el valor 0 oacute 1 tomar el valor 1 si el origen i se hace corresponder aldestino j y 0 en caso contrario
El Algoritmo Huacutengaro
Este algoritmo se usa para resolver problemas de minimizacioacuten ya que es maacutes eficazque el empleado para resolver el problema del transporte por el alto grado dedegeneracioacuten que pueden presentar los problemas de asignacioacuten Las fases para laaplicacioacuten del meacutetodo Huacutengaro son
Capiacutetulo 2 Marco teoacuterico
Paso 1 Encontrar primero el elemento maacutes pequentildeo en cada fila de la matriz de costosmm se debe construir una nueva matriz al restar de cada costo el costo miacutenimo de cadafila encontrar para esta nueva matriz el costo miacutenimo en cada columna A continuacioacutense debe construir una nueva matriz (denominada matriz de costos reducidos) al restar decada costo el costo miacutenimo de su columna
Paso 2 (En algunos pocos textos este paso se atribuye a Flood) Consiste en trazar elnuacutemero miacutenimo de liacuteneas (horizontales o verticales o ambas uacutenicamente de esasmaneras) que se requieren para cubrir todos los ceros en la matriz de costos reducidos sise necesitan m liacuteneas para cubrir todos los ceros se tiene una solucioacuten oacuteptima entre losceros cubiertos de la matriz Si se requieren menos de m liacuteneas para cubrir todos losceros se debe continuar con el paso 3 El nuacutemero de liacuteneas para cubrir los ceros es iguala la cantidad de asignaciones que hasta ese momento se pueden realizar
Paso 3 Encontrar el menor elemento diferente de cero (llamado k) en la matriz decostos reducidos que no estaacute cubierto por las liacuteneas dibujadas en el paso 2 acontinuacioacuten se debe restar k de cada elemento no cubierto de la matriz de costosreducidos y sumar k a cada elemento de la matriz de costos reducidos cubierto por dosliacuteneas (intersecciones) Por uacuteltimo se debe regresar al paso 2
Notas
1 Para resolver un problema de asignacioacuten en el cual la meta es maximizar la funcioacutenobjetivo se debe multiplicar la matriz de ganancias por menos uno (-1) y resolver elproblema como uno de minimizacioacuten
2 Si el nuacutemero de filas y de columnas en la matriz de costos son diferentes el problemade asignacioacuten estaacute desbalanceado El meacutetodo Huacutengaro puede proporcionar una solucioacutenincorrecta si el problema no estaacute balanceado debido a lo anterior se debe balancearprimero cualquier problema de asignacioacuten (antildeadiendo filas o columnas ficticias) antes deresolverlo mediante el meacutetodo Huacutengaro
3 En un problema grande puede resultar difiacutecil obtener el miacutenimo nuacutemero de filasnecesarias para cubrir todos los ceros en la matriz de costos actual Se puede demostrarque si se necesitan j liacuteneas para cubrir todos los ceros entonces se pueden asignarsolamente j trabajos a un costo cero en la matriz actual esto explica porqueacute terminacuando se necesitan m liacuteneas
Capiacutetulo 2 Marco teoacuterico
Tambieacuten han aparecido meacutetodos no convencionales que atacan el problema desdediferentes aacutengulos Los maacutes usuales son
Algoritmos Geneacuteticos Redes Neuronales Recocido Simulado Buacutesquedas Tabuacute Sistemas Expertos Programacioacuten Loacutegica de Restricciones Grafos Coloreados Operadores Recombinatorios Especializados
2122 Algoritmos Geneacuteticos
Los Algoritmos Geneacuteticos han sido utilizados satisfactoriamente para planear exaacutemenesy cursos en cierto nuacutemero de casos [Corne 1993] utiliza una buena aproximacioacutentradicional donde cada gene representa la hora en la cual se presentaraacute un examen ocurso Con operadores de cruzamiento y mutacioacuten como los mencionadosanteriormente agrega sustanciosos ahorros de tiempo al meacutetodo de Corne [Paechter1994] da una aproximacioacuten diferente donde el gene de cada examen no solo especificaldquoel cuandordquo sino que tambieacuten busca un nuevo horario del examen si despueacutes delcruzamiento el curso esta causando un conflicto Si el examen no puede ser programadoen alguna hora entonces no se agrega a la planeacioacuten con la finalidad de no tenerhorarios infactibles
[Burke1994] incorpora dominios de conocimiento especiacutefico para asegurar que ningunade las soluciones candidato es no factible En particular una representacioacuten directa seutilizada que incluye no soacutelo el cuaacutendo sino tambieacuten el doacutende un curso o examendeberaacuten ser tomados permitiendo al programador de horarios detener la ejecucioacuten delalgoritmo en cualquier punto y tener ya una serie de soluciones de buenos horariosfactibles
2123 Programacioacuten Loacutegica de Restricciones
Varios autores han presentado teacutecnicas de Programacioacuten Loacutegica de Restricciones pararesolver problemas de asignacioacuten de horarios pero eacuteste sigue siendo un nuevo enfoqueTambieacuten han aparecido algunos usando PLR para la planeacioacuten de clase-maestro[Yoshikawa 1994]
Kang y White presentaron una buena aproximacioacuten estaacutendar de PLR programandocursos sin permitir ningun conflicto [Kang y White 1994] Ellos usaron una teacutecnica dereversa equivalente al backtracking con lo cual cuando un curso no puede ser
Capiacutetulo 2 Marco teoacuterico
asignado uno similar es desasignado y el nuevo es colocado en su lugar Esto previeneuna buacutesqueda exhaustiva completa Esto tambieacuten introduce el concepto de undelimitador de tamantildeo que establece un maacuteximo en el tamantildeo del aula que puede usarun curso en particular Las restricciones son priorizadas en cinco diferentes categoriacuteasdonde la categoriacutea cinco debe ser liberada antes que la categoriacutea cuatro y asiacute con lasdemaacutes Este procedimiento fue utilizado para programar exitosamente los cursos de laUniversidad de Otawa
Tambieacuten se ha utilizado la teacutecnica de la Programacioacuten Loacutegica de Restricciones parahacer los horarios de una facultad utilizando una regla heuriacutestica para seleccionar quecurso asignar primero [Fahrion y Dollanski 1992]
2124 Redes Neuronales
De las distintas categoriacuteas de las Redes Neuronales Artificiales la maacutes apropiada pararesolver el problema es la familia de las Redes Neuronales de reaccioacuten basadas enneuronas multiestado con ecuaciones de teoriacutea de campos con significado controlandolas dinaacutemicas Las ecuaciones anteriores son usadas en lugar de los procedimientospara actualizacioacuten de demanda estocaacutesticos que han sido usados por otros esquemas paraevitar quedar atorados en circuitos locales miacutenimos [Carrasco 2004]
2125 Recocido Simulado
Recocido Simulado se refiere al uso de una teacutecnica de optimizacioacuten combinatoria odiscreta Divide el problema en grupos del mismo tiempo de clase los cuales sonespecificados por cada departamento acadeacutemico basados en la habilidad de losinstructores Funciona asiacute
1 El proceso asigna aulas procesando un grupo a la vez empezando con el primero2 El proceso continuacutea hasta que todos los grupos son procesados3 Cuando una solucioacuten es obtenida dividiendo el problema en conjuntos de horario
una mutacioacuten especial es generada con grupos traslapados Esto podriacutea generar unamala asignacioacuten de aula para minimizar esto se utiliza el siguiente paso
4 Los grupos son procesados basados en el nuacutemero de aulas este nuacutemero de aulas esoptimizado y se termina con las horas de clase con el miacutenimo de paquetes a esa hora
5 La implementacioacuten del programa genera una base de datos con la nueva asignacioacutende salones para el proacuteximo semestre [Abramson 1991]
2126 Operadores Recombinatorios Especializados
Los operadores de cruzamiento de los Algoritmos Geneacuteticos producen buenas
Capiacutetulo 2 Marco teoacuterico
combinaciones de genes para ser pasados entre los diferentes miembros de unapoblacioacuten En los Algoritmos Geneacuteticos estaacutendar es un procedimiento similar a escogerlos primeros n genes del primer padre y los uacuteltimos del segundo padre esteprocedimiento no es uacutetil en situaciones donde existen fuertes restricciones sobre laforma de los miembros de la poblacioacuten aquiacute un operador violaraacute esos requerimientosEl operador de recombinacioacuten heuriacutestico hiacutebrido trabaja asiacute
1 Los grupos no programados del periodo anterior son pasados al algoritmo2 Primero selecciona aquellos grupos programados en el periodo i en los padres 1 y 23 Los grupos extra son seleccionados de aquellos programados en el periodo i ya sea
del padre 1 o del padre 2 o de los dejados del periodo i ndash 14 Cualquiera de los grupos no programados es pasado al periodo i+15 Soacutelo los grupos que no crean conflicto con aquellos ya programados para este
periodo pueden ser seleccionados [Wilke 2002]
2127 El Sistema Experto Basado en Reglas
Los Sistemas Basados en Reglas proporcionan un buen punto de referencia para saberque tan buenos son otros meacutetodos en comparacioacuten a esta teacutecnica estaacutendar Varias deestas reglas son usadas para proporcionar sensibles elecciones para los movimientos enel algoritmo de Recocido Simulado en lugar de seleccionar cambios de manera aleatoriase ha usado este sistema como un preprocesador para generar una buena aproximacioacuteninicial y darla al Recocido Simulado
El Sistema Experto Basado en Reglas consiste en un nuacutemero de reglas (o heuriacutesticas) yrecursioacuten convencional para ayudar en la generacioacuten de asignacioacuten de clases Lasestructuras de datos o componentes del sistema son
bull Una matriz de distancias entre los departamentos acadeacutemicos y los edificios queseraacuten utilizados
bull Estructura de los datos de las materias para cada grupo programado en el campobull Estructura para las aulas (independientemente del tipo de aula) involucradas en el
procesobull Horarios para cada periodo de tiempo guardando cuales estaacuten disponibles y
cuales ya fueron ocupadasbull La estructura de los departamentosbull Las preferencias de los estudiantes indicando las clases requeridas
independientemente del semestre que sean las materias [Gervaacutes 1999]
Capiacutetulo 2 Marco teoacuterico
213 Observaciones realizadas a algunos paquetes generadores de horarios
Nombre DeMIStDescripcioacuten Puede describirse como un paquete que realiza bien las operaciones decasa (la propia universidad que lo creoacute) pero salioacute tan costoso como si hubierancomprado un paquete [Demist 2000]Proveedor DeMISt University
KnowTISEs un proyecto iniciado por la universidad de Leeds En la literatura aparece como unpaquete que es mejor para la generacioacuten de Grandes Horarios para una universidad quepara un departamento Utiliza el beneficio de gran cantidad de informacioacutencentralizada para la optimizacioacuten de recursos [Schedul 2000]Leeds University
STARSSTARS(Space Time and Resources Management) Igual que el anterior corre mejor enla elaboracioacuten de horarios de buen tamantildeo que en una aplicacioacuten departamentalDe Montfort University
Meeting maker Office TalkEs un generador de clases y acciones diarias es bueno cuando no es uacutetil el horario delos alumnos ya que proporciona uacutenicamente los espacios para las clases [Gervaacutes 1999]Varios proveedores
GP-UNTISEs un paquete australiano que funciona perfectamente para los requerimientos de lasescuelas secundariasTimetabling Services UK
Syllabus PlusEs una buena opcioacuten para uso departamental cumple los requerimientos de unauniversidad para la generacioacuten de horarios no trabaja a nivel de estudiantes pero si lohace con grupos de ellos no es factible para la generacioacuten de Grandes HorariosScientia LTD
Facility TimetablerEs una buena opcioacuten para uso departamental y para Grandes Horarios tiene interfaz conlos sistemas de alumnos y permite la creacioacuten de horarios individuales permite el uso
Capiacutetulo 2 Marco teoacuterico
centralizado de las aulas para una buena optimizacioacutenFacility Systems
Mimosa for WindowsEs un software general de planificacioacuten de la ensentildeanza y de programacioacuten de horariosLa aplicacioacuten utiliza todas las propiedades de Windows eficientemente es raacutepida tienegran capacidad y lo mas importante es tan flexible que puede aplicarse en todo el tipode escuelas desde la escuela primaria a las universidades desde las escuelasvocacionales a las academias militares
Se podriacutea decir que este producto cubririacutea todas las necesidades de la institucioacuten perohan existido algunos inconvenientes ya que no cubre con las necesidades deldepartamento tan solo da ayuda al usuario para que pueda generar sus horarios ademaacutesel tener tantos botones en pantalla (200) podriacutean confundir al usuario y realizar horarioserroacuteneos y no se resolveriacutea el problema [Nielsoft 2000]Mimosa Software Oy Finlandia
GestHor BSPEs un producto informaacutetico para resolver problemas de horarios escolares en escuelasbaacutesicas escuelas secundarias y escuelas profesionales
Toacutemese en cuenta que la mayoriacutea de los sistemas mencionados se enfoca solo a laasignacioacuten aula ndash materia y no abarca lo que es asignacioacuten materia ndash profesor
22 Los horarios
Existe mucha literatura referente a los horarios con una gran variedad de subtiacutetulos ydiferentes problemas Una gran variedad de algoritmos han sido propuestos empleandometodologiacuteas y heuriacutesticas de buacutesqueda produciendo horarios completos o soacuteloayudando durante el proceso Una de las grandes preguntas para la elaboracioacuten dehorarios es que si eacutestos pueden ser generales es decir iquestse puede encontrar un algoritmoo meacutetodo suficientemente general que produzca buenos horarios para todos losproblemas y para todas las restricciones La alternativa desde luego es continuardesarrollando algoritmos especializados aislados cada vez que un problema de horariosaparece
Al trabajar con una solucioacuten para el problema de los horarios se deben contestar lassiguientes preguntas iquestTodas las escuelas de nivel superior elaboran los horarios de lamisma manera iquestSon grandes o pequentildeas las diferencias en la forma de elaborar loshorarios iquestQueacute tan necesaria es la ayuda de la computadora iquestSoacutelo se requiere unpaquete general para la elaboracioacuten de los horarios iquestQueacute funcionalidad debe tener
Capiacutetulo 2 Marco teoacuterico
dicho paquete iquestQueacute tan grande y complejo es el problema de elaboracioacuten de horariosiquestQueacute propiedades debe poseer un horario aceptable para que una institucioacuten lo use
Se han realizado algunas encuestas para conocer si las escuelas de nivel superior tienensistemas computarizados para la elaboracioacuten de horarios si no los tienen si lonecesitaban y queacute caracteriacutesticas deberiacutea poseer El estudio concluyoacute que existe una grandemanda para tal sistema que se requiere un alto grado de asistencia automatizada yque la mayoriacutea de los elaboradores de horarios no estaban muy contentos con sussistemas actuales [Comm y Mathaisel 1988]
[Dowsland y Lim 1982] consideraron el problema de la elaboracioacuten de horarios peroproporcionaron alternativas en la encuesta de la utilidad de sistemas automatizados[Junginger 1986] establece que ldquoAunque los horarios producidos requierenmodificacioacuten las escuelas estaacuten contentas con los resultados El tiempo ahorrado fueconsiderable arriba del 75rdquo Dowsland por otro lado concluye que ldquoEs muy difiacuteciljuzgar el eacutexito actual de los paquetes para la elaboracioacuten de horarios pero el uso muylimitado de ellos sugiere que sus ventajas son limitadasrdquo Claramente ninguacuten disentildeadorde sistemas puede garantizar la idea de que su producto seraacute bienvenido con los brazosabiertos
[Pendlebury 1986] encuestoacute a las universidades politeacutecnicas britaacutenicas con respecto ala elaboracioacuten de horarios de cursos Doce de las treinta que contestaron la encuestautilizan elaboracioacuten de horarios por computadora (siete a gran escala y cuatro lo hacenen pequentildea escala) Es interesante notar que Pendlebury encontroacute que la mayoriacutea de loscursos se basan en clases que son muy independientes unas de otras y en la mayoriacutea delas instituciones encuestadas los departamentos individuales son responsables deproducir sus propios horarios
221 El problema de la elaboracioacuten de horarios
La elaboracioacuten de horarios es el acto de programar cursos a periacuteodos de tiempo asignarun aula a esos cursos y asignar un catedraacutetico a dicho curso
A menudo se hacen afirmaciones acerca de la naturaleza del problema que puedenpermitir encontrar una solucioacuten maacutes eficientemente Sin embargo cuando se trata deconstruir un sistema general se estaacute limitado a que las afirmaciones son el miacutenimocomuacuten denominador de todos los posibles escenarios
Una informacioacuten impliacutecita que ha sido hecha a menudo es la independencia entreunidades acadeacutemicas separadas Algunas universidades programan preguntando a susdepartamentos los horarios de sus propios cursos Una unioacuten central de dichos horarioses entonces utilizada para asegurar que todas las restricciones relevantes son cumplidasEn muchos casos esta es la forma normal en que es producido el horario de los cursos
Capiacutetulo 2 Marco teoacuterico
aunque algunos departamentos desarrollan su propio software para la programacioacuten decursos
En varias universidades los alumnos pueden tomar algunos de sus cursos endepartamentos diferentes al suyo Obviamente la independencia no debe ser asumidageneralmente debido a que puede haber diferencia en la programacioacuten de los cursos decada departamento En el Tecnoloacutegico de Zacatepec por ejemplo la probabilidadpromedio de que un curso tenga conflicto con uno de otro departamento es 1650mientras que la probabilidad de que dos cursos del mismo departamento tengan conflictoes 2250 notaacutendose una gran diferencia en el resultado
Dificultades encontradas por los responsables de la generacioacuten de horarios
Algunas dificultades experimentadas por los departamentos y facultades sonmencionadas aquiacute
bull Los programas acadeacutemicos se hacen cada vez maacutes flexibles (los estudiantesseleccionan queacute asignaturas tomar cuaacutendo doacutende y con quieacuten)
bull Algunos departamentos tienen asignaturas para ofrecer pero no tienen muchosalumnos
bull Los espacios para ofrecer las materias son cada vez menos y el problema se agravacuando los alumnos no quieren asistir en las tardes o los saacutebados
bull El staff de profesores no siempre estaacute disponible para impartir clases por muacuteltiplesrazones
bull Los alumnos pueden solicitar los grupos del proacuteximo semestre desde antes de queinicie pero al llegar el momento de inscribirse no lo hacen
bull Los departamentos estaacuten ansiosos por ofrecer una gran variedad de grupos teniendolos recursos pero esto puede ocasionar problemas
bull Existe una gran variedad de reglas al momento de asignar las aulas (pertenencia alas carreras prioridades de profesores etc)
bull Como no hay un costo asociado a la utilizacioacuten de un aula y no hay sanciones porreservarla y no utilizarla los departamentos acadeacutemicos no tienen un buen motivopara hacer una correcta utilizacioacuten del espacio
bull La falta de recursos ocasiona el mayor de los problemas porque obliga a laoptimizacioacuten en la planeacioacuten
Cursos y estudiantes
El problema de la elaboracioacuten de horarios estaacute relacionado esencialmente con el nuacutemerode eventos que requieren ser programados en este caso los cursos para los estudiantesClaramente el tamantildeo del problema variacutea entre los diferentes centros de estudio desdepequentildeos problemas con alrededor de 50 a 100 cursos hasta los 500 o 1000 cursos que
Capiacutetulo 2 Marco teoacuterico
programar Esta variacioacuten en el tamantildeo afectaraacute el tiempo requerido para resolver elproblema Un problema pequentildeo puede ser resuelto casi de manera oacuteptima mientrasque en uno grande se deben usar buacutesquedas heuriacutesticas u otras formas de acotar elespacio de buacutesqueda de una solucioacuten en un periodo de tiempo razonable
Se debe esperar que el nuacutemero de cursos y el nuacutemero de alumnos esteacuten correlacionadosEl nuacutemero de cursos ofrecidos y desde luego programados debe ser calculado porextrapolacioacuten del promedio de 5 o 6 cursos por alumno y con cupo promedio de 30alumnos por curso obviamente algunos alumnos se inscribiraacuten en 7 u 8 cursos porsemestre mientras que los cursos tendraacuten inscritos entre 20 y 40 alumnos Losalumnos dependiendo del semestre en que se encuentran inscritos deben matricularse aciertos cursos especiacuteficos para ese semestre dichos cursos deben programarse de maneraque los alumnos tengan la menor cantidad de tiempo entre el primer y el uacuteltimo cursodel diacutea permitieacutendoles con esto realizar actividades complementarias
En el Tecnoloacutegico de Zacatepec para una carrera con 900 alumnos se requieren ofertaraproximadamente entre 140 y 160 cursos ademaacutes los estudiantes pueden matricularse encursos ofrecidos por otros departamentos (esto ampliacutea el rango de posibilidades para losalumnos)
Los cursos y los departamentos
El promedio de los cursos ofrecidos por cada departamento variacutea considerablementeentre las diferentes escuelas de nivel superior La razoacuten de esta variabilidad puede servista como un indicador de la naturaleza de la complejidad de la planeacioacuten de horarios
Cada departamento ofrece cursos a los estudiantes de las carreras a las que da soportedirecto pero ademaacutes debe ofrecer cursos para todas las otras carreras de la institucioacutenque lo requieran esto es si un departamento X solicita la apertura de determinadonuacutemero de cursos a un departamento Y el departamento Y debe ofertar los cursossolicitados por X para los alumnos matriculados en el departamento X aunado a estoalgunos cursos ofertados por el departamento Y tienen compatibilidad con cursosofrecidos por X y por lo tanto los estudiantes de Y y X pueden ingresar indistintamenteen cualquiera de los cursos
Los cursos los semestres y las horas
Una de las afirmaciones que se pueden hacer en las instituciones de nivel superior es quelos cursos generalmente inician durante cierto periodo de tiempo y pueden tenerduracioacuten semestral (la gran mayoriacutea) trimestral y sin fechas predeterminadas (algunosposgrados por ejemplo) En general los cursos empiezan a las 700 AM y terminandependiendo del lugar a las 2000 o a las 2100 horas de lunes a saacutebado Aunque estopermite tener un amplio margen de horas para programar los cursos esto hace tambieacuten
Capiacutetulo 2 Marco teoacuterico
aun maacutes difiacutecil la elaboracioacuten de los horarios porque aumenta el rango de posiblescombinaciones donde programar cursos
Los cursos se pueden programar en periodos de tiempo muy variados aunque la mayoriacuteade los programadores de horarios siguen los siguientes patrones
bull Curso diario de 1 horabull Curso de dos horas en diacuteas saltados (lunes y mieacutercoles jueves y viernes
mieacutercoles y viernes)bull Curso de dos horas diarias 3 diacuteas por semana (lunes mieacutercoles y viernes)
(lunes martes y jueves) o (martes jueves y viernes)bull Cursos de cuatro horas en un solo diacutea por semanabull En el peor de los casos se programan cursos con la combinacioacuten de algunos
de los anteriores
Dependiendo del curso algunos tienen duracioacuten de cuatro horas teoacutericas semanales otroscombinan cuatro horas de teoriacutea y dos de praacutectica y algunos excepcionalmente sonprogramados con cuatro horas de praacutectica y dos de teoriacutea Las horas de praacutecticageneralmente se realizan en laboratorios o praacutecticas de campo agregando esto un nuevoparaacutemetro para la complejidad de la elaboracioacuten de horarios
Los cursos y las aulas
Las aulas son el espacio fiacutesico donde se impartiraacuten los cursos pueden ser salones declase laboratorios salones de exposicioacuten aulas para aplicacioacuten de exaacutemenes aulas paraactividades deportivas musicales o recreativas cada aula tiene capacidad para quecierto nuacutemero definido de estudiantes reciba sin problema unidades de ensentildeanzaaprendizaje
En una encuesta realizada por la Universidad de Nottingham [Burke y Elliman 1998] sedefinioacute que la programacioacuten de los cursos en las aulas es uno de los mayores problemasa los que se enfrentan los responsables de la elaboracioacuten de horarios Esto proviene dedos problemas mayores El primer problema es la escasez de aulas disponibles ya queen algunas de las escuelas de nivel superior el crecimiento de la poblacioacuten estudiantil hasido mayor que el crecimiento del nuacutemero de aulas disponibles para la ensentildeanza Elsegundo problema ocurre cuando se programa un curso en mas de un aula o saloacuten declase
La ocupacioacuten de las aulas es variable de acuerdo al departamento para el que seaasignada algunos prefieren utilizarlas al maacuteximo en el turno matutino otros en el turnovespertino tienen ocupacioacuten total algunos las utilizan exhaustivamente de lunes ajueves unos departamentos las llenan los viernes y saacutebados y otros tienen que utilizarlastodo el diacutea de lunes a saacutebado inclusive solicitan prestadas a los otros departamentosaquellos espacios que no son utilizados en alguacuten diacutea y hora a la semana
Capiacutetulo 2 Marco teoacuterico
Para el Tecnoloacutegico de Zacatepec el recurso llamado las aulas debe ser optimizado enuna buena planeacioacuten de horarios esto es deben ser utilizadas al maacuteximo todos los diacuteasde la semana desde las 700 hasta las 2100 de lunes viernes y los saacutebados hasta las1500 horas
Tipos de cursos
Una de las cosas a tomarse en cuenta durante la elaboracioacuten de los horarios es el tipo decurso a programar
bull Teoacutericos como los cursos matemaacuteticos cursos de administracioacuten etcbull Teoacuterico praacutecticos como los cursos de electroacutenica sistemas digitalesbull Lenguajes de programacioacutenbull Con praacutecticas de campo que deben salir al aire librebull Con praacutecticas de quiacutemica
Otra consideracioacuten es el tipo de aula requerida por los diferentes tipos de cursos
bull cursos que requieren medios audiovisuales simples (pizarroacuten y gis)bull algunos cursos adicionalmente requieren proyectores de acetatos y salas
obscurecidasbull cursos que requieren equipo de coacutemputo equipo de proyeccioacuten equipo de video y
televisioacuten para el desarrollo de la caacutetedra etcbull cursos que requieren laboratorios con computadorasbull que requieren equipos de medicioacuten electroacutenica generadores de sentildeales enchufes
eleacutectricos ybull cursos que requieren mesas tomas eleacutectricas y equipos para conexioacuten de redes
Los cursos y los catedraacuteticos
Definitivamente eacutesta es una de las principales consideraciones que tienen en cuenta losprogramadores de horarios la asignacioacuten de los cursos a los catedraacuteticos porque es unproceso que no puede realizarse de manera aleatoria es un proceso delicado porque deesto depende la efectividad del proceso de ensentildeanzandashaprendizaje
Los catedraacuteticos tienen caracteriacutesticas individuales que los hacen uacutenicosindependientemente de la profesioacuten que hayan estudiado Tienen intereses diferentesmeacutetodos diferentes aacutereas de preferencia diferentes perfil profesiograacutefico distinto tienenactividades extralaborales variadas asiacute que
iquestCoacutemo asignarle un curso a un catedraacutetico para que logre un oacuteptimo resultado en el
Capiacutetulo 2 Marco teoacuterico
proceso de ensentildeanza-aprendizajeiquestCoacutemo garantizar que el curso asignado a un profesor seraacute bien impartidoiquestCoacutemo saber que el profesor estaacute capacitado para ofrecer un buen cursoiquestCuaacuteles son los requisitos que debe reunir un profesor para impartir cierto cursoiquestDependen soacutelo de la profesioacuten los cursos que puede impartiriquestCoacutemo conocer de antemano las preferencias de los profesoresiquestEl nivel de estudio de los profesores les capacita para impartir cualquier cursoiquestDeben los profesores ser guiados a una especialidad por los programadores dehorarios
Las respuestas a todas estas preguntas incorporadas en un sistema generador de horariosiquestpermitiraacuten hacer una buena asignacioacuten de catedraacutetico a un curso
El condensado de horarios
Es un documento emitido cada semestre por los responsables de la elaboracioacuten de loshorarios que contiene la informacioacuten requerida por los alumnos jefes de departamento ycatedraacuteticos para conocer la distribucioacuten de las materias los grupos las aulas las horasy los catedraacuteticos que impartiraacuten los cursos en otras palabras el condensado de materiases el documento final de los HORARIOS que marcaraacute las acciones de todos el semestreactual
23 El proceso de la elaboracioacuten de horarios
El proceso de la elaboracioacuten de horarios abarca cada accioacuten que es requerida para crearel horario final completo y correcto de los datos iniciales Esto incluye recibir validary dar formato a los datos generar la versioacuten inicial hacer las correcciones y luegoproducir el condensado final de horarios El proceso de la generacioacuten de horariosabarca
bull la generacioacuten del dato de cuantos cursos se van a ofertarbull asignacioacuten de horario a esos cursosbull proporcionar aulas a los cursosbull designar profesores para los cursos definidos
la parte difiacutecil de esto es generar los horarios con los recursos disponibles en cadadepartamento cada etapa tiene sus restricciones (fuertes y suaves) los recursos no soninagotablesEl uso de la computadora
En una encuesta realizada por la Universidad de Nottingham [Burke y Elliman 1998]referente a la forma de elaborar horarios en las demaacutes universidades se encontroacute que un
Capiacutetulo 2 Marco teoacuterico
58 de ellas utilizan la computadora en alguna etapa del proceso de eacutestas el 21 tienela facilidad de realizar la programacioacuten aunque generalmente requieren captura manualde informacioacuten y conocimientos previos del problema particular del proceso El 1tienen paquetes comerciales y el 14 tienen paquetes hechos en casa para generarhorarios y el 2 aseguran que estaacuten desarrollando o comprando un paquete
Dado el tamantildeo de los horarios de dichas universidades es sorprendente que muchas notengan alguna forma de automatizacioacuten Esto se debe en la mayoriacutea de los casos a quelos horarios no cambian significativamente de un antildeo a otro Sin embargo de lasuniversidades que no programan horarios por computadora la mitad usa el horario delantildeo pasado y la otra mitad empiezan desde cero cada vez Cuando no se usa el horariodel antildeo pasado generalmente toma 4 semanas elaborar uno nuevo En la mayoriacutea de loscasos donde se usa la computadora generalmente no se toma en cuenta el horario delantildeo anterior
Causas de cambio de los horarios antildeo tras antildeo
Para que un horario pueda ser usado antildeo tras antildeo debe ser lo suficientemente robustopara que los cambios que ocurran en los datos de entrada produzcan soacutelo una pequentildeaalteracioacuten o modificacioacuten en el condensado final de horarios El uso del condensado delantildeo pasado depende en la cantidad de cambios que deben hacerse y esto a su vezdepende de cuanto cambie la cantidad de grupos que deben ofertarse para cadaasignatura y esto depende de la cantidad de alumnos que pueden cursar una asignaturaahora bien la cantidad de alumnos estaacute en funcioacuten de los iacutendices de aprobacioacuten yreprobacioacuten del periodo de los alumnos que por alguna razoacuten no cursaron unaasignatura y de la cantidad de grupos ofertados el periodo pasado
Si cambia la cantidad de horas frente a grupo asignada a un departamento entoncescambiaraacute el condensado de horarios con respecto al del antildeo pasado porque eso afectadirectamente en la cantidad de cursos que podraacute ofertarse este periodo este es uno de losrecursos maacutes variables que influyen para hacer cambios en los condensados antildeo trasantildeo
La redistribucioacuten de aulas y laboratorios (que no se realiza a menudo) llega tambieacuten ainfluir en los cambios
El cambio de horario matutino a vespertino (o viceversa) solicitado por un catedraacuteticoque es el especialista en impartir cierto curso ocasiona los cambios del condensado dehorarios del antildeo anterior al nuevo
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
CAPIacuteTULO 3
TEacuteCNICAS DE INTELIGENCIA ARTIFICIAL UTILIZADASPARA LA GENERACIOacuteN DE HORARIOS
31 Sistemas Expertos (SE)Bajo el teacutermino de Sistemas Expertos se entiende un nuevo tipo de software que imita elcomportamiento de un experto humano en la solucioacuten de un problema Un SE puedealmacenar conocimientos de expertos para un campo determinado y solucionar unproblema mediante razonamiento loacutegico de conclusiones
Los Sistemas Expertos son sistemas que buscan modelar el conocimiento yprocedimientos usados por un experto humano para resolver un problemadeterminado[Saacutenchez 1999]
iquestUn Sistema Experto utiliza teacutecnicas de la Inteligencia Artificial (IA)
Los Sistemas Expertos son uno de los puntos que componen las investigaciones en elcampo de la IA Un sistema de computadoras que trabaje con teacutecnicas de IA deberaacuteestar en situacioacuten de combinar informacioacuten de forma ldquointeligenterdquo alcanzarconclusiones y justificarlas (al igual que el resultado final) Los Sistemas Expertos sonuna expresioacuten de los sistemas basados en el conocimiento Con la aplicacioacuten de teacutecnicasde Inteligencia Artificial finaliza la transicioacuten del procesamiento de datos alprocesamiento de conocimientos
Un Sistema Experto es un sistema informaacutetico que simula el proceso de aprendizaje dememorizacioacuten de razonamiento de comunicacioacuten y de accioacuten de un experto humano enuna determinada rama o dominio Estas caracteriacutesticas le permiten almacenar datos yconocimiento sacar conclusiones loacutegicas tomar decisiones aprender de la experiencia ylos datos existentes comunicarse con humanos explicar el porqueacute de las decisionestomadas y realizar acciones como consecuencia de todo lo anterior
La incorporacioacuten dentro de un sistema de computadoras de un componente basado enel conocimiento correspondiente a una habilidad experta de tal forma que el sistemapueda ofrecer asesoramiento inteligente o tomar una decisioacuten inteligente sobre unafuncioacuten del proceso Una caracteriacutestica adicional deseable que muchos consideranfundamental es la capacidad del sistema si se le solicita de justificar su propia liacutenea derazonamiento de un modo directamente inteligible para el interrogador El estiloadoptado para alcanzar estas caracteriacutesticas es la programacioacuten basada en reglas[Waterman 1986]
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
311 Funcioacuten de un Sistema Experto
La funcioacuten de un Sistema Experto es aportar soluciones a problemas de un dominioespeciacutefico imitando la forma de razonamiento de los seres humanos es decir el SistemaExperto debe ser capaz de mostrar soluciones inteligentes [Giarratamo 1998]
Acceder a los conocimientos adquiridos por experiencia es lo maacutes difiacutecil ya que losexpertos al igual que otras personas apenas los reconocen como tales Son buscadoscon mucho esfuerzo y cuidado siendo descubiertos de uno en uno poco a poco
Ventajas del Sistema Experto
Experto Humano Experto ArtificialMortal PermanenteDifiacutecil de documentar Faacutecil de documentarDifiacutecil de transferir Faacutecil de transferirImpredecible ConsistenteMaacutes caro Menos caro
Ventajas del Experto Humano
Experto Humano Experto ArtificialCreativo No creativoAdaptable Requiere mantenimientoExperiencia sensorial Entrada simboacutelicaConocimiento de sentido comuacuten Conocimiento teacutecnico
312 Arquitectura de Sistemas Expertos [Gines 1986] [Giarratamo 1998]
La arquitectura general de un SE (Fig 31) estaacute compuesta fundamentalmente de
bull Base de Conocimiento Representa el conocimiento adquirido del expertohumano incluyendo experiencia sentido comuacuten e intuicioacuten
bull Motor de Inferencia Decide que se debe aplicar que se debe hacer resuelveconflictos nuevos hace uso de la base del conocimiento Proporcionamecanismos de razonamiento buacutesqueda aprendizaje etc
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
bull Interfaz Usuario Facilita la comunicacioacuten entre el Sistema Experto y el usuarioque realiza las consultas
bull Subsistema de Adquisicioacuten Mejor conocido como la Interfaz de Expertopermite ingresar el conocimiento a la Base de Conocimientos por parte delhumano experto en alguacuten dominio de conocimiento
bull Subsistema de explicaciones Permite dar a conocer los resultados obtenidospor el Sistema Experto
313 La base de conocimiento
El enfoque maacutes comuacuten para representar el dominio del conocimiento que se requierepara un SE son las reglas de produccioacuten Estas pueden ser referidas como reglasldquosituacioacuten-accioacutenrdquo o ldquoif-thenrdquo De esta forma con frecuencia una base deconocimientos estaacute fraguada principalmente de reglas las cuales son invocadas por uncasamiento de patrones con las particularidades de las tareas circunstanciales que vanapareciendo en la base de hechosLas reglas en una base de conocimientos representan el dominio de hechos y laheuriacutestica de un buen juicio de acciones a tomar cuando uno llega a situacionesespeciacuteficas La fuerza de un SE yace en el conocimiento especiacutefico del dominio delproblema Casi todos los sistemas existentes basados en reglas contienen cientos o milesde ellas y generalmente se obtienen de entrevistas con expertos durante un tiempo largoEn cualquier SE las reglas se conectan una a otra por ligas de asociacioacuten para formar
Base de
Motor de
Subsistema deadquisicioacuten
del
Subsistemade
explicacione
Interfazde
usuario
Ingeniero delconocimiento y experto Usuario
Base de hechos
Figura 31 Arquitectura de un Sistema Experto
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
redes de reglas Una vez que han sido ensambladas tales redes entonces se tiene unarepresentacioacuten de un cuerpo de conocimientos que es sustancial
Generalmente un experto tiene muchas reglas de criterio empiacutericas por lo que el soportesuele ser incompleto para la evidencia que se dispone En tales casos una teacutecnica es la devincular valores numeacutericos a cada regla para indicar el grado de certidumbre que eacutestatiene En la operacioacuten de SE los valores de certidumbre se combinan unos a otros atraveacutes de la red considerando tambieacuten la certidumbre de los datos de entrada delproblema para llegar finalmente a un valor de certidumbre de la solucioacuten final
314 El motor de inferencias
El sistema experto modela el proceso de razonamiento humano con un moacutedulo conocidocomo el motor de inferencia Dicho motor de inferencia trabaja con la informacioacutencontenida en la base de conocimientos y la base de hechos para deducir nuevos hechosContrasta los hechos particulares de la base de hechos con el conocimiento contenido enla base de conocimientos para obtener conclusiones acerca del problemaEl modelo de problema - solucioacuten y sus meacutetodos organizan y controlan las etapas que sevan tomando para la resolucioacuten de problemas Un modelo muy poderoso y comuacuten es elde encadenar las reglas `` if-then-else con el fin de formar alguna liacutenea derazonamiento Si el encadenamiento se inicia a partir de un conjunto de condiciones y semueve hacia alguna conclusioacuten el meacutetodo se llama encadenamiento hacia adelante y ensu caso contrario el encadenamiento es hacia atraacutes
Un problema de encadenamiento hacia adelante sin una apropiada heuriacutestica de podaderivaraacute muchas soluciones de las cuales no todas son necesarias En el caso deencadenamiento hacia atraacutes es necesario tambieacuten trabajar con una heuriacutestica apropiadacon la finalidad de poder manejar submetas conjuntivas En general para atacar elproblema de conjuncioacuten es necesario encontrar un caso en donde todas las submetasinteractuantes se satisfagan Pero con frecuencia una buacutesqueda de tal naturaleza nos dauna explosioacuten combinatoria de posibilidades Es por esta razoacuten que el dominioapropiado de la heuriacutestica y su esquema inferencial deberaacuten ser encontrados para cadatipo de problemas para que de esta manera se tenga un SE eficaz y eficiente
315 iquestPor queacute utilizar un Sistema Experto [Pluss 1999] [Sanchez 1999]
1 Con la ayuda de un Sistema Experto personas con poca experiencia pueden resolverproblemas que requieren un conocimiento formal especializado
2 Los Sistemas Expertos pueden obtener conclusiones y resolver problemas de formamaacutes raacutepida que los expertos humanos
3 Los Sistemas Expertos razonan pero basaacutendose en un conocimiento adquirido y notienen sitio para la subjetividad
Capiacutetulo 2 Marco teoacuterico
4 El uso de Sistemas Expertos es especialmente recomendado en las siguientessituaciones
bull Cuando los expertos humanos en una determinada materia son escasos
bull En situaciones complejas donde la subjetividad humana puede llevar aconclusiones erroacuteneas
bull Cuando es muy elevado el volumen de datos que ha de considerarse paraobtener una conclusioacuten
316 Construccioacuten de prototipos [Turban 1995]
En el desarrollo de Sistemas Expertos se plantean dos importantes riesgos
1- No existen implementaciones similares que puedan servir de orientacioacuten al encargadodel desarrollo en la casi totalidad de los casos
2- En muchos puntos los requisitos necesarios estaacuten esbozados con muy poca precisioacuten
El disentildeo y la especificacioacuten requieren una temprana determinacioacuten de la interfaz delsoftware y de la funcionalidad de los componentes En el desarrollo de SistemasExpertos deben alterarse a menudo durante y tambieacuten despueacutes de su implementacioacuten yaque los requisitos se han ido configurando y han obtenido mayor precisioacuten o porque seha descubierto que deben iniciarse otras viacuteas de solucioacuten Durante el desarrollo resultamaacutes apropiado empezar con implementaciones tipo test para encontrar el camino haciauna solucioacuten definitiva y para hacerlas coincidir con las necesidades del usuario
32 Algoritmos Geneacuteticos
321 Antecedentes [Medina 2004] [Goldberg 1989] [Davis 1991]
El Algoritmo Geneacutetico es una teacutecnica de buacutesqueda basada en la teoriacutea de la evolucioacutende Darwin que ha cobrado tremenda popularidad en todo el mundo durante los uacuteltimosantildeos
Esta teacutecnica se basa en los mecanismos de seleccioacuten que utiliza la naturaleza de acuerdoa los cuales los individuos maacutes aptos de una poblacioacuten son los que sobreviven al
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
adaptarse maacutes faacutecilmente a los cambios que se producen en su entorno Hoy en diacutea sesabe que estos cambios se efectuacutean en los genes de un individuo (unidad baacutesica decodificacioacuten de cada uno de los atributos de un ser vivo) y que sus atributos maacutesdeseables se transmiten a sus descendientes cuando eacuteste se reproduce sexualmente
En 1859 Darwin publica su libro laquoEl origen de las especiesraquo El libro causoacute una granpoleacutemica en el mundo cientiacutefico por las revolucionarias teoriacuteas en eacutel contenidas que lasespecies evolucionan acorde al medio para adaptarse a eacuteste Con ello el universopasaba de ser una creacioacuten de Dios estaacutetica y perfecta desde su inicio a un conjunto deindividuos en constante competicioacuten y evolucioacuten para poder perpetuar su especie en eltiempo La existencia de una especie pasa asiacute a ser algo dinaacutemico las especies se creanevolucionan y desaparecen si no se adaptan Para cada especie animal la naturalezaproponiacutea un crudo filtro soacutelo los mejores los maacutes aptos los que mejor se adapten almedio conseguiacutean sobrevivir lo suficiente para llegar a la madurez y encontrar unapareja para perpetuar sus aptitudes que le haciacutean maacutes apto
La informaacutetica ve aquiacute un claro proceso de optimizacioacuten Se toman los individuos mejoradaptados (mejores soluciones temporales) se cruzan (se mezclan ) generando nuevosindividuos (nuevas soluciones) que contendraacuten parte del coacutedigo geneacutetico (informacioacuten)de sus dos antecesores y por lo tanto aunque el nuevo individuo no tenga que estarforzosamente mejor adaptado de hecho puede que ni la probabilidad de que el nuevoindividuo generado esteacute mejor adaptado que los padres sea alta el promedio de laadaptacioacuten de toda la poblacioacuten si mejora ya que tienden a perpetuarse y extenderse lasmejores caracteriacutesticas y a extinguirse las poco beneficiosas o perjudiciales En losAlgoritmos Geneacuteticos se crea una nueva abstraccioacuten -la poblacioacuten- cuya funcioacuten decoste mejoraraacute globalmente por lo que puede que se encuentre alguacuten individuo conmejores caracteriacutesticas
Un investigador de la Universidad de Michigan llamado John Holland era consciente dela importancia de la seleccioacuten natural y a fines de los antildeos 60 desarrolloacute una teacutecnica quepermitioacute incorporarla a un programa Su objetivo era lograr que las computadorasaprendieran por siacute mismas A la teacutecnica que inventoacute Holland se le llamoacute originalmentePlanes Reproductivos pero se hizo popular bajo el nombre Algoritmo Geneacutetico trasla publicacioacuten de su libro en 1975
En esa universidad Holland impartiacutea un curso titulado Teoriacutea de sistemas adaptativosDentro de este curso y con una participacioacuten activa por parte de sus estudiantes fuedonde se crearon las ideas que maacutes tarde se convertiriacutean en los Algoritmos GeneacuteticosLos objetivos de su investigacioacuten fueron dos
Imitar los procesos adaptativos de los sistemas naturales y Disentildear sistemas artificiales (normalmente programas) que retengan los mecanismos
importantes de los sistemas naturales
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
Unos 15 antildeos maacutes adelante David Goldberg actual delfiacuten de los Algoritmos Geneacuteticosconocioacute a Holland y se convirtioacute en su estudiante Golberg era un ingeniero industrialtrabajando en disentildeo de tuberiacuteas y fue uno de los primeros que tratoacute de aplicar losAlgoritmos Geneacuteticos a problemas industriales Aunque Holland tratoacute de disuadirleporque pensaba que el problema era excesivamente complejo Goldberg consiguioacute loque queriacutea escribiendo un Algoritmo Geneacutetico en una computadora personal Apple IIEstas y otras aplicaciones creadas por estudiantes de Holland convirtieron a losAlgoritmos Geneacuteticos en un campo con base suficiente como para celebrar la primeraconferencia en 1985 ICGAacute85 Tal conferencia se sigue celebrando bianualmente[Beasley 1993]
Una definicioacuten bastante completa de un Algoritmo Geneacutetico es la propuesta por JohnKoza es un algoritmo matemaacutetico altamente paralelo que transforma un conjunto deobjetos matemaacuteticos individuales con respecto al tiempo usando operaciones modeladasde acuerdo al principio Darwiniano de reproduccioacuten y supervivencia del maacutes apto y trashaberse presentado de forma natural una serie de operaciones geneacuteticas de entre las quedestaca la recombinacioacuten sexual Cada uno de estos objetos matemaacuteticos suele ser unacadena de caracteres (letras o nuacutemeros) de longitud fija que se ajusta al modelo de lascadenas de cromosomas y se les asocia con una cierta funcioacuten matemaacutetica que refleja suaptitud [Koza 1992] 322 Definicioacuten de AG
Los Algoritmos Geneacuteticos (AG) son meacutetodos adaptativos que pueden usarse pararesolver problemas de buacutesqueda y optimizacioacuten Estaacuten basados en el proceso geneacutetico delos organismos vivos A lo largo de las generaciones las poblaciones evolucionan en lanaturaleza de acorde con los principios de la seleccioacuten natural y la supervivencia de losmaacutes fuertes postulados por Darwin Por imitacioacuten de este proceso los AlgoritmosGeneacuteticos son capaces de ir creando soluciones para problemas del mundo real Laevolucioacuten de dichas soluciones hacia valores oacuteptimos del problema depende en buenamedida de una adecuada codificacioacuten de las mismas [Goldberg 1989]
Un Algoritmo Geneacutetico consiste en una funcioacuten matemaacutetica que toma como entradas alos ejemplares y retorna como salidas cuaacuteles de ellos deben generar descendencia para lanueva generacioacuten
Los Algoritmos Geneacuteticos presentan ventajas sobre otros algoritmos que los hacenpreferibles para determinado tipo de aplicaciones Algunas de las caracteriacutesticas de losAlgoritmos Geneacuteticos son
bull Son algoritmos estocaacutesticos Dos ejecuciones distintas pueden dar dos solucionesdistintas Esto es uacutetil por el hecho de que hay gran cantidad de isoacutemeros que
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
corresponden a soluciones vaacutelidas por lo que es interesante que distintas ejecucionespuedan dar isoacutemeros distintos
bull Son algoritmos de buacutesqueda muacuteltiple luego dan varias soluciones Aunquehabitualmente la energiacutea de los individuos de la poblacioacuten final es similar losindividuos suelen ser distintos entre si Con el modelo de paralelizacioacuten empleado -geneacutetico multipoblacional- la probabilidad de obtener muchas soluciones distintas esmaacutes alta todaviacutea
bull Son los algoritmos que hacen una barrida mayor al subespacio de posiblessoluciones vaacutelidas De hecho se considera que de todos los algoritmos deoptimizacioacuten estocaacutesticos los Algoritmos Geneacuteticos son de los maacutes exploratoriosdisponibles
323 Ventajas y Desventajas [Bull 1993]
bull No necesitan conocimientos especiacuteficos sobre el problema que intentan resolverbull Operan de forma simultaacutenea con varias soluciones en vez de trabajar de forma
secuencial como las teacutecnicas tradicionalesbull Cuando se usan para problemas de optimizacioacuten de una funcioacuten objetivo- resultan
menos afectados por los oacuteptimos locales (falsas soluciones) que las teacutecnicastradicionales
bull Usan operadores probabiliacutesticos en vez de los tiacutepicos operadores determiniacutesticos delas otras teacutecnicas
bull La mayoriacutea de las otras teacutecnicas de optimizacioacuten son tambieacuten estocaacutesticasbull Pueden tardar mucho en converger o no converger en absoluto dependiendo en
cierta medida de los paraacutemetros que se utilicen tamantildeo de la poblacioacuten nuacutemero degeneraciones etc-
bull Pueden converger prematuramente debido a una serie de problemas de diversaiacutendole
324 iquestCoacutemo saber si es posible usar un Algoritmo Geneacutetico
La aplicacioacuten maacutes comuacuten de los Algoritmos Geneacuteticos ha sido la solucioacuten de problemasde optimizacioacuten en donde han mostrado ser muy eficientes y confiables Sin embargono todos los problemas pudieran ser apropiados para la teacutecnica y se recomienda engeneral tomar en cuenta las siguientes caracteriacutesticas del mismo antes de intentar usarlabull Su espacio de buacutesqueda (ie sus posibles soluciones) debe estar delimitado dentro
de un cierto rangobull Debe poderse definir una funcioacuten de aptitud que indique que tan buena o mala es
una cierta respuestabull Las soluciones deben codificarse de una forma que resulte relativamente faacutecil de
implementar en la computadora
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
Decisiones para implementar un Algoritmo Geneacutetico [Michalewicz 1992]
Las decisiones que hay que tomar para implementar un Algoritmo Geneacutetico son
bull Criterio de codificacioacuten Coacutemo se va a almacenar la informacioacuten en el genomabull Criterio de tratamiento de individuos no factibles Coacutemo se van a tratar a los
individuos que no cumplan las restriccionesbull Criterio de inicializacioacuten Coacutemo se va a construir la poblacioacuten inicialbull Criterio de parada Determina cuaacutendo el algoritmo ha llegado a una solucioacuten
aceptablebull Funcioacuten de adaptacioacuten Corresponde a la funcioacuten de costo de la investigacioacuten
operativa tradicionalbull Operadores geneacuteticos Se emplean para determinar coacutemo va a ser la nueva
generacioacuten Baacutesicamente son los operadores de cruce y mutacioacuten aunque pueden serempleados otros adicionales -muerte aborto envejecimiento- Tanto cruce comomutacioacuten pueden ser realizados de muchas formas distintas
bull Criterios de reemplazo Los criterios que determinan quieacutenes se van a cruzar Notienen que ser obligatoriamente los mismos que los criterios de seleccioacuten de lospadres
bull Paraacutemetros de funcionamiento Determinados paraacutemetros que sin poder serenglobados en ninguno de los anteriores son fundamentales para el funcionamientode un Algoritmo Geneacutetico Es el caso por ejemplo del tamantildeo de la poblacioacuten laprobabilidad de la aplicacioacuten de los operadores geneacuteticos etc
325 Paraacutemetros que deben ser especificados en el programa
Nordm de generaciones cantidad de veces que se produce una nueva generacioacuten deindividuos utilizando las reglas anteriormente explicadas Por loacutegica cuantas maacutesgeneraciones se produzcan se obtendraacuten mejores individuosNordm de individuos por generacioacuten en este ejemplo la cantidad de individuos de unageneracioacuten a otra es constante no variacuteaNordm de entrenamientos cantidad de veces que se lleva a cabo un entrenamiento entrediferentes generaciones de individuos
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
Fig 32 Pseudocoacutedigo del Algoritmo Geneacutetico simple
Los Algoritmos Geneacuteticos son una poderosa herramienta de propoacutesito general deoptimizacioacuten que modela los principios de la evolucioacuten [Burke 1994]
El proceso es el siguiente
1 Una poblacioacuten random de horarios factibles es creada Cada horario es evaluado deacuerdo a una conjunto de criterios (por ejemplo el tamantildeo del horario cuantosgrupos son colocados a la misma hora y en el mismo saloacuten cuantos salones hayvaciacuteos)
2 Los horarios son seleccionados de manera aleatoria para ser las bases de la proacuteximageneracioacuten Los buenos horarios son maacutes deseables que los malos En las bases dela evaluacioacuten de estos miembros de la poblacioacuten (horarios factibles) se escogen lospadres de la proacutexima generacioacuten de horarios Evaluando numeacutericamente durante elproceso de seleccioacuten buscando los mejores horarios los peores horarios soneliminados al mismo tiempo que la buacutesqueda se dirige hacia las aacutereas maacutespromisorias del espacio de soluciones
3 El Operador Mutacioacuten se aplica generalmente a un solo miembro de la poblacioacuten einvolucra el cambio aleatorio de la hora o aula de algunos grupos despueacutesalmacena el nuevo horario siempre manteniendo un horario factible Esto agrega
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
un elemento que permite tambieacuten introducir material geneacutetico uacutetil que ha sidoperdido en otros horarios en las primeras generaciones
4 El Operador de Cruzamiento toma una pareja de horarios y los combina de algunamanera para producir uno o dos nuevos horarios esto se hace generalmente deforma aleatoria seleccionando algunos grupos de la mantildeana de un miembro de lapoblacioacuten y los algunos grupos de la tarde de otro miembro para producir un nuevohorario cualquier grupo que no pueda ser colocado de esta manera se manda alperiodo siguiente disponible
5 La nueva poblacioacuten es generada El proceso seraacute repetido hasta que una buenasolucioacuten sea generada
33 Programacioacuten Loacutegica de Restricciones (PLR)
331 Antecedentes de la PLR
La Programacioacuten Loacutegica de Restricciones (PLR) es una teacutecnica que tiene mucho encomuacuten con los algoritmos de asignacioacuten heuriacutestica Dechter describe asiacute el problemade la satisfaccioacuten de restricciones ldquoUn problema de satisfaccioacuten de restricciones (PSR)es representado por una red de restricciones consistente en un conjunto de n variablesX1 Xn con sus respectivos valores de dominio RR n y un conjunto derestricciones Una restriccioacuten Ci (Xi1Xij)es un subconjunto del producto cartesiano Ri1 x x R i1 formado por todas las tuplas de valores para un subconjunto(X i1X ij) delas variables que son compatibles unas con otrasrdquo [Detcher 1990]
Una solucioacuten de la red es una asignacioacuten de valores a todas las variables de tal formaque todas las restricciones son satisfechasrdquo Esta es una representacioacuten maacutes poderosaque el modelo de los Grafos Coloreados porque puede representar restricciones mascomplejas El problema de los grafos coloreados es equivalente a un PLR binario en lacual cada restriccioacuten soacutelo tiene dos variables
Este modelo se resuelve tratando de asignar valores a cada una de las variables encuestioacuten y entonces regresando si se encuentra en un punto muerto y quitandorestricciones si se descubre que no se puede encontrar solucioacuten El orden en el que lasvariables son seleccionadas y el orden de los valores que son asignados a las variablespuede ser alterado para tratar aumentar la velocidad de buacutesqueda
La PLR es un meacutetodo que permite el disentildeo raacutepido de prototipos de resolucioacuten deproblemas complejos Las principales aportaciones en esta liacutenea se centran en eldesarrollo de programas que incluyen conjuntos de restricciones adaptadas a unadeterminada familia de problemas asiacute como al disentildeo formal e implementacioacuten demodelos de interpretacioacuten en paralelo con el fin de mejorar la eficiencia del proceso
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
deductivo El objetivo final es disponer de sistemas de resolucioacuten implementados paraapoyar la creacioacuten de sistemas donde la explosioacuten combinatoria de los elementos de unproblema hace muy difiacutecil la buacutesqueda de una solucioacuten en un tiempo razonable [Farion1992]
En esta seccioacuten se proporciona una breve introduccioacuten de la Programacioacuten Loacutegica conRestricciones y sus aplicaciones dentro del marco general de la programacioacuten loacutegica Setrata eacuteste de un campo que ha tenido una notable expansioacuten debido a su potencialaplicacioacuten praacutectica dado que el anaacutelisis de las restricciones permite mejorarconsiderablemente la eficiencia del caacutelculo de determinadas funciones
332 Restricciones
En primer lugar se empieza por contestar la pregunta iquestQueacute es una restriccioacuten Estacuestioacuten se puede responder tan brevemente como escribe Roman Bartak[1998]Una restriccioacuten es simplemente una relacioacuten loacutegica entre varias variablesdesconocidas tomando cada una un valor dentro de un dominio determinado (peA+B=C-el circulo estaacute dentro del cuadrado- etc)Asiacute las restricciones aparecen de forma natural en todos los campos del conocimientohumano La suma de los aacutengulos de un triaacutengulo es 180 grados es un ejemplo derestriccioacuten que aparece en el mundo real De hecho las restricciones son el medionatural en el que las personas expresamos los problemas en todas las aacutereas
Con la explicacioacuten dada se ve de forma natural que las restricciones gozan de variaspropiedades interesantes
bull las restricciones pueden especificar informacioacuten parcial es decir en lasrestricciones no hace falta que se den de forma uacutenica los valores de sus variables
bull las variables son no direccionales es decir en una restriccioacuten tiacutepica sobre dosvariables (XY) se puede inferir una restriccioacuten sobre X dada una restriccioacutensobre Y y viceversa
bull las restricciones son declarativas es decir se puede especificar que relacioacutendeben mantener sin especificar el procedimiento computacional que implementeesa relacioacuten
bull las restricciones son aditivas es decir el orden de imposicioacuten de las restriccionesno importa todo lo que importa al fin y al cabo es la conjuncioacuten de restriccionesy su efecto
bull las restricciones no suelen ser independientes normalmente restricciones dentrodel conjunto total de restricciones comparte variables
Asiacute siguiendo esta idea el objetivo de la Programacioacuten Loacutegica con Restricciones essustituir el proceso de unificacioacuten por la resolucioacuten de restricciones sobre un dominio
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
particular de intereacutes Con esta visioacuten se considera que el procesador de restriccionesdebe encargarse de comprobar la consistencia del conjunto de restricciones y dentro delo posible reducirlo a alguna forma normal
Seguacuten Elmohamed [Elmohamed 1998] las restricciones pueden ser divididas en trestipos fuertes medias y suaves
Restricciones fuertes Son todas aquellas que deben ser cumplidas obligatoriamente elcosto de no cumplir estas restricciones es sumamente alto y por lo tanto en un horariofactible su costo asociado por incumplimiento debe ser cero Por ejemplo (en unproblema real se pueden encontrar de 10 a 15 restricciones fuertes)
bull Dos o maacutes clases impartidas por un profesor no se pueden programar a lamisma hora
bull Una clase teoacuterica y su laboratorio no se pueden programar a la misma hora en elmismo diacutea
bull Una clase no se puede programar en un aula a menos que su capacidad seamayor al nuacutemero de alumnos inscritos
Restricciones medias Estas restricciones no se refieren a conflictos de tiempo perotienen asociado un alto costo a ellas sin embargo este costo no es tan alto como el de lasrestricciones fuertes En el condensado de horarios final el costo de estas restriccioneses minimizado y es deseable reducirlo a cero Por ejemplo (en un problema real sepueden tener entre 20 y 25 restricciones medias)
bull Para cada estudiante el balancear las secciones LunMieVie y MarJuebull Balancear o distribuir y equilibrar las horas de clase en la semanabull Las clases pueden requerir periodos de tiempo contiguosbull Las clases se pueden agrupar con otras clases formando paquetesbull Los horarios particulares deben tener la menor cantidad de ldquohoyosrdquo posible esto
es que las clases deben ser consecutivas unas despueacutes de otras
Restricciones suaves Estas restricciones no tienen nada que ver con conflictos detiempo y tienen un bajo costo asociado a ellas Tambieacuten en el condensado de horariosfinal este costo es minimizado pero no necesariamente debe ser cero Por ejemplo (sepueden tener entre 30 y 40 restricciones suaves)
bull Balancear la inscripcioacuten en cursos de varios paquetesbull Especificar la hora de comida y otros periodos de descansobull Los catedraacuteticos pueden requerir periodos de tiempo sin clasebull No inscribir alumnos-atletas en cursos que tengan conflicto con sus horas de
praacutectica deportiva etc
333 Sistemas con RestriccionesUna manera maacutes formal de definir las restricciones es considerarlas como una foacutermulade primer orden interpretada en una estructura para asiacute tener en cuenta la semaacutenticaparticular del sistema de restricciones Esta semaacutentica declarativa es adecuada cuando
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
existe a priori una estructura que se adecua al sistema de restricciones (pe Los realespara las restricciones aritmeacuteticas) pero esto no funciona demasiado bien para lossistemas de restricciones maacutes praacutecticos (pe Dominios finitos) Obviamente no se puededireccionar ninguacuten caacutelculo operacional relacionado con el propio procesador de lasrestricciones [Elmohamed 2001]
334 Referencia Histoacuterica de las RestriccionesLas restricciones como un aacuterea de trabajo que combina investigacioacuten de un gran nuacutemerode campos incluyendo Inteligencia Artificial Lenguajes de Programacioacuten CaacutelculoSimboacutelico y Loacutegica Computacional Las restricciones sobre redes y los problemas desatisfabilidad con restricciones empezaron a estudiarse por los investigadores deInteligencia Artificial en los antildeos 70
La programacioacuten con restricciones ha sido aplicada con notable eacutexito en numerososcampos Los trabajos en esta aacuterea se remontan a la investigacioacuten de InteligenciaArtificial y Representacioacuten Graacutefica por Computadora por los antildeos 60 y 70 En la uacuteltimadeacutecada sin embargo ha empezado a darse una mayor conciencia de que las restriccionesproporcionan las bases para un potente acercamiento a la programacioacuten modelado yresolucioacuten de problemas y que los diferentes esfuerzos por explotar estas ideas puedenser unidos bajo el mismo prisma conceptual y praacutectico la programacioacuten conrestricciones
Entre los dominios tratados por los sistemas de Programacioacuten Loacutegica con Restriccioneslos que maacutes ampliamente son investigados son sin duda los dominios finitos losnuacutemeros reales y racionales con restricciones aritmeacuteticas y los booleanos De hecho 3de los principales lenguajes de Programacioacuten Loacutegica con Restricciones son un claroejemplo de esta tendencia CHIP que proporciona restricciones sobre dominios finitosracionales y booleanos PrologIII que incluye racionales booleanos y listas y PLR(R)que maneja restricciones sobre reales
En la actualidad se pueden observar dos ramas principales en los avances en laprogramacioacuten con restricciones que parten de diferente base y por tanto usan diferentemetodologiacutea para resolver las restricciones Estas dos ramas son
bull Satisfaccioacuten de Restriccionesbull Resolucioacuten de Restricciones
335 Satisfaccioacuten de RestriccionesLa satisfaccioacuten de restricciones parte de los avances en Inteligencia Artificial (problemascombinatorios) y los Graacuteficos por computadora (sistema de SKETCHPAD[1963]expresando coherencia geomeacutetrica en el caso de anaacutelisis de escenas)
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
336 Resolucioacuten de RestriccionesLa resolucioacuten de restricciones difiere de la satisfaccioacuten de restricciones porque usavariables con dominios infinitos Ademaacutes las restricciones individuales son maacutescomplicadas por ejemplo ecuaciones no lineales En consecuencia los algoritmos deresolucioacuten de restricciones usan meacutetodos algebraicos y numeacutericos en vez decombinaciones y buacutesqueda Sin embargo existe metodologiacutea para discretizar losdominios infinitos en un nuacutemero finito de componentes y entonces se aplican lasteacutecnicas de Satisfaccioacuten de Restricciones
La programacioacuten con restricciones ha sido aplicada con eacutexito en numerosos campos Lasaplicaciones recientes incluyen [Detcher 1990]
bull Graacuteficos por Computadorabull Procesamiento del Lenguaje Natural (construccioacuten de analizadores eficientes)bull Sistemas de Bases de Datos (para reforzar yo mantener la consistencia de los
datosbull Problemas de Investigacioacuten Operativa (como la optimizacioacuten de problemas)bull Biologiacutea Molecular (secuenciacioacuten de ADN)bull Aplicaciones de Empresabull Ingenieriacutea Eleacutectrica (localizacioacuten de fallos)bull Disentildeo de Circuitos (para computar configuraciones)bull Planificacioacuten y organizacioacutenbull Configuracioacutenbull Juegosbull Configuracioacuten de horariosbull Criptoaritmeacuteticabull Coloreado de Grafosbull Razonamiento de hipoacutetesis quiacutemicas
En esta seccioacuten se va a dedicar una parte a cada una las aplicaciones maacutes estudiadas
337 Organizacioacuten de Proyectos
El problema de la Organizacioacuten es el proceso de asignar actividades a recursos en eltiempo En el caso general de organizacioacuten es un proceso de tomar decisiones donde sepueden tomar dos tipos de decisiones
bull Decisiones de situar temporalmente Cuaacutendo deberiacutea empezar cada actividadbull Decisiones de asignacioacuten de recursos Con queacute recursos deberiacutea ejecutarse cada
actividad
Los problemas de organizacioacuten y de asignacioacuten de recursos estaacuten basados enrestricciones Diferentes restricciones pueden afectar a la organizacioacuten la duracioacuten de
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
una actividad las fechas de contrato restricciones precedentes tiempos de transferenciao de inicio de la actividad la capacidad de los recursos y el reparto de recursos
La relajacioacuten de las restricciones principales caracteriza la calidad de los problemas deorganizacioacuten Estas restricciones son las relacionadas con fechas de entregaproductividad periodicidad de los cambios de herramientas niveles de inventariomargen de tiempo etc Algunas de estas restricciones pueden ser combinadas en lafuncioacuten de evaluacioacuten para la optimizacioacuten
Las aplicaciones industriales de las teacutecnicas de resolucioacuten de restricciones a losproblemas del tipo de asignacioacuten de tareas incluye[Detcher 1990]
bull Organizacioacuten de la produccioacutenbull Organizacioacuten y planificacioacuten del transporte y la logiacutesticabull Administracioacuten del traacuteficobull Disentildeo de horarios de recursos y de hombresbull Asignacioacuten de plantilla incluyendo aplicaciones de ingenieriacutea de organizacioacutenbull Problemas de empaquebull Configuracioacuten de maacutequinas
Claramente hay muchos problemas relacionados en el aacuterea de la organizacioacuten en lapraacutectica para los sistemas comerciales e industriales reales los liacutemites entre unos y otrosno estaacuten claros Es difiacutecil encontrar alguacuten problema real que se ajuste a un modelopreconcebido sin tener que descartar partes del problema y aproximar otras asiacute que hayque tomar estos modelos con amplio margen de aproximacioacuten
Otra complicacioacuten es el tema de la optimizacioacuten En algunos casos el usuario estaacutesatisfecho soacutelo con tener una manera automaacutetica de tener la respuesta pero la mayoriacuteaquieren tener al menos una buena respuesta y algunos el mejor resultado posible Perodebido a la gran complejidad combinatoria de la mayoriacutea de los problemas reales deorganizacioacuten una optimizacioacuten real es muy difiacutecil asiacute que en la mayoriacutea de los casos seusa la programacioacuten con restricciones en combinacioacuten con otras teacutecnicas tales comoAlgoritmos Geneacuteticos para dar soluciones casi oacuteptimas en un tiempo razonable
Normalmente los problemas de organizacioacuten se presentan usando variables conrestricciones fuertes y restricciones suaves Estas pueden ser agrupadas en la abstraccioacutendel problema de organizacioacuten Asiacute tiacutepicamente el tiempo de comienzo y fin y laduracioacuten de cada actividad se representan por variables con restricciones Los dominiosde estas variables son el rango de tiempo de intereacutes en la organizacioacuten requerida
Capiacutetulo 4 Anaacutelisis y Disentildeo
CAPIacuteTULO 4
ANAacuteLISIS Y DISENtildeO
41 Recopilacioacuten de informacioacuten
bull Documentos recopilados
bull Cataacutelogo de asignaturas prerrequisitos y semestrebull Cataacutelogo de aulas y su capacidadbull Cataacutelogo de catedraacuteticos horas disponiblesbull Mapa reticular de la carrerabull Reporte de grupos abiertos en periodo actualbull Reporte de alumnos por grupo en periodo actualbull Reporte de alumnos no inscritos por materia y semestrebull Reporte de simulacioacuten (si todos aprobaran sus cursos)bull Reporte del iacutendice de reprobacioacuten del semestre anteriorbull Encuesta aplicada para determinar los conocimientos requeridos
para impartir una materiabull Encuesta aplicada para obtener los conocimientos de cada
catedraacuteticobull Aacuterbol de conocimiento realizado para determinar los grupos por
abrir de cada asignaturabull Aacuterbol de conocimiento del perfil de las asignaturasbull Aacuterbol de conocimiento del perfil de los catedraacuteticosbull Aacuterbol de conocimiento de los criterios de apertura de materia
bull El proceso de la elaboracioacuten de los horarios
1 Elaboracioacuten de los reportes estadiacutesticos del periodo actual(grupos abiertos alumnos por grupo alumnos no inscritos pormateria simulacioacuten iacutendice de reprobacioacuten)
2 Caacutelculo de la estimacioacuten de alumnos por materia del proacuteximoperiodo
3 Caacutelculo del nuacutemero de grupos por materia requeridos para elproacuteximo periodo
4 Ajuste de los grupos por materia requeridos para el proacuteximoperiodo
5 Formacioacuten de los grupos en paquetes por semestre6 Asignacioacuten de hora y aula a los grupos
Capiacutetulo 4 Anaacutelisis y Disentildeo
7 Seleccioacuten de catedraacutetico al grupo y viceversa8 Ajustes en hora aula y catedraacutetico por grupo9 Elaboracioacuten del reporte condensado para publicacioacuten de horarios10 Elaboracioacuten de los reportes de grupos sin maestro maestros con
horas disponibles grupos sin aula
Para elaborar los horarios de los grupos y maestros un semestre determinado se tienenen consideracioacuten los siguientes elementos
bull El estadiacutestico de Servicios Escolares (SE)El departamento de SE cuenta con un sistema que registra todo el historial acadeacutemicode los alumnos inscritos en el ITZ las materias cursadas y sus calificaciones lasdiferentes carreras con su retiacutecula de asignaturas y sus prerrequisitos los grupos delsemestre actual la cantidad de alumnos en cada grupo de una asignatura los iacutendicesde reprobacioacuten de semestres anteriores las materias que puede cursar un alumno elproacuteximo semestre etceacutetera Toda esta informacioacuten plasmada en reportesdiferentes es la base para la generacioacuten de los horarios del proacuteximo semestre
bull Los grupos requeridosSobre la base de operaciones aplicadas a la informacioacuten estadiacutestica se obtiene lacantidad de grupos requeridos para abrirse el proacuteximo semestre este nuacutemero degrupos es la cantidad oacuteptima con la que se podraacuten inscribir los alumnos sin tenerproblemas de falta de espacio el alterar disminuyendo o aumentando el nuacutemero degrupos requeridos puede ocasionar alumnos con carga crediticia menor a lareglamentaria o que existan grupos con menos de 10 alumnos respectivamente
bull Las aulasEl ITZ cuenta con 52 aulas repartidas entre las 8 carreras a cada coordinador decarrera se le asigna determinado numero de aulas para su administracioacuten asiacute que alasignar el aula a cada grupo debe cuidar la correcta distribucioacuten de los grupos en loshorarios correspondientes y que la capacidad de las aulas no rebase el numero dealumnos inscritos
bull Los maestros y departamentosCada departamento esta formado por un jefe y los catedraacuteticos que forman laacademia de cada carrera los profesores pueden ser de tiempo completo frac34 y frac12tiempo o profesores de asignatura cada uno tiene un horario predeterminado en turnomatutino o vespertino los catedraacuteticos de un departamento cubren las asignaturas desu carrera y apoyan a otras carreras a cubrir las materias que tienen el perfil de esaacademia los catedraacuteticos son uno de los recursos mas difiacuteciles de controlar
Restricciones propias de los profesores
o Materia no tiene maestro
o Maestro tiene horas disponibles
Capiacutetulo 4 Anaacutelisis y Disentildeo
o Maestro tiene materias preferencia
o Maestro ha impartido materia
o Maestro solicita materia
o Maestro tiene restricciones de nuacutemero de materias a impartir
o Restriccioacuten no pueden darse maacutes de tres materias diferentes
o Maestro tiene una profesioacuten
o Maestro tiene un perfil
o Maestro tiene un aacuterea definida
o Maestro prefiere materias especialidad
o Maestro prefiere materias semestres iniciales
bull Las materias o asignaturasEn cada carrera se tiene un mapa reticular que tiene las materias de cada semestre elnombre los creacuteditos las horas de teoriacutea y praacutectica las ligas con los prerrequisitos lasmaterias de la especialidad seleccionada etc
Restricciones propias de las asignaturas
o Materia de 1deg semestre
o Materia de 2deg semestre
o Materia de 3deg semestre
o Materia de 4deg semestre
o Materia de 5deg semestre
o Materia de 6deg semestre
o Materia de 7deg semestre
o Materia de 8deg semestre
o Materia de 9deg semestre
o Materia de especialidad
o Materia tiene prerrequisito
o Materia es de baacutesicas
o Materia requiere conocimientos de Base de Datos
o Materia requiere conocimientos de Electroacutenica
o Materia la puede impartir cualquier maestro
Capiacutetulo 4 Anaacutelisis y Disentildeo
o Materia requiere conocimientos de Redes
o Materia requiere ser impartida por ingeniero
o Materia tiene complejidad alta
o Materia debe ser impartida por catedraacutetico con grado de maestriacutea
o Materia requiere conocimientos de Arquitectura de Computadoras
o Materia no tiene cadenas
o Materia de Administracioacuten
o Materia de Ingenieriacutea Industrial
o Materia requiere conocimientos de Aacutelgebra
o Materia requiere conocimientos de Caacutelculo Diferencial e Integral
o Materia requiere conocimientos de Quiacutemica Inorgaacutenica y Orgaacutenica
o Materia requiere una elaboracioacuten de proyectos
bull Las carrerasLas 8 carreras que se imparten en el ITZ son ordenadas por nuacutemero de alumnos
1 Ingenieriacutea en Sistemas Computacionales2 Licenciatura en Informaacutetica3 Licenciatura en Administracioacuten4 Ingenieriacutea Civil5 Ingenieriacutea Electromecaacutenica6 Ingenieriacutea Industrial7 Ingenieriacutea Quiacutemica8 Ingenieriacutea Bioquiacutemica
bull Los horarios de grupoUna vez determinados los grupos requeridos para el proacuteximo semestre se procede a laasignacioacuten de horario de acuerdo al nuacutemero de horas teoacuterico-praacutecticas se le asignaaula y un catedraacutetico responsable se fija tambieacuten un nuacutemero de alumnos y el tiempode laboratorio en caso de ser necesario
Capiacutetulo 4 Anaacutelisis y Disentildeo
Diagrama de flujo del proceso
Elaboracioacuten de los reportes estadiacutesticos
Caacutelculo de alumnos por materiaproacuteximo periodo
Caacutelculo del nuacutemero de grupos pormateria requeridos
Ajuste de los grupos por materiarequeridos
Formacioacuten de los grupos en paquetespor semestre
Asignacioacuten de hora y aula a los grupos
Asignacioacuten de catedraacutetico al grupo
Ajustes en hora aula y catedraacutetico porgrupo
Elaboracioacuten del reporte condensado
Elaboracioacuten de reportes varios
Todo cuadrabien
Si
No
Fin
Inicio
Capiacutetulo 4 Anaacutelisis y Disentildeo
42 Anaacutelisis de la informacioacuten
bull Cataacutelogo de asignaturas prerrequisitos y semestre
Funcioacuten Dar a conocer las asignaturas de una carrera los prerrequisitos de las materiasy el semestre al que pertenece una asignatura los creacuteditos miacutenimos que debe tenerun alumno para cursar la asignatura
Origen Reporte emitido por el departamento de Servicios Escolares
Campos del reporte nombre carrera nombre asignaturas creacuteditos miacutenimos materiasprerrequisito semestre al que pertenece la asignatura
bull Cataacutelogo de aulas y su capacidad
Funcioacuten Dar a conocer la nomenclatura y capacidad de las aulas y laboratorios del ITZ
Origen Departamento de Planeacioacuten
Campos del reporte Nombre del edificio nuacutemero de aula capacidad
bull Cataacutelogo de catedraacuteticos horas disponibles
Funcioacuten Dar a conocer los catedraacuteticos por departamento y sus horas disponibles frentea grupo
Origen Departamentos acadeacutemicos
Campos del reporte Nombre del departamento clave de profesor nombre del profesorcantidad de horas frente a grupo que debe tener
bull Mapa reticular de la carrera
Funcioacuten Mostrar el mapa reticular de una carrera graacuteficamente muestra las asignaturaspor semestre sus requisitos foacutermula crediticia etc
Origen Divisioacuten de Estudios Profesionales
Campos del reporte Nombre y clave de la carrera nombre y clave de las asignaturasfoacutermula crediticia (nuacutemero de horas teoacutericas nuacutemero de horas praacutecticas creacuteditos dela asignatura) las materias prerrequisito de otras materias de especialidad semestrede la asignatura nuacutemero de creacuteditos necesarios para poder cursar una asignatura
Capiacutetulo 4 Anaacutelisis y Disentildeo
bull Reporte de grupos abiertos en periodo actual
Funcioacuten Muestra los cursos que son ofertados en el periodo actual
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera nombre de las asignaturas grupo de loscursos cantidad de alumnos inscritos nombre del catedraacutetico que lo imparte
bull Reporte de alumnos por grupo en periodo actual
Funcioacuten Muestra la cantidad de alumnos inscritos por semestre de una carrera
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera semestres del 1 al 13 nuacutemero de alumnosinscritos por semestre
bull Reporte de alumnos no inscritos por materia y semestre
Funcioacuten Muestra los alumnos que pudieron inscribirse a una materia pero que poralguna razoacuten no lo hicieron
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera nombre de la materia por semestre nuacutemerode alumnos que pudieron inscribirse y no lo hicieron
bull Reporte de simulacioacuten (si todos aprobaran sus cursos)
Funcioacuten Este reporte simula que todos los alumnos inscritos en los cursos acreditan elcurso entonces cuenta cuantos estudiantes pueden cursar todas las asignaturas comosi hubieran aprobado todos sus cursos actuales
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera nombre de la asignatura y por semestre elnuacutemero de alumnos que pueden cursar una materia
bull Reporte del iacutendice de reprobacioacuten del semestre anterior
Funcioacuten Dar a los coordinadores los iacutendices de aprobacioacuten y reprobacioacuten de los cursosdel periodo anterior
Capiacutetulo 4 Anaacutelisis y Disentildeo
Origen Departamento de Servicios EscolaresCampos del reporte Nombre de la carrera nombre de la asignatura total de alumnos
aprobados total de alumnos reprobados del periodo anterior
bull Encuesta de conocimientos requeridos para impartir asignatura
Funcioacuten Obtener los datos de los conocimientos que debe poseer un catedraacutetico quequiera impartir una asignatura
Origen Academia de cada departamentoCampos del reporte Nombre de la asignatura objetivo de la asignatura carrera lista de
conocimientos requeridos para impartir la asignatura carrera adecuada del profesorque imparta la asignatura
bull Encuesta de conocimientos requeridos para perfil de profesores
Funcioacuten Obtener los datos de los conocimientos que debe posee un catedraacutetico
Origen Academia de cada departamento
Campos del reporte Nombre del catedraacutetico carrera del catedraacutetico conocimientos enaacutereas particulares de cada asignatura
43 Solucioacuten definida
Resolver el problema iniciando con la metodologiacutea ldquodivide y venceraacutesrdquo el problemageneral se dividiraacute en 6 problemas particulares
a) Sistema de Informacioacuten para control de horariosb) Sistema Experto para definicioacuten y generacioacuten de grupos
por abrirc) Moacutedulo Programacioacuten Loacutegica de Restricciones para
asignar horario a los gruposd) Moacutedulo Algoritmos Geneacuteticos para asignar aula a los
grupos ya definidose) Sistema Experto para definir catedraacutetico para
asignaturaf) Sistema Experto para asignar asignatura a catedraacutetico
Debido a la naturaleza y caracteriacutesticas de la informacioacuten todos lossistemas seraacuten realizados iniciando desde cero la recopilacioacuten deinformacioacuten el anaacutelisis el disentildeo y la programacioacuten de cada moacutedulo delsistema programado en Visual Basic y Bases de Datos en Access
Capiacutetulo 4 Anaacutelisis y Disentildeo
La principal ventaja de eacutesta opcioacuten es que el sistema estaacute hecho a la medida de lasnecesidades de la institucioacuten poniendo las restricciones en el formato que se tienenactualmente la desventaja es que se debe desarrollar TODO el sistema
44 Requerimientos del sistema
Los Motores de Inferencias deben ser disentildeados con las siguientes caracteriacutesticas
bull Buacutesqueda de primero en profundidad en ocasiones cuando se interactuacutee con elusuario este tipo de buacutesqueda seraacute utilizado para recorrer toda la base deconocimiento
bull Buacutesqueda heuriacutestica en la que el usuario deberaacute dar datos iniciales de por dondeempezar la buacutesqueda de alguna informacioacuten
bull Tomar informacioacuten de la Base de Conocimiento y guardarla en las bases de datos ytambieacuten inferir la informacioacuten y guardarla en las bases de datos para su posteriortratamiento e impresioacuten
bull Seleccionar la mejor opcioacuten y presentarla al usuario para los casos en que el usuariodecida cambiar alguacuten dato la maacutequina deberaacute presentar una opcioacuten y saber indicarel porqueacute la ldquoeligioacuterdquo
bull Dar otras soluciones ademaacutes de la oacuteptima teniendo porcentajes de aceptacioacuten paracada solucioacuten y permitiendo la buacutesqueda de maestros a impartir materias aulas paraalguacuten grupo o cantidad de grupos a abrir
bull Dar resultados en lenguaje natural de modo que el usuario entienda claramente loque la maacutequina le comunica
bull Trabajar interactivamente con el usuario para que eacuteste pueda cuestionar el porqueasignoacute un maestro abrioacute grupos asignoacute un aula etceacutetera
bull Tener capacidad para el uso del paradigma basado en analogiacuteas ldquoSi un maestro yadio la materia en alguacuten semestre entonces puede darla en este semestrerdquo o bien ldquoSieste paquete de materias estaacute completo entonces repite todo el paquete estesemestrerdquo
Interfaz de Usuario recibe y entrega informacioacuten interactuando con el usuario esdecir el usuario puede
1) alimentar hechos2) solicitar resultados y reportes3) cuestionar coacutemo se obtuvieron ciertas conclusiones
La interfaz de usuario debe tener las caracteriacutesticas siguientes
bull Comunicarse en el lenguaje del usuario sea un humano u otro dispositivobull Recibir hechos del usuario y almacenarlos en la base de hechosbull Presentar de manera amigable los objetivos a buscar e inferencias en pantallabull Dar de manera clara la explicacioacuten de la inferencia realizada
Capiacutetulo 4 Anaacutelisis y Disentildeo
bull Dar resultados por escrito en informesbull Proporcionar al usuario la facilidad de alimentar la base de conocimientosbull Dar al usuario la facultad de corregir las inferenciasbull Si el usuario es inexperto facilitar la ayuda necesaria
Seleccioacuten del lenguaje de programacioacuten
Visual Basic 60 proporciona a los programadores facilidad para desarrollar aplicacionescomplejas en poco tiempo (comparado con lo que cuesta programar en Visual C++ porejemplo)
El sistema necesita interfaces amigables al usuario con ventanas y botones emergentesen cualquier momento y Visual Basic 60 es una herramienta de disentildeo de aplicacionespara Windows en la que eacutestas se desarrollan en una gran parte a partir del disentildeo de unainterfaz graacutefica (pudiendo incorporar todos los elementos de este entorno informaacuteticoventanas botones cajas de diaacutelogo y texto botones de opcioacuten y de seleccioacuten barras dedesplazamiento graacuteficos menuacutes etc) En una aplicacioacuten Visual Basic 60 el programaestaacute formado por una parte de coacutedigo puro y otras partes asociadas a los objetos queforman la interfaz graacutefica Visual Basic 60 permite la programacioacuten de sus ventanasbotones y componentes de manera maacutes faacutecil que Java con sus Applets
En la parte del sistema de control de horarios que es un sistema de informacioacuten comuacutenlos programas que llenan de informacioacuten las bases de datos son muy parecidos unos conotros al hacer los procesos de altas bajas modificaciones consultas y validaciones seutilizan las ventajas que Visual Basic 60 ofrece de la Programacioacuten Orientada aObjetos (POO) eacutesta es una forma de programacioacuten que utiliza objetos ligados mediantemensajes para la solucioacuten de problemas Puede considerarse como una extensioacuten naturalde la programacioacuten estructurada en un intento de potenciar los conceptos demodularidad y reutilizacioacuten de coacutedigo Las caracteriacutesticas fundamentales de la POO sonabstraccioacuten encapsulamiento herencia y polimorfismo
Visual Basic 60 soporta la abstraccioacuten la encapsulacioacuten el polimorfismo y lareutilizacioacuten de coacutedigo Los objetos de Visual Basic estaacuten encapsulados es decircontienen su propio coacutedigo y sus propios datos
Manejador de Base de datos para el almacenamiento de la informacioacutenEl manejador de base de datos a utilizar seraacute Microsoft Access debido a que los usuariosque alimentan la base de conocimientos son expertos en diferentes aacutereas delconocimiento y tiene conocimientos limitados de los diferentes manejadores y estaacuten maacutesfamiliarizados con Microsoft Access Ademaacutes de que Access es transportablefaacutecilmente
Ademaacutes la cantidad y tipo de informacioacuten que se almacena en las tablas no requieremanejadores de bases de datos potentes o con caracteriacutesticas especiales
Capiacutetulo 4 Anaacutelisis y Disentildeo
Sistemagenerador dehorarios
SistemaExperto
Reglas
Criterios
Criterios por regla Conocimiento
Procesos
Capturaestadiacutesticas
Calcula grupos
Ajusta grupos
Sistema expertoasigna materia
Sistema Expertoasigna maestro
Asigna materia
Asigna catedraacutetico
Conocimientos
Procesos
Materias
Perfil general
Catedraacuteticos
Perfil materias
Perfil maestro
Asignacioacutenmateria-maestro
Asignacioacutenmaestro-materia
Buacutesqueda independiente
B adelante
B atraacutes
Abduccioacuten
Explicacioacuten
MoacuteduloPLR
Asigna horario
Datos
Arbol derestricciones Procesos
Materia
Grupos
Paquetes
Horario
Restriccioacuten 1
Restriccioacuten 3
Restriccioacuten 2
Restriccioacuten N
Genera random
Evaluacutea restricciones
Guarda grupo
MoacuteduloAlgoritmoGeneacutetico
Asigna aula
Operadores Geneacuteticos
Evaluacioacuten
Cruzamiento
Seleccioacuten
Mutacioacuten
Poblacioacuten Inicial
Versioacuten 1
Versioacuten 2
Versioacuten 3
Versioacuten N
Condensadodatos grales
Materia
Hora
Aula
Control escolar
Sistema deInformacioacuten
Aulas
Horarios
Grupos
Maestros
Datosestadiacutesticos
Datosgenerales
Datos condensado
Materias
45 MAPA CONCEPTUAL DEL PROYECTO
Capiacutetulo 4 Anaacutelisis y Disentildeo
Capiacutetulo 4 Anaacutelisis y Disentildeo
En la Figura 41 se muestra el mapa conceptual del proyecto La burbuja centralrepresenta el sistema generador de horarios y cada rama representa uno de los seismoacutedulos que lo componen las burbujas de cada rama contienen a su vez variasramificaciones en las que se muestran de manera graacutefica los componentes maacutesrepresentativos de los procesos utilizados la informacioacuten que manejan el conocimientoque utilizan y las restricciones involucradas
El moacutedulo Servicios Escolares contiene informacioacuten necesaria para la administracioacuten delos horarios en general y proporciona los datos para el funcionamiento de los demaacutesmoacutedulos
El moacutedulo Sistema Experto Creacioacuten de Grupos (SECG) muestra el conocimiento yprocesos utilizados para definir la cantidad de grupos a ofertar a partir de la informacioacutenestadiacutestica proporcionada por servicios escolares maacutes adelante en el documento seexplica a detalle su funcionamiento
En la Figura 41 se aprecia que los moacutedulos Sistema Experto AsignaCatedraacutetico(SEAC) y Sistema Experto Asigna Materia(SEAM) comparten las bases deconocimiento porque el conocimiento de un SE es la base de hechos del otro en amboscasos los procesos difieren solamente en la informacioacuten que utilizan y en los resultadosque producen noacutetese que existe un proceso que es ldquobuacutesqueda independienterdquo que puedecatalogarse como un Sistema Experto adicional que sirve para sugerir las asignaturasque puede impartir una persona que no estaacute dentro de las bases de datos de maestros ypor lo tanto su perfil tampoco estaraacute capturado en esta caso los hechos (su perfil deconocimientos) es capturado en el momento de la consulta
El moacutedulo de Algoritmos Geneacuteticos (AG) muestra los datos que recibe como se generauna poblacioacuten inicial el tratamiento que se le aplica por medio de los operadoresgeneacuteticos y la informacioacuten que se genera
Por uacuteltimo en la Figura 41 se nota tambieacuten el moacutedulo donde se utiliza la ProgramacioacutenLoacutegica de Restricciones que contiene 3 ramas donde una representa los datos recibidosy la informacioacuten generada otra rama denota un aacuterbol de restricciones que deben sersatisfechas por los paquetes de horarios la uacuteltima rama denota los procesos que se llevana cabo debe notarse que existe un proceso aleatorio que genera cada grupo un procesoque evaluacutea el grupo contra las restricciones y uno mas que guarda los grupos quecumplieron con todas
En este mapa conceptual no se muestra en que orden se ejecuta cada moacutedulo delproyecto la Figura 42 ilustra la secuencia de ejecucioacuten de los moacutedulos
La Figura 42 muestra el diagrama con la secuencia en que se van ejecutando losprocesos los datos que ingresan a cada moacutedulo y la informacioacuten que genera
Capiacutetulo 4 Anaacutelisis y Disentildeo
452 MAPAS CONCEPTUALES DE LOS MOacuteDULOS
Servicios Escolares
Datos Estadiacutesticos
Sistema Experto Creacioacuten de Grupos
Materias y grupos requeridos
Moacutedulo PLR
Materia + grupo + hora
Moacutedulo AG
Materia + grupo + hora + aula
Sistema ExpertoAsigna Catedraacutetico Sistema Experto
Asigna Materia
Sugiere profesorpara asignaturas
Sugiere asignaturapara profesor
Materia + grupo + hora + aula +profesor
Condensado final de materias
1
2
3
4
5 6
Fig 42 Diagrama de secuencia
Capiacutetulo 4 Anaacutelisis y Disentildeo
Como puede verse todo inicia cuando Servicios Escolares enviacutea la informacioacuten a laDivisioacuten de Estudios Profesionales (donde ldquohabitanrdquo los coordinadores) quienes son losresponsables de la elaboracioacuten de los horarios
Un primer proceso captura la informacioacuten que proviene de Servicios Escolares elsegundo moacutedulo define cuantos grupos deben programarse el tercer proceso asigna lahora a cada grupo el cuarto moacutedulo es el proceso que asigna las aulas los procesosquinto y sexto sirven para sugerir queacute catedraacutetico es el maacutes adecuado para cada grupo ycomo resultado final se tiene el condensado final de horarios para el siguiente semestre
En la Figura 43 se muestran los componentes del primer Sistema Experto utilizado paradefinir la cantidad de grupos que deben ofertarse el proacuteximo semestre en la partesuperior izquierda de la figura esta el coordinador de la carrera quien es el encargado decargar el conocimiento a las Bases de Conocimiento utilizando la interfaz de experto esla persona indicada para definir los criterios que tiene cada materia define las reglaspara la agrupacioacuten de los criterios y define en cada regla que tipo de ajuste se realiza
Experto
Coordinador
Interfaz Experto
Base deConocimientos
CriteriosReglasAjustes
Motor de Inferencia ListasMateriasGrupos requeridos
UsuarioMoacutedulo Explicacioacuten
Usuario(coordinador
novato)
Interfaz Usuario
Base Hechos
Informacion Estadiacutestica
Fig 43 Sistema Experto Generador de Grupos
Capiacutetulo 4 Anaacutelisis y Disentildeo
El usuario en la parte inferior de la figura puede ser el coordinador o su asistente y seencarga de capturar la informacioacuten estadiacutestica proporcionada por servicios escolares queson los datos de alumnos inscritos actualmente en cada materia el iacutendice de reprobacioacutenlos alumnos inscritos en la materias prerrequisito una simulacioacuten de los alumnosprobables para cursar esa materia si todos los inscritos aprueban todo y los alumnos quepueden cursar las materias pero no se inscribieron
Con los datos anteriores se realiza la siguiente operacioacuten
(Inscritos en materia iacutendice de reprobacioacuten de materia) 100 +Alumnos no inscritos +Alumnos en prerrequisito ndash (alumnos en prerrequisito iacutendice de reprobacioacuten) 100 +(Simulacioacuten ndash alumnos en prerrequisito ndash no inscritos) = Alumnos del proacuteximo semestre
Este uacuteltimo dato (alumnos del proacuteximo semestre) proporciona la cantidad de alumnospor materia que pueden inscribirse en los grupos seguacuten los estadiacutesticos de ServiciosEscolares pero no contempla preferencias de alumnos conveniencia de inscripcioacuten etc
Ofrecer los grupos necesarios para la inscripcioacuten de alumnos tomando el dato calculadoocasiona que al terminar las inscripciones existan grupos vaciacuteos grupos sobresaturadosalumnos con pocas materias y varios problemas mas
La finalidad de este Sistema Experto es realizar un ajuste al dato calculadoanteriormente para incluir en su caacutelculo todas aquellas caracteriacutesticas y experiencia delcoordinador para minimizar los problemas mencionados en el paacuterrafo anterior
Los ajustes pueden ser de varios tiposbull Ajuste draacutestico hacia abajo Se aplica una reduccioacuten del 50 al dato calculadobull Ajuste hacia arriba Se agrega un grupo maacutes al dato calculadobull Ajuste hacia abajo Se resta un grupo al dato calculadobull Ajuste numeacuterico Se ajusta utilizando la regla del redondeo de decimalesbull Ajuste draacutestico hacia arriba Se suman 2 oacute 3 grupos al dato calculado
Cuando utilizar una u otra regla estaacute definido por los criterios que cada materia contienenaturalmente y que con el paso de los semestres puede variar (aunque tambieacuten puedenpasar antildeos sin sufrir ninguacuten cambio)
La Figura 44 describe la utilizacioacuten de la teacutecnica de la Inteligencia Artificial llamadaProgramacioacuten Loacutegica de Restricciones para generar el condensado de grupos a partir deuna lista de materias que contiene solamente el nombre y la cantidad de grupos que sedeben abrir de una materia
Capiacutetulo 4 Anaacutelisis y Disentildeo
EoseX
Ugacgg
Lgc
s
ListasMaterias
Procesoformador depaquetes
Lista grupo +paquete
Moacutedulo generadorRandom Hora
Restricciones satisfec
Restriccio
Materia +hora
Moacuteduloverificadorrestriccione
s
Restriccionesnosatisfechas
Fig 44 Diagrama del moacutedulo Programacioacuten Loacutegica de Restriccione
xiste un proceso inicial que forma los ldquopaquetesrdquo de grupos esto es las materias serdenan por el semestre al que corresponden (generalmente son 6 materias poremestre) despueacutes para cada semestre se generan los grupos correspondientes si porjemplo se deben hacer 3 grupos de la materia X se generan tres registros de la materia y cada registro se etiqueta
Materia X grupo AA Materia X grupo AB y Materia X grupo AC
na vez que todas las materias han sido generadas y ldquoempaquetadasrdquo se pasan alenerador de horario en bloques de un paquete a la vez Este proceso funcionasignando un horario aleatorio a cada grupo despueacutes se verifica que cada grupo cumplaon todas las restricciones que son del tipo grupo no ldquochocardquo con otro del paqueterupo proporciona horario continuo al paquete grupo tiene horario de 2 horas por diacutearupo no deja horas vaciacuteas en paquete grupo cumple con todas sus horas asignadas etc
a Figura 45 muestra el disentildeo del Algoritmo Geneacutetico utilizado para asignar aula a losrupos que provienen del moacutedulo anterior (PLR) y recibe como datos de entrada unondensado de horarios (materia + grupo + hora)
Capiacutetulo 4 Anaacutelisis y Disentildeo
Procesoevaluacioacuten
Condensado
Materia +Grupo +Hora
Generador de versiones aleatorias
Genera versioacuten asigna aula
Versioacuten 3
Versioacuten 2
Versioacuten 1
Versioacuten N
Poblacioacuten inicial
ProcesoseleccioacutenProceso cruzamiento
clonacioacuten mutacioacuten
Versioacuten z
Versioacuten y
Versioacuten x
Versioacuten w
Nueva generacioacuten
Individuos aptos
Individuos no aptosReciclaje
CondensadoMateria + grupo +hora + aula
Fig 45 Diagrama del moacutedulo Algoritmo Geneacutetico
Capiacutetulo 4 Anaacutelisis y Disentildeo
Esta rama de la Inteligencia Artificial es utilizada generalmente para procesos deoptimizacioacuten y en esta ocasioacuten se utiliza para asignar las aulas al condensado dematerias
Al inicio se reciben como datos generales el condensado de materias La poblacioacuteninicial se obtiene copiando N veces (N versiones) este condensado y agregando a cadaregistro el nuacutemero de versioacuten y un aula asignada de manera aleatoria de esta manera seobtienen N versiones diferentes del condensado original
Cada versioacuten es entonces evaluada contando el nuacutemero de choques en aula y la cantidadde espacios vaciacuteos por aula a cada versioacuten se le genera un vector para guardar laevaluacioacuten (cromosoma de evaluacioacuten) y de esta manera se mide el grado de aptitud quetiene cada versioacuten
Las versiones que tienen menos choques y menos espacios vaciacuteos se consideran con ungrado de aptitud alto y son las mejores al contrario las que tienen muchos choquesson consideradas de aptitud baja no sirven para la reproduccioacuten y son desechadas
Una vez seleccionadas la mejores versiones se procede a la aplicacioacuten de los operadoresgeneacuteticos el primero que se aplica es el cruzamiento y consiste en elegir dos versionesde alta aptitud tomar segmentos seleccionados heuriacutesticamente de ellas y formar unnuevo individuo (una nueva versioacuten) se repite este proceso Y veces con las diferentesversiones hasta tener una nueva generacioacuten de N condensados de horarios
Repetir este proceso de generacioacuten evaluacioacuten y seleccioacuten durante Z generacionesaplicando cuando se necesite la clonacioacuten que es un proceso de copiar completamenteuna versioacuten (con alto grado de aptitud) a la nueva generacioacuten
Al principio la convergencia hacia horarios sin choques en aula es raacutepida pero al pasode las generaciones disminuye entonces se debe usar la mutacioacuten que es un proceso deacceder manualmente los registros de alguna versioacuten Zi en la generacioacuten Z y corregiralguacuten aula al final despueacutes de varias generaciones selecciones cruzamientosclonaciones y mutaciones se obtiene un condensado de aulas libres de choques y conpocos espacios vaciacuteos
En la Figura 46 se muestran los componentes del Sistema Experto utilizado para sugerircuales son los catedraacuteticos que mejor se desempentildeariacutean para impartir una asignaturatomando en cuenta los conocimientos que tiene un profesor (adquiridos a lo largo de sucarrera) y cuales son los conocimientos necesarios para impartir la caacutetedra de algunaasignatura
Capiacutetulo 4 Anaacutelisis y Disentildeo
Todo inicia haciendo una encuesta a los profesores acerca del perfil y los conocimientosnecesarios para poder impartir una asignatura el objetivo de la misma y los principalestemas que abarca todo lo anterior se captura en la base de hechos como el perfil de lamateria
Posteriormente se hace otra encuesta a los profesores pidieacutendoles que seleccionencuales son los conocimientos y el grado de dominio que tienen de los diferentes toacutepicosde las asignaturas esto se convierte en el perfil del catedraacutetico Por uacuteltimo con unproceso de induccioacuten se determina para cada materia cual es el grado de certeza con elcual puede un profesor impartir una asignatura
Experto
Coordinador
Interfaz Experto
Base deConocimientos
CatedraacuteticosConocimientos profesorPerfil profesor
Motor de Inferencia Lista profesores paraimpartir una materia
Jefedepartamento
Moacutedulo Explicacioacuten
Usuario(coordinador
novato)
Interfaz Usuario
Base Hechos
Perfil
Fig 46 Diagrama de Sistema Experto para sugerir profesor a asignatura
Capiacutetulo 4 Anaacutelisis y Disentildeo
Noacutetese en la Figura 47 que el coordinador captura el conocimiento referente a lasasignaturas (objetivo temas caracteriacutesticas necesarias para impartirla) y este esalmacenado en la Base de Conocimientos
Por otro lado un profesor debe llenar una encuesta en la que indique cuales son lostemas que domina y en que porcentaje lo hace (esto es el perfil del catedraacutetico) estainformacioacuten se almacena en la base de hechos--
El Motor de Inferencia hace los matchs respectivos y genera una lista de las materias quepuede impartir un profesor y con que grado de certeza estaacute capacitado para hacerlo
Por uacuteltimo el moacutedulo de explicacioacuten informa el porqueacute dio esa inferencia mostrando lascaracteriacutesticas de materia y profesor que hicieron match
Fig 47 Diagrama de Sistema Experto para sugerir asignaturas para catedraacutetico
Experto
Coordinador
Interfaz Experto
Base deConocimientos
MateriasCaracteriacutesticas MateriasPerfil materia
Motor de Inferencia Lista materias para unprofesor
Profesor
Moacutedulo Explicacioacuten
Profesor nuevoInterfaz Usuario
Base Hechos Perfil profesor
Capiacutetulo 4 Anaacutelisis y Disentildeo
453 Diagrama de contextoEn la Figura 48 se detallan los elementos que intervienen aportando y recibiendoinformacioacuten para el funcionamiento del sistema
Los departamentos acadeacutemicos aportan al sistema una lista con los catedraacuteticos quelaboran ahiacute incluye los datos personales de los profesores nuacutemero de tarjeta nombrecarrera etc Los coordinadores de carrera son los responsables de la elaboracioacuten de loshorarios estos funcionarios son la pieza fundamental de este proceso porque aportan susconocimientos para
bull Definir el ajuste al dato estadiacutestico proporcionado por Servicios Escolaresbull Definir las restricciones para la creacioacuten de los paquetes de gruposbull Definir las restricciones para asignar hora a cada grupobull La distribucioacuten de los grupos en las aulasbull Asignar la asignatura que mejor puede impartir un catedraacuteticobull Asignarle a una asignatura al profesor que mejor puede impartirla
El departamento de Servicios Escolares es el iniciador del proceso de la elaboracioacuten dehorarios aporta los datos estadiacutesticos obtenidos de la situacioacuten escolar actual de losalumnos cada alumno estaacute inscrito en alguna de las 8 carreras que se ofrecen en elInstituto estaacute cursando entre 5 y 8 asignaturas por semestre en cada periodo acredita oreprueba algunas materias En cada carrera se tiene un mapa reticular que incluyeaproximadamente 50 asignaturas con prerrequisitos creacuteditos horas en aula horas enlaboratorio orden por semestre etc
El departamento Divisioacuten de Estudios Profesionales (donde estaacuten adscritos loscoordinadores de carrera) es el responsable de distribuir las aulas disponibles delInstituto entre los distintos coordinadores las aulas son un recurso escaso y por lo tantovalioso de esta distribucioacuten depende en gran medida la holgura o estrechez que tienenlos coordinadores para asignar las aulas a los grupos creados
Los profesores son otro de los recursos valiosos de una institucioacuten son los responsablesde transmitir sus conocimientos a los alumnos cada catedraacutetico posee conocimientos dediversas aacutereas toacutepicos y ramas del saber humano el perfil del catedraacutetico estaacute enrelacioacuten directa con el dominio que tiene de cada una de ellas y varia desde unconocimiento superficial hasta el dominio total de un aacuterea
Los generadores random de los moacutedulos PLR y AG proporcionan la informacioacutennecesaria generada de manera aleatoria para el funcionamiento de esos moacutedulos
A los coordinadores y alumnos se les proporciona un condensado de horarios losalumnos conocen los grupos a los que se pueden inscribir las horas las aulas y loscatedraacuteticos que las impartiraacuten
Capiacutetulo 4 Anaacutelisis y Disentildeo
Sistema para laelaboracioacuten de
horarios
Departamentosacadeacutemicos
Jefes dedepartamento
Divisioacuten deEstudios
Profesionales
DepartamentoServiciosEscolares
Alumnos
Coordinadoresde carrera
Coordinadoresde carrera
Lista catedraacuteticos disponibles
Conocimientos
Reporte datos estadiacutesticos
Lista aulas disponibles
Condensado de horarios
Horarios disponibles
Lista horarios profesores
Profesores Generadoresaleatorios
Perfil maestro
Horas y aulas aleatorios
Fig 48 Diagrama de contexto del proyecto
Cap
iacutetulo
4
Anaacute
lisis
y D
isentilde
o
Sist
ema
para
lael
abor
acioacute
n de
hora
rios
Dep
arta
men
tos
acad
eacutemic
os
Div
isioacute
n de
Estu
dios
Prof
esio
nale
s
Dep
arta
men
toSe
rvic
ios
Esco
lare
sC
oord
inad
ores
de c
arre
ra
List
a ca
tedr
aacutetic
os d
ispo
nibl
es
Con
ocim
ient
osR
epor
teda
tose
stad
iacutestic
osLi
sta
aula
s dis
poni
bles
Prof
esor
esG
ener
ador
esal
eato
rios
Perf
il m
aest
roH
oras
y a
ulas
Fig
49
Dia
gram
a de
func
ione
s fun
dam
enta
les (
entra
das)
Cap
tura
supe
rfil
deco
noci
mie
nto
Cap
tura
las
aula
s
Enviacute
a da
tos
Cap
tura
suco
noci
mie
nto
Enviacute
a da
tos
depr
ofes
ores G
ener
ada
tos
Cla
ve n
ombr
eho
ras
turn
o
Tips
tru
cos
cono
cim
ient
ohe
uriacutes
tico
Cla
ve c
apac
idad
ed
ifici
o
Alu
mno
sin
scrit
os
sim
ulac
ioacuten
no
insc
ritos
iacutend
ice
repr
obac
ioacuten
Toacutepi
cos y
tem
asqu
e do
min
aA
ula
y ho
raal
eato
rios
Capiacutetulo 4 Anaacutelisis y Disentildeo
Sistema para laelaboracioacuten de
horarios
Coordinadoresde carrera
Jefes dedepartamento Alumnos
Fig 410 Diagrama de funciones fundamentales (salidas)
Imprimecondensado
Imprime lista Imprimehorarios
Maestro materiahora
Materia grupohora aula
maestrosugerido
Condensado de horarios Horarios disponibles
Lista horarios profesores
Materia grupohora aula
maestro
Capiacutetulo 4 Anaacutelisis y Disentildeo
454 Diagrama entidad - relacioacuten
NOTA Los siguientes diagramas muestran las tablas utilizadas por cada moacutedulo paramayor claridad se repitieron las tablas necesarias para representar cada parte del sistemapero en la base de datos no existe tal duplicacioacuten
Este diagrama contiene las tablas del moacutedulo administrativo de los horarios en unprincipio eacutestas eran las uacutenicas tablas de un sistema de control de horarios
FK_HORARIOS_REFERENCE_MATERIASFK_MATERIAS_REFERENCE_SERVICIO
FK_MATERIAS_REFERENCE_RAMA_MAT FK_MATERIAS_REFERENCE_CARRERAS
HORARIOS
GrupoId_aulaHora_inicioHora_lunesHora_martesHora_miercolesHora_juevesHora_viernesHora_sabadoObservacionesPeriodoAnioid_materiaId_catedratico
Text(2)INTEGERINTEGERText(6)Text(6)Text(6)Text(6)Text(6)Text(6)Text(30)Text(20)INTEGERINTEGERSMALLINT
ltfk3gt
ltfk2gtltfk1gt
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
MATERIAS
SERVICIOS_ESCOLARESId_materiaINSCRITOSNO INSCRITOSSIMULACIONPROXIMO SEMESTREGRUPOS REQUERIDOSIndice de reprobacionperiodoantildeoGrupos ajustadoAlumnos ajustadoId_ajusteId_regla
INTEGERSMALLINTSMALLINTSMALLINTSMALLINTDOUBLEDOUBLEText(7)INTEGERSMALLINTSMALLINTINTEGERSMALLINT
RAMA_MATERIA
Id_ramaNombre_rama
COUNTERText(30)
ltpkgt
CARRERAS
Id_CarreraNombre_carrera
Text(15)Text(50)
ltpkgt
Fig 411 Diagrama entidad ndash relacioacuten del moacutedulo administrativo
Capiacutetulo 4 Anaacutelisis y Disentildeo
Este diagrama muestra las tablas donde se almacena el conocimiento de loscoordinadores para que el Sistema Experto del moacutedulo sugiera y aplique el ajuste aldato de cantidad de grupos sugerido por Servicios Escolares La relacioacuten entre las tablasva generando las reglas de produccioacuten
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave asig prerrequisitoclave asig prerrequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
REGLAS
DescriId_reglaId_ajusteTot_peso
Text(70)COUNTERINTEGERINTEGER
ltpkgtltfkgt
FK_MATERIAS_REFERENCE_SERVICIO
FK_HECHOS_R_REFERENCE_CRITERIO
FK_HECHOS_R_REFERENCE_REGLAS
FK_HISTORIA_REFERENCE_REGLAS
FK_HISTORIA_REFERENCE_CRITERIO
FK_REGLAS_REFERENCE_AJUSTES
FK_HISTORIA_REFERENCE_MATERIAS
FK_HISTORIA_REFERENCE_CRITERIO
SERVICIOS_ESCOLARES
Id_materiaINSCRITOSNO INSCRITOSSIMULACIONPROXIMO SEMESTREGRUPOS REQUERIDOSIndice de reprobacioacutenperiodoantildeoGrupos ajustadoAlumnos ajustadoId_ajusteId_regla
INTEGERSMALLINTSMALLINTSMALLINTSMALLINTDOUBLEDOUBLEText(7)INTEGERSMALLINTSMALLINTINTEGERSMALLINT
HECHOS_REGLAS
Id_criterioId_reglaPromedio
INTEGERINTEGERINTEGER
ltfk2gtltfk1gt
CRITERIOS
Id_criterioDescripcion
COUNTERText(60)
ltpkgt
HISTORIAL_CRITERIOS
Id_criterioId_reglaPeso de la regla
INTEGERINTEGERSMALLINT
ltfk2gtltfk1gt
AJUSTES
TipoDescripcionId_ajuste
Text(25)MemoCOUNTER ltpkgt
HISTORIAL_MATERIA
Id_materiaId_criterioprioridad
INTEGERINTEGERSMALLINT
ltfk2gtltfk1gt
Fig 412 Diagrama E-R del moacutedulo para determinar y ajustar nuacutemero de grupos
Capiacutetulo 4 Anaacutelisis y Disentildeo
En este diagrama se muestra la base de datos que almacena la informacioacuten quemanipula el moacutedulo Algoritmo Geneacutetico las tablas maacutes representativas sonPOBLACION donde se guardan todas las versiones que forman las generaciones dehorarios y CROMOSOMAS que almacena el registro de evaluacioacuten de cada versioacuten dehorarios
FK_HORARIO__REFERENCE_AULAS
FK_HORARIO__REFERENCE_POBLACIO
FK_MATERIAS_REFERENCE_TIPO_HOR
FK_POBLACIO_REFERENCE_AULAS
FK_POBLACIO_REFERENCE_MATERIAS
FK_POBLACIO_REFERENCE_CROMOZOM1 1
HORARIO_AULA
VersionAulaLunesMartesMiercolesJuevesViernesSabadoHoraId_aula
INTEGERText(6)SMALLINTSMALLINTSMALLINTSMALLINTSMALLINTSMALLINTSMALLINTINTEGER
ltfk2gt
ltfk1gt
AULAS
Id_aulaCapacidad_aulaNombre_aulaDisponible
COUNTERSMALLINTText(50)YesNo
ltpkgt
POBLACION
Id_materiaGrupoId_catedraticoAulaHora_inicioHora_lunesHora_martesHora_miercolesHora_juevesHora_viernesVersionId_aulaPeriodoAnio
INTEGERText(4)INTEGERText(4)INTEGERText(6)Text(6)Text(6)Text(6)Text(6)INTEGERINTEGERText(10)INTEGER
ltfk2gt
ltfk1gtltfk3gt
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
TIPO_HORARIO
Tipo_horario
DescripcionLunes
MartesMiercoles
Jueves
ViernesSabado
COUNTER
Text(20)SMALLINT
SMALLINTSMALLINT
SMALLINT
SMALLINTSMALLINT
ltpkgt
CROMOZOMAS
VersionSemestreChoquesVacias
INTEGERINTEGERINTEGERINTEGER
ltpkgt
Fig 413 Diagrama E-R del moacutedulo para asignar aulas (Algoritmo Geneacutetico)
Capiacutetulo 4 Anaacutelisis y Disentildeo
En esta Figura 414 se pueden observar las tablas involucradas en el proceso paragenerar los paquetes de materias por semestre y la asignacioacuten de horario a cada grupodel paquete utilizando la teacutecnica Programacioacuten Loacutegica de Restricciones noacutetese que noexiste una tabla de restricciones eacutestas se aplican por software a cada grupo generado
FK_MATERIAS_REFERENCE_SERVIC
FK_MATERIAS_REFERENCE_TIPO_H
FK_HORARIOS_REFERENCE_MATERI
MATERIA
Id_materiMateriNum de HrsNum de HrsClave deId_CarrerCreditoSemestrObservacioneTroncoalumnos porclave de asigclave de asigId_ramSuma_maOrdeTipo_horari
INTEGEText(40SMALLINSMALLINText(8Text(15SMALLINSMALLINText(60YesNSMALLINText(40Text(40INTEGESMALLINSMALLININTEGE
ltpkfk4
ltfk1
ltfk3
ltfk2
SERVICIOS_ESCOLARE
Id_materiINSCRITONOSIMULACIOPROXIMOGRUPOSIndice deperiodantildeGruposAlumnosId_ajustId_regl
INTEGESMALLINSMALLINSMALLINSMALLINDOUBLDOUBLText(7INTEGESMALLINSMALLININTEGESMALLIN
TIPO_HORARI
Tipo_horariDescripcioLuneMarteMiercoleJueveVierneSabad
COUNTEText(20SMALLINSMALLINSMALLINSMALLINSMALLINSMALLIN
ltpk
HORARIO
GrupId_aulHora_iniciHora_luneHora_marteHora_miercoleHora_jueveHora_vierneHora_sabadObservacionePeriodAniid_materiId_catedratic
Text(2INTEGEINTEGEText(6Text(6Text(6Text(6Text(6Text(6Text(30Text(20INTEGEINTEGESMALLIN
ltfk3
ltfk2ltfk1
Fig414 Diagrama E-R del moacutedulo para asignar horario (PLR)
Capiacutetulo 4 Anaacutelisis y Disentildeo
FK_HECHOS_M_REFERENCE_MATERIAS
FK_HECHOS_M_REFERENCE_CATEDRAT
HECHOS_MAT_PROF
Id_catedraticoId_materiaPromedio
SMALLINTSMALLINTSMALLINT
ltpkfk1gtltpkfk2gt
FK_PERFIL_C_REFERENCE_CATEDRAT
FK_PERFIL_C_REFERENCE_PERFILES
FK_PERFILES_REFERENCE_TIPO_PER
FK_PROF_PAR_REFERENCE_CATEDRAT
FK_PROF_PAR_REFERENCE_MATERIAS
PERFIL_CATEDRATICO
Id_catedraticoId_perfilPrioridad_perfil_cate
SMALLINTINTEGERSMALLINT
ltfk1gtltfk2gt
CATEDRATICOS
Id_catedraticoApellido_paternoApellido_maternoNombre_catedraticoTitulo_catedraticoSuma_cate
SMALLINTText(20)Text(20)Text(20)Text(30)SMALLINT
ltpkgt
PERFILES
Id_perfilId_tipoDescripcion_perfil
COUNTERINTEGERText(60)
ltpkgtltfkgt
TIPO_PERFIL
Id_tipoTipo_perfil
COUNTERText(30)
ltpkgt
PROF_PARA_MAT
Id_materiaId_catedraticoPorcentaje_cate
INTEGERSMALLINTSMALLINT
ltpkfk2gtltpkfk1gt
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
Fig 415 Diagrama E-R del moacutedulo designa mejor catedraacutetico (Sistema Experto)
Capiacutetulo 4 Anaacutelisis y Disentildeo
En las figuras de la paacutegina anterior y eacutesta (Fig 415 y 416) se muestran las tablasutilizadas por los Sistemas Expertos para sugerir que materias puede impartir unprofesor y tambieacuten sugiere que profesores pueden impartir una asignatura
FK_PERFILES_REFERENCE_TIPO_PER
FK_PERFIL_M_REFERENCE_MATERIAS
FK_PERFIL_M_REFERENCE_PERFILES
FK_MAT_PARA_REFERENCE_MATERIAS
FK_MAT_PARA_REFERENCE_CATEDRAT
FK_HECHOS_M_REFERENCE_MATERIAS
FK_HECHOS_M_REFERENCE_CATEDRAT
PERFILES
Id_perfilId_tipoDescripcion_perfil
COUNTERINTEGERText(60)
ltpkgtltfkgt
TIPO_PERFIL
Id_tipoTipo_perfil
COUNTERText(30)
ltpkgt
PERFIL_MATERIA
Id_materiaId_perfilPrioridad_perfil_mat
INTEGERINTEGERINTEGER
ltfk2gtltfk1gt
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
MAT_PARA_PROF
Id_catedraticoId_materiaPorcentaje_mat
SMALLINTINTEGERSMALLINT
ltpkfk1gtltpkfk2gt
CATEDRATICOS
Id_catedraticoApellido_paternoApellido_maternoNombre_catedraticoTitulo_catedraticoSuma_cate
SMALLINTText(20)Text(20)Text(20)Text(30)SMALLINT
ltpkgt
HECHOS_MAT_PROF
Id_catedraticoId_materiaPromedio
SMALLINTSMALLINTSMALLINT
ltpkfk1gtltpkfk2gt
Fig 416 Diagrama E-R del moacutedulo selecciona mejor materia (sistema experto)
Capiacutetulo 4 Anaacutelisis y Disentildeo
455 Diccionario de la Base de Datos
Nombre HORARIOS_CON_CONOCIMIENTOComentario Base de datos del sistema ldquoGeneracioacuten de horarios mediante Sistemas
Basados en ConocimientordquoDBMS Microsoft Access 97
Lista de Tablas
Nombre Tipo deObjeto
AJUSTES TableAULAS TableCARRERAS TableCATEDRATICOS TableCRITERIOS TableCROMOSOMAS TableHECHOS TableHECHOS_MAT_PROF TableHECHOS_PROF_MAT TableHECHOS_REGLAS TableHISTORIAL_CRITERIOS TableHISTORIAL_MATERIA TableHORARIO_AULA TableHORARIOS TableMAT_PARA_PROF TableMATERIAS TablePERFIL_CATEDRATICO TablePERFIL_MATERIA TablePERFILES TablePOBLACION TablePROF_PARA_MAT TableRAMA_MATERIA TableREGLAS TableSERVICIOS_ESCOLARES TableTIPO_HORARIO TableTIPO_PERFIL Table
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla AJUSTESFuncioacuten Almacena los datos de los tipos de ajuste que se aplican por el Sistema Experto al
dato estadiacutestico que define cuantos grupos se deben abrir de cada materia
Lista de columnas de la tabla AJUSTESNombre Tipo de
DatoLong Llave
Primaria ForaneaComentario
Tipo Text(25) 25 Nombre del tipo de ajusteDescripcioacuten Memo Explicacioacuten del ajuste a realizar al nuacutemero
de grupos calculados segun estadisticosId_ajuste COUNTER 4 X Identificador del ajuste
Tabla AULASFuncioacuten Almacena los datos de las aulas que existen en cada edificio del instituto
Lista de columnas de la tabla AULASNombre Tipo de
DatoLong Llave
Primaria ForaneaComentario
Id_aula COUNTER 4 X Identificador del aulaCapacidad_aula SMALLINT 4 Nuacutemero maacuteximo de alumnos en el
aulaNombre_aula Text(50) 50 Nombre del aula (edificio+numero)Disponible YesNo 1 Disponibilidad del aula
Tabla CARRERASFuncioacuten Almacena los datos de las carreras que se imparten en el ITZ
Lista de columnas de la tabla CARRERASNombre Tipo de
DatoLong Llave
Primaria ForaneaComentario
Id_Carrera Text(15) 15 X Clave de la carreraNombre_carrera Text(50) 50 Nombre de la carrera
Tabla CATEDRATICOSFuncioacuten Almacena los datos de los CATEDRAacuteTICOS que imparten clases en las diferentes carreras del
Instituto Se utilizan los datos en los Sistemas Expertos que definen cual es el mejor catedraacuteticopara impartir una materia
Capiacutetulo 4 Anaacutelisis y Disentildeo
Lista de columnas de la tabla CATEDRATICOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Nuacutemero de tarjeta del catedraacuteticoApellido_paterno Text(20) 20 Apellido paterno del catedraacuteticoApellido_materno Text(20) 20 Apellido materno del catedraacuteticoNombre_catedratico Text(20) 20 Nombre del catedraacuteticoTitulo_catedratico Text(30) 30 Grado de estudios y tiacutetulo del
catedraacuteticoSuma_cate SMALLINT 4 Suma total de las pesos de los perfiles
pertenecientes al catedraacutetico
Tabla CRITERIOSFuncioacuten Tabla de los criterios utilizados por el experto para crear las reglas que definen el tipo de
ajuste inferido por el Sistema Experto para definicioacuten de grupos por abrir
Lista de columnas de la tabla CRITERIOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_criterio COUNTER 4 X Identificador del criterio aplicado auna materia para crear grupos
Descripcion Text(60) 60 Descripcioacuten del criterio
Tabla CROMOSOMASFuncioacuten Almacena los datos de la evaluacioacuten de cada versioacuten de horarios generada ya sea por la
poblacioacuten inicial o por los operadores geneacuteticos se genera un cromosoma por cadasemestre en cada versioacuten
Lista de columnas de la tabla CROMOSOMASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Version INTEGER 4 X Nuacutemero de individuo o versioacuten dehorarios
Semestre INTEGER 4 Semestre al que pertenece el datoChoques INTEGER 4 Nuacutemero de choques de versioacuten y
semestreVacias INTEGER 4 Nuacutemero de aulas vaciacuteas del individuo
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla HECHOS_MAT_PROFFuncioacuten Esta tabla almacena el resultado de la inferencia del Sistema Experto materias para
profesor indica para cada catedraacutetico las materias y el porcentaje de certeza con quepuede impartirlas
Lista de columnas de la tabla HECHOS_MAT_PROFNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Identificador del catedraacuteticoId_materia SMALLINT 4 X Identificador de la asignaturaPromedio SMALLINT 4 Porcentaje de certeza con que un
profesor puede impartir una materia(resultado de la inferencia)
Tabla HECHOS_PROF_MATFuncioacuten Almacena los datos de la inferencia del Sistema Experto que calcula para una materia
determinada cuales son los mejores maestros para impartirla
Lista de columnas de la tabla HECHOS_PROF_MATNombre Tipo de
DatoLongitud
LlavePrimaria Foraacutenea
Comentario
Id_catedratico SMALLINT 4 X Identificador del catedraacuteticoId_materia SMALLINT 4 X Identificador de la asignaturaPromedio SMALLINT 4 Porcentaje de certeza con que una
materia puede ser impartida por unprofesor (resultado de la inferencia)
Tabla HECHOS_REGLASFuncioacuten Almacena los porcentajes de certeza con que se dispara una regla del Sistema Experto
que define los grupos por abrir
Lista de columnas de la tabla HECHOS_REGLASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_criterio SMALLINT 4 X Identificador del criterioId_regla SMALLINT 4 X Identificador de la reglaPromedio INTEGER 4 Porcentaje de certeza con que una
regla dispara un criterio
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla HISTORIAL_CRITERIOS
Funcioacuten Almacena las reglas formadas por los criterios utilizados por el Sistema Experto paradefinir los grupos por abrir
Lista de columnas de la tabla HISTORIAL_CRITERIOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_criterio INTEGER 4 X Identificador del criterio pertenecientea la regla
Id_regla INTEGER 4 X Identificador de la reglaPeso de la regla SMALLINT 4 Peso del criterio en la regla
Tabla HISTORIAL_MATERIAFuncioacuten Tabla que almacena la definicioacuten de cada materia con base en los criterios utilizados por
las reglas para definir por materia el nuacutemero de grupos por abrir
Lista de columnas de la tabla HISTORIAL_MATERIANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materia para suasignacioacuten de criterios
Id_criterio INTEGER 4 X Identificador del criterio que se aplicaa la materia para describirla
Prioridad SMALLINT 4 Peso del criterio en la materia
Tabla HORARIOS
Funcioacuten Almacena los datos del condensado final de horarios aquiacute se almacena el producto finaldel sistema para su posterior publicacioacuten y distribucioacuten entre la comunidad tecnoloacutegica
Lista de columnas de la tabla HORARIOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materiaGrupo Text(2) 2 Identificador del grupo A B CId_catedratico SMALLINT 4 X Catedraacutetico asignado al grupoId_aula INTEGER 4 X Aula asignada al grupoHora_inicio INTEGER 4 Hora de inicio del grupoHora_lunes Text(6) 6 Horas que se imparte el grupo el diacutea
lunes
Capiacutetulo 4 Anaacutelisis y Disentildeo
Hora_martes Text(6) 6Hora_miercoles Text(6) 6Hora_jueves Text(6) 6Hora_viernes Text(6) 6Hora_sabado Text(6) 6Observaciones Text(30) 30 Observaciones al grupoPeriodo Text(20) 20 Periodo Ene-jun o Ago-dicAnio INTEGER 4 Antildeo en que se utiliza el horario
Tabla HORARIO_AULAFuncioacuten Tabla auxiliar utilizada como almacenamiento temporal durante el proceso de evaluacioacuten
en el Algoritmo Geneacutetico guarda los datos de ocupacioacuten choques y no utilizacioacuten decada aula por hora diacutea y versioacuten
Lista de columnas de la tabla HORARIO_AULANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Version INTEGER 4 X Nuacutemero de individuo o versioacutenAula Text(6) 6 Nombre del aulaLunes SMALLINT 4 Nuacutemero de horas que se utiliza el aula
el diacutea lunesMartes SMALLINT 4Miercoles SMALLINT 4Jueves SMALLINT 4Viernes SMALLINT 4Sabado SMALLINT 4Hora SMALLINT 4 Hora de utilizacioacuten del aulaId_aula INTEGER 4 X Identificador del aula en la versioacuten
Tabla MATERIASFuncioacuten Esta es una de las principales tablas del proyecto se utiliza en todos los moacutedulos del
sistema contiene informacioacuten base para caacutelculos diversos ademaacutes contiene tambieacuten lasllaves de diferentes tablas que describen de manera de manera especial a las materias
Lista de columnas de la tabla MATERIASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia COUNTER 4 X Identificacioacuten de la materia llaveprincipal
Materia Text(40) 40 Nombre de la materiaNum de Hrs prac SMALLINT 4 Nuacutemero de horas praacutecticasNum de Hrs teo SMALLINT 4 Nuacutemero de horas teoacutericasClave de Asig Text(8) 8 Clave oficial de la materiaId_Carrera Text(15) 15 X Carrera a la que pertenece la materiaCreditos SMALLINT 4 Creacuteditos de la materia
Capiacutetulo 4 Anaacutelisis y Disentildeo
Semestre SMALLINT 4 Semestre en que se imparte la materiaObservaciones Text(60) 60Tronco comun YesNo 1 Definicioacuten de especialidad o tronco
comuacutenalumnos porgrupo
SMALLINT 4 Capacidad sugerida de los grupos deesta materia
clave de asigprerequisito
Text(40) 40 Clave de asignatura del prerrequisito
clave de asigprerequisito1
Text(40) 40 Clave de asignatura del prerrequisito
Id_rama INTEGER 4 X Identificador de la rama a la quepertenece la materia
Suma_mat SMALLINT 4 Suma total de los perfilespertenecientes a la materia
Orden SMALLINT 4 Es el nuacutemero de materia en un paqueteTipo_horario INTEGER 4 X El tipo de horario asignado a materia
Tabla MAT_PARA_PROFFuncioacuten La tabla almacena para cada catedraacutetico las asignaturas que puede impartir y el grado
de certeza con que puede hacerlo se almacena en esta tabla el resultado de la inferenciadel Sistema Experto
Lista de columnas de la tabla MAT_PARA_PROFNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Nuacutemero de tarjeta del profesorId_materia INTEGER 4 X Identificador de la materiaPorcentaje_mat SMALLINT 4 Porcentaje de certeza con que un
profesor puede impartir una materia
Tabla PERFILESFuncioacuten Tabla que contiene una relacioacuten de todas las caracteriacutesticas de las materias
caracteriacutesticas necesarias para poder impartirlas es al mismo tiempo la tabla quecontiene la relacioacuten general de los conocimientos que poseen los profesores
Lista de columnas de la tabla PERFILESNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_perfil COUNTER 4 X Identificador del perfil paraasignaciones de materias acatedraacuteticos
Id_tipo INTEGER 4 X Identificador del tipo del perfilDescripcion_perfil Text(60) 60 Descripcioacuten de una caracteriacutestica del
perfil de una materia o un catedraacutetico
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla PERFIL_CATEDRATICOFuncioacuten Tabla que contiene el perfil de todos los catedraacuteticos (pueden llamarse las reglas) del
Sistema Experto que recomienda profesores para las materias el perfil de un catedraacuteticoesta definido por los conceptos que domina de las materias
Lista de columnas de la tabla PERFIL_CATEDRATICONombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Identificador del catedraacutetico paradefinicioacuten de su perfil acadeacutemico
Id_perfil INTEGER 4 X Identificador del perfil que define aun catedraacutetico
Prioridad_perfil_cate SMALLINT 4 Porcentaje en que contribuye elperfil especificado en la definicioacutendel catedraacutetico
Tabla PERFIL_MATERIAFuncioacuten Esta tabla almacena las reglas que definen el perfil de una materia contiene las
caracteriacutesticas y temas que forman el temario de la materia
Lista de columnas de la tabla PERFIL_MATERIANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materia en laregla de la materia
Id_perfil INTEGER 4 X Identificador del perfilperteneciente a una materia
Prioridad_perfil_mat INTEGER 4 Porcentaje en que contribuye esteperfil particular a definir unamateria
Tabla PROF_PARA_MATFuncioacuten Esta tabla almacena la inferencia del Sistema Experto para determinar cuales son los
mejores profesores para impartir una materia contiene para cada asignatura una lista delos profesores y el porcentaje de certeza con que pueden desempentildearse si la imparten
Capiacutetulo 4 Anaacutelisis y Disentildeo
Lista de columnas de la tabla PROF_PARA_MATNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de materiaId_catedratico SMALLINT 4 X Identificador de catedraacuteticoPorcentaje_cate SMALLINT 4 de certeza con que el catedraacutetico X
puede impartir la materia Y
Tabla POBLACIONFuncioacuten La tabla es la maacutes importante para el moacutedulo de Algoritmo Geneacutetico porque almacena los
datos de cada individuo hipoacutetesis o versioacuten que son generados ya sea por la poblacioacuteninicial aleatoria o por los diversos operadores geneacuteticos contiene copias (versiones) delcondensado de horarios con aulas aleatorias
Lista de columnas de la tabla POBLACIONNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materiaGrupo Text(4) 4 Grupo de la materiaId_catedratico INTEGER 4 X Identificador del catedraticoAula Text(4) 4 X Nombre del aula (edificio + numero)Hora_inicio INTEGER 4 Hora de inicio del grupoHora_lunes Text(6) 6 Hora inicio del lunesHora_martes Text(6) 6Hora_miercoles Text(6) 6Hora_jueves Text(6) 6Hora_viernes Text(6) 6Version INTEGER 4 X Nuacutemero de la versioacuten o hipoacutetesisPeriodo Text(10) 10 Periodo o semestre del grupoAnio INTEGER 4 Antildeo del grupo
Tabla RAMA_MATERIAFuncioacuten La tabla almacena la clasificacioacuten de las materias de acuerdo a las ciencias a la que
pertenecen
Lista de columnas de la tabla RAMA_MATERIANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_rama COUNTER 4 X Identificador de la rama de unamateria (clasificacioacuten)
Nombre_rama Text(30) 30 Descripcioacuten de la rama de unamateria
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla REGLAS
Funcioacuten Esta tabla almacena las reglas utilizadas para generar los grupos que se deben ofertar elproacuteximo semestre indicando para cada regla el tipo de ajuste que debe aplicarse
Lista de Columnas de la Tabla REGLASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Descripcion Text(70) 70 Descripcioacuten de la regla para ajustarel nuacutemero de grupos
Id_regla COUNTER 4 X Identificador de la reglaId_ajuste INTEGER 4 X Identificador del tipo de ajuste que
se aplica cuando esta regla sedispara para alguna materia
Tot_peso INTEGER 4 Total de los pesos de lascaracteriacutesticas de esta regla
Tabla SERVICIOS_ESCOLARESFuncioacuten En esta tabla se almacenan los datos estadiacutesticos de cada materia que provienen de
Servicios Escolares para el caacutelculo del nuacutemero de grupos que deben abrirse para elproacuteximo semestre contiene tambieacuten los paraacutemetros proporcionados por el SistemaExperto para realizar el ajuste al nuacutemero de grupos calculado inicialmente
Lista de columnas de la tabla SERVICIOS_ESCOLARESNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materiaINSCRITOS SMALLINT 4 Nuacutemero de alumnos inscritos
actualmente en el grupoNO INSCRITOS SMALLINT 4 Nuacutemero de alumnos que pueden
cursar la materia pero no seinscribieron
SIMULACION SMALLINT 4 Simulacioacuten de Servicios Escolaresde alumnos que podraacuten cursar lamateria
PROXIMOSEMESTRE
SMALLINT 4 Resultado del calculo de ServEscolares de alumnos que cursaraacutenla materia
GRUPOSREQUERIDOS
DOUBLE 4 Grupos requeridos para abrirproacuteximo semestre seguacuten caacutelculosiniciales
Indice dereprobacion
DOUBLE 4 Indice de reprobacioacuten de la materia
periodo Text(7) 7 Periodo de caacutelculo de horarios actual(semestre ene-jun o ago-dic)
Capiacutetulo 4 Anaacutelisis y Disentildeo
antildeo INTEGER 4 Antildeo de caacutelculo de horariosGrupos ajustado SMALLINT 4 Nuacutemero de grupos a solicitar para
abrir proacuteximo semestreAlumnos ajustado SMALLINT 4 Caacutelculo final del numero de alumnos
del proacuteximo semestre en estamateria
Id_ajuste INTEGER 4 X Tipo del ajuste aplicado por elSistema Experto al campogrupos_requeridos
Id_regla SMALLINT 4 X Regla que se disparo para realizar elajuste
Tabla TIPO_HORARIOFuncioacuten Esta tabla almacena los formatos de los distintos tipos de horario que existen y se ofrecen
para cada materia horarios de 2345 diacuteas a la semana y de 123 o 4 horas por diacutea
Lista de columnas de la tabla TIPO_HORARIONombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Tipo_horario COUNTER 4 X Identificador del tipo de horarioDescripcion Text(20) 20 Descripcioacuten del tipo de horarioLunes SMALLINT 4 Nuacutemero de horas del lunesMartes SMALLINT 4 Nuacutemero de horas del martesMiercoles SMALLINT 4 Nuacutemero de horas del mieacutercolesJueves SMALLINT 4 Nuacutemero de horas del juevesViernes SMALLINT 4 Nuacutemero de horas del viernesSabado SMALLINT 4 Nuacutemero de horas del saacutebado
Tabla TIPO_PERFILFuncioacuten Aquiacute se almacena una clasificacioacuten de los perfiles de acuerdo a la rama de conocimiento
a la que pertenecen
Lista de columnas de la tabla TIPO_PERFILNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_tipo COUNTER 4 X Identificador del tipo de perfilTipo_perfil Text(30) 30 Descripcioacuten del tipo de perfil de los
catedraacuteticos o las materias
Capiacutetulo 4 Anaacutelisis y Disentildeo
456 Lista de funciones o programas
Nombre Programa Descripcioacuten del programa
Ajustes Datos generales de los tipos de ajustes que se aplican al nuacutemero degrupos por abrir al dato de Servicios Escolares
Aulas Captura los datos de las aulas disponibles para claseCaptura_horarios Este programa realiza los cambios posteriores a la generacioacutenCarreras Captura los datos de las carreras del tecnoloacutegicoCatedraticos Datos generales de los catedraacuteticosClonacion Obtiene una copia (clon) del mejor individuo de una generacioacutenCons_ajuste Muestra yo imprime los datos generales de los ajustesCons_aulas Emite una pantalla de consulta general de aulasCons_captura_horarios Muestra una pantalla de consulta de los horarios generadosCons_carrera Despliega yo imprime las carrerasCons_catedratico Muestraimprime los datos generales de los catedraacuteticosCons_criterio Formulario que muestra yo despliega los criterios generalesCons_critXmat Muestra yo imprime los criterios de una materiaCons_critXregla Despliegaimprime los criterios que forman una reglaCons_gpos_abrir Explicacioacuten de la inferencia realizada (reglas disparadas)Cons_hist_crit Muestra las reglas de produccioacuten de los criteriosCons_materia Pantalla que despliega yo imprime datos de las materiasCons_materia_gral Pantalla de consulta general de los datos de materiasCons_perf_cate Consultaimprime los datos del perfil acadeacutemico de los
catedraacuteticosCons_perf_mate Consultaimprime los datos del perfil acadeacutemico de las materiasCons_perfil Muestraimprime datos de los perfilesCons_perfiles Consulta a la lista de perfiles o caracteriacutesticas Cons_perfilxmat Consulta a las reglas de produccioacuten del perfil de una materiaCons_rama Consulta a la lista de ramas (clasificacioacuten de las materias)Cons_reglas Consulta a la base de reglas para ajustar nuacutemero de gruposCons_serv_esc Consulta a las tablas que tienen informacioacuten de Servicios
EscolaresCons_serv_escol Pantalla que muestra yo imprime los datos estadiacutesticos de Serv
EscCons_tipo_perfil Consulta a los tipos de perfil (clasificacioacuten de perfiles)Crit_X_mat Formulario que captura los criterios pertenecientes a una materiaCrit_X_regla Captura los criterios que forman una regla de produccioacutenCriterios Pantalla que captura el conocimiento de criterios para el SECriteriosxmat Pantalla de captura para los criterios por materiaCruzamiento Programa que realiza la combinacioacuten (cruza) de individuos de la
poblacioacuten en el Algoritmo Geneacutetico
Capiacutetulo 4 Anaacutelisis y Disentildeo
Evaluacion Programa que realiza la creacioacuten del cromosoma de evaluacioacuten alevaluar las versiones de horarios de una generacioacuten
Explica_ajustes Moacutedulo de explicacioacuten del porque se aplicoacute determinado ajuste auna materia
Explica_mat_p_prof Explicacioacuten del porque una materia puede ser impartida por unprofesor con cierto grado de certidumbre
Explica_prof_p_mat Explicacion del porque un profesor puede impartir una materiacon cierto grado de certidumbre
Genera_horarios Sistema que utiliza Programacioacuten Loacutegica de Restricciones paragenerar los paquetes de horarios de un semestre
Genera_paquete Muestra el paquete generado por el procesoGrupo_nuevo Programa que va generando los paquetesGrupos_por_abrir Inferencia realizada para definir el ajuste aplicado a los grupos
definidos por Servicios EscolaresHistorial_criterios Captura los criterios necesarios para hacer una reglaHistorial_materia Captara los criterios por materiaMat_para_prof Inferencia realizada para determinar que profesores pueden
impartir una materiaMaterias Actualizacioacuten al archivo datos generales de las materiasMenu_algoritmos_geneticos Menuacute del moacutedulo para asignar aula a los gruposMenu_generacion_grupos Menuacute del Sistema Experto para definir cuantos grupos abrirMenu_asigna_horario Menuacute del moacutedulo asignacioacuten de horarioMenu_principal Menuacute principal del sistemaMenu_sel_catedra Menuacute del Sistema Experto para seleccioacuten de catedraacuteticos a
materiaMutacion Programa que hace la modificacioacuten de informacioacuten de aulas de
alguna versioacuten (versioacuten)Perfil_catedratico Captura el perfil acadeacutemico de los catedraacuteticosPerfil_materia Captura el perfil acadeacutemico de las materiasPerfiles Datos generales del perfil acadeacutemico de materias y catedraacuteticosPoblacion_inicial Programa que genera versiones de horarios y que de manera
aleatoria le va asignando aula a los gruposPortada_principal Es la ventana de entrada al sistemaProf_para_mat Inferencia realizada para determinar que materias pueden ser
impartidas por un profesorRama Programa que capturas las posibles ramas de los materiasReglas Datos generales de las reglas de produccioacuten para definir el No de
grupos por abrirSeleccioacuten Proceso que selecciona las mejores versiones de horarios (mejores
individuos) y elimina las menos aptasServ_escolares Pantalla de captura de los datos estadiacutesticos de Servicios EscolaresTipo_perfil Programa que captura la clasificacioacuten de los perfiles de materias y
profesores
Capiacutetulo 4 Anaacutelisis y Disentildeo
457 Diagrama de Arquitectura (Menuacutes)
Menuacute general
Menuacute Grupos porabrir
MenuacuteGeneracioacuten de
horarios
MenuacuteAsignacioacuten de
aulas
Datos de materias
Estadiacutesticos Serv Esc
Criterios
Criterios por materia
Reglas
Criterios por regla
Ajustes
Carreras
Nuacutemero de grupos
MenuacuteSeleccioacuten decatedraacuteticos
Genera paquete
Genera horarios
Datos generalesgrupos
Datos de aulas
Genera poblacioacuteninicial
Evaluacioacuten
Seleccioacuten
Cruzamiento
Clonacioacuten
Mutacioacuten
Horarios finales
Perfiles
Perfil de las materias
Perfil de catedraacuteticos
Catedraacuteticos
Perfil de loscatedraacuteticos
Asignacioacuten materia aprofesor
Asignacioacuten profesor amateria
Capiacutetulo 4 Anaacutelisis y Disentildeo
Capiacutetulo 5 Implementacioacuten del sistema
CAPIacuteTULO 5
IMPLEMENTACIOacuteN
51 Pantallas del sistema
La Figura 51 muestra la portada inicial del proyecto Contiene los logotipos de las tresinstituciones participantes y el nombre del proyecto
Fig 51 Portada inicial del proyecto
La Figura 52 es la pantalla que proporciona la informacioacuten de los autores del proyecto
Es el botoacutende entrada alsistema
Botoacuten deinformacioacuten delos autores
Capiacutetulo 5 Implementacioacuten del sistema
Fig 52 Acerca del sistema
La Figura 53 muestra el menuacute principal del proyecto contiene y 4 moacutedulos La primeraopcioacuten incluye los moacutedulos administrativo y generacioacuten de grupos la segunda opcioacutenincluye seleccioacuten de maestro y seleccioacuten de materia
Fig 53 Menuacute principal del proyecto
Moacutedulos delproyecto
Cuadro queproporcionalainformacioacutende la opcioacutensentildealada porel cursor
Capiacutetulo 5 Implementacioacuten del sistema
En la Figura 54 se tiene la pantalla del menuacute que agrupa los programas del moacuteduloadministrativo y Sistema Experto para determinar el nuacutemero de grupos por abrir seguacutenlos caacutelculos realizados con los datos de Servicios Escolares y el ajuste a ese dato
Fig 54 Menuacute grupos por abrir
Este programa del moacutedulo administrativo (Figura 55) sirve para capturar la informacioacutengeneral de las asignaturas que componen una carrera
Fig 55 Materias
Programas delos moacutedulos
Descripcioacutende laactividad delprogramaseleccionado
Nombre de laasignatura
Nuacutemero dehoraspraacutecticas yteoacutericas
Alumnos por grupopara calcularcantidad de grupos
Dato para formarpaquetes porsemestre
Icono quehabilita lacaptura denuevosdatos
Icono queregresa alMenuacute anterior
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 56 es un ejemplo de la consulta de datos en pantalla
Fig 56 Consulta Materias
La Figura 57 es la pantalla donde se capturan los datos estadiacutesticos provenientes deServicios Escolares contiene la informacioacuten necesaria para realizar el caacutelculo originaldel nuacutemero de grupos de cada asignatura que se debe abrir para ofertarse a los alumnosel siguiente semestre la foacutermula mostrada proporciona tal dato
Botoacuten queregresa elcontrol alprogramaque loinvocoacute
Alumnosesperados parael proacuteximo
Fccg
Datosestadiacutesticos
Fig 57 Pantalla Servicios Es
semestre
oacutermula paraaacutelculoantidad-rupos
Caacutelculosgeneral y pormateria
Grupos (datoestadiacutestico)
colares
Capiacutetulo 5 Implementacioacuten del sistema
En la Figura 58 se muestra la pantalla de consulta de los datos estadiacutesticosproporcionados por Servicios Escolares
Fig 58 Pantalla consulta Servicios Escolares
Esta pantalla captura las caracteriacutesticas por materia que dan origen al conocimientonecesario para definir el tipo de ajuste que se aplica al dato del nuacutemero de gruposproporcionado por los caacutelculos estadiacutesticos de la pantalla anterior
Criterios de unamateria
Fig 59 Pantalla criterios por materia
Grado deimportancia de esacaracteriacutestica para la
Capiacutetulo 5 Implementacioacuten del sistema
En la Figura 510 se muestra un ejemplo de la consulta a la base de datos del sistema enla parte de criterios por materia
Fig 510 Pantalla consulta criterios por materia
Esta pantalla (fig 511) proporciona al sistema la capacidad de capturar modificarborrar e imprimir las carreras del Instituto Tecnoloacutegico de Zacatepec
Fig 511 Pantalla carreras
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 512 proporciona al sistema la capacidad para capturar los criterios(conocimientos) del experto para definir a cada materia
Fig 512 Pantalla criterios
La Figura 513 muestra un ejemplo de consulta al archivo de los criterios capturados enel sistema
Fig 513 Pantalla consulta criterios
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 514 muestra la pantalla de captura de las reglas que componen el SistemaExperto para determinar el tipo de ajuste que se aplicaraacute al dato estadiacutestico del nuacutemerode grupos que se van a abrir el proacuteximo semestre cada regla tiene asignado un tipo deajuste
Fig 514 Pantalla reglas
La Figura 515 muestra un ejemplo de la consulta al archivo de las reglas que utiliza elSistema Experto para determinar nuacutemero de grupos por ofertar el proacuteximo semestre
Fig 515 Pantalla consulta reglas
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 516 muestra la pantalla de captura al archivo de ajustes noacutetese que ladescripcioacuten explica en extenso la accioacuten que se realiza al aplicar este ajuste provenientede una regla disparada por los criterios pertenecientes a la definicioacuten de una materia
Fig 516 Pantalla ajustes
La Figura 517 muestra la pantalla de la consulta a los ajustes que contiene el sistema
Fig 517 Pantalla consulta ajustes
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 518 muestra la pantalla que captura los criterios para cada regla Una reglaestaacute formada por el mismo tipo de criterios que definen a las materias
Criteriosde una
Fig 518 Pantalla criterios por regla
La Figura 519 muestra el ejemplo de una consulta de los criterios que definen a unaregla
Fig 519 Pantalla consulta criterios por regla
Reglas de produccioacuten Criterios por regla
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 520 es la pantalla maacutes importante de moacutedulo de generacioacuten de grupos porquees donde se realiza la inferencia para calcular el tipo de ajuste que se va a aplicar a cadamateria con base en las reglas que se disparan y que hacen match los criterios de unaregla y los criterios de una materia
Fig 520 Pantalla caacutelculo de ajustes
Esta pantalla (Figura 521) ofrece una explicacioacuten mostrando los criterios que definenuna materia y su correspondiente regla disparada mostrando los criterios de la regla quehacen match con los criterios de la materia
Fig 521 Pantalla explicacioacuten de la inferencia
Asignaturaa la que sele aplicaraacuteel ajuste
Regla quese disparaseguacutencriterios
Tipo deajuste quese aplica
Dato seguacutenestadiacutestico
Datos seguacutenajuste delSistemaExperto
Inferenciageneral
Inferenciaindividual
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 522 muestra el formulario que forma los paquetes de materias seguacuten laretiacutecula de una carrera muestra el nuacutemero de grupos por cada materia que se van aformar y hace los paquetes asignando los grupos AA AB AC AD
Fig 522 Pantalla inicial del moacutedulo generacioacuten de horarios
La Figura 523 es el formulario del moacutedulo Programacioacuten Loacutegica de Regenera los horarios por paquete satisfaciendo las restricciones para forlibre de choques continuo (sin horas muertas) cumpliendo las horas por m
Fig 523 Pantalla principal del moacutedulo generacioacuten de horari
Semestre al que sele formaraacuten lospaquetes
Paquetes generadosHora de iniciode clases decada grupo
Materias delsemestre
Nuacutemero de gruposal que se lesgeneraraacute horario
MateriaPaquete
Nuacutemero dehoras por diacutea
Botonesque invocanal moacutedulogeneradorde horarios
stricciones quemar un horarioateria etc
Hora de iniciode la materia
os
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 524 muestra el moacutedulo para asignar aula a los horarios que ya tienen materiagrupo y hora
Fig 524 Pantalla principal del menuacute Algoritmos Geneacuteticos
Esta pantalla (Figura 525) se utiliza para hacer altas bajas consulta y modificaciones alos grupos que se les va a dar aula
Fig 525 Pantalla de administracioacuten de grupos
Periodode loshorarios
Hora iniciodel grupo
Hora por diacutea
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 526 muestra una consulta de la pantalla administracioacuten de grupos
Fig 526 Pantalla de consulta de administracioacuten de grupos
La Figura 527 muestra la pantalla para actualizar las aulas disponibles por las personasque generan los horarios estas aulas estaacuten disponibles para que el Algoritmo Geneacuteticolas utilice para asignarles grupos durante el proceso
Fig 527 Pantalla del control de aulas
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 528 muestra la consulta de las aulas que utiliza el moacutedulo generacioacuten deaulas
Fig 528 Pantalla de consultas del control de aulas
La Figura 529 muestra la pantalla que genera la poblacioacuten inicial a partir de los datosgenerales proveniente de los moacutedulos anteriores
Fig 529 Pantalla de genera poblacioacuten inicial
Nuacutemero dehipoacutetesisversiones oindividuos
Aula aleatoriagenerada
Este botoacuteninicia lageneracioacutende las nversionesde horarios
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 530 muestra la pantalla que evaluacutea las versiones originadas y genera paracada una de ellas un cromosoma cuyos genes contienen la informacioacuten obtenida
Fig 530 Pantalla de evaluacioacuten de versiones
La Figura 531 muestra el formulario del proceso de seleccioacuten de las mejores versionesde horarios toma aquellas que tienen menor numero de choques y mayor espacio deocupacioacuten de aulas
Fig 531 Pantalla del proceso de seleccioacuten
Cantidad deversiones quesobreviviraacuten
Cromosomas delos mejoresindividuos
Botoacuten queinicia elproceso deseleccioacuten
Botoacuten queinicia elproceso deeliminacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 532 muestra la pantalla del proceso de clonacioacuten donde se selecciona la mejorversioacuten y se obtiene un clon ideacutentico con un nuevo nuacutemero de versioacuten
Fig 532 Pantalla del proceso de clonacioacuten
La Figura 533 muestra la pantalla del proceso de mutacioacuten utilizado para hacer elcambio ldquomutarrdquo los datos de una versioacuten para romper alguacuten ciclado de la tendencia haciael resultado o simplemente para acelerar el proceso de optimizacioacuten
Cromosomasde versionesmaacutes aptas
Nuacutemero demejor versioacuten
Poblacioacutenversiones
Cromosomamuestra lasmejoresversiones
Aulas quepueden mutarse
Botoacuten queinicia elproceso demutacioacuten
Nuacutemero deversioacuten
Fig 533 Pantalla de mutacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 534 muestra la pantalla donde se realiza el cruzamiento utilizando plantillaspredeterminadas dirigiendo la cruza de versiones por paquetes de materias agrupadas porsemestre y cada plantilla genera una nueva versioacuten con la combinacioacuten de fragmentosde varias versiones
Fig 534 Pantalla del proceso de cruzamiento
La Figura 535 permite la seleccioacuten y enviacuteo de la mejor versioacuten de horarios y adaptarloal moacutedulo administrativo para su distribucioacuten y publicacioacuten
Fig 535 Horarios finales
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 536 muestra el menuacute de los moacutedulos que sugiere maestros para impartir unaasignatura y sugerencia de asignatura para alguacuten maestro
Fig 536 Pantalla menuacute seleccioacuten de catedraacuteticos
La Figura 537 muestra la pantalla para la captura de caracteriacutesticas de losconocimientos requeridos para dar una materia que son las mismas caracteriacutesticas quedefinen los conocimientos de un profesor para impartir las materias
Fig 537 Pantalla de perfiles
Clasificacioacutende los perfiles
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 538 muestra una consulta de los perfiles agrupados por tipo
Fig 538 Pantalla de consulta perfiles
La Figura 539 muestra la pantalla en la que se definen los conocimientos requeridospara poder impartir una asignatura de acuerdo al perfil y contenido temaacutetico
Fig 539 Pantalla perfiles de las materias
La Figura 540 muestra un ejemplo de la consulta al perfil de una materia
Importancia de lacaracteriacutestica en la materia
Capiacutetulo 5 Implementacioacuten del sistema
Fig 540 Pantalla consulta perfiles de las materias
La Figura 541 es utilizada para capturar los datos de los catedraacuteticos que imparten lasasignaturas de una carrera
Fig 541 Pantalla captura datos de catedraacuteticos
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 542 es una muestra de la consulta al archivo de los catedraacuteticos
Fig 542 Pantalla consulta datos de catedraacuteticos
La Figura 543 muestra la pantalla en que se captura el perfil de los catedraacuteticos elperfil son los conocimientos que tiene el profesor que lo capacitan para impartir algunaasignatura
Fig 543 Pantalla captura perfil de catedraacuteticos
Conocimientosdel profesor
Barra deseleccioacuten deperfiles
Grado dedominio deltema
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 544 muestra una consulta tiacutepica al archivo de perfiles de los catedraacuteticos
Fig 544 Pantalla consulta perfil de catedraacuteticos
La Figura 545 muestra la pantalla de inferencia final que sugiere quienes son loscatedraacuteticos maacutes capacitados para impartir una materia haciendo la inferencia mediantela buacutesqueda de matchs entre el perfil de la asignatura y el perfil del catedraacutetico
Fig 545 Pantalla muestra inferencia catedraacuteticos para materia
Candidatos aimpartir lamateria
Botoacuten del proceso deinferencia generalPorcentaje de certeza con
que puede impartirla
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 546 muestra la pantalla de explicacioacuten donde se indican los perfiles de lamateria y el perfil del profesor
Fig 546 Pantalla explicacioacuten porque un maestro puede dar una materia
La Figura 547 muestra el resultado de la inferencia del proceso que sugiere las materiasque puede impartir un profesor con base en el perfil de la materia y el perfil del profesor
Fig 547 Pantalla materias que puede impartir un profesor
Posibles materia aimpartir Porcentaje de certeza con
que puede impartirlaBotoacuten del proceso deinferencia general
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 548 muestra la pantalla de explicacioacuten donde se indican el perfil de la materiay el perfil del profesor
Fig 548 Pantalla de explicacioacuten porque un profesor puede dar una materia
Capiacutetulo 5 Implementacioacuten del sistema
Capiacutetulo 6 Pruebas y Resultados
CAPIacuteTULO 6
PRUEBAS Y RESULTADOS
61 Pruebas del sistema
Se pueden detectar dentro del desarrollo de sistemas las actividades para realizarpruebas las producidas durante la etapa de requerimientos de disentildeo preliminar y las dedisentildeo detallado Clasificadas de otra manera eacutestas pueden ser funcionales deintegracioacuten y de implementacioacuten
La finalidad de realizar Pruebas funcionales es detectar errores que pudieran habersedado durante las fases de anaacutelisis y de especificacioacuten Por otro lado ellas pueden ayudara probar si el disentildeo es correcto ya que esta fase en sus dos niveles preliminar ydetallado estaacute basada en el anaacutelisis y especificacioacuten de requerimientos del sistema Estaactividad es guiada por los objetivos y requerimientos plasmados Se busca en estaprueba la posibilidad de que se haya incurrido en errores de conceptualizacioacuten yo deespecificacioacuten Las pruebas se organizan tomando como guiacutea las diferentes opciones delsistema final
Las Pruebas de integracioacuten se realizan cuando se procede a interconectar los diferentessubsistemas que constituyen el futuro sistema Como es conocido un sistema puede serdesarrollado por diferentes personas Por esta razoacuten es de suma importancia probar lainterconexioacuten de los diferentes subsistemas y asiacute verificar que ha sido realizada demanera correcta
Las Pruebas de implementacioacuten o codificacioacuten son las que se realizan directamentesobre los programas que se estaacuten desarrollando durante la fase de implementacioacuten Estosmoacutedulos o programas a su vez constituyen subsistemas Por esta razoacuten la integracioacuten delos diferentes moacutedulos que forman un subsistema deben ser probados Estas pruebasdeben estar basadas en la especificacioacuten de disentildeo preliminar y detallado [Gerez 1985]
Los siguientes rubros describen las pruebas maacutes importantes que se consideraron paravalidar el sistema las pruebas funcionales Las pruebas de implementacioacuten se realizarondurante el desarrollo de la codificacioacuten de los diferentes moacutedulos
Capiacutetulo 6 Pruebas y Resultados
62 PRUEBAS DEL SISTEMA
621 PRUEBA 1 AacuteREAS DE MENUacuteS
Objetivo Guiar al usuario en el desarrollo del proceso Esta prueba verifica que elsistema tenga como opciones principales y submenuacutes los sentildealados en la definicioacuten derequerimientos
Criterios de aceptacioacuten Cada prueba verifica que el sistema produzca los resultadossentildealados en la definicioacuten de requerimientos
Procedimiento de la prueba A continuacioacuten se despliegan las pantallascorrespondientes a los menuacutes principales y submenuacutes Las opciones principales delproyecto son dos Menu Principal y Datos de los autores
Resultado de la prueba Los resultados fueron satisfactorios En todas las opcionesactivadas el sistema presentoacute los submenuacutes definidos en la etapa de requerimientos
La Figura 61 muestra la portada inicial del proyecto Contiene los logotipos de las tresinstituciones participantes y el nombre del proyecto
Fig 61 Portada inicial del proyecto
Es el botoacutende entrada alsistema
Botoacuten deinformacioacutende los autores
Capiacutetulo 6 Pruebas y Resultados
La Figura 62 muestra el menuacute principal del proyecto y contiene 4 moacutedulos La primeraopcioacuten incluye los moacutedulos administrativo y generacioacuten de grupos la segunda opcioacutenincluye seleccioacuten de maestro y seleccioacuten de materia
Fig 62 Menuacute principal del proyecto
En la Figura 63 se tiene la pantalla del menuacute que agrupa los programas del moacuteduloadministrativo y Sistema Experto para determinar el nuacutemero de grupos por abrir seguacutenlos caacutelculos realizados con los datos de Servicios Escolares y el ajuste a ese dato
Fig 63 Menuacute grupos por abrir
Moacutedulos delproyecto
Cuadro queproporcionalainformacioacutende la opcioacutensentildealada porel cursor
Programas delos moacutedulos
Descripcioacutende laactividad delprogramaseleccionado
Capiacutetulo 6 Pruebas y Resultados
La Figura 64 muestra el menuacute de los moacutedulos que sugiere maestros para impartir unaasignatura y sugerencia de asignatura para alguacuten maestro
Fig 64 Pantalla menuacute seleccioacuten de catedraacuteticos
La Figura 65 muestra el moacutedulo para asignar aula a los horarios que ya tienen materiagrupo y hora
Fig 65 Pantalla principal del menuacute Algoritmos Geneacuteticos
Capiacutetulo 6 Pruebas y Resultados
622 PRUEBA 2 VALIDACIOacuteN DE ENTRADAS
Objetivo Evitar peacuterdidas de tiempo con entradas erroacuteneas de datos y resultados sinvalidez
Criterios de aceptacioacuten Esta prueba deberaacute mostrar de manera exacta la informacioacutenal seleccionar la opcioacuten deseada
Procedimiento de la prueba Se verifica que todas las cajas de texto tengan el dato quese pide y una vez dados todos los datos se guardan para que estos datos posteriormentesean procesados por el sistema y almacenen los datos correctos
Resultado de la prueba Los resultados fueron satisfactorios En todas las opcionesactivadas el sistema presentoacute los resultados correctos a cada opcioacuten Ademaacutes losdesplegados de mensajes de error se presentaron de manera correcta en todas laspruebas
La Figura 66 muestra la captura de datos de una asignatura y enviacutea el correspondientemensaje de error si una caja de texto se encuentra vaciacutea
Fig 66 Pantalla de captura de datos de las Materias
Muestra elmensaje deerror si esque hacefalta alguacuten
Capiacutetulo 6 Pruebas y Resultados
La Figura 67 muestra una pantalla de captura de datos asignando criterios a una materiay valida la no duplicidad de criterios en esa materia se enviacutea el correspondiente mensajede error si una entrada ya fue capturada
Fig 67 Pantalla de captura de datos de Criterios por Materia
La Figura 68 muestra una pantalla de captura de datos de las carreras al encontrar unregistro ya capturado muestra el mensaje de error si una carrera ya fue capturada
Fig 68 Pantalla de captura de datos de Carreras
Muestra elmensajede error sies que yaexiste elregistro
Muestra elmensaje deerror si esque yaexiste elregistro
Capiacutetulo 6 Pruebas y Resultados
623 PRUEBA 3 DESPLEGADO DE RESULTADOS
6231 MOacuteDULO DE GENERACIOacuteN DE GRUPOS POR ABRIR
Objetivo Proporcionar los datos que el moacutedulo pide para que posteriormente elsistema genere el nuacutemero de grupos sugerido por abrir para cada materia
Criterios de aceptacioacuten Esta prueba muestra la lista de grupos que se deben abrirdespueacutes de aplicar los criterios del Sistema Experto
Procedimiento de la prueba Una vez que se proporcionan los datos que el SistemaExperto requiere el sistema generaraacute una lista de los grupos que se deben abrir elproacuteximo semestre
Resultado de la prueba Los resultados fueron satisfactorios En todos los casospresentados el sistema generoacute la lista en forma satisfactoria y con la informacioacutencorrecta
La Figura 69 es la pantalla maacutes importante de moacutedulo de generacioacuten de grupos porquees donde se realiza la inferencia para calcular el tipo de ajuste que se va a aplicar a cadamateria con base en las reglas que se disparan y que hacen match los criterios de unaregla y los criterios de una materia
Asignaturaa la que sele aplicaraacuteel ajuste
Regla quese disparaseguacutencriterios
Tipo deajuste quese aplica
Inferenciageneral
Datoseguacuten
Fig 69 Pantalla caacutelculo de ajustes
Datos seguacutenajuste delSistemaExperto
Inferenciaindividual
Capiacutetulo 6 Pruebas y Resultados
6232 MOacuteDULO DE GENERACIOacuteN DE HORARIOS
Objetivo Proporcionar los datos que el moacutedulo pide para que posteriormente elsistema genere el horario por semestre de las materias de una carrera
Criterios de aceptacioacuten Esta prueba debe mostrar los horarios para las materias sinerrores sin choques de hora en un paquete
Procedimiento de la prueba Recibe como entrada cuantos grupos abrir de cadamateria en cada semestre y genera primero los paquetes posteriormente a cada paquetede materias le asigna la hora por materia
Resultado de la prueba Los resultados fueron satisfactorios En todos los casospresentados el sistema generoacute los horarios correspondientes
La Figura 610 muestra el formulario que forma los paquetes de materias seguacuten laretiacutecula de una carrera muestra el nuacutemero de grupos por cada materia que se van aformar y hace los paquetes asignando los grupos AA AB AC AD
Fig 610 Pantalla inicial del moacutedulo generacioacuten de horarios
Semestre al que sele formaraacuten lospaquetes
Paquetes generadosHora de iniciode clases decada grupo
Materias delsemestre
Nuacutemero de grupospor al que se lesgeneraraacute horario
Botonesque invocanal moacutedulogeneradorde horarios
Capiacutetulo 6 Pruebas y Resultados
La Figura 611 es el formulario del moacutedulo Programacioacuten Loacutegica de Restricciones quegenera los horarios por paquete satisfaciendo las restricciones para formar un horariolibre de choques continuo (sin horas muertas) cumpliendo las horas por materia etc
Fig 611 Pantalla princip
6233 MOacuteDULO ASIGNACIOacuteN D
Objetivo Utilizar los datos generadoaulas a los paquetes de materias
Criterios de aceptacioacuten Esta pruebaasignacioacuten de aula sin choques
Procedimiento de la prueba Se genAlgoritmos Geneacuteticos durante variachoques en el aula
Resultado de la prueba Los resupresentados el sistema generoacute las aula
MateriaPaquete
Nuacutemero dehoras por diacutea
Hora de iniciode la materia
al del moacutedulo generacioacuten de horarios
E AULA
s en el moacutedulo anterior para hacer la asignacioacuten de
debe mostrar los horarios de las materias con una
eran las aulas utilizando los procedimientos de loss generaciones hasta lograr una generacioacuten sin
ltados fueron satisfactorios En todos los casoss correspondientes
Capiacutetulo 6 Pruebas y Resultados
La Figura 612 muestra la pantalla para actualizar las aulas disponibles por las personasque generan los horarios estas aulas estaacuten disponibles para que el Algoritmo Geneacuteticolas utilice para asignarles grupos durante el proceso
Fig 612 Pantalla del control de aulas
La Figura 613 muestra la consulta de las aulas que utiliza el moacutedulo generacioacuten deaulas
Fig 613 Pantalla de consultas del control de aulas
Capiacutetulo 6 Pruebas y Resultados
La Figura 614 muestra la pantalla que genera la poblacioacuten inicial a partir de los datosgenerales proveniente de los moacutedulos anteriores
Fig 614 Pantalla de genera poblacioacuten inicial
La Figura 615 muestra la pantalla que evaluacutea las versiones originadas y genera paracada una de ellas un cromosoma cuyos genes contienen la informacioacuten obtenida
Fig 615 Pantalla de evaluacioacuten de versiones
Nuacutemero dehipoacutetesisversiones oindividuos
Aula aleatoriagenerada
Este botoacuteninicia lageneracioacutende las nversionesde horarios
Capiacutetulo 6 Pruebas y Resultados
La Figura 616 muestra el formulario del proceso de seleccioacuten de las mejores versionesde horarios toma aquellas que tienen menor numero de choques y mayor espacio deocupacioacuten de aulas
Fig 616 Pantalla del proceso de seleccioacuten
La Figura 617 muestra la pantalla del proceso de clonacioacuten donde se selecciona la mejorversioacuten y se obtiene un clon ideacutentico con un nuevo nuacutemero de versioacuten
Fig 617 Pantalla del proceso de clonacioacuten
Cantidad deversiones quesobreviviraacuten
Cromosomas delos mejoresindividuos
Botoacuten queinicia elproceso deseleccioacuten
Botoacuten queinicia elproceso deeliminacioacuten
Cromosomasde versionesmaacutes aptas
Nuacutemero demejor versioacuten
Poblacioacutenversiones
Capiacutetulo 6 Pruebas y Resultados
La Figura 618 muestra la pantalla del proceso de mutacioacuten utilizado para hacer elcambio ldquomutarrdquo los datos de una versioacuten para romper alguacuten ciclado de la tendencia haciael resultado o simplemente para acelerar el proceso de optimizacioacuten
Fig 618 Pantalla de mutacioacuten
La Figura 619 muestra la pantalla donde se realiza el cruzamiento utilizando plantillaspredeterminadas dirigiendo la cruza de versiones por paquetes de materias agrupadas porsemestre y cada plantilla genera una nueva versioacuten con la combinacioacuten de fragmentosde varias versiones
Fig 619 Pantalla del proceso de cruzamiento
Cromosomamuestra lasmejoresversiones
Nuacutemero deversioacuten amutar
Aulas quepueden mutarse
Botoacuten queinicia elproceso demutacioacuten
Capiacutetulo 6 Pruebas y Resultados
La Figura 620 permite la seleccioacuten y enviacuteo de la mejor versioacuten de horarios y adaptarloal moacutedulo administrativo para su distribucioacuten y publicacioacuten
Fig 620 Horarios finales
6234 MOacuteDULO SELECCIOacuteN DE CATEDRATICOS
Objetivo Capturar los datos de los profesores y su perfil profesiograacutefico ademaacutescapturar los conocimientos necesarios para impartir una asignatura para poder sugerircual es el mejor catedraacutetico que puede impartir una asignatura
Criterios de aceptacioacuten Esta prueba debe mostrar la sugerencia de los mejorescatedraacuteticos para una materia y las mejores materias para un catedraacutetico
Procedimiento de la prueba Se daraacuten los datos iniciales de los maestros y el sistemadeberaacute generar una lista a partir de la inferencia del Sistema Experto respectivo yviceversa
Resultado de la prueba Los resultados fueron satisfactorios En todos los casospresentados el sistema infirioacute las materias y los catedraacuteticos correspondientes
Capiacutetulo 6 Pruebas y Resultados
La Figura 621 muestra la pantalla en que se captura el perfil de los catedraacuteticos elperfil son los conocimientos que tiene el profesor que lo capacitan para impartir algunaasignatura
Fig 621 Pantalla captura perfil de catedraacuteticos
La Figura 622 muestra la pantalla de inferencia final que sugiere quienes son loscatedraacuteticos maacutes capacitados para impartir una materia haciendo la inferencia mediantela buacutesqueda de matchs entre el perfil de la asignatura y el perfil del catedraacutetico
Fig 622 Pantalla muestra inferencia catedraacuteticos para materia
Conocimientosdel profesor
Barra deseleccioacuten deperfiles
Grado dedominio deltema
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Candidatos aimpartir lamateria Botoacuten del proceso de
inferencia generalPorcentaje de certeza conque puede impartirla
Capiacutetulo 6 Pruebas y Resultados
La Figura 623 muestra la pantalla de explicacioacuten donde se indican los perfiles de lamateria y el perfil del profesor
Fig 623 Pantalla explicacioacuten porque un maestro puede dar una materia
La Figura 624 muestra el resultado de la inferencia del proceso que sugiere las materiasque puede impartir un profesor con base en el perfil de la materia y el perfil del profesor
Fig 624 Pantalla materias que puede impartir un profesor
Posibles materia aimpartir Porcentaje de certeza con
que puede impartirlaBotoacuten del proceso deinferencia general
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Capiacutetulo 6 Pruebas y Resultados
La Figura 625 muestra la pantalla de explicacioacuten donde se indican el perfil de la materiay el perfil del profesor
Fig 625 Pantalla de explicacioacuten porque un profesor puede dar una materia
Capiacutetulo 6 Pruebas y Resultados
Capiacutetulo 7 Conclusiones y Trabajos Futuros
CAPIacuteTULO 7
CONCLUSIONES Y TRABAJOS FUTUROS
71 CONCLUSIONES
Los meacutetodos de programacioacuten lineal proporcionan una solucioacuten parcial al problema dela generacioacuten de horarios utilizan una ldquorecetardquo predefinida para lograr la optimizacioacutende la asignacioacuten de recursos como lo hace el meacutetodo Huacutengaro La Inteligencia Artificialsoluciona el problema utilizando la heuriacutestica el conocimiento y la experiencia de unexperto humano para solucionar el problema se decidioacute utilizar esta metodologiacutea paraexplorar una solucioacuten aproximada al problema
En el ITZ la generacioacuten de horarios se haciacutea de forma manual no se utilizaba ninguacutenmeacutetodo automatizado Al aplicar algunas teacutecnicas de la Inteligencia Artificial se halogrado generar de manera automatizada los horarios de las materias que se ofertaraacuten elproacuteximo semestre
La aplicacioacuten de varias ramas de la Inteligencia Artificial para la resolucioacuten delproblema de la generacioacuten de horarios viene a demostrar que si es posible generar uncondensado de horarios para el Instituto Tecnoloacutegico de Zacatepec que es una escuelade nivel superior y que estos horarios satisfacen adecuadamente las restricciones fuertesmedias y suaves Para ello fue necesaria la combinacioacuten de varias disciplinas de lacomputacioacuten para generar cada una de las partes que componen un horario y tambieacutenrecomendar los catedraacuteticos mas apropiados para impartir dichos grupos nuevamentequeda demostrado que la Inteligencia Artificial sirve para resolver problemas que lasteacutecnicas convencionales de computacioacuten consideran problema NP-completo
La utilizacioacuten de las teacutecnicas de los Sistemas Expertos para ajustar el nuacutemero de grupospor abrir el proacuteximo semestre permite aplicar el conocimiento y experiencia de lapersona encargada de elaborar los horarios y asiacute disminuir el nuacutemero de gruposcancelados el conocimiento e intuicioacuten del experto humano realizan un ajuste fino alnuacutemero de grupos y como puede notarse el sistema lo hace de manera similar
Para el moacutedulo de generacioacuten de los grupos y los horarios la utilizacioacuten de la teacutecnicallamada Programacioacuten Loacutegica de Restricciones permitioacute la satisfaccioacuten de lasrestricciones que hacen que los horarios sean considerados factibles para su aplicacioacuten a
Capiacutetulo 7 Conclusiones y Trabajos Futuros
los alumnos el proacuteximo semestre ya que los paquetes de materias por semestre tienenhorarios corridos y sin choques en horas nuacutemero de materias completo y buenadistribucioacuten de horas pares e impares
Se utilizoacute tambieacuten la teacutecnica de optimizacioacuten llamada Algoritmos Geneacuteticos pararealizar la asignacioacuten de aulas a cada grupo generado logrando con ello minimizarautomaacuteticamente el nuacutemero de choques de materias en aulas En las pruebas realizadasse logroacute que en la sexta generacioacuten de individuos ya soacutelo hubiera hasta un maacuteximo de 24choques lo que indicaba que soacutelo 4 oacute 5 grupos compartiacutean aula a la misma hora esto erafaacutecilmente corregible realizando una inspeccioacuten visual a la versioacuten de horarios final yajustando los uacuteltimos errores
Por uacuteltimo nuevamente se aplicaron los Sistemas Expertos en el moacutedulo de sugerenciade materias que puede impartir un maestro y en el moacutedulo maestros que pueden impartiruna determinada materia vale la pena comentar que durante las pruebas realizadas loscatedraacuteticos del departamento de Sistemas y Computacioacuten capturaban su perfilprofesiograacutefico y al pedir al sistema la sugerencia de cuaacuteles materias podriacutean impartirlos Sistemas Expertos del proyecto inferiacutean exactamente las materias que loscatedraacuteticos estaacuten impartiendo en este semestre y las que habiacutean impartido en alguacutensemestre anterior demostrando que en efecto para profesores nuevos la recomendacioacutendel sistema seriacutea vaacutelida
72 TRABAJOS FUTUROS
Se sugiere que se ampliacutee el proyecto para que a cada grupo generado con aula y hora sele asigne de manera automaacutetica un catedraacutetico utilizando ya sea Algoritmos Geneacuteticos oProgramacioacuten Loacutegica de Restricciones
Otra posible mejora puede ser incluir la Loacutegica Difusa en los Sistemas Expertos de losmoacutedulos que sugieren las materias que puede impartir un catedraacutetico y los catedraacuteticosque pueden impartir una asignatura
Como ya se comproboacute la factibilidad de generar los horarios de manera automaacutetica sepropone tambieacuten la exploracioacuten de otras ramas y teacutecnicas de la computacioacuten (RedesNeuronales Buacutesqueda Tabuacute Grafos Coloreados etc) para comparar el rendimientotiempo esfuerzo y asiacute poder determinar cuales son mejores o peores teacutecnicas pararesolver el problema de la generacioacuten de horarios
Referencias Bibliograacuteficas
REFERENCIAS BIBLIOGRAacuteFICAS
[Abramson 1991] Abramson D ldquoConstructing School Timetables Using SimulatedAnnealing Secuencial and Parallel Algoritmsrdquo Management Science PWS PublishingBoston 1998
[Beasley 1993] Beasley D amp Bull DR amp Martin RR ldquoAn Overview of GeneticAlgorithms Part 1 Fundamentalsrdquo University Computing
[Bull 1993] Bull DR amp Beasley D amp Martin RR ldquoAn Overview of GeneticAlgorithms Part 2rdquo University Computing Magazine 1993
[Burke1994]Burke EK ldquoA Genetic Algorithm for University Timetablingrdquo AISBworkshop on evolutionary computing Leeds 1994
[Burke 1997] Burke Edmund K ldquoAutomated Scheduling Optimization and PlanningGroup (ASAP)rdquo PATATrsquo97 Proceedings of the 2nd Intenational Conference on thePractice And Theory of Automated Timetabling 1997
[Burke2000] Burke Edmund amp Eliman David amp Weare Rupert ldquoA GeneticAlgorithm Based University Timetabling Systemrdquo PATATrsquo2000 Proceedings of the 5ft
Intenational Conference on the Practice And Theory of Automated Timetabling 2000
[Burke2001] Burke EK amp Eliman DGamp Weare R ldquoAutomated Scheduling OfUniversity Examsrdquo Leeds 2001
[Burke2002] Burke Edmund amp Eliman David amp Weare Rupert ldquoExaminationTimetabling in British Universities ndash A Surveyrdquo Leeds 2002
[Carrasco 2004] Carrasco Marco amp Pato Margarida ldquoSolving Real ClassTeacherTimetabling Problems using Neural Networksrdquo Facultade de Ciencias University ofLisboa Portugal
[Chorafas 1990] Chorafas Dimitris N ldquoKnowledge Engineeringrdquo Van NostrandReinnhold New York USA
Referencias Bibliograacuteficas
[Corne 1993] Corne D ldquoSolving the module exam scheduling problem with geneticalgorithmsrdquo Proceedings of the 6th Intenational conference in Industrial andEngineering applications of Artificial Intelligence and Expert Systems1993
[Daellenbach 1987] Daellenbach Hans amp McNickle Donald ldquoIntroduccioacuten a teacutecnicasde Investigacioacuten de Operacionesrdquo CECSA Meacutexico 1987
[Davis 1991] Davis L ldquoHandbook of Genetic Algorithmsrdquo Van Nostrand ReinholdNew York NY
[Demist2000] Demist ldquoDepartamental Timetabling Proyect ProposalDeMIStinterface to Timetabling Package Proyectrdquo Demist University 2000
[Detcher 1990] Detcher R ldquoEnhancement Schemes for Constraint Processing BackJumping Learning and Cutset Decompositionrdquo Artificial Intelligence 41 (1990)
[Eliman 2000] Eliman David ldquoSpecialised Recombinative Operators for TimetablingProblemsrdquo Cambridge University Press New York 2000
[Elmohamed2000] Elmohamed Saleh ldquoThe timetabling problemrdquo PATATrsquo2000Proceedings of the 5th Intenational Conference on the Practice And Theory ofAutomated Timetabling 2000
[Elmohamed2001] Elmohamed Saleh ldquoConstraint based university coursetimetablingrdquo 4th World Congress on Timetabing Aplication of advanced informationTechnologies London 2001
[Fahrion y Dollanski 1992] Fahrion R amp G Dollanski ldquoConstruction of UniversityFaculty Timetables using Logic Programmingrdquo ACM Sigsoft Notes vol 9 no 3 May1992
[Frenzel 1986]Frenzel Louis E ldquoCrash Course in Artificial Intelligence and ExpertSystemsrdquo Howard W Sams amp Co McMillan Inc Indianapolis USA
[Gerez 1985] Gerez Victor amp Mier Mauricio ldquoDesarrollo y administracioacuten deprogramas de computadorardquo McGraw Hill Meacutexico 1985
[Gervaacutes 1999] Gervaacutes P amp San Miguel B ldquoSequential Building of ConstrainedTimetables Using Rule-Based Heuristics An Expert System for AutomatedTimetablingrdquo Congreso Internacional de Investigacioacuten en Ciencias Computacionales
Referencias Bibliograacuteficas
[Giarratamo 1998] Giarratamo Joseph y Gary Riley ldquoExpert Systems Principles andProgrammingrdquo PWS Kent Publishing Company Boston USA
[Gines 1986] Gines B amp Boose J ldquoKnowledge Acquisition for Knowledge-BasedSystemsrdquo Vol 1amp2 Academic Press London U K
[Goldberg 1989] Goldberg DE ldquoGenetic Algorithms in SearchOptimization andMachine LearningrdquoAddison-Wesley
[Kang y White 1994 ] Kang L amp White GM ldquoA Logic Approach to the Resolutionof Constrains in Timetablingrdquo European Journal of Operational Research vol 61 1994
[Kandel 1991] Kandel Abraham ldquoFuzzy Expert Systemsrdquo CRC Press Inc LondonUK 1991
[Kendall1999] Kendall y Kendall ldquoAnaacutelisis y disentildeo de sistemasrdquo 3ordf edicion PearsonEducacioacuten
[Koza 1992] Koza JR ldquoGenetic Programming On the Programming of Computers bymeans of Natural Selectionrdquo Cambridge MA MIT Press
[Martiacutenez 1999] Martiacutenez Alfaro Horacio ldquoSolucioacuten al problema de asignacioacuten desalones de clases horario y grupo mediante templado simuladordquo Memorias 6ordm CongresoInternacional de Mecatroacutenica e Inteligencia Artificial Meacutexico 1999
[Medina 2004] Medina Pasaflores Horacio ldquoFundamentos de Algoritmos GeneacuteticosrdquoTesis de licenciatura Zacatepec Mexico 2004
[Michalewicz 1992] Michalewicz Z ldquoGenetic algorithms + Data Structures =Evolution Programsrdquo Springer-Verlag New York NY
[Negoita1985] Negoita ConstantinV Expert Systems and Fuzzy Systems TheBenjamin Cummings Publishing Co Menlo Park CA USA
[Nielsoft 2000] Nielsoft informatica ldquoManual de usuario Mimosa for windowsrdquo
[Paechter 1994] Paechter B ldquoTwo solutions to the general timetabling problemusing evolutionary methodsrdquo IEEE WCCI 1994
[Pluss1999] Pluss JJ ldquoSistemas expertos un enfoque pragmaacuteticordquo UNR
Referencias Bibliograacuteficas
[Rich 1996] Rich E y Knight K ldquoInteligencia Artificialrdquo McGraw HillInteramericana Madrid Espantildea
[Russell 1996] Russell S y Norvig P ldquoInteligencia Artificial un enfoque modernordquoPrentice Hall Mexico 1996
[Sanchez1999] Sanchez y Beltran ldquoSistemas expertos una metodologiacutea deprogramacioacutenrdquo Macrobit
[Schedul2000] SchedulExpert ldquoCourse scheduling in post educational institutionsrdquo EdAddison Wesley 2000
[Trick 1999 ] Trick Michael ldquoNetwork resources for coloring a graphrdquo Oracle PressEd McGraw Hill 1999
[Turban 1995] Turban Efraim ldquoDecision Support and Expert Systems ManagementSupport Systemsrdquo Fourth Edition Orentice Hall NJ USA
[Waterman1986] Waterman Donald A ldquoA Guide to Expert Systemsrdquo Addison-Wesley Publishing Co USA
[Weare2000] Weare Rupert amp Burke Edmundo amp Eliman David ldquoA Questionnaireon Exam Timetabling in Universitiesrdquo Annual review of computer Science Volume 2Palo Alto 2000
[Wilke 2002] Wilke P amp Grobner M amp Oster N ldquoA hibrid Genetic Algorithm forSchool Timetablingrdquo Advances in Artificial Intelligence Springer Lecture Notes inComputer Science New York
[Yoshikawa 1994] Yoshikawa M amp Kaneko KldquoA Constraint-based Approach toHigh School Timetabling Problems A Case Studyrdquo AAAI-94 12ordm NationalConference on Artificial Intelligence
Referencias Bibliograacuteficas
Referencias electroacutenicas
httpwwwmonografiacuteascomtrabajos12inteartfinteartfshtmlObregoacuten Arturo Inteligencia artificial y Sistemas expertos IIMAS-UNAM (1992)
httpwwwlafacucomapuntesinformaticasist_conodefaulthtmCruz Ochoa Wilson Sistemas de conocimiento
httpwwwingenieroseninformaticaorgrecursostutorialessist_exphtmlZambrano Molina Darwin Sistemas expertos
httpredcientificacomdocdoc199008210001htmlSamper Marquez Juan Joseacute Introduccioacuten a los sistemas expertos Madrid 2000
httpmismonografiascomarSistemas20expertofuzzyhtmlArede Dario Sistema experto fuzzy
httpcruzrojaguayaorginteligenciainterhtmlAyuquina Martha amp Arellano Gregorio Inteligencia artificial Universidad de Guayaquil
httpdmiuibesabasolointart1-introduccionhtmlAbasolo Mariacutea Joseacute Dra Inteligencia Artificial
AGRADECIMIENTOS
Agradezco a Dios la oportunidad de vivir para ver terminado este trabajo
Agradezco a mi madre su constante iexcl Ahora una maestriacutea
Agradecimiento especial al Instituto Politeacutecnico Nacional al Centro deInvestigacioacuten en Computacioacuten y al Instituto Tecnoloacutegico de Zacatepecpor haber permitido y facilitado todo para que esta maestriacutea se impartiera
Al Dr Adolfo Guzmaacuten Arenas y al Dr Heacutector Medelliacuten Hernaacutendez porquefueron los autores intelectuales de traer el programa de maestriacutea alTecnoloacutegico de Zacatepec
Al Dr Alvaro de Albornoz Bueno porque sin el curso que impartioacute deInteligencia Artificial y Sistemas Expertos yo seguiriacutea creyendo que esimposible generar los horarios de manera automaacutetica gracias tambieacuten porsu apoyo incondicional y asesoriacutea por uacuteltimo le agradezco la lectura totalal documento final y la aplicacioacuten de las normas de la Real AcademiaEspantildeola al mismo
Al Dr Agustiacuten Gutieacuterrez Torneacutes por su apoyo y confianza en miacute
Debo dar las gracias a Olivia Saacutenchez Cadena por ese tremendo curso deprogramacioacuten visual y tambieacuten a Laura Villavicencio Goacutemez que con lafrase ldquosolo a los nintildeos se les tiene que decir que hacerrdquo me motivoacute acontinuar hasta terminar este trabajo
A mis compantildeeras y compantildeeros por los agradables momentos pasadosdurante el desarrollo de los cursos
A mis alumnos de Ingenieriacutea en Sistemas Computacionales porque con sutiacutepico sentido del humor juvenil me motivaron para cambiar deldquolicenciadordquo a ldquomcrdquo
Agradezco a la ANUIES con su programa Supera por el apoyo econoacutemicobrindado
Se agradece tambieacuten a COSNET por su apoyo dentro del proyecto deinvestigacioacuten 65504-P
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
IacuteNDICE
RESUMEN iABSTRAC iiIacuteNDICE iiiLISTA DE FIGURAS v
CAPIacuteTULO 1 INTRODUCCIOacuteN11 Antecedentes 112 Planteamiento del problema 213 Objetivo general 414 Objetivos especiacuteficos 515 Justificacioacuten 5151 Justificacioacuten teoacuterica 5152 Justificacioacuten metodoloacutegica 5153 Justificacioacuten praacutectica 616 Alcances y limitaciones 7
CAPIacuteTULO 2 MARCO TEOacuteRICO21 El estado del arte 9211 Antecedentes 9212 Algunos meacutetodos para resolver el Problema de la Generacioacuten de Horarios 92121 Algoritmos Geneacuteticos 122122 Programacioacuten Loacutegica de Restricciones 122123 Redes Neuronales 132124 Recocido Simulado 132125 Operadores Recombinatorios Especializados 132126 El Sistema Experto basado en reglas 14213 Observaciones realizadas a algunos paquetes generadores de horarios 1522 Los horarios 16221 El problema de la elaboracioacuten de horarios 1723 El proceso de la elaboracioacuten de horarios 22
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
CAPIacuteTULO 3 TEacuteCNICAS DE INTELIGENCIA ARTIFICIALUTILIZADAS PARA LA GENERACIOacuteN DE HORARIOS31 Sistemas Expertos 24311 Funcioacuten de un Sistema Experto 25312 Arquitectura de Sistemas Expertos 25313 La base de conocimiento 26314 Motor de inferencias 27315 iquestPor queacute utilizar un Sistema Experto 27316 Construccioacuten de prototipos 2832 Algoritmos geneacuteticos 29321 Antecedentes 29322 Definicioacuten de Algoritmo Geneacutetico 30323 Ventajas y desventajas 31324 iquestCoacutemo saber si es posible usar un Algoritmo Geneacutetico 31325 Paraacutemetros que deben ser especificados en el programa 3233 Programacioacuten Loacutegica de Restricciones(PLR) 34331 Antecedentes de la PLR 34332 Restricciones 35333 Sistemas con restricciones 37334 Referencia histoacuterica de las restricciones 37335 Satisfaccioacuten de las restricciones 38336 Resolucioacuten de restricciones 38337 Organizacioacuten de proyectos 38
CAPIacuteTULO 4 ANAacuteLISIS Y DISENtildeO41 Recopilacioacuten de la informacioacuten 4142 Anaacutelisis de la informacioacuten 4643 Solucioacuten definida 4844 Requerimientos del sistema 4945 Disentildeo del sistema 52451 Mapa conceptual del proyecto 52452 Mapas conceptuales de los moacutedulos 54453 Diagramas de contexto 62454 Diagramas entidad relacioacuten 674 55 Diccionario de la base de datos 73456 Lista de funciones o programas 85457 Diagrama de arquitectura (menuacutes) 87
CAPIacuteTULO 5 IMPLEMENTACIOacuteN51 Pantallas del sistema 89
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
CAPIacuteTULO 6 PRUEBAS Y RESULTADOS61 Pruebas del sistema 11462 Pruebas del sistema 115621 Prueba 1 Aacuterea de menuacutes 115622 Prueba 2 Validacioacuten de entradas 118623 Prueba 3 Desplegado de resultados 1206231 Moacutedulo generacioacuten de grupos por abrir 1206232 Moacutedulo generacioacuten de horarios 1216233 Moacutedulo asignacioacuten de aula 1226234 Moacutedulo seleccioacuten de catedraacuteticos 127
CAPIacuteTULO 7 CONCLUSIONES Y TRABAJOS FUTUROS71 Conclusiones 13172 Trabajos futuros 132
REFERENCIAS BIBLIOGRAacuteFICAS 133
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
LISTA DE FIGURAS
Figura Nombre Paacutegina
31 Arquitectura de un Sistema Experto 2632 Pseudocoacutedigo del Algoritmo Geneacutetico simple 3341 Mapa conceptual del proyecto 5242 Diagrama de secuencia 5443 Sistema Experto generador de grupos 5544 Diagrama del moacutedulo Programacioacuten Loacutegica de Restricciones 5745 Diagrama del moacutedulo Algoritmo Geneacutetico 5846 Diagrama de Sistema Experto para sugerir profesor a asignatura 6047 Diagrama de Sistema Experto para sugerir asignaturas para
catedraacutetico61
48 Diagrama de contexto del proyecto 6449 Diagrama de funciones fundamentales (entradas) 65410 Diagrama de funciones fundamentales (salidas) 66411 Diagrama entidad relacioacuten del moacutedulo administrativo 67412 Diagrama E-R del moacutedulo para determinar y ajustar nuacutemero de
grupos68
413 Diagrama E-R del moacutedulo para asignar aulas (Algoritmo Geneacutetico) 69414 Diagrama E-R del moacutedulo para asignar horario (PLR) 70415 Diagrama E-R del moacutedulo designa mejor catedraacutetico (Sistema
Experto)71
416 Diagrama E-R del moacutedulo selecciona mejor materia (SistemaExperto)
72
51 Portada inicial del proyecto 8852 Acerca del sistema 8953 Menuacute principal del proyecto 8954 Menuacute grupos por abrir 9055 Materias 9056 Consulta materias 9157 Pantalla servicios escolares 9158 Pantalla consulta servicios escolares 9259 Pantalla criterios por materia 92510 Pantalla consulta criterios por materia 93511 Pantalla carreras 93512 Pantalla criterios 94513 Pantalla consulta criterios 94514 Pantalla reglas 95515 Pantalla consulta reglas 95516 Pantalla ajustes 96
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
517 Pantalla consulta ajustes 96518 Pantalla criterios por regla 97519 Pantalla consulta criterios por regla 97520 Pantalla caacutelculo de ajustes 98521 Pantalla explicacioacuten de la inferencia 98522 Pantalla inicial del moacutedulo generacioacuten de horarios 99523 Pantalla principal del moacutedulo generacioacuten de horarios 99524 Pantalla principal del menuacute Algoritmos Geneacuteticos 100525 Pantalla de administracioacuten de grupos 100526 Pantalla de consulta de administracioacuten de grupos 101527 Pantalla del control de aulas 101528 Pantalla de consultas del control de aulas 102529 Pantalla para generacioacuten de poblacioacuten inicial 102530 Pantalla de evaluacioacuten de versiones 103531 Pantalla del proceso de seleccioacuten 103532 Pantalla del proceso de clonacioacuten 104
533 Pantalla de mutacioacuten 104534 Pantalla del proceso de cruzamiento 105535 Horarios finales 105536 Pantalla menuacute seleccioacuten de catedraacuteticos 106537 Pantalla de perfiles 106538 Pantalla de consulta perfiles 107539 Pantalla perfiles de las materias 107540 Pantalla consulta perfiles de las materias 108541 Pantalla captura datos de catedraacuteticos 108542 Pantalla consulta datos de catedraacuteticos 109543 Pantalla captura perfil de catedraacuteticos 109544 Pantalla consulta perfil de catedraacuteticos 110545 Pantalla muestra inferencia catedraacuteticos para materia 110546 Pantalla explicacioacuten del porqueacute un maestro puede dar una materia 111547 Pantalla materias que puede impartir un profesor 111548 Pantalla de explicacioacuten del porqueacute un profesor puede dar una
materia112
61 Portada inicial del proyecto 11562 Menuacute principal del proyecto 11663 Menuacute grupos por abrir 11664 Pantalla menuacute seleccioacuten de catedraacuteticos 11765 Pantalla principal del menuacute Algoritmos Geneacuteticos 11766 Pantalla de captura de datos de las Materias 11867 Pantalla de captura de datos de Criterios por Materia 11968 Pantalla de captura de datos de Carreras 11969 Pantalla caacutelculo de ajustes 120
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
610 Pantalla inicial del moacutedulo generacioacuten de horarios 121611 Pantalla principal del moacutedulo generacioacuten de horarios 122612 Pantalla del control de aulas 123613 Pantalla de consultas del control de aulas 123614 Pantalla de genera poblacioacuten inicial 124615 Pantalla de evaluacioacuten de versiones 124616 Pantalla del proceso de seleccioacuten 125617 Pantalla del proceso de clonacioacuten 125618 Pantalla de mutacioacuten 126619 Pantalla del proceso de cruzamiento 126620 Horarios finales 127621 Pantalla captura perfil de catedraacuteticos 128622 Pantalla muestra inferencia catedraacuteticos para materia 128623 Pantalla explicacioacuten porque un maestro puede dar una materia 129624 Pantalla materias que puede impartir un profesor 129625 Pantalla de explicacioacuten porque un profesor puede dar una materia 130
Capiacutetulo 1 Introduccioacuten
CAPIacuteTULO 1
INTRODUCCIOacuteN
11 Antecedentes
iquestQueacute es un horario
ldquoEl horario completo bien puede gobernar las vidas demiles de alumnos y cientos de profesores para los 200 diacuteasdel antildeo escolar semestre a semestre hora tras hora Comouna poderosa herramienta puede faacutecilmente crear o deshacersituaciones de ensentildeanza aprendizajerdquo [Johnson 1980]
En la educacioacuten superior la historia siempre es la misma la proporcioacuten de tiempodictada por el horario para los alumnos y profesores es generalmente muy baja Apesar de esto las dificultades en la creacioacuten de los horarios son grandes Existenvarios departamentos y carreras cada uno con sus propias ideas de coacutemo y cuaacutendo sedeben programar sus cursos El nuacutemero de estudiantes puede variar considerablementede antildeo en antildeo Similarmente las preferencias de los alumnos a favor o en contra delas materias pueden variar dramaacuteticamente de un semestre a otro Los estudiantespueden tomar cursos de un departamento o de varios de ellos aun maacutes puedenseleccionar materias de otras carreras La reciente desaparicioacuten de las restricciones decreacuteditos para cursar las asignaturas complica maacutes la situacioacuten porque ampliacutea el rangode materias que puede tomar un alumno Los horarios aparecen en varias formasmatutinos vespertinos mixtos y todo el diacutea Los horarios escolares indican cuando unmaestro y un alumno deben ir a cada clase Todas las escuelas tienen un horario decursos que dirige lo que cada estudiante y catedraacutetico debe hacer en determinadomomento Esta tesis versa especiacuteficamente sobre el problema de construir horariospara Institutos Tecnoloacutegicos en Meacutexico
La planeacioacuten de los horarios es un trabajo que se realiza semestralmente antes de iniciarel siguiente periodo escolar tomando en cuenta la demanda de grupos que se ofreceraacuteny asignando a estos grupos los alumnos el aula el catedraacutetico y el horariocorrespondiente mediante informacioacuten que se obtiene de varias maneras
El principal objetivo de este proyecto es dar una solucioacuten aproximada (aceptable) alproblema de la generacioacuten de horarios de una escuela de nivel superior que se resumeasiacute
Capiacutetulo 1 Introduccioacuten
ldquoDado un conjunto de departamentos y carreras asignaturas con prerrequisitos gruposcatedraacuteticos con especialidad y horario definidos aulas laboratorios y alumnos con suspreferencias de materias el problema es construir un condensado de horarios factibleque satisfaga todas las restricciones fuertes y minimice las restricciones medias ysuavesrdquo
Las restricciones fuertes son restricciones de espacio y tiempo tal como planear doscursos en un aula al mismo tiempo Las restricciones medias y suaves son laspreferencias de maestros y estudiantes que deberaacuten ser satisfechas si es posible[Elmohamed 1998]
El problema de la generacioacuten de horarios ha sido tratado por muchos investigadoresutilizando meacutetodos que van desde la investigacioacuten de operaciones hasta disciplinas de laInteligencia Artificial como son Algoritmos Geneacuteticos Recocido Simulado RedesNeuronales etc
12 Planteamiento del problema
La generacioacuten de horarios es una forma particular del problema de asignacioacuten derecursos En el caso maacutes general existe una serie de objetos (recursos) y una serie deprocesos que necesitan ser realizados por cada uno de esos objetos En un contextoeducacional cada estudiante debe asistir a un nuacutemero predeterminado de clases y elprofesor debe impartirlas durante la semana en un aula predeterminada el estudiante elprofesor y el aula pasan aquiacute a ser el objeto y las clases el proceso
La complejidad del problema de la generacioacuten de horarios
La generacioacuten de horarios es un problema de optimizacioacuten combinatorio multi-dimensional no Euclidiano con muacuteltiples restricciones y por lo tanto difiacutecil de resolver[Elmohamed 1998]
El problema de la generacioacuten de horarios esta agrupado dentro de los considerados decomplejidad NP-completos es decir que no pueden ser resueltos en tiempo polinomialusando un algoritmo determiniacutestico No se conoce un algoritmo determiniacutestico detiempo polinomial para resolver alguno de esos problemas y la mayoriacutea de la gente creeque dichos algoritmos no existen[Karp 1972]
La generacioacuten de horarios es la asignacioacuten de lapsos de tiempo a un conjunto de eventossujeto a las restricciones en esas asignaciones Seguacuten Elmohamed [Elmohamed 1998]el problema NP-completo de la elaboracioacuten de horarios es un problema para la
Capiacutetulo 1 Introduccioacuten
satisfaccioacuten de restricciones que puede ser definido de la siguiente maneraPara una escuela dada con
Np profesores con sus horarios y turnos Nq materias con su temario y objetivosNx aulas y laboratorios con su capacidad Ns estudiantes
es requerido programar Nt parejas de
alumno-materiahora-materiamaestro-materiaaula-materia
una vez definidas las parejas anteriores se deben programar elementos de la formamateria-maestro-hora -aula
En un liacutemite de Nt lapsos de tiempo para producir una programacioacuten factible En unaprogramacioacuten factible no se puede encontrar a un profesor grupo o estudiante en maacutesde un lugar al mismo tiempo y un aula no puede ser asignada con maacutes de una clase a lavez o maacutes estudiantes de su capacidad o un profesor programado fuera de su horarionormal o con maacutes horas frente a grupo de las reglamentarias ademaacutes de un conjuntoadicional de restricciones
Importancia del problema
La administracioacuten de los recursos comprende la apertura de los grupos para inscribir alos alumnos el proacuteximo semestre la asignacioacuten de carga acadeacutemica a los catedraacuteticos lautilizacioacuten de aulas y laboratorios de quiacutemica produccioacuten coacutemputo electromecaacutenicaaulas de dibujo y demaacutes instalaciones del Instituto Tecnoloacutegico de Zacatepec (ITZ)Cuando por errores imputables al creador de los horarios se hizo una mala planeacioacuten sederivan los siguientes problemasbull Alumnos que se inscriben con una carga de creacuteditos menor a la miacutenima por falta de
grupos suficientesbull Alumnos que deben estar en el ITZ desde las 700 hrs hasta las 2000 hrs varios
diacuteas a la semana por abrir grupos en horarios muy separadosbull Alumnos que pierden la secuencia de materias seriadas por falta de cupobull Alumnos que deben permanecer 1 oacute 2 semestres maacutes en el ITZ por no prever
suficientes grupos para semestres terminalesbull Catedraacuteticos que no imparten el miacutenimo reglamentario de horas frente a grupo por
no crearles grupos suficientesbull Catedraacuteticos a los que se les avisa 1 diacutea antes del inicio de clases que impartiraacuten una
Capiacutetulo 1 Introduccioacuten
asignatura nuevabull Asignaturas que son impartidas por profesores que no cumplen el perfil deseado en
esa asignaturabull Choque de grupos en las aulasbull Choque de grupos en laboratoriosbull Falta de laboratorio a algunos gruposbull Deficiente utilizacioacuten de las aulas
La creacioacuten de un sistema que evite de manera automaacutetica caer en errores como losmencionados NO ES TAREA TRIVIAL intentar resolver este problema involucra laelaboracioacuten de un ldquosistema inteligenterdquo capaz de tomar decisiones aprender inferirbasaacutendose en hechos generar nueva informacioacuten y a partir de ella nuevamente volver adecidir El sistema que se elabore debe tener la capacidad para deducir e inducir de unamanera combinada
Desventajas del sistema actual
La mayoriacutea de los problemas anteriores son ocasionados por alguno o varios de lossiguientes motivosbull Todo el proceso de caacutelculo y administracioacuten de los recursos es manualbull El proceso de elaboracioacuten coincide con el cierre de semestre actual y como las
personas responsables tambieacuten son catedraacuteticos deben combinar la generacioacuten dehorarios con las evaluaciones finales revisioacuten de proyectos y entrega decalificaciones de sus grupos a los alumnos
bull La elaboracioacuten de los horarios es un proceso que se lleva semanas de labor diariabull Requiere la atencioacuten total de los coordinadores durante todo el tiempo de
elaboracioacutenbull Al no tener la informacioacuten automatizada se tienen peacuterdidas de tiempo en la toma de
decisiones como por ejemplo en el preacutestamo de aulas no utilizadas o en la forma decompartir catedraacuteticos
bull Se tienen fuertes restricciones debido a los horarios de los catedraacuteticosbull Hay fuertes dificultades cuando se deben negociar cambios de horarios porque el
proceso implica mover asignaturas buscar aulas dejar paquetes de materias porsemestre etc
bull El estado de aacutenimo del coordinador influye en la elaboracioacuten de los horarios
13 Objetivo general
Generacioacuten de una solucioacuten aproximada del condensado de horarios para una escuela denivel superior que satisfaga las restricciones ocasionadas por los recursos involucradosmediante la elaboracioacuten de un sistema hiacutebrido (experto geneacutetico y loacutegico restrictivo)
Capiacutetulo 1 Introduccioacuten
14 Objetivos especiacuteficos
Se tiene el disentildeo e implementacioacuten de un sistema que
bull Proporciona una solucioacuten aproximada aceptable al problema de la generacioacuten dehorarios
bull Permite a los coordinadores delegar a la computadora la asignacioacuten de recursosbull Ahorra tiempo en la generacioacuten de los horariosbull Reduce el trabajo manualbull Agiliza la toma de decisionesbull Reduce el tiempo de elaboracioacuten de horariosbull Facilita la modificacioacuten de informacioacuten generadabull Aumenta la eficiencia en las negociaciones entre jefes y coordinadoresbull Lleva al Instituto Tecnoloacutegico de Zacatepec (ITZ) a la modernizacioacuten en este
proceso
15 Justificacioacuten del sistema
151 Justificacioacuten teoacuterica
La utilizacioacuten de la Inteligencia Artificial (IA) para la solucioacuten de problemas de la vidacotidiana ha sido una estrategia utilizada cuando los sistemas tradicionales decomputacioacuten no proveen mecanismos suficientes para garantizar una solucioacuten adecuadasu utilizacioacuten para la generacioacuten de horarios (creacioacuten de grupos asignacioacuten de horaasignacioacuten de aula determinacioacuten de catedraacutetico) presenta una alternativa ideal paracomprobarlo
152 Justificacioacuten metodoloacutegica
La utilizacioacuten de un grupo de Sistemas Expertos que realice la asignacioacuten de losrecursos para la generacioacuten de grupos y le proponga una materia determinada a unprofesor seguacuten el perfil acadeacutemico de ambos reuacutene las caracteriacutesticas necesarias paradar la solucioacuten elegante y efectiva al problema planteado anteriormente porque
bull Se requiere del conocimiento de un experto para plantear el funcionamiento delsistema
bull El conocimiento se alimentaraacute a una base de conocimientos que conste de variaspartes
bull Para la generacioacuten de grupos de una asignatura dada el sistema debe ldquorazonarrdquo paradeterminar cuantos de eacutestos se deben abrir para ofertarlos a los alumnos
Capiacutetulo 1 Introduccioacuten
bull En la asignacioacuten de nuevas materias a los catedraacuteticos el sistema debe ldquodeterminarrdquoquieacuten es el maacutes idoacuteneo para impartirla de acuerdo al perfil de ambos materia ymaestro
La Programacioacuten Loacutegica de Restricciones (PLR) es una de las teacutecnicas que maneja demanera natural informacioacuten sometida a ciertas restricciones y fue seleccionada paraseguir trabajando en la resolucioacuten del problema porque
bull Los horarios deben satisfacer ciertas restricciones como por ejemplo no se debengenerar mas grupos de los necesarios no puede haber dos materias con el mismogrupo no deben existir grupos del mismo paquete a la misma hora etc
bull Cada paquete de un semestre es un objeto que por siacute mismo posee ciertascualidades y restricciones por ejemplo no debe tener horas sin asignatura entre lahora inicial y final existen materias que se deben impartir de una hora diaria otrasdeben ser impartidas de 2 horas diarias etc
bull La solucioacuten presentada por la PLR inicia con datos aleatorios de un horario despueacutesse verifica si las restricciones se cumplen o no si se cumplen se guarda el dato si nose genera un nuevo dato aleatorio
Los Algoritmos Geneacuteticos utilizados aquiacute para asignar aula a los grupos cumplen con lametodologiacutea de la Computacioacuten Evolutiva porque
bull Se tienen datos iniciales de los grupos (materia-hora)bull Se genera una poblacioacuten inicial que son n versiones de un condensado de horarios
sin aulabull Esta poblacioacuten inicial es evaluada se seleccionan los condensados maacutes adecuados y
se eliminan las versiones menos adecuadasbull Se realizan cruzamientos mutaciones clonaciones y se crea la nueva generacioacuten de
horariosbull Se repite el proceso hasta llegar a una utilizacioacuten eficiente de las aulas
Por lo anterior se pueden observar las ventajas de utilizar un sistema inteligente sobreuno convencional para solucionar el problema planteado
Una vez definido el modelo para solucionar el problema de la asignacioacuten de horariospara las asignaturas aulas y catedraacuteticos de una institucioacuten de educacioacuten superior seraacutefaacutecil extrapolarlo para solucionar algunos problemas referentes a la planeacioacuten dehorarios de otro tipo de escuelas de nivel medio superior
153 Justificacioacuten praacutectica
La creacioacuten de un sistema que resuelva el problema de la elaboracioacuten de horarios ygenere automaacuteticamente la programacioacuten de grupos aulas y maestros sin violar las
Capiacutetulo 1 Introduccioacuten
restricciones fuertes minimizando las restricciones medias y suaves optimizando lautilizacioacuten de las aulas cumpliendo con las restricciones de los profesores asignandoprofesores adecuados para impartir las clases traeraacute como consecuencia condicionespara mejorar el proceso de ensentildeanza aprendizaje
16 Alcances y limitaciones
Alcances
El sistema generaraacute un espacio de soluciones finito que satisfaga las restriccionesfuertes medias y suaves optimizando el uso de los recursos disponibles se puede decirque el sistema optimizaraacute los recursos cuando los horarios generados tengan lascaracteriacutesticas mencionadas maacutes adelante
Esta tesis documenta la creacioacuten de un sistema basado en el conocimiento parasolucionar el problema de la generacioacuten de horarios en el Instituto Tecnoloacutegico deZacatepec que permite
bull Generar grupos suficientes para que todos los estudiantes se inscriban al menos conla carga miacutenima reglamentaria
bull Que los alumnos tengan horarios adecuados a sus necesidades y preferenciasbull Que todos los grupos tengan capacidad suficiente para todos los estudiantes que
deseen inscribirsebull Que los profesores impartan materias de acuerdo a su perfil profesionalbull Evitar los choques de grupos en aulas y laboratoriosbull Que todos los grupos tengan aula asignada desde el inicio del semestrebull La utilizacioacuten oacuteptima de las aulas y laboratoriosbull La correcta asignacioacuten de aulas y laboratorios a los cursosbull Realizar de manera automaacutetica la asignacioacuten de los recursosbull Determinar el nuacutemero de grupos que se deben abrirbull Llenar las aulas con grupos sin permitir choque de horariosbull Imprimir la lista de grupos ofertados para el semestre siguientebull Cuando exista el grupo de una materia sin maestro determinar cual es el mejor para
impartirla
Tener un Sistema terminado que contenga los siguientes moacutedulos
Sistema administrativo para control de horarios Sistema Experto para determinar la cantidad de grupos por abrir Sistema Experto para sugerir materias a un catedraacutetico Sistema Experto para seleccionar los mejores catedraacuteticos para impartir una
asignatura
Capiacutetulo 1 Introduccioacuten
Moacutedulo de Programacioacuten Loacutegica de Restricciones para generar los horarios a lospaquetes de materias por semestre
Moacutedulo de Algoritmo Geneacutetico para asignar aula a los grupos
Cada moacutedulo tendraacute
bull Interfaces de usuario amigablesbull Tiempos de ejecucioacuten raacutepidos (independientemente de la maacutequina objetivo)bull Reglas de inferencia para generar resultados (soacutelo los Sistemas Expertos)bull Buacutesquedas heuriacutesticas o aleatorias seguacuten el casobull Procesos para realizar induccioacuten y deduccioacuten (soacutelo los Sistemas Expertos)bull Manejo de incertidumbre (soacutelo los Sistemas Expertos)bull Un moacutedulo de explicaciones en lenguaje natural
Limitaciones
El sistema estaacute disentildeado para generar horarios de una escuela de nivel superior donde elcoordinador de cada carrera es el responsable de la generacioacuten de sus horarios controlarsus profesores impartir cierto nuacutemero de materias y utilizar cierta cantidad de aulas ylaboratorios
Trabaja exclusivamente en lenguaje espantildeol
Las reglas de la base de conocimiento tienen un formato predeterminado por unasintaxis definida para el sistema
El sistema estaacute elaborado para trabajar en microcomputadoras compatibles con IBM
No maneja los horarios individuales de los alumnos en el proceso de inscripcioacuten estaactividad deberaacute ser realizada por los sistemas del departamento de servicios escolares
Capiacutetulo 2 Marco teoacuterico
CAPIacuteTULO 2
MARCO TEOacuteRICO
21 El estado del arte
211 Antecedentes
El problema de la generacioacuten de horarios ha sido atacado de varias maneras a nivelmundial inclusive existe un grupo internacional que convoca al congreso llamadoPATATxx (Practice and Theory of Automated Timetabling) donde xx es el antildeo delcongreso en cuestioacuten
La ASAP (Automated scheduling optimization and planing group) es otro organismocuyo fin principal es conducir investigacioacuten en modelos heuriacutesticas y algoritmos para laproduccioacuten automaacutetica de soluciones de alta calidad a una gran variedad de problemasde planeacioacuten y optimizacioacuten del mundo real incluyendo elaboracioacuten de horarioslogiacutestica asignacioacuten de espacio y mantenimiento de inventarios
212 Algunos meacutetodos para resolver el Problema de laGeneracioacuten de Horarios
La generacioacuten de horarios acadeacutemicos ha sido acometida por muchos investigadoresbaacutesicamente dentro del aacuterea de la Investigacioacuten de Operaciones
2121 Investigacioacuten de Operaciones
El algoritmo para resolver problemas de asignacioacuten se denomina Huacutengaro ya que fuerondos matemaacuteticos Huacutengaros Koumlnig (1916) y Egervary (1931) los que aportaron lasteoriacuteas que sirven de base a este meacutetodo [Daellenbach 1987]
Este problema se presenta en diversos casos de toma de decisiones Los problemastiacutepicos de asignacioacuten implican asignar tareas a maacutequinas trabajadores a tareas yproyectos personal de ventas a territorios de ventas contratos a licitaciones horarios deaulas disponibles a horarios de maestros disponibles enfermos a camas disponibles delhospital cierto nuacutemero de empleados a cierta cantidad de puestos en una empresaaviones a destinos aeacutereos entre otros
Capiacutetulo 2 Marco teoacuterico
Una caracteriacutestica importante de los problemas de asignacioacuten es que se asigna untrabajador una tarea a una sola maacutequina proyectoEn particular se busca elconjunto de asignaciones que optimice el objetivo planteado tal como minimizar costosminimizar tiempo o maximizar utilidad
La formulacioacuten del problema general de asignacioacuten es
Sujeta a
Corresponde a un caso especial del problema del transporte en el cual las variables Xijsoacutelo pueden tomar el valor 0 oacute 1 tomar el valor 1 si el origen i se hace corresponder aldestino j y 0 en caso contrario
El Algoritmo Huacutengaro
Este algoritmo se usa para resolver problemas de minimizacioacuten ya que es maacutes eficazque el empleado para resolver el problema del transporte por el alto grado dedegeneracioacuten que pueden presentar los problemas de asignacioacuten Las fases para laaplicacioacuten del meacutetodo Huacutengaro son
Capiacutetulo 2 Marco teoacuterico
Paso 1 Encontrar primero el elemento maacutes pequentildeo en cada fila de la matriz de costosmm se debe construir una nueva matriz al restar de cada costo el costo miacutenimo de cadafila encontrar para esta nueva matriz el costo miacutenimo en cada columna A continuacioacutense debe construir una nueva matriz (denominada matriz de costos reducidos) al restar decada costo el costo miacutenimo de su columna
Paso 2 (En algunos pocos textos este paso se atribuye a Flood) Consiste en trazar elnuacutemero miacutenimo de liacuteneas (horizontales o verticales o ambas uacutenicamente de esasmaneras) que se requieren para cubrir todos los ceros en la matriz de costos reducidos sise necesitan m liacuteneas para cubrir todos los ceros se tiene una solucioacuten oacuteptima entre losceros cubiertos de la matriz Si se requieren menos de m liacuteneas para cubrir todos losceros se debe continuar con el paso 3 El nuacutemero de liacuteneas para cubrir los ceros es iguala la cantidad de asignaciones que hasta ese momento se pueden realizar
Paso 3 Encontrar el menor elemento diferente de cero (llamado k) en la matriz decostos reducidos que no estaacute cubierto por las liacuteneas dibujadas en el paso 2 acontinuacioacuten se debe restar k de cada elemento no cubierto de la matriz de costosreducidos y sumar k a cada elemento de la matriz de costos reducidos cubierto por dosliacuteneas (intersecciones) Por uacuteltimo se debe regresar al paso 2
Notas
1 Para resolver un problema de asignacioacuten en el cual la meta es maximizar la funcioacutenobjetivo se debe multiplicar la matriz de ganancias por menos uno (-1) y resolver elproblema como uno de minimizacioacuten
2 Si el nuacutemero de filas y de columnas en la matriz de costos son diferentes el problemade asignacioacuten estaacute desbalanceado El meacutetodo Huacutengaro puede proporcionar una solucioacutenincorrecta si el problema no estaacute balanceado debido a lo anterior se debe balancearprimero cualquier problema de asignacioacuten (antildeadiendo filas o columnas ficticias) antes deresolverlo mediante el meacutetodo Huacutengaro
3 En un problema grande puede resultar difiacutecil obtener el miacutenimo nuacutemero de filasnecesarias para cubrir todos los ceros en la matriz de costos actual Se puede demostrarque si se necesitan j liacuteneas para cubrir todos los ceros entonces se pueden asignarsolamente j trabajos a un costo cero en la matriz actual esto explica porqueacute terminacuando se necesitan m liacuteneas
Capiacutetulo 2 Marco teoacuterico
Tambieacuten han aparecido meacutetodos no convencionales que atacan el problema desdediferentes aacutengulos Los maacutes usuales son
Algoritmos Geneacuteticos Redes Neuronales Recocido Simulado Buacutesquedas Tabuacute Sistemas Expertos Programacioacuten Loacutegica de Restricciones Grafos Coloreados Operadores Recombinatorios Especializados
2122 Algoritmos Geneacuteticos
Los Algoritmos Geneacuteticos han sido utilizados satisfactoriamente para planear exaacutemenesy cursos en cierto nuacutemero de casos [Corne 1993] utiliza una buena aproximacioacutentradicional donde cada gene representa la hora en la cual se presentaraacute un examen ocurso Con operadores de cruzamiento y mutacioacuten como los mencionadosanteriormente agrega sustanciosos ahorros de tiempo al meacutetodo de Corne [Paechter1994] da una aproximacioacuten diferente donde el gene de cada examen no solo especificaldquoel cuandordquo sino que tambieacuten busca un nuevo horario del examen si despueacutes delcruzamiento el curso esta causando un conflicto Si el examen no puede ser programadoen alguna hora entonces no se agrega a la planeacioacuten con la finalidad de no tenerhorarios infactibles
[Burke1994] incorpora dominios de conocimiento especiacutefico para asegurar que ningunade las soluciones candidato es no factible En particular una representacioacuten directa seutilizada que incluye no soacutelo el cuaacutendo sino tambieacuten el doacutende un curso o examendeberaacuten ser tomados permitiendo al programador de horarios detener la ejecucioacuten delalgoritmo en cualquier punto y tener ya una serie de soluciones de buenos horariosfactibles
2123 Programacioacuten Loacutegica de Restricciones
Varios autores han presentado teacutecnicas de Programacioacuten Loacutegica de Restricciones pararesolver problemas de asignacioacuten de horarios pero eacuteste sigue siendo un nuevo enfoqueTambieacuten han aparecido algunos usando PLR para la planeacioacuten de clase-maestro[Yoshikawa 1994]
Kang y White presentaron una buena aproximacioacuten estaacutendar de PLR programandocursos sin permitir ningun conflicto [Kang y White 1994] Ellos usaron una teacutecnica dereversa equivalente al backtracking con lo cual cuando un curso no puede ser
Capiacutetulo 2 Marco teoacuterico
asignado uno similar es desasignado y el nuevo es colocado en su lugar Esto previeneuna buacutesqueda exhaustiva completa Esto tambieacuten introduce el concepto de undelimitador de tamantildeo que establece un maacuteximo en el tamantildeo del aula que puede usarun curso en particular Las restricciones son priorizadas en cinco diferentes categoriacuteasdonde la categoriacutea cinco debe ser liberada antes que la categoriacutea cuatro y asiacute con lasdemaacutes Este procedimiento fue utilizado para programar exitosamente los cursos de laUniversidad de Otawa
Tambieacuten se ha utilizado la teacutecnica de la Programacioacuten Loacutegica de Restricciones parahacer los horarios de una facultad utilizando una regla heuriacutestica para seleccionar quecurso asignar primero [Fahrion y Dollanski 1992]
2124 Redes Neuronales
De las distintas categoriacuteas de las Redes Neuronales Artificiales la maacutes apropiada pararesolver el problema es la familia de las Redes Neuronales de reaccioacuten basadas enneuronas multiestado con ecuaciones de teoriacutea de campos con significado controlandolas dinaacutemicas Las ecuaciones anteriores son usadas en lugar de los procedimientospara actualizacioacuten de demanda estocaacutesticos que han sido usados por otros esquemas paraevitar quedar atorados en circuitos locales miacutenimos [Carrasco 2004]
2125 Recocido Simulado
Recocido Simulado se refiere al uso de una teacutecnica de optimizacioacuten combinatoria odiscreta Divide el problema en grupos del mismo tiempo de clase los cuales sonespecificados por cada departamento acadeacutemico basados en la habilidad de losinstructores Funciona asiacute
1 El proceso asigna aulas procesando un grupo a la vez empezando con el primero2 El proceso continuacutea hasta que todos los grupos son procesados3 Cuando una solucioacuten es obtenida dividiendo el problema en conjuntos de horario
una mutacioacuten especial es generada con grupos traslapados Esto podriacutea generar unamala asignacioacuten de aula para minimizar esto se utiliza el siguiente paso
4 Los grupos son procesados basados en el nuacutemero de aulas este nuacutemero de aulas esoptimizado y se termina con las horas de clase con el miacutenimo de paquetes a esa hora
5 La implementacioacuten del programa genera una base de datos con la nueva asignacioacutende salones para el proacuteximo semestre [Abramson 1991]
2126 Operadores Recombinatorios Especializados
Los operadores de cruzamiento de los Algoritmos Geneacuteticos producen buenas
Capiacutetulo 2 Marco teoacuterico
combinaciones de genes para ser pasados entre los diferentes miembros de unapoblacioacuten En los Algoritmos Geneacuteticos estaacutendar es un procedimiento similar a escogerlos primeros n genes del primer padre y los uacuteltimos del segundo padre esteprocedimiento no es uacutetil en situaciones donde existen fuertes restricciones sobre laforma de los miembros de la poblacioacuten aquiacute un operador violaraacute esos requerimientosEl operador de recombinacioacuten heuriacutestico hiacutebrido trabaja asiacute
1 Los grupos no programados del periodo anterior son pasados al algoritmo2 Primero selecciona aquellos grupos programados en el periodo i en los padres 1 y 23 Los grupos extra son seleccionados de aquellos programados en el periodo i ya sea
del padre 1 o del padre 2 o de los dejados del periodo i ndash 14 Cualquiera de los grupos no programados es pasado al periodo i+15 Soacutelo los grupos que no crean conflicto con aquellos ya programados para este
periodo pueden ser seleccionados [Wilke 2002]
2127 El Sistema Experto Basado en Reglas
Los Sistemas Basados en Reglas proporcionan un buen punto de referencia para saberque tan buenos son otros meacutetodos en comparacioacuten a esta teacutecnica estaacutendar Varias deestas reglas son usadas para proporcionar sensibles elecciones para los movimientos enel algoritmo de Recocido Simulado en lugar de seleccionar cambios de manera aleatoriase ha usado este sistema como un preprocesador para generar una buena aproximacioacuteninicial y darla al Recocido Simulado
El Sistema Experto Basado en Reglas consiste en un nuacutemero de reglas (o heuriacutesticas) yrecursioacuten convencional para ayudar en la generacioacuten de asignacioacuten de clases Lasestructuras de datos o componentes del sistema son
bull Una matriz de distancias entre los departamentos acadeacutemicos y los edificios queseraacuten utilizados
bull Estructura de los datos de las materias para cada grupo programado en el campobull Estructura para las aulas (independientemente del tipo de aula) involucradas en el
procesobull Horarios para cada periodo de tiempo guardando cuales estaacuten disponibles y
cuales ya fueron ocupadasbull La estructura de los departamentosbull Las preferencias de los estudiantes indicando las clases requeridas
independientemente del semestre que sean las materias [Gervaacutes 1999]
Capiacutetulo 2 Marco teoacuterico
213 Observaciones realizadas a algunos paquetes generadores de horarios
Nombre DeMIStDescripcioacuten Puede describirse como un paquete que realiza bien las operaciones decasa (la propia universidad que lo creoacute) pero salioacute tan costoso como si hubierancomprado un paquete [Demist 2000]Proveedor DeMISt University
KnowTISEs un proyecto iniciado por la universidad de Leeds En la literatura aparece como unpaquete que es mejor para la generacioacuten de Grandes Horarios para una universidad quepara un departamento Utiliza el beneficio de gran cantidad de informacioacutencentralizada para la optimizacioacuten de recursos [Schedul 2000]Leeds University
STARSSTARS(Space Time and Resources Management) Igual que el anterior corre mejor enla elaboracioacuten de horarios de buen tamantildeo que en una aplicacioacuten departamentalDe Montfort University
Meeting maker Office TalkEs un generador de clases y acciones diarias es bueno cuando no es uacutetil el horario delos alumnos ya que proporciona uacutenicamente los espacios para las clases [Gervaacutes 1999]Varios proveedores
GP-UNTISEs un paquete australiano que funciona perfectamente para los requerimientos de lasescuelas secundariasTimetabling Services UK
Syllabus PlusEs una buena opcioacuten para uso departamental cumple los requerimientos de unauniversidad para la generacioacuten de horarios no trabaja a nivel de estudiantes pero si lohace con grupos de ellos no es factible para la generacioacuten de Grandes HorariosScientia LTD
Facility TimetablerEs una buena opcioacuten para uso departamental y para Grandes Horarios tiene interfaz conlos sistemas de alumnos y permite la creacioacuten de horarios individuales permite el uso
Capiacutetulo 2 Marco teoacuterico
centralizado de las aulas para una buena optimizacioacutenFacility Systems
Mimosa for WindowsEs un software general de planificacioacuten de la ensentildeanza y de programacioacuten de horariosLa aplicacioacuten utiliza todas las propiedades de Windows eficientemente es raacutepida tienegran capacidad y lo mas importante es tan flexible que puede aplicarse en todo el tipode escuelas desde la escuela primaria a las universidades desde las escuelasvocacionales a las academias militares
Se podriacutea decir que este producto cubririacutea todas las necesidades de la institucioacuten perohan existido algunos inconvenientes ya que no cubre con las necesidades deldepartamento tan solo da ayuda al usuario para que pueda generar sus horarios ademaacutesel tener tantos botones en pantalla (200) podriacutean confundir al usuario y realizar horarioserroacuteneos y no se resolveriacutea el problema [Nielsoft 2000]Mimosa Software Oy Finlandia
GestHor BSPEs un producto informaacutetico para resolver problemas de horarios escolares en escuelasbaacutesicas escuelas secundarias y escuelas profesionales
Toacutemese en cuenta que la mayoriacutea de los sistemas mencionados se enfoca solo a laasignacioacuten aula ndash materia y no abarca lo que es asignacioacuten materia ndash profesor
22 Los horarios
Existe mucha literatura referente a los horarios con una gran variedad de subtiacutetulos ydiferentes problemas Una gran variedad de algoritmos han sido propuestos empleandometodologiacuteas y heuriacutesticas de buacutesqueda produciendo horarios completos o soacuteloayudando durante el proceso Una de las grandes preguntas para la elaboracioacuten dehorarios es que si eacutestos pueden ser generales es decir iquestse puede encontrar un algoritmoo meacutetodo suficientemente general que produzca buenos horarios para todos losproblemas y para todas las restricciones La alternativa desde luego es continuardesarrollando algoritmos especializados aislados cada vez que un problema de horariosaparece
Al trabajar con una solucioacuten para el problema de los horarios se deben contestar lassiguientes preguntas iquestTodas las escuelas de nivel superior elaboran los horarios de lamisma manera iquestSon grandes o pequentildeas las diferencias en la forma de elaborar loshorarios iquestQueacute tan necesaria es la ayuda de la computadora iquestSoacutelo se requiere unpaquete general para la elaboracioacuten de los horarios iquestQueacute funcionalidad debe tener
Capiacutetulo 2 Marco teoacuterico
dicho paquete iquestQueacute tan grande y complejo es el problema de elaboracioacuten de horariosiquestQueacute propiedades debe poseer un horario aceptable para que una institucioacuten lo use
Se han realizado algunas encuestas para conocer si las escuelas de nivel superior tienensistemas computarizados para la elaboracioacuten de horarios si no los tienen si lonecesitaban y queacute caracteriacutesticas deberiacutea poseer El estudio concluyoacute que existe una grandemanda para tal sistema que se requiere un alto grado de asistencia automatizada yque la mayoriacutea de los elaboradores de horarios no estaban muy contentos con sussistemas actuales [Comm y Mathaisel 1988]
[Dowsland y Lim 1982] consideraron el problema de la elaboracioacuten de horarios peroproporcionaron alternativas en la encuesta de la utilidad de sistemas automatizados[Junginger 1986] establece que ldquoAunque los horarios producidos requierenmodificacioacuten las escuelas estaacuten contentas con los resultados El tiempo ahorrado fueconsiderable arriba del 75rdquo Dowsland por otro lado concluye que ldquoEs muy difiacuteciljuzgar el eacutexito actual de los paquetes para la elaboracioacuten de horarios pero el uso muylimitado de ellos sugiere que sus ventajas son limitadasrdquo Claramente ninguacuten disentildeadorde sistemas puede garantizar la idea de que su producto seraacute bienvenido con los brazosabiertos
[Pendlebury 1986] encuestoacute a las universidades politeacutecnicas britaacutenicas con respecto ala elaboracioacuten de horarios de cursos Doce de las treinta que contestaron la encuestautilizan elaboracioacuten de horarios por computadora (siete a gran escala y cuatro lo hacenen pequentildea escala) Es interesante notar que Pendlebury encontroacute que la mayoriacutea de loscursos se basan en clases que son muy independientes unas de otras y en la mayoriacutea delas instituciones encuestadas los departamentos individuales son responsables deproducir sus propios horarios
221 El problema de la elaboracioacuten de horarios
La elaboracioacuten de horarios es el acto de programar cursos a periacuteodos de tiempo asignarun aula a esos cursos y asignar un catedraacutetico a dicho curso
A menudo se hacen afirmaciones acerca de la naturaleza del problema que puedenpermitir encontrar una solucioacuten maacutes eficientemente Sin embargo cuando se trata deconstruir un sistema general se estaacute limitado a que las afirmaciones son el miacutenimocomuacuten denominador de todos los posibles escenarios
Una informacioacuten impliacutecita que ha sido hecha a menudo es la independencia entreunidades acadeacutemicas separadas Algunas universidades programan preguntando a susdepartamentos los horarios de sus propios cursos Una unioacuten central de dichos horarioses entonces utilizada para asegurar que todas las restricciones relevantes son cumplidasEn muchos casos esta es la forma normal en que es producido el horario de los cursos
Capiacutetulo 2 Marco teoacuterico
aunque algunos departamentos desarrollan su propio software para la programacioacuten decursos
En varias universidades los alumnos pueden tomar algunos de sus cursos endepartamentos diferentes al suyo Obviamente la independencia no debe ser asumidageneralmente debido a que puede haber diferencia en la programacioacuten de los cursos decada departamento En el Tecnoloacutegico de Zacatepec por ejemplo la probabilidadpromedio de que un curso tenga conflicto con uno de otro departamento es 1650mientras que la probabilidad de que dos cursos del mismo departamento tengan conflictoes 2250 notaacutendose una gran diferencia en el resultado
Dificultades encontradas por los responsables de la generacioacuten de horarios
Algunas dificultades experimentadas por los departamentos y facultades sonmencionadas aquiacute
bull Los programas acadeacutemicos se hacen cada vez maacutes flexibles (los estudiantesseleccionan queacute asignaturas tomar cuaacutendo doacutende y con quieacuten)
bull Algunos departamentos tienen asignaturas para ofrecer pero no tienen muchosalumnos
bull Los espacios para ofrecer las materias son cada vez menos y el problema se agravacuando los alumnos no quieren asistir en las tardes o los saacutebados
bull El staff de profesores no siempre estaacute disponible para impartir clases por muacuteltiplesrazones
bull Los alumnos pueden solicitar los grupos del proacuteximo semestre desde antes de queinicie pero al llegar el momento de inscribirse no lo hacen
bull Los departamentos estaacuten ansiosos por ofrecer una gran variedad de grupos teniendolos recursos pero esto puede ocasionar problemas
bull Existe una gran variedad de reglas al momento de asignar las aulas (pertenencia alas carreras prioridades de profesores etc)
bull Como no hay un costo asociado a la utilizacioacuten de un aula y no hay sanciones porreservarla y no utilizarla los departamentos acadeacutemicos no tienen un buen motivopara hacer una correcta utilizacioacuten del espacio
bull La falta de recursos ocasiona el mayor de los problemas porque obliga a laoptimizacioacuten en la planeacioacuten
Cursos y estudiantes
El problema de la elaboracioacuten de horarios estaacute relacionado esencialmente con el nuacutemerode eventos que requieren ser programados en este caso los cursos para los estudiantesClaramente el tamantildeo del problema variacutea entre los diferentes centros de estudio desdepequentildeos problemas con alrededor de 50 a 100 cursos hasta los 500 o 1000 cursos que
Capiacutetulo 2 Marco teoacuterico
programar Esta variacioacuten en el tamantildeo afectaraacute el tiempo requerido para resolver elproblema Un problema pequentildeo puede ser resuelto casi de manera oacuteptima mientrasque en uno grande se deben usar buacutesquedas heuriacutesticas u otras formas de acotar elespacio de buacutesqueda de una solucioacuten en un periodo de tiempo razonable
Se debe esperar que el nuacutemero de cursos y el nuacutemero de alumnos esteacuten correlacionadosEl nuacutemero de cursos ofrecidos y desde luego programados debe ser calculado porextrapolacioacuten del promedio de 5 o 6 cursos por alumno y con cupo promedio de 30alumnos por curso obviamente algunos alumnos se inscribiraacuten en 7 u 8 cursos porsemestre mientras que los cursos tendraacuten inscritos entre 20 y 40 alumnos Losalumnos dependiendo del semestre en que se encuentran inscritos deben matricularse aciertos cursos especiacuteficos para ese semestre dichos cursos deben programarse de maneraque los alumnos tengan la menor cantidad de tiempo entre el primer y el uacuteltimo cursodel diacutea permitieacutendoles con esto realizar actividades complementarias
En el Tecnoloacutegico de Zacatepec para una carrera con 900 alumnos se requieren ofertaraproximadamente entre 140 y 160 cursos ademaacutes los estudiantes pueden matricularse encursos ofrecidos por otros departamentos (esto ampliacutea el rango de posibilidades para losalumnos)
Los cursos y los departamentos
El promedio de los cursos ofrecidos por cada departamento variacutea considerablementeentre las diferentes escuelas de nivel superior La razoacuten de esta variabilidad puede servista como un indicador de la naturaleza de la complejidad de la planeacioacuten de horarios
Cada departamento ofrece cursos a los estudiantes de las carreras a las que da soportedirecto pero ademaacutes debe ofrecer cursos para todas las otras carreras de la institucioacutenque lo requieran esto es si un departamento X solicita la apertura de determinadonuacutemero de cursos a un departamento Y el departamento Y debe ofertar los cursossolicitados por X para los alumnos matriculados en el departamento X aunado a estoalgunos cursos ofertados por el departamento Y tienen compatibilidad con cursosofrecidos por X y por lo tanto los estudiantes de Y y X pueden ingresar indistintamenteen cualquiera de los cursos
Los cursos los semestres y las horas
Una de las afirmaciones que se pueden hacer en las instituciones de nivel superior es quelos cursos generalmente inician durante cierto periodo de tiempo y pueden tenerduracioacuten semestral (la gran mayoriacutea) trimestral y sin fechas predeterminadas (algunosposgrados por ejemplo) En general los cursos empiezan a las 700 AM y terminandependiendo del lugar a las 2000 o a las 2100 horas de lunes a saacutebado Aunque estopermite tener un amplio margen de horas para programar los cursos esto hace tambieacuten
Capiacutetulo 2 Marco teoacuterico
aun maacutes difiacutecil la elaboracioacuten de los horarios porque aumenta el rango de posiblescombinaciones donde programar cursos
Los cursos se pueden programar en periodos de tiempo muy variados aunque la mayoriacuteade los programadores de horarios siguen los siguientes patrones
bull Curso diario de 1 horabull Curso de dos horas en diacuteas saltados (lunes y mieacutercoles jueves y viernes
mieacutercoles y viernes)bull Curso de dos horas diarias 3 diacuteas por semana (lunes mieacutercoles y viernes)
(lunes martes y jueves) o (martes jueves y viernes)bull Cursos de cuatro horas en un solo diacutea por semanabull En el peor de los casos se programan cursos con la combinacioacuten de algunos
de los anteriores
Dependiendo del curso algunos tienen duracioacuten de cuatro horas teoacutericas semanales otroscombinan cuatro horas de teoriacutea y dos de praacutectica y algunos excepcionalmente sonprogramados con cuatro horas de praacutectica y dos de teoriacutea Las horas de praacutecticageneralmente se realizan en laboratorios o praacutecticas de campo agregando esto un nuevoparaacutemetro para la complejidad de la elaboracioacuten de horarios
Los cursos y las aulas
Las aulas son el espacio fiacutesico donde se impartiraacuten los cursos pueden ser salones declase laboratorios salones de exposicioacuten aulas para aplicacioacuten de exaacutemenes aulas paraactividades deportivas musicales o recreativas cada aula tiene capacidad para quecierto nuacutemero definido de estudiantes reciba sin problema unidades de ensentildeanzaaprendizaje
En una encuesta realizada por la Universidad de Nottingham [Burke y Elliman 1998] sedefinioacute que la programacioacuten de los cursos en las aulas es uno de los mayores problemasa los que se enfrentan los responsables de la elaboracioacuten de horarios Esto proviene dedos problemas mayores El primer problema es la escasez de aulas disponibles ya queen algunas de las escuelas de nivel superior el crecimiento de la poblacioacuten estudiantil hasido mayor que el crecimiento del nuacutemero de aulas disponibles para la ensentildeanza Elsegundo problema ocurre cuando se programa un curso en mas de un aula o saloacuten declase
La ocupacioacuten de las aulas es variable de acuerdo al departamento para el que seaasignada algunos prefieren utilizarlas al maacuteximo en el turno matutino otros en el turnovespertino tienen ocupacioacuten total algunos las utilizan exhaustivamente de lunes ajueves unos departamentos las llenan los viernes y saacutebados y otros tienen que utilizarlastodo el diacutea de lunes a saacutebado inclusive solicitan prestadas a los otros departamentosaquellos espacios que no son utilizados en alguacuten diacutea y hora a la semana
Capiacutetulo 2 Marco teoacuterico
Para el Tecnoloacutegico de Zacatepec el recurso llamado las aulas debe ser optimizado enuna buena planeacioacuten de horarios esto es deben ser utilizadas al maacuteximo todos los diacuteasde la semana desde las 700 hasta las 2100 de lunes viernes y los saacutebados hasta las1500 horas
Tipos de cursos
Una de las cosas a tomarse en cuenta durante la elaboracioacuten de los horarios es el tipo decurso a programar
bull Teoacutericos como los cursos matemaacuteticos cursos de administracioacuten etcbull Teoacuterico praacutecticos como los cursos de electroacutenica sistemas digitalesbull Lenguajes de programacioacutenbull Con praacutecticas de campo que deben salir al aire librebull Con praacutecticas de quiacutemica
Otra consideracioacuten es el tipo de aula requerida por los diferentes tipos de cursos
bull cursos que requieren medios audiovisuales simples (pizarroacuten y gis)bull algunos cursos adicionalmente requieren proyectores de acetatos y salas
obscurecidasbull cursos que requieren equipo de coacutemputo equipo de proyeccioacuten equipo de video y
televisioacuten para el desarrollo de la caacutetedra etcbull cursos que requieren laboratorios con computadorasbull que requieren equipos de medicioacuten electroacutenica generadores de sentildeales enchufes
eleacutectricos ybull cursos que requieren mesas tomas eleacutectricas y equipos para conexioacuten de redes
Los cursos y los catedraacuteticos
Definitivamente eacutesta es una de las principales consideraciones que tienen en cuenta losprogramadores de horarios la asignacioacuten de los cursos a los catedraacuteticos porque es unproceso que no puede realizarse de manera aleatoria es un proceso delicado porque deesto depende la efectividad del proceso de ensentildeanzandashaprendizaje
Los catedraacuteticos tienen caracteriacutesticas individuales que los hacen uacutenicosindependientemente de la profesioacuten que hayan estudiado Tienen intereses diferentesmeacutetodos diferentes aacutereas de preferencia diferentes perfil profesiograacutefico distinto tienenactividades extralaborales variadas asiacute que
iquestCoacutemo asignarle un curso a un catedraacutetico para que logre un oacuteptimo resultado en el
Capiacutetulo 2 Marco teoacuterico
proceso de ensentildeanza-aprendizajeiquestCoacutemo garantizar que el curso asignado a un profesor seraacute bien impartidoiquestCoacutemo saber que el profesor estaacute capacitado para ofrecer un buen cursoiquestCuaacuteles son los requisitos que debe reunir un profesor para impartir cierto cursoiquestDependen soacutelo de la profesioacuten los cursos que puede impartiriquestCoacutemo conocer de antemano las preferencias de los profesoresiquestEl nivel de estudio de los profesores les capacita para impartir cualquier cursoiquestDeben los profesores ser guiados a una especialidad por los programadores dehorarios
Las respuestas a todas estas preguntas incorporadas en un sistema generador de horariosiquestpermitiraacuten hacer una buena asignacioacuten de catedraacutetico a un curso
El condensado de horarios
Es un documento emitido cada semestre por los responsables de la elaboracioacuten de loshorarios que contiene la informacioacuten requerida por los alumnos jefes de departamento ycatedraacuteticos para conocer la distribucioacuten de las materias los grupos las aulas las horasy los catedraacuteticos que impartiraacuten los cursos en otras palabras el condensado de materiases el documento final de los HORARIOS que marcaraacute las acciones de todos el semestreactual
23 El proceso de la elaboracioacuten de horarios
El proceso de la elaboracioacuten de horarios abarca cada accioacuten que es requerida para crearel horario final completo y correcto de los datos iniciales Esto incluye recibir validary dar formato a los datos generar la versioacuten inicial hacer las correcciones y luegoproducir el condensado final de horarios El proceso de la generacioacuten de horariosabarca
bull la generacioacuten del dato de cuantos cursos se van a ofertarbull asignacioacuten de horario a esos cursosbull proporcionar aulas a los cursosbull designar profesores para los cursos definidos
la parte difiacutecil de esto es generar los horarios con los recursos disponibles en cadadepartamento cada etapa tiene sus restricciones (fuertes y suaves) los recursos no soninagotablesEl uso de la computadora
En una encuesta realizada por la Universidad de Nottingham [Burke y Elliman 1998]referente a la forma de elaborar horarios en las demaacutes universidades se encontroacute que un
Capiacutetulo 2 Marco teoacuterico
58 de ellas utilizan la computadora en alguna etapa del proceso de eacutestas el 21 tienela facilidad de realizar la programacioacuten aunque generalmente requieren captura manualde informacioacuten y conocimientos previos del problema particular del proceso El 1tienen paquetes comerciales y el 14 tienen paquetes hechos en casa para generarhorarios y el 2 aseguran que estaacuten desarrollando o comprando un paquete
Dado el tamantildeo de los horarios de dichas universidades es sorprendente que muchas notengan alguna forma de automatizacioacuten Esto se debe en la mayoriacutea de los casos a quelos horarios no cambian significativamente de un antildeo a otro Sin embargo de lasuniversidades que no programan horarios por computadora la mitad usa el horario delantildeo pasado y la otra mitad empiezan desde cero cada vez Cuando no se usa el horariodel antildeo pasado generalmente toma 4 semanas elaborar uno nuevo En la mayoriacutea de loscasos donde se usa la computadora generalmente no se toma en cuenta el horario delantildeo anterior
Causas de cambio de los horarios antildeo tras antildeo
Para que un horario pueda ser usado antildeo tras antildeo debe ser lo suficientemente robustopara que los cambios que ocurran en los datos de entrada produzcan soacutelo una pequentildeaalteracioacuten o modificacioacuten en el condensado final de horarios El uso del condensado delantildeo pasado depende en la cantidad de cambios que deben hacerse y esto a su vezdepende de cuanto cambie la cantidad de grupos que deben ofertarse para cadaasignatura y esto depende de la cantidad de alumnos que pueden cursar una asignaturaahora bien la cantidad de alumnos estaacute en funcioacuten de los iacutendices de aprobacioacuten yreprobacioacuten del periodo de los alumnos que por alguna razoacuten no cursaron unaasignatura y de la cantidad de grupos ofertados el periodo pasado
Si cambia la cantidad de horas frente a grupo asignada a un departamento entoncescambiaraacute el condensado de horarios con respecto al del antildeo pasado porque eso afectadirectamente en la cantidad de cursos que podraacute ofertarse este periodo este es uno de losrecursos maacutes variables que influyen para hacer cambios en los condensados antildeo trasantildeo
La redistribucioacuten de aulas y laboratorios (que no se realiza a menudo) llega tambieacuten ainfluir en los cambios
El cambio de horario matutino a vespertino (o viceversa) solicitado por un catedraacuteticoque es el especialista en impartir cierto curso ocasiona los cambios del condensado dehorarios del antildeo anterior al nuevo
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
CAPIacuteTULO 3
TEacuteCNICAS DE INTELIGENCIA ARTIFICIAL UTILIZADASPARA LA GENERACIOacuteN DE HORARIOS
31 Sistemas Expertos (SE)Bajo el teacutermino de Sistemas Expertos se entiende un nuevo tipo de software que imita elcomportamiento de un experto humano en la solucioacuten de un problema Un SE puedealmacenar conocimientos de expertos para un campo determinado y solucionar unproblema mediante razonamiento loacutegico de conclusiones
Los Sistemas Expertos son sistemas que buscan modelar el conocimiento yprocedimientos usados por un experto humano para resolver un problemadeterminado[Saacutenchez 1999]
iquestUn Sistema Experto utiliza teacutecnicas de la Inteligencia Artificial (IA)
Los Sistemas Expertos son uno de los puntos que componen las investigaciones en elcampo de la IA Un sistema de computadoras que trabaje con teacutecnicas de IA deberaacuteestar en situacioacuten de combinar informacioacuten de forma ldquointeligenterdquo alcanzarconclusiones y justificarlas (al igual que el resultado final) Los Sistemas Expertos sonuna expresioacuten de los sistemas basados en el conocimiento Con la aplicacioacuten de teacutecnicasde Inteligencia Artificial finaliza la transicioacuten del procesamiento de datos alprocesamiento de conocimientos
Un Sistema Experto es un sistema informaacutetico que simula el proceso de aprendizaje dememorizacioacuten de razonamiento de comunicacioacuten y de accioacuten de un experto humano enuna determinada rama o dominio Estas caracteriacutesticas le permiten almacenar datos yconocimiento sacar conclusiones loacutegicas tomar decisiones aprender de la experiencia ylos datos existentes comunicarse con humanos explicar el porqueacute de las decisionestomadas y realizar acciones como consecuencia de todo lo anterior
La incorporacioacuten dentro de un sistema de computadoras de un componente basado enel conocimiento correspondiente a una habilidad experta de tal forma que el sistemapueda ofrecer asesoramiento inteligente o tomar una decisioacuten inteligente sobre unafuncioacuten del proceso Una caracteriacutestica adicional deseable que muchos consideranfundamental es la capacidad del sistema si se le solicita de justificar su propia liacutenea derazonamiento de un modo directamente inteligible para el interrogador El estiloadoptado para alcanzar estas caracteriacutesticas es la programacioacuten basada en reglas[Waterman 1986]
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
311 Funcioacuten de un Sistema Experto
La funcioacuten de un Sistema Experto es aportar soluciones a problemas de un dominioespeciacutefico imitando la forma de razonamiento de los seres humanos es decir el SistemaExperto debe ser capaz de mostrar soluciones inteligentes [Giarratamo 1998]
Acceder a los conocimientos adquiridos por experiencia es lo maacutes difiacutecil ya que losexpertos al igual que otras personas apenas los reconocen como tales Son buscadoscon mucho esfuerzo y cuidado siendo descubiertos de uno en uno poco a poco
Ventajas del Sistema Experto
Experto Humano Experto ArtificialMortal PermanenteDifiacutecil de documentar Faacutecil de documentarDifiacutecil de transferir Faacutecil de transferirImpredecible ConsistenteMaacutes caro Menos caro
Ventajas del Experto Humano
Experto Humano Experto ArtificialCreativo No creativoAdaptable Requiere mantenimientoExperiencia sensorial Entrada simboacutelicaConocimiento de sentido comuacuten Conocimiento teacutecnico
312 Arquitectura de Sistemas Expertos [Gines 1986] [Giarratamo 1998]
La arquitectura general de un SE (Fig 31) estaacute compuesta fundamentalmente de
bull Base de Conocimiento Representa el conocimiento adquirido del expertohumano incluyendo experiencia sentido comuacuten e intuicioacuten
bull Motor de Inferencia Decide que se debe aplicar que se debe hacer resuelveconflictos nuevos hace uso de la base del conocimiento Proporcionamecanismos de razonamiento buacutesqueda aprendizaje etc
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
bull Interfaz Usuario Facilita la comunicacioacuten entre el Sistema Experto y el usuarioque realiza las consultas
bull Subsistema de Adquisicioacuten Mejor conocido como la Interfaz de Expertopermite ingresar el conocimiento a la Base de Conocimientos por parte delhumano experto en alguacuten dominio de conocimiento
bull Subsistema de explicaciones Permite dar a conocer los resultados obtenidospor el Sistema Experto
313 La base de conocimiento
El enfoque maacutes comuacuten para representar el dominio del conocimiento que se requierepara un SE son las reglas de produccioacuten Estas pueden ser referidas como reglasldquosituacioacuten-accioacutenrdquo o ldquoif-thenrdquo De esta forma con frecuencia una base deconocimientos estaacute fraguada principalmente de reglas las cuales son invocadas por uncasamiento de patrones con las particularidades de las tareas circunstanciales que vanapareciendo en la base de hechosLas reglas en una base de conocimientos representan el dominio de hechos y laheuriacutestica de un buen juicio de acciones a tomar cuando uno llega a situacionesespeciacuteficas La fuerza de un SE yace en el conocimiento especiacutefico del dominio delproblema Casi todos los sistemas existentes basados en reglas contienen cientos o milesde ellas y generalmente se obtienen de entrevistas con expertos durante un tiempo largoEn cualquier SE las reglas se conectan una a otra por ligas de asociacioacuten para formar
Base de
Motor de
Subsistema deadquisicioacuten
del
Subsistemade
explicacione
Interfazde
usuario
Ingeniero delconocimiento y experto Usuario
Base de hechos
Figura 31 Arquitectura de un Sistema Experto
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
redes de reglas Una vez que han sido ensambladas tales redes entonces se tiene unarepresentacioacuten de un cuerpo de conocimientos que es sustancial
Generalmente un experto tiene muchas reglas de criterio empiacutericas por lo que el soportesuele ser incompleto para la evidencia que se dispone En tales casos una teacutecnica es la devincular valores numeacutericos a cada regla para indicar el grado de certidumbre que eacutestatiene En la operacioacuten de SE los valores de certidumbre se combinan unos a otros atraveacutes de la red considerando tambieacuten la certidumbre de los datos de entrada delproblema para llegar finalmente a un valor de certidumbre de la solucioacuten final
314 El motor de inferencias
El sistema experto modela el proceso de razonamiento humano con un moacutedulo conocidocomo el motor de inferencia Dicho motor de inferencia trabaja con la informacioacutencontenida en la base de conocimientos y la base de hechos para deducir nuevos hechosContrasta los hechos particulares de la base de hechos con el conocimiento contenido enla base de conocimientos para obtener conclusiones acerca del problemaEl modelo de problema - solucioacuten y sus meacutetodos organizan y controlan las etapas que sevan tomando para la resolucioacuten de problemas Un modelo muy poderoso y comuacuten es elde encadenar las reglas `` if-then-else con el fin de formar alguna liacutenea derazonamiento Si el encadenamiento se inicia a partir de un conjunto de condiciones y semueve hacia alguna conclusioacuten el meacutetodo se llama encadenamiento hacia adelante y ensu caso contrario el encadenamiento es hacia atraacutes
Un problema de encadenamiento hacia adelante sin una apropiada heuriacutestica de podaderivaraacute muchas soluciones de las cuales no todas son necesarias En el caso deencadenamiento hacia atraacutes es necesario tambieacuten trabajar con una heuriacutestica apropiadacon la finalidad de poder manejar submetas conjuntivas En general para atacar elproblema de conjuncioacuten es necesario encontrar un caso en donde todas las submetasinteractuantes se satisfagan Pero con frecuencia una buacutesqueda de tal naturaleza nos dauna explosioacuten combinatoria de posibilidades Es por esta razoacuten que el dominioapropiado de la heuriacutestica y su esquema inferencial deberaacuten ser encontrados para cadatipo de problemas para que de esta manera se tenga un SE eficaz y eficiente
315 iquestPor queacute utilizar un Sistema Experto [Pluss 1999] [Sanchez 1999]
1 Con la ayuda de un Sistema Experto personas con poca experiencia pueden resolverproblemas que requieren un conocimiento formal especializado
2 Los Sistemas Expertos pueden obtener conclusiones y resolver problemas de formamaacutes raacutepida que los expertos humanos
3 Los Sistemas Expertos razonan pero basaacutendose en un conocimiento adquirido y notienen sitio para la subjetividad
Capiacutetulo 2 Marco teoacuterico
4 El uso de Sistemas Expertos es especialmente recomendado en las siguientessituaciones
bull Cuando los expertos humanos en una determinada materia son escasos
bull En situaciones complejas donde la subjetividad humana puede llevar aconclusiones erroacuteneas
bull Cuando es muy elevado el volumen de datos que ha de considerarse paraobtener una conclusioacuten
316 Construccioacuten de prototipos [Turban 1995]
En el desarrollo de Sistemas Expertos se plantean dos importantes riesgos
1- No existen implementaciones similares que puedan servir de orientacioacuten al encargadodel desarrollo en la casi totalidad de los casos
2- En muchos puntos los requisitos necesarios estaacuten esbozados con muy poca precisioacuten
El disentildeo y la especificacioacuten requieren una temprana determinacioacuten de la interfaz delsoftware y de la funcionalidad de los componentes En el desarrollo de SistemasExpertos deben alterarse a menudo durante y tambieacuten despueacutes de su implementacioacuten yaque los requisitos se han ido configurando y han obtenido mayor precisioacuten o porque seha descubierto que deben iniciarse otras viacuteas de solucioacuten Durante el desarrollo resultamaacutes apropiado empezar con implementaciones tipo test para encontrar el camino haciauna solucioacuten definitiva y para hacerlas coincidir con las necesidades del usuario
32 Algoritmos Geneacuteticos
321 Antecedentes [Medina 2004] [Goldberg 1989] [Davis 1991]
El Algoritmo Geneacutetico es una teacutecnica de buacutesqueda basada en la teoriacutea de la evolucioacutende Darwin que ha cobrado tremenda popularidad en todo el mundo durante los uacuteltimosantildeos
Esta teacutecnica se basa en los mecanismos de seleccioacuten que utiliza la naturaleza de acuerdoa los cuales los individuos maacutes aptos de una poblacioacuten son los que sobreviven al
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
adaptarse maacutes faacutecilmente a los cambios que se producen en su entorno Hoy en diacutea sesabe que estos cambios se efectuacutean en los genes de un individuo (unidad baacutesica decodificacioacuten de cada uno de los atributos de un ser vivo) y que sus atributos maacutesdeseables se transmiten a sus descendientes cuando eacuteste se reproduce sexualmente
En 1859 Darwin publica su libro laquoEl origen de las especiesraquo El libro causoacute una granpoleacutemica en el mundo cientiacutefico por las revolucionarias teoriacuteas en eacutel contenidas que lasespecies evolucionan acorde al medio para adaptarse a eacuteste Con ello el universopasaba de ser una creacioacuten de Dios estaacutetica y perfecta desde su inicio a un conjunto deindividuos en constante competicioacuten y evolucioacuten para poder perpetuar su especie en eltiempo La existencia de una especie pasa asiacute a ser algo dinaacutemico las especies se creanevolucionan y desaparecen si no se adaptan Para cada especie animal la naturalezaproponiacutea un crudo filtro soacutelo los mejores los maacutes aptos los que mejor se adapten almedio conseguiacutean sobrevivir lo suficiente para llegar a la madurez y encontrar unapareja para perpetuar sus aptitudes que le haciacutean maacutes apto
La informaacutetica ve aquiacute un claro proceso de optimizacioacuten Se toman los individuos mejoradaptados (mejores soluciones temporales) se cruzan (se mezclan ) generando nuevosindividuos (nuevas soluciones) que contendraacuten parte del coacutedigo geneacutetico (informacioacuten)de sus dos antecesores y por lo tanto aunque el nuevo individuo no tenga que estarforzosamente mejor adaptado de hecho puede que ni la probabilidad de que el nuevoindividuo generado esteacute mejor adaptado que los padres sea alta el promedio de laadaptacioacuten de toda la poblacioacuten si mejora ya que tienden a perpetuarse y extenderse lasmejores caracteriacutesticas y a extinguirse las poco beneficiosas o perjudiciales En losAlgoritmos Geneacuteticos se crea una nueva abstraccioacuten -la poblacioacuten- cuya funcioacuten decoste mejoraraacute globalmente por lo que puede que se encuentre alguacuten individuo conmejores caracteriacutesticas
Un investigador de la Universidad de Michigan llamado John Holland era consciente dela importancia de la seleccioacuten natural y a fines de los antildeos 60 desarrolloacute una teacutecnica quepermitioacute incorporarla a un programa Su objetivo era lograr que las computadorasaprendieran por siacute mismas A la teacutecnica que inventoacute Holland se le llamoacute originalmentePlanes Reproductivos pero se hizo popular bajo el nombre Algoritmo Geneacutetico trasla publicacioacuten de su libro en 1975
En esa universidad Holland impartiacutea un curso titulado Teoriacutea de sistemas adaptativosDentro de este curso y con una participacioacuten activa por parte de sus estudiantes fuedonde se crearon las ideas que maacutes tarde se convertiriacutean en los Algoritmos GeneacuteticosLos objetivos de su investigacioacuten fueron dos
Imitar los procesos adaptativos de los sistemas naturales y Disentildear sistemas artificiales (normalmente programas) que retengan los mecanismos
importantes de los sistemas naturales
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
Unos 15 antildeos maacutes adelante David Goldberg actual delfiacuten de los Algoritmos Geneacuteticosconocioacute a Holland y se convirtioacute en su estudiante Golberg era un ingeniero industrialtrabajando en disentildeo de tuberiacuteas y fue uno de los primeros que tratoacute de aplicar losAlgoritmos Geneacuteticos a problemas industriales Aunque Holland tratoacute de disuadirleporque pensaba que el problema era excesivamente complejo Goldberg consiguioacute loque queriacutea escribiendo un Algoritmo Geneacutetico en una computadora personal Apple IIEstas y otras aplicaciones creadas por estudiantes de Holland convirtieron a losAlgoritmos Geneacuteticos en un campo con base suficiente como para celebrar la primeraconferencia en 1985 ICGAacute85 Tal conferencia se sigue celebrando bianualmente[Beasley 1993]
Una definicioacuten bastante completa de un Algoritmo Geneacutetico es la propuesta por JohnKoza es un algoritmo matemaacutetico altamente paralelo que transforma un conjunto deobjetos matemaacuteticos individuales con respecto al tiempo usando operaciones modeladasde acuerdo al principio Darwiniano de reproduccioacuten y supervivencia del maacutes apto y trashaberse presentado de forma natural una serie de operaciones geneacuteticas de entre las quedestaca la recombinacioacuten sexual Cada uno de estos objetos matemaacuteticos suele ser unacadena de caracteres (letras o nuacutemeros) de longitud fija que se ajusta al modelo de lascadenas de cromosomas y se les asocia con una cierta funcioacuten matemaacutetica que refleja suaptitud [Koza 1992] 322 Definicioacuten de AG
Los Algoritmos Geneacuteticos (AG) son meacutetodos adaptativos que pueden usarse pararesolver problemas de buacutesqueda y optimizacioacuten Estaacuten basados en el proceso geneacutetico delos organismos vivos A lo largo de las generaciones las poblaciones evolucionan en lanaturaleza de acorde con los principios de la seleccioacuten natural y la supervivencia de losmaacutes fuertes postulados por Darwin Por imitacioacuten de este proceso los AlgoritmosGeneacuteticos son capaces de ir creando soluciones para problemas del mundo real Laevolucioacuten de dichas soluciones hacia valores oacuteptimos del problema depende en buenamedida de una adecuada codificacioacuten de las mismas [Goldberg 1989]
Un Algoritmo Geneacutetico consiste en una funcioacuten matemaacutetica que toma como entradas alos ejemplares y retorna como salidas cuaacuteles de ellos deben generar descendencia para lanueva generacioacuten
Los Algoritmos Geneacuteticos presentan ventajas sobre otros algoritmos que los hacenpreferibles para determinado tipo de aplicaciones Algunas de las caracteriacutesticas de losAlgoritmos Geneacuteticos son
bull Son algoritmos estocaacutesticos Dos ejecuciones distintas pueden dar dos solucionesdistintas Esto es uacutetil por el hecho de que hay gran cantidad de isoacutemeros que
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
corresponden a soluciones vaacutelidas por lo que es interesante que distintas ejecucionespuedan dar isoacutemeros distintos
bull Son algoritmos de buacutesqueda muacuteltiple luego dan varias soluciones Aunquehabitualmente la energiacutea de los individuos de la poblacioacuten final es similar losindividuos suelen ser distintos entre si Con el modelo de paralelizacioacuten empleado -geneacutetico multipoblacional- la probabilidad de obtener muchas soluciones distintas esmaacutes alta todaviacutea
bull Son los algoritmos que hacen una barrida mayor al subespacio de posiblessoluciones vaacutelidas De hecho se considera que de todos los algoritmos deoptimizacioacuten estocaacutesticos los Algoritmos Geneacuteticos son de los maacutes exploratoriosdisponibles
323 Ventajas y Desventajas [Bull 1993]
bull No necesitan conocimientos especiacuteficos sobre el problema que intentan resolverbull Operan de forma simultaacutenea con varias soluciones en vez de trabajar de forma
secuencial como las teacutecnicas tradicionalesbull Cuando se usan para problemas de optimizacioacuten de una funcioacuten objetivo- resultan
menos afectados por los oacuteptimos locales (falsas soluciones) que las teacutecnicastradicionales
bull Usan operadores probabiliacutesticos en vez de los tiacutepicos operadores determiniacutesticos delas otras teacutecnicas
bull La mayoriacutea de las otras teacutecnicas de optimizacioacuten son tambieacuten estocaacutesticasbull Pueden tardar mucho en converger o no converger en absoluto dependiendo en
cierta medida de los paraacutemetros que se utilicen tamantildeo de la poblacioacuten nuacutemero degeneraciones etc-
bull Pueden converger prematuramente debido a una serie de problemas de diversaiacutendole
324 iquestCoacutemo saber si es posible usar un Algoritmo Geneacutetico
La aplicacioacuten maacutes comuacuten de los Algoritmos Geneacuteticos ha sido la solucioacuten de problemasde optimizacioacuten en donde han mostrado ser muy eficientes y confiables Sin embargono todos los problemas pudieran ser apropiados para la teacutecnica y se recomienda engeneral tomar en cuenta las siguientes caracteriacutesticas del mismo antes de intentar usarlabull Su espacio de buacutesqueda (ie sus posibles soluciones) debe estar delimitado dentro
de un cierto rangobull Debe poderse definir una funcioacuten de aptitud que indique que tan buena o mala es
una cierta respuestabull Las soluciones deben codificarse de una forma que resulte relativamente faacutecil de
implementar en la computadora
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
Decisiones para implementar un Algoritmo Geneacutetico [Michalewicz 1992]
Las decisiones que hay que tomar para implementar un Algoritmo Geneacutetico son
bull Criterio de codificacioacuten Coacutemo se va a almacenar la informacioacuten en el genomabull Criterio de tratamiento de individuos no factibles Coacutemo se van a tratar a los
individuos que no cumplan las restriccionesbull Criterio de inicializacioacuten Coacutemo se va a construir la poblacioacuten inicialbull Criterio de parada Determina cuaacutendo el algoritmo ha llegado a una solucioacuten
aceptablebull Funcioacuten de adaptacioacuten Corresponde a la funcioacuten de costo de la investigacioacuten
operativa tradicionalbull Operadores geneacuteticos Se emplean para determinar coacutemo va a ser la nueva
generacioacuten Baacutesicamente son los operadores de cruce y mutacioacuten aunque pueden serempleados otros adicionales -muerte aborto envejecimiento- Tanto cruce comomutacioacuten pueden ser realizados de muchas formas distintas
bull Criterios de reemplazo Los criterios que determinan quieacutenes se van a cruzar Notienen que ser obligatoriamente los mismos que los criterios de seleccioacuten de lospadres
bull Paraacutemetros de funcionamiento Determinados paraacutemetros que sin poder serenglobados en ninguno de los anteriores son fundamentales para el funcionamientode un Algoritmo Geneacutetico Es el caso por ejemplo del tamantildeo de la poblacioacuten laprobabilidad de la aplicacioacuten de los operadores geneacuteticos etc
325 Paraacutemetros que deben ser especificados en el programa
Nordm de generaciones cantidad de veces que se produce una nueva generacioacuten deindividuos utilizando las reglas anteriormente explicadas Por loacutegica cuantas maacutesgeneraciones se produzcan se obtendraacuten mejores individuosNordm de individuos por generacioacuten en este ejemplo la cantidad de individuos de unageneracioacuten a otra es constante no variacuteaNordm de entrenamientos cantidad de veces que se lleva a cabo un entrenamiento entrediferentes generaciones de individuos
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
Fig 32 Pseudocoacutedigo del Algoritmo Geneacutetico simple
Los Algoritmos Geneacuteticos son una poderosa herramienta de propoacutesito general deoptimizacioacuten que modela los principios de la evolucioacuten [Burke 1994]
El proceso es el siguiente
1 Una poblacioacuten random de horarios factibles es creada Cada horario es evaluado deacuerdo a una conjunto de criterios (por ejemplo el tamantildeo del horario cuantosgrupos son colocados a la misma hora y en el mismo saloacuten cuantos salones hayvaciacuteos)
2 Los horarios son seleccionados de manera aleatoria para ser las bases de la proacuteximageneracioacuten Los buenos horarios son maacutes deseables que los malos En las bases dela evaluacioacuten de estos miembros de la poblacioacuten (horarios factibles) se escogen lospadres de la proacutexima generacioacuten de horarios Evaluando numeacutericamente durante elproceso de seleccioacuten buscando los mejores horarios los peores horarios soneliminados al mismo tiempo que la buacutesqueda se dirige hacia las aacutereas maacutespromisorias del espacio de soluciones
3 El Operador Mutacioacuten se aplica generalmente a un solo miembro de la poblacioacuten einvolucra el cambio aleatorio de la hora o aula de algunos grupos despueacutesalmacena el nuevo horario siempre manteniendo un horario factible Esto agrega
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
un elemento que permite tambieacuten introducir material geneacutetico uacutetil que ha sidoperdido en otros horarios en las primeras generaciones
4 El Operador de Cruzamiento toma una pareja de horarios y los combina de algunamanera para producir uno o dos nuevos horarios esto se hace generalmente deforma aleatoria seleccionando algunos grupos de la mantildeana de un miembro de lapoblacioacuten y los algunos grupos de la tarde de otro miembro para producir un nuevohorario cualquier grupo que no pueda ser colocado de esta manera se manda alperiodo siguiente disponible
5 La nueva poblacioacuten es generada El proceso seraacute repetido hasta que una buenasolucioacuten sea generada
33 Programacioacuten Loacutegica de Restricciones (PLR)
331 Antecedentes de la PLR
La Programacioacuten Loacutegica de Restricciones (PLR) es una teacutecnica que tiene mucho encomuacuten con los algoritmos de asignacioacuten heuriacutestica Dechter describe asiacute el problemade la satisfaccioacuten de restricciones ldquoUn problema de satisfaccioacuten de restricciones (PSR)es representado por una red de restricciones consistente en un conjunto de n variablesX1 Xn con sus respectivos valores de dominio RR n y un conjunto derestricciones Una restriccioacuten Ci (Xi1Xij)es un subconjunto del producto cartesiano Ri1 x x R i1 formado por todas las tuplas de valores para un subconjunto(X i1X ij) delas variables que son compatibles unas con otrasrdquo [Detcher 1990]
Una solucioacuten de la red es una asignacioacuten de valores a todas las variables de tal formaque todas las restricciones son satisfechasrdquo Esta es una representacioacuten maacutes poderosaque el modelo de los Grafos Coloreados porque puede representar restricciones mascomplejas El problema de los grafos coloreados es equivalente a un PLR binario en lacual cada restriccioacuten soacutelo tiene dos variables
Este modelo se resuelve tratando de asignar valores a cada una de las variables encuestioacuten y entonces regresando si se encuentra en un punto muerto y quitandorestricciones si se descubre que no se puede encontrar solucioacuten El orden en el que lasvariables son seleccionadas y el orden de los valores que son asignados a las variablespuede ser alterado para tratar aumentar la velocidad de buacutesqueda
La PLR es un meacutetodo que permite el disentildeo raacutepido de prototipos de resolucioacuten deproblemas complejos Las principales aportaciones en esta liacutenea se centran en eldesarrollo de programas que incluyen conjuntos de restricciones adaptadas a unadeterminada familia de problemas asiacute como al disentildeo formal e implementacioacuten demodelos de interpretacioacuten en paralelo con el fin de mejorar la eficiencia del proceso
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
deductivo El objetivo final es disponer de sistemas de resolucioacuten implementados paraapoyar la creacioacuten de sistemas donde la explosioacuten combinatoria de los elementos de unproblema hace muy difiacutecil la buacutesqueda de una solucioacuten en un tiempo razonable [Farion1992]
En esta seccioacuten se proporciona una breve introduccioacuten de la Programacioacuten Loacutegica conRestricciones y sus aplicaciones dentro del marco general de la programacioacuten loacutegica Setrata eacuteste de un campo que ha tenido una notable expansioacuten debido a su potencialaplicacioacuten praacutectica dado que el anaacutelisis de las restricciones permite mejorarconsiderablemente la eficiencia del caacutelculo de determinadas funciones
332 Restricciones
En primer lugar se empieza por contestar la pregunta iquestQueacute es una restriccioacuten Estacuestioacuten se puede responder tan brevemente como escribe Roman Bartak[1998]Una restriccioacuten es simplemente una relacioacuten loacutegica entre varias variablesdesconocidas tomando cada una un valor dentro de un dominio determinado (peA+B=C-el circulo estaacute dentro del cuadrado- etc)Asiacute las restricciones aparecen de forma natural en todos los campos del conocimientohumano La suma de los aacutengulos de un triaacutengulo es 180 grados es un ejemplo derestriccioacuten que aparece en el mundo real De hecho las restricciones son el medionatural en el que las personas expresamos los problemas en todas las aacutereas
Con la explicacioacuten dada se ve de forma natural que las restricciones gozan de variaspropiedades interesantes
bull las restricciones pueden especificar informacioacuten parcial es decir en lasrestricciones no hace falta que se den de forma uacutenica los valores de sus variables
bull las variables son no direccionales es decir en una restriccioacuten tiacutepica sobre dosvariables (XY) se puede inferir una restriccioacuten sobre X dada una restriccioacutensobre Y y viceversa
bull las restricciones son declarativas es decir se puede especificar que relacioacutendeben mantener sin especificar el procedimiento computacional que implementeesa relacioacuten
bull las restricciones son aditivas es decir el orden de imposicioacuten de las restriccionesno importa todo lo que importa al fin y al cabo es la conjuncioacuten de restriccionesy su efecto
bull las restricciones no suelen ser independientes normalmente restricciones dentrodel conjunto total de restricciones comparte variables
Asiacute siguiendo esta idea el objetivo de la Programacioacuten Loacutegica con Restricciones essustituir el proceso de unificacioacuten por la resolucioacuten de restricciones sobre un dominio
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
particular de intereacutes Con esta visioacuten se considera que el procesador de restriccionesdebe encargarse de comprobar la consistencia del conjunto de restricciones y dentro delo posible reducirlo a alguna forma normal
Seguacuten Elmohamed [Elmohamed 1998] las restricciones pueden ser divididas en trestipos fuertes medias y suaves
Restricciones fuertes Son todas aquellas que deben ser cumplidas obligatoriamente elcosto de no cumplir estas restricciones es sumamente alto y por lo tanto en un horariofactible su costo asociado por incumplimiento debe ser cero Por ejemplo (en unproblema real se pueden encontrar de 10 a 15 restricciones fuertes)
bull Dos o maacutes clases impartidas por un profesor no se pueden programar a lamisma hora
bull Una clase teoacuterica y su laboratorio no se pueden programar a la misma hora en elmismo diacutea
bull Una clase no se puede programar en un aula a menos que su capacidad seamayor al nuacutemero de alumnos inscritos
Restricciones medias Estas restricciones no se refieren a conflictos de tiempo perotienen asociado un alto costo a ellas sin embargo este costo no es tan alto como el de lasrestricciones fuertes En el condensado de horarios final el costo de estas restriccioneses minimizado y es deseable reducirlo a cero Por ejemplo (en un problema real sepueden tener entre 20 y 25 restricciones medias)
bull Para cada estudiante el balancear las secciones LunMieVie y MarJuebull Balancear o distribuir y equilibrar las horas de clase en la semanabull Las clases pueden requerir periodos de tiempo contiguosbull Las clases se pueden agrupar con otras clases formando paquetesbull Los horarios particulares deben tener la menor cantidad de ldquohoyosrdquo posible esto
es que las clases deben ser consecutivas unas despueacutes de otras
Restricciones suaves Estas restricciones no tienen nada que ver con conflictos detiempo y tienen un bajo costo asociado a ellas Tambieacuten en el condensado de horariosfinal este costo es minimizado pero no necesariamente debe ser cero Por ejemplo (sepueden tener entre 30 y 40 restricciones suaves)
bull Balancear la inscripcioacuten en cursos de varios paquetesbull Especificar la hora de comida y otros periodos de descansobull Los catedraacuteticos pueden requerir periodos de tiempo sin clasebull No inscribir alumnos-atletas en cursos que tengan conflicto con sus horas de
praacutectica deportiva etc
333 Sistemas con RestriccionesUna manera maacutes formal de definir las restricciones es considerarlas como una foacutermulade primer orden interpretada en una estructura para asiacute tener en cuenta la semaacutenticaparticular del sistema de restricciones Esta semaacutentica declarativa es adecuada cuando
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
existe a priori una estructura que se adecua al sistema de restricciones (pe Los realespara las restricciones aritmeacuteticas) pero esto no funciona demasiado bien para lossistemas de restricciones maacutes praacutecticos (pe Dominios finitos) Obviamente no se puededireccionar ninguacuten caacutelculo operacional relacionado con el propio procesador de lasrestricciones [Elmohamed 2001]
334 Referencia Histoacuterica de las RestriccionesLas restricciones como un aacuterea de trabajo que combina investigacioacuten de un gran nuacutemerode campos incluyendo Inteligencia Artificial Lenguajes de Programacioacuten CaacutelculoSimboacutelico y Loacutegica Computacional Las restricciones sobre redes y los problemas desatisfabilidad con restricciones empezaron a estudiarse por los investigadores deInteligencia Artificial en los antildeos 70
La programacioacuten con restricciones ha sido aplicada con notable eacutexito en numerososcampos Los trabajos en esta aacuterea se remontan a la investigacioacuten de InteligenciaArtificial y Representacioacuten Graacutefica por Computadora por los antildeos 60 y 70 En la uacuteltimadeacutecada sin embargo ha empezado a darse una mayor conciencia de que las restriccionesproporcionan las bases para un potente acercamiento a la programacioacuten modelado yresolucioacuten de problemas y que los diferentes esfuerzos por explotar estas ideas puedenser unidos bajo el mismo prisma conceptual y praacutectico la programacioacuten conrestricciones
Entre los dominios tratados por los sistemas de Programacioacuten Loacutegica con Restriccioneslos que maacutes ampliamente son investigados son sin duda los dominios finitos losnuacutemeros reales y racionales con restricciones aritmeacuteticas y los booleanos De hecho 3de los principales lenguajes de Programacioacuten Loacutegica con Restricciones son un claroejemplo de esta tendencia CHIP que proporciona restricciones sobre dominios finitosracionales y booleanos PrologIII que incluye racionales booleanos y listas y PLR(R)que maneja restricciones sobre reales
En la actualidad se pueden observar dos ramas principales en los avances en laprogramacioacuten con restricciones que parten de diferente base y por tanto usan diferentemetodologiacutea para resolver las restricciones Estas dos ramas son
bull Satisfaccioacuten de Restriccionesbull Resolucioacuten de Restricciones
335 Satisfaccioacuten de RestriccionesLa satisfaccioacuten de restricciones parte de los avances en Inteligencia Artificial (problemascombinatorios) y los Graacuteficos por computadora (sistema de SKETCHPAD[1963]expresando coherencia geomeacutetrica en el caso de anaacutelisis de escenas)
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
336 Resolucioacuten de RestriccionesLa resolucioacuten de restricciones difiere de la satisfaccioacuten de restricciones porque usavariables con dominios infinitos Ademaacutes las restricciones individuales son maacutescomplicadas por ejemplo ecuaciones no lineales En consecuencia los algoritmos deresolucioacuten de restricciones usan meacutetodos algebraicos y numeacutericos en vez decombinaciones y buacutesqueda Sin embargo existe metodologiacutea para discretizar losdominios infinitos en un nuacutemero finito de componentes y entonces se aplican lasteacutecnicas de Satisfaccioacuten de Restricciones
La programacioacuten con restricciones ha sido aplicada con eacutexito en numerosos campos Lasaplicaciones recientes incluyen [Detcher 1990]
bull Graacuteficos por Computadorabull Procesamiento del Lenguaje Natural (construccioacuten de analizadores eficientes)bull Sistemas de Bases de Datos (para reforzar yo mantener la consistencia de los
datosbull Problemas de Investigacioacuten Operativa (como la optimizacioacuten de problemas)bull Biologiacutea Molecular (secuenciacioacuten de ADN)bull Aplicaciones de Empresabull Ingenieriacutea Eleacutectrica (localizacioacuten de fallos)bull Disentildeo de Circuitos (para computar configuraciones)bull Planificacioacuten y organizacioacutenbull Configuracioacutenbull Juegosbull Configuracioacuten de horariosbull Criptoaritmeacuteticabull Coloreado de Grafosbull Razonamiento de hipoacutetesis quiacutemicas
En esta seccioacuten se va a dedicar una parte a cada una las aplicaciones maacutes estudiadas
337 Organizacioacuten de Proyectos
El problema de la Organizacioacuten es el proceso de asignar actividades a recursos en eltiempo En el caso general de organizacioacuten es un proceso de tomar decisiones donde sepueden tomar dos tipos de decisiones
bull Decisiones de situar temporalmente Cuaacutendo deberiacutea empezar cada actividadbull Decisiones de asignacioacuten de recursos Con queacute recursos deberiacutea ejecutarse cada
actividad
Los problemas de organizacioacuten y de asignacioacuten de recursos estaacuten basados enrestricciones Diferentes restricciones pueden afectar a la organizacioacuten la duracioacuten de
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
una actividad las fechas de contrato restricciones precedentes tiempos de transferenciao de inicio de la actividad la capacidad de los recursos y el reparto de recursos
La relajacioacuten de las restricciones principales caracteriza la calidad de los problemas deorganizacioacuten Estas restricciones son las relacionadas con fechas de entregaproductividad periodicidad de los cambios de herramientas niveles de inventariomargen de tiempo etc Algunas de estas restricciones pueden ser combinadas en lafuncioacuten de evaluacioacuten para la optimizacioacuten
Las aplicaciones industriales de las teacutecnicas de resolucioacuten de restricciones a losproblemas del tipo de asignacioacuten de tareas incluye[Detcher 1990]
bull Organizacioacuten de la produccioacutenbull Organizacioacuten y planificacioacuten del transporte y la logiacutesticabull Administracioacuten del traacuteficobull Disentildeo de horarios de recursos y de hombresbull Asignacioacuten de plantilla incluyendo aplicaciones de ingenieriacutea de organizacioacutenbull Problemas de empaquebull Configuracioacuten de maacutequinas
Claramente hay muchos problemas relacionados en el aacuterea de la organizacioacuten en lapraacutectica para los sistemas comerciales e industriales reales los liacutemites entre unos y otrosno estaacuten claros Es difiacutecil encontrar alguacuten problema real que se ajuste a un modelopreconcebido sin tener que descartar partes del problema y aproximar otras asiacute que hayque tomar estos modelos con amplio margen de aproximacioacuten
Otra complicacioacuten es el tema de la optimizacioacuten En algunos casos el usuario estaacutesatisfecho soacutelo con tener una manera automaacutetica de tener la respuesta pero la mayoriacuteaquieren tener al menos una buena respuesta y algunos el mejor resultado posible Perodebido a la gran complejidad combinatoria de la mayoriacutea de los problemas reales deorganizacioacuten una optimizacioacuten real es muy difiacutecil asiacute que en la mayoriacutea de los casos seusa la programacioacuten con restricciones en combinacioacuten con otras teacutecnicas tales comoAlgoritmos Geneacuteticos para dar soluciones casi oacuteptimas en un tiempo razonable
Normalmente los problemas de organizacioacuten se presentan usando variables conrestricciones fuertes y restricciones suaves Estas pueden ser agrupadas en la abstraccioacutendel problema de organizacioacuten Asiacute tiacutepicamente el tiempo de comienzo y fin y laduracioacuten de cada actividad se representan por variables con restricciones Los dominiosde estas variables son el rango de tiempo de intereacutes en la organizacioacuten requerida
Capiacutetulo 4 Anaacutelisis y Disentildeo
CAPIacuteTULO 4
ANAacuteLISIS Y DISENtildeO
41 Recopilacioacuten de informacioacuten
bull Documentos recopilados
bull Cataacutelogo de asignaturas prerrequisitos y semestrebull Cataacutelogo de aulas y su capacidadbull Cataacutelogo de catedraacuteticos horas disponiblesbull Mapa reticular de la carrerabull Reporte de grupos abiertos en periodo actualbull Reporte de alumnos por grupo en periodo actualbull Reporte de alumnos no inscritos por materia y semestrebull Reporte de simulacioacuten (si todos aprobaran sus cursos)bull Reporte del iacutendice de reprobacioacuten del semestre anteriorbull Encuesta aplicada para determinar los conocimientos requeridos
para impartir una materiabull Encuesta aplicada para obtener los conocimientos de cada
catedraacuteticobull Aacuterbol de conocimiento realizado para determinar los grupos por
abrir de cada asignaturabull Aacuterbol de conocimiento del perfil de las asignaturasbull Aacuterbol de conocimiento del perfil de los catedraacuteticosbull Aacuterbol de conocimiento de los criterios de apertura de materia
bull El proceso de la elaboracioacuten de los horarios
1 Elaboracioacuten de los reportes estadiacutesticos del periodo actual(grupos abiertos alumnos por grupo alumnos no inscritos pormateria simulacioacuten iacutendice de reprobacioacuten)
2 Caacutelculo de la estimacioacuten de alumnos por materia del proacuteximoperiodo
3 Caacutelculo del nuacutemero de grupos por materia requeridos para elproacuteximo periodo
4 Ajuste de los grupos por materia requeridos para el proacuteximoperiodo
5 Formacioacuten de los grupos en paquetes por semestre6 Asignacioacuten de hora y aula a los grupos
Capiacutetulo 4 Anaacutelisis y Disentildeo
7 Seleccioacuten de catedraacutetico al grupo y viceversa8 Ajustes en hora aula y catedraacutetico por grupo9 Elaboracioacuten del reporte condensado para publicacioacuten de horarios10 Elaboracioacuten de los reportes de grupos sin maestro maestros con
horas disponibles grupos sin aula
Para elaborar los horarios de los grupos y maestros un semestre determinado se tienenen consideracioacuten los siguientes elementos
bull El estadiacutestico de Servicios Escolares (SE)El departamento de SE cuenta con un sistema que registra todo el historial acadeacutemicode los alumnos inscritos en el ITZ las materias cursadas y sus calificaciones lasdiferentes carreras con su retiacutecula de asignaturas y sus prerrequisitos los grupos delsemestre actual la cantidad de alumnos en cada grupo de una asignatura los iacutendicesde reprobacioacuten de semestres anteriores las materias que puede cursar un alumno elproacuteximo semestre etceacutetera Toda esta informacioacuten plasmada en reportesdiferentes es la base para la generacioacuten de los horarios del proacuteximo semestre
bull Los grupos requeridosSobre la base de operaciones aplicadas a la informacioacuten estadiacutestica se obtiene lacantidad de grupos requeridos para abrirse el proacuteximo semestre este nuacutemero degrupos es la cantidad oacuteptima con la que se podraacuten inscribir los alumnos sin tenerproblemas de falta de espacio el alterar disminuyendo o aumentando el nuacutemero degrupos requeridos puede ocasionar alumnos con carga crediticia menor a lareglamentaria o que existan grupos con menos de 10 alumnos respectivamente
bull Las aulasEl ITZ cuenta con 52 aulas repartidas entre las 8 carreras a cada coordinador decarrera se le asigna determinado numero de aulas para su administracioacuten asiacute que alasignar el aula a cada grupo debe cuidar la correcta distribucioacuten de los grupos en loshorarios correspondientes y que la capacidad de las aulas no rebase el numero dealumnos inscritos
bull Los maestros y departamentosCada departamento esta formado por un jefe y los catedraacuteticos que forman laacademia de cada carrera los profesores pueden ser de tiempo completo frac34 y frac12tiempo o profesores de asignatura cada uno tiene un horario predeterminado en turnomatutino o vespertino los catedraacuteticos de un departamento cubren las asignaturas desu carrera y apoyan a otras carreras a cubrir las materias que tienen el perfil de esaacademia los catedraacuteticos son uno de los recursos mas difiacuteciles de controlar
Restricciones propias de los profesores
o Materia no tiene maestro
o Maestro tiene horas disponibles
Capiacutetulo 4 Anaacutelisis y Disentildeo
o Maestro tiene materias preferencia
o Maestro ha impartido materia
o Maestro solicita materia
o Maestro tiene restricciones de nuacutemero de materias a impartir
o Restriccioacuten no pueden darse maacutes de tres materias diferentes
o Maestro tiene una profesioacuten
o Maestro tiene un perfil
o Maestro tiene un aacuterea definida
o Maestro prefiere materias especialidad
o Maestro prefiere materias semestres iniciales
bull Las materias o asignaturasEn cada carrera se tiene un mapa reticular que tiene las materias de cada semestre elnombre los creacuteditos las horas de teoriacutea y praacutectica las ligas con los prerrequisitos lasmaterias de la especialidad seleccionada etc
Restricciones propias de las asignaturas
o Materia de 1deg semestre
o Materia de 2deg semestre
o Materia de 3deg semestre
o Materia de 4deg semestre
o Materia de 5deg semestre
o Materia de 6deg semestre
o Materia de 7deg semestre
o Materia de 8deg semestre
o Materia de 9deg semestre
o Materia de especialidad
o Materia tiene prerrequisito
o Materia es de baacutesicas
o Materia requiere conocimientos de Base de Datos
o Materia requiere conocimientos de Electroacutenica
o Materia la puede impartir cualquier maestro
Capiacutetulo 4 Anaacutelisis y Disentildeo
o Materia requiere conocimientos de Redes
o Materia requiere ser impartida por ingeniero
o Materia tiene complejidad alta
o Materia debe ser impartida por catedraacutetico con grado de maestriacutea
o Materia requiere conocimientos de Arquitectura de Computadoras
o Materia no tiene cadenas
o Materia de Administracioacuten
o Materia de Ingenieriacutea Industrial
o Materia requiere conocimientos de Aacutelgebra
o Materia requiere conocimientos de Caacutelculo Diferencial e Integral
o Materia requiere conocimientos de Quiacutemica Inorgaacutenica y Orgaacutenica
o Materia requiere una elaboracioacuten de proyectos
bull Las carrerasLas 8 carreras que se imparten en el ITZ son ordenadas por nuacutemero de alumnos
1 Ingenieriacutea en Sistemas Computacionales2 Licenciatura en Informaacutetica3 Licenciatura en Administracioacuten4 Ingenieriacutea Civil5 Ingenieriacutea Electromecaacutenica6 Ingenieriacutea Industrial7 Ingenieriacutea Quiacutemica8 Ingenieriacutea Bioquiacutemica
bull Los horarios de grupoUna vez determinados los grupos requeridos para el proacuteximo semestre se procede a laasignacioacuten de horario de acuerdo al nuacutemero de horas teoacuterico-praacutecticas se le asignaaula y un catedraacutetico responsable se fija tambieacuten un nuacutemero de alumnos y el tiempode laboratorio en caso de ser necesario
Capiacutetulo 4 Anaacutelisis y Disentildeo
Diagrama de flujo del proceso
Elaboracioacuten de los reportes estadiacutesticos
Caacutelculo de alumnos por materiaproacuteximo periodo
Caacutelculo del nuacutemero de grupos pormateria requeridos
Ajuste de los grupos por materiarequeridos
Formacioacuten de los grupos en paquetespor semestre
Asignacioacuten de hora y aula a los grupos
Asignacioacuten de catedraacutetico al grupo
Ajustes en hora aula y catedraacutetico porgrupo
Elaboracioacuten del reporte condensado
Elaboracioacuten de reportes varios
Todo cuadrabien
Si
No
Fin
Inicio
Capiacutetulo 4 Anaacutelisis y Disentildeo
42 Anaacutelisis de la informacioacuten
bull Cataacutelogo de asignaturas prerrequisitos y semestre
Funcioacuten Dar a conocer las asignaturas de una carrera los prerrequisitos de las materiasy el semestre al que pertenece una asignatura los creacuteditos miacutenimos que debe tenerun alumno para cursar la asignatura
Origen Reporte emitido por el departamento de Servicios Escolares
Campos del reporte nombre carrera nombre asignaturas creacuteditos miacutenimos materiasprerrequisito semestre al que pertenece la asignatura
bull Cataacutelogo de aulas y su capacidad
Funcioacuten Dar a conocer la nomenclatura y capacidad de las aulas y laboratorios del ITZ
Origen Departamento de Planeacioacuten
Campos del reporte Nombre del edificio nuacutemero de aula capacidad
bull Cataacutelogo de catedraacuteticos horas disponibles
Funcioacuten Dar a conocer los catedraacuteticos por departamento y sus horas disponibles frentea grupo
Origen Departamentos acadeacutemicos
Campos del reporte Nombre del departamento clave de profesor nombre del profesorcantidad de horas frente a grupo que debe tener
bull Mapa reticular de la carrera
Funcioacuten Mostrar el mapa reticular de una carrera graacuteficamente muestra las asignaturaspor semestre sus requisitos foacutermula crediticia etc
Origen Divisioacuten de Estudios Profesionales
Campos del reporte Nombre y clave de la carrera nombre y clave de las asignaturasfoacutermula crediticia (nuacutemero de horas teoacutericas nuacutemero de horas praacutecticas creacuteditos dela asignatura) las materias prerrequisito de otras materias de especialidad semestrede la asignatura nuacutemero de creacuteditos necesarios para poder cursar una asignatura
Capiacutetulo 4 Anaacutelisis y Disentildeo
bull Reporte de grupos abiertos en periodo actual
Funcioacuten Muestra los cursos que son ofertados en el periodo actual
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera nombre de las asignaturas grupo de loscursos cantidad de alumnos inscritos nombre del catedraacutetico que lo imparte
bull Reporte de alumnos por grupo en periodo actual
Funcioacuten Muestra la cantidad de alumnos inscritos por semestre de una carrera
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera semestres del 1 al 13 nuacutemero de alumnosinscritos por semestre
bull Reporte de alumnos no inscritos por materia y semestre
Funcioacuten Muestra los alumnos que pudieron inscribirse a una materia pero que poralguna razoacuten no lo hicieron
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera nombre de la materia por semestre nuacutemerode alumnos que pudieron inscribirse y no lo hicieron
bull Reporte de simulacioacuten (si todos aprobaran sus cursos)
Funcioacuten Este reporte simula que todos los alumnos inscritos en los cursos acreditan elcurso entonces cuenta cuantos estudiantes pueden cursar todas las asignaturas comosi hubieran aprobado todos sus cursos actuales
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera nombre de la asignatura y por semestre elnuacutemero de alumnos que pueden cursar una materia
bull Reporte del iacutendice de reprobacioacuten del semestre anterior
Funcioacuten Dar a los coordinadores los iacutendices de aprobacioacuten y reprobacioacuten de los cursosdel periodo anterior
Capiacutetulo 4 Anaacutelisis y Disentildeo
Origen Departamento de Servicios EscolaresCampos del reporte Nombre de la carrera nombre de la asignatura total de alumnos
aprobados total de alumnos reprobados del periodo anterior
bull Encuesta de conocimientos requeridos para impartir asignatura
Funcioacuten Obtener los datos de los conocimientos que debe poseer un catedraacutetico quequiera impartir una asignatura
Origen Academia de cada departamentoCampos del reporte Nombre de la asignatura objetivo de la asignatura carrera lista de
conocimientos requeridos para impartir la asignatura carrera adecuada del profesorque imparta la asignatura
bull Encuesta de conocimientos requeridos para perfil de profesores
Funcioacuten Obtener los datos de los conocimientos que debe posee un catedraacutetico
Origen Academia de cada departamento
Campos del reporte Nombre del catedraacutetico carrera del catedraacutetico conocimientos enaacutereas particulares de cada asignatura
43 Solucioacuten definida
Resolver el problema iniciando con la metodologiacutea ldquodivide y venceraacutesrdquo el problemageneral se dividiraacute en 6 problemas particulares
a) Sistema de Informacioacuten para control de horariosb) Sistema Experto para definicioacuten y generacioacuten de grupos
por abrirc) Moacutedulo Programacioacuten Loacutegica de Restricciones para
asignar horario a los gruposd) Moacutedulo Algoritmos Geneacuteticos para asignar aula a los
grupos ya definidose) Sistema Experto para definir catedraacutetico para
asignaturaf) Sistema Experto para asignar asignatura a catedraacutetico
Debido a la naturaleza y caracteriacutesticas de la informacioacuten todos lossistemas seraacuten realizados iniciando desde cero la recopilacioacuten deinformacioacuten el anaacutelisis el disentildeo y la programacioacuten de cada moacutedulo delsistema programado en Visual Basic y Bases de Datos en Access
Capiacutetulo 4 Anaacutelisis y Disentildeo
La principal ventaja de eacutesta opcioacuten es que el sistema estaacute hecho a la medida de lasnecesidades de la institucioacuten poniendo las restricciones en el formato que se tienenactualmente la desventaja es que se debe desarrollar TODO el sistema
44 Requerimientos del sistema
Los Motores de Inferencias deben ser disentildeados con las siguientes caracteriacutesticas
bull Buacutesqueda de primero en profundidad en ocasiones cuando se interactuacutee con elusuario este tipo de buacutesqueda seraacute utilizado para recorrer toda la base deconocimiento
bull Buacutesqueda heuriacutestica en la que el usuario deberaacute dar datos iniciales de por dondeempezar la buacutesqueda de alguna informacioacuten
bull Tomar informacioacuten de la Base de Conocimiento y guardarla en las bases de datos ytambieacuten inferir la informacioacuten y guardarla en las bases de datos para su posteriortratamiento e impresioacuten
bull Seleccionar la mejor opcioacuten y presentarla al usuario para los casos en que el usuariodecida cambiar alguacuten dato la maacutequina deberaacute presentar una opcioacuten y saber indicarel porqueacute la ldquoeligioacuterdquo
bull Dar otras soluciones ademaacutes de la oacuteptima teniendo porcentajes de aceptacioacuten paracada solucioacuten y permitiendo la buacutesqueda de maestros a impartir materias aulas paraalguacuten grupo o cantidad de grupos a abrir
bull Dar resultados en lenguaje natural de modo que el usuario entienda claramente loque la maacutequina le comunica
bull Trabajar interactivamente con el usuario para que eacuteste pueda cuestionar el porqueasignoacute un maestro abrioacute grupos asignoacute un aula etceacutetera
bull Tener capacidad para el uso del paradigma basado en analogiacuteas ldquoSi un maestro yadio la materia en alguacuten semestre entonces puede darla en este semestrerdquo o bien ldquoSieste paquete de materias estaacute completo entonces repite todo el paquete estesemestrerdquo
Interfaz de Usuario recibe y entrega informacioacuten interactuando con el usuario esdecir el usuario puede
1) alimentar hechos2) solicitar resultados y reportes3) cuestionar coacutemo se obtuvieron ciertas conclusiones
La interfaz de usuario debe tener las caracteriacutesticas siguientes
bull Comunicarse en el lenguaje del usuario sea un humano u otro dispositivobull Recibir hechos del usuario y almacenarlos en la base de hechosbull Presentar de manera amigable los objetivos a buscar e inferencias en pantallabull Dar de manera clara la explicacioacuten de la inferencia realizada
Capiacutetulo 4 Anaacutelisis y Disentildeo
bull Dar resultados por escrito en informesbull Proporcionar al usuario la facilidad de alimentar la base de conocimientosbull Dar al usuario la facultad de corregir las inferenciasbull Si el usuario es inexperto facilitar la ayuda necesaria
Seleccioacuten del lenguaje de programacioacuten
Visual Basic 60 proporciona a los programadores facilidad para desarrollar aplicacionescomplejas en poco tiempo (comparado con lo que cuesta programar en Visual C++ porejemplo)
El sistema necesita interfaces amigables al usuario con ventanas y botones emergentesen cualquier momento y Visual Basic 60 es una herramienta de disentildeo de aplicacionespara Windows en la que eacutestas se desarrollan en una gran parte a partir del disentildeo de unainterfaz graacutefica (pudiendo incorporar todos los elementos de este entorno informaacuteticoventanas botones cajas de diaacutelogo y texto botones de opcioacuten y de seleccioacuten barras dedesplazamiento graacuteficos menuacutes etc) En una aplicacioacuten Visual Basic 60 el programaestaacute formado por una parte de coacutedigo puro y otras partes asociadas a los objetos queforman la interfaz graacutefica Visual Basic 60 permite la programacioacuten de sus ventanasbotones y componentes de manera maacutes faacutecil que Java con sus Applets
En la parte del sistema de control de horarios que es un sistema de informacioacuten comuacutenlos programas que llenan de informacioacuten las bases de datos son muy parecidos unos conotros al hacer los procesos de altas bajas modificaciones consultas y validaciones seutilizan las ventajas que Visual Basic 60 ofrece de la Programacioacuten Orientada aObjetos (POO) eacutesta es una forma de programacioacuten que utiliza objetos ligados mediantemensajes para la solucioacuten de problemas Puede considerarse como una extensioacuten naturalde la programacioacuten estructurada en un intento de potenciar los conceptos demodularidad y reutilizacioacuten de coacutedigo Las caracteriacutesticas fundamentales de la POO sonabstraccioacuten encapsulamiento herencia y polimorfismo
Visual Basic 60 soporta la abstraccioacuten la encapsulacioacuten el polimorfismo y lareutilizacioacuten de coacutedigo Los objetos de Visual Basic estaacuten encapsulados es decircontienen su propio coacutedigo y sus propios datos
Manejador de Base de datos para el almacenamiento de la informacioacutenEl manejador de base de datos a utilizar seraacute Microsoft Access debido a que los usuariosque alimentan la base de conocimientos son expertos en diferentes aacutereas delconocimiento y tiene conocimientos limitados de los diferentes manejadores y estaacuten maacutesfamiliarizados con Microsoft Access Ademaacutes de que Access es transportablefaacutecilmente
Ademaacutes la cantidad y tipo de informacioacuten que se almacena en las tablas no requieremanejadores de bases de datos potentes o con caracteriacutesticas especiales
Capiacutetulo 4 Anaacutelisis y Disentildeo
Sistemagenerador dehorarios
SistemaExperto
Reglas
Criterios
Criterios por regla Conocimiento
Procesos
Capturaestadiacutesticas
Calcula grupos
Ajusta grupos
Sistema expertoasigna materia
Sistema Expertoasigna maestro
Asigna materia
Asigna catedraacutetico
Conocimientos
Procesos
Materias
Perfil general
Catedraacuteticos
Perfil materias
Perfil maestro
Asignacioacutenmateria-maestro
Asignacioacutenmaestro-materia
Buacutesqueda independiente
B adelante
B atraacutes
Abduccioacuten
Explicacioacuten
MoacuteduloPLR
Asigna horario
Datos
Arbol derestricciones Procesos
Materia
Grupos
Paquetes
Horario
Restriccioacuten 1
Restriccioacuten 3
Restriccioacuten 2
Restriccioacuten N
Genera random
Evaluacutea restricciones
Guarda grupo
MoacuteduloAlgoritmoGeneacutetico
Asigna aula
Operadores Geneacuteticos
Evaluacioacuten
Cruzamiento
Seleccioacuten
Mutacioacuten
Poblacioacuten Inicial
Versioacuten 1
Versioacuten 2
Versioacuten 3
Versioacuten N
Condensadodatos grales
Materia
Hora
Aula
Control escolar
Sistema deInformacioacuten
Aulas
Horarios
Grupos
Maestros
Datosestadiacutesticos
Datosgenerales
Datos condensado
Materias
45 MAPA CONCEPTUAL DEL PROYECTO
Capiacutetulo 4 Anaacutelisis y Disentildeo
Capiacutetulo 4 Anaacutelisis y Disentildeo
En la Figura 41 se muestra el mapa conceptual del proyecto La burbuja centralrepresenta el sistema generador de horarios y cada rama representa uno de los seismoacutedulos que lo componen las burbujas de cada rama contienen a su vez variasramificaciones en las que se muestran de manera graacutefica los componentes maacutesrepresentativos de los procesos utilizados la informacioacuten que manejan el conocimientoque utilizan y las restricciones involucradas
El moacutedulo Servicios Escolares contiene informacioacuten necesaria para la administracioacuten delos horarios en general y proporciona los datos para el funcionamiento de los demaacutesmoacutedulos
El moacutedulo Sistema Experto Creacioacuten de Grupos (SECG) muestra el conocimiento yprocesos utilizados para definir la cantidad de grupos a ofertar a partir de la informacioacutenestadiacutestica proporcionada por servicios escolares maacutes adelante en el documento seexplica a detalle su funcionamiento
En la Figura 41 se aprecia que los moacutedulos Sistema Experto AsignaCatedraacutetico(SEAC) y Sistema Experto Asigna Materia(SEAM) comparten las bases deconocimiento porque el conocimiento de un SE es la base de hechos del otro en amboscasos los procesos difieren solamente en la informacioacuten que utilizan y en los resultadosque producen noacutetese que existe un proceso que es ldquobuacutesqueda independienterdquo que puedecatalogarse como un Sistema Experto adicional que sirve para sugerir las asignaturasque puede impartir una persona que no estaacute dentro de las bases de datos de maestros ypor lo tanto su perfil tampoco estaraacute capturado en esta caso los hechos (su perfil deconocimientos) es capturado en el momento de la consulta
El moacutedulo de Algoritmos Geneacuteticos (AG) muestra los datos que recibe como se generauna poblacioacuten inicial el tratamiento que se le aplica por medio de los operadoresgeneacuteticos y la informacioacuten que se genera
Por uacuteltimo en la Figura 41 se nota tambieacuten el moacutedulo donde se utiliza la ProgramacioacutenLoacutegica de Restricciones que contiene 3 ramas donde una representa los datos recibidosy la informacioacuten generada otra rama denota un aacuterbol de restricciones que deben sersatisfechas por los paquetes de horarios la uacuteltima rama denota los procesos que se llevana cabo debe notarse que existe un proceso aleatorio que genera cada grupo un procesoque evaluacutea el grupo contra las restricciones y uno mas que guarda los grupos quecumplieron con todas
En este mapa conceptual no se muestra en que orden se ejecuta cada moacutedulo delproyecto la Figura 42 ilustra la secuencia de ejecucioacuten de los moacutedulos
La Figura 42 muestra el diagrama con la secuencia en que se van ejecutando losprocesos los datos que ingresan a cada moacutedulo y la informacioacuten que genera
Capiacutetulo 4 Anaacutelisis y Disentildeo
452 MAPAS CONCEPTUALES DE LOS MOacuteDULOS
Servicios Escolares
Datos Estadiacutesticos
Sistema Experto Creacioacuten de Grupos
Materias y grupos requeridos
Moacutedulo PLR
Materia + grupo + hora
Moacutedulo AG
Materia + grupo + hora + aula
Sistema ExpertoAsigna Catedraacutetico Sistema Experto
Asigna Materia
Sugiere profesorpara asignaturas
Sugiere asignaturapara profesor
Materia + grupo + hora + aula +profesor
Condensado final de materias
1
2
3
4
5 6
Fig 42 Diagrama de secuencia
Capiacutetulo 4 Anaacutelisis y Disentildeo
Como puede verse todo inicia cuando Servicios Escolares enviacutea la informacioacuten a laDivisioacuten de Estudios Profesionales (donde ldquohabitanrdquo los coordinadores) quienes son losresponsables de la elaboracioacuten de los horarios
Un primer proceso captura la informacioacuten que proviene de Servicios Escolares elsegundo moacutedulo define cuantos grupos deben programarse el tercer proceso asigna lahora a cada grupo el cuarto moacutedulo es el proceso que asigna las aulas los procesosquinto y sexto sirven para sugerir queacute catedraacutetico es el maacutes adecuado para cada grupo ycomo resultado final se tiene el condensado final de horarios para el siguiente semestre
En la Figura 43 se muestran los componentes del primer Sistema Experto utilizado paradefinir la cantidad de grupos que deben ofertarse el proacuteximo semestre en la partesuperior izquierda de la figura esta el coordinador de la carrera quien es el encargado decargar el conocimiento a las Bases de Conocimiento utilizando la interfaz de experto esla persona indicada para definir los criterios que tiene cada materia define las reglaspara la agrupacioacuten de los criterios y define en cada regla que tipo de ajuste se realiza
Experto
Coordinador
Interfaz Experto
Base deConocimientos
CriteriosReglasAjustes
Motor de Inferencia ListasMateriasGrupos requeridos
UsuarioMoacutedulo Explicacioacuten
Usuario(coordinador
novato)
Interfaz Usuario
Base Hechos
Informacion Estadiacutestica
Fig 43 Sistema Experto Generador de Grupos
Capiacutetulo 4 Anaacutelisis y Disentildeo
El usuario en la parte inferior de la figura puede ser el coordinador o su asistente y seencarga de capturar la informacioacuten estadiacutestica proporcionada por servicios escolares queson los datos de alumnos inscritos actualmente en cada materia el iacutendice de reprobacioacutenlos alumnos inscritos en la materias prerrequisito una simulacioacuten de los alumnosprobables para cursar esa materia si todos los inscritos aprueban todo y los alumnos quepueden cursar las materias pero no se inscribieron
Con los datos anteriores se realiza la siguiente operacioacuten
(Inscritos en materia iacutendice de reprobacioacuten de materia) 100 +Alumnos no inscritos +Alumnos en prerrequisito ndash (alumnos en prerrequisito iacutendice de reprobacioacuten) 100 +(Simulacioacuten ndash alumnos en prerrequisito ndash no inscritos) = Alumnos del proacuteximo semestre
Este uacuteltimo dato (alumnos del proacuteximo semestre) proporciona la cantidad de alumnospor materia que pueden inscribirse en los grupos seguacuten los estadiacutesticos de ServiciosEscolares pero no contempla preferencias de alumnos conveniencia de inscripcioacuten etc
Ofrecer los grupos necesarios para la inscripcioacuten de alumnos tomando el dato calculadoocasiona que al terminar las inscripciones existan grupos vaciacuteos grupos sobresaturadosalumnos con pocas materias y varios problemas mas
La finalidad de este Sistema Experto es realizar un ajuste al dato calculadoanteriormente para incluir en su caacutelculo todas aquellas caracteriacutesticas y experiencia delcoordinador para minimizar los problemas mencionados en el paacuterrafo anterior
Los ajustes pueden ser de varios tiposbull Ajuste draacutestico hacia abajo Se aplica una reduccioacuten del 50 al dato calculadobull Ajuste hacia arriba Se agrega un grupo maacutes al dato calculadobull Ajuste hacia abajo Se resta un grupo al dato calculadobull Ajuste numeacuterico Se ajusta utilizando la regla del redondeo de decimalesbull Ajuste draacutestico hacia arriba Se suman 2 oacute 3 grupos al dato calculado
Cuando utilizar una u otra regla estaacute definido por los criterios que cada materia contienenaturalmente y que con el paso de los semestres puede variar (aunque tambieacuten puedenpasar antildeos sin sufrir ninguacuten cambio)
La Figura 44 describe la utilizacioacuten de la teacutecnica de la Inteligencia Artificial llamadaProgramacioacuten Loacutegica de Restricciones para generar el condensado de grupos a partir deuna lista de materias que contiene solamente el nombre y la cantidad de grupos que sedeben abrir de una materia
Capiacutetulo 4 Anaacutelisis y Disentildeo
EoseX
Ugacgg
Lgc
s
ListasMaterias
Procesoformador depaquetes
Lista grupo +paquete
Moacutedulo generadorRandom Hora
Restricciones satisfec
Restriccio
Materia +hora
Moacuteduloverificadorrestriccione
s
Restriccionesnosatisfechas
Fig 44 Diagrama del moacutedulo Programacioacuten Loacutegica de Restriccione
xiste un proceso inicial que forma los ldquopaquetesrdquo de grupos esto es las materias serdenan por el semestre al que corresponden (generalmente son 6 materias poremestre) despueacutes para cada semestre se generan los grupos correspondientes si porjemplo se deben hacer 3 grupos de la materia X se generan tres registros de la materia y cada registro se etiqueta
Materia X grupo AA Materia X grupo AB y Materia X grupo AC
na vez que todas las materias han sido generadas y ldquoempaquetadasrdquo se pasan alenerador de horario en bloques de un paquete a la vez Este proceso funcionasignando un horario aleatorio a cada grupo despueacutes se verifica que cada grupo cumplaon todas las restricciones que son del tipo grupo no ldquochocardquo con otro del paqueterupo proporciona horario continuo al paquete grupo tiene horario de 2 horas por diacutearupo no deja horas vaciacuteas en paquete grupo cumple con todas sus horas asignadas etc
a Figura 45 muestra el disentildeo del Algoritmo Geneacutetico utilizado para asignar aula a losrupos que provienen del moacutedulo anterior (PLR) y recibe como datos de entrada unondensado de horarios (materia + grupo + hora)
Capiacutetulo 4 Anaacutelisis y Disentildeo
Procesoevaluacioacuten
Condensado
Materia +Grupo +Hora
Generador de versiones aleatorias
Genera versioacuten asigna aula
Versioacuten 3
Versioacuten 2
Versioacuten 1
Versioacuten N
Poblacioacuten inicial
ProcesoseleccioacutenProceso cruzamiento
clonacioacuten mutacioacuten
Versioacuten z
Versioacuten y
Versioacuten x
Versioacuten w
Nueva generacioacuten
Individuos aptos
Individuos no aptosReciclaje
CondensadoMateria + grupo +hora + aula
Fig 45 Diagrama del moacutedulo Algoritmo Geneacutetico
Capiacutetulo 4 Anaacutelisis y Disentildeo
Esta rama de la Inteligencia Artificial es utilizada generalmente para procesos deoptimizacioacuten y en esta ocasioacuten se utiliza para asignar las aulas al condensado dematerias
Al inicio se reciben como datos generales el condensado de materias La poblacioacuteninicial se obtiene copiando N veces (N versiones) este condensado y agregando a cadaregistro el nuacutemero de versioacuten y un aula asignada de manera aleatoria de esta manera seobtienen N versiones diferentes del condensado original
Cada versioacuten es entonces evaluada contando el nuacutemero de choques en aula y la cantidadde espacios vaciacuteos por aula a cada versioacuten se le genera un vector para guardar laevaluacioacuten (cromosoma de evaluacioacuten) y de esta manera se mide el grado de aptitud quetiene cada versioacuten
Las versiones que tienen menos choques y menos espacios vaciacuteos se consideran con ungrado de aptitud alto y son las mejores al contrario las que tienen muchos choquesson consideradas de aptitud baja no sirven para la reproduccioacuten y son desechadas
Una vez seleccionadas la mejores versiones se procede a la aplicacioacuten de los operadoresgeneacuteticos el primero que se aplica es el cruzamiento y consiste en elegir dos versionesde alta aptitud tomar segmentos seleccionados heuriacutesticamente de ellas y formar unnuevo individuo (una nueva versioacuten) se repite este proceso Y veces con las diferentesversiones hasta tener una nueva generacioacuten de N condensados de horarios
Repetir este proceso de generacioacuten evaluacioacuten y seleccioacuten durante Z generacionesaplicando cuando se necesite la clonacioacuten que es un proceso de copiar completamenteuna versioacuten (con alto grado de aptitud) a la nueva generacioacuten
Al principio la convergencia hacia horarios sin choques en aula es raacutepida pero al pasode las generaciones disminuye entonces se debe usar la mutacioacuten que es un proceso deacceder manualmente los registros de alguna versioacuten Zi en la generacioacuten Z y corregiralguacuten aula al final despueacutes de varias generaciones selecciones cruzamientosclonaciones y mutaciones se obtiene un condensado de aulas libres de choques y conpocos espacios vaciacuteos
En la Figura 46 se muestran los componentes del Sistema Experto utilizado para sugerircuales son los catedraacuteticos que mejor se desempentildeariacutean para impartir una asignaturatomando en cuenta los conocimientos que tiene un profesor (adquiridos a lo largo de sucarrera) y cuales son los conocimientos necesarios para impartir la caacutetedra de algunaasignatura
Capiacutetulo 4 Anaacutelisis y Disentildeo
Todo inicia haciendo una encuesta a los profesores acerca del perfil y los conocimientosnecesarios para poder impartir una asignatura el objetivo de la misma y los principalestemas que abarca todo lo anterior se captura en la base de hechos como el perfil de lamateria
Posteriormente se hace otra encuesta a los profesores pidieacutendoles que seleccionencuales son los conocimientos y el grado de dominio que tienen de los diferentes toacutepicosde las asignaturas esto se convierte en el perfil del catedraacutetico Por uacuteltimo con unproceso de induccioacuten se determina para cada materia cual es el grado de certeza con elcual puede un profesor impartir una asignatura
Experto
Coordinador
Interfaz Experto
Base deConocimientos
CatedraacuteticosConocimientos profesorPerfil profesor
Motor de Inferencia Lista profesores paraimpartir una materia
Jefedepartamento
Moacutedulo Explicacioacuten
Usuario(coordinador
novato)
Interfaz Usuario
Base Hechos
Perfil
Fig 46 Diagrama de Sistema Experto para sugerir profesor a asignatura
Capiacutetulo 4 Anaacutelisis y Disentildeo
Noacutetese en la Figura 47 que el coordinador captura el conocimiento referente a lasasignaturas (objetivo temas caracteriacutesticas necesarias para impartirla) y este esalmacenado en la Base de Conocimientos
Por otro lado un profesor debe llenar una encuesta en la que indique cuales son lostemas que domina y en que porcentaje lo hace (esto es el perfil del catedraacutetico) estainformacioacuten se almacena en la base de hechos--
El Motor de Inferencia hace los matchs respectivos y genera una lista de las materias quepuede impartir un profesor y con que grado de certeza estaacute capacitado para hacerlo
Por uacuteltimo el moacutedulo de explicacioacuten informa el porqueacute dio esa inferencia mostrando lascaracteriacutesticas de materia y profesor que hicieron match
Fig 47 Diagrama de Sistema Experto para sugerir asignaturas para catedraacutetico
Experto
Coordinador
Interfaz Experto
Base deConocimientos
MateriasCaracteriacutesticas MateriasPerfil materia
Motor de Inferencia Lista materias para unprofesor
Profesor
Moacutedulo Explicacioacuten
Profesor nuevoInterfaz Usuario
Base Hechos Perfil profesor
Capiacutetulo 4 Anaacutelisis y Disentildeo
453 Diagrama de contextoEn la Figura 48 se detallan los elementos que intervienen aportando y recibiendoinformacioacuten para el funcionamiento del sistema
Los departamentos acadeacutemicos aportan al sistema una lista con los catedraacuteticos quelaboran ahiacute incluye los datos personales de los profesores nuacutemero de tarjeta nombrecarrera etc Los coordinadores de carrera son los responsables de la elaboracioacuten de loshorarios estos funcionarios son la pieza fundamental de este proceso porque aportan susconocimientos para
bull Definir el ajuste al dato estadiacutestico proporcionado por Servicios Escolaresbull Definir las restricciones para la creacioacuten de los paquetes de gruposbull Definir las restricciones para asignar hora a cada grupobull La distribucioacuten de los grupos en las aulasbull Asignar la asignatura que mejor puede impartir un catedraacuteticobull Asignarle a una asignatura al profesor que mejor puede impartirla
El departamento de Servicios Escolares es el iniciador del proceso de la elaboracioacuten dehorarios aporta los datos estadiacutesticos obtenidos de la situacioacuten escolar actual de losalumnos cada alumno estaacute inscrito en alguna de las 8 carreras que se ofrecen en elInstituto estaacute cursando entre 5 y 8 asignaturas por semestre en cada periodo acredita oreprueba algunas materias En cada carrera se tiene un mapa reticular que incluyeaproximadamente 50 asignaturas con prerrequisitos creacuteditos horas en aula horas enlaboratorio orden por semestre etc
El departamento Divisioacuten de Estudios Profesionales (donde estaacuten adscritos loscoordinadores de carrera) es el responsable de distribuir las aulas disponibles delInstituto entre los distintos coordinadores las aulas son un recurso escaso y por lo tantovalioso de esta distribucioacuten depende en gran medida la holgura o estrechez que tienenlos coordinadores para asignar las aulas a los grupos creados
Los profesores son otro de los recursos valiosos de una institucioacuten son los responsablesde transmitir sus conocimientos a los alumnos cada catedraacutetico posee conocimientos dediversas aacutereas toacutepicos y ramas del saber humano el perfil del catedraacutetico estaacute enrelacioacuten directa con el dominio que tiene de cada una de ellas y varia desde unconocimiento superficial hasta el dominio total de un aacuterea
Los generadores random de los moacutedulos PLR y AG proporcionan la informacioacutennecesaria generada de manera aleatoria para el funcionamiento de esos moacutedulos
A los coordinadores y alumnos se les proporciona un condensado de horarios losalumnos conocen los grupos a los que se pueden inscribir las horas las aulas y loscatedraacuteticos que las impartiraacuten
Capiacutetulo 4 Anaacutelisis y Disentildeo
Sistema para laelaboracioacuten de
horarios
Departamentosacadeacutemicos
Jefes dedepartamento
Divisioacuten deEstudios
Profesionales
DepartamentoServiciosEscolares
Alumnos
Coordinadoresde carrera
Coordinadoresde carrera
Lista catedraacuteticos disponibles
Conocimientos
Reporte datos estadiacutesticos
Lista aulas disponibles
Condensado de horarios
Horarios disponibles
Lista horarios profesores
Profesores Generadoresaleatorios
Perfil maestro
Horas y aulas aleatorios
Fig 48 Diagrama de contexto del proyecto
Cap
iacutetulo
4
Anaacute
lisis
y D
isentilde
o
Sist
ema
para
lael
abor
acioacute
n de
hora
rios
Dep
arta
men
tos
acad
eacutemic
os
Div
isioacute
n de
Estu
dios
Prof
esio
nale
s
Dep
arta
men
toSe
rvic
ios
Esco
lare
sC
oord
inad
ores
de c
arre
ra
List
a ca
tedr
aacutetic
os d
ispo
nibl
es
Con
ocim
ient
osR
epor
teda
tose
stad
iacutestic
osLi
sta
aula
s dis
poni
bles
Prof
esor
esG
ener
ador
esal
eato
rios
Perf
il m
aest
roH
oras
y a
ulas
Fig
49
Dia
gram
a de
func
ione
s fun
dam
enta
les (
entra
das)
Cap
tura
supe
rfil
deco
noci
mie
nto
Cap
tura
las
aula
s
Enviacute
a da
tos
Cap
tura
suco
noci
mie
nto
Enviacute
a da
tos
depr
ofes
ores G
ener
ada
tos
Cla
ve n
ombr
eho
ras
turn
o
Tips
tru
cos
cono
cim
ient
ohe
uriacutes
tico
Cla
ve c
apac
idad
ed
ifici
o
Alu
mno
sin
scrit
os
sim
ulac
ioacuten
no
insc
ritos
iacutend
ice
repr
obac
ioacuten
Toacutepi
cos y
tem
asqu
e do
min
aA
ula
y ho
raal
eato
rios
Capiacutetulo 4 Anaacutelisis y Disentildeo
Sistema para laelaboracioacuten de
horarios
Coordinadoresde carrera
Jefes dedepartamento Alumnos
Fig 410 Diagrama de funciones fundamentales (salidas)
Imprimecondensado
Imprime lista Imprimehorarios
Maestro materiahora
Materia grupohora aula
maestrosugerido
Condensado de horarios Horarios disponibles
Lista horarios profesores
Materia grupohora aula
maestro
Capiacutetulo 4 Anaacutelisis y Disentildeo
454 Diagrama entidad - relacioacuten
NOTA Los siguientes diagramas muestran las tablas utilizadas por cada moacutedulo paramayor claridad se repitieron las tablas necesarias para representar cada parte del sistemapero en la base de datos no existe tal duplicacioacuten
Este diagrama contiene las tablas del moacutedulo administrativo de los horarios en unprincipio eacutestas eran las uacutenicas tablas de un sistema de control de horarios
FK_HORARIOS_REFERENCE_MATERIASFK_MATERIAS_REFERENCE_SERVICIO
FK_MATERIAS_REFERENCE_RAMA_MAT FK_MATERIAS_REFERENCE_CARRERAS
HORARIOS
GrupoId_aulaHora_inicioHora_lunesHora_martesHora_miercolesHora_juevesHora_viernesHora_sabadoObservacionesPeriodoAnioid_materiaId_catedratico
Text(2)INTEGERINTEGERText(6)Text(6)Text(6)Text(6)Text(6)Text(6)Text(30)Text(20)INTEGERINTEGERSMALLINT
ltfk3gt
ltfk2gtltfk1gt
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
MATERIAS
SERVICIOS_ESCOLARESId_materiaINSCRITOSNO INSCRITOSSIMULACIONPROXIMO SEMESTREGRUPOS REQUERIDOSIndice de reprobacionperiodoantildeoGrupos ajustadoAlumnos ajustadoId_ajusteId_regla
INTEGERSMALLINTSMALLINTSMALLINTSMALLINTDOUBLEDOUBLEText(7)INTEGERSMALLINTSMALLINTINTEGERSMALLINT
RAMA_MATERIA
Id_ramaNombre_rama
COUNTERText(30)
ltpkgt
CARRERAS
Id_CarreraNombre_carrera
Text(15)Text(50)
ltpkgt
Fig 411 Diagrama entidad ndash relacioacuten del moacutedulo administrativo
Capiacutetulo 4 Anaacutelisis y Disentildeo
Este diagrama muestra las tablas donde se almacena el conocimiento de loscoordinadores para que el Sistema Experto del moacutedulo sugiera y aplique el ajuste aldato de cantidad de grupos sugerido por Servicios Escolares La relacioacuten entre las tablasva generando las reglas de produccioacuten
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave asig prerrequisitoclave asig prerrequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
REGLAS
DescriId_reglaId_ajusteTot_peso
Text(70)COUNTERINTEGERINTEGER
ltpkgtltfkgt
FK_MATERIAS_REFERENCE_SERVICIO
FK_HECHOS_R_REFERENCE_CRITERIO
FK_HECHOS_R_REFERENCE_REGLAS
FK_HISTORIA_REFERENCE_REGLAS
FK_HISTORIA_REFERENCE_CRITERIO
FK_REGLAS_REFERENCE_AJUSTES
FK_HISTORIA_REFERENCE_MATERIAS
FK_HISTORIA_REFERENCE_CRITERIO
SERVICIOS_ESCOLARES
Id_materiaINSCRITOSNO INSCRITOSSIMULACIONPROXIMO SEMESTREGRUPOS REQUERIDOSIndice de reprobacioacutenperiodoantildeoGrupos ajustadoAlumnos ajustadoId_ajusteId_regla
INTEGERSMALLINTSMALLINTSMALLINTSMALLINTDOUBLEDOUBLEText(7)INTEGERSMALLINTSMALLINTINTEGERSMALLINT
HECHOS_REGLAS
Id_criterioId_reglaPromedio
INTEGERINTEGERINTEGER
ltfk2gtltfk1gt
CRITERIOS
Id_criterioDescripcion
COUNTERText(60)
ltpkgt
HISTORIAL_CRITERIOS
Id_criterioId_reglaPeso de la regla
INTEGERINTEGERSMALLINT
ltfk2gtltfk1gt
AJUSTES
TipoDescripcionId_ajuste
Text(25)MemoCOUNTER ltpkgt
HISTORIAL_MATERIA
Id_materiaId_criterioprioridad
INTEGERINTEGERSMALLINT
ltfk2gtltfk1gt
Fig 412 Diagrama E-R del moacutedulo para determinar y ajustar nuacutemero de grupos
Capiacutetulo 4 Anaacutelisis y Disentildeo
En este diagrama se muestra la base de datos que almacena la informacioacuten quemanipula el moacutedulo Algoritmo Geneacutetico las tablas maacutes representativas sonPOBLACION donde se guardan todas las versiones que forman las generaciones dehorarios y CROMOSOMAS que almacena el registro de evaluacioacuten de cada versioacuten dehorarios
FK_HORARIO__REFERENCE_AULAS
FK_HORARIO__REFERENCE_POBLACIO
FK_MATERIAS_REFERENCE_TIPO_HOR
FK_POBLACIO_REFERENCE_AULAS
FK_POBLACIO_REFERENCE_MATERIAS
FK_POBLACIO_REFERENCE_CROMOZOM1 1
HORARIO_AULA
VersionAulaLunesMartesMiercolesJuevesViernesSabadoHoraId_aula
INTEGERText(6)SMALLINTSMALLINTSMALLINTSMALLINTSMALLINTSMALLINTSMALLINTINTEGER
ltfk2gt
ltfk1gt
AULAS
Id_aulaCapacidad_aulaNombre_aulaDisponible
COUNTERSMALLINTText(50)YesNo
ltpkgt
POBLACION
Id_materiaGrupoId_catedraticoAulaHora_inicioHora_lunesHora_martesHora_miercolesHora_juevesHora_viernesVersionId_aulaPeriodoAnio
INTEGERText(4)INTEGERText(4)INTEGERText(6)Text(6)Text(6)Text(6)Text(6)INTEGERINTEGERText(10)INTEGER
ltfk2gt
ltfk1gtltfk3gt
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
TIPO_HORARIO
Tipo_horario
DescripcionLunes
MartesMiercoles
Jueves
ViernesSabado
COUNTER
Text(20)SMALLINT
SMALLINTSMALLINT
SMALLINT
SMALLINTSMALLINT
ltpkgt
CROMOZOMAS
VersionSemestreChoquesVacias
INTEGERINTEGERINTEGERINTEGER
ltpkgt
Fig 413 Diagrama E-R del moacutedulo para asignar aulas (Algoritmo Geneacutetico)
Capiacutetulo 4 Anaacutelisis y Disentildeo
En esta Figura 414 se pueden observar las tablas involucradas en el proceso paragenerar los paquetes de materias por semestre y la asignacioacuten de horario a cada grupodel paquete utilizando la teacutecnica Programacioacuten Loacutegica de Restricciones noacutetese que noexiste una tabla de restricciones eacutestas se aplican por software a cada grupo generado
FK_MATERIAS_REFERENCE_SERVIC
FK_MATERIAS_REFERENCE_TIPO_H
FK_HORARIOS_REFERENCE_MATERI
MATERIA
Id_materiMateriNum de HrsNum de HrsClave deId_CarrerCreditoSemestrObservacioneTroncoalumnos porclave de asigclave de asigId_ramSuma_maOrdeTipo_horari
INTEGEText(40SMALLINSMALLINText(8Text(15SMALLINSMALLINText(60YesNSMALLINText(40Text(40INTEGESMALLINSMALLININTEGE
ltpkfk4
ltfk1
ltfk3
ltfk2
SERVICIOS_ESCOLARE
Id_materiINSCRITONOSIMULACIOPROXIMOGRUPOSIndice deperiodantildeGruposAlumnosId_ajustId_regl
INTEGESMALLINSMALLINSMALLINSMALLINDOUBLDOUBLText(7INTEGESMALLINSMALLININTEGESMALLIN
TIPO_HORARI
Tipo_horariDescripcioLuneMarteMiercoleJueveVierneSabad
COUNTEText(20SMALLINSMALLINSMALLINSMALLINSMALLINSMALLIN
ltpk
HORARIO
GrupId_aulHora_iniciHora_luneHora_marteHora_miercoleHora_jueveHora_vierneHora_sabadObservacionePeriodAniid_materiId_catedratic
Text(2INTEGEINTEGEText(6Text(6Text(6Text(6Text(6Text(6Text(30Text(20INTEGEINTEGESMALLIN
ltfk3
ltfk2ltfk1
Fig414 Diagrama E-R del moacutedulo para asignar horario (PLR)
Capiacutetulo 4 Anaacutelisis y Disentildeo
FK_HECHOS_M_REFERENCE_MATERIAS
FK_HECHOS_M_REFERENCE_CATEDRAT
HECHOS_MAT_PROF
Id_catedraticoId_materiaPromedio
SMALLINTSMALLINTSMALLINT
ltpkfk1gtltpkfk2gt
FK_PERFIL_C_REFERENCE_CATEDRAT
FK_PERFIL_C_REFERENCE_PERFILES
FK_PERFILES_REFERENCE_TIPO_PER
FK_PROF_PAR_REFERENCE_CATEDRAT
FK_PROF_PAR_REFERENCE_MATERIAS
PERFIL_CATEDRATICO
Id_catedraticoId_perfilPrioridad_perfil_cate
SMALLINTINTEGERSMALLINT
ltfk1gtltfk2gt
CATEDRATICOS
Id_catedraticoApellido_paternoApellido_maternoNombre_catedraticoTitulo_catedraticoSuma_cate
SMALLINTText(20)Text(20)Text(20)Text(30)SMALLINT
ltpkgt
PERFILES
Id_perfilId_tipoDescripcion_perfil
COUNTERINTEGERText(60)
ltpkgtltfkgt
TIPO_PERFIL
Id_tipoTipo_perfil
COUNTERText(30)
ltpkgt
PROF_PARA_MAT
Id_materiaId_catedraticoPorcentaje_cate
INTEGERSMALLINTSMALLINT
ltpkfk2gtltpkfk1gt
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
Fig 415 Diagrama E-R del moacutedulo designa mejor catedraacutetico (Sistema Experto)
Capiacutetulo 4 Anaacutelisis y Disentildeo
En las figuras de la paacutegina anterior y eacutesta (Fig 415 y 416) se muestran las tablasutilizadas por los Sistemas Expertos para sugerir que materias puede impartir unprofesor y tambieacuten sugiere que profesores pueden impartir una asignatura
FK_PERFILES_REFERENCE_TIPO_PER
FK_PERFIL_M_REFERENCE_MATERIAS
FK_PERFIL_M_REFERENCE_PERFILES
FK_MAT_PARA_REFERENCE_MATERIAS
FK_MAT_PARA_REFERENCE_CATEDRAT
FK_HECHOS_M_REFERENCE_MATERIAS
FK_HECHOS_M_REFERENCE_CATEDRAT
PERFILES
Id_perfilId_tipoDescripcion_perfil
COUNTERINTEGERText(60)
ltpkgtltfkgt
TIPO_PERFIL
Id_tipoTipo_perfil
COUNTERText(30)
ltpkgt
PERFIL_MATERIA
Id_materiaId_perfilPrioridad_perfil_mat
INTEGERINTEGERINTEGER
ltfk2gtltfk1gt
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
MAT_PARA_PROF
Id_catedraticoId_materiaPorcentaje_mat
SMALLINTINTEGERSMALLINT
ltpkfk1gtltpkfk2gt
CATEDRATICOS
Id_catedraticoApellido_paternoApellido_maternoNombre_catedraticoTitulo_catedraticoSuma_cate
SMALLINTText(20)Text(20)Text(20)Text(30)SMALLINT
ltpkgt
HECHOS_MAT_PROF
Id_catedraticoId_materiaPromedio
SMALLINTSMALLINTSMALLINT
ltpkfk1gtltpkfk2gt
Fig 416 Diagrama E-R del moacutedulo selecciona mejor materia (sistema experto)
Capiacutetulo 4 Anaacutelisis y Disentildeo
455 Diccionario de la Base de Datos
Nombre HORARIOS_CON_CONOCIMIENTOComentario Base de datos del sistema ldquoGeneracioacuten de horarios mediante Sistemas
Basados en ConocimientordquoDBMS Microsoft Access 97
Lista de Tablas
Nombre Tipo deObjeto
AJUSTES TableAULAS TableCARRERAS TableCATEDRATICOS TableCRITERIOS TableCROMOSOMAS TableHECHOS TableHECHOS_MAT_PROF TableHECHOS_PROF_MAT TableHECHOS_REGLAS TableHISTORIAL_CRITERIOS TableHISTORIAL_MATERIA TableHORARIO_AULA TableHORARIOS TableMAT_PARA_PROF TableMATERIAS TablePERFIL_CATEDRATICO TablePERFIL_MATERIA TablePERFILES TablePOBLACION TablePROF_PARA_MAT TableRAMA_MATERIA TableREGLAS TableSERVICIOS_ESCOLARES TableTIPO_HORARIO TableTIPO_PERFIL Table
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla AJUSTESFuncioacuten Almacena los datos de los tipos de ajuste que se aplican por el Sistema Experto al
dato estadiacutestico que define cuantos grupos se deben abrir de cada materia
Lista de columnas de la tabla AJUSTESNombre Tipo de
DatoLong Llave
Primaria ForaneaComentario
Tipo Text(25) 25 Nombre del tipo de ajusteDescripcioacuten Memo Explicacioacuten del ajuste a realizar al nuacutemero
de grupos calculados segun estadisticosId_ajuste COUNTER 4 X Identificador del ajuste
Tabla AULASFuncioacuten Almacena los datos de las aulas que existen en cada edificio del instituto
Lista de columnas de la tabla AULASNombre Tipo de
DatoLong Llave
Primaria ForaneaComentario
Id_aula COUNTER 4 X Identificador del aulaCapacidad_aula SMALLINT 4 Nuacutemero maacuteximo de alumnos en el
aulaNombre_aula Text(50) 50 Nombre del aula (edificio+numero)Disponible YesNo 1 Disponibilidad del aula
Tabla CARRERASFuncioacuten Almacena los datos de las carreras que se imparten en el ITZ
Lista de columnas de la tabla CARRERASNombre Tipo de
DatoLong Llave
Primaria ForaneaComentario
Id_Carrera Text(15) 15 X Clave de la carreraNombre_carrera Text(50) 50 Nombre de la carrera
Tabla CATEDRATICOSFuncioacuten Almacena los datos de los CATEDRAacuteTICOS que imparten clases en las diferentes carreras del
Instituto Se utilizan los datos en los Sistemas Expertos que definen cual es el mejor catedraacuteticopara impartir una materia
Capiacutetulo 4 Anaacutelisis y Disentildeo
Lista de columnas de la tabla CATEDRATICOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Nuacutemero de tarjeta del catedraacuteticoApellido_paterno Text(20) 20 Apellido paterno del catedraacuteticoApellido_materno Text(20) 20 Apellido materno del catedraacuteticoNombre_catedratico Text(20) 20 Nombre del catedraacuteticoTitulo_catedratico Text(30) 30 Grado de estudios y tiacutetulo del
catedraacuteticoSuma_cate SMALLINT 4 Suma total de las pesos de los perfiles
pertenecientes al catedraacutetico
Tabla CRITERIOSFuncioacuten Tabla de los criterios utilizados por el experto para crear las reglas que definen el tipo de
ajuste inferido por el Sistema Experto para definicioacuten de grupos por abrir
Lista de columnas de la tabla CRITERIOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_criterio COUNTER 4 X Identificador del criterio aplicado auna materia para crear grupos
Descripcion Text(60) 60 Descripcioacuten del criterio
Tabla CROMOSOMASFuncioacuten Almacena los datos de la evaluacioacuten de cada versioacuten de horarios generada ya sea por la
poblacioacuten inicial o por los operadores geneacuteticos se genera un cromosoma por cadasemestre en cada versioacuten
Lista de columnas de la tabla CROMOSOMASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Version INTEGER 4 X Nuacutemero de individuo o versioacuten dehorarios
Semestre INTEGER 4 Semestre al que pertenece el datoChoques INTEGER 4 Nuacutemero de choques de versioacuten y
semestreVacias INTEGER 4 Nuacutemero de aulas vaciacuteas del individuo
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla HECHOS_MAT_PROFFuncioacuten Esta tabla almacena el resultado de la inferencia del Sistema Experto materias para
profesor indica para cada catedraacutetico las materias y el porcentaje de certeza con quepuede impartirlas
Lista de columnas de la tabla HECHOS_MAT_PROFNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Identificador del catedraacuteticoId_materia SMALLINT 4 X Identificador de la asignaturaPromedio SMALLINT 4 Porcentaje de certeza con que un
profesor puede impartir una materia(resultado de la inferencia)
Tabla HECHOS_PROF_MATFuncioacuten Almacena los datos de la inferencia del Sistema Experto que calcula para una materia
determinada cuales son los mejores maestros para impartirla
Lista de columnas de la tabla HECHOS_PROF_MATNombre Tipo de
DatoLongitud
LlavePrimaria Foraacutenea
Comentario
Id_catedratico SMALLINT 4 X Identificador del catedraacuteticoId_materia SMALLINT 4 X Identificador de la asignaturaPromedio SMALLINT 4 Porcentaje de certeza con que una
materia puede ser impartida por unprofesor (resultado de la inferencia)
Tabla HECHOS_REGLASFuncioacuten Almacena los porcentajes de certeza con que se dispara una regla del Sistema Experto
que define los grupos por abrir
Lista de columnas de la tabla HECHOS_REGLASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_criterio SMALLINT 4 X Identificador del criterioId_regla SMALLINT 4 X Identificador de la reglaPromedio INTEGER 4 Porcentaje de certeza con que una
regla dispara un criterio
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla HISTORIAL_CRITERIOS
Funcioacuten Almacena las reglas formadas por los criterios utilizados por el Sistema Experto paradefinir los grupos por abrir
Lista de columnas de la tabla HISTORIAL_CRITERIOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_criterio INTEGER 4 X Identificador del criterio pertenecientea la regla
Id_regla INTEGER 4 X Identificador de la reglaPeso de la regla SMALLINT 4 Peso del criterio en la regla
Tabla HISTORIAL_MATERIAFuncioacuten Tabla que almacena la definicioacuten de cada materia con base en los criterios utilizados por
las reglas para definir por materia el nuacutemero de grupos por abrir
Lista de columnas de la tabla HISTORIAL_MATERIANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materia para suasignacioacuten de criterios
Id_criterio INTEGER 4 X Identificador del criterio que se aplicaa la materia para describirla
Prioridad SMALLINT 4 Peso del criterio en la materia
Tabla HORARIOS
Funcioacuten Almacena los datos del condensado final de horarios aquiacute se almacena el producto finaldel sistema para su posterior publicacioacuten y distribucioacuten entre la comunidad tecnoloacutegica
Lista de columnas de la tabla HORARIOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materiaGrupo Text(2) 2 Identificador del grupo A B CId_catedratico SMALLINT 4 X Catedraacutetico asignado al grupoId_aula INTEGER 4 X Aula asignada al grupoHora_inicio INTEGER 4 Hora de inicio del grupoHora_lunes Text(6) 6 Horas que se imparte el grupo el diacutea
lunes
Capiacutetulo 4 Anaacutelisis y Disentildeo
Hora_martes Text(6) 6Hora_miercoles Text(6) 6Hora_jueves Text(6) 6Hora_viernes Text(6) 6Hora_sabado Text(6) 6Observaciones Text(30) 30 Observaciones al grupoPeriodo Text(20) 20 Periodo Ene-jun o Ago-dicAnio INTEGER 4 Antildeo en que se utiliza el horario
Tabla HORARIO_AULAFuncioacuten Tabla auxiliar utilizada como almacenamiento temporal durante el proceso de evaluacioacuten
en el Algoritmo Geneacutetico guarda los datos de ocupacioacuten choques y no utilizacioacuten decada aula por hora diacutea y versioacuten
Lista de columnas de la tabla HORARIO_AULANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Version INTEGER 4 X Nuacutemero de individuo o versioacutenAula Text(6) 6 Nombre del aulaLunes SMALLINT 4 Nuacutemero de horas que se utiliza el aula
el diacutea lunesMartes SMALLINT 4Miercoles SMALLINT 4Jueves SMALLINT 4Viernes SMALLINT 4Sabado SMALLINT 4Hora SMALLINT 4 Hora de utilizacioacuten del aulaId_aula INTEGER 4 X Identificador del aula en la versioacuten
Tabla MATERIASFuncioacuten Esta es una de las principales tablas del proyecto se utiliza en todos los moacutedulos del
sistema contiene informacioacuten base para caacutelculos diversos ademaacutes contiene tambieacuten lasllaves de diferentes tablas que describen de manera de manera especial a las materias
Lista de columnas de la tabla MATERIASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia COUNTER 4 X Identificacioacuten de la materia llaveprincipal
Materia Text(40) 40 Nombre de la materiaNum de Hrs prac SMALLINT 4 Nuacutemero de horas praacutecticasNum de Hrs teo SMALLINT 4 Nuacutemero de horas teoacutericasClave de Asig Text(8) 8 Clave oficial de la materiaId_Carrera Text(15) 15 X Carrera a la que pertenece la materiaCreditos SMALLINT 4 Creacuteditos de la materia
Capiacutetulo 4 Anaacutelisis y Disentildeo
Semestre SMALLINT 4 Semestre en que se imparte la materiaObservaciones Text(60) 60Tronco comun YesNo 1 Definicioacuten de especialidad o tronco
comuacutenalumnos porgrupo
SMALLINT 4 Capacidad sugerida de los grupos deesta materia
clave de asigprerequisito
Text(40) 40 Clave de asignatura del prerrequisito
clave de asigprerequisito1
Text(40) 40 Clave de asignatura del prerrequisito
Id_rama INTEGER 4 X Identificador de la rama a la quepertenece la materia
Suma_mat SMALLINT 4 Suma total de los perfilespertenecientes a la materia
Orden SMALLINT 4 Es el nuacutemero de materia en un paqueteTipo_horario INTEGER 4 X El tipo de horario asignado a materia
Tabla MAT_PARA_PROFFuncioacuten La tabla almacena para cada catedraacutetico las asignaturas que puede impartir y el grado
de certeza con que puede hacerlo se almacena en esta tabla el resultado de la inferenciadel Sistema Experto
Lista de columnas de la tabla MAT_PARA_PROFNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Nuacutemero de tarjeta del profesorId_materia INTEGER 4 X Identificador de la materiaPorcentaje_mat SMALLINT 4 Porcentaje de certeza con que un
profesor puede impartir una materia
Tabla PERFILESFuncioacuten Tabla que contiene una relacioacuten de todas las caracteriacutesticas de las materias
caracteriacutesticas necesarias para poder impartirlas es al mismo tiempo la tabla quecontiene la relacioacuten general de los conocimientos que poseen los profesores
Lista de columnas de la tabla PERFILESNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_perfil COUNTER 4 X Identificador del perfil paraasignaciones de materias acatedraacuteticos
Id_tipo INTEGER 4 X Identificador del tipo del perfilDescripcion_perfil Text(60) 60 Descripcioacuten de una caracteriacutestica del
perfil de una materia o un catedraacutetico
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla PERFIL_CATEDRATICOFuncioacuten Tabla que contiene el perfil de todos los catedraacuteticos (pueden llamarse las reglas) del
Sistema Experto que recomienda profesores para las materias el perfil de un catedraacuteticoesta definido por los conceptos que domina de las materias
Lista de columnas de la tabla PERFIL_CATEDRATICONombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Identificador del catedraacutetico paradefinicioacuten de su perfil acadeacutemico
Id_perfil INTEGER 4 X Identificador del perfil que define aun catedraacutetico
Prioridad_perfil_cate SMALLINT 4 Porcentaje en que contribuye elperfil especificado en la definicioacutendel catedraacutetico
Tabla PERFIL_MATERIAFuncioacuten Esta tabla almacena las reglas que definen el perfil de una materia contiene las
caracteriacutesticas y temas que forman el temario de la materia
Lista de columnas de la tabla PERFIL_MATERIANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materia en laregla de la materia
Id_perfil INTEGER 4 X Identificador del perfilperteneciente a una materia
Prioridad_perfil_mat INTEGER 4 Porcentaje en que contribuye esteperfil particular a definir unamateria
Tabla PROF_PARA_MATFuncioacuten Esta tabla almacena la inferencia del Sistema Experto para determinar cuales son los
mejores profesores para impartir una materia contiene para cada asignatura una lista delos profesores y el porcentaje de certeza con que pueden desempentildearse si la imparten
Capiacutetulo 4 Anaacutelisis y Disentildeo
Lista de columnas de la tabla PROF_PARA_MATNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de materiaId_catedratico SMALLINT 4 X Identificador de catedraacuteticoPorcentaje_cate SMALLINT 4 de certeza con que el catedraacutetico X
puede impartir la materia Y
Tabla POBLACIONFuncioacuten La tabla es la maacutes importante para el moacutedulo de Algoritmo Geneacutetico porque almacena los
datos de cada individuo hipoacutetesis o versioacuten que son generados ya sea por la poblacioacuteninicial aleatoria o por los diversos operadores geneacuteticos contiene copias (versiones) delcondensado de horarios con aulas aleatorias
Lista de columnas de la tabla POBLACIONNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materiaGrupo Text(4) 4 Grupo de la materiaId_catedratico INTEGER 4 X Identificador del catedraticoAula Text(4) 4 X Nombre del aula (edificio + numero)Hora_inicio INTEGER 4 Hora de inicio del grupoHora_lunes Text(6) 6 Hora inicio del lunesHora_martes Text(6) 6Hora_miercoles Text(6) 6Hora_jueves Text(6) 6Hora_viernes Text(6) 6Version INTEGER 4 X Nuacutemero de la versioacuten o hipoacutetesisPeriodo Text(10) 10 Periodo o semestre del grupoAnio INTEGER 4 Antildeo del grupo
Tabla RAMA_MATERIAFuncioacuten La tabla almacena la clasificacioacuten de las materias de acuerdo a las ciencias a la que
pertenecen
Lista de columnas de la tabla RAMA_MATERIANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_rama COUNTER 4 X Identificador de la rama de unamateria (clasificacioacuten)
Nombre_rama Text(30) 30 Descripcioacuten de la rama de unamateria
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla REGLAS
Funcioacuten Esta tabla almacena las reglas utilizadas para generar los grupos que se deben ofertar elproacuteximo semestre indicando para cada regla el tipo de ajuste que debe aplicarse
Lista de Columnas de la Tabla REGLASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Descripcion Text(70) 70 Descripcioacuten de la regla para ajustarel nuacutemero de grupos
Id_regla COUNTER 4 X Identificador de la reglaId_ajuste INTEGER 4 X Identificador del tipo de ajuste que
se aplica cuando esta regla sedispara para alguna materia
Tot_peso INTEGER 4 Total de los pesos de lascaracteriacutesticas de esta regla
Tabla SERVICIOS_ESCOLARESFuncioacuten En esta tabla se almacenan los datos estadiacutesticos de cada materia que provienen de
Servicios Escolares para el caacutelculo del nuacutemero de grupos que deben abrirse para elproacuteximo semestre contiene tambieacuten los paraacutemetros proporcionados por el SistemaExperto para realizar el ajuste al nuacutemero de grupos calculado inicialmente
Lista de columnas de la tabla SERVICIOS_ESCOLARESNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materiaINSCRITOS SMALLINT 4 Nuacutemero de alumnos inscritos
actualmente en el grupoNO INSCRITOS SMALLINT 4 Nuacutemero de alumnos que pueden
cursar la materia pero no seinscribieron
SIMULACION SMALLINT 4 Simulacioacuten de Servicios Escolaresde alumnos que podraacuten cursar lamateria
PROXIMOSEMESTRE
SMALLINT 4 Resultado del calculo de ServEscolares de alumnos que cursaraacutenla materia
GRUPOSREQUERIDOS
DOUBLE 4 Grupos requeridos para abrirproacuteximo semestre seguacuten caacutelculosiniciales
Indice dereprobacion
DOUBLE 4 Indice de reprobacioacuten de la materia
periodo Text(7) 7 Periodo de caacutelculo de horarios actual(semestre ene-jun o ago-dic)
Capiacutetulo 4 Anaacutelisis y Disentildeo
antildeo INTEGER 4 Antildeo de caacutelculo de horariosGrupos ajustado SMALLINT 4 Nuacutemero de grupos a solicitar para
abrir proacuteximo semestreAlumnos ajustado SMALLINT 4 Caacutelculo final del numero de alumnos
del proacuteximo semestre en estamateria
Id_ajuste INTEGER 4 X Tipo del ajuste aplicado por elSistema Experto al campogrupos_requeridos
Id_regla SMALLINT 4 X Regla que se disparo para realizar elajuste
Tabla TIPO_HORARIOFuncioacuten Esta tabla almacena los formatos de los distintos tipos de horario que existen y se ofrecen
para cada materia horarios de 2345 diacuteas a la semana y de 123 o 4 horas por diacutea
Lista de columnas de la tabla TIPO_HORARIONombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Tipo_horario COUNTER 4 X Identificador del tipo de horarioDescripcion Text(20) 20 Descripcioacuten del tipo de horarioLunes SMALLINT 4 Nuacutemero de horas del lunesMartes SMALLINT 4 Nuacutemero de horas del martesMiercoles SMALLINT 4 Nuacutemero de horas del mieacutercolesJueves SMALLINT 4 Nuacutemero de horas del juevesViernes SMALLINT 4 Nuacutemero de horas del viernesSabado SMALLINT 4 Nuacutemero de horas del saacutebado
Tabla TIPO_PERFILFuncioacuten Aquiacute se almacena una clasificacioacuten de los perfiles de acuerdo a la rama de conocimiento
a la que pertenecen
Lista de columnas de la tabla TIPO_PERFILNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_tipo COUNTER 4 X Identificador del tipo de perfilTipo_perfil Text(30) 30 Descripcioacuten del tipo de perfil de los
catedraacuteticos o las materias
Capiacutetulo 4 Anaacutelisis y Disentildeo
456 Lista de funciones o programas
Nombre Programa Descripcioacuten del programa
Ajustes Datos generales de los tipos de ajustes que se aplican al nuacutemero degrupos por abrir al dato de Servicios Escolares
Aulas Captura los datos de las aulas disponibles para claseCaptura_horarios Este programa realiza los cambios posteriores a la generacioacutenCarreras Captura los datos de las carreras del tecnoloacutegicoCatedraticos Datos generales de los catedraacuteticosClonacion Obtiene una copia (clon) del mejor individuo de una generacioacutenCons_ajuste Muestra yo imprime los datos generales de los ajustesCons_aulas Emite una pantalla de consulta general de aulasCons_captura_horarios Muestra una pantalla de consulta de los horarios generadosCons_carrera Despliega yo imprime las carrerasCons_catedratico Muestraimprime los datos generales de los catedraacuteticosCons_criterio Formulario que muestra yo despliega los criterios generalesCons_critXmat Muestra yo imprime los criterios de una materiaCons_critXregla Despliegaimprime los criterios que forman una reglaCons_gpos_abrir Explicacioacuten de la inferencia realizada (reglas disparadas)Cons_hist_crit Muestra las reglas de produccioacuten de los criteriosCons_materia Pantalla que despliega yo imprime datos de las materiasCons_materia_gral Pantalla de consulta general de los datos de materiasCons_perf_cate Consultaimprime los datos del perfil acadeacutemico de los
catedraacuteticosCons_perf_mate Consultaimprime los datos del perfil acadeacutemico de las materiasCons_perfil Muestraimprime datos de los perfilesCons_perfiles Consulta a la lista de perfiles o caracteriacutesticas Cons_perfilxmat Consulta a las reglas de produccioacuten del perfil de una materiaCons_rama Consulta a la lista de ramas (clasificacioacuten de las materias)Cons_reglas Consulta a la base de reglas para ajustar nuacutemero de gruposCons_serv_esc Consulta a las tablas que tienen informacioacuten de Servicios
EscolaresCons_serv_escol Pantalla que muestra yo imprime los datos estadiacutesticos de Serv
EscCons_tipo_perfil Consulta a los tipos de perfil (clasificacioacuten de perfiles)Crit_X_mat Formulario que captura los criterios pertenecientes a una materiaCrit_X_regla Captura los criterios que forman una regla de produccioacutenCriterios Pantalla que captura el conocimiento de criterios para el SECriteriosxmat Pantalla de captura para los criterios por materiaCruzamiento Programa que realiza la combinacioacuten (cruza) de individuos de la
poblacioacuten en el Algoritmo Geneacutetico
Capiacutetulo 4 Anaacutelisis y Disentildeo
Evaluacion Programa que realiza la creacioacuten del cromosoma de evaluacioacuten alevaluar las versiones de horarios de una generacioacuten
Explica_ajustes Moacutedulo de explicacioacuten del porque se aplicoacute determinado ajuste auna materia
Explica_mat_p_prof Explicacioacuten del porque una materia puede ser impartida por unprofesor con cierto grado de certidumbre
Explica_prof_p_mat Explicacion del porque un profesor puede impartir una materiacon cierto grado de certidumbre
Genera_horarios Sistema que utiliza Programacioacuten Loacutegica de Restricciones paragenerar los paquetes de horarios de un semestre
Genera_paquete Muestra el paquete generado por el procesoGrupo_nuevo Programa que va generando los paquetesGrupos_por_abrir Inferencia realizada para definir el ajuste aplicado a los grupos
definidos por Servicios EscolaresHistorial_criterios Captura los criterios necesarios para hacer una reglaHistorial_materia Captara los criterios por materiaMat_para_prof Inferencia realizada para determinar que profesores pueden
impartir una materiaMaterias Actualizacioacuten al archivo datos generales de las materiasMenu_algoritmos_geneticos Menuacute del moacutedulo para asignar aula a los gruposMenu_generacion_grupos Menuacute del Sistema Experto para definir cuantos grupos abrirMenu_asigna_horario Menuacute del moacutedulo asignacioacuten de horarioMenu_principal Menuacute principal del sistemaMenu_sel_catedra Menuacute del Sistema Experto para seleccioacuten de catedraacuteticos a
materiaMutacion Programa que hace la modificacioacuten de informacioacuten de aulas de
alguna versioacuten (versioacuten)Perfil_catedratico Captura el perfil acadeacutemico de los catedraacuteticosPerfil_materia Captura el perfil acadeacutemico de las materiasPerfiles Datos generales del perfil acadeacutemico de materias y catedraacuteticosPoblacion_inicial Programa que genera versiones de horarios y que de manera
aleatoria le va asignando aula a los gruposPortada_principal Es la ventana de entrada al sistemaProf_para_mat Inferencia realizada para determinar que materias pueden ser
impartidas por un profesorRama Programa que capturas las posibles ramas de los materiasReglas Datos generales de las reglas de produccioacuten para definir el No de
grupos por abrirSeleccioacuten Proceso que selecciona las mejores versiones de horarios (mejores
individuos) y elimina las menos aptasServ_escolares Pantalla de captura de los datos estadiacutesticos de Servicios EscolaresTipo_perfil Programa que captura la clasificacioacuten de los perfiles de materias y
profesores
Capiacutetulo 4 Anaacutelisis y Disentildeo
457 Diagrama de Arquitectura (Menuacutes)
Menuacute general
Menuacute Grupos porabrir
MenuacuteGeneracioacuten de
horarios
MenuacuteAsignacioacuten de
aulas
Datos de materias
Estadiacutesticos Serv Esc
Criterios
Criterios por materia
Reglas
Criterios por regla
Ajustes
Carreras
Nuacutemero de grupos
MenuacuteSeleccioacuten decatedraacuteticos
Genera paquete
Genera horarios
Datos generalesgrupos
Datos de aulas
Genera poblacioacuteninicial
Evaluacioacuten
Seleccioacuten
Cruzamiento
Clonacioacuten
Mutacioacuten
Horarios finales
Perfiles
Perfil de las materias
Perfil de catedraacuteticos
Catedraacuteticos
Perfil de loscatedraacuteticos
Asignacioacuten materia aprofesor
Asignacioacuten profesor amateria
Capiacutetulo 4 Anaacutelisis y Disentildeo
Capiacutetulo 5 Implementacioacuten del sistema
CAPIacuteTULO 5
IMPLEMENTACIOacuteN
51 Pantallas del sistema
La Figura 51 muestra la portada inicial del proyecto Contiene los logotipos de las tresinstituciones participantes y el nombre del proyecto
Fig 51 Portada inicial del proyecto
La Figura 52 es la pantalla que proporciona la informacioacuten de los autores del proyecto
Es el botoacutende entrada alsistema
Botoacuten deinformacioacuten delos autores
Capiacutetulo 5 Implementacioacuten del sistema
Fig 52 Acerca del sistema
La Figura 53 muestra el menuacute principal del proyecto contiene y 4 moacutedulos La primeraopcioacuten incluye los moacutedulos administrativo y generacioacuten de grupos la segunda opcioacutenincluye seleccioacuten de maestro y seleccioacuten de materia
Fig 53 Menuacute principal del proyecto
Moacutedulos delproyecto
Cuadro queproporcionalainformacioacutende la opcioacutensentildealada porel cursor
Capiacutetulo 5 Implementacioacuten del sistema
En la Figura 54 se tiene la pantalla del menuacute que agrupa los programas del moacuteduloadministrativo y Sistema Experto para determinar el nuacutemero de grupos por abrir seguacutenlos caacutelculos realizados con los datos de Servicios Escolares y el ajuste a ese dato
Fig 54 Menuacute grupos por abrir
Este programa del moacutedulo administrativo (Figura 55) sirve para capturar la informacioacutengeneral de las asignaturas que componen una carrera
Fig 55 Materias
Programas delos moacutedulos
Descripcioacutende laactividad delprogramaseleccionado
Nombre de laasignatura
Nuacutemero dehoraspraacutecticas yteoacutericas
Alumnos por grupopara calcularcantidad de grupos
Dato para formarpaquetes porsemestre
Icono quehabilita lacaptura denuevosdatos
Icono queregresa alMenuacute anterior
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 56 es un ejemplo de la consulta de datos en pantalla
Fig 56 Consulta Materias
La Figura 57 es la pantalla donde se capturan los datos estadiacutesticos provenientes deServicios Escolares contiene la informacioacuten necesaria para realizar el caacutelculo originaldel nuacutemero de grupos de cada asignatura que se debe abrir para ofertarse a los alumnosel siguiente semestre la foacutermula mostrada proporciona tal dato
Botoacuten queregresa elcontrol alprogramaque loinvocoacute
Alumnosesperados parael proacuteximo
Fccg
Datosestadiacutesticos
Fig 57 Pantalla Servicios Es
semestre
oacutermula paraaacutelculoantidad-rupos
Caacutelculosgeneral y pormateria
Grupos (datoestadiacutestico)
colares
Capiacutetulo 5 Implementacioacuten del sistema
En la Figura 58 se muestra la pantalla de consulta de los datos estadiacutesticosproporcionados por Servicios Escolares
Fig 58 Pantalla consulta Servicios Escolares
Esta pantalla captura las caracteriacutesticas por materia que dan origen al conocimientonecesario para definir el tipo de ajuste que se aplica al dato del nuacutemero de gruposproporcionado por los caacutelculos estadiacutesticos de la pantalla anterior
Criterios de unamateria
Fig 59 Pantalla criterios por materia
Grado deimportancia de esacaracteriacutestica para la
Capiacutetulo 5 Implementacioacuten del sistema
En la Figura 510 se muestra un ejemplo de la consulta a la base de datos del sistema enla parte de criterios por materia
Fig 510 Pantalla consulta criterios por materia
Esta pantalla (fig 511) proporciona al sistema la capacidad de capturar modificarborrar e imprimir las carreras del Instituto Tecnoloacutegico de Zacatepec
Fig 511 Pantalla carreras
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 512 proporciona al sistema la capacidad para capturar los criterios(conocimientos) del experto para definir a cada materia
Fig 512 Pantalla criterios
La Figura 513 muestra un ejemplo de consulta al archivo de los criterios capturados enel sistema
Fig 513 Pantalla consulta criterios
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 514 muestra la pantalla de captura de las reglas que componen el SistemaExperto para determinar el tipo de ajuste que se aplicaraacute al dato estadiacutestico del nuacutemerode grupos que se van a abrir el proacuteximo semestre cada regla tiene asignado un tipo deajuste
Fig 514 Pantalla reglas
La Figura 515 muestra un ejemplo de la consulta al archivo de las reglas que utiliza elSistema Experto para determinar nuacutemero de grupos por ofertar el proacuteximo semestre
Fig 515 Pantalla consulta reglas
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 516 muestra la pantalla de captura al archivo de ajustes noacutetese que ladescripcioacuten explica en extenso la accioacuten que se realiza al aplicar este ajuste provenientede una regla disparada por los criterios pertenecientes a la definicioacuten de una materia
Fig 516 Pantalla ajustes
La Figura 517 muestra la pantalla de la consulta a los ajustes que contiene el sistema
Fig 517 Pantalla consulta ajustes
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 518 muestra la pantalla que captura los criterios para cada regla Una reglaestaacute formada por el mismo tipo de criterios que definen a las materias
Criteriosde una
Fig 518 Pantalla criterios por regla
La Figura 519 muestra el ejemplo de una consulta de los criterios que definen a unaregla
Fig 519 Pantalla consulta criterios por regla
Reglas de produccioacuten Criterios por regla
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 520 es la pantalla maacutes importante de moacutedulo de generacioacuten de grupos porquees donde se realiza la inferencia para calcular el tipo de ajuste que se va a aplicar a cadamateria con base en las reglas que se disparan y que hacen match los criterios de unaregla y los criterios de una materia
Fig 520 Pantalla caacutelculo de ajustes
Esta pantalla (Figura 521) ofrece una explicacioacuten mostrando los criterios que definenuna materia y su correspondiente regla disparada mostrando los criterios de la regla quehacen match con los criterios de la materia
Fig 521 Pantalla explicacioacuten de la inferencia
Asignaturaa la que sele aplicaraacuteel ajuste
Regla quese disparaseguacutencriterios
Tipo deajuste quese aplica
Dato seguacutenestadiacutestico
Datos seguacutenajuste delSistemaExperto
Inferenciageneral
Inferenciaindividual
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 522 muestra el formulario que forma los paquetes de materias seguacuten laretiacutecula de una carrera muestra el nuacutemero de grupos por cada materia que se van aformar y hace los paquetes asignando los grupos AA AB AC AD
Fig 522 Pantalla inicial del moacutedulo generacioacuten de horarios
La Figura 523 es el formulario del moacutedulo Programacioacuten Loacutegica de Regenera los horarios por paquete satisfaciendo las restricciones para forlibre de choques continuo (sin horas muertas) cumpliendo las horas por m
Fig 523 Pantalla principal del moacutedulo generacioacuten de horari
Semestre al que sele formaraacuten lospaquetes
Paquetes generadosHora de iniciode clases decada grupo
Materias delsemestre
Nuacutemero de gruposal que se lesgeneraraacute horario
MateriaPaquete
Nuacutemero dehoras por diacutea
Botonesque invocanal moacutedulogeneradorde horarios
stricciones quemar un horarioateria etc
Hora de iniciode la materia
os
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 524 muestra el moacutedulo para asignar aula a los horarios que ya tienen materiagrupo y hora
Fig 524 Pantalla principal del menuacute Algoritmos Geneacuteticos
Esta pantalla (Figura 525) se utiliza para hacer altas bajas consulta y modificaciones alos grupos que se les va a dar aula
Fig 525 Pantalla de administracioacuten de grupos
Periodode loshorarios
Hora iniciodel grupo
Hora por diacutea
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 526 muestra una consulta de la pantalla administracioacuten de grupos
Fig 526 Pantalla de consulta de administracioacuten de grupos
La Figura 527 muestra la pantalla para actualizar las aulas disponibles por las personasque generan los horarios estas aulas estaacuten disponibles para que el Algoritmo Geneacuteticolas utilice para asignarles grupos durante el proceso
Fig 527 Pantalla del control de aulas
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 528 muestra la consulta de las aulas que utiliza el moacutedulo generacioacuten deaulas
Fig 528 Pantalla de consultas del control de aulas
La Figura 529 muestra la pantalla que genera la poblacioacuten inicial a partir de los datosgenerales proveniente de los moacutedulos anteriores
Fig 529 Pantalla de genera poblacioacuten inicial
Nuacutemero dehipoacutetesisversiones oindividuos
Aula aleatoriagenerada
Este botoacuteninicia lageneracioacutende las nversionesde horarios
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 530 muestra la pantalla que evaluacutea las versiones originadas y genera paracada una de ellas un cromosoma cuyos genes contienen la informacioacuten obtenida
Fig 530 Pantalla de evaluacioacuten de versiones
La Figura 531 muestra el formulario del proceso de seleccioacuten de las mejores versionesde horarios toma aquellas que tienen menor numero de choques y mayor espacio deocupacioacuten de aulas
Fig 531 Pantalla del proceso de seleccioacuten
Cantidad deversiones quesobreviviraacuten
Cromosomas delos mejoresindividuos
Botoacuten queinicia elproceso deseleccioacuten
Botoacuten queinicia elproceso deeliminacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 532 muestra la pantalla del proceso de clonacioacuten donde se selecciona la mejorversioacuten y se obtiene un clon ideacutentico con un nuevo nuacutemero de versioacuten
Fig 532 Pantalla del proceso de clonacioacuten
La Figura 533 muestra la pantalla del proceso de mutacioacuten utilizado para hacer elcambio ldquomutarrdquo los datos de una versioacuten para romper alguacuten ciclado de la tendencia haciael resultado o simplemente para acelerar el proceso de optimizacioacuten
Cromosomasde versionesmaacutes aptas
Nuacutemero demejor versioacuten
Poblacioacutenversiones
Cromosomamuestra lasmejoresversiones
Aulas quepueden mutarse
Botoacuten queinicia elproceso demutacioacuten
Nuacutemero deversioacuten
Fig 533 Pantalla de mutacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 534 muestra la pantalla donde se realiza el cruzamiento utilizando plantillaspredeterminadas dirigiendo la cruza de versiones por paquetes de materias agrupadas porsemestre y cada plantilla genera una nueva versioacuten con la combinacioacuten de fragmentosde varias versiones
Fig 534 Pantalla del proceso de cruzamiento
La Figura 535 permite la seleccioacuten y enviacuteo de la mejor versioacuten de horarios y adaptarloal moacutedulo administrativo para su distribucioacuten y publicacioacuten
Fig 535 Horarios finales
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 536 muestra el menuacute de los moacutedulos que sugiere maestros para impartir unaasignatura y sugerencia de asignatura para alguacuten maestro
Fig 536 Pantalla menuacute seleccioacuten de catedraacuteticos
La Figura 537 muestra la pantalla para la captura de caracteriacutesticas de losconocimientos requeridos para dar una materia que son las mismas caracteriacutesticas quedefinen los conocimientos de un profesor para impartir las materias
Fig 537 Pantalla de perfiles
Clasificacioacutende los perfiles
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 538 muestra una consulta de los perfiles agrupados por tipo
Fig 538 Pantalla de consulta perfiles
La Figura 539 muestra la pantalla en la que se definen los conocimientos requeridospara poder impartir una asignatura de acuerdo al perfil y contenido temaacutetico
Fig 539 Pantalla perfiles de las materias
La Figura 540 muestra un ejemplo de la consulta al perfil de una materia
Importancia de lacaracteriacutestica en la materia
Capiacutetulo 5 Implementacioacuten del sistema
Fig 540 Pantalla consulta perfiles de las materias
La Figura 541 es utilizada para capturar los datos de los catedraacuteticos que imparten lasasignaturas de una carrera
Fig 541 Pantalla captura datos de catedraacuteticos
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 542 es una muestra de la consulta al archivo de los catedraacuteticos
Fig 542 Pantalla consulta datos de catedraacuteticos
La Figura 543 muestra la pantalla en que se captura el perfil de los catedraacuteticos elperfil son los conocimientos que tiene el profesor que lo capacitan para impartir algunaasignatura
Fig 543 Pantalla captura perfil de catedraacuteticos
Conocimientosdel profesor
Barra deseleccioacuten deperfiles
Grado dedominio deltema
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 544 muestra una consulta tiacutepica al archivo de perfiles de los catedraacuteticos
Fig 544 Pantalla consulta perfil de catedraacuteticos
La Figura 545 muestra la pantalla de inferencia final que sugiere quienes son loscatedraacuteticos maacutes capacitados para impartir una materia haciendo la inferencia mediantela buacutesqueda de matchs entre el perfil de la asignatura y el perfil del catedraacutetico
Fig 545 Pantalla muestra inferencia catedraacuteticos para materia
Candidatos aimpartir lamateria
Botoacuten del proceso deinferencia generalPorcentaje de certeza con
que puede impartirla
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 546 muestra la pantalla de explicacioacuten donde se indican los perfiles de lamateria y el perfil del profesor
Fig 546 Pantalla explicacioacuten porque un maestro puede dar una materia
La Figura 547 muestra el resultado de la inferencia del proceso que sugiere las materiasque puede impartir un profesor con base en el perfil de la materia y el perfil del profesor
Fig 547 Pantalla materias que puede impartir un profesor
Posibles materia aimpartir Porcentaje de certeza con
que puede impartirlaBotoacuten del proceso deinferencia general
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 548 muestra la pantalla de explicacioacuten donde se indican el perfil de la materiay el perfil del profesor
Fig 548 Pantalla de explicacioacuten porque un profesor puede dar una materia
Capiacutetulo 5 Implementacioacuten del sistema
Capiacutetulo 6 Pruebas y Resultados
CAPIacuteTULO 6
PRUEBAS Y RESULTADOS
61 Pruebas del sistema
Se pueden detectar dentro del desarrollo de sistemas las actividades para realizarpruebas las producidas durante la etapa de requerimientos de disentildeo preliminar y las dedisentildeo detallado Clasificadas de otra manera eacutestas pueden ser funcionales deintegracioacuten y de implementacioacuten
La finalidad de realizar Pruebas funcionales es detectar errores que pudieran habersedado durante las fases de anaacutelisis y de especificacioacuten Por otro lado ellas pueden ayudara probar si el disentildeo es correcto ya que esta fase en sus dos niveles preliminar ydetallado estaacute basada en el anaacutelisis y especificacioacuten de requerimientos del sistema Estaactividad es guiada por los objetivos y requerimientos plasmados Se busca en estaprueba la posibilidad de que se haya incurrido en errores de conceptualizacioacuten yo deespecificacioacuten Las pruebas se organizan tomando como guiacutea las diferentes opciones delsistema final
Las Pruebas de integracioacuten se realizan cuando se procede a interconectar los diferentessubsistemas que constituyen el futuro sistema Como es conocido un sistema puede serdesarrollado por diferentes personas Por esta razoacuten es de suma importancia probar lainterconexioacuten de los diferentes subsistemas y asiacute verificar que ha sido realizada demanera correcta
Las Pruebas de implementacioacuten o codificacioacuten son las que se realizan directamentesobre los programas que se estaacuten desarrollando durante la fase de implementacioacuten Estosmoacutedulos o programas a su vez constituyen subsistemas Por esta razoacuten la integracioacuten delos diferentes moacutedulos que forman un subsistema deben ser probados Estas pruebasdeben estar basadas en la especificacioacuten de disentildeo preliminar y detallado [Gerez 1985]
Los siguientes rubros describen las pruebas maacutes importantes que se consideraron paravalidar el sistema las pruebas funcionales Las pruebas de implementacioacuten se realizarondurante el desarrollo de la codificacioacuten de los diferentes moacutedulos
Capiacutetulo 6 Pruebas y Resultados
62 PRUEBAS DEL SISTEMA
621 PRUEBA 1 AacuteREAS DE MENUacuteS
Objetivo Guiar al usuario en el desarrollo del proceso Esta prueba verifica que elsistema tenga como opciones principales y submenuacutes los sentildealados en la definicioacuten derequerimientos
Criterios de aceptacioacuten Cada prueba verifica que el sistema produzca los resultadossentildealados en la definicioacuten de requerimientos
Procedimiento de la prueba A continuacioacuten se despliegan las pantallascorrespondientes a los menuacutes principales y submenuacutes Las opciones principales delproyecto son dos Menu Principal y Datos de los autores
Resultado de la prueba Los resultados fueron satisfactorios En todas las opcionesactivadas el sistema presentoacute los submenuacutes definidos en la etapa de requerimientos
La Figura 61 muestra la portada inicial del proyecto Contiene los logotipos de las tresinstituciones participantes y el nombre del proyecto
Fig 61 Portada inicial del proyecto
Es el botoacutende entrada alsistema
Botoacuten deinformacioacutende los autores
Capiacutetulo 6 Pruebas y Resultados
La Figura 62 muestra el menuacute principal del proyecto y contiene 4 moacutedulos La primeraopcioacuten incluye los moacutedulos administrativo y generacioacuten de grupos la segunda opcioacutenincluye seleccioacuten de maestro y seleccioacuten de materia
Fig 62 Menuacute principal del proyecto
En la Figura 63 se tiene la pantalla del menuacute que agrupa los programas del moacuteduloadministrativo y Sistema Experto para determinar el nuacutemero de grupos por abrir seguacutenlos caacutelculos realizados con los datos de Servicios Escolares y el ajuste a ese dato
Fig 63 Menuacute grupos por abrir
Moacutedulos delproyecto
Cuadro queproporcionalainformacioacutende la opcioacutensentildealada porel cursor
Programas delos moacutedulos
Descripcioacutende laactividad delprogramaseleccionado
Capiacutetulo 6 Pruebas y Resultados
La Figura 64 muestra el menuacute de los moacutedulos que sugiere maestros para impartir unaasignatura y sugerencia de asignatura para alguacuten maestro
Fig 64 Pantalla menuacute seleccioacuten de catedraacuteticos
La Figura 65 muestra el moacutedulo para asignar aula a los horarios que ya tienen materiagrupo y hora
Fig 65 Pantalla principal del menuacute Algoritmos Geneacuteticos
Capiacutetulo 6 Pruebas y Resultados
622 PRUEBA 2 VALIDACIOacuteN DE ENTRADAS
Objetivo Evitar peacuterdidas de tiempo con entradas erroacuteneas de datos y resultados sinvalidez
Criterios de aceptacioacuten Esta prueba deberaacute mostrar de manera exacta la informacioacutenal seleccionar la opcioacuten deseada
Procedimiento de la prueba Se verifica que todas las cajas de texto tengan el dato quese pide y una vez dados todos los datos se guardan para que estos datos posteriormentesean procesados por el sistema y almacenen los datos correctos
Resultado de la prueba Los resultados fueron satisfactorios En todas las opcionesactivadas el sistema presentoacute los resultados correctos a cada opcioacuten Ademaacutes losdesplegados de mensajes de error se presentaron de manera correcta en todas laspruebas
La Figura 66 muestra la captura de datos de una asignatura y enviacutea el correspondientemensaje de error si una caja de texto se encuentra vaciacutea
Fig 66 Pantalla de captura de datos de las Materias
Muestra elmensaje deerror si esque hacefalta alguacuten
Capiacutetulo 6 Pruebas y Resultados
La Figura 67 muestra una pantalla de captura de datos asignando criterios a una materiay valida la no duplicidad de criterios en esa materia se enviacutea el correspondiente mensajede error si una entrada ya fue capturada
Fig 67 Pantalla de captura de datos de Criterios por Materia
La Figura 68 muestra una pantalla de captura de datos de las carreras al encontrar unregistro ya capturado muestra el mensaje de error si una carrera ya fue capturada
Fig 68 Pantalla de captura de datos de Carreras
Muestra elmensajede error sies que yaexiste elregistro
Muestra elmensaje deerror si esque yaexiste elregistro
Capiacutetulo 6 Pruebas y Resultados
623 PRUEBA 3 DESPLEGADO DE RESULTADOS
6231 MOacuteDULO DE GENERACIOacuteN DE GRUPOS POR ABRIR
Objetivo Proporcionar los datos que el moacutedulo pide para que posteriormente elsistema genere el nuacutemero de grupos sugerido por abrir para cada materia
Criterios de aceptacioacuten Esta prueba muestra la lista de grupos que se deben abrirdespueacutes de aplicar los criterios del Sistema Experto
Procedimiento de la prueba Una vez que se proporcionan los datos que el SistemaExperto requiere el sistema generaraacute una lista de los grupos que se deben abrir elproacuteximo semestre
Resultado de la prueba Los resultados fueron satisfactorios En todos los casospresentados el sistema generoacute la lista en forma satisfactoria y con la informacioacutencorrecta
La Figura 69 es la pantalla maacutes importante de moacutedulo de generacioacuten de grupos porquees donde se realiza la inferencia para calcular el tipo de ajuste que se va a aplicar a cadamateria con base en las reglas que se disparan y que hacen match los criterios de unaregla y los criterios de una materia
Asignaturaa la que sele aplicaraacuteel ajuste
Regla quese disparaseguacutencriterios
Tipo deajuste quese aplica
Inferenciageneral
Datoseguacuten
Fig 69 Pantalla caacutelculo de ajustes
Datos seguacutenajuste delSistemaExperto
Inferenciaindividual
Capiacutetulo 6 Pruebas y Resultados
6232 MOacuteDULO DE GENERACIOacuteN DE HORARIOS
Objetivo Proporcionar los datos que el moacutedulo pide para que posteriormente elsistema genere el horario por semestre de las materias de una carrera
Criterios de aceptacioacuten Esta prueba debe mostrar los horarios para las materias sinerrores sin choques de hora en un paquete
Procedimiento de la prueba Recibe como entrada cuantos grupos abrir de cadamateria en cada semestre y genera primero los paquetes posteriormente a cada paquetede materias le asigna la hora por materia
Resultado de la prueba Los resultados fueron satisfactorios En todos los casospresentados el sistema generoacute los horarios correspondientes
La Figura 610 muestra el formulario que forma los paquetes de materias seguacuten laretiacutecula de una carrera muestra el nuacutemero de grupos por cada materia que se van aformar y hace los paquetes asignando los grupos AA AB AC AD
Fig 610 Pantalla inicial del moacutedulo generacioacuten de horarios
Semestre al que sele formaraacuten lospaquetes
Paquetes generadosHora de iniciode clases decada grupo
Materias delsemestre
Nuacutemero de grupospor al que se lesgeneraraacute horario
Botonesque invocanal moacutedulogeneradorde horarios
Capiacutetulo 6 Pruebas y Resultados
La Figura 611 es el formulario del moacutedulo Programacioacuten Loacutegica de Restricciones quegenera los horarios por paquete satisfaciendo las restricciones para formar un horariolibre de choques continuo (sin horas muertas) cumpliendo las horas por materia etc
Fig 611 Pantalla princip
6233 MOacuteDULO ASIGNACIOacuteN D
Objetivo Utilizar los datos generadoaulas a los paquetes de materias
Criterios de aceptacioacuten Esta pruebaasignacioacuten de aula sin choques
Procedimiento de la prueba Se genAlgoritmos Geneacuteticos durante variachoques en el aula
Resultado de la prueba Los resupresentados el sistema generoacute las aula
MateriaPaquete
Nuacutemero dehoras por diacutea
Hora de iniciode la materia
al del moacutedulo generacioacuten de horarios
E AULA
s en el moacutedulo anterior para hacer la asignacioacuten de
debe mostrar los horarios de las materias con una
eran las aulas utilizando los procedimientos de loss generaciones hasta lograr una generacioacuten sin
ltados fueron satisfactorios En todos los casoss correspondientes
Capiacutetulo 6 Pruebas y Resultados
La Figura 612 muestra la pantalla para actualizar las aulas disponibles por las personasque generan los horarios estas aulas estaacuten disponibles para que el Algoritmo Geneacuteticolas utilice para asignarles grupos durante el proceso
Fig 612 Pantalla del control de aulas
La Figura 613 muestra la consulta de las aulas que utiliza el moacutedulo generacioacuten deaulas
Fig 613 Pantalla de consultas del control de aulas
Capiacutetulo 6 Pruebas y Resultados
La Figura 614 muestra la pantalla que genera la poblacioacuten inicial a partir de los datosgenerales proveniente de los moacutedulos anteriores
Fig 614 Pantalla de genera poblacioacuten inicial
La Figura 615 muestra la pantalla que evaluacutea las versiones originadas y genera paracada una de ellas un cromosoma cuyos genes contienen la informacioacuten obtenida
Fig 615 Pantalla de evaluacioacuten de versiones
Nuacutemero dehipoacutetesisversiones oindividuos
Aula aleatoriagenerada
Este botoacuteninicia lageneracioacutende las nversionesde horarios
Capiacutetulo 6 Pruebas y Resultados
La Figura 616 muestra el formulario del proceso de seleccioacuten de las mejores versionesde horarios toma aquellas que tienen menor numero de choques y mayor espacio deocupacioacuten de aulas
Fig 616 Pantalla del proceso de seleccioacuten
La Figura 617 muestra la pantalla del proceso de clonacioacuten donde se selecciona la mejorversioacuten y se obtiene un clon ideacutentico con un nuevo nuacutemero de versioacuten
Fig 617 Pantalla del proceso de clonacioacuten
Cantidad deversiones quesobreviviraacuten
Cromosomas delos mejoresindividuos
Botoacuten queinicia elproceso deseleccioacuten
Botoacuten queinicia elproceso deeliminacioacuten
Cromosomasde versionesmaacutes aptas
Nuacutemero demejor versioacuten
Poblacioacutenversiones
Capiacutetulo 6 Pruebas y Resultados
La Figura 618 muestra la pantalla del proceso de mutacioacuten utilizado para hacer elcambio ldquomutarrdquo los datos de una versioacuten para romper alguacuten ciclado de la tendencia haciael resultado o simplemente para acelerar el proceso de optimizacioacuten
Fig 618 Pantalla de mutacioacuten
La Figura 619 muestra la pantalla donde se realiza el cruzamiento utilizando plantillaspredeterminadas dirigiendo la cruza de versiones por paquetes de materias agrupadas porsemestre y cada plantilla genera una nueva versioacuten con la combinacioacuten de fragmentosde varias versiones
Fig 619 Pantalla del proceso de cruzamiento
Cromosomamuestra lasmejoresversiones
Nuacutemero deversioacuten amutar
Aulas quepueden mutarse
Botoacuten queinicia elproceso demutacioacuten
Capiacutetulo 6 Pruebas y Resultados
La Figura 620 permite la seleccioacuten y enviacuteo de la mejor versioacuten de horarios y adaptarloal moacutedulo administrativo para su distribucioacuten y publicacioacuten
Fig 620 Horarios finales
6234 MOacuteDULO SELECCIOacuteN DE CATEDRATICOS
Objetivo Capturar los datos de los profesores y su perfil profesiograacutefico ademaacutescapturar los conocimientos necesarios para impartir una asignatura para poder sugerircual es el mejor catedraacutetico que puede impartir una asignatura
Criterios de aceptacioacuten Esta prueba debe mostrar la sugerencia de los mejorescatedraacuteticos para una materia y las mejores materias para un catedraacutetico
Procedimiento de la prueba Se daraacuten los datos iniciales de los maestros y el sistemadeberaacute generar una lista a partir de la inferencia del Sistema Experto respectivo yviceversa
Resultado de la prueba Los resultados fueron satisfactorios En todos los casospresentados el sistema infirioacute las materias y los catedraacuteticos correspondientes
Capiacutetulo 6 Pruebas y Resultados
La Figura 621 muestra la pantalla en que se captura el perfil de los catedraacuteticos elperfil son los conocimientos que tiene el profesor que lo capacitan para impartir algunaasignatura
Fig 621 Pantalla captura perfil de catedraacuteticos
La Figura 622 muestra la pantalla de inferencia final que sugiere quienes son loscatedraacuteticos maacutes capacitados para impartir una materia haciendo la inferencia mediantela buacutesqueda de matchs entre el perfil de la asignatura y el perfil del catedraacutetico
Fig 622 Pantalla muestra inferencia catedraacuteticos para materia
Conocimientosdel profesor
Barra deseleccioacuten deperfiles
Grado dedominio deltema
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Candidatos aimpartir lamateria Botoacuten del proceso de
inferencia generalPorcentaje de certeza conque puede impartirla
Capiacutetulo 6 Pruebas y Resultados
La Figura 623 muestra la pantalla de explicacioacuten donde se indican los perfiles de lamateria y el perfil del profesor
Fig 623 Pantalla explicacioacuten porque un maestro puede dar una materia
La Figura 624 muestra el resultado de la inferencia del proceso que sugiere las materiasque puede impartir un profesor con base en el perfil de la materia y el perfil del profesor
Fig 624 Pantalla materias que puede impartir un profesor
Posibles materia aimpartir Porcentaje de certeza con
que puede impartirlaBotoacuten del proceso deinferencia general
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Capiacutetulo 6 Pruebas y Resultados
La Figura 625 muestra la pantalla de explicacioacuten donde se indican el perfil de la materiay el perfil del profesor
Fig 625 Pantalla de explicacioacuten porque un profesor puede dar una materia
Capiacutetulo 6 Pruebas y Resultados
Capiacutetulo 7 Conclusiones y Trabajos Futuros
CAPIacuteTULO 7
CONCLUSIONES Y TRABAJOS FUTUROS
71 CONCLUSIONES
Los meacutetodos de programacioacuten lineal proporcionan una solucioacuten parcial al problema dela generacioacuten de horarios utilizan una ldquorecetardquo predefinida para lograr la optimizacioacutende la asignacioacuten de recursos como lo hace el meacutetodo Huacutengaro La Inteligencia Artificialsoluciona el problema utilizando la heuriacutestica el conocimiento y la experiencia de unexperto humano para solucionar el problema se decidioacute utilizar esta metodologiacutea paraexplorar una solucioacuten aproximada al problema
En el ITZ la generacioacuten de horarios se haciacutea de forma manual no se utilizaba ninguacutenmeacutetodo automatizado Al aplicar algunas teacutecnicas de la Inteligencia Artificial se halogrado generar de manera automatizada los horarios de las materias que se ofertaraacuten elproacuteximo semestre
La aplicacioacuten de varias ramas de la Inteligencia Artificial para la resolucioacuten delproblema de la generacioacuten de horarios viene a demostrar que si es posible generar uncondensado de horarios para el Instituto Tecnoloacutegico de Zacatepec que es una escuelade nivel superior y que estos horarios satisfacen adecuadamente las restricciones fuertesmedias y suaves Para ello fue necesaria la combinacioacuten de varias disciplinas de lacomputacioacuten para generar cada una de las partes que componen un horario y tambieacutenrecomendar los catedraacuteticos mas apropiados para impartir dichos grupos nuevamentequeda demostrado que la Inteligencia Artificial sirve para resolver problemas que lasteacutecnicas convencionales de computacioacuten consideran problema NP-completo
La utilizacioacuten de las teacutecnicas de los Sistemas Expertos para ajustar el nuacutemero de grupospor abrir el proacuteximo semestre permite aplicar el conocimiento y experiencia de lapersona encargada de elaborar los horarios y asiacute disminuir el nuacutemero de gruposcancelados el conocimiento e intuicioacuten del experto humano realizan un ajuste fino alnuacutemero de grupos y como puede notarse el sistema lo hace de manera similar
Para el moacutedulo de generacioacuten de los grupos y los horarios la utilizacioacuten de la teacutecnicallamada Programacioacuten Loacutegica de Restricciones permitioacute la satisfaccioacuten de lasrestricciones que hacen que los horarios sean considerados factibles para su aplicacioacuten a
Capiacutetulo 7 Conclusiones y Trabajos Futuros
los alumnos el proacuteximo semestre ya que los paquetes de materias por semestre tienenhorarios corridos y sin choques en horas nuacutemero de materias completo y buenadistribucioacuten de horas pares e impares
Se utilizoacute tambieacuten la teacutecnica de optimizacioacuten llamada Algoritmos Geneacuteticos pararealizar la asignacioacuten de aulas a cada grupo generado logrando con ello minimizarautomaacuteticamente el nuacutemero de choques de materias en aulas En las pruebas realizadasse logroacute que en la sexta generacioacuten de individuos ya soacutelo hubiera hasta un maacuteximo de 24choques lo que indicaba que soacutelo 4 oacute 5 grupos compartiacutean aula a la misma hora esto erafaacutecilmente corregible realizando una inspeccioacuten visual a la versioacuten de horarios final yajustando los uacuteltimos errores
Por uacuteltimo nuevamente se aplicaron los Sistemas Expertos en el moacutedulo de sugerenciade materias que puede impartir un maestro y en el moacutedulo maestros que pueden impartiruna determinada materia vale la pena comentar que durante las pruebas realizadas loscatedraacuteticos del departamento de Sistemas y Computacioacuten capturaban su perfilprofesiograacutefico y al pedir al sistema la sugerencia de cuaacuteles materias podriacutean impartirlos Sistemas Expertos del proyecto inferiacutean exactamente las materias que loscatedraacuteticos estaacuten impartiendo en este semestre y las que habiacutean impartido en alguacutensemestre anterior demostrando que en efecto para profesores nuevos la recomendacioacutendel sistema seriacutea vaacutelida
72 TRABAJOS FUTUROS
Se sugiere que se ampliacutee el proyecto para que a cada grupo generado con aula y hora sele asigne de manera automaacutetica un catedraacutetico utilizando ya sea Algoritmos Geneacuteticos oProgramacioacuten Loacutegica de Restricciones
Otra posible mejora puede ser incluir la Loacutegica Difusa en los Sistemas Expertos de losmoacutedulos que sugieren las materias que puede impartir un catedraacutetico y los catedraacuteticosque pueden impartir una asignatura
Como ya se comproboacute la factibilidad de generar los horarios de manera automaacutetica sepropone tambieacuten la exploracioacuten de otras ramas y teacutecnicas de la computacioacuten (RedesNeuronales Buacutesqueda Tabuacute Grafos Coloreados etc) para comparar el rendimientotiempo esfuerzo y asiacute poder determinar cuales son mejores o peores teacutecnicas pararesolver el problema de la generacioacuten de horarios
Referencias Bibliograacuteficas
REFERENCIAS BIBLIOGRAacuteFICAS
[Abramson 1991] Abramson D ldquoConstructing School Timetables Using SimulatedAnnealing Secuencial and Parallel Algoritmsrdquo Management Science PWS PublishingBoston 1998
[Beasley 1993] Beasley D amp Bull DR amp Martin RR ldquoAn Overview of GeneticAlgorithms Part 1 Fundamentalsrdquo University Computing
[Bull 1993] Bull DR amp Beasley D amp Martin RR ldquoAn Overview of GeneticAlgorithms Part 2rdquo University Computing Magazine 1993
[Burke1994]Burke EK ldquoA Genetic Algorithm for University Timetablingrdquo AISBworkshop on evolutionary computing Leeds 1994
[Burke 1997] Burke Edmund K ldquoAutomated Scheduling Optimization and PlanningGroup (ASAP)rdquo PATATrsquo97 Proceedings of the 2nd Intenational Conference on thePractice And Theory of Automated Timetabling 1997
[Burke2000] Burke Edmund amp Eliman David amp Weare Rupert ldquoA GeneticAlgorithm Based University Timetabling Systemrdquo PATATrsquo2000 Proceedings of the 5ft
Intenational Conference on the Practice And Theory of Automated Timetabling 2000
[Burke2001] Burke EK amp Eliman DGamp Weare R ldquoAutomated Scheduling OfUniversity Examsrdquo Leeds 2001
[Burke2002] Burke Edmund amp Eliman David amp Weare Rupert ldquoExaminationTimetabling in British Universities ndash A Surveyrdquo Leeds 2002
[Carrasco 2004] Carrasco Marco amp Pato Margarida ldquoSolving Real ClassTeacherTimetabling Problems using Neural Networksrdquo Facultade de Ciencias University ofLisboa Portugal
[Chorafas 1990] Chorafas Dimitris N ldquoKnowledge Engineeringrdquo Van NostrandReinnhold New York USA
Referencias Bibliograacuteficas
[Corne 1993] Corne D ldquoSolving the module exam scheduling problem with geneticalgorithmsrdquo Proceedings of the 6th Intenational conference in Industrial andEngineering applications of Artificial Intelligence and Expert Systems1993
[Daellenbach 1987] Daellenbach Hans amp McNickle Donald ldquoIntroduccioacuten a teacutecnicasde Investigacioacuten de Operacionesrdquo CECSA Meacutexico 1987
[Davis 1991] Davis L ldquoHandbook of Genetic Algorithmsrdquo Van Nostrand ReinholdNew York NY
[Demist2000] Demist ldquoDepartamental Timetabling Proyect ProposalDeMIStinterface to Timetabling Package Proyectrdquo Demist University 2000
[Detcher 1990] Detcher R ldquoEnhancement Schemes for Constraint Processing BackJumping Learning and Cutset Decompositionrdquo Artificial Intelligence 41 (1990)
[Eliman 2000] Eliman David ldquoSpecialised Recombinative Operators for TimetablingProblemsrdquo Cambridge University Press New York 2000
[Elmohamed2000] Elmohamed Saleh ldquoThe timetabling problemrdquo PATATrsquo2000Proceedings of the 5th Intenational Conference on the Practice And Theory ofAutomated Timetabling 2000
[Elmohamed2001] Elmohamed Saleh ldquoConstraint based university coursetimetablingrdquo 4th World Congress on Timetabing Aplication of advanced informationTechnologies London 2001
[Fahrion y Dollanski 1992] Fahrion R amp G Dollanski ldquoConstruction of UniversityFaculty Timetables using Logic Programmingrdquo ACM Sigsoft Notes vol 9 no 3 May1992
[Frenzel 1986]Frenzel Louis E ldquoCrash Course in Artificial Intelligence and ExpertSystemsrdquo Howard W Sams amp Co McMillan Inc Indianapolis USA
[Gerez 1985] Gerez Victor amp Mier Mauricio ldquoDesarrollo y administracioacuten deprogramas de computadorardquo McGraw Hill Meacutexico 1985
[Gervaacutes 1999] Gervaacutes P amp San Miguel B ldquoSequential Building of ConstrainedTimetables Using Rule-Based Heuristics An Expert System for AutomatedTimetablingrdquo Congreso Internacional de Investigacioacuten en Ciencias Computacionales
Referencias Bibliograacuteficas
[Giarratamo 1998] Giarratamo Joseph y Gary Riley ldquoExpert Systems Principles andProgrammingrdquo PWS Kent Publishing Company Boston USA
[Gines 1986] Gines B amp Boose J ldquoKnowledge Acquisition for Knowledge-BasedSystemsrdquo Vol 1amp2 Academic Press London U K
[Goldberg 1989] Goldberg DE ldquoGenetic Algorithms in SearchOptimization andMachine LearningrdquoAddison-Wesley
[Kang y White 1994 ] Kang L amp White GM ldquoA Logic Approach to the Resolutionof Constrains in Timetablingrdquo European Journal of Operational Research vol 61 1994
[Kandel 1991] Kandel Abraham ldquoFuzzy Expert Systemsrdquo CRC Press Inc LondonUK 1991
[Kendall1999] Kendall y Kendall ldquoAnaacutelisis y disentildeo de sistemasrdquo 3ordf edicion PearsonEducacioacuten
[Koza 1992] Koza JR ldquoGenetic Programming On the Programming of Computers bymeans of Natural Selectionrdquo Cambridge MA MIT Press
[Martiacutenez 1999] Martiacutenez Alfaro Horacio ldquoSolucioacuten al problema de asignacioacuten desalones de clases horario y grupo mediante templado simuladordquo Memorias 6ordm CongresoInternacional de Mecatroacutenica e Inteligencia Artificial Meacutexico 1999
[Medina 2004] Medina Pasaflores Horacio ldquoFundamentos de Algoritmos GeneacuteticosrdquoTesis de licenciatura Zacatepec Mexico 2004
[Michalewicz 1992] Michalewicz Z ldquoGenetic algorithms + Data Structures =Evolution Programsrdquo Springer-Verlag New York NY
[Negoita1985] Negoita ConstantinV Expert Systems and Fuzzy Systems TheBenjamin Cummings Publishing Co Menlo Park CA USA
[Nielsoft 2000] Nielsoft informatica ldquoManual de usuario Mimosa for windowsrdquo
[Paechter 1994] Paechter B ldquoTwo solutions to the general timetabling problemusing evolutionary methodsrdquo IEEE WCCI 1994
[Pluss1999] Pluss JJ ldquoSistemas expertos un enfoque pragmaacuteticordquo UNR
Referencias Bibliograacuteficas
[Rich 1996] Rich E y Knight K ldquoInteligencia Artificialrdquo McGraw HillInteramericana Madrid Espantildea
[Russell 1996] Russell S y Norvig P ldquoInteligencia Artificial un enfoque modernordquoPrentice Hall Mexico 1996
[Sanchez1999] Sanchez y Beltran ldquoSistemas expertos una metodologiacutea deprogramacioacutenrdquo Macrobit
[Schedul2000] SchedulExpert ldquoCourse scheduling in post educational institutionsrdquo EdAddison Wesley 2000
[Trick 1999 ] Trick Michael ldquoNetwork resources for coloring a graphrdquo Oracle PressEd McGraw Hill 1999
[Turban 1995] Turban Efraim ldquoDecision Support and Expert Systems ManagementSupport Systemsrdquo Fourth Edition Orentice Hall NJ USA
[Waterman1986] Waterman Donald A ldquoA Guide to Expert Systemsrdquo Addison-Wesley Publishing Co USA
[Weare2000] Weare Rupert amp Burke Edmundo amp Eliman David ldquoA Questionnaireon Exam Timetabling in Universitiesrdquo Annual review of computer Science Volume 2Palo Alto 2000
[Wilke 2002] Wilke P amp Grobner M amp Oster N ldquoA hibrid Genetic Algorithm forSchool Timetablingrdquo Advances in Artificial Intelligence Springer Lecture Notes inComputer Science New York
[Yoshikawa 1994] Yoshikawa M amp Kaneko KldquoA Constraint-based Approach toHigh School Timetabling Problems A Case Studyrdquo AAAI-94 12ordm NationalConference on Artificial Intelligence
Referencias Bibliograacuteficas
Referencias electroacutenicas
httpwwwmonografiacuteascomtrabajos12inteartfinteartfshtmlObregoacuten Arturo Inteligencia artificial y Sistemas expertos IIMAS-UNAM (1992)
httpwwwlafacucomapuntesinformaticasist_conodefaulthtmCruz Ochoa Wilson Sistemas de conocimiento
httpwwwingenieroseninformaticaorgrecursostutorialessist_exphtmlZambrano Molina Darwin Sistemas expertos
httpredcientificacomdocdoc199008210001htmlSamper Marquez Juan Joseacute Introduccioacuten a los sistemas expertos Madrid 2000
httpmismonografiascomarSistemas20expertofuzzyhtmlArede Dario Sistema experto fuzzy
httpcruzrojaguayaorginteligenciainterhtmlAyuquina Martha amp Arellano Gregorio Inteligencia artificial Universidad de Guayaquil
httpdmiuibesabasolointart1-introduccionhtmlAbasolo Mariacutea Joseacute Dra Inteligencia Artificial
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
IacuteNDICE
RESUMEN iABSTRAC iiIacuteNDICE iiiLISTA DE FIGURAS v
CAPIacuteTULO 1 INTRODUCCIOacuteN11 Antecedentes 112 Planteamiento del problema 213 Objetivo general 414 Objetivos especiacuteficos 515 Justificacioacuten 5151 Justificacioacuten teoacuterica 5152 Justificacioacuten metodoloacutegica 5153 Justificacioacuten praacutectica 616 Alcances y limitaciones 7
CAPIacuteTULO 2 MARCO TEOacuteRICO21 El estado del arte 9211 Antecedentes 9212 Algunos meacutetodos para resolver el Problema de la Generacioacuten de Horarios 92121 Algoritmos Geneacuteticos 122122 Programacioacuten Loacutegica de Restricciones 122123 Redes Neuronales 132124 Recocido Simulado 132125 Operadores Recombinatorios Especializados 132126 El Sistema Experto basado en reglas 14213 Observaciones realizadas a algunos paquetes generadores de horarios 1522 Los horarios 16221 El problema de la elaboracioacuten de horarios 1723 El proceso de la elaboracioacuten de horarios 22
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
CAPIacuteTULO 3 TEacuteCNICAS DE INTELIGENCIA ARTIFICIALUTILIZADAS PARA LA GENERACIOacuteN DE HORARIOS31 Sistemas Expertos 24311 Funcioacuten de un Sistema Experto 25312 Arquitectura de Sistemas Expertos 25313 La base de conocimiento 26314 Motor de inferencias 27315 iquestPor queacute utilizar un Sistema Experto 27316 Construccioacuten de prototipos 2832 Algoritmos geneacuteticos 29321 Antecedentes 29322 Definicioacuten de Algoritmo Geneacutetico 30323 Ventajas y desventajas 31324 iquestCoacutemo saber si es posible usar un Algoritmo Geneacutetico 31325 Paraacutemetros que deben ser especificados en el programa 3233 Programacioacuten Loacutegica de Restricciones(PLR) 34331 Antecedentes de la PLR 34332 Restricciones 35333 Sistemas con restricciones 37334 Referencia histoacuterica de las restricciones 37335 Satisfaccioacuten de las restricciones 38336 Resolucioacuten de restricciones 38337 Organizacioacuten de proyectos 38
CAPIacuteTULO 4 ANAacuteLISIS Y DISENtildeO41 Recopilacioacuten de la informacioacuten 4142 Anaacutelisis de la informacioacuten 4643 Solucioacuten definida 4844 Requerimientos del sistema 4945 Disentildeo del sistema 52451 Mapa conceptual del proyecto 52452 Mapas conceptuales de los moacutedulos 54453 Diagramas de contexto 62454 Diagramas entidad relacioacuten 674 55 Diccionario de la base de datos 73456 Lista de funciones o programas 85457 Diagrama de arquitectura (menuacutes) 87
CAPIacuteTULO 5 IMPLEMENTACIOacuteN51 Pantallas del sistema 89
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
CAPIacuteTULO 6 PRUEBAS Y RESULTADOS61 Pruebas del sistema 11462 Pruebas del sistema 115621 Prueba 1 Aacuterea de menuacutes 115622 Prueba 2 Validacioacuten de entradas 118623 Prueba 3 Desplegado de resultados 1206231 Moacutedulo generacioacuten de grupos por abrir 1206232 Moacutedulo generacioacuten de horarios 1216233 Moacutedulo asignacioacuten de aula 1226234 Moacutedulo seleccioacuten de catedraacuteticos 127
CAPIacuteTULO 7 CONCLUSIONES Y TRABAJOS FUTUROS71 Conclusiones 13172 Trabajos futuros 132
REFERENCIAS BIBLIOGRAacuteFICAS 133
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
LISTA DE FIGURAS
Figura Nombre Paacutegina
31 Arquitectura de un Sistema Experto 2632 Pseudocoacutedigo del Algoritmo Geneacutetico simple 3341 Mapa conceptual del proyecto 5242 Diagrama de secuencia 5443 Sistema Experto generador de grupos 5544 Diagrama del moacutedulo Programacioacuten Loacutegica de Restricciones 5745 Diagrama del moacutedulo Algoritmo Geneacutetico 5846 Diagrama de Sistema Experto para sugerir profesor a asignatura 6047 Diagrama de Sistema Experto para sugerir asignaturas para
catedraacutetico61
48 Diagrama de contexto del proyecto 6449 Diagrama de funciones fundamentales (entradas) 65410 Diagrama de funciones fundamentales (salidas) 66411 Diagrama entidad relacioacuten del moacutedulo administrativo 67412 Diagrama E-R del moacutedulo para determinar y ajustar nuacutemero de
grupos68
413 Diagrama E-R del moacutedulo para asignar aulas (Algoritmo Geneacutetico) 69414 Diagrama E-R del moacutedulo para asignar horario (PLR) 70415 Diagrama E-R del moacutedulo designa mejor catedraacutetico (Sistema
Experto)71
416 Diagrama E-R del moacutedulo selecciona mejor materia (SistemaExperto)
72
51 Portada inicial del proyecto 8852 Acerca del sistema 8953 Menuacute principal del proyecto 8954 Menuacute grupos por abrir 9055 Materias 9056 Consulta materias 9157 Pantalla servicios escolares 9158 Pantalla consulta servicios escolares 9259 Pantalla criterios por materia 92510 Pantalla consulta criterios por materia 93511 Pantalla carreras 93512 Pantalla criterios 94513 Pantalla consulta criterios 94514 Pantalla reglas 95515 Pantalla consulta reglas 95516 Pantalla ajustes 96
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
517 Pantalla consulta ajustes 96518 Pantalla criterios por regla 97519 Pantalla consulta criterios por regla 97520 Pantalla caacutelculo de ajustes 98521 Pantalla explicacioacuten de la inferencia 98522 Pantalla inicial del moacutedulo generacioacuten de horarios 99523 Pantalla principal del moacutedulo generacioacuten de horarios 99524 Pantalla principal del menuacute Algoritmos Geneacuteticos 100525 Pantalla de administracioacuten de grupos 100526 Pantalla de consulta de administracioacuten de grupos 101527 Pantalla del control de aulas 101528 Pantalla de consultas del control de aulas 102529 Pantalla para generacioacuten de poblacioacuten inicial 102530 Pantalla de evaluacioacuten de versiones 103531 Pantalla del proceso de seleccioacuten 103532 Pantalla del proceso de clonacioacuten 104
533 Pantalla de mutacioacuten 104534 Pantalla del proceso de cruzamiento 105535 Horarios finales 105536 Pantalla menuacute seleccioacuten de catedraacuteticos 106537 Pantalla de perfiles 106538 Pantalla de consulta perfiles 107539 Pantalla perfiles de las materias 107540 Pantalla consulta perfiles de las materias 108541 Pantalla captura datos de catedraacuteticos 108542 Pantalla consulta datos de catedraacuteticos 109543 Pantalla captura perfil de catedraacuteticos 109544 Pantalla consulta perfil de catedraacuteticos 110545 Pantalla muestra inferencia catedraacuteticos para materia 110546 Pantalla explicacioacuten del porqueacute un maestro puede dar una materia 111547 Pantalla materias que puede impartir un profesor 111548 Pantalla de explicacioacuten del porqueacute un profesor puede dar una
materia112
61 Portada inicial del proyecto 11562 Menuacute principal del proyecto 11663 Menuacute grupos por abrir 11664 Pantalla menuacute seleccioacuten de catedraacuteticos 11765 Pantalla principal del menuacute Algoritmos Geneacuteticos 11766 Pantalla de captura de datos de las Materias 11867 Pantalla de captura de datos de Criterios por Materia 11968 Pantalla de captura de datos de Carreras 11969 Pantalla caacutelculo de ajustes 120
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
610 Pantalla inicial del moacutedulo generacioacuten de horarios 121611 Pantalla principal del moacutedulo generacioacuten de horarios 122612 Pantalla del control de aulas 123613 Pantalla de consultas del control de aulas 123614 Pantalla de genera poblacioacuten inicial 124615 Pantalla de evaluacioacuten de versiones 124616 Pantalla del proceso de seleccioacuten 125617 Pantalla del proceso de clonacioacuten 125618 Pantalla de mutacioacuten 126619 Pantalla del proceso de cruzamiento 126620 Horarios finales 127621 Pantalla captura perfil de catedraacuteticos 128622 Pantalla muestra inferencia catedraacuteticos para materia 128623 Pantalla explicacioacuten porque un maestro puede dar una materia 129624 Pantalla materias que puede impartir un profesor 129625 Pantalla de explicacioacuten porque un profesor puede dar una materia 130
Capiacutetulo 1 Introduccioacuten
CAPIacuteTULO 1
INTRODUCCIOacuteN
11 Antecedentes
iquestQueacute es un horario
ldquoEl horario completo bien puede gobernar las vidas demiles de alumnos y cientos de profesores para los 200 diacuteasdel antildeo escolar semestre a semestre hora tras hora Comouna poderosa herramienta puede faacutecilmente crear o deshacersituaciones de ensentildeanza aprendizajerdquo [Johnson 1980]
En la educacioacuten superior la historia siempre es la misma la proporcioacuten de tiempodictada por el horario para los alumnos y profesores es generalmente muy baja Apesar de esto las dificultades en la creacioacuten de los horarios son grandes Existenvarios departamentos y carreras cada uno con sus propias ideas de coacutemo y cuaacutendo sedeben programar sus cursos El nuacutemero de estudiantes puede variar considerablementede antildeo en antildeo Similarmente las preferencias de los alumnos a favor o en contra delas materias pueden variar dramaacuteticamente de un semestre a otro Los estudiantespueden tomar cursos de un departamento o de varios de ellos aun maacutes puedenseleccionar materias de otras carreras La reciente desaparicioacuten de las restricciones decreacuteditos para cursar las asignaturas complica maacutes la situacioacuten porque ampliacutea el rangode materias que puede tomar un alumno Los horarios aparecen en varias formasmatutinos vespertinos mixtos y todo el diacutea Los horarios escolares indican cuando unmaestro y un alumno deben ir a cada clase Todas las escuelas tienen un horario decursos que dirige lo que cada estudiante y catedraacutetico debe hacer en determinadomomento Esta tesis versa especiacuteficamente sobre el problema de construir horariospara Institutos Tecnoloacutegicos en Meacutexico
La planeacioacuten de los horarios es un trabajo que se realiza semestralmente antes de iniciarel siguiente periodo escolar tomando en cuenta la demanda de grupos que se ofreceraacuteny asignando a estos grupos los alumnos el aula el catedraacutetico y el horariocorrespondiente mediante informacioacuten que se obtiene de varias maneras
El principal objetivo de este proyecto es dar una solucioacuten aproximada (aceptable) alproblema de la generacioacuten de horarios de una escuela de nivel superior que se resumeasiacute
Capiacutetulo 1 Introduccioacuten
ldquoDado un conjunto de departamentos y carreras asignaturas con prerrequisitos gruposcatedraacuteticos con especialidad y horario definidos aulas laboratorios y alumnos con suspreferencias de materias el problema es construir un condensado de horarios factibleque satisfaga todas las restricciones fuertes y minimice las restricciones medias ysuavesrdquo
Las restricciones fuertes son restricciones de espacio y tiempo tal como planear doscursos en un aula al mismo tiempo Las restricciones medias y suaves son laspreferencias de maestros y estudiantes que deberaacuten ser satisfechas si es posible[Elmohamed 1998]
El problema de la generacioacuten de horarios ha sido tratado por muchos investigadoresutilizando meacutetodos que van desde la investigacioacuten de operaciones hasta disciplinas de laInteligencia Artificial como son Algoritmos Geneacuteticos Recocido Simulado RedesNeuronales etc
12 Planteamiento del problema
La generacioacuten de horarios es una forma particular del problema de asignacioacuten derecursos En el caso maacutes general existe una serie de objetos (recursos) y una serie deprocesos que necesitan ser realizados por cada uno de esos objetos En un contextoeducacional cada estudiante debe asistir a un nuacutemero predeterminado de clases y elprofesor debe impartirlas durante la semana en un aula predeterminada el estudiante elprofesor y el aula pasan aquiacute a ser el objeto y las clases el proceso
La complejidad del problema de la generacioacuten de horarios
La generacioacuten de horarios es un problema de optimizacioacuten combinatorio multi-dimensional no Euclidiano con muacuteltiples restricciones y por lo tanto difiacutecil de resolver[Elmohamed 1998]
El problema de la generacioacuten de horarios esta agrupado dentro de los considerados decomplejidad NP-completos es decir que no pueden ser resueltos en tiempo polinomialusando un algoritmo determiniacutestico No se conoce un algoritmo determiniacutestico detiempo polinomial para resolver alguno de esos problemas y la mayoriacutea de la gente creeque dichos algoritmos no existen[Karp 1972]
La generacioacuten de horarios es la asignacioacuten de lapsos de tiempo a un conjunto de eventossujeto a las restricciones en esas asignaciones Seguacuten Elmohamed [Elmohamed 1998]el problema NP-completo de la elaboracioacuten de horarios es un problema para la
Capiacutetulo 1 Introduccioacuten
satisfaccioacuten de restricciones que puede ser definido de la siguiente maneraPara una escuela dada con
Np profesores con sus horarios y turnos Nq materias con su temario y objetivosNx aulas y laboratorios con su capacidad Ns estudiantes
es requerido programar Nt parejas de
alumno-materiahora-materiamaestro-materiaaula-materia
una vez definidas las parejas anteriores se deben programar elementos de la formamateria-maestro-hora -aula
En un liacutemite de Nt lapsos de tiempo para producir una programacioacuten factible En unaprogramacioacuten factible no se puede encontrar a un profesor grupo o estudiante en maacutesde un lugar al mismo tiempo y un aula no puede ser asignada con maacutes de una clase a lavez o maacutes estudiantes de su capacidad o un profesor programado fuera de su horarionormal o con maacutes horas frente a grupo de las reglamentarias ademaacutes de un conjuntoadicional de restricciones
Importancia del problema
La administracioacuten de los recursos comprende la apertura de los grupos para inscribir alos alumnos el proacuteximo semestre la asignacioacuten de carga acadeacutemica a los catedraacuteticos lautilizacioacuten de aulas y laboratorios de quiacutemica produccioacuten coacutemputo electromecaacutenicaaulas de dibujo y demaacutes instalaciones del Instituto Tecnoloacutegico de Zacatepec (ITZ)Cuando por errores imputables al creador de los horarios se hizo una mala planeacioacuten sederivan los siguientes problemasbull Alumnos que se inscriben con una carga de creacuteditos menor a la miacutenima por falta de
grupos suficientesbull Alumnos que deben estar en el ITZ desde las 700 hrs hasta las 2000 hrs varios
diacuteas a la semana por abrir grupos en horarios muy separadosbull Alumnos que pierden la secuencia de materias seriadas por falta de cupobull Alumnos que deben permanecer 1 oacute 2 semestres maacutes en el ITZ por no prever
suficientes grupos para semestres terminalesbull Catedraacuteticos que no imparten el miacutenimo reglamentario de horas frente a grupo por
no crearles grupos suficientesbull Catedraacuteticos a los que se les avisa 1 diacutea antes del inicio de clases que impartiraacuten una
Capiacutetulo 1 Introduccioacuten
asignatura nuevabull Asignaturas que son impartidas por profesores que no cumplen el perfil deseado en
esa asignaturabull Choque de grupos en las aulasbull Choque de grupos en laboratoriosbull Falta de laboratorio a algunos gruposbull Deficiente utilizacioacuten de las aulas
La creacioacuten de un sistema que evite de manera automaacutetica caer en errores como losmencionados NO ES TAREA TRIVIAL intentar resolver este problema involucra laelaboracioacuten de un ldquosistema inteligenterdquo capaz de tomar decisiones aprender inferirbasaacutendose en hechos generar nueva informacioacuten y a partir de ella nuevamente volver adecidir El sistema que se elabore debe tener la capacidad para deducir e inducir de unamanera combinada
Desventajas del sistema actual
La mayoriacutea de los problemas anteriores son ocasionados por alguno o varios de lossiguientes motivosbull Todo el proceso de caacutelculo y administracioacuten de los recursos es manualbull El proceso de elaboracioacuten coincide con el cierre de semestre actual y como las
personas responsables tambieacuten son catedraacuteticos deben combinar la generacioacuten dehorarios con las evaluaciones finales revisioacuten de proyectos y entrega decalificaciones de sus grupos a los alumnos
bull La elaboracioacuten de los horarios es un proceso que se lleva semanas de labor diariabull Requiere la atencioacuten total de los coordinadores durante todo el tiempo de
elaboracioacutenbull Al no tener la informacioacuten automatizada se tienen peacuterdidas de tiempo en la toma de
decisiones como por ejemplo en el preacutestamo de aulas no utilizadas o en la forma decompartir catedraacuteticos
bull Se tienen fuertes restricciones debido a los horarios de los catedraacuteticosbull Hay fuertes dificultades cuando se deben negociar cambios de horarios porque el
proceso implica mover asignaturas buscar aulas dejar paquetes de materias porsemestre etc
bull El estado de aacutenimo del coordinador influye en la elaboracioacuten de los horarios
13 Objetivo general
Generacioacuten de una solucioacuten aproximada del condensado de horarios para una escuela denivel superior que satisfaga las restricciones ocasionadas por los recursos involucradosmediante la elaboracioacuten de un sistema hiacutebrido (experto geneacutetico y loacutegico restrictivo)
Capiacutetulo 1 Introduccioacuten
14 Objetivos especiacuteficos
Se tiene el disentildeo e implementacioacuten de un sistema que
bull Proporciona una solucioacuten aproximada aceptable al problema de la generacioacuten dehorarios
bull Permite a los coordinadores delegar a la computadora la asignacioacuten de recursosbull Ahorra tiempo en la generacioacuten de los horariosbull Reduce el trabajo manualbull Agiliza la toma de decisionesbull Reduce el tiempo de elaboracioacuten de horariosbull Facilita la modificacioacuten de informacioacuten generadabull Aumenta la eficiencia en las negociaciones entre jefes y coordinadoresbull Lleva al Instituto Tecnoloacutegico de Zacatepec (ITZ) a la modernizacioacuten en este
proceso
15 Justificacioacuten del sistema
151 Justificacioacuten teoacuterica
La utilizacioacuten de la Inteligencia Artificial (IA) para la solucioacuten de problemas de la vidacotidiana ha sido una estrategia utilizada cuando los sistemas tradicionales decomputacioacuten no proveen mecanismos suficientes para garantizar una solucioacuten adecuadasu utilizacioacuten para la generacioacuten de horarios (creacioacuten de grupos asignacioacuten de horaasignacioacuten de aula determinacioacuten de catedraacutetico) presenta una alternativa ideal paracomprobarlo
152 Justificacioacuten metodoloacutegica
La utilizacioacuten de un grupo de Sistemas Expertos que realice la asignacioacuten de losrecursos para la generacioacuten de grupos y le proponga una materia determinada a unprofesor seguacuten el perfil acadeacutemico de ambos reuacutene las caracteriacutesticas necesarias paradar la solucioacuten elegante y efectiva al problema planteado anteriormente porque
bull Se requiere del conocimiento de un experto para plantear el funcionamiento delsistema
bull El conocimiento se alimentaraacute a una base de conocimientos que conste de variaspartes
bull Para la generacioacuten de grupos de una asignatura dada el sistema debe ldquorazonarrdquo paradeterminar cuantos de eacutestos se deben abrir para ofertarlos a los alumnos
Capiacutetulo 1 Introduccioacuten
bull En la asignacioacuten de nuevas materias a los catedraacuteticos el sistema debe ldquodeterminarrdquoquieacuten es el maacutes idoacuteneo para impartirla de acuerdo al perfil de ambos materia ymaestro
La Programacioacuten Loacutegica de Restricciones (PLR) es una de las teacutecnicas que maneja demanera natural informacioacuten sometida a ciertas restricciones y fue seleccionada paraseguir trabajando en la resolucioacuten del problema porque
bull Los horarios deben satisfacer ciertas restricciones como por ejemplo no se debengenerar mas grupos de los necesarios no puede haber dos materias con el mismogrupo no deben existir grupos del mismo paquete a la misma hora etc
bull Cada paquete de un semestre es un objeto que por siacute mismo posee ciertascualidades y restricciones por ejemplo no debe tener horas sin asignatura entre lahora inicial y final existen materias que se deben impartir de una hora diaria otrasdeben ser impartidas de 2 horas diarias etc
bull La solucioacuten presentada por la PLR inicia con datos aleatorios de un horario despueacutesse verifica si las restricciones se cumplen o no si se cumplen se guarda el dato si nose genera un nuevo dato aleatorio
Los Algoritmos Geneacuteticos utilizados aquiacute para asignar aula a los grupos cumplen con lametodologiacutea de la Computacioacuten Evolutiva porque
bull Se tienen datos iniciales de los grupos (materia-hora)bull Se genera una poblacioacuten inicial que son n versiones de un condensado de horarios
sin aulabull Esta poblacioacuten inicial es evaluada se seleccionan los condensados maacutes adecuados y
se eliminan las versiones menos adecuadasbull Se realizan cruzamientos mutaciones clonaciones y se crea la nueva generacioacuten de
horariosbull Se repite el proceso hasta llegar a una utilizacioacuten eficiente de las aulas
Por lo anterior se pueden observar las ventajas de utilizar un sistema inteligente sobreuno convencional para solucionar el problema planteado
Una vez definido el modelo para solucionar el problema de la asignacioacuten de horariospara las asignaturas aulas y catedraacuteticos de una institucioacuten de educacioacuten superior seraacutefaacutecil extrapolarlo para solucionar algunos problemas referentes a la planeacioacuten dehorarios de otro tipo de escuelas de nivel medio superior
153 Justificacioacuten praacutectica
La creacioacuten de un sistema que resuelva el problema de la elaboracioacuten de horarios ygenere automaacuteticamente la programacioacuten de grupos aulas y maestros sin violar las
Capiacutetulo 1 Introduccioacuten
restricciones fuertes minimizando las restricciones medias y suaves optimizando lautilizacioacuten de las aulas cumpliendo con las restricciones de los profesores asignandoprofesores adecuados para impartir las clases traeraacute como consecuencia condicionespara mejorar el proceso de ensentildeanza aprendizaje
16 Alcances y limitaciones
Alcances
El sistema generaraacute un espacio de soluciones finito que satisfaga las restriccionesfuertes medias y suaves optimizando el uso de los recursos disponibles se puede decirque el sistema optimizaraacute los recursos cuando los horarios generados tengan lascaracteriacutesticas mencionadas maacutes adelante
Esta tesis documenta la creacioacuten de un sistema basado en el conocimiento parasolucionar el problema de la generacioacuten de horarios en el Instituto Tecnoloacutegico deZacatepec que permite
bull Generar grupos suficientes para que todos los estudiantes se inscriban al menos conla carga miacutenima reglamentaria
bull Que los alumnos tengan horarios adecuados a sus necesidades y preferenciasbull Que todos los grupos tengan capacidad suficiente para todos los estudiantes que
deseen inscribirsebull Que los profesores impartan materias de acuerdo a su perfil profesionalbull Evitar los choques de grupos en aulas y laboratoriosbull Que todos los grupos tengan aula asignada desde el inicio del semestrebull La utilizacioacuten oacuteptima de las aulas y laboratoriosbull La correcta asignacioacuten de aulas y laboratorios a los cursosbull Realizar de manera automaacutetica la asignacioacuten de los recursosbull Determinar el nuacutemero de grupos que se deben abrirbull Llenar las aulas con grupos sin permitir choque de horariosbull Imprimir la lista de grupos ofertados para el semestre siguientebull Cuando exista el grupo de una materia sin maestro determinar cual es el mejor para
impartirla
Tener un Sistema terminado que contenga los siguientes moacutedulos
Sistema administrativo para control de horarios Sistema Experto para determinar la cantidad de grupos por abrir Sistema Experto para sugerir materias a un catedraacutetico Sistema Experto para seleccionar los mejores catedraacuteticos para impartir una
asignatura
Capiacutetulo 1 Introduccioacuten
Moacutedulo de Programacioacuten Loacutegica de Restricciones para generar los horarios a lospaquetes de materias por semestre
Moacutedulo de Algoritmo Geneacutetico para asignar aula a los grupos
Cada moacutedulo tendraacute
bull Interfaces de usuario amigablesbull Tiempos de ejecucioacuten raacutepidos (independientemente de la maacutequina objetivo)bull Reglas de inferencia para generar resultados (soacutelo los Sistemas Expertos)bull Buacutesquedas heuriacutesticas o aleatorias seguacuten el casobull Procesos para realizar induccioacuten y deduccioacuten (soacutelo los Sistemas Expertos)bull Manejo de incertidumbre (soacutelo los Sistemas Expertos)bull Un moacutedulo de explicaciones en lenguaje natural
Limitaciones
El sistema estaacute disentildeado para generar horarios de una escuela de nivel superior donde elcoordinador de cada carrera es el responsable de la generacioacuten de sus horarios controlarsus profesores impartir cierto nuacutemero de materias y utilizar cierta cantidad de aulas ylaboratorios
Trabaja exclusivamente en lenguaje espantildeol
Las reglas de la base de conocimiento tienen un formato predeterminado por unasintaxis definida para el sistema
El sistema estaacute elaborado para trabajar en microcomputadoras compatibles con IBM
No maneja los horarios individuales de los alumnos en el proceso de inscripcioacuten estaactividad deberaacute ser realizada por los sistemas del departamento de servicios escolares
Capiacutetulo 2 Marco teoacuterico
CAPIacuteTULO 2
MARCO TEOacuteRICO
21 El estado del arte
211 Antecedentes
El problema de la generacioacuten de horarios ha sido atacado de varias maneras a nivelmundial inclusive existe un grupo internacional que convoca al congreso llamadoPATATxx (Practice and Theory of Automated Timetabling) donde xx es el antildeo delcongreso en cuestioacuten
La ASAP (Automated scheduling optimization and planing group) es otro organismocuyo fin principal es conducir investigacioacuten en modelos heuriacutesticas y algoritmos para laproduccioacuten automaacutetica de soluciones de alta calidad a una gran variedad de problemasde planeacioacuten y optimizacioacuten del mundo real incluyendo elaboracioacuten de horarioslogiacutestica asignacioacuten de espacio y mantenimiento de inventarios
212 Algunos meacutetodos para resolver el Problema de laGeneracioacuten de Horarios
La generacioacuten de horarios acadeacutemicos ha sido acometida por muchos investigadoresbaacutesicamente dentro del aacuterea de la Investigacioacuten de Operaciones
2121 Investigacioacuten de Operaciones
El algoritmo para resolver problemas de asignacioacuten se denomina Huacutengaro ya que fuerondos matemaacuteticos Huacutengaros Koumlnig (1916) y Egervary (1931) los que aportaron lasteoriacuteas que sirven de base a este meacutetodo [Daellenbach 1987]
Este problema se presenta en diversos casos de toma de decisiones Los problemastiacutepicos de asignacioacuten implican asignar tareas a maacutequinas trabajadores a tareas yproyectos personal de ventas a territorios de ventas contratos a licitaciones horarios deaulas disponibles a horarios de maestros disponibles enfermos a camas disponibles delhospital cierto nuacutemero de empleados a cierta cantidad de puestos en una empresaaviones a destinos aeacutereos entre otros
Capiacutetulo 2 Marco teoacuterico
Una caracteriacutestica importante de los problemas de asignacioacuten es que se asigna untrabajador una tarea a una sola maacutequina proyectoEn particular se busca elconjunto de asignaciones que optimice el objetivo planteado tal como minimizar costosminimizar tiempo o maximizar utilidad
La formulacioacuten del problema general de asignacioacuten es
Sujeta a
Corresponde a un caso especial del problema del transporte en el cual las variables Xijsoacutelo pueden tomar el valor 0 oacute 1 tomar el valor 1 si el origen i se hace corresponder aldestino j y 0 en caso contrario
El Algoritmo Huacutengaro
Este algoritmo se usa para resolver problemas de minimizacioacuten ya que es maacutes eficazque el empleado para resolver el problema del transporte por el alto grado dedegeneracioacuten que pueden presentar los problemas de asignacioacuten Las fases para laaplicacioacuten del meacutetodo Huacutengaro son
Capiacutetulo 2 Marco teoacuterico
Paso 1 Encontrar primero el elemento maacutes pequentildeo en cada fila de la matriz de costosmm se debe construir una nueva matriz al restar de cada costo el costo miacutenimo de cadafila encontrar para esta nueva matriz el costo miacutenimo en cada columna A continuacioacutense debe construir una nueva matriz (denominada matriz de costos reducidos) al restar decada costo el costo miacutenimo de su columna
Paso 2 (En algunos pocos textos este paso se atribuye a Flood) Consiste en trazar elnuacutemero miacutenimo de liacuteneas (horizontales o verticales o ambas uacutenicamente de esasmaneras) que se requieren para cubrir todos los ceros en la matriz de costos reducidos sise necesitan m liacuteneas para cubrir todos los ceros se tiene una solucioacuten oacuteptima entre losceros cubiertos de la matriz Si se requieren menos de m liacuteneas para cubrir todos losceros se debe continuar con el paso 3 El nuacutemero de liacuteneas para cubrir los ceros es iguala la cantidad de asignaciones que hasta ese momento se pueden realizar
Paso 3 Encontrar el menor elemento diferente de cero (llamado k) en la matriz decostos reducidos que no estaacute cubierto por las liacuteneas dibujadas en el paso 2 acontinuacioacuten se debe restar k de cada elemento no cubierto de la matriz de costosreducidos y sumar k a cada elemento de la matriz de costos reducidos cubierto por dosliacuteneas (intersecciones) Por uacuteltimo se debe regresar al paso 2
Notas
1 Para resolver un problema de asignacioacuten en el cual la meta es maximizar la funcioacutenobjetivo se debe multiplicar la matriz de ganancias por menos uno (-1) y resolver elproblema como uno de minimizacioacuten
2 Si el nuacutemero de filas y de columnas en la matriz de costos son diferentes el problemade asignacioacuten estaacute desbalanceado El meacutetodo Huacutengaro puede proporcionar una solucioacutenincorrecta si el problema no estaacute balanceado debido a lo anterior se debe balancearprimero cualquier problema de asignacioacuten (antildeadiendo filas o columnas ficticias) antes deresolverlo mediante el meacutetodo Huacutengaro
3 En un problema grande puede resultar difiacutecil obtener el miacutenimo nuacutemero de filasnecesarias para cubrir todos los ceros en la matriz de costos actual Se puede demostrarque si se necesitan j liacuteneas para cubrir todos los ceros entonces se pueden asignarsolamente j trabajos a un costo cero en la matriz actual esto explica porqueacute terminacuando se necesitan m liacuteneas
Capiacutetulo 2 Marco teoacuterico
Tambieacuten han aparecido meacutetodos no convencionales que atacan el problema desdediferentes aacutengulos Los maacutes usuales son
Algoritmos Geneacuteticos Redes Neuronales Recocido Simulado Buacutesquedas Tabuacute Sistemas Expertos Programacioacuten Loacutegica de Restricciones Grafos Coloreados Operadores Recombinatorios Especializados
2122 Algoritmos Geneacuteticos
Los Algoritmos Geneacuteticos han sido utilizados satisfactoriamente para planear exaacutemenesy cursos en cierto nuacutemero de casos [Corne 1993] utiliza una buena aproximacioacutentradicional donde cada gene representa la hora en la cual se presentaraacute un examen ocurso Con operadores de cruzamiento y mutacioacuten como los mencionadosanteriormente agrega sustanciosos ahorros de tiempo al meacutetodo de Corne [Paechter1994] da una aproximacioacuten diferente donde el gene de cada examen no solo especificaldquoel cuandordquo sino que tambieacuten busca un nuevo horario del examen si despueacutes delcruzamiento el curso esta causando un conflicto Si el examen no puede ser programadoen alguna hora entonces no se agrega a la planeacioacuten con la finalidad de no tenerhorarios infactibles
[Burke1994] incorpora dominios de conocimiento especiacutefico para asegurar que ningunade las soluciones candidato es no factible En particular una representacioacuten directa seutilizada que incluye no soacutelo el cuaacutendo sino tambieacuten el doacutende un curso o examendeberaacuten ser tomados permitiendo al programador de horarios detener la ejecucioacuten delalgoritmo en cualquier punto y tener ya una serie de soluciones de buenos horariosfactibles
2123 Programacioacuten Loacutegica de Restricciones
Varios autores han presentado teacutecnicas de Programacioacuten Loacutegica de Restricciones pararesolver problemas de asignacioacuten de horarios pero eacuteste sigue siendo un nuevo enfoqueTambieacuten han aparecido algunos usando PLR para la planeacioacuten de clase-maestro[Yoshikawa 1994]
Kang y White presentaron una buena aproximacioacuten estaacutendar de PLR programandocursos sin permitir ningun conflicto [Kang y White 1994] Ellos usaron una teacutecnica dereversa equivalente al backtracking con lo cual cuando un curso no puede ser
Capiacutetulo 2 Marco teoacuterico
asignado uno similar es desasignado y el nuevo es colocado en su lugar Esto previeneuna buacutesqueda exhaustiva completa Esto tambieacuten introduce el concepto de undelimitador de tamantildeo que establece un maacuteximo en el tamantildeo del aula que puede usarun curso en particular Las restricciones son priorizadas en cinco diferentes categoriacuteasdonde la categoriacutea cinco debe ser liberada antes que la categoriacutea cuatro y asiacute con lasdemaacutes Este procedimiento fue utilizado para programar exitosamente los cursos de laUniversidad de Otawa
Tambieacuten se ha utilizado la teacutecnica de la Programacioacuten Loacutegica de Restricciones parahacer los horarios de una facultad utilizando una regla heuriacutestica para seleccionar quecurso asignar primero [Fahrion y Dollanski 1992]
2124 Redes Neuronales
De las distintas categoriacuteas de las Redes Neuronales Artificiales la maacutes apropiada pararesolver el problema es la familia de las Redes Neuronales de reaccioacuten basadas enneuronas multiestado con ecuaciones de teoriacutea de campos con significado controlandolas dinaacutemicas Las ecuaciones anteriores son usadas en lugar de los procedimientospara actualizacioacuten de demanda estocaacutesticos que han sido usados por otros esquemas paraevitar quedar atorados en circuitos locales miacutenimos [Carrasco 2004]
2125 Recocido Simulado
Recocido Simulado se refiere al uso de una teacutecnica de optimizacioacuten combinatoria odiscreta Divide el problema en grupos del mismo tiempo de clase los cuales sonespecificados por cada departamento acadeacutemico basados en la habilidad de losinstructores Funciona asiacute
1 El proceso asigna aulas procesando un grupo a la vez empezando con el primero2 El proceso continuacutea hasta que todos los grupos son procesados3 Cuando una solucioacuten es obtenida dividiendo el problema en conjuntos de horario
una mutacioacuten especial es generada con grupos traslapados Esto podriacutea generar unamala asignacioacuten de aula para minimizar esto se utiliza el siguiente paso
4 Los grupos son procesados basados en el nuacutemero de aulas este nuacutemero de aulas esoptimizado y se termina con las horas de clase con el miacutenimo de paquetes a esa hora
5 La implementacioacuten del programa genera una base de datos con la nueva asignacioacutende salones para el proacuteximo semestre [Abramson 1991]
2126 Operadores Recombinatorios Especializados
Los operadores de cruzamiento de los Algoritmos Geneacuteticos producen buenas
Capiacutetulo 2 Marco teoacuterico
combinaciones de genes para ser pasados entre los diferentes miembros de unapoblacioacuten En los Algoritmos Geneacuteticos estaacutendar es un procedimiento similar a escogerlos primeros n genes del primer padre y los uacuteltimos del segundo padre esteprocedimiento no es uacutetil en situaciones donde existen fuertes restricciones sobre laforma de los miembros de la poblacioacuten aquiacute un operador violaraacute esos requerimientosEl operador de recombinacioacuten heuriacutestico hiacutebrido trabaja asiacute
1 Los grupos no programados del periodo anterior son pasados al algoritmo2 Primero selecciona aquellos grupos programados en el periodo i en los padres 1 y 23 Los grupos extra son seleccionados de aquellos programados en el periodo i ya sea
del padre 1 o del padre 2 o de los dejados del periodo i ndash 14 Cualquiera de los grupos no programados es pasado al periodo i+15 Soacutelo los grupos que no crean conflicto con aquellos ya programados para este
periodo pueden ser seleccionados [Wilke 2002]
2127 El Sistema Experto Basado en Reglas
Los Sistemas Basados en Reglas proporcionan un buen punto de referencia para saberque tan buenos son otros meacutetodos en comparacioacuten a esta teacutecnica estaacutendar Varias deestas reglas son usadas para proporcionar sensibles elecciones para los movimientos enel algoritmo de Recocido Simulado en lugar de seleccionar cambios de manera aleatoriase ha usado este sistema como un preprocesador para generar una buena aproximacioacuteninicial y darla al Recocido Simulado
El Sistema Experto Basado en Reglas consiste en un nuacutemero de reglas (o heuriacutesticas) yrecursioacuten convencional para ayudar en la generacioacuten de asignacioacuten de clases Lasestructuras de datos o componentes del sistema son
bull Una matriz de distancias entre los departamentos acadeacutemicos y los edificios queseraacuten utilizados
bull Estructura de los datos de las materias para cada grupo programado en el campobull Estructura para las aulas (independientemente del tipo de aula) involucradas en el
procesobull Horarios para cada periodo de tiempo guardando cuales estaacuten disponibles y
cuales ya fueron ocupadasbull La estructura de los departamentosbull Las preferencias de los estudiantes indicando las clases requeridas
independientemente del semestre que sean las materias [Gervaacutes 1999]
Capiacutetulo 2 Marco teoacuterico
213 Observaciones realizadas a algunos paquetes generadores de horarios
Nombre DeMIStDescripcioacuten Puede describirse como un paquete que realiza bien las operaciones decasa (la propia universidad que lo creoacute) pero salioacute tan costoso como si hubierancomprado un paquete [Demist 2000]Proveedor DeMISt University
KnowTISEs un proyecto iniciado por la universidad de Leeds En la literatura aparece como unpaquete que es mejor para la generacioacuten de Grandes Horarios para una universidad quepara un departamento Utiliza el beneficio de gran cantidad de informacioacutencentralizada para la optimizacioacuten de recursos [Schedul 2000]Leeds University
STARSSTARS(Space Time and Resources Management) Igual que el anterior corre mejor enla elaboracioacuten de horarios de buen tamantildeo que en una aplicacioacuten departamentalDe Montfort University
Meeting maker Office TalkEs un generador de clases y acciones diarias es bueno cuando no es uacutetil el horario delos alumnos ya que proporciona uacutenicamente los espacios para las clases [Gervaacutes 1999]Varios proveedores
GP-UNTISEs un paquete australiano que funciona perfectamente para los requerimientos de lasescuelas secundariasTimetabling Services UK
Syllabus PlusEs una buena opcioacuten para uso departamental cumple los requerimientos de unauniversidad para la generacioacuten de horarios no trabaja a nivel de estudiantes pero si lohace con grupos de ellos no es factible para la generacioacuten de Grandes HorariosScientia LTD
Facility TimetablerEs una buena opcioacuten para uso departamental y para Grandes Horarios tiene interfaz conlos sistemas de alumnos y permite la creacioacuten de horarios individuales permite el uso
Capiacutetulo 2 Marco teoacuterico
centralizado de las aulas para una buena optimizacioacutenFacility Systems
Mimosa for WindowsEs un software general de planificacioacuten de la ensentildeanza y de programacioacuten de horariosLa aplicacioacuten utiliza todas las propiedades de Windows eficientemente es raacutepida tienegran capacidad y lo mas importante es tan flexible que puede aplicarse en todo el tipode escuelas desde la escuela primaria a las universidades desde las escuelasvocacionales a las academias militares
Se podriacutea decir que este producto cubririacutea todas las necesidades de la institucioacuten perohan existido algunos inconvenientes ya que no cubre con las necesidades deldepartamento tan solo da ayuda al usuario para que pueda generar sus horarios ademaacutesel tener tantos botones en pantalla (200) podriacutean confundir al usuario y realizar horarioserroacuteneos y no se resolveriacutea el problema [Nielsoft 2000]Mimosa Software Oy Finlandia
GestHor BSPEs un producto informaacutetico para resolver problemas de horarios escolares en escuelasbaacutesicas escuelas secundarias y escuelas profesionales
Toacutemese en cuenta que la mayoriacutea de los sistemas mencionados se enfoca solo a laasignacioacuten aula ndash materia y no abarca lo que es asignacioacuten materia ndash profesor
22 Los horarios
Existe mucha literatura referente a los horarios con una gran variedad de subtiacutetulos ydiferentes problemas Una gran variedad de algoritmos han sido propuestos empleandometodologiacuteas y heuriacutesticas de buacutesqueda produciendo horarios completos o soacuteloayudando durante el proceso Una de las grandes preguntas para la elaboracioacuten dehorarios es que si eacutestos pueden ser generales es decir iquestse puede encontrar un algoritmoo meacutetodo suficientemente general que produzca buenos horarios para todos losproblemas y para todas las restricciones La alternativa desde luego es continuardesarrollando algoritmos especializados aislados cada vez que un problema de horariosaparece
Al trabajar con una solucioacuten para el problema de los horarios se deben contestar lassiguientes preguntas iquestTodas las escuelas de nivel superior elaboran los horarios de lamisma manera iquestSon grandes o pequentildeas las diferencias en la forma de elaborar loshorarios iquestQueacute tan necesaria es la ayuda de la computadora iquestSoacutelo se requiere unpaquete general para la elaboracioacuten de los horarios iquestQueacute funcionalidad debe tener
Capiacutetulo 2 Marco teoacuterico
dicho paquete iquestQueacute tan grande y complejo es el problema de elaboracioacuten de horariosiquestQueacute propiedades debe poseer un horario aceptable para que una institucioacuten lo use
Se han realizado algunas encuestas para conocer si las escuelas de nivel superior tienensistemas computarizados para la elaboracioacuten de horarios si no los tienen si lonecesitaban y queacute caracteriacutesticas deberiacutea poseer El estudio concluyoacute que existe una grandemanda para tal sistema que se requiere un alto grado de asistencia automatizada yque la mayoriacutea de los elaboradores de horarios no estaban muy contentos con sussistemas actuales [Comm y Mathaisel 1988]
[Dowsland y Lim 1982] consideraron el problema de la elaboracioacuten de horarios peroproporcionaron alternativas en la encuesta de la utilidad de sistemas automatizados[Junginger 1986] establece que ldquoAunque los horarios producidos requierenmodificacioacuten las escuelas estaacuten contentas con los resultados El tiempo ahorrado fueconsiderable arriba del 75rdquo Dowsland por otro lado concluye que ldquoEs muy difiacuteciljuzgar el eacutexito actual de los paquetes para la elaboracioacuten de horarios pero el uso muylimitado de ellos sugiere que sus ventajas son limitadasrdquo Claramente ninguacuten disentildeadorde sistemas puede garantizar la idea de que su producto seraacute bienvenido con los brazosabiertos
[Pendlebury 1986] encuestoacute a las universidades politeacutecnicas britaacutenicas con respecto ala elaboracioacuten de horarios de cursos Doce de las treinta que contestaron la encuestautilizan elaboracioacuten de horarios por computadora (siete a gran escala y cuatro lo hacenen pequentildea escala) Es interesante notar que Pendlebury encontroacute que la mayoriacutea de loscursos se basan en clases que son muy independientes unas de otras y en la mayoriacutea delas instituciones encuestadas los departamentos individuales son responsables deproducir sus propios horarios
221 El problema de la elaboracioacuten de horarios
La elaboracioacuten de horarios es el acto de programar cursos a periacuteodos de tiempo asignarun aula a esos cursos y asignar un catedraacutetico a dicho curso
A menudo se hacen afirmaciones acerca de la naturaleza del problema que puedenpermitir encontrar una solucioacuten maacutes eficientemente Sin embargo cuando se trata deconstruir un sistema general se estaacute limitado a que las afirmaciones son el miacutenimocomuacuten denominador de todos los posibles escenarios
Una informacioacuten impliacutecita que ha sido hecha a menudo es la independencia entreunidades acadeacutemicas separadas Algunas universidades programan preguntando a susdepartamentos los horarios de sus propios cursos Una unioacuten central de dichos horarioses entonces utilizada para asegurar que todas las restricciones relevantes son cumplidasEn muchos casos esta es la forma normal en que es producido el horario de los cursos
Capiacutetulo 2 Marco teoacuterico
aunque algunos departamentos desarrollan su propio software para la programacioacuten decursos
En varias universidades los alumnos pueden tomar algunos de sus cursos endepartamentos diferentes al suyo Obviamente la independencia no debe ser asumidageneralmente debido a que puede haber diferencia en la programacioacuten de los cursos decada departamento En el Tecnoloacutegico de Zacatepec por ejemplo la probabilidadpromedio de que un curso tenga conflicto con uno de otro departamento es 1650mientras que la probabilidad de que dos cursos del mismo departamento tengan conflictoes 2250 notaacutendose una gran diferencia en el resultado
Dificultades encontradas por los responsables de la generacioacuten de horarios
Algunas dificultades experimentadas por los departamentos y facultades sonmencionadas aquiacute
bull Los programas acadeacutemicos se hacen cada vez maacutes flexibles (los estudiantesseleccionan queacute asignaturas tomar cuaacutendo doacutende y con quieacuten)
bull Algunos departamentos tienen asignaturas para ofrecer pero no tienen muchosalumnos
bull Los espacios para ofrecer las materias son cada vez menos y el problema se agravacuando los alumnos no quieren asistir en las tardes o los saacutebados
bull El staff de profesores no siempre estaacute disponible para impartir clases por muacuteltiplesrazones
bull Los alumnos pueden solicitar los grupos del proacuteximo semestre desde antes de queinicie pero al llegar el momento de inscribirse no lo hacen
bull Los departamentos estaacuten ansiosos por ofrecer una gran variedad de grupos teniendolos recursos pero esto puede ocasionar problemas
bull Existe una gran variedad de reglas al momento de asignar las aulas (pertenencia alas carreras prioridades de profesores etc)
bull Como no hay un costo asociado a la utilizacioacuten de un aula y no hay sanciones porreservarla y no utilizarla los departamentos acadeacutemicos no tienen un buen motivopara hacer una correcta utilizacioacuten del espacio
bull La falta de recursos ocasiona el mayor de los problemas porque obliga a laoptimizacioacuten en la planeacioacuten
Cursos y estudiantes
El problema de la elaboracioacuten de horarios estaacute relacionado esencialmente con el nuacutemerode eventos que requieren ser programados en este caso los cursos para los estudiantesClaramente el tamantildeo del problema variacutea entre los diferentes centros de estudio desdepequentildeos problemas con alrededor de 50 a 100 cursos hasta los 500 o 1000 cursos que
Capiacutetulo 2 Marco teoacuterico
programar Esta variacioacuten en el tamantildeo afectaraacute el tiempo requerido para resolver elproblema Un problema pequentildeo puede ser resuelto casi de manera oacuteptima mientrasque en uno grande se deben usar buacutesquedas heuriacutesticas u otras formas de acotar elespacio de buacutesqueda de una solucioacuten en un periodo de tiempo razonable
Se debe esperar que el nuacutemero de cursos y el nuacutemero de alumnos esteacuten correlacionadosEl nuacutemero de cursos ofrecidos y desde luego programados debe ser calculado porextrapolacioacuten del promedio de 5 o 6 cursos por alumno y con cupo promedio de 30alumnos por curso obviamente algunos alumnos se inscribiraacuten en 7 u 8 cursos porsemestre mientras que los cursos tendraacuten inscritos entre 20 y 40 alumnos Losalumnos dependiendo del semestre en que se encuentran inscritos deben matricularse aciertos cursos especiacuteficos para ese semestre dichos cursos deben programarse de maneraque los alumnos tengan la menor cantidad de tiempo entre el primer y el uacuteltimo cursodel diacutea permitieacutendoles con esto realizar actividades complementarias
En el Tecnoloacutegico de Zacatepec para una carrera con 900 alumnos se requieren ofertaraproximadamente entre 140 y 160 cursos ademaacutes los estudiantes pueden matricularse encursos ofrecidos por otros departamentos (esto ampliacutea el rango de posibilidades para losalumnos)
Los cursos y los departamentos
El promedio de los cursos ofrecidos por cada departamento variacutea considerablementeentre las diferentes escuelas de nivel superior La razoacuten de esta variabilidad puede servista como un indicador de la naturaleza de la complejidad de la planeacioacuten de horarios
Cada departamento ofrece cursos a los estudiantes de las carreras a las que da soportedirecto pero ademaacutes debe ofrecer cursos para todas las otras carreras de la institucioacutenque lo requieran esto es si un departamento X solicita la apertura de determinadonuacutemero de cursos a un departamento Y el departamento Y debe ofertar los cursossolicitados por X para los alumnos matriculados en el departamento X aunado a estoalgunos cursos ofertados por el departamento Y tienen compatibilidad con cursosofrecidos por X y por lo tanto los estudiantes de Y y X pueden ingresar indistintamenteen cualquiera de los cursos
Los cursos los semestres y las horas
Una de las afirmaciones que se pueden hacer en las instituciones de nivel superior es quelos cursos generalmente inician durante cierto periodo de tiempo y pueden tenerduracioacuten semestral (la gran mayoriacutea) trimestral y sin fechas predeterminadas (algunosposgrados por ejemplo) En general los cursos empiezan a las 700 AM y terminandependiendo del lugar a las 2000 o a las 2100 horas de lunes a saacutebado Aunque estopermite tener un amplio margen de horas para programar los cursos esto hace tambieacuten
Capiacutetulo 2 Marco teoacuterico
aun maacutes difiacutecil la elaboracioacuten de los horarios porque aumenta el rango de posiblescombinaciones donde programar cursos
Los cursos se pueden programar en periodos de tiempo muy variados aunque la mayoriacuteade los programadores de horarios siguen los siguientes patrones
bull Curso diario de 1 horabull Curso de dos horas en diacuteas saltados (lunes y mieacutercoles jueves y viernes
mieacutercoles y viernes)bull Curso de dos horas diarias 3 diacuteas por semana (lunes mieacutercoles y viernes)
(lunes martes y jueves) o (martes jueves y viernes)bull Cursos de cuatro horas en un solo diacutea por semanabull En el peor de los casos se programan cursos con la combinacioacuten de algunos
de los anteriores
Dependiendo del curso algunos tienen duracioacuten de cuatro horas teoacutericas semanales otroscombinan cuatro horas de teoriacutea y dos de praacutectica y algunos excepcionalmente sonprogramados con cuatro horas de praacutectica y dos de teoriacutea Las horas de praacutecticageneralmente se realizan en laboratorios o praacutecticas de campo agregando esto un nuevoparaacutemetro para la complejidad de la elaboracioacuten de horarios
Los cursos y las aulas
Las aulas son el espacio fiacutesico donde se impartiraacuten los cursos pueden ser salones declase laboratorios salones de exposicioacuten aulas para aplicacioacuten de exaacutemenes aulas paraactividades deportivas musicales o recreativas cada aula tiene capacidad para quecierto nuacutemero definido de estudiantes reciba sin problema unidades de ensentildeanzaaprendizaje
En una encuesta realizada por la Universidad de Nottingham [Burke y Elliman 1998] sedefinioacute que la programacioacuten de los cursos en las aulas es uno de los mayores problemasa los que se enfrentan los responsables de la elaboracioacuten de horarios Esto proviene dedos problemas mayores El primer problema es la escasez de aulas disponibles ya queen algunas de las escuelas de nivel superior el crecimiento de la poblacioacuten estudiantil hasido mayor que el crecimiento del nuacutemero de aulas disponibles para la ensentildeanza Elsegundo problema ocurre cuando se programa un curso en mas de un aula o saloacuten declase
La ocupacioacuten de las aulas es variable de acuerdo al departamento para el que seaasignada algunos prefieren utilizarlas al maacuteximo en el turno matutino otros en el turnovespertino tienen ocupacioacuten total algunos las utilizan exhaustivamente de lunes ajueves unos departamentos las llenan los viernes y saacutebados y otros tienen que utilizarlastodo el diacutea de lunes a saacutebado inclusive solicitan prestadas a los otros departamentosaquellos espacios que no son utilizados en alguacuten diacutea y hora a la semana
Capiacutetulo 2 Marco teoacuterico
Para el Tecnoloacutegico de Zacatepec el recurso llamado las aulas debe ser optimizado enuna buena planeacioacuten de horarios esto es deben ser utilizadas al maacuteximo todos los diacuteasde la semana desde las 700 hasta las 2100 de lunes viernes y los saacutebados hasta las1500 horas
Tipos de cursos
Una de las cosas a tomarse en cuenta durante la elaboracioacuten de los horarios es el tipo decurso a programar
bull Teoacutericos como los cursos matemaacuteticos cursos de administracioacuten etcbull Teoacuterico praacutecticos como los cursos de electroacutenica sistemas digitalesbull Lenguajes de programacioacutenbull Con praacutecticas de campo que deben salir al aire librebull Con praacutecticas de quiacutemica
Otra consideracioacuten es el tipo de aula requerida por los diferentes tipos de cursos
bull cursos que requieren medios audiovisuales simples (pizarroacuten y gis)bull algunos cursos adicionalmente requieren proyectores de acetatos y salas
obscurecidasbull cursos que requieren equipo de coacutemputo equipo de proyeccioacuten equipo de video y
televisioacuten para el desarrollo de la caacutetedra etcbull cursos que requieren laboratorios con computadorasbull que requieren equipos de medicioacuten electroacutenica generadores de sentildeales enchufes
eleacutectricos ybull cursos que requieren mesas tomas eleacutectricas y equipos para conexioacuten de redes
Los cursos y los catedraacuteticos
Definitivamente eacutesta es una de las principales consideraciones que tienen en cuenta losprogramadores de horarios la asignacioacuten de los cursos a los catedraacuteticos porque es unproceso que no puede realizarse de manera aleatoria es un proceso delicado porque deesto depende la efectividad del proceso de ensentildeanzandashaprendizaje
Los catedraacuteticos tienen caracteriacutesticas individuales que los hacen uacutenicosindependientemente de la profesioacuten que hayan estudiado Tienen intereses diferentesmeacutetodos diferentes aacutereas de preferencia diferentes perfil profesiograacutefico distinto tienenactividades extralaborales variadas asiacute que
iquestCoacutemo asignarle un curso a un catedraacutetico para que logre un oacuteptimo resultado en el
Capiacutetulo 2 Marco teoacuterico
proceso de ensentildeanza-aprendizajeiquestCoacutemo garantizar que el curso asignado a un profesor seraacute bien impartidoiquestCoacutemo saber que el profesor estaacute capacitado para ofrecer un buen cursoiquestCuaacuteles son los requisitos que debe reunir un profesor para impartir cierto cursoiquestDependen soacutelo de la profesioacuten los cursos que puede impartiriquestCoacutemo conocer de antemano las preferencias de los profesoresiquestEl nivel de estudio de los profesores les capacita para impartir cualquier cursoiquestDeben los profesores ser guiados a una especialidad por los programadores dehorarios
Las respuestas a todas estas preguntas incorporadas en un sistema generador de horariosiquestpermitiraacuten hacer una buena asignacioacuten de catedraacutetico a un curso
El condensado de horarios
Es un documento emitido cada semestre por los responsables de la elaboracioacuten de loshorarios que contiene la informacioacuten requerida por los alumnos jefes de departamento ycatedraacuteticos para conocer la distribucioacuten de las materias los grupos las aulas las horasy los catedraacuteticos que impartiraacuten los cursos en otras palabras el condensado de materiases el documento final de los HORARIOS que marcaraacute las acciones de todos el semestreactual
23 El proceso de la elaboracioacuten de horarios
El proceso de la elaboracioacuten de horarios abarca cada accioacuten que es requerida para crearel horario final completo y correcto de los datos iniciales Esto incluye recibir validary dar formato a los datos generar la versioacuten inicial hacer las correcciones y luegoproducir el condensado final de horarios El proceso de la generacioacuten de horariosabarca
bull la generacioacuten del dato de cuantos cursos se van a ofertarbull asignacioacuten de horario a esos cursosbull proporcionar aulas a los cursosbull designar profesores para los cursos definidos
la parte difiacutecil de esto es generar los horarios con los recursos disponibles en cadadepartamento cada etapa tiene sus restricciones (fuertes y suaves) los recursos no soninagotablesEl uso de la computadora
En una encuesta realizada por la Universidad de Nottingham [Burke y Elliman 1998]referente a la forma de elaborar horarios en las demaacutes universidades se encontroacute que un
Capiacutetulo 2 Marco teoacuterico
58 de ellas utilizan la computadora en alguna etapa del proceso de eacutestas el 21 tienela facilidad de realizar la programacioacuten aunque generalmente requieren captura manualde informacioacuten y conocimientos previos del problema particular del proceso El 1tienen paquetes comerciales y el 14 tienen paquetes hechos en casa para generarhorarios y el 2 aseguran que estaacuten desarrollando o comprando un paquete
Dado el tamantildeo de los horarios de dichas universidades es sorprendente que muchas notengan alguna forma de automatizacioacuten Esto se debe en la mayoriacutea de los casos a quelos horarios no cambian significativamente de un antildeo a otro Sin embargo de lasuniversidades que no programan horarios por computadora la mitad usa el horario delantildeo pasado y la otra mitad empiezan desde cero cada vez Cuando no se usa el horariodel antildeo pasado generalmente toma 4 semanas elaborar uno nuevo En la mayoriacutea de loscasos donde se usa la computadora generalmente no se toma en cuenta el horario delantildeo anterior
Causas de cambio de los horarios antildeo tras antildeo
Para que un horario pueda ser usado antildeo tras antildeo debe ser lo suficientemente robustopara que los cambios que ocurran en los datos de entrada produzcan soacutelo una pequentildeaalteracioacuten o modificacioacuten en el condensado final de horarios El uso del condensado delantildeo pasado depende en la cantidad de cambios que deben hacerse y esto a su vezdepende de cuanto cambie la cantidad de grupos que deben ofertarse para cadaasignatura y esto depende de la cantidad de alumnos que pueden cursar una asignaturaahora bien la cantidad de alumnos estaacute en funcioacuten de los iacutendices de aprobacioacuten yreprobacioacuten del periodo de los alumnos que por alguna razoacuten no cursaron unaasignatura y de la cantidad de grupos ofertados el periodo pasado
Si cambia la cantidad de horas frente a grupo asignada a un departamento entoncescambiaraacute el condensado de horarios con respecto al del antildeo pasado porque eso afectadirectamente en la cantidad de cursos que podraacute ofertarse este periodo este es uno de losrecursos maacutes variables que influyen para hacer cambios en los condensados antildeo trasantildeo
La redistribucioacuten de aulas y laboratorios (que no se realiza a menudo) llega tambieacuten ainfluir en los cambios
El cambio de horario matutino a vespertino (o viceversa) solicitado por un catedraacuteticoque es el especialista en impartir cierto curso ocasiona los cambios del condensado dehorarios del antildeo anterior al nuevo
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
CAPIacuteTULO 3
TEacuteCNICAS DE INTELIGENCIA ARTIFICIAL UTILIZADASPARA LA GENERACIOacuteN DE HORARIOS
31 Sistemas Expertos (SE)Bajo el teacutermino de Sistemas Expertos se entiende un nuevo tipo de software que imita elcomportamiento de un experto humano en la solucioacuten de un problema Un SE puedealmacenar conocimientos de expertos para un campo determinado y solucionar unproblema mediante razonamiento loacutegico de conclusiones
Los Sistemas Expertos son sistemas que buscan modelar el conocimiento yprocedimientos usados por un experto humano para resolver un problemadeterminado[Saacutenchez 1999]
iquestUn Sistema Experto utiliza teacutecnicas de la Inteligencia Artificial (IA)
Los Sistemas Expertos son uno de los puntos que componen las investigaciones en elcampo de la IA Un sistema de computadoras que trabaje con teacutecnicas de IA deberaacuteestar en situacioacuten de combinar informacioacuten de forma ldquointeligenterdquo alcanzarconclusiones y justificarlas (al igual que el resultado final) Los Sistemas Expertos sonuna expresioacuten de los sistemas basados en el conocimiento Con la aplicacioacuten de teacutecnicasde Inteligencia Artificial finaliza la transicioacuten del procesamiento de datos alprocesamiento de conocimientos
Un Sistema Experto es un sistema informaacutetico que simula el proceso de aprendizaje dememorizacioacuten de razonamiento de comunicacioacuten y de accioacuten de un experto humano enuna determinada rama o dominio Estas caracteriacutesticas le permiten almacenar datos yconocimiento sacar conclusiones loacutegicas tomar decisiones aprender de la experiencia ylos datos existentes comunicarse con humanos explicar el porqueacute de las decisionestomadas y realizar acciones como consecuencia de todo lo anterior
La incorporacioacuten dentro de un sistema de computadoras de un componente basado enel conocimiento correspondiente a una habilidad experta de tal forma que el sistemapueda ofrecer asesoramiento inteligente o tomar una decisioacuten inteligente sobre unafuncioacuten del proceso Una caracteriacutestica adicional deseable que muchos consideranfundamental es la capacidad del sistema si se le solicita de justificar su propia liacutenea derazonamiento de un modo directamente inteligible para el interrogador El estiloadoptado para alcanzar estas caracteriacutesticas es la programacioacuten basada en reglas[Waterman 1986]
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
311 Funcioacuten de un Sistema Experto
La funcioacuten de un Sistema Experto es aportar soluciones a problemas de un dominioespeciacutefico imitando la forma de razonamiento de los seres humanos es decir el SistemaExperto debe ser capaz de mostrar soluciones inteligentes [Giarratamo 1998]
Acceder a los conocimientos adquiridos por experiencia es lo maacutes difiacutecil ya que losexpertos al igual que otras personas apenas los reconocen como tales Son buscadoscon mucho esfuerzo y cuidado siendo descubiertos de uno en uno poco a poco
Ventajas del Sistema Experto
Experto Humano Experto ArtificialMortal PermanenteDifiacutecil de documentar Faacutecil de documentarDifiacutecil de transferir Faacutecil de transferirImpredecible ConsistenteMaacutes caro Menos caro
Ventajas del Experto Humano
Experto Humano Experto ArtificialCreativo No creativoAdaptable Requiere mantenimientoExperiencia sensorial Entrada simboacutelicaConocimiento de sentido comuacuten Conocimiento teacutecnico
312 Arquitectura de Sistemas Expertos [Gines 1986] [Giarratamo 1998]
La arquitectura general de un SE (Fig 31) estaacute compuesta fundamentalmente de
bull Base de Conocimiento Representa el conocimiento adquirido del expertohumano incluyendo experiencia sentido comuacuten e intuicioacuten
bull Motor de Inferencia Decide que se debe aplicar que se debe hacer resuelveconflictos nuevos hace uso de la base del conocimiento Proporcionamecanismos de razonamiento buacutesqueda aprendizaje etc
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
bull Interfaz Usuario Facilita la comunicacioacuten entre el Sistema Experto y el usuarioque realiza las consultas
bull Subsistema de Adquisicioacuten Mejor conocido como la Interfaz de Expertopermite ingresar el conocimiento a la Base de Conocimientos por parte delhumano experto en alguacuten dominio de conocimiento
bull Subsistema de explicaciones Permite dar a conocer los resultados obtenidospor el Sistema Experto
313 La base de conocimiento
El enfoque maacutes comuacuten para representar el dominio del conocimiento que se requierepara un SE son las reglas de produccioacuten Estas pueden ser referidas como reglasldquosituacioacuten-accioacutenrdquo o ldquoif-thenrdquo De esta forma con frecuencia una base deconocimientos estaacute fraguada principalmente de reglas las cuales son invocadas por uncasamiento de patrones con las particularidades de las tareas circunstanciales que vanapareciendo en la base de hechosLas reglas en una base de conocimientos representan el dominio de hechos y laheuriacutestica de un buen juicio de acciones a tomar cuando uno llega a situacionesespeciacuteficas La fuerza de un SE yace en el conocimiento especiacutefico del dominio delproblema Casi todos los sistemas existentes basados en reglas contienen cientos o milesde ellas y generalmente se obtienen de entrevistas con expertos durante un tiempo largoEn cualquier SE las reglas se conectan una a otra por ligas de asociacioacuten para formar
Base de
Motor de
Subsistema deadquisicioacuten
del
Subsistemade
explicacione
Interfazde
usuario
Ingeniero delconocimiento y experto Usuario
Base de hechos
Figura 31 Arquitectura de un Sistema Experto
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
redes de reglas Una vez que han sido ensambladas tales redes entonces se tiene unarepresentacioacuten de un cuerpo de conocimientos que es sustancial
Generalmente un experto tiene muchas reglas de criterio empiacutericas por lo que el soportesuele ser incompleto para la evidencia que se dispone En tales casos una teacutecnica es la devincular valores numeacutericos a cada regla para indicar el grado de certidumbre que eacutestatiene En la operacioacuten de SE los valores de certidumbre se combinan unos a otros atraveacutes de la red considerando tambieacuten la certidumbre de los datos de entrada delproblema para llegar finalmente a un valor de certidumbre de la solucioacuten final
314 El motor de inferencias
El sistema experto modela el proceso de razonamiento humano con un moacutedulo conocidocomo el motor de inferencia Dicho motor de inferencia trabaja con la informacioacutencontenida en la base de conocimientos y la base de hechos para deducir nuevos hechosContrasta los hechos particulares de la base de hechos con el conocimiento contenido enla base de conocimientos para obtener conclusiones acerca del problemaEl modelo de problema - solucioacuten y sus meacutetodos organizan y controlan las etapas que sevan tomando para la resolucioacuten de problemas Un modelo muy poderoso y comuacuten es elde encadenar las reglas `` if-then-else con el fin de formar alguna liacutenea derazonamiento Si el encadenamiento se inicia a partir de un conjunto de condiciones y semueve hacia alguna conclusioacuten el meacutetodo se llama encadenamiento hacia adelante y ensu caso contrario el encadenamiento es hacia atraacutes
Un problema de encadenamiento hacia adelante sin una apropiada heuriacutestica de podaderivaraacute muchas soluciones de las cuales no todas son necesarias En el caso deencadenamiento hacia atraacutes es necesario tambieacuten trabajar con una heuriacutestica apropiadacon la finalidad de poder manejar submetas conjuntivas En general para atacar elproblema de conjuncioacuten es necesario encontrar un caso en donde todas las submetasinteractuantes se satisfagan Pero con frecuencia una buacutesqueda de tal naturaleza nos dauna explosioacuten combinatoria de posibilidades Es por esta razoacuten que el dominioapropiado de la heuriacutestica y su esquema inferencial deberaacuten ser encontrados para cadatipo de problemas para que de esta manera se tenga un SE eficaz y eficiente
315 iquestPor queacute utilizar un Sistema Experto [Pluss 1999] [Sanchez 1999]
1 Con la ayuda de un Sistema Experto personas con poca experiencia pueden resolverproblemas que requieren un conocimiento formal especializado
2 Los Sistemas Expertos pueden obtener conclusiones y resolver problemas de formamaacutes raacutepida que los expertos humanos
3 Los Sistemas Expertos razonan pero basaacutendose en un conocimiento adquirido y notienen sitio para la subjetividad
Capiacutetulo 2 Marco teoacuterico
4 El uso de Sistemas Expertos es especialmente recomendado en las siguientessituaciones
bull Cuando los expertos humanos en una determinada materia son escasos
bull En situaciones complejas donde la subjetividad humana puede llevar aconclusiones erroacuteneas
bull Cuando es muy elevado el volumen de datos que ha de considerarse paraobtener una conclusioacuten
316 Construccioacuten de prototipos [Turban 1995]
En el desarrollo de Sistemas Expertos se plantean dos importantes riesgos
1- No existen implementaciones similares que puedan servir de orientacioacuten al encargadodel desarrollo en la casi totalidad de los casos
2- En muchos puntos los requisitos necesarios estaacuten esbozados con muy poca precisioacuten
El disentildeo y la especificacioacuten requieren una temprana determinacioacuten de la interfaz delsoftware y de la funcionalidad de los componentes En el desarrollo de SistemasExpertos deben alterarse a menudo durante y tambieacuten despueacutes de su implementacioacuten yaque los requisitos se han ido configurando y han obtenido mayor precisioacuten o porque seha descubierto que deben iniciarse otras viacuteas de solucioacuten Durante el desarrollo resultamaacutes apropiado empezar con implementaciones tipo test para encontrar el camino haciauna solucioacuten definitiva y para hacerlas coincidir con las necesidades del usuario
32 Algoritmos Geneacuteticos
321 Antecedentes [Medina 2004] [Goldberg 1989] [Davis 1991]
El Algoritmo Geneacutetico es una teacutecnica de buacutesqueda basada en la teoriacutea de la evolucioacutende Darwin que ha cobrado tremenda popularidad en todo el mundo durante los uacuteltimosantildeos
Esta teacutecnica se basa en los mecanismos de seleccioacuten que utiliza la naturaleza de acuerdoa los cuales los individuos maacutes aptos de una poblacioacuten son los que sobreviven al
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
adaptarse maacutes faacutecilmente a los cambios que se producen en su entorno Hoy en diacutea sesabe que estos cambios se efectuacutean en los genes de un individuo (unidad baacutesica decodificacioacuten de cada uno de los atributos de un ser vivo) y que sus atributos maacutesdeseables se transmiten a sus descendientes cuando eacuteste se reproduce sexualmente
En 1859 Darwin publica su libro laquoEl origen de las especiesraquo El libro causoacute una granpoleacutemica en el mundo cientiacutefico por las revolucionarias teoriacuteas en eacutel contenidas que lasespecies evolucionan acorde al medio para adaptarse a eacuteste Con ello el universopasaba de ser una creacioacuten de Dios estaacutetica y perfecta desde su inicio a un conjunto deindividuos en constante competicioacuten y evolucioacuten para poder perpetuar su especie en eltiempo La existencia de una especie pasa asiacute a ser algo dinaacutemico las especies se creanevolucionan y desaparecen si no se adaptan Para cada especie animal la naturalezaproponiacutea un crudo filtro soacutelo los mejores los maacutes aptos los que mejor se adapten almedio conseguiacutean sobrevivir lo suficiente para llegar a la madurez y encontrar unapareja para perpetuar sus aptitudes que le haciacutean maacutes apto
La informaacutetica ve aquiacute un claro proceso de optimizacioacuten Se toman los individuos mejoradaptados (mejores soluciones temporales) se cruzan (se mezclan ) generando nuevosindividuos (nuevas soluciones) que contendraacuten parte del coacutedigo geneacutetico (informacioacuten)de sus dos antecesores y por lo tanto aunque el nuevo individuo no tenga que estarforzosamente mejor adaptado de hecho puede que ni la probabilidad de que el nuevoindividuo generado esteacute mejor adaptado que los padres sea alta el promedio de laadaptacioacuten de toda la poblacioacuten si mejora ya que tienden a perpetuarse y extenderse lasmejores caracteriacutesticas y a extinguirse las poco beneficiosas o perjudiciales En losAlgoritmos Geneacuteticos se crea una nueva abstraccioacuten -la poblacioacuten- cuya funcioacuten decoste mejoraraacute globalmente por lo que puede que se encuentre alguacuten individuo conmejores caracteriacutesticas
Un investigador de la Universidad de Michigan llamado John Holland era consciente dela importancia de la seleccioacuten natural y a fines de los antildeos 60 desarrolloacute una teacutecnica quepermitioacute incorporarla a un programa Su objetivo era lograr que las computadorasaprendieran por siacute mismas A la teacutecnica que inventoacute Holland se le llamoacute originalmentePlanes Reproductivos pero se hizo popular bajo el nombre Algoritmo Geneacutetico trasla publicacioacuten de su libro en 1975
En esa universidad Holland impartiacutea un curso titulado Teoriacutea de sistemas adaptativosDentro de este curso y con una participacioacuten activa por parte de sus estudiantes fuedonde se crearon las ideas que maacutes tarde se convertiriacutean en los Algoritmos GeneacuteticosLos objetivos de su investigacioacuten fueron dos
Imitar los procesos adaptativos de los sistemas naturales y Disentildear sistemas artificiales (normalmente programas) que retengan los mecanismos
importantes de los sistemas naturales
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
Unos 15 antildeos maacutes adelante David Goldberg actual delfiacuten de los Algoritmos Geneacuteticosconocioacute a Holland y se convirtioacute en su estudiante Golberg era un ingeniero industrialtrabajando en disentildeo de tuberiacuteas y fue uno de los primeros que tratoacute de aplicar losAlgoritmos Geneacuteticos a problemas industriales Aunque Holland tratoacute de disuadirleporque pensaba que el problema era excesivamente complejo Goldberg consiguioacute loque queriacutea escribiendo un Algoritmo Geneacutetico en una computadora personal Apple IIEstas y otras aplicaciones creadas por estudiantes de Holland convirtieron a losAlgoritmos Geneacuteticos en un campo con base suficiente como para celebrar la primeraconferencia en 1985 ICGAacute85 Tal conferencia se sigue celebrando bianualmente[Beasley 1993]
Una definicioacuten bastante completa de un Algoritmo Geneacutetico es la propuesta por JohnKoza es un algoritmo matemaacutetico altamente paralelo que transforma un conjunto deobjetos matemaacuteticos individuales con respecto al tiempo usando operaciones modeladasde acuerdo al principio Darwiniano de reproduccioacuten y supervivencia del maacutes apto y trashaberse presentado de forma natural una serie de operaciones geneacuteticas de entre las quedestaca la recombinacioacuten sexual Cada uno de estos objetos matemaacuteticos suele ser unacadena de caracteres (letras o nuacutemeros) de longitud fija que se ajusta al modelo de lascadenas de cromosomas y se les asocia con una cierta funcioacuten matemaacutetica que refleja suaptitud [Koza 1992] 322 Definicioacuten de AG
Los Algoritmos Geneacuteticos (AG) son meacutetodos adaptativos que pueden usarse pararesolver problemas de buacutesqueda y optimizacioacuten Estaacuten basados en el proceso geneacutetico delos organismos vivos A lo largo de las generaciones las poblaciones evolucionan en lanaturaleza de acorde con los principios de la seleccioacuten natural y la supervivencia de losmaacutes fuertes postulados por Darwin Por imitacioacuten de este proceso los AlgoritmosGeneacuteticos son capaces de ir creando soluciones para problemas del mundo real Laevolucioacuten de dichas soluciones hacia valores oacuteptimos del problema depende en buenamedida de una adecuada codificacioacuten de las mismas [Goldberg 1989]
Un Algoritmo Geneacutetico consiste en una funcioacuten matemaacutetica que toma como entradas alos ejemplares y retorna como salidas cuaacuteles de ellos deben generar descendencia para lanueva generacioacuten
Los Algoritmos Geneacuteticos presentan ventajas sobre otros algoritmos que los hacenpreferibles para determinado tipo de aplicaciones Algunas de las caracteriacutesticas de losAlgoritmos Geneacuteticos son
bull Son algoritmos estocaacutesticos Dos ejecuciones distintas pueden dar dos solucionesdistintas Esto es uacutetil por el hecho de que hay gran cantidad de isoacutemeros que
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
corresponden a soluciones vaacutelidas por lo que es interesante que distintas ejecucionespuedan dar isoacutemeros distintos
bull Son algoritmos de buacutesqueda muacuteltiple luego dan varias soluciones Aunquehabitualmente la energiacutea de los individuos de la poblacioacuten final es similar losindividuos suelen ser distintos entre si Con el modelo de paralelizacioacuten empleado -geneacutetico multipoblacional- la probabilidad de obtener muchas soluciones distintas esmaacutes alta todaviacutea
bull Son los algoritmos que hacen una barrida mayor al subespacio de posiblessoluciones vaacutelidas De hecho se considera que de todos los algoritmos deoptimizacioacuten estocaacutesticos los Algoritmos Geneacuteticos son de los maacutes exploratoriosdisponibles
323 Ventajas y Desventajas [Bull 1993]
bull No necesitan conocimientos especiacuteficos sobre el problema que intentan resolverbull Operan de forma simultaacutenea con varias soluciones en vez de trabajar de forma
secuencial como las teacutecnicas tradicionalesbull Cuando se usan para problemas de optimizacioacuten de una funcioacuten objetivo- resultan
menos afectados por los oacuteptimos locales (falsas soluciones) que las teacutecnicastradicionales
bull Usan operadores probabiliacutesticos en vez de los tiacutepicos operadores determiniacutesticos delas otras teacutecnicas
bull La mayoriacutea de las otras teacutecnicas de optimizacioacuten son tambieacuten estocaacutesticasbull Pueden tardar mucho en converger o no converger en absoluto dependiendo en
cierta medida de los paraacutemetros que se utilicen tamantildeo de la poblacioacuten nuacutemero degeneraciones etc-
bull Pueden converger prematuramente debido a una serie de problemas de diversaiacutendole
324 iquestCoacutemo saber si es posible usar un Algoritmo Geneacutetico
La aplicacioacuten maacutes comuacuten de los Algoritmos Geneacuteticos ha sido la solucioacuten de problemasde optimizacioacuten en donde han mostrado ser muy eficientes y confiables Sin embargono todos los problemas pudieran ser apropiados para la teacutecnica y se recomienda engeneral tomar en cuenta las siguientes caracteriacutesticas del mismo antes de intentar usarlabull Su espacio de buacutesqueda (ie sus posibles soluciones) debe estar delimitado dentro
de un cierto rangobull Debe poderse definir una funcioacuten de aptitud que indique que tan buena o mala es
una cierta respuestabull Las soluciones deben codificarse de una forma que resulte relativamente faacutecil de
implementar en la computadora
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
Decisiones para implementar un Algoritmo Geneacutetico [Michalewicz 1992]
Las decisiones que hay que tomar para implementar un Algoritmo Geneacutetico son
bull Criterio de codificacioacuten Coacutemo se va a almacenar la informacioacuten en el genomabull Criterio de tratamiento de individuos no factibles Coacutemo se van a tratar a los
individuos que no cumplan las restriccionesbull Criterio de inicializacioacuten Coacutemo se va a construir la poblacioacuten inicialbull Criterio de parada Determina cuaacutendo el algoritmo ha llegado a una solucioacuten
aceptablebull Funcioacuten de adaptacioacuten Corresponde a la funcioacuten de costo de la investigacioacuten
operativa tradicionalbull Operadores geneacuteticos Se emplean para determinar coacutemo va a ser la nueva
generacioacuten Baacutesicamente son los operadores de cruce y mutacioacuten aunque pueden serempleados otros adicionales -muerte aborto envejecimiento- Tanto cruce comomutacioacuten pueden ser realizados de muchas formas distintas
bull Criterios de reemplazo Los criterios que determinan quieacutenes se van a cruzar Notienen que ser obligatoriamente los mismos que los criterios de seleccioacuten de lospadres
bull Paraacutemetros de funcionamiento Determinados paraacutemetros que sin poder serenglobados en ninguno de los anteriores son fundamentales para el funcionamientode un Algoritmo Geneacutetico Es el caso por ejemplo del tamantildeo de la poblacioacuten laprobabilidad de la aplicacioacuten de los operadores geneacuteticos etc
325 Paraacutemetros que deben ser especificados en el programa
Nordm de generaciones cantidad de veces que se produce una nueva generacioacuten deindividuos utilizando las reglas anteriormente explicadas Por loacutegica cuantas maacutesgeneraciones se produzcan se obtendraacuten mejores individuosNordm de individuos por generacioacuten en este ejemplo la cantidad de individuos de unageneracioacuten a otra es constante no variacuteaNordm de entrenamientos cantidad de veces que se lleva a cabo un entrenamiento entrediferentes generaciones de individuos
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
Fig 32 Pseudocoacutedigo del Algoritmo Geneacutetico simple
Los Algoritmos Geneacuteticos son una poderosa herramienta de propoacutesito general deoptimizacioacuten que modela los principios de la evolucioacuten [Burke 1994]
El proceso es el siguiente
1 Una poblacioacuten random de horarios factibles es creada Cada horario es evaluado deacuerdo a una conjunto de criterios (por ejemplo el tamantildeo del horario cuantosgrupos son colocados a la misma hora y en el mismo saloacuten cuantos salones hayvaciacuteos)
2 Los horarios son seleccionados de manera aleatoria para ser las bases de la proacuteximageneracioacuten Los buenos horarios son maacutes deseables que los malos En las bases dela evaluacioacuten de estos miembros de la poblacioacuten (horarios factibles) se escogen lospadres de la proacutexima generacioacuten de horarios Evaluando numeacutericamente durante elproceso de seleccioacuten buscando los mejores horarios los peores horarios soneliminados al mismo tiempo que la buacutesqueda se dirige hacia las aacutereas maacutespromisorias del espacio de soluciones
3 El Operador Mutacioacuten se aplica generalmente a un solo miembro de la poblacioacuten einvolucra el cambio aleatorio de la hora o aula de algunos grupos despueacutesalmacena el nuevo horario siempre manteniendo un horario factible Esto agrega
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
un elemento que permite tambieacuten introducir material geneacutetico uacutetil que ha sidoperdido en otros horarios en las primeras generaciones
4 El Operador de Cruzamiento toma una pareja de horarios y los combina de algunamanera para producir uno o dos nuevos horarios esto se hace generalmente deforma aleatoria seleccionando algunos grupos de la mantildeana de un miembro de lapoblacioacuten y los algunos grupos de la tarde de otro miembro para producir un nuevohorario cualquier grupo que no pueda ser colocado de esta manera se manda alperiodo siguiente disponible
5 La nueva poblacioacuten es generada El proceso seraacute repetido hasta que una buenasolucioacuten sea generada
33 Programacioacuten Loacutegica de Restricciones (PLR)
331 Antecedentes de la PLR
La Programacioacuten Loacutegica de Restricciones (PLR) es una teacutecnica que tiene mucho encomuacuten con los algoritmos de asignacioacuten heuriacutestica Dechter describe asiacute el problemade la satisfaccioacuten de restricciones ldquoUn problema de satisfaccioacuten de restricciones (PSR)es representado por una red de restricciones consistente en un conjunto de n variablesX1 Xn con sus respectivos valores de dominio RR n y un conjunto derestricciones Una restriccioacuten Ci (Xi1Xij)es un subconjunto del producto cartesiano Ri1 x x R i1 formado por todas las tuplas de valores para un subconjunto(X i1X ij) delas variables que son compatibles unas con otrasrdquo [Detcher 1990]
Una solucioacuten de la red es una asignacioacuten de valores a todas las variables de tal formaque todas las restricciones son satisfechasrdquo Esta es una representacioacuten maacutes poderosaque el modelo de los Grafos Coloreados porque puede representar restricciones mascomplejas El problema de los grafos coloreados es equivalente a un PLR binario en lacual cada restriccioacuten soacutelo tiene dos variables
Este modelo se resuelve tratando de asignar valores a cada una de las variables encuestioacuten y entonces regresando si se encuentra en un punto muerto y quitandorestricciones si se descubre que no se puede encontrar solucioacuten El orden en el que lasvariables son seleccionadas y el orden de los valores que son asignados a las variablespuede ser alterado para tratar aumentar la velocidad de buacutesqueda
La PLR es un meacutetodo que permite el disentildeo raacutepido de prototipos de resolucioacuten deproblemas complejos Las principales aportaciones en esta liacutenea se centran en eldesarrollo de programas que incluyen conjuntos de restricciones adaptadas a unadeterminada familia de problemas asiacute como al disentildeo formal e implementacioacuten demodelos de interpretacioacuten en paralelo con el fin de mejorar la eficiencia del proceso
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
deductivo El objetivo final es disponer de sistemas de resolucioacuten implementados paraapoyar la creacioacuten de sistemas donde la explosioacuten combinatoria de los elementos de unproblema hace muy difiacutecil la buacutesqueda de una solucioacuten en un tiempo razonable [Farion1992]
En esta seccioacuten se proporciona una breve introduccioacuten de la Programacioacuten Loacutegica conRestricciones y sus aplicaciones dentro del marco general de la programacioacuten loacutegica Setrata eacuteste de un campo que ha tenido una notable expansioacuten debido a su potencialaplicacioacuten praacutectica dado que el anaacutelisis de las restricciones permite mejorarconsiderablemente la eficiencia del caacutelculo de determinadas funciones
332 Restricciones
En primer lugar se empieza por contestar la pregunta iquestQueacute es una restriccioacuten Estacuestioacuten se puede responder tan brevemente como escribe Roman Bartak[1998]Una restriccioacuten es simplemente una relacioacuten loacutegica entre varias variablesdesconocidas tomando cada una un valor dentro de un dominio determinado (peA+B=C-el circulo estaacute dentro del cuadrado- etc)Asiacute las restricciones aparecen de forma natural en todos los campos del conocimientohumano La suma de los aacutengulos de un triaacutengulo es 180 grados es un ejemplo derestriccioacuten que aparece en el mundo real De hecho las restricciones son el medionatural en el que las personas expresamos los problemas en todas las aacutereas
Con la explicacioacuten dada se ve de forma natural que las restricciones gozan de variaspropiedades interesantes
bull las restricciones pueden especificar informacioacuten parcial es decir en lasrestricciones no hace falta que se den de forma uacutenica los valores de sus variables
bull las variables son no direccionales es decir en una restriccioacuten tiacutepica sobre dosvariables (XY) se puede inferir una restriccioacuten sobre X dada una restriccioacutensobre Y y viceversa
bull las restricciones son declarativas es decir se puede especificar que relacioacutendeben mantener sin especificar el procedimiento computacional que implementeesa relacioacuten
bull las restricciones son aditivas es decir el orden de imposicioacuten de las restriccionesno importa todo lo que importa al fin y al cabo es la conjuncioacuten de restriccionesy su efecto
bull las restricciones no suelen ser independientes normalmente restricciones dentrodel conjunto total de restricciones comparte variables
Asiacute siguiendo esta idea el objetivo de la Programacioacuten Loacutegica con Restricciones essustituir el proceso de unificacioacuten por la resolucioacuten de restricciones sobre un dominio
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
particular de intereacutes Con esta visioacuten se considera que el procesador de restriccionesdebe encargarse de comprobar la consistencia del conjunto de restricciones y dentro delo posible reducirlo a alguna forma normal
Seguacuten Elmohamed [Elmohamed 1998] las restricciones pueden ser divididas en trestipos fuertes medias y suaves
Restricciones fuertes Son todas aquellas que deben ser cumplidas obligatoriamente elcosto de no cumplir estas restricciones es sumamente alto y por lo tanto en un horariofactible su costo asociado por incumplimiento debe ser cero Por ejemplo (en unproblema real se pueden encontrar de 10 a 15 restricciones fuertes)
bull Dos o maacutes clases impartidas por un profesor no se pueden programar a lamisma hora
bull Una clase teoacuterica y su laboratorio no se pueden programar a la misma hora en elmismo diacutea
bull Una clase no se puede programar en un aula a menos que su capacidad seamayor al nuacutemero de alumnos inscritos
Restricciones medias Estas restricciones no se refieren a conflictos de tiempo perotienen asociado un alto costo a ellas sin embargo este costo no es tan alto como el de lasrestricciones fuertes En el condensado de horarios final el costo de estas restriccioneses minimizado y es deseable reducirlo a cero Por ejemplo (en un problema real sepueden tener entre 20 y 25 restricciones medias)
bull Para cada estudiante el balancear las secciones LunMieVie y MarJuebull Balancear o distribuir y equilibrar las horas de clase en la semanabull Las clases pueden requerir periodos de tiempo contiguosbull Las clases se pueden agrupar con otras clases formando paquetesbull Los horarios particulares deben tener la menor cantidad de ldquohoyosrdquo posible esto
es que las clases deben ser consecutivas unas despueacutes de otras
Restricciones suaves Estas restricciones no tienen nada que ver con conflictos detiempo y tienen un bajo costo asociado a ellas Tambieacuten en el condensado de horariosfinal este costo es minimizado pero no necesariamente debe ser cero Por ejemplo (sepueden tener entre 30 y 40 restricciones suaves)
bull Balancear la inscripcioacuten en cursos de varios paquetesbull Especificar la hora de comida y otros periodos de descansobull Los catedraacuteticos pueden requerir periodos de tiempo sin clasebull No inscribir alumnos-atletas en cursos que tengan conflicto con sus horas de
praacutectica deportiva etc
333 Sistemas con RestriccionesUna manera maacutes formal de definir las restricciones es considerarlas como una foacutermulade primer orden interpretada en una estructura para asiacute tener en cuenta la semaacutenticaparticular del sistema de restricciones Esta semaacutentica declarativa es adecuada cuando
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
existe a priori una estructura que se adecua al sistema de restricciones (pe Los realespara las restricciones aritmeacuteticas) pero esto no funciona demasiado bien para lossistemas de restricciones maacutes praacutecticos (pe Dominios finitos) Obviamente no se puededireccionar ninguacuten caacutelculo operacional relacionado con el propio procesador de lasrestricciones [Elmohamed 2001]
334 Referencia Histoacuterica de las RestriccionesLas restricciones como un aacuterea de trabajo que combina investigacioacuten de un gran nuacutemerode campos incluyendo Inteligencia Artificial Lenguajes de Programacioacuten CaacutelculoSimboacutelico y Loacutegica Computacional Las restricciones sobre redes y los problemas desatisfabilidad con restricciones empezaron a estudiarse por los investigadores deInteligencia Artificial en los antildeos 70
La programacioacuten con restricciones ha sido aplicada con notable eacutexito en numerososcampos Los trabajos en esta aacuterea se remontan a la investigacioacuten de InteligenciaArtificial y Representacioacuten Graacutefica por Computadora por los antildeos 60 y 70 En la uacuteltimadeacutecada sin embargo ha empezado a darse una mayor conciencia de que las restriccionesproporcionan las bases para un potente acercamiento a la programacioacuten modelado yresolucioacuten de problemas y que los diferentes esfuerzos por explotar estas ideas puedenser unidos bajo el mismo prisma conceptual y praacutectico la programacioacuten conrestricciones
Entre los dominios tratados por los sistemas de Programacioacuten Loacutegica con Restriccioneslos que maacutes ampliamente son investigados son sin duda los dominios finitos losnuacutemeros reales y racionales con restricciones aritmeacuteticas y los booleanos De hecho 3de los principales lenguajes de Programacioacuten Loacutegica con Restricciones son un claroejemplo de esta tendencia CHIP que proporciona restricciones sobre dominios finitosracionales y booleanos PrologIII que incluye racionales booleanos y listas y PLR(R)que maneja restricciones sobre reales
En la actualidad se pueden observar dos ramas principales en los avances en laprogramacioacuten con restricciones que parten de diferente base y por tanto usan diferentemetodologiacutea para resolver las restricciones Estas dos ramas son
bull Satisfaccioacuten de Restriccionesbull Resolucioacuten de Restricciones
335 Satisfaccioacuten de RestriccionesLa satisfaccioacuten de restricciones parte de los avances en Inteligencia Artificial (problemascombinatorios) y los Graacuteficos por computadora (sistema de SKETCHPAD[1963]expresando coherencia geomeacutetrica en el caso de anaacutelisis de escenas)
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
336 Resolucioacuten de RestriccionesLa resolucioacuten de restricciones difiere de la satisfaccioacuten de restricciones porque usavariables con dominios infinitos Ademaacutes las restricciones individuales son maacutescomplicadas por ejemplo ecuaciones no lineales En consecuencia los algoritmos deresolucioacuten de restricciones usan meacutetodos algebraicos y numeacutericos en vez decombinaciones y buacutesqueda Sin embargo existe metodologiacutea para discretizar losdominios infinitos en un nuacutemero finito de componentes y entonces se aplican lasteacutecnicas de Satisfaccioacuten de Restricciones
La programacioacuten con restricciones ha sido aplicada con eacutexito en numerosos campos Lasaplicaciones recientes incluyen [Detcher 1990]
bull Graacuteficos por Computadorabull Procesamiento del Lenguaje Natural (construccioacuten de analizadores eficientes)bull Sistemas de Bases de Datos (para reforzar yo mantener la consistencia de los
datosbull Problemas de Investigacioacuten Operativa (como la optimizacioacuten de problemas)bull Biologiacutea Molecular (secuenciacioacuten de ADN)bull Aplicaciones de Empresabull Ingenieriacutea Eleacutectrica (localizacioacuten de fallos)bull Disentildeo de Circuitos (para computar configuraciones)bull Planificacioacuten y organizacioacutenbull Configuracioacutenbull Juegosbull Configuracioacuten de horariosbull Criptoaritmeacuteticabull Coloreado de Grafosbull Razonamiento de hipoacutetesis quiacutemicas
En esta seccioacuten se va a dedicar una parte a cada una las aplicaciones maacutes estudiadas
337 Organizacioacuten de Proyectos
El problema de la Organizacioacuten es el proceso de asignar actividades a recursos en eltiempo En el caso general de organizacioacuten es un proceso de tomar decisiones donde sepueden tomar dos tipos de decisiones
bull Decisiones de situar temporalmente Cuaacutendo deberiacutea empezar cada actividadbull Decisiones de asignacioacuten de recursos Con queacute recursos deberiacutea ejecutarse cada
actividad
Los problemas de organizacioacuten y de asignacioacuten de recursos estaacuten basados enrestricciones Diferentes restricciones pueden afectar a la organizacioacuten la duracioacuten de
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
una actividad las fechas de contrato restricciones precedentes tiempos de transferenciao de inicio de la actividad la capacidad de los recursos y el reparto de recursos
La relajacioacuten de las restricciones principales caracteriza la calidad de los problemas deorganizacioacuten Estas restricciones son las relacionadas con fechas de entregaproductividad periodicidad de los cambios de herramientas niveles de inventariomargen de tiempo etc Algunas de estas restricciones pueden ser combinadas en lafuncioacuten de evaluacioacuten para la optimizacioacuten
Las aplicaciones industriales de las teacutecnicas de resolucioacuten de restricciones a losproblemas del tipo de asignacioacuten de tareas incluye[Detcher 1990]
bull Organizacioacuten de la produccioacutenbull Organizacioacuten y planificacioacuten del transporte y la logiacutesticabull Administracioacuten del traacuteficobull Disentildeo de horarios de recursos y de hombresbull Asignacioacuten de plantilla incluyendo aplicaciones de ingenieriacutea de organizacioacutenbull Problemas de empaquebull Configuracioacuten de maacutequinas
Claramente hay muchos problemas relacionados en el aacuterea de la organizacioacuten en lapraacutectica para los sistemas comerciales e industriales reales los liacutemites entre unos y otrosno estaacuten claros Es difiacutecil encontrar alguacuten problema real que se ajuste a un modelopreconcebido sin tener que descartar partes del problema y aproximar otras asiacute que hayque tomar estos modelos con amplio margen de aproximacioacuten
Otra complicacioacuten es el tema de la optimizacioacuten En algunos casos el usuario estaacutesatisfecho soacutelo con tener una manera automaacutetica de tener la respuesta pero la mayoriacuteaquieren tener al menos una buena respuesta y algunos el mejor resultado posible Perodebido a la gran complejidad combinatoria de la mayoriacutea de los problemas reales deorganizacioacuten una optimizacioacuten real es muy difiacutecil asiacute que en la mayoriacutea de los casos seusa la programacioacuten con restricciones en combinacioacuten con otras teacutecnicas tales comoAlgoritmos Geneacuteticos para dar soluciones casi oacuteptimas en un tiempo razonable
Normalmente los problemas de organizacioacuten se presentan usando variables conrestricciones fuertes y restricciones suaves Estas pueden ser agrupadas en la abstraccioacutendel problema de organizacioacuten Asiacute tiacutepicamente el tiempo de comienzo y fin y laduracioacuten de cada actividad se representan por variables con restricciones Los dominiosde estas variables son el rango de tiempo de intereacutes en la organizacioacuten requerida
Capiacutetulo 4 Anaacutelisis y Disentildeo
CAPIacuteTULO 4
ANAacuteLISIS Y DISENtildeO
41 Recopilacioacuten de informacioacuten
bull Documentos recopilados
bull Cataacutelogo de asignaturas prerrequisitos y semestrebull Cataacutelogo de aulas y su capacidadbull Cataacutelogo de catedraacuteticos horas disponiblesbull Mapa reticular de la carrerabull Reporte de grupos abiertos en periodo actualbull Reporte de alumnos por grupo en periodo actualbull Reporte de alumnos no inscritos por materia y semestrebull Reporte de simulacioacuten (si todos aprobaran sus cursos)bull Reporte del iacutendice de reprobacioacuten del semestre anteriorbull Encuesta aplicada para determinar los conocimientos requeridos
para impartir una materiabull Encuesta aplicada para obtener los conocimientos de cada
catedraacuteticobull Aacuterbol de conocimiento realizado para determinar los grupos por
abrir de cada asignaturabull Aacuterbol de conocimiento del perfil de las asignaturasbull Aacuterbol de conocimiento del perfil de los catedraacuteticosbull Aacuterbol de conocimiento de los criterios de apertura de materia
bull El proceso de la elaboracioacuten de los horarios
1 Elaboracioacuten de los reportes estadiacutesticos del periodo actual(grupos abiertos alumnos por grupo alumnos no inscritos pormateria simulacioacuten iacutendice de reprobacioacuten)
2 Caacutelculo de la estimacioacuten de alumnos por materia del proacuteximoperiodo
3 Caacutelculo del nuacutemero de grupos por materia requeridos para elproacuteximo periodo
4 Ajuste de los grupos por materia requeridos para el proacuteximoperiodo
5 Formacioacuten de los grupos en paquetes por semestre6 Asignacioacuten de hora y aula a los grupos
Capiacutetulo 4 Anaacutelisis y Disentildeo
7 Seleccioacuten de catedraacutetico al grupo y viceversa8 Ajustes en hora aula y catedraacutetico por grupo9 Elaboracioacuten del reporte condensado para publicacioacuten de horarios10 Elaboracioacuten de los reportes de grupos sin maestro maestros con
horas disponibles grupos sin aula
Para elaborar los horarios de los grupos y maestros un semestre determinado se tienenen consideracioacuten los siguientes elementos
bull El estadiacutestico de Servicios Escolares (SE)El departamento de SE cuenta con un sistema que registra todo el historial acadeacutemicode los alumnos inscritos en el ITZ las materias cursadas y sus calificaciones lasdiferentes carreras con su retiacutecula de asignaturas y sus prerrequisitos los grupos delsemestre actual la cantidad de alumnos en cada grupo de una asignatura los iacutendicesde reprobacioacuten de semestres anteriores las materias que puede cursar un alumno elproacuteximo semestre etceacutetera Toda esta informacioacuten plasmada en reportesdiferentes es la base para la generacioacuten de los horarios del proacuteximo semestre
bull Los grupos requeridosSobre la base de operaciones aplicadas a la informacioacuten estadiacutestica se obtiene lacantidad de grupos requeridos para abrirse el proacuteximo semestre este nuacutemero degrupos es la cantidad oacuteptima con la que se podraacuten inscribir los alumnos sin tenerproblemas de falta de espacio el alterar disminuyendo o aumentando el nuacutemero degrupos requeridos puede ocasionar alumnos con carga crediticia menor a lareglamentaria o que existan grupos con menos de 10 alumnos respectivamente
bull Las aulasEl ITZ cuenta con 52 aulas repartidas entre las 8 carreras a cada coordinador decarrera se le asigna determinado numero de aulas para su administracioacuten asiacute que alasignar el aula a cada grupo debe cuidar la correcta distribucioacuten de los grupos en loshorarios correspondientes y que la capacidad de las aulas no rebase el numero dealumnos inscritos
bull Los maestros y departamentosCada departamento esta formado por un jefe y los catedraacuteticos que forman laacademia de cada carrera los profesores pueden ser de tiempo completo frac34 y frac12tiempo o profesores de asignatura cada uno tiene un horario predeterminado en turnomatutino o vespertino los catedraacuteticos de un departamento cubren las asignaturas desu carrera y apoyan a otras carreras a cubrir las materias que tienen el perfil de esaacademia los catedraacuteticos son uno de los recursos mas difiacuteciles de controlar
Restricciones propias de los profesores
o Materia no tiene maestro
o Maestro tiene horas disponibles
Capiacutetulo 4 Anaacutelisis y Disentildeo
o Maestro tiene materias preferencia
o Maestro ha impartido materia
o Maestro solicita materia
o Maestro tiene restricciones de nuacutemero de materias a impartir
o Restriccioacuten no pueden darse maacutes de tres materias diferentes
o Maestro tiene una profesioacuten
o Maestro tiene un perfil
o Maestro tiene un aacuterea definida
o Maestro prefiere materias especialidad
o Maestro prefiere materias semestres iniciales
bull Las materias o asignaturasEn cada carrera se tiene un mapa reticular que tiene las materias de cada semestre elnombre los creacuteditos las horas de teoriacutea y praacutectica las ligas con los prerrequisitos lasmaterias de la especialidad seleccionada etc
Restricciones propias de las asignaturas
o Materia de 1deg semestre
o Materia de 2deg semestre
o Materia de 3deg semestre
o Materia de 4deg semestre
o Materia de 5deg semestre
o Materia de 6deg semestre
o Materia de 7deg semestre
o Materia de 8deg semestre
o Materia de 9deg semestre
o Materia de especialidad
o Materia tiene prerrequisito
o Materia es de baacutesicas
o Materia requiere conocimientos de Base de Datos
o Materia requiere conocimientos de Electroacutenica
o Materia la puede impartir cualquier maestro
Capiacutetulo 4 Anaacutelisis y Disentildeo
o Materia requiere conocimientos de Redes
o Materia requiere ser impartida por ingeniero
o Materia tiene complejidad alta
o Materia debe ser impartida por catedraacutetico con grado de maestriacutea
o Materia requiere conocimientos de Arquitectura de Computadoras
o Materia no tiene cadenas
o Materia de Administracioacuten
o Materia de Ingenieriacutea Industrial
o Materia requiere conocimientos de Aacutelgebra
o Materia requiere conocimientos de Caacutelculo Diferencial e Integral
o Materia requiere conocimientos de Quiacutemica Inorgaacutenica y Orgaacutenica
o Materia requiere una elaboracioacuten de proyectos
bull Las carrerasLas 8 carreras que se imparten en el ITZ son ordenadas por nuacutemero de alumnos
1 Ingenieriacutea en Sistemas Computacionales2 Licenciatura en Informaacutetica3 Licenciatura en Administracioacuten4 Ingenieriacutea Civil5 Ingenieriacutea Electromecaacutenica6 Ingenieriacutea Industrial7 Ingenieriacutea Quiacutemica8 Ingenieriacutea Bioquiacutemica
bull Los horarios de grupoUna vez determinados los grupos requeridos para el proacuteximo semestre se procede a laasignacioacuten de horario de acuerdo al nuacutemero de horas teoacuterico-praacutecticas se le asignaaula y un catedraacutetico responsable se fija tambieacuten un nuacutemero de alumnos y el tiempode laboratorio en caso de ser necesario
Capiacutetulo 4 Anaacutelisis y Disentildeo
Diagrama de flujo del proceso
Elaboracioacuten de los reportes estadiacutesticos
Caacutelculo de alumnos por materiaproacuteximo periodo
Caacutelculo del nuacutemero de grupos pormateria requeridos
Ajuste de los grupos por materiarequeridos
Formacioacuten de los grupos en paquetespor semestre
Asignacioacuten de hora y aula a los grupos
Asignacioacuten de catedraacutetico al grupo
Ajustes en hora aula y catedraacutetico porgrupo
Elaboracioacuten del reporte condensado
Elaboracioacuten de reportes varios
Todo cuadrabien
Si
No
Fin
Inicio
Capiacutetulo 4 Anaacutelisis y Disentildeo
42 Anaacutelisis de la informacioacuten
bull Cataacutelogo de asignaturas prerrequisitos y semestre
Funcioacuten Dar a conocer las asignaturas de una carrera los prerrequisitos de las materiasy el semestre al que pertenece una asignatura los creacuteditos miacutenimos que debe tenerun alumno para cursar la asignatura
Origen Reporte emitido por el departamento de Servicios Escolares
Campos del reporte nombre carrera nombre asignaturas creacuteditos miacutenimos materiasprerrequisito semestre al que pertenece la asignatura
bull Cataacutelogo de aulas y su capacidad
Funcioacuten Dar a conocer la nomenclatura y capacidad de las aulas y laboratorios del ITZ
Origen Departamento de Planeacioacuten
Campos del reporte Nombre del edificio nuacutemero de aula capacidad
bull Cataacutelogo de catedraacuteticos horas disponibles
Funcioacuten Dar a conocer los catedraacuteticos por departamento y sus horas disponibles frentea grupo
Origen Departamentos acadeacutemicos
Campos del reporte Nombre del departamento clave de profesor nombre del profesorcantidad de horas frente a grupo que debe tener
bull Mapa reticular de la carrera
Funcioacuten Mostrar el mapa reticular de una carrera graacuteficamente muestra las asignaturaspor semestre sus requisitos foacutermula crediticia etc
Origen Divisioacuten de Estudios Profesionales
Campos del reporte Nombre y clave de la carrera nombre y clave de las asignaturasfoacutermula crediticia (nuacutemero de horas teoacutericas nuacutemero de horas praacutecticas creacuteditos dela asignatura) las materias prerrequisito de otras materias de especialidad semestrede la asignatura nuacutemero de creacuteditos necesarios para poder cursar una asignatura
Capiacutetulo 4 Anaacutelisis y Disentildeo
bull Reporte de grupos abiertos en periodo actual
Funcioacuten Muestra los cursos que son ofertados en el periodo actual
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera nombre de las asignaturas grupo de loscursos cantidad de alumnos inscritos nombre del catedraacutetico que lo imparte
bull Reporte de alumnos por grupo en periodo actual
Funcioacuten Muestra la cantidad de alumnos inscritos por semestre de una carrera
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera semestres del 1 al 13 nuacutemero de alumnosinscritos por semestre
bull Reporte de alumnos no inscritos por materia y semestre
Funcioacuten Muestra los alumnos que pudieron inscribirse a una materia pero que poralguna razoacuten no lo hicieron
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera nombre de la materia por semestre nuacutemerode alumnos que pudieron inscribirse y no lo hicieron
bull Reporte de simulacioacuten (si todos aprobaran sus cursos)
Funcioacuten Este reporte simula que todos los alumnos inscritos en los cursos acreditan elcurso entonces cuenta cuantos estudiantes pueden cursar todas las asignaturas comosi hubieran aprobado todos sus cursos actuales
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera nombre de la asignatura y por semestre elnuacutemero de alumnos que pueden cursar una materia
bull Reporte del iacutendice de reprobacioacuten del semestre anterior
Funcioacuten Dar a los coordinadores los iacutendices de aprobacioacuten y reprobacioacuten de los cursosdel periodo anterior
Capiacutetulo 4 Anaacutelisis y Disentildeo
Origen Departamento de Servicios EscolaresCampos del reporte Nombre de la carrera nombre de la asignatura total de alumnos
aprobados total de alumnos reprobados del periodo anterior
bull Encuesta de conocimientos requeridos para impartir asignatura
Funcioacuten Obtener los datos de los conocimientos que debe poseer un catedraacutetico quequiera impartir una asignatura
Origen Academia de cada departamentoCampos del reporte Nombre de la asignatura objetivo de la asignatura carrera lista de
conocimientos requeridos para impartir la asignatura carrera adecuada del profesorque imparta la asignatura
bull Encuesta de conocimientos requeridos para perfil de profesores
Funcioacuten Obtener los datos de los conocimientos que debe posee un catedraacutetico
Origen Academia de cada departamento
Campos del reporte Nombre del catedraacutetico carrera del catedraacutetico conocimientos enaacutereas particulares de cada asignatura
43 Solucioacuten definida
Resolver el problema iniciando con la metodologiacutea ldquodivide y venceraacutesrdquo el problemageneral se dividiraacute en 6 problemas particulares
a) Sistema de Informacioacuten para control de horariosb) Sistema Experto para definicioacuten y generacioacuten de grupos
por abrirc) Moacutedulo Programacioacuten Loacutegica de Restricciones para
asignar horario a los gruposd) Moacutedulo Algoritmos Geneacuteticos para asignar aula a los
grupos ya definidose) Sistema Experto para definir catedraacutetico para
asignaturaf) Sistema Experto para asignar asignatura a catedraacutetico
Debido a la naturaleza y caracteriacutesticas de la informacioacuten todos lossistemas seraacuten realizados iniciando desde cero la recopilacioacuten deinformacioacuten el anaacutelisis el disentildeo y la programacioacuten de cada moacutedulo delsistema programado en Visual Basic y Bases de Datos en Access
Capiacutetulo 4 Anaacutelisis y Disentildeo
La principal ventaja de eacutesta opcioacuten es que el sistema estaacute hecho a la medida de lasnecesidades de la institucioacuten poniendo las restricciones en el formato que se tienenactualmente la desventaja es que se debe desarrollar TODO el sistema
44 Requerimientos del sistema
Los Motores de Inferencias deben ser disentildeados con las siguientes caracteriacutesticas
bull Buacutesqueda de primero en profundidad en ocasiones cuando se interactuacutee con elusuario este tipo de buacutesqueda seraacute utilizado para recorrer toda la base deconocimiento
bull Buacutesqueda heuriacutestica en la que el usuario deberaacute dar datos iniciales de por dondeempezar la buacutesqueda de alguna informacioacuten
bull Tomar informacioacuten de la Base de Conocimiento y guardarla en las bases de datos ytambieacuten inferir la informacioacuten y guardarla en las bases de datos para su posteriortratamiento e impresioacuten
bull Seleccionar la mejor opcioacuten y presentarla al usuario para los casos en que el usuariodecida cambiar alguacuten dato la maacutequina deberaacute presentar una opcioacuten y saber indicarel porqueacute la ldquoeligioacuterdquo
bull Dar otras soluciones ademaacutes de la oacuteptima teniendo porcentajes de aceptacioacuten paracada solucioacuten y permitiendo la buacutesqueda de maestros a impartir materias aulas paraalguacuten grupo o cantidad de grupos a abrir
bull Dar resultados en lenguaje natural de modo que el usuario entienda claramente loque la maacutequina le comunica
bull Trabajar interactivamente con el usuario para que eacuteste pueda cuestionar el porqueasignoacute un maestro abrioacute grupos asignoacute un aula etceacutetera
bull Tener capacidad para el uso del paradigma basado en analogiacuteas ldquoSi un maestro yadio la materia en alguacuten semestre entonces puede darla en este semestrerdquo o bien ldquoSieste paquete de materias estaacute completo entonces repite todo el paquete estesemestrerdquo
Interfaz de Usuario recibe y entrega informacioacuten interactuando con el usuario esdecir el usuario puede
1) alimentar hechos2) solicitar resultados y reportes3) cuestionar coacutemo se obtuvieron ciertas conclusiones
La interfaz de usuario debe tener las caracteriacutesticas siguientes
bull Comunicarse en el lenguaje del usuario sea un humano u otro dispositivobull Recibir hechos del usuario y almacenarlos en la base de hechosbull Presentar de manera amigable los objetivos a buscar e inferencias en pantallabull Dar de manera clara la explicacioacuten de la inferencia realizada
Capiacutetulo 4 Anaacutelisis y Disentildeo
bull Dar resultados por escrito en informesbull Proporcionar al usuario la facilidad de alimentar la base de conocimientosbull Dar al usuario la facultad de corregir las inferenciasbull Si el usuario es inexperto facilitar la ayuda necesaria
Seleccioacuten del lenguaje de programacioacuten
Visual Basic 60 proporciona a los programadores facilidad para desarrollar aplicacionescomplejas en poco tiempo (comparado con lo que cuesta programar en Visual C++ porejemplo)
El sistema necesita interfaces amigables al usuario con ventanas y botones emergentesen cualquier momento y Visual Basic 60 es una herramienta de disentildeo de aplicacionespara Windows en la que eacutestas se desarrollan en una gran parte a partir del disentildeo de unainterfaz graacutefica (pudiendo incorporar todos los elementos de este entorno informaacuteticoventanas botones cajas de diaacutelogo y texto botones de opcioacuten y de seleccioacuten barras dedesplazamiento graacuteficos menuacutes etc) En una aplicacioacuten Visual Basic 60 el programaestaacute formado por una parte de coacutedigo puro y otras partes asociadas a los objetos queforman la interfaz graacutefica Visual Basic 60 permite la programacioacuten de sus ventanasbotones y componentes de manera maacutes faacutecil que Java con sus Applets
En la parte del sistema de control de horarios que es un sistema de informacioacuten comuacutenlos programas que llenan de informacioacuten las bases de datos son muy parecidos unos conotros al hacer los procesos de altas bajas modificaciones consultas y validaciones seutilizan las ventajas que Visual Basic 60 ofrece de la Programacioacuten Orientada aObjetos (POO) eacutesta es una forma de programacioacuten que utiliza objetos ligados mediantemensajes para la solucioacuten de problemas Puede considerarse como una extensioacuten naturalde la programacioacuten estructurada en un intento de potenciar los conceptos demodularidad y reutilizacioacuten de coacutedigo Las caracteriacutesticas fundamentales de la POO sonabstraccioacuten encapsulamiento herencia y polimorfismo
Visual Basic 60 soporta la abstraccioacuten la encapsulacioacuten el polimorfismo y lareutilizacioacuten de coacutedigo Los objetos de Visual Basic estaacuten encapsulados es decircontienen su propio coacutedigo y sus propios datos
Manejador de Base de datos para el almacenamiento de la informacioacutenEl manejador de base de datos a utilizar seraacute Microsoft Access debido a que los usuariosque alimentan la base de conocimientos son expertos en diferentes aacutereas delconocimiento y tiene conocimientos limitados de los diferentes manejadores y estaacuten maacutesfamiliarizados con Microsoft Access Ademaacutes de que Access es transportablefaacutecilmente
Ademaacutes la cantidad y tipo de informacioacuten que se almacena en las tablas no requieremanejadores de bases de datos potentes o con caracteriacutesticas especiales
Capiacutetulo 4 Anaacutelisis y Disentildeo
Sistemagenerador dehorarios
SistemaExperto
Reglas
Criterios
Criterios por regla Conocimiento
Procesos
Capturaestadiacutesticas
Calcula grupos
Ajusta grupos
Sistema expertoasigna materia
Sistema Expertoasigna maestro
Asigna materia
Asigna catedraacutetico
Conocimientos
Procesos
Materias
Perfil general
Catedraacuteticos
Perfil materias
Perfil maestro
Asignacioacutenmateria-maestro
Asignacioacutenmaestro-materia
Buacutesqueda independiente
B adelante
B atraacutes
Abduccioacuten
Explicacioacuten
MoacuteduloPLR
Asigna horario
Datos
Arbol derestricciones Procesos
Materia
Grupos
Paquetes
Horario
Restriccioacuten 1
Restriccioacuten 3
Restriccioacuten 2
Restriccioacuten N
Genera random
Evaluacutea restricciones
Guarda grupo
MoacuteduloAlgoritmoGeneacutetico
Asigna aula
Operadores Geneacuteticos
Evaluacioacuten
Cruzamiento
Seleccioacuten
Mutacioacuten
Poblacioacuten Inicial
Versioacuten 1
Versioacuten 2
Versioacuten 3
Versioacuten N
Condensadodatos grales
Materia
Hora
Aula
Control escolar
Sistema deInformacioacuten
Aulas
Horarios
Grupos
Maestros
Datosestadiacutesticos
Datosgenerales
Datos condensado
Materias
45 MAPA CONCEPTUAL DEL PROYECTO
Capiacutetulo 4 Anaacutelisis y Disentildeo
Capiacutetulo 4 Anaacutelisis y Disentildeo
En la Figura 41 se muestra el mapa conceptual del proyecto La burbuja centralrepresenta el sistema generador de horarios y cada rama representa uno de los seismoacutedulos que lo componen las burbujas de cada rama contienen a su vez variasramificaciones en las que se muestran de manera graacutefica los componentes maacutesrepresentativos de los procesos utilizados la informacioacuten que manejan el conocimientoque utilizan y las restricciones involucradas
El moacutedulo Servicios Escolares contiene informacioacuten necesaria para la administracioacuten delos horarios en general y proporciona los datos para el funcionamiento de los demaacutesmoacutedulos
El moacutedulo Sistema Experto Creacioacuten de Grupos (SECG) muestra el conocimiento yprocesos utilizados para definir la cantidad de grupos a ofertar a partir de la informacioacutenestadiacutestica proporcionada por servicios escolares maacutes adelante en el documento seexplica a detalle su funcionamiento
En la Figura 41 se aprecia que los moacutedulos Sistema Experto AsignaCatedraacutetico(SEAC) y Sistema Experto Asigna Materia(SEAM) comparten las bases deconocimiento porque el conocimiento de un SE es la base de hechos del otro en amboscasos los procesos difieren solamente en la informacioacuten que utilizan y en los resultadosque producen noacutetese que existe un proceso que es ldquobuacutesqueda independienterdquo que puedecatalogarse como un Sistema Experto adicional que sirve para sugerir las asignaturasque puede impartir una persona que no estaacute dentro de las bases de datos de maestros ypor lo tanto su perfil tampoco estaraacute capturado en esta caso los hechos (su perfil deconocimientos) es capturado en el momento de la consulta
El moacutedulo de Algoritmos Geneacuteticos (AG) muestra los datos que recibe como se generauna poblacioacuten inicial el tratamiento que se le aplica por medio de los operadoresgeneacuteticos y la informacioacuten que se genera
Por uacuteltimo en la Figura 41 se nota tambieacuten el moacutedulo donde se utiliza la ProgramacioacutenLoacutegica de Restricciones que contiene 3 ramas donde una representa los datos recibidosy la informacioacuten generada otra rama denota un aacuterbol de restricciones que deben sersatisfechas por los paquetes de horarios la uacuteltima rama denota los procesos que se llevana cabo debe notarse que existe un proceso aleatorio que genera cada grupo un procesoque evaluacutea el grupo contra las restricciones y uno mas que guarda los grupos quecumplieron con todas
En este mapa conceptual no se muestra en que orden se ejecuta cada moacutedulo delproyecto la Figura 42 ilustra la secuencia de ejecucioacuten de los moacutedulos
La Figura 42 muestra el diagrama con la secuencia en que se van ejecutando losprocesos los datos que ingresan a cada moacutedulo y la informacioacuten que genera
Capiacutetulo 4 Anaacutelisis y Disentildeo
452 MAPAS CONCEPTUALES DE LOS MOacuteDULOS
Servicios Escolares
Datos Estadiacutesticos
Sistema Experto Creacioacuten de Grupos
Materias y grupos requeridos
Moacutedulo PLR
Materia + grupo + hora
Moacutedulo AG
Materia + grupo + hora + aula
Sistema ExpertoAsigna Catedraacutetico Sistema Experto
Asigna Materia
Sugiere profesorpara asignaturas
Sugiere asignaturapara profesor
Materia + grupo + hora + aula +profesor
Condensado final de materias
1
2
3
4
5 6
Fig 42 Diagrama de secuencia
Capiacutetulo 4 Anaacutelisis y Disentildeo
Como puede verse todo inicia cuando Servicios Escolares enviacutea la informacioacuten a laDivisioacuten de Estudios Profesionales (donde ldquohabitanrdquo los coordinadores) quienes son losresponsables de la elaboracioacuten de los horarios
Un primer proceso captura la informacioacuten que proviene de Servicios Escolares elsegundo moacutedulo define cuantos grupos deben programarse el tercer proceso asigna lahora a cada grupo el cuarto moacutedulo es el proceso que asigna las aulas los procesosquinto y sexto sirven para sugerir queacute catedraacutetico es el maacutes adecuado para cada grupo ycomo resultado final se tiene el condensado final de horarios para el siguiente semestre
En la Figura 43 se muestran los componentes del primer Sistema Experto utilizado paradefinir la cantidad de grupos que deben ofertarse el proacuteximo semestre en la partesuperior izquierda de la figura esta el coordinador de la carrera quien es el encargado decargar el conocimiento a las Bases de Conocimiento utilizando la interfaz de experto esla persona indicada para definir los criterios que tiene cada materia define las reglaspara la agrupacioacuten de los criterios y define en cada regla que tipo de ajuste se realiza
Experto
Coordinador
Interfaz Experto
Base deConocimientos
CriteriosReglasAjustes
Motor de Inferencia ListasMateriasGrupos requeridos
UsuarioMoacutedulo Explicacioacuten
Usuario(coordinador
novato)
Interfaz Usuario
Base Hechos
Informacion Estadiacutestica
Fig 43 Sistema Experto Generador de Grupos
Capiacutetulo 4 Anaacutelisis y Disentildeo
El usuario en la parte inferior de la figura puede ser el coordinador o su asistente y seencarga de capturar la informacioacuten estadiacutestica proporcionada por servicios escolares queson los datos de alumnos inscritos actualmente en cada materia el iacutendice de reprobacioacutenlos alumnos inscritos en la materias prerrequisito una simulacioacuten de los alumnosprobables para cursar esa materia si todos los inscritos aprueban todo y los alumnos quepueden cursar las materias pero no se inscribieron
Con los datos anteriores se realiza la siguiente operacioacuten
(Inscritos en materia iacutendice de reprobacioacuten de materia) 100 +Alumnos no inscritos +Alumnos en prerrequisito ndash (alumnos en prerrequisito iacutendice de reprobacioacuten) 100 +(Simulacioacuten ndash alumnos en prerrequisito ndash no inscritos) = Alumnos del proacuteximo semestre
Este uacuteltimo dato (alumnos del proacuteximo semestre) proporciona la cantidad de alumnospor materia que pueden inscribirse en los grupos seguacuten los estadiacutesticos de ServiciosEscolares pero no contempla preferencias de alumnos conveniencia de inscripcioacuten etc
Ofrecer los grupos necesarios para la inscripcioacuten de alumnos tomando el dato calculadoocasiona que al terminar las inscripciones existan grupos vaciacuteos grupos sobresaturadosalumnos con pocas materias y varios problemas mas
La finalidad de este Sistema Experto es realizar un ajuste al dato calculadoanteriormente para incluir en su caacutelculo todas aquellas caracteriacutesticas y experiencia delcoordinador para minimizar los problemas mencionados en el paacuterrafo anterior
Los ajustes pueden ser de varios tiposbull Ajuste draacutestico hacia abajo Se aplica una reduccioacuten del 50 al dato calculadobull Ajuste hacia arriba Se agrega un grupo maacutes al dato calculadobull Ajuste hacia abajo Se resta un grupo al dato calculadobull Ajuste numeacuterico Se ajusta utilizando la regla del redondeo de decimalesbull Ajuste draacutestico hacia arriba Se suman 2 oacute 3 grupos al dato calculado
Cuando utilizar una u otra regla estaacute definido por los criterios que cada materia contienenaturalmente y que con el paso de los semestres puede variar (aunque tambieacuten puedenpasar antildeos sin sufrir ninguacuten cambio)
La Figura 44 describe la utilizacioacuten de la teacutecnica de la Inteligencia Artificial llamadaProgramacioacuten Loacutegica de Restricciones para generar el condensado de grupos a partir deuna lista de materias que contiene solamente el nombre y la cantidad de grupos que sedeben abrir de una materia
Capiacutetulo 4 Anaacutelisis y Disentildeo
EoseX
Ugacgg
Lgc
s
ListasMaterias
Procesoformador depaquetes
Lista grupo +paquete
Moacutedulo generadorRandom Hora
Restricciones satisfec
Restriccio
Materia +hora
Moacuteduloverificadorrestriccione
s
Restriccionesnosatisfechas
Fig 44 Diagrama del moacutedulo Programacioacuten Loacutegica de Restriccione
xiste un proceso inicial que forma los ldquopaquetesrdquo de grupos esto es las materias serdenan por el semestre al que corresponden (generalmente son 6 materias poremestre) despueacutes para cada semestre se generan los grupos correspondientes si porjemplo se deben hacer 3 grupos de la materia X se generan tres registros de la materia y cada registro se etiqueta
Materia X grupo AA Materia X grupo AB y Materia X grupo AC
na vez que todas las materias han sido generadas y ldquoempaquetadasrdquo se pasan alenerador de horario en bloques de un paquete a la vez Este proceso funcionasignando un horario aleatorio a cada grupo despueacutes se verifica que cada grupo cumplaon todas las restricciones que son del tipo grupo no ldquochocardquo con otro del paqueterupo proporciona horario continuo al paquete grupo tiene horario de 2 horas por diacutearupo no deja horas vaciacuteas en paquete grupo cumple con todas sus horas asignadas etc
a Figura 45 muestra el disentildeo del Algoritmo Geneacutetico utilizado para asignar aula a losrupos que provienen del moacutedulo anterior (PLR) y recibe como datos de entrada unondensado de horarios (materia + grupo + hora)
Capiacutetulo 4 Anaacutelisis y Disentildeo
Procesoevaluacioacuten
Condensado
Materia +Grupo +Hora
Generador de versiones aleatorias
Genera versioacuten asigna aula
Versioacuten 3
Versioacuten 2
Versioacuten 1
Versioacuten N
Poblacioacuten inicial
ProcesoseleccioacutenProceso cruzamiento
clonacioacuten mutacioacuten
Versioacuten z
Versioacuten y
Versioacuten x
Versioacuten w
Nueva generacioacuten
Individuos aptos
Individuos no aptosReciclaje
CondensadoMateria + grupo +hora + aula
Fig 45 Diagrama del moacutedulo Algoritmo Geneacutetico
Capiacutetulo 4 Anaacutelisis y Disentildeo
Esta rama de la Inteligencia Artificial es utilizada generalmente para procesos deoptimizacioacuten y en esta ocasioacuten se utiliza para asignar las aulas al condensado dematerias
Al inicio se reciben como datos generales el condensado de materias La poblacioacuteninicial se obtiene copiando N veces (N versiones) este condensado y agregando a cadaregistro el nuacutemero de versioacuten y un aula asignada de manera aleatoria de esta manera seobtienen N versiones diferentes del condensado original
Cada versioacuten es entonces evaluada contando el nuacutemero de choques en aula y la cantidadde espacios vaciacuteos por aula a cada versioacuten se le genera un vector para guardar laevaluacioacuten (cromosoma de evaluacioacuten) y de esta manera se mide el grado de aptitud quetiene cada versioacuten
Las versiones que tienen menos choques y menos espacios vaciacuteos se consideran con ungrado de aptitud alto y son las mejores al contrario las que tienen muchos choquesson consideradas de aptitud baja no sirven para la reproduccioacuten y son desechadas
Una vez seleccionadas la mejores versiones se procede a la aplicacioacuten de los operadoresgeneacuteticos el primero que se aplica es el cruzamiento y consiste en elegir dos versionesde alta aptitud tomar segmentos seleccionados heuriacutesticamente de ellas y formar unnuevo individuo (una nueva versioacuten) se repite este proceso Y veces con las diferentesversiones hasta tener una nueva generacioacuten de N condensados de horarios
Repetir este proceso de generacioacuten evaluacioacuten y seleccioacuten durante Z generacionesaplicando cuando se necesite la clonacioacuten que es un proceso de copiar completamenteuna versioacuten (con alto grado de aptitud) a la nueva generacioacuten
Al principio la convergencia hacia horarios sin choques en aula es raacutepida pero al pasode las generaciones disminuye entonces se debe usar la mutacioacuten que es un proceso deacceder manualmente los registros de alguna versioacuten Zi en la generacioacuten Z y corregiralguacuten aula al final despueacutes de varias generaciones selecciones cruzamientosclonaciones y mutaciones se obtiene un condensado de aulas libres de choques y conpocos espacios vaciacuteos
En la Figura 46 se muestran los componentes del Sistema Experto utilizado para sugerircuales son los catedraacuteticos que mejor se desempentildeariacutean para impartir una asignaturatomando en cuenta los conocimientos que tiene un profesor (adquiridos a lo largo de sucarrera) y cuales son los conocimientos necesarios para impartir la caacutetedra de algunaasignatura
Capiacutetulo 4 Anaacutelisis y Disentildeo
Todo inicia haciendo una encuesta a los profesores acerca del perfil y los conocimientosnecesarios para poder impartir una asignatura el objetivo de la misma y los principalestemas que abarca todo lo anterior se captura en la base de hechos como el perfil de lamateria
Posteriormente se hace otra encuesta a los profesores pidieacutendoles que seleccionencuales son los conocimientos y el grado de dominio que tienen de los diferentes toacutepicosde las asignaturas esto se convierte en el perfil del catedraacutetico Por uacuteltimo con unproceso de induccioacuten se determina para cada materia cual es el grado de certeza con elcual puede un profesor impartir una asignatura
Experto
Coordinador
Interfaz Experto
Base deConocimientos
CatedraacuteticosConocimientos profesorPerfil profesor
Motor de Inferencia Lista profesores paraimpartir una materia
Jefedepartamento
Moacutedulo Explicacioacuten
Usuario(coordinador
novato)
Interfaz Usuario
Base Hechos
Perfil
Fig 46 Diagrama de Sistema Experto para sugerir profesor a asignatura
Capiacutetulo 4 Anaacutelisis y Disentildeo
Noacutetese en la Figura 47 que el coordinador captura el conocimiento referente a lasasignaturas (objetivo temas caracteriacutesticas necesarias para impartirla) y este esalmacenado en la Base de Conocimientos
Por otro lado un profesor debe llenar una encuesta en la que indique cuales son lostemas que domina y en que porcentaje lo hace (esto es el perfil del catedraacutetico) estainformacioacuten se almacena en la base de hechos--
El Motor de Inferencia hace los matchs respectivos y genera una lista de las materias quepuede impartir un profesor y con que grado de certeza estaacute capacitado para hacerlo
Por uacuteltimo el moacutedulo de explicacioacuten informa el porqueacute dio esa inferencia mostrando lascaracteriacutesticas de materia y profesor que hicieron match
Fig 47 Diagrama de Sistema Experto para sugerir asignaturas para catedraacutetico
Experto
Coordinador
Interfaz Experto
Base deConocimientos
MateriasCaracteriacutesticas MateriasPerfil materia
Motor de Inferencia Lista materias para unprofesor
Profesor
Moacutedulo Explicacioacuten
Profesor nuevoInterfaz Usuario
Base Hechos Perfil profesor
Capiacutetulo 4 Anaacutelisis y Disentildeo
453 Diagrama de contextoEn la Figura 48 se detallan los elementos que intervienen aportando y recibiendoinformacioacuten para el funcionamiento del sistema
Los departamentos acadeacutemicos aportan al sistema una lista con los catedraacuteticos quelaboran ahiacute incluye los datos personales de los profesores nuacutemero de tarjeta nombrecarrera etc Los coordinadores de carrera son los responsables de la elaboracioacuten de loshorarios estos funcionarios son la pieza fundamental de este proceso porque aportan susconocimientos para
bull Definir el ajuste al dato estadiacutestico proporcionado por Servicios Escolaresbull Definir las restricciones para la creacioacuten de los paquetes de gruposbull Definir las restricciones para asignar hora a cada grupobull La distribucioacuten de los grupos en las aulasbull Asignar la asignatura que mejor puede impartir un catedraacuteticobull Asignarle a una asignatura al profesor que mejor puede impartirla
El departamento de Servicios Escolares es el iniciador del proceso de la elaboracioacuten dehorarios aporta los datos estadiacutesticos obtenidos de la situacioacuten escolar actual de losalumnos cada alumno estaacute inscrito en alguna de las 8 carreras que se ofrecen en elInstituto estaacute cursando entre 5 y 8 asignaturas por semestre en cada periodo acredita oreprueba algunas materias En cada carrera se tiene un mapa reticular que incluyeaproximadamente 50 asignaturas con prerrequisitos creacuteditos horas en aula horas enlaboratorio orden por semestre etc
El departamento Divisioacuten de Estudios Profesionales (donde estaacuten adscritos loscoordinadores de carrera) es el responsable de distribuir las aulas disponibles delInstituto entre los distintos coordinadores las aulas son un recurso escaso y por lo tantovalioso de esta distribucioacuten depende en gran medida la holgura o estrechez que tienenlos coordinadores para asignar las aulas a los grupos creados
Los profesores son otro de los recursos valiosos de una institucioacuten son los responsablesde transmitir sus conocimientos a los alumnos cada catedraacutetico posee conocimientos dediversas aacutereas toacutepicos y ramas del saber humano el perfil del catedraacutetico estaacute enrelacioacuten directa con el dominio que tiene de cada una de ellas y varia desde unconocimiento superficial hasta el dominio total de un aacuterea
Los generadores random de los moacutedulos PLR y AG proporcionan la informacioacutennecesaria generada de manera aleatoria para el funcionamiento de esos moacutedulos
A los coordinadores y alumnos se les proporciona un condensado de horarios losalumnos conocen los grupos a los que se pueden inscribir las horas las aulas y loscatedraacuteticos que las impartiraacuten
Capiacutetulo 4 Anaacutelisis y Disentildeo
Sistema para laelaboracioacuten de
horarios
Departamentosacadeacutemicos
Jefes dedepartamento
Divisioacuten deEstudios
Profesionales
DepartamentoServiciosEscolares
Alumnos
Coordinadoresde carrera
Coordinadoresde carrera
Lista catedraacuteticos disponibles
Conocimientos
Reporte datos estadiacutesticos
Lista aulas disponibles
Condensado de horarios
Horarios disponibles
Lista horarios profesores
Profesores Generadoresaleatorios
Perfil maestro
Horas y aulas aleatorios
Fig 48 Diagrama de contexto del proyecto
Cap
iacutetulo
4
Anaacute
lisis
y D
isentilde
o
Sist
ema
para
lael
abor
acioacute
n de
hora
rios
Dep
arta
men
tos
acad
eacutemic
os
Div
isioacute
n de
Estu
dios
Prof
esio
nale
s
Dep
arta
men
toSe
rvic
ios
Esco
lare
sC
oord
inad
ores
de c
arre
ra
List
a ca
tedr
aacutetic
os d
ispo
nibl
es
Con
ocim
ient
osR
epor
teda
tose
stad
iacutestic
osLi
sta
aula
s dis
poni
bles
Prof
esor
esG
ener
ador
esal
eato
rios
Perf
il m
aest
roH
oras
y a
ulas
Fig
49
Dia
gram
a de
func
ione
s fun
dam
enta
les (
entra
das)
Cap
tura
supe
rfil
deco
noci
mie
nto
Cap
tura
las
aula
s
Enviacute
a da
tos
Cap
tura
suco
noci
mie
nto
Enviacute
a da
tos
depr
ofes
ores G
ener
ada
tos
Cla
ve n
ombr
eho
ras
turn
o
Tips
tru
cos
cono
cim
ient
ohe
uriacutes
tico
Cla
ve c
apac
idad
ed
ifici
o
Alu
mno
sin
scrit
os
sim
ulac
ioacuten
no
insc
ritos
iacutend
ice
repr
obac
ioacuten
Toacutepi
cos y
tem
asqu
e do
min
aA
ula
y ho
raal
eato
rios
Capiacutetulo 4 Anaacutelisis y Disentildeo
Sistema para laelaboracioacuten de
horarios
Coordinadoresde carrera
Jefes dedepartamento Alumnos
Fig 410 Diagrama de funciones fundamentales (salidas)
Imprimecondensado
Imprime lista Imprimehorarios
Maestro materiahora
Materia grupohora aula
maestrosugerido
Condensado de horarios Horarios disponibles
Lista horarios profesores
Materia grupohora aula
maestro
Capiacutetulo 4 Anaacutelisis y Disentildeo
454 Diagrama entidad - relacioacuten
NOTA Los siguientes diagramas muestran las tablas utilizadas por cada moacutedulo paramayor claridad se repitieron las tablas necesarias para representar cada parte del sistemapero en la base de datos no existe tal duplicacioacuten
Este diagrama contiene las tablas del moacutedulo administrativo de los horarios en unprincipio eacutestas eran las uacutenicas tablas de un sistema de control de horarios
FK_HORARIOS_REFERENCE_MATERIASFK_MATERIAS_REFERENCE_SERVICIO
FK_MATERIAS_REFERENCE_RAMA_MAT FK_MATERIAS_REFERENCE_CARRERAS
HORARIOS
GrupoId_aulaHora_inicioHora_lunesHora_martesHora_miercolesHora_juevesHora_viernesHora_sabadoObservacionesPeriodoAnioid_materiaId_catedratico
Text(2)INTEGERINTEGERText(6)Text(6)Text(6)Text(6)Text(6)Text(6)Text(30)Text(20)INTEGERINTEGERSMALLINT
ltfk3gt
ltfk2gtltfk1gt
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
MATERIAS
SERVICIOS_ESCOLARESId_materiaINSCRITOSNO INSCRITOSSIMULACIONPROXIMO SEMESTREGRUPOS REQUERIDOSIndice de reprobacionperiodoantildeoGrupos ajustadoAlumnos ajustadoId_ajusteId_regla
INTEGERSMALLINTSMALLINTSMALLINTSMALLINTDOUBLEDOUBLEText(7)INTEGERSMALLINTSMALLINTINTEGERSMALLINT
RAMA_MATERIA
Id_ramaNombre_rama
COUNTERText(30)
ltpkgt
CARRERAS
Id_CarreraNombre_carrera
Text(15)Text(50)
ltpkgt
Fig 411 Diagrama entidad ndash relacioacuten del moacutedulo administrativo
Capiacutetulo 4 Anaacutelisis y Disentildeo
Este diagrama muestra las tablas donde se almacena el conocimiento de loscoordinadores para que el Sistema Experto del moacutedulo sugiera y aplique el ajuste aldato de cantidad de grupos sugerido por Servicios Escolares La relacioacuten entre las tablasva generando las reglas de produccioacuten
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave asig prerrequisitoclave asig prerrequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
REGLAS
DescriId_reglaId_ajusteTot_peso
Text(70)COUNTERINTEGERINTEGER
ltpkgtltfkgt
FK_MATERIAS_REFERENCE_SERVICIO
FK_HECHOS_R_REFERENCE_CRITERIO
FK_HECHOS_R_REFERENCE_REGLAS
FK_HISTORIA_REFERENCE_REGLAS
FK_HISTORIA_REFERENCE_CRITERIO
FK_REGLAS_REFERENCE_AJUSTES
FK_HISTORIA_REFERENCE_MATERIAS
FK_HISTORIA_REFERENCE_CRITERIO
SERVICIOS_ESCOLARES
Id_materiaINSCRITOSNO INSCRITOSSIMULACIONPROXIMO SEMESTREGRUPOS REQUERIDOSIndice de reprobacioacutenperiodoantildeoGrupos ajustadoAlumnos ajustadoId_ajusteId_regla
INTEGERSMALLINTSMALLINTSMALLINTSMALLINTDOUBLEDOUBLEText(7)INTEGERSMALLINTSMALLINTINTEGERSMALLINT
HECHOS_REGLAS
Id_criterioId_reglaPromedio
INTEGERINTEGERINTEGER
ltfk2gtltfk1gt
CRITERIOS
Id_criterioDescripcion
COUNTERText(60)
ltpkgt
HISTORIAL_CRITERIOS
Id_criterioId_reglaPeso de la regla
INTEGERINTEGERSMALLINT
ltfk2gtltfk1gt
AJUSTES
TipoDescripcionId_ajuste
Text(25)MemoCOUNTER ltpkgt
HISTORIAL_MATERIA
Id_materiaId_criterioprioridad
INTEGERINTEGERSMALLINT
ltfk2gtltfk1gt
Fig 412 Diagrama E-R del moacutedulo para determinar y ajustar nuacutemero de grupos
Capiacutetulo 4 Anaacutelisis y Disentildeo
En este diagrama se muestra la base de datos que almacena la informacioacuten quemanipula el moacutedulo Algoritmo Geneacutetico las tablas maacutes representativas sonPOBLACION donde se guardan todas las versiones que forman las generaciones dehorarios y CROMOSOMAS que almacena el registro de evaluacioacuten de cada versioacuten dehorarios
FK_HORARIO__REFERENCE_AULAS
FK_HORARIO__REFERENCE_POBLACIO
FK_MATERIAS_REFERENCE_TIPO_HOR
FK_POBLACIO_REFERENCE_AULAS
FK_POBLACIO_REFERENCE_MATERIAS
FK_POBLACIO_REFERENCE_CROMOZOM1 1
HORARIO_AULA
VersionAulaLunesMartesMiercolesJuevesViernesSabadoHoraId_aula
INTEGERText(6)SMALLINTSMALLINTSMALLINTSMALLINTSMALLINTSMALLINTSMALLINTINTEGER
ltfk2gt
ltfk1gt
AULAS
Id_aulaCapacidad_aulaNombre_aulaDisponible
COUNTERSMALLINTText(50)YesNo
ltpkgt
POBLACION
Id_materiaGrupoId_catedraticoAulaHora_inicioHora_lunesHora_martesHora_miercolesHora_juevesHora_viernesVersionId_aulaPeriodoAnio
INTEGERText(4)INTEGERText(4)INTEGERText(6)Text(6)Text(6)Text(6)Text(6)INTEGERINTEGERText(10)INTEGER
ltfk2gt
ltfk1gtltfk3gt
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
TIPO_HORARIO
Tipo_horario
DescripcionLunes
MartesMiercoles
Jueves
ViernesSabado
COUNTER
Text(20)SMALLINT
SMALLINTSMALLINT
SMALLINT
SMALLINTSMALLINT
ltpkgt
CROMOZOMAS
VersionSemestreChoquesVacias
INTEGERINTEGERINTEGERINTEGER
ltpkgt
Fig 413 Diagrama E-R del moacutedulo para asignar aulas (Algoritmo Geneacutetico)
Capiacutetulo 4 Anaacutelisis y Disentildeo
En esta Figura 414 se pueden observar las tablas involucradas en el proceso paragenerar los paquetes de materias por semestre y la asignacioacuten de horario a cada grupodel paquete utilizando la teacutecnica Programacioacuten Loacutegica de Restricciones noacutetese que noexiste una tabla de restricciones eacutestas se aplican por software a cada grupo generado
FK_MATERIAS_REFERENCE_SERVIC
FK_MATERIAS_REFERENCE_TIPO_H
FK_HORARIOS_REFERENCE_MATERI
MATERIA
Id_materiMateriNum de HrsNum de HrsClave deId_CarrerCreditoSemestrObservacioneTroncoalumnos porclave de asigclave de asigId_ramSuma_maOrdeTipo_horari
INTEGEText(40SMALLINSMALLINText(8Text(15SMALLINSMALLINText(60YesNSMALLINText(40Text(40INTEGESMALLINSMALLININTEGE
ltpkfk4
ltfk1
ltfk3
ltfk2
SERVICIOS_ESCOLARE
Id_materiINSCRITONOSIMULACIOPROXIMOGRUPOSIndice deperiodantildeGruposAlumnosId_ajustId_regl
INTEGESMALLINSMALLINSMALLINSMALLINDOUBLDOUBLText(7INTEGESMALLINSMALLININTEGESMALLIN
TIPO_HORARI
Tipo_horariDescripcioLuneMarteMiercoleJueveVierneSabad
COUNTEText(20SMALLINSMALLINSMALLINSMALLINSMALLINSMALLIN
ltpk
HORARIO
GrupId_aulHora_iniciHora_luneHora_marteHora_miercoleHora_jueveHora_vierneHora_sabadObservacionePeriodAniid_materiId_catedratic
Text(2INTEGEINTEGEText(6Text(6Text(6Text(6Text(6Text(6Text(30Text(20INTEGEINTEGESMALLIN
ltfk3
ltfk2ltfk1
Fig414 Diagrama E-R del moacutedulo para asignar horario (PLR)
Capiacutetulo 4 Anaacutelisis y Disentildeo
FK_HECHOS_M_REFERENCE_MATERIAS
FK_HECHOS_M_REFERENCE_CATEDRAT
HECHOS_MAT_PROF
Id_catedraticoId_materiaPromedio
SMALLINTSMALLINTSMALLINT
ltpkfk1gtltpkfk2gt
FK_PERFIL_C_REFERENCE_CATEDRAT
FK_PERFIL_C_REFERENCE_PERFILES
FK_PERFILES_REFERENCE_TIPO_PER
FK_PROF_PAR_REFERENCE_CATEDRAT
FK_PROF_PAR_REFERENCE_MATERIAS
PERFIL_CATEDRATICO
Id_catedraticoId_perfilPrioridad_perfil_cate
SMALLINTINTEGERSMALLINT
ltfk1gtltfk2gt
CATEDRATICOS
Id_catedraticoApellido_paternoApellido_maternoNombre_catedraticoTitulo_catedraticoSuma_cate
SMALLINTText(20)Text(20)Text(20)Text(30)SMALLINT
ltpkgt
PERFILES
Id_perfilId_tipoDescripcion_perfil
COUNTERINTEGERText(60)
ltpkgtltfkgt
TIPO_PERFIL
Id_tipoTipo_perfil
COUNTERText(30)
ltpkgt
PROF_PARA_MAT
Id_materiaId_catedraticoPorcentaje_cate
INTEGERSMALLINTSMALLINT
ltpkfk2gtltpkfk1gt
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
Fig 415 Diagrama E-R del moacutedulo designa mejor catedraacutetico (Sistema Experto)
Capiacutetulo 4 Anaacutelisis y Disentildeo
En las figuras de la paacutegina anterior y eacutesta (Fig 415 y 416) se muestran las tablasutilizadas por los Sistemas Expertos para sugerir que materias puede impartir unprofesor y tambieacuten sugiere que profesores pueden impartir una asignatura
FK_PERFILES_REFERENCE_TIPO_PER
FK_PERFIL_M_REFERENCE_MATERIAS
FK_PERFIL_M_REFERENCE_PERFILES
FK_MAT_PARA_REFERENCE_MATERIAS
FK_MAT_PARA_REFERENCE_CATEDRAT
FK_HECHOS_M_REFERENCE_MATERIAS
FK_HECHOS_M_REFERENCE_CATEDRAT
PERFILES
Id_perfilId_tipoDescripcion_perfil
COUNTERINTEGERText(60)
ltpkgtltfkgt
TIPO_PERFIL
Id_tipoTipo_perfil
COUNTERText(30)
ltpkgt
PERFIL_MATERIA
Id_materiaId_perfilPrioridad_perfil_mat
INTEGERINTEGERINTEGER
ltfk2gtltfk1gt
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
MAT_PARA_PROF
Id_catedraticoId_materiaPorcentaje_mat
SMALLINTINTEGERSMALLINT
ltpkfk1gtltpkfk2gt
CATEDRATICOS
Id_catedraticoApellido_paternoApellido_maternoNombre_catedraticoTitulo_catedraticoSuma_cate
SMALLINTText(20)Text(20)Text(20)Text(30)SMALLINT
ltpkgt
HECHOS_MAT_PROF
Id_catedraticoId_materiaPromedio
SMALLINTSMALLINTSMALLINT
ltpkfk1gtltpkfk2gt
Fig 416 Diagrama E-R del moacutedulo selecciona mejor materia (sistema experto)
Capiacutetulo 4 Anaacutelisis y Disentildeo
455 Diccionario de la Base de Datos
Nombre HORARIOS_CON_CONOCIMIENTOComentario Base de datos del sistema ldquoGeneracioacuten de horarios mediante Sistemas
Basados en ConocimientordquoDBMS Microsoft Access 97
Lista de Tablas
Nombre Tipo deObjeto
AJUSTES TableAULAS TableCARRERAS TableCATEDRATICOS TableCRITERIOS TableCROMOSOMAS TableHECHOS TableHECHOS_MAT_PROF TableHECHOS_PROF_MAT TableHECHOS_REGLAS TableHISTORIAL_CRITERIOS TableHISTORIAL_MATERIA TableHORARIO_AULA TableHORARIOS TableMAT_PARA_PROF TableMATERIAS TablePERFIL_CATEDRATICO TablePERFIL_MATERIA TablePERFILES TablePOBLACION TablePROF_PARA_MAT TableRAMA_MATERIA TableREGLAS TableSERVICIOS_ESCOLARES TableTIPO_HORARIO TableTIPO_PERFIL Table
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla AJUSTESFuncioacuten Almacena los datos de los tipos de ajuste que se aplican por el Sistema Experto al
dato estadiacutestico que define cuantos grupos se deben abrir de cada materia
Lista de columnas de la tabla AJUSTESNombre Tipo de
DatoLong Llave
Primaria ForaneaComentario
Tipo Text(25) 25 Nombre del tipo de ajusteDescripcioacuten Memo Explicacioacuten del ajuste a realizar al nuacutemero
de grupos calculados segun estadisticosId_ajuste COUNTER 4 X Identificador del ajuste
Tabla AULASFuncioacuten Almacena los datos de las aulas que existen en cada edificio del instituto
Lista de columnas de la tabla AULASNombre Tipo de
DatoLong Llave
Primaria ForaneaComentario
Id_aula COUNTER 4 X Identificador del aulaCapacidad_aula SMALLINT 4 Nuacutemero maacuteximo de alumnos en el
aulaNombre_aula Text(50) 50 Nombre del aula (edificio+numero)Disponible YesNo 1 Disponibilidad del aula
Tabla CARRERASFuncioacuten Almacena los datos de las carreras que se imparten en el ITZ
Lista de columnas de la tabla CARRERASNombre Tipo de
DatoLong Llave
Primaria ForaneaComentario
Id_Carrera Text(15) 15 X Clave de la carreraNombre_carrera Text(50) 50 Nombre de la carrera
Tabla CATEDRATICOSFuncioacuten Almacena los datos de los CATEDRAacuteTICOS que imparten clases en las diferentes carreras del
Instituto Se utilizan los datos en los Sistemas Expertos que definen cual es el mejor catedraacuteticopara impartir una materia
Capiacutetulo 4 Anaacutelisis y Disentildeo
Lista de columnas de la tabla CATEDRATICOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Nuacutemero de tarjeta del catedraacuteticoApellido_paterno Text(20) 20 Apellido paterno del catedraacuteticoApellido_materno Text(20) 20 Apellido materno del catedraacuteticoNombre_catedratico Text(20) 20 Nombre del catedraacuteticoTitulo_catedratico Text(30) 30 Grado de estudios y tiacutetulo del
catedraacuteticoSuma_cate SMALLINT 4 Suma total de las pesos de los perfiles
pertenecientes al catedraacutetico
Tabla CRITERIOSFuncioacuten Tabla de los criterios utilizados por el experto para crear las reglas que definen el tipo de
ajuste inferido por el Sistema Experto para definicioacuten de grupos por abrir
Lista de columnas de la tabla CRITERIOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_criterio COUNTER 4 X Identificador del criterio aplicado auna materia para crear grupos
Descripcion Text(60) 60 Descripcioacuten del criterio
Tabla CROMOSOMASFuncioacuten Almacena los datos de la evaluacioacuten de cada versioacuten de horarios generada ya sea por la
poblacioacuten inicial o por los operadores geneacuteticos se genera un cromosoma por cadasemestre en cada versioacuten
Lista de columnas de la tabla CROMOSOMASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Version INTEGER 4 X Nuacutemero de individuo o versioacuten dehorarios
Semestre INTEGER 4 Semestre al que pertenece el datoChoques INTEGER 4 Nuacutemero de choques de versioacuten y
semestreVacias INTEGER 4 Nuacutemero de aulas vaciacuteas del individuo
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla HECHOS_MAT_PROFFuncioacuten Esta tabla almacena el resultado de la inferencia del Sistema Experto materias para
profesor indica para cada catedraacutetico las materias y el porcentaje de certeza con quepuede impartirlas
Lista de columnas de la tabla HECHOS_MAT_PROFNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Identificador del catedraacuteticoId_materia SMALLINT 4 X Identificador de la asignaturaPromedio SMALLINT 4 Porcentaje de certeza con que un
profesor puede impartir una materia(resultado de la inferencia)
Tabla HECHOS_PROF_MATFuncioacuten Almacena los datos de la inferencia del Sistema Experto que calcula para una materia
determinada cuales son los mejores maestros para impartirla
Lista de columnas de la tabla HECHOS_PROF_MATNombre Tipo de
DatoLongitud
LlavePrimaria Foraacutenea
Comentario
Id_catedratico SMALLINT 4 X Identificador del catedraacuteticoId_materia SMALLINT 4 X Identificador de la asignaturaPromedio SMALLINT 4 Porcentaje de certeza con que una
materia puede ser impartida por unprofesor (resultado de la inferencia)
Tabla HECHOS_REGLASFuncioacuten Almacena los porcentajes de certeza con que se dispara una regla del Sistema Experto
que define los grupos por abrir
Lista de columnas de la tabla HECHOS_REGLASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_criterio SMALLINT 4 X Identificador del criterioId_regla SMALLINT 4 X Identificador de la reglaPromedio INTEGER 4 Porcentaje de certeza con que una
regla dispara un criterio
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla HISTORIAL_CRITERIOS
Funcioacuten Almacena las reglas formadas por los criterios utilizados por el Sistema Experto paradefinir los grupos por abrir
Lista de columnas de la tabla HISTORIAL_CRITERIOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_criterio INTEGER 4 X Identificador del criterio pertenecientea la regla
Id_regla INTEGER 4 X Identificador de la reglaPeso de la regla SMALLINT 4 Peso del criterio en la regla
Tabla HISTORIAL_MATERIAFuncioacuten Tabla que almacena la definicioacuten de cada materia con base en los criterios utilizados por
las reglas para definir por materia el nuacutemero de grupos por abrir
Lista de columnas de la tabla HISTORIAL_MATERIANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materia para suasignacioacuten de criterios
Id_criterio INTEGER 4 X Identificador del criterio que se aplicaa la materia para describirla
Prioridad SMALLINT 4 Peso del criterio en la materia
Tabla HORARIOS
Funcioacuten Almacena los datos del condensado final de horarios aquiacute se almacena el producto finaldel sistema para su posterior publicacioacuten y distribucioacuten entre la comunidad tecnoloacutegica
Lista de columnas de la tabla HORARIOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materiaGrupo Text(2) 2 Identificador del grupo A B CId_catedratico SMALLINT 4 X Catedraacutetico asignado al grupoId_aula INTEGER 4 X Aula asignada al grupoHora_inicio INTEGER 4 Hora de inicio del grupoHora_lunes Text(6) 6 Horas que se imparte el grupo el diacutea
lunes
Capiacutetulo 4 Anaacutelisis y Disentildeo
Hora_martes Text(6) 6Hora_miercoles Text(6) 6Hora_jueves Text(6) 6Hora_viernes Text(6) 6Hora_sabado Text(6) 6Observaciones Text(30) 30 Observaciones al grupoPeriodo Text(20) 20 Periodo Ene-jun o Ago-dicAnio INTEGER 4 Antildeo en que se utiliza el horario
Tabla HORARIO_AULAFuncioacuten Tabla auxiliar utilizada como almacenamiento temporal durante el proceso de evaluacioacuten
en el Algoritmo Geneacutetico guarda los datos de ocupacioacuten choques y no utilizacioacuten decada aula por hora diacutea y versioacuten
Lista de columnas de la tabla HORARIO_AULANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Version INTEGER 4 X Nuacutemero de individuo o versioacutenAula Text(6) 6 Nombre del aulaLunes SMALLINT 4 Nuacutemero de horas que se utiliza el aula
el diacutea lunesMartes SMALLINT 4Miercoles SMALLINT 4Jueves SMALLINT 4Viernes SMALLINT 4Sabado SMALLINT 4Hora SMALLINT 4 Hora de utilizacioacuten del aulaId_aula INTEGER 4 X Identificador del aula en la versioacuten
Tabla MATERIASFuncioacuten Esta es una de las principales tablas del proyecto se utiliza en todos los moacutedulos del
sistema contiene informacioacuten base para caacutelculos diversos ademaacutes contiene tambieacuten lasllaves de diferentes tablas que describen de manera de manera especial a las materias
Lista de columnas de la tabla MATERIASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia COUNTER 4 X Identificacioacuten de la materia llaveprincipal
Materia Text(40) 40 Nombre de la materiaNum de Hrs prac SMALLINT 4 Nuacutemero de horas praacutecticasNum de Hrs teo SMALLINT 4 Nuacutemero de horas teoacutericasClave de Asig Text(8) 8 Clave oficial de la materiaId_Carrera Text(15) 15 X Carrera a la que pertenece la materiaCreditos SMALLINT 4 Creacuteditos de la materia
Capiacutetulo 4 Anaacutelisis y Disentildeo
Semestre SMALLINT 4 Semestre en que se imparte la materiaObservaciones Text(60) 60Tronco comun YesNo 1 Definicioacuten de especialidad o tronco
comuacutenalumnos porgrupo
SMALLINT 4 Capacidad sugerida de los grupos deesta materia
clave de asigprerequisito
Text(40) 40 Clave de asignatura del prerrequisito
clave de asigprerequisito1
Text(40) 40 Clave de asignatura del prerrequisito
Id_rama INTEGER 4 X Identificador de la rama a la quepertenece la materia
Suma_mat SMALLINT 4 Suma total de los perfilespertenecientes a la materia
Orden SMALLINT 4 Es el nuacutemero de materia en un paqueteTipo_horario INTEGER 4 X El tipo de horario asignado a materia
Tabla MAT_PARA_PROFFuncioacuten La tabla almacena para cada catedraacutetico las asignaturas que puede impartir y el grado
de certeza con que puede hacerlo se almacena en esta tabla el resultado de la inferenciadel Sistema Experto
Lista de columnas de la tabla MAT_PARA_PROFNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Nuacutemero de tarjeta del profesorId_materia INTEGER 4 X Identificador de la materiaPorcentaje_mat SMALLINT 4 Porcentaje de certeza con que un
profesor puede impartir una materia
Tabla PERFILESFuncioacuten Tabla que contiene una relacioacuten de todas las caracteriacutesticas de las materias
caracteriacutesticas necesarias para poder impartirlas es al mismo tiempo la tabla quecontiene la relacioacuten general de los conocimientos que poseen los profesores
Lista de columnas de la tabla PERFILESNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_perfil COUNTER 4 X Identificador del perfil paraasignaciones de materias acatedraacuteticos
Id_tipo INTEGER 4 X Identificador del tipo del perfilDescripcion_perfil Text(60) 60 Descripcioacuten de una caracteriacutestica del
perfil de una materia o un catedraacutetico
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla PERFIL_CATEDRATICOFuncioacuten Tabla que contiene el perfil de todos los catedraacuteticos (pueden llamarse las reglas) del
Sistema Experto que recomienda profesores para las materias el perfil de un catedraacuteticoesta definido por los conceptos que domina de las materias
Lista de columnas de la tabla PERFIL_CATEDRATICONombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Identificador del catedraacutetico paradefinicioacuten de su perfil acadeacutemico
Id_perfil INTEGER 4 X Identificador del perfil que define aun catedraacutetico
Prioridad_perfil_cate SMALLINT 4 Porcentaje en que contribuye elperfil especificado en la definicioacutendel catedraacutetico
Tabla PERFIL_MATERIAFuncioacuten Esta tabla almacena las reglas que definen el perfil de una materia contiene las
caracteriacutesticas y temas que forman el temario de la materia
Lista de columnas de la tabla PERFIL_MATERIANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materia en laregla de la materia
Id_perfil INTEGER 4 X Identificador del perfilperteneciente a una materia
Prioridad_perfil_mat INTEGER 4 Porcentaje en que contribuye esteperfil particular a definir unamateria
Tabla PROF_PARA_MATFuncioacuten Esta tabla almacena la inferencia del Sistema Experto para determinar cuales son los
mejores profesores para impartir una materia contiene para cada asignatura una lista delos profesores y el porcentaje de certeza con que pueden desempentildearse si la imparten
Capiacutetulo 4 Anaacutelisis y Disentildeo
Lista de columnas de la tabla PROF_PARA_MATNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de materiaId_catedratico SMALLINT 4 X Identificador de catedraacuteticoPorcentaje_cate SMALLINT 4 de certeza con que el catedraacutetico X
puede impartir la materia Y
Tabla POBLACIONFuncioacuten La tabla es la maacutes importante para el moacutedulo de Algoritmo Geneacutetico porque almacena los
datos de cada individuo hipoacutetesis o versioacuten que son generados ya sea por la poblacioacuteninicial aleatoria o por los diversos operadores geneacuteticos contiene copias (versiones) delcondensado de horarios con aulas aleatorias
Lista de columnas de la tabla POBLACIONNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materiaGrupo Text(4) 4 Grupo de la materiaId_catedratico INTEGER 4 X Identificador del catedraticoAula Text(4) 4 X Nombre del aula (edificio + numero)Hora_inicio INTEGER 4 Hora de inicio del grupoHora_lunes Text(6) 6 Hora inicio del lunesHora_martes Text(6) 6Hora_miercoles Text(6) 6Hora_jueves Text(6) 6Hora_viernes Text(6) 6Version INTEGER 4 X Nuacutemero de la versioacuten o hipoacutetesisPeriodo Text(10) 10 Periodo o semestre del grupoAnio INTEGER 4 Antildeo del grupo
Tabla RAMA_MATERIAFuncioacuten La tabla almacena la clasificacioacuten de las materias de acuerdo a las ciencias a la que
pertenecen
Lista de columnas de la tabla RAMA_MATERIANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_rama COUNTER 4 X Identificador de la rama de unamateria (clasificacioacuten)
Nombre_rama Text(30) 30 Descripcioacuten de la rama de unamateria
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla REGLAS
Funcioacuten Esta tabla almacena las reglas utilizadas para generar los grupos que se deben ofertar elproacuteximo semestre indicando para cada regla el tipo de ajuste que debe aplicarse
Lista de Columnas de la Tabla REGLASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Descripcion Text(70) 70 Descripcioacuten de la regla para ajustarel nuacutemero de grupos
Id_regla COUNTER 4 X Identificador de la reglaId_ajuste INTEGER 4 X Identificador del tipo de ajuste que
se aplica cuando esta regla sedispara para alguna materia
Tot_peso INTEGER 4 Total de los pesos de lascaracteriacutesticas de esta regla
Tabla SERVICIOS_ESCOLARESFuncioacuten En esta tabla se almacenan los datos estadiacutesticos de cada materia que provienen de
Servicios Escolares para el caacutelculo del nuacutemero de grupos que deben abrirse para elproacuteximo semestre contiene tambieacuten los paraacutemetros proporcionados por el SistemaExperto para realizar el ajuste al nuacutemero de grupos calculado inicialmente
Lista de columnas de la tabla SERVICIOS_ESCOLARESNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materiaINSCRITOS SMALLINT 4 Nuacutemero de alumnos inscritos
actualmente en el grupoNO INSCRITOS SMALLINT 4 Nuacutemero de alumnos que pueden
cursar la materia pero no seinscribieron
SIMULACION SMALLINT 4 Simulacioacuten de Servicios Escolaresde alumnos que podraacuten cursar lamateria
PROXIMOSEMESTRE
SMALLINT 4 Resultado del calculo de ServEscolares de alumnos que cursaraacutenla materia
GRUPOSREQUERIDOS
DOUBLE 4 Grupos requeridos para abrirproacuteximo semestre seguacuten caacutelculosiniciales
Indice dereprobacion
DOUBLE 4 Indice de reprobacioacuten de la materia
periodo Text(7) 7 Periodo de caacutelculo de horarios actual(semestre ene-jun o ago-dic)
Capiacutetulo 4 Anaacutelisis y Disentildeo
antildeo INTEGER 4 Antildeo de caacutelculo de horariosGrupos ajustado SMALLINT 4 Nuacutemero de grupos a solicitar para
abrir proacuteximo semestreAlumnos ajustado SMALLINT 4 Caacutelculo final del numero de alumnos
del proacuteximo semestre en estamateria
Id_ajuste INTEGER 4 X Tipo del ajuste aplicado por elSistema Experto al campogrupos_requeridos
Id_regla SMALLINT 4 X Regla que se disparo para realizar elajuste
Tabla TIPO_HORARIOFuncioacuten Esta tabla almacena los formatos de los distintos tipos de horario que existen y se ofrecen
para cada materia horarios de 2345 diacuteas a la semana y de 123 o 4 horas por diacutea
Lista de columnas de la tabla TIPO_HORARIONombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Tipo_horario COUNTER 4 X Identificador del tipo de horarioDescripcion Text(20) 20 Descripcioacuten del tipo de horarioLunes SMALLINT 4 Nuacutemero de horas del lunesMartes SMALLINT 4 Nuacutemero de horas del martesMiercoles SMALLINT 4 Nuacutemero de horas del mieacutercolesJueves SMALLINT 4 Nuacutemero de horas del juevesViernes SMALLINT 4 Nuacutemero de horas del viernesSabado SMALLINT 4 Nuacutemero de horas del saacutebado
Tabla TIPO_PERFILFuncioacuten Aquiacute se almacena una clasificacioacuten de los perfiles de acuerdo a la rama de conocimiento
a la que pertenecen
Lista de columnas de la tabla TIPO_PERFILNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_tipo COUNTER 4 X Identificador del tipo de perfilTipo_perfil Text(30) 30 Descripcioacuten del tipo de perfil de los
catedraacuteticos o las materias
Capiacutetulo 4 Anaacutelisis y Disentildeo
456 Lista de funciones o programas
Nombre Programa Descripcioacuten del programa
Ajustes Datos generales de los tipos de ajustes que se aplican al nuacutemero degrupos por abrir al dato de Servicios Escolares
Aulas Captura los datos de las aulas disponibles para claseCaptura_horarios Este programa realiza los cambios posteriores a la generacioacutenCarreras Captura los datos de las carreras del tecnoloacutegicoCatedraticos Datos generales de los catedraacuteticosClonacion Obtiene una copia (clon) del mejor individuo de una generacioacutenCons_ajuste Muestra yo imprime los datos generales de los ajustesCons_aulas Emite una pantalla de consulta general de aulasCons_captura_horarios Muestra una pantalla de consulta de los horarios generadosCons_carrera Despliega yo imprime las carrerasCons_catedratico Muestraimprime los datos generales de los catedraacuteticosCons_criterio Formulario que muestra yo despliega los criterios generalesCons_critXmat Muestra yo imprime los criterios de una materiaCons_critXregla Despliegaimprime los criterios que forman una reglaCons_gpos_abrir Explicacioacuten de la inferencia realizada (reglas disparadas)Cons_hist_crit Muestra las reglas de produccioacuten de los criteriosCons_materia Pantalla que despliega yo imprime datos de las materiasCons_materia_gral Pantalla de consulta general de los datos de materiasCons_perf_cate Consultaimprime los datos del perfil acadeacutemico de los
catedraacuteticosCons_perf_mate Consultaimprime los datos del perfil acadeacutemico de las materiasCons_perfil Muestraimprime datos de los perfilesCons_perfiles Consulta a la lista de perfiles o caracteriacutesticas Cons_perfilxmat Consulta a las reglas de produccioacuten del perfil de una materiaCons_rama Consulta a la lista de ramas (clasificacioacuten de las materias)Cons_reglas Consulta a la base de reglas para ajustar nuacutemero de gruposCons_serv_esc Consulta a las tablas que tienen informacioacuten de Servicios
EscolaresCons_serv_escol Pantalla que muestra yo imprime los datos estadiacutesticos de Serv
EscCons_tipo_perfil Consulta a los tipos de perfil (clasificacioacuten de perfiles)Crit_X_mat Formulario que captura los criterios pertenecientes a una materiaCrit_X_regla Captura los criterios que forman una regla de produccioacutenCriterios Pantalla que captura el conocimiento de criterios para el SECriteriosxmat Pantalla de captura para los criterios por materiaCruzamiento Programa que realiza la combinacioacuten (cruza) de individuos de la
poblacioacuten en el Algoritmo Geneacutetico
Capiacutetulo 4 Anaacutelisis y Disentildeo
Evaluacion Programa que realiza la creacioacuten del cromosoma de evaluacioacuten alevaluar las versiones de horarios de una generacioacuten
Explica_ajustes Moacutedulo de explicacioacuten del porque se aplicoacute determinado ajuste auna materia
Explica_mat_p_prof Explicacioacuten del porque una materia puede ser impartida por unprofesor con cierto grado de certidumbre
Explica_prof_p_mat Explicacion del porque un profesor puede impartir una materiacon cierto grado de certidumbre
Genera_horarios Sistema que utiliza Programacioacuten Loacutegica de Restricciones paragenerar los paquetes de horarios de un semestre
Genera_paquete Muestra el paquete generado por el procesoGrupo_nuevo Programa que va generando los paquetesGrupos_por_abrir Inferencia realizada para definir el ajuste aplicado a los grupos
definidos por Servicios EscolaresHistorial_criterios Captura los criterios necesarios para hacer una reglaHistorial_materia Captara los criterios por materiaMat_para_prof Inferencia realizada para determinar que profesores pueden
impartir una materiaMaterias Actualizacioacuten al archivo datos generales de las materiasMenu_algoritmos_geneticos Menuacute del moacutedulo para asignar aula a los gruposMenu_generacion_grupos Menuacute del Sistema Experto para definir cuantos grupos abrirMenu_asigna_horario Menuacute del moacutedulo asignacioacuten de horarioMenu_principal Menuacute principal del sistemaMenu_sel_catedra Menuacute del Sistema Experto para seleccioacuten de catedraacuteticos a
materiaMutacion Programa que hace la modificacioacuten de informacioacuten de aulas de
alguna versioacuten (versioacuten)Perfil_catedratico Captura el perfil acadeacutemico de los catedraacuteticosPerfil_materia Captura el perfil acadeacutemico de las materiasPerfiles Datos generales del perfil acadeacutemico de materias y catedraacuteticosPoblacion_inicial Programa que genera versiones de horarios y que de manera
aleatoria le va asignando aula a los gruposPortada_principal Es la ventana de entrada al sistemaProf_para_mat Inferencia realizada para determinar que materias pueden ser
impartidas por un profesorRama Programa que capturas las posibles ramas de los materiasReglas Datos generales de las reglas de produccioacuten para definir el No de
grupos por abrirSeleccioacuten Proceso que selecciona las mejores versiones de horarios (mejores
individuos) y elimina las menos aptasServ_escolares Pantalla de captura de los datos estadiacutesticos de Servicios EscolaresTipo_perfil Programa que captura la clasificacioacuten de los perfiles de materias y
profesores
Capiacutetulo 4 Anaacutelisis y Disentildeo
457 Diagrama de Arquitectura (Menuacutes)
Menuacute general
Menuacute Grupos porabrir
MenuacuteGeneracioacuten de
horarios
MenuacuteAsignacioacuten de
aulas
Datos de materias
Estadiacutesticos Serv Esc
Criterios
Criterios por materia
Reglas
Criterios por regla
Ajustes
Carreras
Nuacutemero de grupos
MenuacuteSeleccioacuten decatedraacuteticos
Genera paquete
Genera horarios
Datos generalesgrupos
Datos de aulas
Genera poblacioacuteninicial
Evaluacioacuten
Seleccioacuten
Cruzamiento
Clonacioacuten
Mutacioacuten
Horarios finales
Perfiles
Perfil de las materias
Perfil de catedraacuteticos
Catedraacuteticos
Perfil de loscatedraacuteticos
Asignacioacuten materia aprofesor
Asignacioacuten profesor amateria
Capiacutetulo 4 Anaacutelisis y Disentildeo
Capiacutetulo 5 Implementacioacuten del sistema
CAPIacuteTULO 5
IMPLEMENTACIOacuteN
51 Pantallas del sistema
La Figura 51 muestra la portada inicial del proyecto Contiene los logotipos de las tresinstituciones participantes y el nombre del proyecto
Fig 51 Portada inicial del proyecto
La Figura 52 es la pantalla que proporciona la informacioacuten de los autores del proyecto
Es el botoacutende entrada alsistema
Botoacuten deinformacioacuten delos autores
Capiacutetulo 5 Implementacioacuten del sistema
Fig 52 Acerca del sistema
La Figura 53 muestra el menuacute principal del proyecto contiene y 4 moacutedulos La primeraopcioacuten incluye los moacutedulos administrativo y generacioacuten de grupos la segunda opcioacutenincluye seleccioacuten de maestro y seleccioacuten de materia
Fig 53 Menuacute principal del proyecto
Moacutedulos delproyecto
Cuadro queproporcionalainformacioacutende la opcioacutensentildealada porel cursor
Capiacutetulo 5 Implementacioacuten del sistema
En la Figura 54 se tiene la pantalla del menuacute que agrupa los programas del moacuteduloadministrativo y Sistema Experto para determinar el nuacutemero de grupos por abrir seguacutenlos caacutelculos realizados con los datos de Servicios Escolares y el ajuste a ese dato
Fig 54 Menuacute grupos por abrir
Este programa del moacutedulo administrativo (Figura 55) sirve para capturar la informacioacutengeneral de las asignaturas que componen una carrera
Fig 55 Materias
Programas delos moacutedulos
Descripcioacutende laactividad delprogramaseleccionado
Nombre de laasignatura
Nuacutemero dehoraspraacutecticas yteoacutericas
Alumnos por grupopara calcularcantidad de grupos
Dato para formarpaquetes porsemestre
Icono quehabilita lacaptura denuevosdatos
Icono queregresa alMenuacute anterior
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 56 es un ejemplo de la consulta de datos en pantalla
Fig 56 Consulta Materias
La Figura 57 es la pantalla donde se capturan los datos estadiacutesticos provenientes deServicios Escolares contiene la informacioacuten necesaria para realizar el caacutelculo originaldel nuacutemero de grupos de cada asignatura que se debe abrir para ofertarse a los alumnosel siguiente semestre la foacutermula mostrada proporciona tal dato
Botoacuten queregresa elcontrol alprogramaque loinvocoacute
Alumnosesperados parael proacuteximo
Fccg
Datosestadiacutesticos
Fig 57 Pantalla Servicios Es
semestre
oacutermula paraaacutelculoantidad-rupos
Caacutelculosgeneral y pormateria
Grupos (datoestadiacutestico)
colares
Capiacutetulo 5 Implementacioacuten del sistema
En la Figura 58 se muestra la pantalla de consulta de los datos estadiacutesticosproporcionados por Servicios Escolares
Fig 58 Pantalla consulta Servicios Escolares
Esta pantalla captura las caracteriacutesticas por materia que dan origen al conocimientonecesario para definir el tipo de ajuste que se aplica al dato del nuacutemero de gruposproporcionado por los caacutelculos estadiacutesticos de la pantalla anterior
Criterios de unamateria
Fig 59 Pantalla criterios por materia
Grado deimportancia de esacaracteriacutestica para la
Capiacutetulo 5 Implementacioacuten del sistema
En la Figura 510 se muestra un ejemplo de la consulta a la base de datos del sistema enla parte de criterios por materia
Fig 510 Pantalla consulta criterios por materia
Esta pantalla (fig 511) proporciona al sistema la capacidad de capturar modificarborrar e imprimir las carreras del Instituto Tecnoloacutegico de Zacatepec
Fig 511 Pantalla carreras
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 512 proporciona al sistema la capacidad para capturar los criterios(conocimientos) del experto para definir a cada materia
Fig 512 Pantalla criterios
La Figura 513 muestra un ejemplo de consulta al archivo de los criterios capturados enel sistema
Fig 513 Pantalla consulta criterios
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 514 muestra la pantalla de captura de las reglas que componen el SistemaExperto para determinar el tipo de ajuste que se aplicaraacute al dato estadiacutestico del nuacutemerode grupos que se van a abrir el proacuteximo semestre cada regla tiene asignado un tipo deajuste
Fig 514 Pantalla reglas
La Figura 515 muestra un ejemplo de la consulta al archivo de las reglas que utiliza elSistema Experto para determinar nuacutemero de grupos por ofertar el proacuteximo semestre
Fig 515 Pantalla consulta reglas
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 516 muestra la pantalla de captura al archivo de ajustes noacutetese que ladescripcioacuten explica en extenso la accioacuten que se realiza al aplicar este ajuste provenientede una regla disparada por los criterios pertenecientes a la definicioacuten de una materia
Fig 516 Pantalla ajustes
La Figura 517 muestra la pantalla de la consulta a los ajustes que contiene el sistema
Fig 517 Pantalla consulta ajustes
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 518 muestra la pantalla que captura los criterios para cada regla Una reglaestaacute formada por el mismo tipo de criterios que definen a las materias
Criteriosde una
Fig 518 Pantalla criterios por regla
La Figura 519 muestra el ejemplo de una consulta de los criterios que definen a unaregla
Fig 519 Pantalla consulta criterios por regla
Reglas de produccioacuten Criterios por regla
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 520 es la pantalla maacutes importante de moacutedulo de generacioacuten de grupos porquees donde se realiza la inferencia para calcular el tipo de ajuste que se va a aplicar a cadamateria con base en las reglas que se disparan y que hacen match los criterios de unaregla y los criterios de una materia
Fig 520 Pantalla caacutelculo de ajustes
Esta pantalla (Figura 521) ofrece una explicacioacuten mostrando los criterios que definenuna materia y su correspondiente regla disparada mostrando los criterios de la regla quehacen match con los criterios de la materia
Fig 521 Pantalla explicacioacuten de la inferencia
Asignaturaa la que sele aplicaraacuteel ajuste
Regla quese disparaseguacutencriterios
Tipo deajuste quese aplica
Dato seguacutenestadiacutestico
Datos seguacutenajuste delSistemaExperto
Inferenciageneral
Inferenciaindividual
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 522 muestra el formulario que forma los paquetes de materias seguacuten laretiacutecula de una carrera muestra el nuacutemero de grupos por cada materia que se van aformar y hace los paquetes asignando los grupos AA AB AC AD
Fig 522 Pantalla inicial del moacutedulo generacioacuten de horarios
La Figura 523 es el formulario del moacutedulo Programacioacuten Loacutegica de Regenera los horarios por paquete satisfaciendo las restricciones para forlibre de choques continuo (sin horas muertas) cumpliendo las horas por m
Fig 523 Pantalla principal del moacutedulo generacioacuten de horari
Semestre al que sele formaraacuten lospaquetes
Paquetes generadosHora de iniciode clases decada grupo
Materias delsemestre
Nuacutemero de gruposal que se lesgeneraraacute horario
MateriaPaquete
Nuacutemero dehoras por diacutea
Botonesque invocanal moacutedulogeneradorde horarios
stricciones quemar un horarioateria etc
Hora de iniciode la materia
os
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 524 muestra el moacutedulo para asignar aula a los horarios que ya tienen materiagrupo y hora
Fig 524 Pantalla principal del menuacute Algoritmos Geneacuteticos
Esta pantalla (Figura 525) se utiliza para hacer altas bajas consulta y modificaciones alos grupos que se les va a dar aula
Fig 525 Pantalla de administracioacuten de grupos
Periodode loshorarios
Hora iniciodel grupo
Hora por diacutea
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 526 muestra una consulta de la pantalla administracioacuten de grupos
Fig 526 Pantalla de consulta de administracioacuten de grupos
La Figura 527 muestra la pantalla para actualizar las aulas disponibles por las personasque generan los horarios estas aulas estaacuten disponibles para que el Algoritmo Geneacuteticolas utilice para asignarles grupos durante el proceso
Fig 527 Pantalla del control de aulas
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 528 muestra la consulta de las aulas que utiliza el moacutedulo generacioacuten deaulas
Fig 528 Pantalla de consultas del control de aulas
La Figura 529 muestra la pantalla que genera la poblacioacuten inicial a partir de los datosgenerales proveniente de los moacutedulos anteriores
Fig 529 Pantalla de genera poblacioacuten inicial
Nuacutemero dehipoacutetesisversiones oindividuos
Aula aleatoriagenerada
Este botoacuteninicia lageneracioacutende las nversionesde horarios
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 530 muestra la pantalla que evaluacutea las versiones originadas y genera paracada una de ellas un cromosoma cuyos genes contienen la informacioacuten obtenida
Fig 530 Pantalla de evaluacioacuten de versiones
La Figura 531 muestra el formulario del proceso de seleccioacuten de las mejores versionesde horarios toma aquellas que tienen menor numero de choques y mayor espacio deocupacioacuten de aulas
Fig 531 Pantalla del proceso de seleccioacuten
Cantidad deversiones quesobreviviraacuten
Cromosomas delos mejoresindividuos
Botoacuten queinicia elproceso deseleccioacuten
Botoacuten queinicia elproceso deeliminacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 532 muestra la pantalla del proceso de clonacioacuten donde se selecciona la mejorversioacuten y se obtiene un clon ideacutentico con un nuevo nuacutemero de versioacuten
Fig 532 Pantalla del proceso de clonacioacuten
La Figura 533 muestra la pantalla del proceso de mutacioacuten utilizado para hacer elcambio ldquomutarrdquo los datos de una versioacuten para romper alguacuten ciclado de la tendencia haciael resultado o simplemente para acelerar el proceso de optimizacioacuten
Cromosomasde versionesmaacutes aptas
Nuacutemero demejor versioacuten
Poblacioacutenversiones
Cromosomamuestra lasmejoresversiones
Aulas quepueden mutarse
Botoacuten queinicia elproceso demutacioacuten
Nuacutemero deversioacuten
Fig 533 Pantalla de mutacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 534 muestra la pantalla donde se realiza el cruzamiento utilizando plantillaspredeterminadas dirigiendo la cruza de versiones por paquetes de materias agrupadas porsemestre y cada plantilla genera una nueva versioacuten con la combinacioacuten de fragmentosde varias versiones
Fig 534 Pantalla del proceso de cruzamiento
La Figura 535 permite la seleccioacuten y enviacuteo de la mejor versioacuten de horarios y adaptarloal moacutedulo administrativo para su distribucioacuten y publicacioacuten
Fig 535 Horarios finales
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 536 muestra el menuacute de los moacutedulos que sugiere maestros para impartir unaasignatura y sugerencia de asignatura para alguacuten maestro
Fig 536 Pantalla menuacute seleccioacuten de catedraacuteticos
La Figura 537 muestra la pantalla para la captura de caracteriacutesticas de losconocimientos requeridos para dar una materia que son las mismas caracteriacutesticas quedefinen los conocimientos de un profesor para impartir las materias
Fig 537 Pantalla de perfiles
Clasificacioacutende los perfiles
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 538 muestra una consulta de los perfiles agrupados por tipo
Fig 538 Pantalla de consulta perfiles
La Figura 539 muestra la pantalla en la que se definen los conocimientos requeridospara poder impartir una asignatura de acuerdo al perfil y contenido temaacutetico
Fig 539 Pantalla perfiles de las materias
La Figura 540 muestra un ejemplo de la consulta al perfil de una materia
Importancia de lacaracteriacutestica en la materia
Capiacutetulo 5 Implementacioacuten del sistema
Fig 540 Pantalla consulta perfiles de las materias
La Figura 541 es utilizada para capturar los datos de los catedraacuteticos que imparten lasasignaturas de una carrera
Fig 541 Pantalla captura datos de catedraacuteticos
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 542 es una muestra de la consulta al archivo de los catedraacuteticos
Fig 542 Pantalla consulta datos de catedraacuteticos
La Figura 543 muestra la pantalla en que se captura el perfil de los catedraacuteticos elperfil son los conocimientos que tiene el profesor que lo capacitan para impartir algunaasignatura
Fig 543 Pantalla captura perfil de catedraacuteticos
Conocimientosdel profesor
Barra deseleccioacuten deperfiles
Grado dedominio deltema
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 544 muestra una consulta tiacutepica al archivo de perfiles de los catedraacuteticos
Fig 544 Pantalla consulta perfil de catedraacuteticos
La Figura 545 muestra la pantalla de inferencia final que sugiere quienes son loscatedraacuteticos maacutes capacitados para impartir una materia haciendo la inferencia mediantela buacutesqueda de matchs entre el perfil de la asignatura y el perfil del catedraacutetico
Fig 545 Pantalla muestra inferencia catedraacuteticos para materia
Candidatos aimpartir lamateria
Botoacuten del proceso deinferencia generalPorcentaje de certeza con
que puede impartirla
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 546 muestra la pantalla de explicacioacuten donde se indican los perfiles de lamateria y el perfil del profesor
Fig 546 Pantalla explicacioacuten porque un maestro puede dar una materia
La Figura 547 muestra el resultado de la inferencia del proceso que sugiere las materiasque puede impartir un profesor con base en el perfil de la materia y el perfil del profesor
Fig 547 Pantalla materias que puede impartir un profesor
Posibles materia aimpartir Porcentaje de certeza con
que puede impartirlaBotoacuten del proceso deinferencia general
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 548 muestra la pantalla de explicacioacuten donde se indican el perfil de la materiay el perfil del profesor
Fig 548 Pantalla de explicacioacuten porque un profesor puede dar una materia
Capiacutetulo 5 Implementacioacuten del sistema
Capiacutetulo 6 Pruebas y Resultados
CAPIacuteTULO 6
PRUEBAS Y RESULTADOS
61 Pruebas del sistema
Se pueden detectar dentro del desarrollo de sistemas las actividades para realizarpruebas las producidas durante la etapa de requerimientos de disentildeo preliminar y las dedisentildeo detallado Clasificadas de otra manera eacutestas pueden ser funcionales deintegracioacuten y de implementacioacuten
La finalidad de realizar Pruebas funcionales es detectar errores que pudieran habersedado durante las fases de anaacutelisis y de especificacioacuten Por otro lado ellas pueden ayudara probar si el disentildeo es correcto ya que esta fase en sus dos niveles preliminar ydetallado estaacute basada en el anaacutelisis y especificacioacuten de requerimientos del sistema Estaactividad es guiada por los objetivos y requerimientos plasmados Se busca en estaprueba la posibilidad de que se haya incurrido en errores de conceptualizacioacuten yo deespecificacioacuten Las pruebas se organizan tomando como guiacutea las diferentes opciones delsistema final
Las Pruebas de integracioacuten se realizan cuando se procede a interconectar los diferentessubsistemas que constituyen el futuro sistema Como es conocido un sistema puede serdesarrollado por diferentes personas Por esta razoacuten es de suma importancia probar lainterconexioacuten de los diferentes subsistemas y asiacute verificar que ha sido realizada demanera correcta
Las Pruebas de implementacioacuten o codificacioacuten son las que se realizan directamentesobre los programas que se estaacuten desarrollando durante la fase de implementacioacuten Estosmoacutedulos o programas a su vez constituyen subsistemas Por esta razoacuten la integracioacuten delos diferentes moacutedulos que forman un subsistema deben ser probados Estas pruebasdeben estar basadas en la especificacioacuten de disentildeo preliminar y detallado [Gerez 1985]
Los siguientes rubros describen las pruebas maacutes importantes que se consideraron paravalidar el sistema las pruebas funcionales Las pruebas de implementacioacuten se realizarondurante el desarrollo de la codificacioacuten de los diferentes moacutedulos
Capiacutetulo 6 Pruebas y Resultados
62 PRUEBAS DEL SISTEMA
621 PRUEBA 1 AacuteREAS DE MENUacuteS
Objetivo Guiar al usuario en el desarrollo del proceso Esta prueba verifica que elsistema tenga como opciones principales y submenuacutes los sentildealados en la definicioacuten derequerimientos
Criterios de aceptacioacuten Cada prueba verifica que el sistema produzca los resultadossentildealados en la definicioacuten de requerimientos
Procedimiento de la prueba A continuacioacuten se despliegan las pantallascorrespondientes a los menuacutes principales y submenuacutes Las opciones principales delproyecto son dos Menu Principal y Datos de los autores
Resultado de la prueba Los resultados fueron satisfactorios En todas las opcionesactivadas el sistema presentoacute los submenuacutes definidos en la etapa de requerimientos
La Figura 61 muestra la portada inicial del proyecto Contiene los logotipos de las tresinstituciones participantes y el nombre del proyecto
Fig 61 Portada inicial del proyecto
Es el botoacutende entrada alsistema
Botoacuten deinformacioacutende los autores
Capiacutetulo 6 Pruebas y Resultados
La Figura 62 muestra el menuacute principal del proyecto y contiene 4 moacutedulos La primeraopcioacuten incluye los moacutedulos administrativo y generacioacuten de grupos la segunda opcioacutenincluye seleccioacuten de maestro y seleccioacuten de materia
Fig 62 Menuacute principal del proyecto
En la Figura 63 se tiene la pantalla del menuacute que agrupa los programas del moacuteduloadministrativo y Sistema Experto para determinar el nuacutemero de grupos por abrir seguacutenlos caacutelculos realizados con los datos de Servicios Escolares y el ajuste a ese dato
Fig 63 Menuacute grupos por abrir
Moacutedulos delproyecto
Cuadro queproporcionalainformacioacutende la opcioacutensentildealada porel cursor
Programas delos moacutedulos
Descripcioacutende laactividad delprogramaseleccionado
Capiacutetulo 6 Pruebas y Resultados
La Figura 64 muestra el menuacute de los moacutedulos que sugiere maestros para impartir unaasignatura y sugerencia de asignatura para alguacuten maestro
Fig 64 Pantalla menuacute seleccioacuten de catedraacuteticos
La Figura 65 muestra el moacutedulo para asignar aula a los horarios que ya tienen materiagrupo y hora
Fig 65 Pantalla principal del menuacute Algoritmos Geneacuteticos
Capiacutetulo 6 Pruebas y Resultados
622 PRUEBA 2 VALIDACIOacuteN DE ENTRADAS
Objetivo Evitar peacuterdidas de tiempo con entradas erroacuteneas de datos y resultados sinvalidez
Criterios de aceptacioacuten Esta prueba deberaacute mostrar de manera exacta la informacioacutenal seleccionar la opcioacuten deseada
Procedimiento de la prueba Se verifica que todas las cajas de texto tengan el dato quese pide y una vez dados todos los datos se guardan para que estos datos posteriormentesean procesados por el sistema y almacenen los datos correctos
Resultado de la prueba Los resultados fueron satisfactorios En todas las opcionesactivadas el sistema presentoacute los resultados correctos a cada opcioacuten Ademaacutes losdesplegados de mensajes de error se presentaron de manera correcta en todas laspruebas
La Figura 66 muestra la captura de datos de una asignatura y enviacutea el correspondientemensaje de error si una caja de texto se encuentra vaciacutea
Fig 66 Pantalla de captura de datos de las Materias
Muestra elmensaje deerror si esque hacefalta alguacuten
Capiacutetulo 6 Pruebas y Resultados
La Figura 67 muestra una pantalla de captura de datos asignando criterios a una materiay valida la no duplicidad de criterios en esa materia se enviacutea el correspondiente mensajede error si una entrada ya fue capturada
Fig 67 Pantalla de captura de datos de Criterios por Materia
La Figura 68 muestra una pantalla de captura de datos de las carreras al encontrar unregistro ya capturado muestra el mensaje de error si una carrera ya fue capturada
Fig 68 Pantalla de captura de datos de Carreras
Muestra elmensajede error sies que yaexiste elregistro
Muestra elmensaje deerror si esque yaexiste elregistro
Capiacutetulo 6 Pruebas y Resultados
623 PRUEBA 3 DESPLEGADO DE RESULTADOS
6231 MOacuteDULO DE GENERACIOacuteN DE GRUPOS POR ABRIR
Objetivo Proporcionar los datos que el moacutedulo pide para que posteriormente elsistema genere el nuacutemero de grupos sugerido por abrir para cada materia
Criterios de aceptacioacuten Esta prueba muestra la lista de grupos que se deben abrirdespueacutes de aplicar los criterios del Sistema Experto
Procedimiento de la prueba Una vez que se proporcionan los datos que el SistemaExperto requiere el sistema generaraacute una lista de los grupos que se deben abrir elproacuteximo semestre
Resultado de la prueba Los resultados fueron satisfactorios En todos los casospresentados el sistema generoacute la lista en forma satisfactoria y con la informacioacutencorrecta
La Figura 69 es la pantalla maacutes importante de moacutedulo de generacioacuten de grupos porquees donde se realiza la inferencia para calcular el tipo de ajuste que se va a aplicar a cadamateria con base en las reglas que se disparan y que hacen match los criterios de unaregla y los criterios de una materia
Asignaturaa la que sele aplicaraacuteel ajuste
Regla quese disparaseguacutencriterios
Tipo deajuste quese aplica
Inferenciageneral
Datoseguacuten
Fig 69 Pantalla caacutelculo de ajustes
Datos seguacutenajuste delSistemaExperto
Inferenciaindividual
Capiacutetulo 6 Pruebas y Resultados
6232 MOacuteDULO DE GENERACIOacuteN DE HORARIOS
Objetivo Proporcionar los datos que el moacutedulo pide para que posteriormente elsistema genere el horario por semestre de las materias de una carrera
Criterios de aceptacioacuten Esta prueba debe mostrar los horarios para las materias sinerrores sin choques de hora en un paquete
Procedimiento de la prueba Recibe como entrada cuantos grupos abrir de cadamateria en cada semestre y genera primero los paquetes posteriormente a cada paquetede materias le asigna la hora por materia
Resultado de la prueba Los resultados fueron satisfactorios En todos los casospresentados el sistema generoacute los horarios correspondientes
La Figura 610 muestra el formulario que forma los paquetes de materias seguacuten laretiacutecula de una carrera muestra el nuacutemero de grupos por cada materia que se van aformar y hace los paquetes asignando los grupos AA AB AC AD
Fig 610 Pantalla inicial del moacutedulo generacioacuten de horarios
Semestre al que sele formaraacuten lospaquetes
Paquetes generadosHora de iniciode clases decada grupo
Materias delsemestre
Nuacutemero de grupospor al que se lesgeneraraacute horario
Botonesque invocanal moacutedulogeneradorde horarios
Capiacutetulo 6 Pruebas y Resultados
La Figura 611 es el formulario del moacutedulo Programacioacuten Loacutegica de Restricciones quegenera los horarios por paquete satisfaciendo las restricciones para formar un horariolibre de choques continuo (sin horas muertas) cumpliendo las horas por materia etc
Fig 611 Pantalla princip
6233 MOacuteDULO ASIGNACIOacuteN D
Objetivo Utilizar los datos generadoaulas a los paquetes de materias
Criterios de aceptacioacuten Esta pruebaasignacioacuten de aula sin choques
Procedimiento de la prueba Se genAlgoritmos Geneacuteticos durante variachoques en el aula
Resultado de la prueba Los resupresentados el sistema generoacute las aula
MateriaPaquete
Nuacutemero dehoras por diacutea
Hora de iniciode la materia
al del moacutedulo generacioacuten de horarios
E AULA
s en el moacutedulo anterior para hacer la asignacioacuten de
debe mostrar los horarios de las materias con una
eran las aulas utilizando los procedimientos de loss generaciones hasta lograr una generacioacuten sin
ltados fueron satisfactorios En todos los casoss correspondientes
Capiacutetulo 6 Pruebas y Resultados
La Figura 612 muestra la pantalla para actualizar las aulas disponibles por las personasque generan los horarios estas aulas estaacuten disponibles para que el Algoritmo Geneacuteticolas utilice para asignarles grupos durante el proceso
Fig 612 Pantalla del control de aulas
La Figura 613 muestra la consulta de las aulas que utiliza el moacutedulo generacioacuten deaulas
Fig 613 Pantalla de consultas del control de aulas
Capiacutetulo 6 Pruebas y Resultados
La Figura 614 muestra la pantalla que genera la poblacioacuten inicial a partir de los datosgenerales proveniente de los moacutedulos anteriores
Fig 614 Pantalla de genera poblacioacuten inicial
La Figura 615 muestra la pantalla que evaluacutea las versiones originadas y genera paracada una de ellas un cromosoma cuyos genes contienen la informacioacuten obtenida
Fig 615 Pantalla de evaluacioacuten de versiones
Nuacutemero dehipoacutetesisversiones oindividuos
Aula aleatoriagenerada
Este botoacuteninicia lageneracioacutende las nversionesde horarios
Capiacutetulo 6 Pruebas y Resultados
La Figura 616 muestra el formulario del proceso de seleccioacuten de las mejores versionesde horarios toma aquellas que tienen menor numero de choques y mayor espacio deocupacioacuten de aulas
Fig 616 Pantalla del proceso de seleccioacuten
La Figura 617 muestra la pantalla del proceso de clonacioacuten donde se selecciona la mejorversioacuten y se obtiene un clon ideacutentico con un nuevo nuacutemero de versioacuten
Fig 617 Pantalla del proceso de clonacioacuten
Cantidad deversiones quesobreviviraacuten
Cromosomas delos mejoresindividuos
Botoacuten queinicia elproceso deseleccioacuten
Botoacuten queinicia elproceso deeliminacioacuten
Cromosomasde versionesmaacutes aptas
Nuacutemero demejor versioacuten
Poblacioacutenversiones
Capiacutetulo 6 Pruebas y Resultados
La Figura 618 muestra la pantalla del proceso de mutacioacuten utilizado para hacer elcambio ldquomutarrdquo los datos de una versioacuten para romper alguacuten ciclado de la tendencia haciael resultado o simplemente para acelerar el proceso de optimizacioacuten
Fig 618 Pantalla de mutacioacuten
La Figura 619 muestra la pantalla donde se realiza el cruzamiento utilizando plantillaspredeterminadas dirigiendo la cruza de versiones por paquetes de materias agrupadas porsemestre y cada plantilla genera una nueva versioacuten con la combinacioacuten de fragmentosde varias versiones
Fig 619 Pantalla del proceso de cruzamiento
Cromosomamuestra lasmejoresversiones
Nuacutemero deversioacuten amutar
Aulas quepueden mutarse
Botoacuten queinicia elproceso demutacioacuten
Capiacutetulo 6 Pruebas y Resultados
La Figura 620 permite la seleccioacuten y enviacuteo de la mejor versioacuten de horarios y adaptarloal moacutedulo administrativo para su distribucioacuten y publicacioacuten
Fig 620 Horarios finales
6234 MOacuteDULO SELECCIOacuteN DE CATEDRATICOS
Objetivo Capturar los datos de los profesores y su perfil profesiograacutefico ademaacutescapturar los conocimientos necesarios para impartir una asignatura para poder sugerircual es el mejor catedraacutetico que puede impartir una asignatura
Criterios de aceptacioacuten Esta prueba debe mostrar la sugerencia de los mejorescatedraacuteticos para una materia y las mejores materias para un catedraacutetico
Procedimiento de la prueba Se daraacuten los datos iniciales de los maestros y el sistemadeberaacute generar una lista a partir de la inferencia del Sistema Experto respectivo yviceversa
Resultado de la prueba Los resultados fueron satisfactorios En todos los casospresentados el sistema infirioacute las materias y los catedraacuteticos correspondientes
Capiacutetulo 6 Pruebas y Resultados
La Figura 621 muestra la pantalla en que se captura el perfil de los catedraacuteticos elperfil son los conocimientos que tiene el profesor que lo capacitan para impartir algunaasignatura
Fig 621 Pantalla captura perfil de catedraacuteticos
La Figura 622 muestra la pantalla de inferencia final que sugiere quienes son loscatedraacuteticos maacutes capacitados para impartir una materia haciendo la inferencia mediantela buacutesqueda de matchs entre el perfil de la asignatura y el perfil del catedraacutetico
Fig 622 Pantalla muestra inferencia catedraacuteticos para materia
Conocimientosdel profesor
Barra deseleccioacuten deperfiles
Grado dedominio deltema
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Candidatos aimpartir lamateria Botoacuten del proceso de
inferencia generalPorcentaje de certeza conque puede impartirla
Capiacutetulo 6 Pruebas y Resultados
La Figura 623 muestra la pantalla de explicacioacuten donde se indican los perfiles de lamateria y el perfil del profesor
Fig 623 Pantalla explicacioacuten porque un maestro puede dar una materia
La Figura 624 muestra el resultado de la inferencia del proceso que sugiere las materiasque puede impartir un profesor con base en el perfil de la materia y el perfil del profesor
Fig 624 Pantalla materias que puede impartir un profesor
Posibles materia aimpartir Porcentaje de certeza con
que puede impartirlaBotoacuten del proceso deinferencia general
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Capiacutetulo 6 Pruebas y Resultados
La Figura 625 muestra la pantalla de explicacioacuten donde se indican el perfil de la materiay el perfil del profesor
Fig 625 Pantalla de explicacioacuten porque un profesor puede dar una materia
Capiacutetulo 6 Pruebas y Resultados
Capiacutetulo 7 Conclusiones y Trabajos Futuros
CAPIacuteTULO 7
CONCLUSIONES Y TRABAJOS FUTUROS
71 CONCLUSIONES
Los meacutetodos de programacioacuten lineal proporcionan una solucioacuten parcial al problema dela generacioacuten de horarios utilizan una ldquorecetardquo predefinida para lograr la optimizacioacutende la asignacioacuten de recursos como lo hace el meacutetodo Huacutengaro La Inteligencia Artificialsoluciona el problema utilizando la heuriacutestica el conocimiento y la experiencia de unexperto humano para solucionar el problema se decidioacute utilizar esta metodologiacutea paraexplorar una solucioacuten aproximada al problema
En el ITZ la generacioacuten de horarios se haciacutea de forma manual no se utilizaba ninguacutenmeacutetodo automatizado Al aplicar algunas teacutecnicas de la Inteligencia Artificial se halogrado generar de manera automatizada los horarios de las materias que se ofertaraacuten elproacuteximo semestre
La aplicacioacuten de varias ramas de la Inteligencia Artificial para la resolucioacuten delproblema de la generacioacuten de horarios viene a demostrar que si es posible generar uncondensado de horarios para el Instituto Tecnoloacutegico de Zacatepec que es una escuelade nivel superior y que estos horarios satisfacen adecuadamente las restricciones fuertesmedias y suaves Para ello fue necesaria la combinacioacuten de varias disciplinas de lacomputacioacuten para generar cada una de las partes que componen un horario y tambieacutenrecomendar los catedraacuteticos mas apropiados para impartir dichos grupos nuevamentequeda demostrado que la Inteligencia Artificial sirve para resolver problemas que lasteacutecnicas convencionales de computacioacuten consideran problema NP-completo
La utilizacioacuten de las teacutecnicas de los Sistemas Expertos para ajustar el nuacutemero de grupospor abrir el proacuteximo semestre permite aplicar el conocimiento y experiencia de lapersona encargada de elaborar los horarios y asiacute disminuir el nuacutemero de gruposcancelados el conocimiento e intuicioacuten del experto humano realizan un ajuste fino alnuacutemero de grupos y como puede notarse el sistema lo hace de manera similar
Para el moacutedulo de generacioacuten de los grupos y los horarios la utilizacioacuten de la teacutecnicallamada Programacioacuten Loacutegica de Restricciones permitioacute la satisfaccioacuten de lasrestricciones que hacen que los horarios sean considerados factibles para su aplicacioacuten a
Capiacutetulo 7 Conclusiones y Trabajos Futuros
los alumnos el proacuteximo semestre ya que los paquetes de materias por semestre tienenhorarios corridos y sin choques en horas nuacutemero de materias completo y buenadistribucioacuten de horas pares e impares
Se utilizoacute tambieacuten la teacutecnica de optimizacioacuten llamada Algoritmos Geneacuteticos pararealizar la asignacioacuten de aulas a cada grupo generado logrando con ello minimizarautomaacuteticamente el nuacutemero de choques de materias en aulas En las pruebas realizadasse logroacute que en la sexta generacioacuten de individuos ya soacutelo hubiera hasta un maacuteximo de 24choques lo que indicaba que soacutelo 4 oacute 5 grupos compartiacutean aula a la misma hora esto erafaacutecilmente corregible realizando una inspeccioacuten visual a la versioacuten de horarios final yajustando los uacuteltimos errores
Por uacuteltimo nuevamente se aplicaron los Sistemas Expertos en el moacutedulo de sugerenciade materias que puede impartir un maestro y en el moacutedulo maestros que pueden impartiruna determinada materia vale la pena comentar que durante las pruebas realizadas loscatedraacuteticos del departamento de Sistemas y Computacioacuten capturaban su perfilprofesiograacutefico y al pedir al sistema la sugerencia de cuaacuteles materias podriacutean impartirlos Sistemas Expertos del proyecto inferiacutean exactamente las materias que loscatedraacuteticos estaacuten impartiendo en este semestre y las que habiacutean impartido en alguacutensemestre anterior demostrando que en efecto para profesores nuevos la recomendacioacutendel sistema seriacutea vaacutelida
72 TRABAJOS FUTUROS
Se sugiere que se ampliacutee el proyecto para que a cada grupo generado con aula y hora sele asigne de manera automaacutetica un catedraacutetico utilizando ya sea Algoritmos Geneacuteticos oProgramacioacuten Loacutegica de Restricciones
Otra posible mejora puede ser incluir la Loacutegica Difusa en los Sistemas Expertos de losmoacutedulos que sugieren las materias que puede impartir un catedraacutetico y los catedraacuteticosque pueden impartir una asignatura
Como ya se comproboacute la factibilidad de generar los horarios de manera automaacutetica sepropone tambieacuten la exploracioacuten de otras ramas y teacutecnicas de la computacioacuten (RedesNeuronales Buacutesqueda Tabuacute Grafos Coloreados etc) para comparar el rendimientotiempo esfuerzo y asiacute poder determinar cuales son mejores o peores teacutecnicas pararesolver el problema de la generacioacuten de horarios
Referencias Bibliograacuteficas
REFERENCIAS BIBLIOGRAacuteFICAS
[Abramson 1991] Abramson D ldquoConstructing School Timetables Using SimulatedAnnealing Secuencial and Parallel Algoritmsrdquo Management Science PWS PublishingBoston 1998
[Beasley 1993] Beasley D amp Bull DR amp Martin RR ldquoAn Overview of GeneticAlgorithms Part 1 Fundamentalsrdquo University Computing
[Bull 1993] Bull DR amp Beasley D amp Martin RR ldquoAn Overview of GeneticAlgorithms Part 2rdquo University Computing Magazine 1993
[Burke1994]Burke EK ldquoA Genetic Algorithm for University Timetablingrdquo AISBworkshop on evolutionary computing Leeds 1994
[Burke 1997] Burke Edmund K ldquoAutomated Scheduling Optimization and PlanningGroup (ASAP)rdquo PATATrsquo97 Proceedings of the 2nd Intenational Conference on thePractice And Theory of Automated Timetabling 1997
[Burke2000] Burke Edmund amp Eliman David amp Weare Rupert ldquoA GeneticAlgorithm Based University Timetabling Systemrdquo PATATrsquo2000 Proceedings of the 5ft
Intenational Conference on the Practice And Theory of Automated Timetabling 2000
[Burke2001] Burke EK amp Eliman DGamp Weare R ldquoAutomated Scheduling OfUniversity Examsrdquo Leeds 2001
[Burke2002] Burke Edmund amp Eliman David amp Weare Rupert ldquoExaminationTimetabling in British Universities ndash A Surveyrdquo Leeds 2002
[Carrasco 2004] Carrasco Marco amp Pato Margarida ldquoSolving Real ClassTeacherTimetabling Problems using Neural Networksrdquo Facultade de Ciencias University ofLisboa Portugal
[Chorafas 1990] Chorafas Dimitris N ldquoKnowledge Engineeringrdquo Van NostrandReinnhold New York USA
Referencias Bibliograacuteficas
[Corne 1993] Corne D ldquoSolving the module exam scheduling problem with geneticalgorithmsrdquo Proceedings of the 6th Intenational conference in Industrial andEngineering applications of Artificial Intelligence and Expert Systems1993
[Daellenbach 1987] Daellenbach Hans amp McNickle Donald ldquoIntroduccioacuten a teacutecnicasde Investigacioacuten de Operacionesrdquo CECSA Meacutexico 1987
[Davis 1991] Davis L ldquoHandbook of Genetic Algorithmsrdquo Van Nostrand ReinholdNew York NY
[Demist2000] Demist ldquoDepartamental Timetabling Proyect ProposalDeMIStinterface to Timetabling Package Proyectrdquo Demist University 2000
[Detcher 1990] Detcher R ldquoEnhancement Schemes for Constraint Processing BackJumping Learning and Cutset Decompositionrdquo Artificial Intelligence 41 (1990)
[Eliman 2000] Eliman David ldquoSpecialised Recombinative Operators for TimetablingProblemsrdquo Cambridge University Press New York 2000
[Elmohamed2000] Elmohamed Saleh ldquoThe timetabling problemrdquo PATATrsquo2000Proceedings of the 5th Intenational Conference on the Practice And Theory ofAutomated Timetabling 2000
[Elmohamed2001] Elmohamed Saleh ldquoConstraint based university coursetimetablingrdquo 4th World Congress on Timetabing Aplication of advanced informationTechnologies London 2001
[Fahrion y Dollanski 1992] Fahrion R amp G Dollanski ldquoConstruction of UniversityFaculty Timetables using Logic Programmingrdquo ACM Sigsoft Notes vol 9 no 3 May1992
[Frenzel 1986]Frenzel Louis E ldquoCrash Course in Artificial Intelligence and ExpertSystemsrdquo Howard W Sams amp Co McMillan Inc Indianapolis USA
[Gerez 1985] Gerez Victor amp Mier Mauricio ldquoDesarrollo y administracioacuten deprogramas de computadorardquo McGraw Hill Meacutexico 1985
[Gervaacutes 1999] Gervaacutes P amp San Miguel B ldquoSequential Building of ConstrainedTimetables Using Rule-Based Heuristics An Expert System for AutomatedTimetablingrdquo Congreso Internacional de Investigacioacuten en Ciencias Computacionales
Referencias Bibliograacuteficas
[Giarratamo 1998] Giarratamo Joseph y Gary Riley ldquoExpert Systems Principles andProgrammingrdquo PWS Kent Publishing Company Boston USA
[Gines 1986] Gines B amp Boose J ldquoKnowledge Acquisition for Knowledge-BasedSystemsrdquo Vol 1amp2 Academic Press London U K
[Goldberg 1989] Goldberg DE ldquoGenetic Algorithms in SearchOptimization andMachine LearningrdquoAddison-Wesley
[Kang y White 1994 ] Kang L amp White GM ldquoA Logic Approach to the Resolutionof Constrains in Timetablingrdquo European Journal of Operational Research vol 61 1994
[Kandel 1991] Kandel Abraham ldquoFuzzy Expert Systemsrdquo CRC Press Inc LondonUK 1991
[Kendall1999] Kendall y Kendall ldquoAnaacutelisis y disentildeo de sistemasrdquo 3ordf edicion PearsonEducacioacuten
[Koza 1992] Koza JR ldquoGenetic Programming On the Programming of Computers bymeans of Natural Selectionrdquo Cambridge MA MIT Press
[Martiacutenez 1999] Martiacutenez Alfaro Horacio ldquoSolucioacuten al problema de asignacioacuten desalones de clases horario y grupo mediante templado simuladordquo Memorias 6ordm CongresoInternacional de Mecatroacutenica e Inteligencia Artificial Meacutexico 1999
[Medina 2004] Medina Pasaflores Horacio ldquoFundamentos de Algoritmos GeneacuteticosrdquoTesis de licenciatura Zacatepec Mexico 2004
[Michalewicz 1992] Michalewicz Z ldquoGenetic algorithms + Data Structures =Evolution Programsrdquo Springer-Verlag New York NY
[Negoita1985] Negoita ConstantinV Expert Systems and Fuzzy Systems TheBenjamin Cummings Publishing Co Menlo Park CA USA
[Nielsoft 2000] Nielsoft informatica ldquoManual de usuario Mimosa for windowsrdquo
[Paechter 1994] Paechter B ldquoTwo solutions to the general timetabling problemusing evolutionary methodsrdquo IEEE WCCI 1994
[Pluss1999] Pluss JJ ldquoSistemas expertos un enfoque pragmaacuteticordquo UNR
Referencias Bibliograacuteficas
[Rich 1996] Rich E y Knight K ldquoInteligencia Artificialrdquo McGraw HillInteramericana Madrid Espantildea
[Russell 1996] Russell S y Norvig P ldquoInteligencia Artificial un enfoque modernordquoPrentice Hall Mexico 1996
[Sanchez1999] Sanchez y Beltran ldquoSistemas expertos una metodologiacutea deprogramacioacutenrdquo Macrobit
[Schedul2000] SchedulExpert ldquoCourse scheduling in post educational institutionsrdquo EdAddison Wesley 2000
[Trick 1999 ] Trick Michael ldquoNetwork resources for coloring a graphrdquo Oracle PressEd McGraw Hill 1999
[Turban 1995] Turban Efraim ldquoDecision Support and Expert Systems ManagementSupport Systemsrdquo Fourth Edition Orentice Hall NJ USA
[Waterman1986] Waterman Donald A ldquoA Guide to Expert Systemsrdquo Addison-Wesley Publishing Co USA
[Weare2000] Weare Rupert amp Burke Edmundo amp Eliman David ldquoA Questionnaireon Exam Timetabling in Universitiesrdquo Annual review of computer Science Volume 2Palo Alto 2000
[Wilke 2002] Wilke P amp Grobner M amp Oster N ldquoA hibrid Genetic Algorithm forSchool Timetablingrdquo Advances in Artificial Intelligence Springer Lecture Notes inComputer Science New York
[Yoshikawa 1994] Yoshikawa M amp Kaneko KldquoA Constraint-based Approach toHigh School Timetabling Problems A Case Studyrdquo AAAI-94 12ordm NationalConference on Artificial Intelligence
Referencias Bibliograacuteficas
Referencias electroacutenicas
httpwwwmonografiacuteascomtrabajos12inteartfinteartfshtmlObregoacuten Arturo Inteligencia artificial y Sistemas expertos IIMAS-UNAM (1992)
httpwwwlafacucomapuntesinformaticasist_conodefaulthtmCruz Ochoa Wilson Sistemas de conocimiento
httpwwwingenieroseninformaticaorgrecursostutorialessist_exphtmlZambrano Molina Darwin Sistemas expertos
httpredcientificacomdocdoc199008210001htmlSamper Marquez Juan Joseacute Introduccioacuten a los sistemas expertos Madrid 2000
httpmismonografiascomarSistemas20expertofuzzyhtmlArede Dario Sistema experto fuzzy
httpcruzrojaguayaorginteligenciainterhtmlAyuquina Martha amp Arellano Gregorio Inteligencia artificial Universidad de Guayaquil
httpdmiuibesabasolointart1-introduccionhtmlAbasolo Mariacutea Joseacute Dra Inteligencia Artificial
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
CAPIacuteTULO 3 TEacuteCNICAS DE INTELIGENCIA ARTIFICIALUTILIZADAS PARA LA GENERACIOacuteN DE HORARIOS31 Sistemas Expertos 24311 Funcioacuten de un Sistema Experto 25312 Arquitectura de Sistemas Expertos 25313 La base de conocimiento 26314 Motor de inferencias 27315 iquestPor queacute utilizar un Sistema Experto 27316 Construccioacuten de prototipos 2832 Algoritmos geneacuteticos 29321 Antecedentes 29322 Definicioacuten de Algoritmo Geneacutetico 30323 Ventajas y desventajas 31324 iquestCoacutemo saber si es posible usar un Algoritmo Geneacutetico 31325 Paraacutemetros que deben ser especificados en el programa 3233 Programacioacuten Loacutegica de Restricciones(PLR) 34331 Antecedentes de la PLR 34332 Restricciones 35333 Sistemas con restricciones 37334 Referencia histoacuterica de las restricciones 37335 Satisfaccioacuten de las restricciones 38336 Resolucioacuten de restricciones 38337 Organizacioacuten de proyectos 38
CAPIacuteTULO 4 ANAacuteLISIS Y DISENtildeO41 Recopilacioacuten de la informacioacuten 4142 Anaacutelisis de la informacioacuten 4643 Solucioacuten definida 4844 Requerimientos del sistema 4945 Disentildeo del sistema 52451 Mapa conceptual del proyecto 52452 Mapas conceptuales de los moacutedulos 54453 Diagramas de contexto 62454 Diagramas entidad relacioacuten 674 55 Diccionario de la base de datos 73456 Lista de funciones o programas 85457 Diagrama de arquitectura (menuacutes) 87
CAPIacuteTULO 5 IMPLEMENTACIOacuteN51 Pantallas del sistema 89
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
CAPIacuteTULO 6 PRUEBAS Y RESULTADOS61 Pruebas del sistema 11462 Pruebas del sistema 115621 Prueba 1 Aacuterea de menuacutes 115622 Prueba 2 Validacioacuten de entradas 118623 Prueba 3 Desplegado de resultados 1206231 Moacutedulo generacioacuten de grupos por abrir 1206232 Moacutedulo generacioacuten de horarios 1216233 Moacutedulo asignacioacuten de aula 1226234 Moacutedulo seleccioacuten de catedraacuteticos 127
CAPIacuteTULO 7 CONCLUSIONES Y TRABAJOS FUTUROS71 Conclusiones 13172 Trabajos futuros 132
REFERENCIAS BIBLIOGRAacuteFICAS 133
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
LISTA DE FIGURAS
Figura Nombre Paacutegina
31 Arquitectura de un Sistema Experto 2632 Pseudocoacutedigo del Algoritmo Geneacutetico simple 3341 Mapa conceptual del proyecto 5242 Diagrama de secuencia 5443 Sistema Experto generador de grupos 5544 Diagrama del moacutedulo Programacioacuten Loacutegica de Restricciones 5745 Diagrama del moacutedulo Algoritmo Geneacutetico 5846 Diagrama de Sistema Experto para sugerir profesor a asignatura 6047 Diagrama de Sistema Experto para sugerir asignaturas para
catedraacutetico61
48 Diagrama de contexto del proyecto 6449 Diagrama de funciones fundamentales (entradas) 65410 Diagrama de funciones fundamentales (salidas) 66411 Diagrama entidad relacioacuten del moacutedulo administrativo 67412 Diagrama E-R del moacutedulo para determinar y ajustar nuacutemero de
grupos68
413 Diagrama E-R del moacutedulo para asignar aulas (Algoritmo Geneacutetico) 69414 Diagrama E-R del moacutedulo para asignar horario (PLR) 70415 Diagrama E-R del moacutedulo designa mejor catedraacutetico (Sistema
Experto)71
416 Diagrama E-R del moacutedulo selecciona mejor materia (SistemaExperto)
72
51 Portada inicial del proyecto 8852 Acerca del sistema 8953 Menuacute principal del proyecto 8954 Menuacute grupos por abrir 9055 Materias 9056 Consulta materias 9157 Pantalla servicios escolares 9158 Pantalla consulta servicios escolares 9259 Pantalla criterios por materia 92510 Pantalla consulta criterios por materia 93511 Pantalla carreras 93512 Pantalla criterios 94513 Pantalla consulta criterios 94514 Pantalla reglas 95515 Pantalla consulta reglas 95516 Pantalla ajustes 96
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
517 Pantalla consulta ajustes 96518 Pantalla criterios por regla 97519 Pantalla consulta criterios por regla 97520 Pantalla caacutelculo de ajustes 98521 Pantalla explicacioacuten de la inferencia 98522 Pantalla inicial del moacutedulo generacioacuten de horarios 99523 Pantalla principal del moacutedulo generacioacuten de horarios 99524 Pantalla principal del menuacute Algoritmos Geneacuteticos 100525 Pantalla de administracioacuten de grupos 100526 Pantalla de consulta de administracioacuten de grupos 101527 Pantalla del control de aulas 101528 Pantalla de consultas del control de aulas 102529 Pantalla para generacioacuten de poblacioacuten inicial 102530 Pantalla de evaluacioacuten de versiones 103531 Pantalla del proceso de seleccioacuten 103532 Pantalla del proceso de clonacioacuten 104
533 Pantalla de mutacioacuten 104534 Pantalla del proceso de cruzamiento 105535 Horarios finales 105536 Pantalla menuacute seleccioacuten de catedraacuteticos 106537 Pantalla de perfiles 106538 Pantalla de consulta perfiles 107539 Pantalla perfiles de las materias 107540 Pantalla consulta perfiles de las materias 108541 Pantalla captura datos de catedraacuteticos 108542 Pantalla consulta datos de catedraacuteticos 109543 Pantalla captura perfil de catedraacuteticos 109544 Pantalla consulta perfil de catedraacuteticos 110545 Pantalla muestra inferencia catedraacuteticos para materia 110546 Pantalla explicacioacuten del porqueacute un maestro puede dar una materia 111547 Pantalla materias que puede impartir un profesor 111548 Pantalla de explicacioacuten del porqueacute un profesor puede dar una
materia112
61 Portada inicial del proyecto 11562 Menuacute principal del proyecto 11663 Menuacute grupos por abrir 11664 Pantalla menuacute seleccioacuten de catedraacuteticos 11765 Pantalla principal del menuacute Algoritmos Geneacuteticos 11766 Pantalla de captura de datos de las Materias 11867 Pantalla de captura de datos de Criterios por Materia 11968 Pantalla de captura de datos de Carreras 11969 Pantalla caacutelculo de ajustes 120
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
610 Pantalla inicial del moacutedulo generacioacuten de horarios 121611 Pantalla principal del moacutedulo generacioacuten de horarios 122612 Pantalla del control de aulas 123613 Pantalla de consultas del control de aulas 123614 Pantalla de genera poblacioacuten inicial 124615 Pantalla de evaluacioacuten de versiones 124616 Pantalla del proceso de seleccioacuten 125617 Pantalla del proceso de clonacioacuten 125618 Pantalla de mutacioacuten 126619 Pantalla del proceso de cruzamiento 126620 Horarios finales 127621 Pantalla captura perfil de catedraacuteticos 128622 Pantalla muestra inferencia catedraacuteticos para materia 128623 Pantalla explicacioacuten porque un maestro puede dar una materia 129624 Pantalla materias que puede impartir un profesor 129625 Pantalla de explicacioacuten porque un profesor puede dar una materia 130
Capiacutetulo 1 Introduccioacuten
CAPIacuteTULO 1
INTRODUCCIOacuteN
11 Antecedentes
iquestQueacute es un horario
ldquoEl horario completo bien puede gobernar las vidas demiles de alumnos y cientos de profesores para los 200 diacuteasdel antildeo escolar semestre a semestre hora tras hora Comouna poderosa herramienta puede faacutecilmente crear o deshacersituaciones de ensentildeanza aprendizajerdquo [Johnson 1980]
En la educacioacuten superior la historia siempre es la misma la proporcioacuten de tiempodictada por el horario para los alumnos y profesores es generalmente muy baja Apesar de esto las dificultades en la creacioacuten de los horarios son grandes Existenvarios departamentos y carreras cada uno con sus propias ideas de coacutemo y cuaacutendo sedeben programar sus cursos El nuacutemero de estudiantes puede variar considerablementede antildeo en antildeo Similarmente las preferencias de los alumnos a favor o en contra delas materias pueden variar dramaacuteticamente de un semestre a otro Los estudiantespueden tomar cursos de un departamento o de varios de ellos aun maacutes puedenseleccionar materias de otras carreras La reciente desaparicioacuten de las restricciones decreacuteditos para cursar las asignaturas complica maacutes la situacioacuten porque ampliacutea el rangode materias que puede tomar un alumno Los horarios aparecen en varias formasmatutinos vespertinos mixtos y todo el diacutea Los horarios escolares indican cuando unmaestro y un alumno deben ir a cada clase Todas las escuelas tienen un horario decursos que dirige lo que cada estudiante y catedraacutetico debe hacer en determinadomomento Esta tesis versa especiacuteficamente sobre el problema de construir horariospara Institutos Tecnoloacutegicos en Meacutexico
La planeacioacuten de los horarios es un trabajo que se realiza semestralmente antes de iniciarel siguiente periodo escolar tomando en cuenta la demanda de grupos que se ofreceraacuteny asignando a estos grupos los alumnos el aula el catedraacutetico y el horariocorrespondiente mediante informacioacuten que se obtiene de varias maneras
El principal objetivo de este proyecto es dar una solucioacuten aproximada (aceptable) alproblema de la generacioacuten de horarios de una escuela de nivel superior que se resumeasiacute
Capiacutetulo 1 Introduccioacuten
ldquoDado un conjunto de departamentos y carreras asignaturas con prerrequisitos gruposcatedraacuteticos con especialidad y horario definidos aulas laboratorios y alumnos con suspreferencias de materias el problema es construir un condensado de horarios factibleque satisfaga todas las restricciones fuertes y minimice las restricciones medias ysuavesrdquo
Las restricciones fuertes son restricciones de espacio y tiempo tal como planear doscursos en un aula al mismo tiempo Las restricciones medias y suaves son laspreferencias de maestros y estudiantes que deberaacuten ser satisfechas si es posible[Elmohamed 1998]
El problema de la generacioacuten de horarios ha sido tratado por muchos investigadoresutilizando meacutetodos que van desde la investigacioacuten de operaciones hasta disciplinas de laInteligencia Artificial como son Algoritmos Geneacuteticos Recocido Simulado RedesNeuronales etc
12 Planteamiento del problema
La generacioacuten de horarios es una forma particular del problema de asignacioacuten derecursos En el caso maacutes general existe una serie de objetos (recursos) y una serie deprocesos que necesitan ser realizados por cada uno de esos objetos En un contextoeducacional cada estudiante debe asistir a un nuacutemero predeterminado de clases y elprofesor debe impartirlas durante la semana en un aula predeterminada el estudiante elprofesor y el aula pasan aquiacute a ser el objeto y las clases el proceso
La complejidad del problema de la generacioacuten de horarios
La generacioacuten de horarios es un problema de optimizacioacuten combinatorio multi-dimensional no Euclidiano con muacuteltiples restricciones y por lo tanto difiacutecil de resolver[Elmohamed 1998]
El problema de la generacioacuten de horarios esta agrupado dentro de los considerados decomplejidad NP-completos es decir que no pueden ser resueltos en tiempo polinomialusando un algoritmo determiniacutestico No se conoce un algoritmo determiniacutestico detiempo polinomial para resolver alguno de esos problemas y la mayoriacutea de la gente creeque dichos algoritmos no existen[Karp 1972]
La generacioacuten de horarios es la asignacioacuten de lapsos de tiempo a un conjunto de eventossujeto a las restricciones en esas asignaciones Seguacuten Elmohamed [Elmohamed 1998]el problema NP-completo de la elaboracioacuten de horarios es un problema para la
Capiacutetulo 1 Introduccioacuten
satisfaccioacuten de restricciones que puede ser definido de la siguiente maneraPara una escuela dada con
Np profesores con sus horarios y turnos Nq materias con su temario y objetivosNx aulas y laboratorios con su capacidad Ns estudiantes
es requerido programar Nt parejas de
alumno-materiahora-materiamaestro-materiaaula-materia
una vez definidas las parejas anteriores se deben programar elementos de la formamateria-maestro-hora -aula
En un liacutemite de Nt lapsos de tiempo para producir una programacioacuten factible En unaprogramacioacuten factible no se puede encontrar a un profesor grupo o estudiante en maacutesde un lugar al mismo tiempo y un aula no puede ser asignada con maacutes de una clase a lavez o maacutes estudiantes de su capacidad o un profesor programado fuera de su horarionormal o con maacutes horas frente a grupo de las reglamentarias ademaacutes de un conjuntoadicional de restricciones
Importancia del problema
La administracioacuten de los recursos comprende la apertura de los grupos para inscribir alos alumnos el proacuteximo semestre la asignacioacuten de carga acadeacutemica a los catedraacuteticos lautilizacioacuten de aulas y laboratorios de quiacutemica produccioacuten coacutemputo electromecaacutenicaaulas de dibujo y demaacutes instalaciones del Instituto Tecnoloacutegico de Zacatepec (ITZ)Cuando por errores imputables al creador de los horarios se hizo una mala planeacioacuten sederivan los siguientes problemasbull Alumnos que se inscriben con una carga de creacuteditos menor a la miacutenima por falta de
grupos suficientesbull Alumnos que deben estar en el ITZ desde las 700 hrs hasta las 2000 hrs varios
diacuteas a la semana por abrir grupos en horarios muy separadosbull Alumnos que pierden la secuencia de materias seriadas por falta de cupobull Alumnos que deben permanecer 1 oacute 2 semestres maacutes en el ITZ por no prever
suficientes grupos para semestres terminalesbull Catedraacuteticos que no imparten el miacutenimo reglamentario de horas frente a grupo por
no crearles grupos suficientesbull Catedraacuteticos a los que se les avisa 1 diacutea antes del inicio de clases que impartiraacuten una
Capiacutetulo 1 Introduccioacuten
asignatura nuevabull Asignaturas que son impartidas por profesores que no cumplen el perfil deseado en
esa asignaturabull Choque de grupos en las aulasbull Choque de grupos en laboratoriosbull Falta de laboratorio a algunos gruposbull Deficiente utilizacioacuten de las aulas
La creacioacuten de un sistema que evite de manera automaacutetica caer en errores como losmencionados NO ES TAREA TRIVIAL intentar resolver este problema involucra laelaboracioacuten de un ldquosistema inteligenterdquo capaz de tomar decisiones aprender inferirbasaacutendose en hechos generar nueva informacioacuten y a partir de ella nuevamente volver adecidir El sistema que se elabore debe tener la capacidad para deducir e inducir de unamanera combinada
Desventajas del sistema actual
La mayoriacutea de los problemas anteriores son ocasionados por alguno o varios de lossiguientes motivosbull Todo el proceso de caacutelculo y administracioacuten de los recursos es manualbull El proceso de elaboracioacuten coincide con el cierre de semestre actual y como las
personas responsables tambieacuten son catedraacuteticos deben combinar la generacioacuten dehorarios con las evaluaciones finales revisioacuten de proyectos y entrega decalificaciones de sus grupos a los alumnos
bull La elaboracioacuten de los horarios es un proceso que se lleva semanas de labor diariabull Requiere la atencioacuten total de los coordinadores durante todo el tiempo de
elaboracioacutenbull Al no tener la informacioacuten automatizada se tienen peacuterdidas de tiempo en la toma de
decisiones como por ejemplo en el preacutestamo de aulas no utilizadas o en la forma decompartir catedraacuteticos
bull Se tienen fuertes restricciones debido a los horarios de los catedraacuteticosbull Hay fuertes dificultades cuando se deben negociar cambios de horarios porque el
proceso implica mover asignaturas buscar aulas dejar paquetes de materias porsemestre etc
bull El estado de aacutenimo del coordinador influye en la elaboracioacuten de los horarios
13 Objetivo general
Generacioacuten de una solucioacuten aproximada del condensado de horarios para una escuela denivel superior que satisfaga las restricciones ocasionadas por los recursos involucradosmediante la elaboracioacuten de un sistema hiacutebrido (experto geneacutetico y loacutegico restrictivo)
Capiacutetulo 1 Introduccioacuten
14 Objetivos especiacuteficos
Se tiene el disentildeo e implementacioacuten de un sistema que
bull Proporciona una solucioacuten aproximada aceptable al problema de la generacioacuten dehorarios
bull Permite a los coordinadores delegar a la computadora la asignacioacuten de recursosbull Ahorra tiempo en la generacioacuten de los horariosbull Reduce el trabajo manualbull Agiliza la toma de decisionesbull Reduce el tiempo de elaboracioacuten de horariosbull Facilita la modificacioacuten de informacioacuten generadabull Aumenta la eficiencia en las negociaciones entre jefes y coordinadoresbull Lleva al Instituto Tecnoloacutegico de Zacatepec (ITZ) a la modernizacioacuten en este
proceso
15 Justificacioacuten del sistema
151 Justificacioacuten teoacuterica
La utilizacioacuten de la Inteligencia Artificial (IA) para la solucioacuten de problemas de la vidacotidiana ha sido una estrategia utilizada cuando los sistemas tradicionales decomputacioacuten no proveen mecanismos suficientes para garantizar una solucioacuten adecuadasu utilizacioacuten para la generacioacuten de horarios (creacioacuten de grupos asignacioacuten de horaasignacioacuten de aula determinacioacuten de catedraacutetico) presenta una alternativa ideal paracomprobarlo
152 Justificacioacuten metodoloacutegica
La utilizacioacuten de un grupo de Sistemas Expertos que realice la asignacioacuten de losrecursos para la generacioacuten de grupos y le proponga una materia determinada a unprofesor seguacuten el perfil acadeacutemico de ambos reuacutene las caracteriacutesticas necesarias paradar la solucioacuten elegante y efectiva al problema planteado anteriormente porque
bull Se requiere del conocimiento de un experto para plantear el funcionamiento delsistema
bull El conocimiento se alimentaraacute a una base de conocimientos que conste de variaspartes
bull Para la generacioacuten de grupos de una asignatura dada el sistema debe ldquorazonarrdquo paradeterminar cuantos de eacutestos se deben abrir para ofertarlos a los alumnos
Capiacutetulo 1 Introduccioacuten
bull En la asignacioacuten de nuevas materias a los catedraacuteticos el sistema debe ldquodeterminarrdquoquieacuten es el maacutes idoacuteneo para impartirla de acuerdo al perfil de ambos materia ymaestro
La Programacioacuten Loacutegica de Restricciones (PLR) es una de las teacutecnicas que maneja demanera natural informacioacuten sometida a ciertas restricciones y fue seleccionada paraseguir trabajando en la resolucioacuten del problema porque
bull Los horarios deben satisfacer ciertas restricciones como por ejemplo no se debengenerar mas grupos de los necesarios no puede haber dos materias con el mismogrupo no deben existir grupos del mismo paquete a la misma hora etc
bull Cada paquete de un semestre es un objeto que por siacute mismo posee ciertascualidades y restricciones por ejemplo no debe tener horas sin asignatura entre lahora inicial y final existen materias que se deben impartir de una hora diaria otrasdeben ser impartidas de 2 horas diarias etc
bull La solucioacuten presentada por la PLR inicia con datos aleatorios de un horario despueacutesse verifica si las restricciones se cumplen o no si se cumplen se guarda el dato si nose genera un nuevo dato aleatorio
Los Algoritmos Geneacuteticos utilizados aquiacute para asignar aula a los grupos cumplen con lametodologiacutea de la Computacioacuten Evolutiva porque
bull Se tienen datos iniciales de los grupos (materia-hora)bull Se genera una poblacioacuten inicial que son n versiones de un condensado de horarios
sin aulabull Esta poblacioacuten inicial es evaluada se seleccionan los condensados maacutes adecuados y
se eliminan las versiones menos adecuadasbull Se realizan cruzamientos mutaciones clonaciones y se crea la nueva generacioacuten de
horariosbull Se repite el proceso hasta llegar a una utilizacioacuten eficiente de las aulas
Por lo anterior se pueden observar las ventajas de utilizar un sistema inteligente sobreuno convencional para solucionar el problema planteado
Una vez definido el modelo para solucionar el problema de la asignacioacuten de horariospara las asignaturas aulas y catedraacuteticos de una institucioacuten de educacioacuten superior seraacutefaacutecil extrapolarlo para solucionar algunos problemas referentes a la planeacioacuten dehorarios de otro tipo de escuelas de nivel medio superior
153 Justificacioacuten praacutectica
La creacioacuten de un sistema que resuelva el problema de la elaboracioacuten de horarios ygenere automaacuteticamente la programacioacuten de grupos aulas y maestros sin violar las
Capiacutetulo 1 Introduccioacuten
restricciones fuertes minimizando las restricciones medias y suaves optimizando lautilizacioacuten de las aulas cumpliendo con las restricciones de los profesores asignandoprofesores adecuados para impartir las clases traeraacute como consecuencia condicionespara mejorar el proceso de ensentildeanza aprendizaje
16 Alcances y limitaciones
Alcances
El sistema generaraacute un espacio de soluciones finito que satisfaga las restriccionesfuertes medias y suaves optimizando el uso de los recursos disponibles se puede decirque el sistema optimizaraacute los recursos cuando los horarios generados tengan lascaracteriacutesticas mencionadas maacutes adelante
Esta tesis documenta la creacioacuten de un sistema basado en el conocimiento parasolucionar el problema de la generacioacuten de horarios en el Instituto Tecnoloacutegico deZacatepec que permite
bull Generar grupos suficientes para que todos los estudiantes se inscriban al menos conla carga miacutenima reglamentaria
bull Que los alumnos tengan horarios adecuados a sus necesidades y preferenciasbull Que todos los grupos tengan capacidad suficiente para todos los estudiantes que
deseen inscribirsebull Que los profesores impartan materias de acuerdo a su perfil profesionalbull Evitar los choques de grupos en aulas y laboratoriosbull Que todos los grupos tengan aula asignada desde el inicio del semestrebull La utilizacioacuten oacuteptima de las aulas y laboratoriosbull La correcta asignacioacuten de aulas y laboratorios a los cursosbull Realizar de manera automaacutetica la asignacioacuten de los recursosbull Determinar el nuacutemero de grupos que se deben abrirbull Llenar las aulas con grupos sin permitir choque de horariosbull Imprimir la lista de grupos ofertados para el semestre siguientebull Cuando exista el grupo de una materia sin maestro determinar cual es el mejor para
impartirla
Tener un Sistema terminado que contenga los siguientes moacutedulos
Sistema administrativo para control de horarios Sistema Experto para determinar la cantidad de grupos por abrir Sistema Experto para sugerir materias a un catedraacutetico Sistema Experto para seleccionar los mejores catedraacuteticos para impartir una
asignatura
Capiacutetulo 1 Introduccioacuten
Moacutedulo de Programacioacuten Loacutegica de Restricciones para generar los horarios a lospaquetes de materias por semestre
Moacutedulo de Algoritmo Geneacutetico para asignar aula a los grupos
Cada moacutedulo tendraacute
bull Interfaces de usuario amigablesbull Tiempos de ejecucioacuten raacutepidos (independientemente de la maacutequina objetivo)bull Reglas de inferencia para generar resultados (soacutelo los Sistemas Expertos)bull Buacutesquedas heuriacutesticas o aleatorias seguacuten el casobull Procesos para realizar induccioacuten y deduccioacuten (soacutelo los Sistemas Expertos)bull Manejo de incertidumbre (soacutelo los Sistemas Expertos)bull Un moacutedulo de explicaciones en lenguaje natural
Limitaciones
El sistema estaacute disentildeado para generar horarios de una escuela de nivel superior donde elcoordinador de cada carrera es el responsable de la generacioacuten de sus horarios controlarsus profesores impartir cierto nuacutemero de materias y utilizar cierta cantidad de aulas ylaboratorios
Trabaja exclusivamente en lenguaje espantildeol
Las reglas de la base de conocimiento tienen un formato predeterminado por unasintaxis definida para el sistema
El sistema estaacute elaborado para trabajar en microcomputadoras compatibles con IBM
No maneja los horarios individuales de los alumnos en el proceso de inscripcioacuten estaactividad deberaacute ser realizada por los sistemas del departamento de servicios escolares
Capiacutetulo 2 Marco teoacuterico
CAPIacuteTULO 2
MARCO TEOacuteRICO
21 El estado del arte
211 Antecedentes
El problema de la generacioacuten de horarios ha sido atacado de varias maneras a nivelmundial inclusive existe un grupo internacional que convoca al congreso llamadoPATATxx (Practice and Theory of Automated Timetabling) donde xx es el antildeo delcongreso en cuestioacuten
La ASAP (Automated scheduling optimization and planing group) es otro organismocuyo fin principal es conducir investigacioacuten en modelos heuriacutesticas y algoritmos para laproduccioacuten automaacutetica de soluciones de alta calidad a una gran variedad de problemasde planeacioacuten y optimizacioacuten del mundo real incluyendo elaboracioacuten de horarioslogiacutestica asignacioacuten de espacio y mantenimiento de inventarios
212 Algunos meacutetodos para resolver el Problema de laGeneracioacuten de Horarios
La generacioacuten de horarios acadeacutemicos ha sido acometida por muchos investigadoresbaacutesicamente dentro del aacuterea de la Investigacioacuten de Operaciones
2121 Investigacioacuten de Operaciones
El algoritmo para resolver problemas de asignacioacuten se denomina Huacutengaro ya que fuerondos matemaacuteticos Huacutengaros Koumlnig (1916) y Egervary (1931) los que aportaron lasteoriacuteas que sirven de base a este meacutetodo [Daellenbach 1987]
Este problema se presenta en diversos casos de toma de decisiones Los problemastiacutepicos de asignacioacuten implican asignar tareas a maacutequinas trabajadores a tareas yproyectos personal de ventas a territorios de ventas contratos a licitaciones horarios deaulas disponibles a horarios de maestros disponibles enfermos a camas disponibles delhospital cierto nuacutemero de empleados a cierta cantidad de puestos en una empresaaviones a destinos aeacutereos entre otros
Capiacutetulo 2 Marco teoacuterico
Una caracteriacutestica importante de los problemas de asignacioacuten es que se asigna untrabajador una tarea a una sola maacutequina proyectoEn particular se busca elconjunto de asignaciones que optimice el objetivo planteado tal como minimizar costosminimizar tiempo o maximizar utilidad
La formulacioacuten del problema general de asignacioacuten es
Sujeta a
Corresponde a un caso especial del problema del transporte en el cual las variables Xijsoacutelo pueden tomar el valor 0 oacute 1 tomar el valor 1 si el origen i se hace corresponder aldestino j y 0 en caso contrario
El Algoritmo Huacutengaro
Este algoritmo se usa para resolver problemas de minimizacioacuten ya que es maacutes eficazque el empleado para resolver el problema del transporte por el alto grado dedegeneracioacuten que pueden presentar los problemas de asignacioacuten Las fases para laaplicacioacuten del meacutetodo Huacutengaro son
Capiacutetulo 2 Marco teoacuterico
Paso 1 Encontrar primero el elemento maacutes pequentildeo en cada fila de la matriz de costosmm se debe construir una nueva matriz al restar de cada costo el costo miacutenimo de cadafila encontrar para esta nueva matriz el costo miacutenimo en cada columna A continuacioacutense debe construir una nueva matriz (denominada matriz de costos reducidos) al restar decada costo el costo miacutenimo de su columna
Paso 2 (En algunos pocos textos este paso se atribuye a Flood) Consiste en trazar elnuacutemero miacutenimo de liacuteneas (horizontales o verticales o ambas uacutenicamente de esasmaneras) que se requieren para cubrir todos los ceros en la matriz de costos reducidos sise necesitan m liacuteneas para cubrir todos los ceros se tiene una solucioacuten oacuteptima entre losceros cubiertos de la matriz Si se requieren menos de m liacuteneas para cubrir todos losceros se debe continuar con el paso 3 El nuacutemero de liacuteneas para cubrir los ceros es iguala la cantidad de asignaciones que hasta ese momento se pueden realizar
Paso 3 Encontrar el menor elemento diferente de cero (llamado k) en la matriz decostos reducidos que no estaacute cubierto por las liacuteneas dibujadas en el paso 2 acontinuacioacuten se debe restar k de cada elemento no cubierto de la matriz de costosreducidos y sumar k a cada elemento de la matriz de costos reducidos cubierto por dosliacuteneas (intersecciones) Por uacuteltimo se debe regresar al paso 2
Notas
1 Para resolver un problema de asignacioacuten en el cual la meta es maximizar la funcioacutenobjetivo se debe multiplicar la matriz de ganancias por menos uno (-1) y resolver elproblema como uno de minimizacioacuten
2 Si el nuacutemero de filas y de columnas en la matriz de costos son diferentes el problemade asignacioacuten estaacute desbalanceado El meacutetodo Huacutengaro puede proporcionar una solucioacutenincorrecta si el problema no estaacute balanceado debido a lo anterior se debe balancearprimero cualquier problema de asignacioacuten (antildeadiendo filas o columnas ficticias) antes deresolverlo mediante el meacutetodo Huacutengaro
3 En un problema grande puede resultar difiacutecil obtener el miacutenimo nuacutemero de filasnecesarias para cubrir todos los ceros en la matriz de costos actual Se puede demostrarque si se necesitan j liacuteneas para cubrir todos los ceros entonces se pueden asignarsolamente j trabajos a un costo cero en la matriz actual esto explica porqueacute terminacuando se necesitan m liacuteneas
Capiacutetulo 2 Marco teoacuterico
Tambieacuten han aparecido meacutetodos no convencionales que atacan el problema desdediferentes aacutengulos Los maacutes usuales son
Algoritmos Geneacuteticos Redes Neuronales Recocido Simulado Buacutesquedas Tabuacute Sistemas Expertos Programacioacuten Loacutegica de Restricciones Grafos Coloreados Operadores Recombinatorios Especializados
2122 Algoritmos Geneacuteticos
Los Algoritmos Geneacuteticos han sido utilizados satisfactoriamente para planear exaacutemenesy cursos en cierto nuacutemero de casos [Corne 1993] utiliza una buena aproximacioacutentradicional donde cada gene representa la hora en la cual se presentaraacute un examen ocurso Con operadores de cruzamiento y mutacioacuten como los mencionadosanteriormente agrega sustanciosos ahorros de tiempo al meacutetodo de Corne [Paechter1994] da una aproximacioacuten diferente donde el gene de cada examen no solo especificaldquoel cuandordquo sino que tambieacuten busca un nuevo horario del examen si despueacutes delcruzamiento el curso esta causando un conflicto Si el examen no puede ser programadoen alguna hora entonces no se agrega a la planeacioacuten con la finalidad de no tenerhorarios infactibles
[Burke1994] incorpora dominios de conocimiento especiacutefico para asegurar que ningunade las soluciones candidato es no factible En particular una representacioacuten directa seutilizada que incluye no soacutelo el cuaacutendo sino tambieacuten el doacutende un curso o examendeberaacuten ser tomados permitiendo al programador de horarios detener la ejecucioacuten delalgoritmo en cualquier punto y tener ya una serie de soluciones de buenos horariosfactibles
2123 Programacioacuten Loacutegica de Restricciones
Varios autores han presentado teacutecnicas de Programacioacuten Loacutegica de Restricciones pararesolver problemas de asignacioacuten de horarios pero eacuteste sigue siendo un nuevo enfoqueTambieacuten han aparecido algunos usando PLR para la planeacioacuten de clase-maestro[Yoshikawa 1994]
Kang y White presentaron una buena aproximacioacuten estaacutendar de PLR programandocursos sin permitir ningun conflicto [Kang y White 1994] Ellos usaron una teacutecnica dereversa equivalente al backtracking con lo cual cuando un curso no puede ser
Capiacutetulo 2 Marco teoacuterico
asignado uno similar es desasignado y el nuevo es colocado en su lugar Esto previeneuna buacutesqueda exhaustiva completa Esto tambieacuten introduce el concepto de undelimitador de tamantildeo que establece un maacuteximo en el tamantildeo del aula que puede usarun curso en particular Las restricciones son priorizadas en cinco diferentes categoriacuteasdonde la categoriacutea cinco debe ser liberada antes que la categoriacutea cuatro y asiacute con lasdemaacutes Este procedimiento fue utilizado para programar exitosamente los cursos de laUniversidad de Otawa
Tambieacuten se ha utilizado la teacutecnica de la Programacioacuten Loacutegica de Restricciones parahacer los horarios de una facultad utilizando una regla heuriacutestica para seleccionar quecurso asignar primero [Fahrion y Dollanski 1992]
2124 Redes Neuronales
De las distintas categoriacuteas de las Redes Neuronales Artificiales la maacutes apropiada pararesolver el problema es la familia de las Redes Neuronales de reaccioacuten basadas enneuronas multiestado con ecuaciones de teoriacutea de campos con significado controlandolas dinaacutemicas Las ecuaciones anteriores son usadas en lugar de los procedimientospara actualizacioacuten de demanda estocaacutesticos que han sido usados por otros esquemas paraevitar quedar atorados en circuitos locales miacutenimos [Carrasco 2004]
2125 Recocido Simulado
Recocido Simulado se refiere al uso de una teacutecnica de optimizacioacuten combinatoria odiscreta Divide el problema en grupos del mismo tiempo de clase los cuales sonespecificados por cada departamento acadeacutemico basados en la habilidad de losinstructores Funciona asiacute
1 El proceso asigna aulas procesando un grupo a la vez empezando con el primero2 El proceso continuacutea hasta que todos los grupos son procesados3 Cuando una solucioacuten es obtenida dividiendo el problema en conjuntos de horario
una mutacioacuten especial es generada con grupos traslapados Esto podriacutea generar unamala asignacioacuten de aula para minimizar esto se utiliza el siguiente paso
4 Los grupos son procesados basados en el nuacutemero de aulas este nuacutemero de aulas esoptimizado y se termina con las horas de clase con el miacutenimo de paquetes a esa hora
5 La implementacioacuten del programa genera una base de datos con la nueva asignacioacutende salones para el proacuteximo semestre [Abramson 1991]
2126 Operadores Recombinatorios Especializados
Los operadores de cruzamiento de los Algoritmos Geneacuteticos producen buenas
Capiacutetulo 2 Marco teoacuterico
combinaciones de genes para ser pasados entre los diferentes miembros de unapoblacioacuten En los Algoritmos Geneacuteticos estaacutendar es un procedimiento similar a escogerlos primeros n genes del primer padre y los uacuteltimos del segundo padre esteprocedimiento no es uacutetil en situaciones donde existen fuertes restricciones sobre laforma de los miembros de la poblacioacuten aquiacute un operador violaraacute esos requerimientosEl operador de recombinacioacuten heuriacutestico hiacutebrido trabaja asiacute
1 Los grupos no programados del periodo anterior son pasados al algoritmo2 Primero selecciona aquellos grupos programados en el periodo i en los padres 1 y 23 Los grupos extra son seleccionados de aquellos programados en el periodo i ya sea
del padre 1 o del padre 2 o de los dejados del periodo i ndash 14 Cualquiera de los grupos no programados es pasado al periodo i+15 Soacutelo los grupos que no crean conflicto con aquellos ya programados para este
periodo pueden ser seleccionados [Wilke 2002]
2127 El Sistema Experto Basado en Reglas
Los Sistemas Basados en Reglas proporcionan un buen punto de referencia para saberque tan buenos son otros meacutetodos en comparacioacuten a esta teacutecnica estaacutendar Varias deestas reglas son usadas para proporcionar sensibles elecciones para los movimientos enel algoritmo de Recocido Simulado en lugar de seleccionar cambios de manera aleatoriase ha usado este sistema como un preprocesador para generar una buena aproximacioacuteninicial y darla al Recocido Simulado
El Sistema Experto Basado en Reglas consiste en un nuacutemero de reglas (o heuriacutesticas) yrecursioacuten convencional para ayudar en la generacioacuten de asignacioacuten de clases Lasestructuras de datos o componentes del sistema son
bull Una matriz de distancias entre los departamentos acadeacutemicos y los edificios queseraacuten utilizados
bull Estructura de los datos de las materias para cada grupo programado en el campobull Estructura para las aulas (independientemente del tipo de aula) involucradas en el
procesobull Horarios para cada periodo de tiempo guardando cuales estaacuten disponibles y
cuales ya fueron ocupadasbull La estructura de los departamentosbull Las preferencias de los estudiantes indicando las clases requeridas
independientemente del semestre que sean las materias [Gervaacutes 1999]
Capiacutetulo 2 Marco teoacuterico
213 Observaciones realizadas a algunos paquetes generadores de horarios
Nombre DeMIStDescripcioacuten Puede describirse como un paquete que realiza bien las operaciones decasa (la propia universidad que lo creoacute) pero salioacute tan costoso como si hubierancomprado un paquete [Demist 2000]Proveedor DeMISt University
KnowTISEs un proyecto iniciado por la universidad de Leeds En la literatura aparece como unpaquete que es mejor para la generacioacuten de Grandes Horarios para una universidad quepara un departamento Utiliza el beneficio de gran cantidad de informacioacutencentralizada para la optimizacioacuten de recursos [Schedul 2000]Leeds University
STARSSTARS(Space Time and Resources Management) Igual que el anterior corre mejor enla elaboracioacuten de horarios de buen tamantildeo que en una aplicacioacuten departamentalDe Montfort University
Meeting maker Office TalkEs un generador de clases y acciones diarias es bueno cuando no es uacutetil el horario delos alumnos ya que proporciona uacutenicamente los espacios para las clases [Gervaacutes 1999]Varios proveedores
GP-UNTISEs un paquete australiano que funciona perfectamente para los requerimientos de lasescuelas secundariasTimetabling Services UK
Syllabus PlusEs una buena opcioacuten para uso departamental cumple los requerimientos de unauniversidad para la generacioacuten de horarios no trabaja a nivel de estudiantes pero si lohace con grupos de ellos no es factible para la generacioacuten de Grandes HorariosScientia LTD
Facility TimetablerEs una buena opcioacuten para uso departamental y para Grandes Horarios tiene interfaz conlos sistemas de alumnos y permite la creacioacuten de horarios individuales permite el uso
Capiacutetulo 2 Marco teoacuterico
centralizado de las aulas para una buena optimizacioacutenFacility Systems
Mimosa for WindowsEs un software general de planificacioacuten de la ensentildeanza y de programacioacuten de horariosLa aplicacioacuten utiliza todas las propiedades de Windows eficientemente es raacutepida tienegran capacidad y lo mas importante es tan flexible que puede aplicarse en todo el tipode escuelas desde la escuela primaria a las universidades desde las escuelasvocacionales a las academias militares
Se podriacutea decir que este producto cubririacutea todas las necesidades de la institucioacuten perohan existido algunos inconvenientes ya que no cubre con las necesidades deldepartamento tan solo da ayuda al usuario para que pueda generar sus horarios ademaacutesel tener tantos botones en pantalla (200) podriacutean confundir al usuario y realizar horarioserroacuteneos y no se resolveriacutea el problema [Nielsoft 2000]Mimosa Software Oy Finlandia
GestHor BSPEs un producto informaacutetico para resolver problemas de horarios escolares en escuelasbaacutesicas escuelas secundarias y escuelas profesionales
Toacutemese en cuenta que la mayoriacutea de los sistemas mencionados se enfoca solo a laasignacioacuten aula ndash materia y no abarca lo que es asignacioacuten materia ndash profesor
22 Los horarios
Existe mucha literatura referente a los horarios con una gran variedad de subtiacutetulos ydiferentes problemas Una gran variedad de algoritmos han sido propuestos empleandometodologiacuteas y heuriacutesticas de buacutesqueda produciendo horarios completos o soacuteloayudando durante el proceso Una de las grandes preguntas para la elaboracioacuten dehorarios es que si eacutestos pueden ser generales es decir iquestse puede encontrar un algoritmoo meacutetodo suficientemente general que produzca buenos horarios para todos losproblemas y para todas las restricciones La alternativa desde luego es continuardesarrollando algoritmos especializados aislados cada vez que un problema de horariosaparece
Al trabajar con una solucioacuten para el problema de los horarios se deben contestar lassiguientes preguntas iquestTodas las escuelas de nivel superior elaboran los horarios de lamisma manera iquestSon grandes o pequentildeas las diferencias en la forma de elaborar loshorarios iquestQueacute tan necesaria es la ayuda de la computadora iquestSoacutelo se requiere unpaquete general para la elaboracioacuten de los horarios iquestQueacute funcionalidad debe tener
Capiacutetulo 2 Marco teoacuterico
dicho paquete iquestQueacute tan grande y complejo es el problema de elaboracioacuten de horariosiquestQueacute propiedades debe poseer un horario aceptable para que una institucioacuten lo use
Se han realizado algunas encuestas para conocer si las escuelas de nivel superior tienensistemas computarizados para la elaboracioacuten de horarios si no los tienen si lonecesitaban y queacute caracteriacutesticas deberiacutea poseer El estudio concluyoacute que existe una grandemanda para tal sistema que se requiere un alto grado de asistencia automatizada yque la mayoriacutea de los elaboradores de horarios no estaban muy contentos con sussistemas actuales [Comm y Mathaisel 1988]
[Dowsland y Lim 1982] consideraron el problema de la elaboracioacuten de horarios peroproporcionaron alternativas en la encuesta de la utilidad de sistemas automatizados[Junginger 1986] establece que ldquoAunque los horarios producidos requierenmodificacioacuten las escuelas estaacuten contentas con los resultados El tiempo ahorrado fueconsiderable arriba del 75rdquo Dowsland por otro lado concluye que ldquoEs muy difiacuteciljuzgar el eacutexito actual de los paquetes para la elaboracioacuten de horarios pero el uso muylimitado de ellos sugiere que sus ventajas son limitadasrdquo Claramente ninguacuten disentildeadorde sistemas puede garantizar la idea de que su producto seraacute bienvenido con los brazosabiertos
[Pendlebury 1986] encuestoacute a las universidades politeacutecnicas britaacutenicas con respecto ala elaboracioacuten de horarios de cursos Doce de las treinta que contestaron la encuestautilizan elaboracioacuten de horarios por computadora (siete a gran escala y cuatro lo hacenen pequentildea escala) Es interesante notar que Pendlebury encontroacute que la mayoriacutea de loscursos se basan en clases que son muy independientes unas de otras y en la mayoriacutea delas instituciones encuestadas los departamentos individuales son responsables deproducir sus propios horarios
221 El problema de la elaboracioacuten de horarios
La elaboracioacuten de horarios es el acto de programar cursos a periacuteodos de tiempo asignarun aula a esos cursos y asignar un catedraacutetico a dicho curso
A menudo se hacen afirmaciones acerca de la naturaleza del problema que puedenpermitir encontrar una solucioacuten maacutes eficientemente Sin embargo cuando se trata deconstruir un sistema general se estaacute limitado a que las afirmaciones son el miacutenimocomuacuten denominador de todos los posibles escenarios
Una informacioacuten impliacutecita que ha sido hecha a menudo es la independencia entreunidades acadeacutemicas separadas Algunas universidades programan preguntando a susdepartamentos los horarios de sus propios cursos Una unioacuten central de dichos horarioses entonces utilizada para asegurar que todas las restricciones relevantes son cumplidasEn muchos casos esta es la forma normal en que es producido el horario de los cursos
Capiacutetulo 2 Marco teoacuterico
aunque algunos departamentos desarrollan su propio software para la programacioacuten decursos
En varias universidades los alumnos pueden tomar algunos de sus cursos endepartamentos diferentes al suyo Obviamente la independencia no debe ser asumidageneralmente debido a que puede haber diferencia en la programacioacuten de los cursos decada departamento En el Tecnoloacutegico de Zacatepec por ejemplo la probabilidadpromedio de que un curso tenga conflicto con uno de otro departamento es 1650mientras que la probabilidad de que dos cursos del mismo departamento tengan conflictoes 2250 notaacutendose una gran diferencia en el resultado
Dificultades encontradas por los responsables de la generacioacuten de horarios
Algunas dificultades experimentadas por los departamentos y facultades sonmencionadas aquiacute
bull Los programas acadeacutemicos se hacen cada vez maacutes flexibles (los estudiantesseleccionan queacute asignaturas tomar cuaacutendo doacutende y con quieacuten)
bull Algunos departamentos tienen asignaturas para ofrecer pero no tienen muchosalumnos
bull Los espacios para ofrecer las materias son cada vez menos y el problema se agravacuando los alumnos no quieren asistir en las tardes o los saacutebados
bull El staff de profesores no siempre estaacute disponible para impartir clases por muacuteltiplesrazones
bull Los alumnos pueden solicitar los grupos del proacuteximo semestre desde antes de queinicie pero al llegar el momento de inscribirse no lo hacen
bull Los departamentos estaacuten ansiosos por ofrecer una gran variedad de grupos teniendolos recursos pero esto puede ocasionar problemas
bull Existe una gran variedad de reglas al momento de asignar las aulas (pertenencia alas carreras prioridades de profesores etc)
bull Como no hay un costo asociado a la utilizacioacuten de un aula y no hay sanciones porreservarla y no utilizarla los departamentos acadeacutemicos no tienen un buen motivopara hacer una correcta utilizacioacuten del espacio
bull La falta de recursos ocasiona el mayor de los problemas porque obliga a laoptimizacioacuten en la planeacioacuten
Cursos y estudiantes
El problema de la elaboracioacuten de horarios estaacute relacionado esencialmente con el nuacutemerode eventos que requieren ser programados en este caso los cursos para los estudiantesClaramente el tamantildeo del problema variacutea entre los diferentes centros de estudio desdepequentildeos problemas con alrededor de 50 a 100 cursos hasta los 500 o 1000 cursos que
Capiacutetulo 2 Marco teoacuterico
programar Esta variacioacuten en el tamantildeo afectaraacute el tiempo requerido para resolver elproblema Un problema pequentildeo puede ser resuelto casi de manera oacuteptima mientrasque en uno grande se deben usar buacutesquedas heuriacutesticas u otras formas de acotar elespacio de buacutesqueda de una solucioacuten en un periodo de tiempo razonable
Se debe esperar que el nuacutemero de cursos y el nuacutemero de alumnos esteacuten correlacionadosEl nuacutemero de cursos ofrecidos y desde luego programados debe ser calculado porextrapolacioacuten del promedio de 5 o 6 cursos por alumno y con cupo promedio de 30alumnos por curso obviamente algunos alumnos se inscribiraacuten en 7 u 8 cursos porsemestre mientras que los cursos tendraacuten inscritos entre 20 y 40 alumnos Losalumnos dependiendo del semestre en que se encuentran inscritos deben matricularse aciertos cursos especiacuteficos para ese semestre dichos cursos deben programarse de maneraque los alumnos tengan la menor cantidad de tiempo entre el primer y el uacuteltimo cursodel diacutea permitieacutendoles con esto realizar actividades complementarias
En el Tecnoloacutegico de Zacatepec para una carrera con 900 alumnos se requieren ofertaraproximadamente entre 140 y 160 cursos ademaacutes los estudiantes pueden matricularse encursos ofrecidos por otros departamentos (esto ampliacutea el rango de posibilidades para losalumnos)
Los cursos y los departamentos
El promedio de los cursos ofrecidos por cada departamento variacutea considerablementeentre las diferentes escuelas de nivel superior La razoacuten de esta variabilidad puede servista como un indicador de la naturaleza de la complejidad de la planeacioacuten de horarios
Cada departamento ofrece cursos a los estudiantes de las carreras a las que da soportedirecto pero ademaacutes debe ofrecer cursos para todas las otras carreras de la institucioacutenque lo requieran esto es si un departamento X solicita la apertura de determinadonuacutemero de cursos a un departamento Y el departamento Y debe ofertar los cursossolicitados por X para los alumnos matriculados en el departamento X aunado a estoalgunos cursos ofertados por el departamento Y tienen compatibilidad con cursosofrecidos por X y por lo tanto los estudiantes de Y y X pueden ingresar indistintamenteen cualquiera de los cursos
Los cursos los semestres y las horas
Una de las afirmaciones que se pueden hacer en las instituciones de nivel superior es quelos cursos generalmente inician durante cierto periodo de tiempo y pueden tenerduracioacuten semestral (la gran mayoriacutea) trimestral y sin fechas predeterminadas (algunosposgrados por ejemplo) En general los cursos empiezan a las 700 AM y terminandependiendo del lugar a las 2000 o a las 2100 horas de lunes a saacutebado Aunque estopermite tener un amplio margen de horas para programar los cursos esto hace tambieacuten
Capiacutetulo 2 Marco teoacuterico
aun maacutes difiacutecil la elaboracioacuten de los horarios porque aumenta el rango de posiblescombinaciones donde programar cursos
Los cursos se pueden programar en periodos de tiempo muy variados aunque la mayoriacuteade los programadores de horarios siguen los siguientes patrones
bull Curso diario de 1 horabull Curso de dos horas en diacuteas saltados (lunes y mieacutercoles jueves y viernes
mieacutercoles y viernes)bull Curso de dos horas diarias 3 diacuteas por semana (lunes mieacutercoles y viernes)
(lunes martes y jueves) o (martes jueves y viernes)bull Cursos de cuatro horas en un solo diacutea por semanabull En el peor de los casos se programan cursos con la combinacioacuten de algunos
de los anteriores
Dependiendo del curso algunos tienen duracioacuten de cuatro horas teoacutericas semanales otroscombinan cuatro horas de teoriacutea y dos de praacutectica y algunos excepcionalmente sonprogramados con cuatro horas de praacutectica y dos de teoriacutea Las horas de praacutecticageneralmente se realizan en laboratorios o praacutecticas de campo agregando esto un nuevoparaacutemetro para la complejidad de la elaboracioacuten de horarios
Los cursos y las aulas
Las aulas son el espacio fiacutesico donde se impartiraacuten los cursos pueden ser salones declase laboratorios salones de exposicioacuten aulas para aplicacioacuten de exaacutemenes aulas paraactividades deportivas musicales o recreativas cada aula tiene capacidad para quecierto nuacutemero definido de estudiantes reciba sin problema unidades de ensentildeanzaaprendizaje
En una encuesta realizada por la Universidad de Nottingham [Burke y Elliman 1998] sedefinioacute que la programacioacuten de los cursos en las aulas es uno de los mayores problemasa los que se enfrentan los responsables de la elaboracioacuten de horarios Esto proviene dedos problemas mayores El primer problema es la escasez de aulas disponibles ya queen algunas de las escuelas de nivel superior el crecimiento de la poblacioacuten estudiantil hasido mayor que el crecimiento del nuacutemero de aulas disponibles para la ensentildeanza Elsegundo problema ocurre cuando se programa un curso en mas de un aula o saloacuten declase
La ocupacioacuten de las aulas es variable de acuerdo al departamento para el que seaasignada algunos prefieren utilizarlas al maacuteximo en el turno matutino otros en el turnovespertino tienen ocupacioacuten total algunos las utilizan exhaustivamente de lunes ajueves unos departamentos las llenan los viernes y saacutebados y otros tienen que utilizarlastodo el diacutea de lunes a saacutebado inclusive solicitan prestadas a los otros departamentosaquellos espacios que no son utilizados en alguacuten diacutea y hora a la semana
Capiacutetulo 2 Marco teoacuterico
Para el Tecnoloacutegico de Zacatepec el recurso llamado las aulas debe ser optimizado enuna buena planeacioacuten de horarios esto es deben ser utilizadas al maacuteximo todos los diacuteasde la semana desde las 700 hasta las 2100 de lunes viernes y los saacutebados hasta las1500 horas
Tipos de cursos
Una de las cosas a tomarse en cuenta durante la elaboracioacuten de los horarios es el tipo decurso a programar
bull Teoacutericos como los cursos matemaacuteticos cursos de administracioacuten etcbull Teoacuterico praacutecticos como los cursos de electroacutenica sistemas digitalesbull Lenguajes de programacioacutenbull Con praacutecticas de campo que deben salir al aire librebull Con praacutecticas de quiacutemica
Otra consideracioacuten es el tipo de aula requerida por los diferentes tipos de cursos
bull cursos que requieren medios audiovisuales simples (pizarroacuten y gis)bull algunos cursos adicionalmente requieren proyectores de acetatos y salas
obscurecidasbull cursos que requieren equipo de coacutemputo equipo de proyeccioacuten equipo de video y
televisioacuten para el desarrollo de la caacutetedra etcbull cursos que requieren laboratorios con computadorasbull que requieren equipos de medicioacuten electroacutenica generadores de sentildeales enchufes
eleacutectricos ybull cursos que requieren mesas tomas eleacutectricas y equipos para conexioacuten de redes
Los cursos y los catedraacuteticos
Definitivamente eacutesta es una de las principales consideraciones que tienen en cuenta losprogramadores de horarios la asignacioacuten de los cursos a los catedraacuteticos porque es unproceso que no puede realizarse de manera aleatoria es un proceso delicado porque deesto depende la efectividad del proceso de ensentildeanzandashaprendizaje
Los catedraacuteticos tienen caracteriacutesticas individuales que los hacen uacutenicosindependientemente de la profesioacuten que hayan estudiado Tienen intereses diferentesmeacutetodos diferentes aacutereas de preferencia diferentes perfil profesiograacutefico distinto tienenactividades extralaborales variadas asiacute que
iquestCoacutemo asignarle un curso a un catedraacutetico para que logre un oacuteptimo resultado en el
Capiacutetulo 2 Marco teoacuterico
proceso de ensentildeanza-aprendizajeiquestCoacutemo garantizar que el curso asignado a un profesor seraacute bien impartidoiquestCoacutemo saber que el profesor estaacute capacitado para ofrecer un buen cursoiquestCuaacuteles son los requisitos que debe reunir un profesor para impartir cierto cursoiquestDependen soacutelo de la profesioacuten los cursos que puede impartiriquestCoacutemo conocer de antemano las preferencias de los profesoresiquestEl nivel de estudio de los profesores les capacita para impartir cualquier cursoiquestDeben los profesores ser guiados a una especialidad por los programadores dehorarios
Las respuestas a todas estas preguntas incorporadas en un sistema generador de horariosiquestpermitiraacuten hacer una buena asignacioacuten de catedraacutetico a un curso
El condensado de horarios
Es un documento emitido cada semestre por los responsables de la elaboracioacuten de loshorarios que contiene la informacioacuten requerida por los alumnos jefes de departamento ycatedraacuteticos para conocer la distribucioacuten de las materias los grupos las aulas las horasy los catedraacuteticos que impartiraacuten los cursos en otras palabras el condensado de materiases el documento final de los HORARIOS que marcaraacute las acciones de todos el semestreactual
23 El proceso de la elaboracioacuten de horarios
El proceso de la elaboracioacuten de horarios abarca cada accioacuten que es requerida para crearel horario final completo y correcto de los datos iniciales Esto incluye recibir validary dar formato a los datos generar la versioacuten inicial hacer las correcciones y luegoproducir el condensado final de horarios El proceso de la generacioacuten de horariosabarca
bull la generacioacuten del dato de cuantos cursos se van a ofertarbull asignacioacuten de horario a esos cursosbull proporcionar aulas a los cursosbull designar profesores para los cursos definidos
la parte difiacutecil de esto es generar los horarios con los recursos disponibles en cadadepartamento cada etapa tiene sus restricciones (fuertes y suaves) los recursos no soninagotablesEl uso de la computadora
En una encuesta realizada por la Universidad de Nottingham [Burke y Elliman 1998]referente a la forma de elaborar horarios en las demaacutes universidades se encontroacute que un
Capiacutetulo 2 Marco teoacuterico
58 de ellas utilizan la computadora en alguna etapa del proceso de eacutestas el 21 tienela facilidad de realizar la programacioacuten aunque generalmente requieren captura manualde informacioacuten y conocimientos previos del problema particular del proceso El 1tienen paquetes comerciales y el 14 tienen paquetes hechos en casa para generarhorarios y el 2 aseguran que estaacuten desarrollando o comprando un paquete
Dado el tamantildeo de los horarios de dichas universidades es sorprendente que muchas notengan alguna forma de automatizacioacuten Esto se debe en la mayoriacutea de los casos a quelos horarios no cambian significativamente de un antildeo a otro Sin embargo de lasuniversidades que no programan horarios por computadora la mitad usa el horario delantildeo pasado y la otra mitad empiezan desde cero cada vez Cuando no se usa el horariodel antildeo pasado generalmente toma 4 semanas elaborar uno nuevo En la mayoriacutea de loscasos donde se usa la computadora generalmente no se toma en cuenta el horario delantildeo anterior
Causas de cambio de los horarios antildeo tras antildeo
Para que un horario pueda ser usado antildeo tras antildeo debe ser lo suficientemente robustopara que los cambios que ocurran en los datos de entrada produzcan soacutelo una pequentildeaalteracioacuten o modificacioacuten en el condensado final de horarios El uso del condensado delantildeo pasado depende en la cantidad de cambios que deben hacerse y esto a su vezdepende de cuanto cambie la cantidad de grupos que deben ofertarse para cadaasignatura y esto depende de la cantidad de alumnos que pueden cursar una asignaturaahora bien la cantidad de alumnos estaacute en funcioacuten de los iacutendices de aprobacioacuten yreprobacioacuten del periodo de los alumnos que por alguna razoacuten no cursaron unaasignatura y de la cantidad de grupos ofertados el periodo pasado
Si cambia la cantidad de horas frente a grupo asignada a un departamento entoncescambiaraacute el condensado de horarios con respecto al del antildeo pasado porque eso afectadirectamente en la cantidad de cursos que podraacute ofertarse este periodo este es uno de losrecursos maacutes variables que influyen para hacer cambios en los condensados antildeo trasantildeo
La redistribucioacuten de aulas y laboratorios (que no se realiza a menudo) llega tambieacuten ainfluir en los cambios
El cambio de horario matutino a vespertino (o viceversa) solicitado por un catedraacuteticoque es el especialista en impartir cierto curso ocasiona los cambios del condensado dehorarios del antildeo anterior al nuevo
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
CAPIacuteTULO 3
TEacuteCNICAS DE INTELIGENCIA ARTIFICIAL UTILIZADASPARA LA GENERACIOacuteN DE HORARIOS
31 Sistemas Expertos (SE)Bajo el teacutermino de Sistemas Expertos se entiende un nuevo tipo de software que imita elcomportamiento de un experto humano en la solucioacuten de un problema Un SE puedealmacenar conocimientos de expertos para un campo determinado y solucionar unproblema mediante razonamiento loacutegico de conclusiones
Los Sistemas Expertos son sistemas que buscan modelar el conocimiento yprocedimientos usados por un experto humano para resolver un problemadeterminado[Saacutenchez 1999]
iquestUn Sistema Experto utiliza teacutecnicas de la Inteligencia Artificial (IA)
Los Sistemas Expertos son uno de los puntos que componen las investigaciones en elcampo de la IA Un sistema de computadoras que trabaje con teacutecnicas de IA deberaacuteestar en situacioacuten de combinar informacioacuten de forma ldquointeligenterdquo alcanzarconclusiones y justificarlas (al igual que el resultado final) Los Sistemas Expertos sonuna expresioacuten de los sistemas basados en el conocimiento Con la aplicacioacuten de teacutecnicasde Inteligencia Artificial finaliza la transicioacuten del procesamiento de datos alprocesamiento de conocimientos
Un Sistema Experto es un sistema informaacutetico que simula el proceso de aprendizaje dememorizacioacuten de razonamiento de comunicacioacuten y de accioacuten de un experto humano enuna determinada rama o dominio Estas caracteriacutesticas le permiten almacenar datos yconocimiento sacar conclusiones loacutegicas tomar decisiones aprender de la experiencia ylos datos existentes comunicarse con humanos explicar el porqueacute de las decisionestomadas y realizar acciones como consecuencia de todo lo anterior
La incorporacioacuten dentro de un sistema de computadoras de un componente basado enel conocimiento correspondiente a una habilidad experta de tal forma que el sistemapueda ofrecer asesoramiento inteligente o tomar una decisioacuten inteligente sobre unafuncioacuten del proceso Una caracteriacutestica adicional deseable que muchos consideranfundamental es la capacidad del sistema si se le solicita de justificar su propia liacutenea derazonamiento de un modo directamente inteligible para el interrogador El estiloadoptado para alcanzar estas caracteriacutesticas es la programacioacuten basada en reglas[Waterman 1986]
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
311 Funcioacuten de un Sistema Experto
La funcioacuten de un Sistema Experto es aportar soluciones a problemas de un dominioespeciacutefico imitando la forma de razonamiento de los seres humanos es decir el SistemaExperto debe ser capaz de mostrar soluciones inteligentes [Giarratamo 1998]
Acceder a los conocimientos adquiridos por experiencia es lo maacutes difiacutecil ya que losexpertos al igual que otras personas apenas los reconocen como tales Son buscadoscon mucho esfuerzo y cuidado siendo descubiertos de uno en uno poco a poco
Ventajas del Sistema Experto
Experto Humano Experto ArtificialMortal PermanenteDifiacutecil de documentar Faacutecil de documentarDifiacutecil de transferir Faacutecil de transferirImpredecible ConsistenteMaacutes caro Menos caro
Ventajas del Experto Humano
Experto Humano Experto ArtificialCreativo No creativoAdaptable Requiere mantenimientoExperiencia sensorial Entrada simboacutelicaConocimiento de sentido comuacuten Conocimiento teacutecnico
312 Arquitectura de Sistemas Expertos [Gines 1986] [Giarratamo 1998]
La arquitectura general de un SE (Fig 31) estaacute compuesta fundamentalmente de
bull Base de Conocimiento Representa el conocimiento adquirido del expertohumano incluyendo experiencia sentido comuacuten e intuicioacuten
bull Motor de Inferencia Decide que se debe aplicar que se debe hacer resuelveconflictos nuevos hace uso de la base del conocimiento Proporcionamecanismos de razonamiento buacutesqueda aprendizaje etc
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
bull Interfaz Usuario Facilita la comunicacioacuten entre el Sistema Experto y el usuarioque realiza las consultas
bull Subsistema de Adquisicioacuten Mejor conocido como la Interfaz de Expertopermite ingresar el conocimiento a la Base de Conocimientos por parte delhumano experto en alguacuten dominio de conocimiento
bull Subsistema de explicaciones Permite dar a conocer los resultados obtenidospor el Sistema Experto
313 La base de conocimiento
El enfoque maacutes comuacuten para representar el dominio del conocimiento que se requierepara un SE son las reglas de produccioacuten Estas pueden ser referidas como reglasldquosituacioacuten-accioacutenrdquo o ldquoif-thenrdquo De esta forma con frecuencia una base deconocimientos estaacute fraguada principalmente de reglas las cuales son invocadas por uncasamiento de patrones con las particularidades de las tareas circunstanciales que vanapareciendo en la base de hechosLas reglas en una base de conocimientos representan el dominio de hechos y laheuriacutestica de un buen juicio de acciones a tomar cuando uno llega a situacionesespeciacuteficas La fuerza de un SE yace en el conocimiento especiacutefico del dominio delproblema Casi todos los sistemas existentes basados en reglas contienen cientos o milesde ellas y generalmente se obtienen de entrevistas con expertos durante un tiempo largoEn cualquier SE las reglas se conectan una a otra por ligas de asociacioacuten para formar
Base de
Motor de
Subsistema deadquisicioacuten
del
Subsistemade
explicacione
Interfazde
usuario
Ingeniero delconocimiento y experto Usuario
Base de hechos
Figura 31 Arquitectura de un Sistema Experto
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
redes de reglas Una vez que han sido ensambladas tales redes entonces se tiene unarepresentacioacuten de un cuerpo de conocimientos que es sustancial
Generalmente un experto tiene muchas reglas de criterio empiacutericas por lo que el soportesuele ser incompleto para la evidencia que se dispone En tales casos una teacutecnica es la devincular valores numeacutericos a cada regla para indicar el grado de certidumbre que eacutestatiene En la operacioacuten de SE los valores de certidumbre se combinan unos a otros atraveacutes de la red considerando tambieacuten la certidumbre de los datos de entrada delproblema para llegar finalmente a un valor de certidumbre de la solucioacuten final
314 El motor de inferencias
El sistema experto modela el proceso de razonamiento humano con un moacutedulo conocidocomo el motor de inferencia Dicho motor de inferencia trabaja con la informacioacutencontenida en la base de conocimientos y la base de hechos para deducir nuevos hechosContrasta los hechos particulares de la base de hechos con el conocimiento contenido enla base de conocimientos para obtener conclusiones acerca del problemaEl modelo de problema - solucioacuten y sus meacutetodos organizan y controlan las etapas que sevan tomando para la resolucioacuten de problemas Un modelo muy poderoso y comuacuten es elde encadenar las reglas `` if-then-else con el fin de formar alguna liacutenea derazonamiento Si el encadenamiento se inicia a partir de un conjunto de condiciones y semueve hacia alguna conclusioacuten el meacutetodo se llama encadenamiento hacia adelante y ensu caso contrario el encadenamiento es hacia atraacutes
Un problema de encadenamiento hacia adelante sin una apropiada heuriacutestica de podaderivaraacute muchas soluciones de las cuales no todas son necesarias En el caso deencadenamiento hacia atraacutes es necesario tambieacuten trabajar con una heuriacutestica apropiadacon la finalidad de poder manejar submetas conjuntivas En general para atacar elproblema de conjuncioacuten es necesario encontrar un caso en donde todas las submetasinteractuantes se satisfagan Pero con frecuencia una buacutesqueda de tal naturaleza nos dauna explosioacuten combinatoria de posibilidades Es por esta razoacuten que el dominioapropiado de la heuriacutestica y su esquema inferencial deberaacuten ser encontrados para cadatipo de problemas para que de esta manera se tenga un SE eficaz y eficiente
315 iquestPor queacute utilizar un Sistema Experto [Pluss 1999] [Sanchez 1999]
1 Con la ayuda de un Sistema Experto personas con poca experiencia pueden resolverproblemas que requieren un conocimiento formal especializado
2 Los Sistemas Expertos pueden obtener conclusiones y resolver problemas de formamaacutes raacutepida que los expertos humanos
3 Los Sistemas Expertos razonan pero basaacutendose en un conocimiento adquirido y notienen sitio para la subjetividad
Capiacutetulo 2 Marco teoacuterico
4 El uso de Sistemas Expertos es especialmente recomendado en las siguientessituaciones
bull Cuando los expertos humanos en una determinada materia son escasos
bull En situaciones complejas donde la subjetividad humana puede llevar aconclusiones erroacuteneas
bull Cuando es muy elevado el volumen de datos que ha de considerarse paraobtener una conclusioacuten
316 Construccioacuten de prototipos [Turban 1995]
En el desarrollo de Sistemas Expertos se plantean dos importantes riesgos
1- No existen implementaciones similares que puedan servir de orientacioacuten al encargadodel desarrollo en la casi totalidad de los casos
2- En muchos puntos los requisitos necesarios estaacuten esbozados con muy poca precisioacuten
El disentildeo y la especificacioacuten requieren una temprana determinacioacuten de la interfaz delsoftware y de la funcionalidad de los componentes En el desarrollo de SistemasExpertos deben alterarse a menudo durante y tambieacuten despueacutes de su implementacioacuten yaque los requisitos se han ido configurando y han obtenido mayor precisioacuten o porque seha descubierto que deben iniciarse otras viacuteas de solucioacuten Durante el desarrollo resultamaacutes apropiado empezar con implementaciones tipo test para encontrar el camino haciauna solucioacuten definitiva y para hacerlas coincidir con las necesidades del usuario
32 Algoritmos Geneacuteticos
321 Antecedentes [Medina 2004] [Goldberg 1989] [Davis 1991]
El Algoritmo Geneacutetico es una teacutecnica de buacutesqueda basada en la teoriacutea de la evolucioacutende Darwin que ha cobrado tremenda popularidad en todo el mundo durante los uacuteltimosantildeos
Esta teacutecnica se basa en los mecanismos de seleccioacuten que utiliza la naturaleza de acuerdoa los cuales los individuos maacutes aptos de una poblacioacuten son los que sobreviven al
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
adaptarse maacutes faacutecilmente a los cambios que se producen en su entorno Hoy en diacutea sesabe que estos cambios se efectuacutean en los genes de un individuo (unidad baacutesica decodificacioacuten de cada uno de los atributos de un ser vivo) y que sus atributos maacutesdeseables se transmiten a sus descendientes cuando eacuteste se reproduce sexualmente
En 1859 Darwin publica su libro laquoEl origen de las especiesraquo El libro causoacute una granpoleacutemica en el mundo cientiacutefico por las revolucionarias teoriacuteas en eacutel contenidas que lasespecies evolucionan acorde al medio para adaptarse a eacuteste Con ello el universopasaba de ser una creacioacuten de Dios estaacutetica y perfecta desde su inicio a un conjunto deindividuos en constante competicioacuten y evolucioacuten para poder perpetuar su especie en eltiempo La existencia de una especie pasa asiacute a ser algo dinaacutemico las especies se creanevolucionan y desaparecen si no se adaptan Para cada especie animal la naturalezaproponiacutea un crudo filtro soacutelo los mejores los maacutes aptos los que mejor se adapten almedio conseguiacutean sobrevivir lo suficiente para llegar a la madurez y encontrar unapareja para perpetuar sus aptitudes que le haciacutean maacutes apto
La informaacutetica ve aquiacute un claro proceso de optimizacioacuten Se toman los individuos mejoradaptados (mejores soluciones temporales) se cruzan (se mezclan ) generando nuevosindividuos (nuevas soluciones) que contendraacuten parte del coacutedigo geneacutetico (informacioacuten)de sus dos antecesores y por lo tanto aunque el nuevo individuo no tenga que estarforzosamente mejor adaptado de hecho puede que ni la probabilidad de que el nuevoindividuo generado esteacute mejor adaptado que los padres sea alta el promedio de laadaptacioacuten de toda la poblacioacuten si mejora ya que tienden a perpetuarse y extenderse lasmejores caracteriacutesticas y a extinguirse las poco beneficiosas o perjudiciales En losAlgoritmos Geneacuteticos se crea una nueva abstraccioacuten -la poblacioacuten- cuya funcioacuten decoste mejoraraacute globalmente por lo que puede que se encuentre alguacuten individuo conmejores caracteriacutesticas
Un investigador de la Universidad de Michigan llamado John Holland era consciente dela importancia de la seleccioacuten natural y a fines de los antildeos 60 desarrolloacute una teacutecnica quepermitioacute incorporarla a un programa Su objetivo era lograr que las computadorasaprendieran por siacute mismas A la teacutecnica que inventoacute Holland se le llamoacute originalmentePlanes Reproductivos pero se hizo popular bajo el nombre Algoritmo Geneacutetico trasla publicacioacuten de su libro en 1975
En esa universidad Holland impartiacutea un curso titulado Teoriacutea de sistemas adaptativosDentro de este curso y con una participacioacuten activa por parte de sus estudiantes fuedonde se crearon las ideas que maacutes tarde se convertiriacutean en los Algoritmos GeneacuteticosLos objetivos de su investigacioacuten fueron dos
Imitar los procesos adaptativos de los sistemas naturales y Disentildear sistemas artificiales (normalmente programas) que retengan los mecanismos
importantes de los sistemas naturales
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
Unos 15 antildeos maacutes adelante David Goldberg actual delfiacuten de los Algoritmos Geneacuteticosconocioacute a Holland y se convirtioacute en su estudiante Golberg era un ingeniero industrialtrabajando en disentildeo de tuberiacuteas y fue uno de los primeros que tratoacute de aplicar losAlgoritmos Geneacuteticos a problemas industriales Aunque Holland tratoacute de disuadirleporque pensaba que el problema era excesivamente complejo Goldberg consiguioacute loque queriacutea escribiendo un Algoritmo Geneacutetico en una computadora personal Apple IIEstas y otras aplicaciones creadas por estudiantes de Holland convirtieron a losAlgoritmos Geneacuteticos en un campo con base suficiente como para celebrar la primeraconferencia en 1985 ICGAacute85 Tal conferencia se sigue celebrando bianualmente[Beasley 1993]
Una definicioacuten bastante completa de un Algoritmo Geneacutetico es la propuesta por JohnKoza es un algoritmo matemaacutetico altamente paralelo que transforma un conjunto deobjetos matemaacuteticos individuales con respecto al tiempo usando operaciones modeladasde acuerdo al principio Darwiniano de reproduccioacuten y supervivencia del maacutes apto y trashaberse presentado de forma natural una serie de operaciones geneacuteticas de entre las quedestaca la recombinacioacuten sexual Cada uno de estos objetos matemaacuteticos suele ser unacadena de caracteres (letras o nuacutemeros) de longitud fija que se ajusta al modelo de lascadenas de cromosomas y se les asocia con una cierta funcioacuten matemaacutetica que refleja suaptitud [Koza 1992] 322 Definicioacuten de AG
Los Algoritmos Geneacuteticos (AG) son meacutetodos adaptativos que pueden usarse pararesolver problemas de buacutesqueda y optimizacioacuten Estaacuten basados en el proceso geneacutetico delos organismos vivos A lo largo de las generaciones las poblaciones evolucionan en lanaturaleza de acorde con los principios de la seleccioacuten natural y la supervivencia de losmaacutes fuertes postulados por Darwin Por imitacioacuten de este proceso los AlgoritmosGeneacuteticos son capaces de ir creando soluciones para problemas del mundo real Laevolucioacuten de dichas soluciones hacia valores oacuteptimos del problema depende en buenamedida de una adecuada codificacioacuten de las mismas [Goldberg 1989]
Un Algoritmo Geneacutetico consiste en una funcioacuten matemaacutetica que toma como entradas alos ejemplares y retorna como salidas cuaacuteles de ellos deben generar descendencia para lanueva generacioacuten
Los Algoritmos Geneacuteticos presentan ventajas sobre otros algoritmos que los hacenpreferibles para determinado tipo de aplicaciones Algunas de las caracteriacutesticas de losAlgoritmos Geneacuteticos son
bull Son algoritmos estocaacutesticos Dos ejecuciones distintas pueden dar dos solucionesdistintas Esto es uacutetil por el hecho de que hay gran cantidad de isoacutemeros que
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
corresponden a soluciones vaacutelidas por lo que es interesante que distintas ejecucionespuedan dar isoacutemeros distintos
bull Son algoritmos de buacutesqueda muacuteltiple luego dan varias soluciones Aunquehabitualmente la energiacutea de los individuos de la poblacioacuten final es similar losindividuos suelen ser distintos entre si Con el modelo de paralelizacioacuten empleado -geneacutetico multipoblacional- la probabilidad de obtener muchas soluciones distintas esmaacutes alta todaviacutea
bull Son los algoritmos que hacen una barrida mayor al subespacio de posiblessoluciones vaacutelidas De hecho se considera que de todos los algoritmos deoptimizacioacuten estocaacutesticos los Algoritmos Geneacuteticos son de los maacutes exploratoriosdisponibles
323 Ventajas y Desventajas [Bull 1993]
bull No necesitan conocimientos especiacuteficos sobre el problema que intentan resolverbull Operan de forma simultaacutenea con varias soluciones en vez de trabajar de forma
secuencial como las teacutecnicas tradicionalesbull Cuando se usan para problemas de optimizacioacuten de una funcioacuten objetivo- resultan
menos afectados por los oacuteptimos locales (falsas soluciones) que las teacutecnicastradicionales
bull Usan operadores probabiliacutesticos en vez de los tiacutepicos operadores determiniacutesticos delas otras teacutecnicas
bull La mayoriacutea de las otras teacutecnicas de optimizacioacuten son tambieacuten estocaacutesticasbull Pueden tardar mucho en converger o no converger en absoluto dependiendo en
cierta medida de los paraacutemetros que se utilicen tamantildeo de la poblacioacuten nuacutemero degeneraciones etc-
bull Pueden converger prematuramente debido a una serie de problemas de diversaiacutendole
324 iquestCoacutemo saber si es posible usar un Algoritmo Geneacutetico
La aplicacioacuten maacutes comuacuten de los Algoritmos Geneacuteticos ha sido la solucioacuten de problemasde optimizacioacuten en donde han mostrado ser muy eficientes y confiables Sin embargono todos los problemas pudieran ser apropiados para la teacutecnica y se recomienda engeneral tomar en cuenta las siguientes caracteriacutesticas del mismo antes de intentar usarlabull Su espacio de buacutesqueda (ie sus posibles soluciones) debe estar delimitado dentro
de un cierto rangobull Debe poderse definir una funcioacuten de aptitud que indique que tan buena o mala es
una cierta respuestabull Las soluciones deben codificarse de una forma que resulte relativamente faacutecil de
implementar en la computadora
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
Decisiones para implementar un Algoritmo Geneacutetico [Michalewicz 1992]
Las decisiones que hay que tomar para implementar un Algoritmo Geneacutetico son
bull Criterio de codificacioacuten Coacutemo se va a almacenar la informacioacuten en el genomabull Criterio de tratamiento de individuos no factibles Coacutemo se van a tratar a los
individuos que no cumplan las restriccionesbull Criterio de inicializacioacuten Coacutemo se va a construir la poblacioacuten inicialbull Criterio de parada Determina cuaacutendo el algoritmo ha llegado a una solucioacuten
aceptablebull Funcioacuten de adaptacioacuten Corresponde a la funcioacuten de costo de la investigacioacuten
operativa tradicionalbull Operadores geneacuteticos Se emplean para determinar coacutemo va a ser la nueva
generacioacuten Baacutesicamente son los operadores de cruce y mutacioacuten aunque pueden serempleados otros adicionales -muerte aborto envejecimiento- Tanto cruce comomutacioacuten pueden ser realizados de muchas formas distintas
bull Criterios de reemplazo Los criterios que determinan quieacutenes se van a cruzar Notienen que ser obligatoriamente los mismos que los criterios de seleccioacuten de lospadres
bull Paraacutemetros de funcionamiento Determinados paraacutemetros que sin poder serenglobados en ninguno de los anteriores son fundamentales para el funcionamientode un Algoritmo Geneacutetico Es el caso por ejemplo del tamantildeo de la poblacioacuten laprobabilidad de la aplicacioacuten de los operadores geneacuteticos etc
325 Paraacutemetros que deben ser especificados en el programa
Nordm de generaciones cantidad de veces que se produce una nueva generacioacuten deindividuos utilizando las reglas anteriormente explicadas Por loacutegica cuantas maacutesgeneraciones se produzcan se obtendraacuten mejores individuosNordm de individuos por generacioacuten en este ejemplo la cantidad de individuos de unageneracioacuten a otra es constante no variacuteaNordm de entrenamientos cantidad de veces que se lleva a cabo un entrenamiento entrediferentes generaciones de individuos
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
Fig 32 Pseudocoacutedigo del Algoritmo Geneacutetico simple
Los Algoritmos Geneacuteticos son una poderosa herramienta de propoacutesito general deoptimizacioacuten que modela los principios de la evolucioacuten [Burke 1994]
El proceso es el siguiente
1 Una poblacioacuten random de horarios factibles es creada Cada horario es evaluado deacuerdo a una conjunto de criterios (por ejemplo el tamantildeo del horario cuantosgrupos son colocados a la misma hora y en el mismo saloacuten cuantos salones hayvaciacuteos)
2 Los horarios son seleccionados de manera aleatoria para ser las bases de la proacuteximageneracioacuten Los buenos horarios son maacutes deseables que los malos En las bases dela evaluacioacuten de estos miembros de la poblacioacuten (horarios factibles) se escogen lospadres de la proacutexima generacioacuten de horarios Evaluando numeacutericamente durante elproceso de seleccioacuten buscando los mejores horarios los peores horarios soneliminados al mismo tiempo que la buacutesqueda se dirige hacia las aacutereas maacutespromisorias del espacio de soluciones
3 El Operador Mutacioacuten se aplica generalmente a un solo miembro de la poblacioacuten einvolucra el cambio aleatorio de la hora o aula de algunos grupos despueacutesalmacena el nuevo horario siempre manteniendo un horario factible Esto agrega
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
un elemento que permite tambieacuten introducir material geneacutetico uacutetil que ha sidoperdido en otros horarios en las primeras generaciones
4 El Operador de Cruzamiento toma una pareja de horarios y los combina de algunamanera para producir uno o dos nuevos horarios esto se hace generalmente deforma aleatoria seleccionando algunos grupos de la mantildeana de un miembro de lapoblacioacuten y los algunos grupos de la tarde de otro miembro para producir un nuevohorario cualquier grupo que no pueda ser colocado de esta manera se manda alperiodo siguiente disponible
5 La nueva poblacioacuten es generada El proceso seraacute repetido hasta que una buenasolucioacuten sea generada
33 Programacioacuten Loacutegica de Restricciones (PLR)
331 Antecedentes de la PLR
La Programacioacuten Loacutegica de Restricciones (PLR) es una teacutecnica que tiene mucho encomuacuten con los algoritmos de asignacioacuten heuriacutestica Dechter describe asiacute el problemade la satisfaccioacuten de restricciones ldquoUn problema de satisfaccioacuten de restricciones (PSR)es representado por una red de restricciones consistente en un conjunto de n variablesX1 Xn con sus respectivos valores de dominio RR n y un conjunto derestricciones Una restriccioacuten Ci (Xi1Xij)es un subconjunto del producto cartesiano Ri1 x x R i1 formado por todas las tuplas de valores para un subconjunto(X i1X ij) delas variables que son compatibles unas con otrasrdquo [Detcher 1990]
Una solucioacuten de la red es una asignacioacuten de valores a todas las variables de tal formaque todas las restricciones son satisfechasrdquo Esta es una representacioacuten maacutes poderosaque el modelo de los Grafos Coloreados porque puede representar restricciones mascomplejas El problema de los grafos coloreados es equivalente a un PLR binario en lacual cada restriccioacuten soacutelo tiene dos variables
Este modelo se resuelve tratando de asignar valores a cada una de las variables encuestioacuten y entonces regresando si se encuentra en un punto muerto y quitandorestricciones si se descubre que no se puede encontrar solucioacuten El orden en el que lasvariables son seleccionadas y el orden de los valores que son asignados a las variablespuede ser alterado para tratar aumentar la velocidad de buacutesqueda
La PLR es un meacutetodo que permite el disentildeo raacutepido de prototipos de resolucioacuten deproblemas complejos Las principales aportaciones en esta liacutenea se centran en eldesarrollo de programas que incluyen conjuntos de restricciones adaptadas a unadeterminada familia de problemas asiacute como al disentildeo formal e implementacioacuten demodelos de interpretacioacuten en paralelo con el fin de mejorar la eficiencia del proceso
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
deductivo El objetivo final es disponer de sistemas de resolucioacuten implementados paraapoyar la creacioacuten de sistemas donde la explosioacuten combinatoria de los elementos de unproblema hace muy difiacutecil la buacutesqueda de una solucioacuten en un tiempo razonable [Farion1992]
En esta seccioacuten se proporciona una breve introduccioacuten de la Programacioacuten Loacutegica conRestricciones y sus aplicaciones dentro del marco general de la programacioacuten loacutegica Setrata eacuteste de un campo que ha tenido una notable expansioacuten debido a su potencialaplicacioacuten praacutectica dado que el anaacutelisis de las restricciones permite mejorarconsiderablemente la eficiencia del caacutelculo de determinadas funciones
332 Restricciones
En primer lugar se empieza por contestar la pregunta iquestQueacute es una restriccioacuten Estacuestioacuten se puede responder tan brevemente como escribe Roman Bartak[1998]Una restriccioacuten es simplemente una relacioacuten loacutegica entre varias variablesdesconocidas tomando cada una un valor dentro de un dominio determinado (peA+B=C-el circulo estaacute dentro del cuadrado- etc)Asiacute las restricciones aparecen de forma natural en todos los campos del conocimientohumano La suma de los aacutengulos de un triaacutengulo es 180 grados es un ejemplo derestriccioacuten que aparece en el mundo real De hecho las restricciones son el medionatural en el que las personas expresamos los problemas en todas las aacutereas
Con la explicacioacuten dada se ve de forma natural que las restricciones gozan de variaspropiedades interesantes
bull las restricciones pueden especificar informacioacuten parcial es decir en lasrestricciones no hace falta que se den de forma uacutenica los valores de sus variables
bull las variables son no direccionales es decir en una restriccioacuten tiacutepica sobre dosvariables (XY) se puede inferir una restriccioacuten sobre X dada una restriccioacutensobre Y y viceversa
bull las restricciones son declarativas es decir se puede especificar que relacioacutendeben mantener sin especificar el procedimiento computacional que implementeesa relacioacuten
bull las restricciones son aditivas es decir el orden de imposicioacuten de las restriccionesno importa todo lo que importa al fin y al cabo es la conjuncioacuten de restriccionesy su efecto
bull las restricciones no suelen ser independientes normalmente restricciones dentrodel conjunto total de restricciones comparte variables
Asiacute siguiendo esta idea el objetivo de la Programacioacuten Loacutegica con Restricciones essustituir el proceso de unificacioacuten por la resolucioacuten de restricciones sobre un dominio
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
particular de intereacutes Con esta visioacuten se considera que el procesador de restriccionesdebe encargarse de comprobar la consistencia del conjunto de restricciones y dentro delo posible reducirlo a alguna forma normal
Seguacuten Elmohamed [Elmohamed 1998] las restricciones pueden ser divididas en trestipos fuertes medias y suaves
Restricciones fuertes Son todas aquellas que deben ser cumplidas obligatoriamente elcosto de no cumplir estas restricciones es sumamente alto y por lo tanto en un horariofactible su costo asociado por incumplimiento debe ser cero Por ejemplo (en unproblema real se pueden encontrar de 10 a 15 restricciones fuertes)
bull Dos o maacutes clases impartidas por un profesor no se pueden programar a lamisma hora
bull Una clase teoacuterica y su laboratorio no se pueden programar a la misma hora en elmismo diacutea
bull Una clase no se puede programar en un aula a menos que su capacidad seamayor al nuacutemero de alumnos inscritos
Restricciones medias Estas restricciones no se refieren a conflictos de tiempo perotienen asociado un alto costo a ellas sin embargo este costo no es tan alto como el de lasrestricciones fuertes En el condensado de horarios final el costo de estas restriccioneses minimizado y es deseable reducirlo a cero Por ejemplo (en un problema real sepueden tener entre 20 y 25 restricciones medias)
bull Para cada estudiante el balancear las secciones LunMieVie y MarJuebull Balancear o distribuir y equilibrar las horas de clase en la semanabull Las clases pueden requerir periodos de tiempo contiguosbull Las clases se pueden agrupar con otras clases formando paquetesbull Los horarios particulares deben tener la menor cantidad de ldquohoyosrdquo posible esto
es que las clases deben ser consecutivas unas despueacutes de otras
Restricciones suaves Estas restricciones no tienen nada que ver con conflictos detiempo y tienen un bajo costo asociado a ellas Tambieacuten en el condensado de horariosfinal este costo es minimizado pero no necesariamente debe ser cero Por ejemplo (sepueden tener entre 30 y 40 restricciones suaves)
bull Balancear la inscripcioacuten en cursos de varios paquetesbull Especificar la hora de comida y otros periodos de descansobull Los catedraacuteticos pueden requerir periodos de tiempo sin clasebull No inscribir alumnos-atletas en cursos que tengan conflicto con sus horas de
praacutectica deportiva etc
333 Sistemas con RestriccionesUna manera maacutes formal de definir las restricciones es considerarlas como una foacutermulade primer orden interpretada en una estructura para asiacute tener en cuenta la semaacutenticaparticular del sistema de restricciones Esta semaacutentica declarativa es adecuada cuando
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
existe a priori una estructura que se adecua al sistema de restricciones (pe Los realespara las restricciones aritmeacuteticas) pero esto no funciona demasiado bien para lossistemas de restricciones maacutes praacutecticos (pe Dominios finitos) Obviamente no se puededireccionar ninguacuten caacutelculo operacional relacionado con el propio procesador de lasrestricciones [Elmohamed 2001]
334 Referencia Histoacuterica de las RestriccionesLas restricciones como un aacuterea de trabajo que combina investigacioacuten de un gran nuacutemerode campos incluyendo Inteligencia Artificial Lenguajes de Programacioacuten CaacutelculoSimboacutelico y Loacutegica Computacional Las restricciones sobre redes y los problemas desatisfabilidad con restricciones empezaron a estudiarse por los investigadores deInteligencia Artificial en los antildeos 70
La programacioacuten con restricciones ha sido aplicada con notable eacutexito en numerososcampos Los trabajos en esta aacuterea se remontan a la investigacioacuten de InteligenciaArtificial y Representacioacuten Graacutefica por Computadora por los antildeos 60 y 70 En la uacuteltimadeacutecada sin embargo ha empezado a darse una mayor conciencia de que las restriccionesproporcionan las bases para un potente acercamiento a la programacioacuten modelado yresolucioacuten de problemas y que los diferentes esfuerzos por explotar estas ideas puedenser unidos bajo el mismo prisma conceptual y praacutectico la programacioacuten conrestricciones
Entre los dominios tratados por los sistemas de Programacioacuten Loacutegica con Restriccioneslos que maacutes ampliamente son investigados son sin duda los dominios finitos losnuacutemeros reales y racionales con restricciones aritmeacuteticas y los booleanos De hecho 3de los principales lenguajes de Programacioacuten Loacutegica con Restricciones son un claroejemplo de esta tendencia CHIP que proporciona restricciones sobre dominios finitosracionales y booleanos PrologIII que incluye racionales booleanos y listas y PLR(R)que maneja restricciones sobre reales
En la actualidad se pueden observar dos ramas principales en los avances en laprogramacioacuten con restricciones que parten de diferente base y por tanto usan diferentemetodologiacutea para resolver las restricciones Estas dos ramas son
bull Satisfaccioacuten de Restriccionesbull Resolucioacuten de Restricciones
335 Satisfaccioacuten de RestriccionesLa satisfaccioacuten de restricciones parte de los avances en Inteligencia Artificial (problemascombinatorios) y los Graacuteficos por computadora (sistema de SKETCHPAD[1963]expresando coherencia geomeacutetrica en el caso de anaacutelisis de escenas)
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
336 Resolucioacuten de RestriccionesLa resolucioacuten de restricciones difiere de la satisfaccioacuten de restricciones porque usavariables con dominios infinitos Ademaacutes las restricciones individuales son maacutescomplicadas por ejemplo ecuaciones no lineales En consecuencia los algoritmos deresolucioacuten de restricciones usan meacutetodos algebraicos y numeacutericos en vez decombinaciones y buacutesqueda Sin embargo existe metodologiacutea para discretizar losdominios infinitos en un nuacutemero finito de componentes y entonces se aplican lasteacutecnicas de Satisfaccioacuten de Restricciones
La programacioacuten con restricciones ha sido aplicada con eacutexito en numerosos campos Lasaplicaciones recientes incluyen [Detcher 1990]
bull Graacuteficos por Computadorabull Procesamiento del Lenguaje Natural (construccioacuten de analizadores eficientes)bull Sistemas de Bases de Datos (para reforzar yo mantener la consistencia de los
datosbull Problemas de Investigacioacuten Operativa (como la optimizacioacuten de problemas)bull Biologiacutea Molecular (secuenciacioacuten de ADN)bull Aplicaciones de Empresabull Ingenieriacutea Eleacutectrica (localizacioacuten de fallos)bull Disentildeo de Circuitos (para computar configuraciones)bull Planificacioacuten y organizacioacutenbull Configuracioacutenbull Juegosbull Configuracioacuten de horariosbull Criptoaritmeacuteticabull Coloreado de Grafosbull Razonamiento de hipoacutetesis quiacutemicas
En esta seccioacuten se va a dedicar una parte a cada una las aplicaciones maacutes estudiadas
337 Organizacioacuten de Proyectos
El problema de la Organizacioacuten es el proceso de asignar actividades a recursos en eltiempo En el caso general de organizacioacuten es un proceso de tomar decisiones donde sepueden tomar dos tipos de decisiones
bull Decisiones de situar temporalmente Cuaacutendo deberiacutea empezar cada actividadbull Decisiones de asignacioacuten de recursos Con queacute recursos deberiacutea ejecutarse cada
actividad
Los problemas de organizacioacuten y de asignacioacuten de recursos estaacuten basados enrestricciones Diferentes restricciones pueden afectar a la organizacioacuten la duracioacuten de
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
una actividad las fechas de contrato restricciones precedentes tiempos de transferenciao de inicio de la actividad la capacidad de los recursos y el reparto de recursos
La relajacioacuten de las restricciones principales caracteriza la calidad de los problemas deorganizacioacuten Estas restricciones son las relacionadas con fechas de entregaproductividad periodicidad de los cambios de herramientas niveles de inventariomargen de tiempo etc Algunas de estas restricciones pueden ser combinadas en lafuncioacuten de evaluacioacuten para la optimizacioacuten
Las aplicaciones industriales de las teacutecnicas de resolucioacuten de restricciones a losproblemas del tipo de asignacioacuten de tareas incluye[Detcher 1990]
bull Organizacioacuten de la produccioacutenbull Organizacioacuten y planificacioacuten del transporte y la logiacutesticabull Administracioacuten del traacuteficobull Disentildeo de horarios de recursos y de hombresbull Asignacioacuten de plantilla incluyendo aplicaciones de ingenieriacutea de organizacioacutenbull Problemas de empaquebull Configuracioacuten de maacutequinas
Claramente hay muchos problemas relacionados en el aacuterea de la organizacioacuten en lapraacutectica para los sistemas comerciales e industriales reales los liacutemites entre unos y otrosno estaacuten claros Es difiacutecil encontrar alguacuten problema real que se ajuste a un modelopreconcebido sin tener que descartar partes del problema y aproximar otras asiacute que hayque tomar estos modelos con amplio margen de aproximacioacuten
Otra complicacioacuten es el tema de la optimizacioacuten En algunos casos el usuario estaacutesatisfecho soacutelo con tener una manera automaacutetica de tener la respuesta pero la mayoriacuteaquieren tener al menos una buena respuesta y algunos el mejor resultado posible Perodebido a la gran complejidad combinatoria de la mayoriacutea de los problemas reales deorganizacioacuten una optimizacioacuten real es muy difiacutecil asiacute que en la mayoriacutea de los casos seusa la programacioacuten con restricciones en combinacioacuten con otras teacutecnicas tales comoAlgoritmos Geneacuteticos para dar soluciones casi oacuteptimas en un tiempo razonable
Normalmente los problemas de organizacioacuten se presentan usando variables conrestricciones fuertes y restricciones suaves Estas pueden ser agrupadas en la abstraccioacutendel problema de organizacioacuten Asiacute tiacutepicamente el tiempo de comienzo y fin y laduracioacuten de cada actividad se representan por variables con restricciones Los dominiosde estas variables son el rango de tiempo de intereacutes en la organizacioacuten requerida
Capiacutetulo 4 Anaacutelisis y Disentildeo
CAPIacuteTULO 4
ANAacuteLISIS Y DISENtildeO
41 Recopilacioacuten de informacioacuten
bull Documentos recopilados
bull Cataacutelogo de asignaturas prerrequisitos y semestrebull Cataacutelogo de aulas y su capacidadbull Cataacutelogo de catedraacuteticos horas disponiblesbull Mapa reticular de la carrerabull Reporte de grupos abiertos en periodo actualbull Reporte de alumnos por grupo en periodo actualbull Reporte de alumnos no inscritos por materia y semestrebull Reporte de simulacioacuten (si todos aprobaran sus cursos)bull Reporte del iacutendice de reprobacioacuten del semestre anteriorbull Encuesta aplicada para determinar los conocimientos requeridos
para impartir una materiabull Encuesta aplicada para obtener los conocimientos de cada
catedraacuteticobull Aacuterbol de conocimiento realizado para determinar los grupos por
abrir de cada asignaturabull Aacuterbol de conocimiento del perfil de las asignaturasbull Aacuterbol de conocimiento del perfil de los catedraacuteticosbull Aacuterbol de conocimiento de los criterios de apertura de materia
bull El proceso de la elaboracioacuten de los horarios
1 Elaboracioacuten de los reportes estadiacutesticos del periodo actual(grupos abiertos alumnos por grupo alumnos no inscritos pormateria simulacioacuten iacutendice de reprobacioacuten)
2 Caacutelculo de la estimacioacuten de alumnos por materia del proacuteximoperiodo
3 Caacutelculo del nuacutemero de grupos por materia requeridos para elproacuteximo periodo
4 Ajuste de los grupos por materia requeridos para el proacuteximoperiodo
5 Formacioacuten de los grupos en paquetes por semestre6 Asignacioacuten de hora y aula a los grupos
Capiacutetulo 4 Anaacutelisis y Disentildeo
7 Seleccioacuten de catedraacutetico al grupo y viceversa8 Ajustes en hora aula y catedraacutetico por grupo9 Elaboracioacuten del reporte condensado para publicacioacuten de horarios10 Elaboracioacuten de los reportes de grupos sin maestro maestros con
horas disponibles grupos sin aula
Para elaborar los horarios de los grupos y maestros un semestre determinado se tienenen consideracioacuten los siguientes elementos
bull El estadiacutestico de Servicios Escolares (SE)El departamento de SE cuenta con un sistema que registra todo el historial acadeacutemicode los alumnos inscritos en el ITZ las materias cursadas y sus calificaciones lasdiferentes carreras con su retiacutecula de asignaturas y sus prerrequisitos los grupos delsemestre actual la cantidad de alumnos en cada grupo de una asignatura los iacutendicesde reprobacioacuten de semestres anteriores las materias que puede cursar un alumno elproacuteximo semestre etceacutetera Toda esta informacioacuten plasmada en reportesdiferentes es la base para la generacioacuten de los horarios del proacuteximo semestre
bull Los grupos requeridosSobre la base de operaciones aplicadas a la informacioacuten estadiacutestica se obtiene lacantidad de grupos requeridos para abrirse el proacuteximo semestre este nuacutemero degrupos es la cantidad oacuteptima con la que se podraacuten inscribir los alumnos sin tenerproblemas de falta de espacio el alterar disminuyendo o aumentando el nuacutemero degrupos requeridos puede ocasionar alumnos con carga crediticia menor a lareglamentaria o que existan grupos con menos de 10 alumnos respectivamente
bull Las aulasEl ITZ cuenta con 52 aulas repartidas entre las 8 carreras a cada coordinador decarrera se le asigna determinado numero de aulas para su administracioacuten asiacute que alasignar el aula a cada grupo debe cuidar la correcta distribucioacuten de los grupos en loshorarios correspondientes y que la capacidad de las aulas no rebase el numero dealumnos inscritos
bull Los maestros y departamentosCada departamento esta formado por un jefe y los catedraacuteticos que forman laacademia de cada carrera los profesores pueden ser de tiempo completo frac34 y frac12tiempo o profesores de asignatura cada uno tiene un horario predeterminado en turnomatutino o vespertino los catedraacuteticos de un departamento cubren las asignaturas desu carrera y apoyan a otras carreras a cubrir las materias que tienen el perfil de esaacademia los catedraacuteticos son uno de los recursos mas difiacuteciles de controlar
Restricciones propias de los profesores
o Materia no tiene maestro
o Maestro tiene horas disponibles
Capiacutetulo 4 Anaacutelisis y Disentildeo
o Maestro tiene materias preferencia
o Maestro ha impartido materia
o Maestro solicita materia
o Maestro tiene restricciones de nuacutemero de materias a impartir
o Restriccioacuten no pueden darse maacutes de tres materias diferentes
o Maestro tiene una profesioacuten
o Maestro tiene un perfil
o Maestro tiene un aacuterea definida
o Maestro prefiere materias especialidad
o Maestro prefiere materias semestres iniciales
bull Las materias o asignaturasEn cada carrera se tiene un mapa reticular que tiene las materias de cada semestre elnombre los creacuteditos las horas de teoriacutea y praacutectica las ligas con los prerrequisitos lasmaterias de la especialidad seleccionada etc
Restricciones propias de las asignaturas
o Materia de 1deg semestre
o Materia de 2deg semestre
o Materia de 3deg semestre
o Materia de 4deg semestre
o Materia de 5deg semestre
o Materia de 6deg semestre
o Materia de 7deg semestre
o Materia de 8deg semestre
o Materia de 9deg semestre
o Materia de especialidad
o Materia tiene prerrequisito
o Materia es de baacutesicas
o Materia requiere conocimientos de Base de Datos
o Materia requiere conocimientos de Electroacutenica
o Materia la puede impartir cualquier maestro
Capiacutetulo 4 Anaacutelisis y Disentildeo
o Materia requiere conocimientos de Redes
o Materia requiere ser impartida por ingeniero
o Materia tiene complejidad alta
o Materia debe ser impartida por catedraacutetico con grado de maestriacutea
o Materia requiere conocimientos de Arquitectura de Computadoras
o Materia no tiene cadenas
o Materia de Administracioacuten
o Materia de Ingenieriacutea Industrial
o Materia requiere conocimientos de Aacutelgebra
o Materia requiere conocimientos de Caacutelculo Diferencial e Integral
o Materia requiere conocimientos de Quiacutemica Inorgaacutenica y Orgaacutenica
o Materia requiere una elaboracioacuten de proyectos
bull Las carrerasLas 8 carreras que se imparten en el ITZ son ordenadas por nuacutemero de alumnos
1 Ingenieriacutea en Sistemas Computacionales2 Licenciatura en Informaacutetica3 Licenciatura en Administracioacuten4 Ingenieriacutea Civil5 Ingenieriacutea Electromecaacutenica6 Ingenieriacutea Industrial7 Ingenieriacutea Quiacutemica8 Ingenieriacutea Bioquiacutemica
bull Los horarios de grupoUna vez determinados los grupos requeridos para el proacuteximo semestre se procede a laasignacioacuten de horario de acuerdo al nuacutemero de horas teoacuterico-praacutecticas se le asignaaula y un catedraacutetico responsable se fija tambieacuten un nuacutemero de alumnos y el tiempode laboratorio en caso de ser necesario
Capiacutetulo 4 Anaacutelisis y Disentildeo
Diagrama de flujo del proceso
Elaboracioacuten de los reportes estadiacutesticos
Caacutelculo de alumnos por materiaproacuteximo periodo
Caacutelculo del nuacutemero de grupos pormateria requeridos
Ajuste de los grupos por materiarequeridos
Formacioacuten de los grupos en paquetespor semestre
Asignacioacuten de hora y aula a los grupos
Asignacioacuten de catedraacutetico al grupo
Ajustes en hora aula y catedraacutetico porgrupo
Elaboracioacuten del reporte condensado
Elaboracioacuten de reportes varios
Todo cuadrabien
Si
No
Fin
Inicio
Capiacutetulo 4 Anaacutelisis y Disentildeo
42 Anaacutelisis de la informacioacuten
bull Cataacutelogo de asignaturas prerrequisitos y semestre
Funcioacuten Dar a conocer las asignaturas de una carrera los prerrequisitos de las materiasy el semestre al que pertenece una asignatura los creacuteditos miacutenimos que debe tenerun alumno para cursar la asignatura
Origen Reporte emitido por el departamento de Servicios Escolares
Campos del reporte nombre carrera nombre asignaturas creacuteditos miacutenimos materiasprerrequisito semestre al que pertenece la asignatura
bull Cataacutelogo de aulas y su capacidad
Funcioacuten Dar a conocer la nomenclatura y capacidad de las aulas y laboratorios del ITZ
Origen Departamento de Planeacioacuten
Campos del reporte Nombre del edificio nuacutemero de aula capacidad
bull Cataacutelogo de catedraacuteticos horas disponibles
Funcioacuten Dar a conocer los catedraacuteticos por departamento y sus horas disponibles frentea grupo
Origen Departamentos acadeacutemicos
Campos del reporte Nombre del departamento clave de profesor nombre del profesorcantidad de horas frente a grupo que debe tener
bull Mapa reticular de la carrera
Funcioacuten Mostrar el mapa reticular de una carrera graacuteficamente muestra las asignaturaspor semestre sus requisitos foacutermula crediticia etc
Origen Divisioacuten de Estudios Profesionales
Campos del reporte Nombre y clave de la carrera nombre y clave de las asignaturasfoacutermula crediticia (nuacutemero de horas teoacutericas nuacutemero de horas praacutecticas creacuteditos dela asignatura) las materias prerrequisito de otras materias de especialidad semestrede la asignatura nuacutemero de creacuteditos necesarios para poder cursar una asignatura
Capiacutetulo 4 Anaacutelisis y Disentildeo
bull Reporte de grupos abiertos en periodo actual
Funcioacuten Muestra los cursos que son ofertados en el periodo actual
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera nombre de las asignaturas grupo de loscursos cantidad de alumnos inscritos nombre del catedraacutetico que lo imparte
bull Reporte de alumnos por grupo en periodo actual
Funcioacuten Muestra la cantidad de alumnos inscritos por semestre de una carrera
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera semestres del 1 al 13 nuacutemero de alumnosinscritos por semestre
bull Reporte de alumnos no inscritos por materia y semestre
Funcioacuten Muestra los alumnos que pudieron inscribirse a una materia pero que poralguna razoacuten no lo hicieron
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera nombre de la materia por semestre nuacutemerode alumnos que pudieron inscribirse y no lo hicieron
bull Reporte de simulacioacuten (si todos aprobaran sus cursos)
Funcioacuten Este reporte simula que todos los alumnos inscritos en los cursos acreditan elcurso entonces cuenta cuantos estudiantes pueden cursar todas las asignaturas comosi hubieran aprobado todos sus cursos actuales
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera nombre de la asignatura y por semestre elnuacutemero de alumnos que pueden cursar una materia
bull Reporte del iacutendice de reprobacioacuten del semestre anterior
Funcioacuten Dar a los coordinadores los iacutendices de aprobacioacuten y reprobacioacuten de los cursosdel periodo anterior
Capiacutetulo 4 Anaacutelisis y Disentildeo
Origen Departamento de Servicios EscolaresCampos del reporte Nombre de la carrera nombre de la asignatura total de alumnos
aprobados total de alumnos reprobados del periodo anterior
bull Encuesta de conocimientos requeridos para impartir asignatura
Funcioacuten Obtener los datos de los conocimientos que debe poseer un catedraacutetico quequiera impartir una asignatura
Origen Academia de cada departamentoCampos del reporte Nombre de la asignatura objetivo de la asignatura carrera lista de
conocimientos requeridos para impartir la asignatura carrera adecuada del profesorque imparta la asignatura
bull Encuesta de conocimientos requeridos para perfil de profesores
Funcioacuten Obtener los datos de los conocimientos que debe posee un catedraacutetico
Origen Academia de cada departamento
Campos del reporte Nombre del catedraacutetico carrera del catedraacutetico conocimientos enaacutereas particulares de cada asignatura
43 Solucioacuten definida
Resolver el problema iniciando con la metodologiacutea ldquodivide y venceraacutesrdquo el problemageneral se dividiraacute en 6 problemas particulares
a) Sistema de Informacioacuten para control de horariosb) Sistema Experto para definicioacuten y generacioacuten de grupos
por abrirc) Moacutedulo Programacioacuten Loacutegica de Restricciones para
asignar horario a los gruposd) Moacutedulo Algoritmos Geneacuteticos para asignar aula a los
grupos ya definidose) Sistema Experto para definir catedraacutetico para
asignaturaf) Sistema Experto para asignar asignatura a catedraacutetico
Debido a la naturaleza y caracteriacutesticas de la informacioacuten todos lossistemas seraacuten realizados iniciando desde cero la recopilacioacuten deinformacioacuten el anaacutelisis el disentildeo y la programacioacuten de cada moacutedulo delsistema programado en Visual Basic y Bases de Datos en Access
Capiacutetulo 4 Anaacutelisis y Disentildeo
La principal ventaja de eacutesta opcioacuten es que el sistema estaacute hecho a la medida de lasnecesidades de la institucioacuten poniendo las restricciones en el formato que se tienenactualmente la desventaja es que se debe desarrollar TODO el sistema
44 Requerimientos del sistema
Los Motores de Inferencias deben ser disentildeados con las siguientes caracteriacutesticas
bull Buacutesqueda de primero en profundidad en ocasiones cuando se interactuacutee con elusuario este tipo de buacutesqueda seraacute utilizado para recorrer toda la base deconocimiento
bull Buacutesqueda heuriacutestica en la que el usuario deberaacute dar datos iniciales de por dondeempezar la buacutesqueda de alguna informacioacuten
bull Tomar informacioacuten de la Base de Conocimiento y guardarla en las bases de datos ytambieacuten inferir la informacioacuten y guardarla en las bases de datos para su posteriortratamiento e impresioacuten
bull Seleccionar la mejor opcioacuten y presentarla al usuario para los casos en que el usuariodecida cambiar alguacuten dato la maacutequina deberaacute presentar una opcioacuten y saber indicarel porqueacute la ldquoeligioacuterdquo
bull Dar otras soluciones ademaacutes de la oacuteptima teniendo porcentajes de aceptacioacuten paracada solucioacuten y permitiendo la buacutesqueda de maestros a impartir materias aulas paraalguacuten grupo o cantidad de grupos a abrir
bull Dar resultados en lenguaje natural de modo que el usuario entienda claramente loque la maacutequina le comunica
bull Trabajar interactivamente con el usuario para que eacuteste pueda cuestionar el porqueasignoacute un maestro abrioacute grupos asignoacute un aula etceacutetera
bull Tener capacidad para el uso del paradigma basado en analogiacuteas ldquoSi un maestro yadio la materia en alguacuten semestre entonces puede darla en este semestrerdquo o bien ldquoSieste paquete de materias estaacute completo entonces repite todo el paquete estesemestrerdquo
Interfaz de Usuario recibe y entrega informacioacuten interactuando con el usuario esdecir el usuario puede
1) alimentar hechos2) solicitar resultados y reportes3) cuestionar coacutemo se obtuvieron ciertas conclusiones
La interfaz de usuario debe tener las caracteriacutesticas siguientes
bull Comunicarse en el lenguaje del usuario sea un humano u otro dispositivobull Recibir hechos del usuario y almacenarlos en la base de hechosbull Presentar de manera amigable los objetivos a buscar e inferencias en pantallabull Dar de manera clara la explicacioacuten de la inferencia realizada
Capiacutetulo 4 Anaacutelisis y Disentildeo
bull Dar resultados por escrito en informesbull Proporcionar al usuario la facilidad de alimentar la base de conocimientosbull Dar al usuario la facultad de corregir las inferenciasbull Si el usuario es inexperto facilitar la ayuda necesaria
Seleccioacuten del lenguaje de programacioacuten
Visual Basic 60 proporciona a los programadores facilidad para desarrollar aplicacionescomplejas en poco tiempo (comparado con lo que cuesta programar en Visual C++ porejemplo)
El sistema necesita interfaces amigables al usuario con ventanas y botones emergentesen cualquier momento y Visual Basic 60 es una herramienta de disentildeo de aplicacionespara Windows en la que eacutestas se desarrollan en una gran parte a partir del disentildeo de unainterfaz graacutefica (pudiendo incorporar todos los elementos de este entorno informaacuteticoventanas botones cajas de diaacutelogo y texto botones de opcioacuten y de seleccioacuten barras dedesplazamiento graacuteficos menuacutes etc) En una aplicacioacuten Visual Basic 60 el programaestaacute formado por una parte de coacutedigo puro y otras partes asociadas a los objetos queforman la interfaz graacutefica Visual Basic 60 permite la programacioacuten de sus ventanasbotones y componentes de manera maacutes faacutecil que Java con sus Applets
En la parte del sistema de control de horarios que es un sistema de informacioacuten comuacutenlos programas que llenan de informacioacuten las bases de datos son muy parecidos unos conotros al hacer los procesos de altas bajas modificaciones consultas y validaciones seutilizan las ventajas que Visual Basic 60 ofrece de la Programacioacuten Orientada aObjetos (POO) eacutesta es una forma de programacioacuten que utiliza objetos ligados mediantemensajes para la solucioacuten de problemas Puede considerarse como una extensioacuten naturalde la programacioacuten estructurada en un intento de potenciar los conceptos demodularidad y reutilizacioacuten de coacutedigo Las caracteriacutesticas fundamentales de la POO sonabstraccioacuten encapsulamiento herencia y polimorfismo
Visual Basic 60 soporta la abstraccioacuten la encapsulacioacuten el polimorfismo y lareutilizacioacuten de coacutedigo Los objetos de Visual Basic estaacuten encapsulados es decircontienen su propio coacutedigo y sus propios datos
Manejador de Base de datos para el almacenamiento de la informacioacutenEl manejador de base de datos a utilizar seraacute Microsoft Access debido a que los usuariosque alimentan la base de conocimientos son expertos en diferentes aacutereas delconocimiento y tiene conocimientos limitados de los diferentes manejadores y estaacuten maacutesfamiliarizados con Microsoft Access Ademaacutes de que Access es transportablefaacutecilmente
Ademaacutes la cantidad y tipo de informacioacuten que se almacena en las tablas no requieremanejadores de bases de datos potentes o con caracteriacutesticas especiales
Capiacutetulo 4 Anaacutelisis y Disentildeo
Sistemagenerador dehorarios
SistemaExperto
Reglas
Criterios
Criterios por regla Conocimiento
Procesos
Capturaestadiacutesticas
Calcula grupos
Ajusta grupos
Sistema expertoasigna materia
Sistema Expertoasigna maestro
Asigna materia
Asigna catedraacutetico
Conocimientos
Procesos
Materias
Perfil general
Catedraacuteticos
Perfil materias
Perfil maestro
Asignacioacutenmateria-maestro
Asignacioacutenmaestro-materia
Buacutesqueda independiente
B adelante
B atraacutes
Abduccioacuten
Explicacioacuten
MoacuteduloPLR
Asigna horario
Datos
Arbol derestricciones Procesos
Materia
Grupos
Paquetes
Horario
Restriccioacuten 1
Restriccioacuten 3
Restriccioacuten 2
Restriccioacuten N
Genera random
Evaluacutea restricciones
Guarda grupo
MoacuteduloAlgoritmoGeneacutetico
Asigna aula
Operadores Geneacuteticos
Evaluacioacuten
Cruzamiento
Seleccioacuten
Mutacioacuten
Poblacioacuten Inicial
Versioacuten 1
Versioacuten 2
Versioacuten 3
Versioacuten N
Condensadodatos grales
Materia
Hora
Aula
Control escolar
Sistema deInformacioacuten
Aulas
Horarios
Grupos
Maestros
Datosestadiacutesticos
Datosgenerales
Datos condensado
Materias
45 MAPA CONCEPTUAL DEL PROYECTO
Capiacutetulo 4 Anaacutelisis y Disentildeo
Capiacutetulo 4 Anaacutelisis y Disentildeo
En la Figura 41 se muestra el mapa conceptual del proyecto La burbuja centralrepresenta el sistema generador de horarios y cada rama representa uno de los seismoacutedulos que lo componen las burbujas de cada rama contienen a su vez variasramificaciones en las que se muestran de manera graacutefica los componentes maacutesrepresentativos de los procesos utilizados la informacioacuten que manejan el conocimientoque utilizan y las restricciones involucradas
El moacutedulo Servicios Escolares contiene informacioacuten necesaria para la administracioacuten delos horarios en general y proporciona los datos para el funcionamiento de los demaacutesmoacutedulos
El moacutedulo Sistema Experto Creacioacuten de Grupos (SECG) muestra el conocimiento yprocesos utilizados para definir la cantidad de grupos a ofertar a partir de la informacioacutenestadiacutestica proporcionada por servicios escolares maacutes adelante en el documento seexplica a detalle su funcionamiento
En la Figura 41 se aprecia que los moacutedulos Sistema Experto AsignaCatedraacutetico(SEAC) y Sistema Experto Asigna Materia(SEAM) comparten las bases deconocimiento porque el conocimiento de un SE es la base de hechos del otro en amboscasos los procesos difieren solamente en la informacioacuten que utilizan y en los resultadosque producen noacutetese que existe un proceso que es ldquobuacutesqueda independienterdquo que puedecatalogarse como un Sistema Experto adicional que sirve para sugerir las asignaturasque puede impartir una persona que no estaacute dentro de las bases de datos de maestros ypor lo tanto su perfil tampoco estaraacute capturado en esta caso los hechos (su perfil deconocimientos) es capturado en el momento de la consulta
El moacutedulo de Algoritmos Geneacuteticos (AG) muestra los datos que recibe como se generauna poblacioacuten inicial el tratamiento que se le aplica por medio de los operadoresgeneacuteticos y la informacioacuten que se genera
Por uacuteltimo en la Figura 41 se nota tambieacuten el moacutedulo donde se utiliza la ProgramacioacutenLoacutegica de Restricciones que contiene 3 ramas donde una representa los datos recibidosy la informacioacuten generada otra rama denota un aacuterbol de restricciones que deben sersatisfechas por los paquetes de horarios la uacuteltima rama denota los procesos que se llevana cabo debe notarse que existe un proceso aleatorio que genera cada grupo un procesoque evaluacutea el grupo contra las restricciones y uno mas que guarda los grupos quecumplieron con todas
En este mapa conceptual no se muestra en que orden se ejecuta cada moacutedulo delproyecto la Figura 42 ilustra la secuencia de ejecucioacuten de los moacutedulos
La Figura 42 muestra el diagrama con la secuencia en que se van ejecutando losprocesos los datos que ingresan a cada moacutedulo y la informacioacuten que genera
Capiacutetulo 4 Anaacutelisis y Disentildeo
452 MAPAS CONCEPTUALES DE LOS MOacuteDULOS
Servicios Escolares
Datos Estadiacutesticos
Sistema Experto Creacioacuten de Grupos
Materias y grupos requeridos
Moacutedulo PLR
Materia + grupo + hora
Moacutedulo AG
Materia + grupo + hora + aula
Sistema ExpertoAsigna Catedraacutetico Sistema Experto
Asigna Materia
Sugiere profesorpara asignaturas
Sugiere asignaturapara profesor
Materia + grupo + hora + aula +profesor
Condensado final de materias
1
2
3
4
5 6
Fig 42 Diagrama de secuencia
Capiacutetulo 4 Anaacutelisis y Disentildeo
Como puede verse todo inicia cuando Servicios Escolares enviacutea la informacioacuten a laDivisioacuten de Estudios Profesionales (donde ldquohabitanrdquo los coordinadores) quienes son losresponsables de la elaboracioacuten de los horarios
Un primer proceso captura la informacioacuten que proviene de Servicios Escolares elsegundo moacutedulo define cuantos grupos deben programarse el tercer proceso asigna lahora a cada grupo el cuarto moacutedulo es el proceso que asigna las aulas los procesosquinto y sexto sirven para sugerir queacute catedraacutetico es el maacutes adecuado para cada grupo ycomo resultado final se tiene el condensado final de horarios para el siguiente semestre
En la Figura 43 se muestran los componentes del primer Sistema Experto utilizado paradefinir la cantidad de grupos que deben ofertarse el proacuteximo semestre en la partesuperior izquierda de la figura esta el coordinador de la carrera quien es el encargado decargar el conocimiento a las Bases de Conocimiento utilizando la interfaz de experto esla persona indicada para definir los criterios que tiene cada materia define las reglaspara la agrupacioacuten de los criterios y define en cada regla que tipo de ajuste se realiza
Experto
Coordinador
Interfaz Experto
Base deConocimientos
CriteriosReglasAjustes
Motor de Inferencia ListasMateriasGrupos requeridos
UsuarioMoacutedulo Explicacioacuten
Usuario(coordinador
novato)
Interfaz Usuario
Base Hechos
Informacion Estadiacutestica
Fig 43 Sistema Experto Generador de Grupos
Capiacutetulo 4 Anaacutelisis y Disentildeo
El usuario en la parte inferior de la figura puede ser el coordinador o su asistente y seencarga de capturar la informacioacuten estadiacutestica proporcionada por servicios escolares queson los datos de alumnos inscritos actualmente en cada materia el iacutendice de reprobacioacutenlos alumnos inscritos en la materias prerrequisito una simulacioacuten de los alumnosprobables para cursar esa materia si todos los inscritos aprueban todo y los alumnos quepueden cursar las materias pero no se inscribieron
Con los datos anteriores se realiza la siguiente operacioacuten
(Inscritos en materia iacutendice de reprobacioacuten de materia) 100 +Alumnos no inscritos +Alumnos en prerrequisito ndash (alumnos en prerrequisito iacutendice de reprobacioacuten) 100 +(Simulacioacuten ndash alumnos en prerrequisito ndash no inscritos) = Alumnos del proacuteximo semestre
Este uacuteltimo dato (alumnos del proacuteximo semestre) proporciona la cantidad de alumnospor materia que pueden inscribirse en los grupos seguacuten los estadiacutesticos de ServiciosEscolares pero no contempla preferencias de alumnos conveniencia de inscripcioacuten etc
Ofrecer los grupos necesarios para la inscripcioacuten de alumnos tomando el dato calculadoocasiona que al terminar las inscripciones existan grupos vaciacuteos grupos sobresaturadosalumnos con pocas materias y varios problemas mas
La finalidad de este Sistema Experto es realizar un ajuste al dato calculadoanteriormente para incluir en su caacutelculo todas aquellas caracteriacutesticas y experiencia delcoordinador para minimizar los problemas mencionados en el paacuterrafo anterior
Los ajustes pueden ser de varios tiposbull Ajuste draacutestico hacia abajo Se aplica una reduccioacuten del 50 al dato calculadobull Ajuste hacia arriba Se agrega un grupo maacutes al dato calculadobull Ajuste hacia abajo Se resta un grupo al dato calculadobull Ajuste numeacuterico Se ajusta utilizando la regla del redondeo de decimalesbull Ajuste draacutestico hacia arriba Se suman 2 oacute 3 grupos al dato calculado
Cuando utilizar una u otra regla estaacute definido por los criterios que cada materia contienenaturalmente y que con el paso de los semestres puede variar (aunque tambieacuten puedenpasar antildeos sin sufrir ninguacuten cambio)
La Figura 44 describe la utilizacioacuten de la teacutecnica de la Inteligencia Artificial llamadaProgramacioacuten Loacutegica de Restricciones para generar el condensado de grupos a partir deuna lista de materias que contiene solamente el nombre y la cantidad de grupos que sedeben abrir de una materia
Capiacutetulo 4 Anaacutelisis y Disentildeo
EoseX
Ugacgg
Lgc
s
ListasMaterias
Procesoformador depaquetes
Lista grupo +paquete
Moacutedulo generadorRandom Hora
Restricciones satisfec
Restriccio
Materia +hora
Moacuteduloverificadorrestriccione
s
Restriccionesnosatisfechas
Fig 44 Diagrama del moacutedulo Programacioacuten Loacutegica de Restriccione
xiste un proceso inicial que forma los ldquopaquetesrdquo de grupos esto es las materias serdenan por el semestre al que corresponden (generalmente son 6 materias poremestre) despueacutes para cada semestre se generan los grupos correspondientes si porjemplo se deben hacer 3 grupos de la materia X se generan tres registros de la materia y cada registro se etiqueta
Materia X grupo AA Materia X grupo AB y Materia X grupo AC
na vez que todas las materias han sido generadas y ldquoempaquetadasrdquo se pasan alenerador de horario en bloques de un paquete a la vez Este proceso funcionasignando un horario aleatorio a cada grupo despueacutes se verifica que cada grupo cumplaon todas las restricciones que son del tipo grupo no ldquochocardquo con otro del paqueterupo proporciona horario continuo al paquete grupo tiene horario de 2 horas por diacutearupo no deja horas vaciacuteas en paquete grupo cumple con todas sus horas asignadas etc
a Figura 45 muestra el disentildeo del Algoritmo Geneacutetico utilizado para asignar aula a losrupos que provienen del moacutedulo anterior (PLR) y recibe como datos de entrada unondensado de horarios (materia + grupo + hora)
Capiacutetulo 4 Anaacutelisis y Disentildeo
Procesoevaluacioacuten
Condensado
Materia +Grupo +Hora
Generador de versiones aleatorias
Genera versioacuten asigna aula
Versioacuten 3
Versioacuten 2
Versioacuten 1
Versioacuten N
Poblacioacuten inicial
ProcesoseleccioacutenProceso cruzamiento
clonacioacuten mutacioacuten
Versioacuten z
Versioacuten y
Versioacuten x
Versioacuten w
Nueva generacioacuten
Individuos aptos
Individuos no aptosReciclaje
CondensadoMateria + grupo +hora + aula
Fig 45 Diagrama del moacutedulo Algoritmo Geneacutetico
Capiacutetulo 4 Anaacutelisis y Disentildeo
Esta rama de la Inteligencia Artificial es utilizada generalmente para procesos deoptimizacioacuten y en esta ocasioacuten se utiliza para asignar las aulas al condensado dematerias
Al inicio se reciben como datos generales el condensado de materias La poblacioacuteninicial se obtiene copiando N veces (N versiones) este condensado y agregando a cadaregistro el nuacutemero de versioacuten y un aula asignada de manera aleatoria de esta manera seobtienen N versiones diferentes del condensado original
Cada versioacuten es entonces evaluada contando el nuacutemero de choques en aula y la cantidadde espacios vaciacuteos por aula a cada versioacuten se le genera un vector para guardar laevaluacioacuten (cromosoma de evaluacioacuten) y de esta manera se mide el grado de aptitud quetiene cada versioacuten
Las versiones que tienen menos choques y menos espacios vaciacuteos se consideran con ungrado de aptitud alto y son las mejores al contrario las que tienen muchos choquesson consideradas de aptitud baja no sirven para la reproduccioacuten y son desechadas
Una vez seleccionadas la mejores versiones se procede a la aplicacioacuten de los operadoresgeneacuteticos el primero que se aplica es el cruzamiento y consiste en elegir dos versionesde alta aptitud tomar segmentos seleccionados heuriacutesticamente de ellas y formar unnuevo individuo (una nueva versioacuten) se repite este proceso Y veces con las diferentesversiones hasta tener una nueva generacioacuten de N condensados de horarios
Repetir este proceso de generacioacuten evaluacioacuten y seleccioacuten durante Z generacionesaplicando cuando se necesite la clonacioacuten que es un proceso de copiar completamenteuna versioacuten (con alto grado de aptitud) a la nueva generacioacuten
Al principio la convergencia hacia horarios sin choques en aula es raacutepida pero al pasode las generaciones disminuye entonces se debe usar la mutacioacuten que es un proceso deacceder manualmente los registros de alguna versioacuten Zi en la generacioacuten Z y corregiralguacuten aula al final despueacutes de varias generaciones selecciones cruzamientosclonaciones y mutaciones se obtiene un condensado de aulas libres de choques y conpocos espacios vaciacuteos
En la Figura 46 se muestran los componentes del Sistema Experto utilizado para sugerircuales son los catedraacuteticos que mejor se desempentildeariacutean para impartir una asignaturatomando en cuenta los conocimientos que tiene un profesor (adquiridos a lo largo de sucarrera) y cuales son los conocimientos necesarios para impartir la caacutetedra de algunaasignatura
Capiacutetulo 4 Anaacutelisis y Disentildeo
Todo inicia haciendo una encuesta a los profesores acerca del perfil y los conocimientosnecesarios para poder impartir una asignatura el objetivo de la misma y los principalestemas que abarca todo lo anterior se captura en la base de hechos como el perfil de lamateria
Posteriormente se hace otra encuesta a los profesores pidieacutendoles que seleccionencuales son los conocimientos y el grado de dominio que tienen de los diferentes toacutepicosde las asignaturas esto se convierte en el perfil del catedraacutetico Por uacuteltimo con unproceso de induccioacuten se determina para cada materia cual es el grado de certeza con elcual puede un profesor impartir una asignatura
Experto
Coordinador
Interfaz Experto
Base deConocimientos
CatedraacuteticosConocimientos profesorPerfil profesor
Motor de Inferencia Lista profesores paraimpartir una materia
Jefedepartamento
Moacutedulo Explicacioacuten
Usuario(coordinador
novato)
Interfaz Usuario
Base Hechos
Perfil
Fig 46 Diagrama de Sistema Experto para sugerir profesor a asignatura
Capiacutetulo 4 Anaacutelisis y Disentildeo
Noacutetese en la Figura 47 que el coordinador captura el conocimiento referente a lasasignaturas (objetivo temas caracteriacutesticas necesarias para impartirla) y este esalmacenado en la Base de Conocimientos
Por otro lado un profesor debe llenar una encuesta en la que indique cuales son lostemas que domina y en que porcentaje lo hace (esto es el perfil del catedraacutetico) estainformacioacuten se almacena en la base de hechos--
El Motor de Inferencia hace los matchs respectivos y genera una lista de las materias quepuede impartir un profesor y con que grado de certeza estaacute capacitado para hacerlo
Por uacuteltimo el moacutedulo de explicacioacuten informa el porqueacute dio esa inferencia mostrando lascaracteriacutesticas de materia y profesor que hicieron match
Fig 47 Diagrama de Sistema Experto para sugerir asignaturas para catedraacutetico
Experto
Coordinador
Interfaz Experto
Base deConocimientos
MateriasCaracteriacutesticas MateriasPerfil materia
Motor de Inferencia Lista materias para unprofesor
Profesor
Moacutedulo Explicacioacuten
Profesor nuevoInterfaz Usuario
Base Hechos Perfil profesor
Capiacutetulo 4 Anaacutelisis y Disentildeo
453 Diagrama de contextoEn la Figura 48 se detallan los elementos que intervienen aportando y recibiendoinformacioacuten para el funcionamiento del sistema
Los departamentos acadeacutemicos aportan al sistema una lista con los catedraacuteticos quelaboran ahiacute incluye los datos personales de los profesores nuacutemero de tarjeta nombrecarrera etc Los coordinadores de carrera son los responsables de la elaboracioacuten de loshorarios estos funcionarios son la pieza fundamental de este proceso porque aportan susconocimientos para
bull Definir el ajuste al dato estadiacutestico proporcionado por Servicios Escolaresbull Definir las restricciones para la creacioacuten de los paquetes de gruposbull Definir las restricciones para asignar hora a cada grupobull La distribucioacuten de los grupos en las aulasbull Asignar la asignatura que mejor puede impartir un catedraacuteticobull Asignarle a una asignatura al profesor que mejor puede impartirla
El departamento de Servicios Escolares es el iniciador del proceso de la elaboracioacuten dehorarios aporta los datos estadiacutesticos obtenidos de la situacioacuten escolar actual de losalumnos cada alumno estaacute inscrito en alguna de las 8 carreras que se ofrecen en elInstituto estaacute cursando entre 5 y 8 asignaturas por semestre en cada periodo acredita oreprueba algunas materias En cada carrera se tiene un mapa reticular que incluyeaproximadamente 50 asignaturas con prerrequisitos creacuteditos horas en aula horas enlaboratorio orden por semestre etc
El departamento Divisioacuten de Estudios Profesionales (donde estaacuten adscritos loscoordinadores de carrera) es el responsable de distribuir las aulas disponibles delInstituto entre los distintos coordinadores las aulas son un recurso escaso y por lo tantovalioso de esta distribucioacuten depende en gran medida la holgura o estrechez que tienenlos coordinadores para asignar las aulas a los grupos creados
Los profesores son otro de los recursos valiosos de una institucioacuten son los responsablesde transmitir sus conocimientos a los alumnos cada catedraacutetico posee conocimientos dediversas aacutereas toacutepicos y ramas del saber humano el perfil del catedraacutetico estaacute enrelacioacuten directa con el dominio que tiene de cada una de ellas y varia desde unconocimiento superficial hasta el dominio total de un aacuterea
Los generadores random de los moacutedulos PLR y AG proporcionan la informacioacutennecesaria generada de manera aleatoria para el funcionamiento de esos moacutedulos
A los coordinadores y alumnos se les proporciona un condensado de horarios losalumnos conocen los grupos a los que se pueden inscribir las horas las aulas y loscatedraacuteticos que las impartiraacuten
Capiacutetulo 4 Anaacutelisis y Disentildeo
Sistema para laelaboracioacuten de
horarios
Departamentosacadeacutemicos
Jefes dedepartamento
Divisioacuten deEstudios
Profesionales
DepartamentoServiciosEscolares
Alumnos
Coordinadoresde carrera
Coordinadoresde carrera
Lista catedraacuteticos disponibles
Conocimientos
Reporte datos estadiacutesticos
Lista aulas disponibles
Condensado de horarios
Horarios disponibles
Lista horarios profesores
Profesores Generadoresaleatorios
Perfil maestro
Horas y aulas aleatorios
Fig 48 Diagrama de contexto del proyecto
Cap
iacutetulo
4
Anaacute
lisis
y D
isentilde
o
Sist
ema
para
lael
abor
acioacute
n de
hora
rios
Dep
arta
men
tos
acad
eacutemic
os
Div
isioacute
n de
Estu
dios
Prof
esio
nale
s
Dep
arta
men
toSe
rvic
ios
Esco
lare
sC
oord
inad
ores
de c
arre
ra
List
a ca
tedr
aacutetic
os d
ispo
nibl
es
Con
ocim
ient
osR
epor
teda
tose
stad
iacutestic
osLi
sta
aula
s dis
poni
bles
Prof
esor
esG
ener
ador
esal
eato
rios
Perf
il m
aest
roH
oras
y a
ulas
Fig
49
Dia
gram
a de
func
ione
s fun
dam
enta
les (
entra
das)
Cap
tura
supe
rfil
deco
noci
mie
nto
Cap
tura
las
aula
s
Enviacute
a da
tos
Cap
tura
suco
noci
mie
nto
Enviacute
a da
tos
depr
ofes
ores G
ener
ada
tos
Cla
ve n
ombr
eho
ras
turn
o
Tips
tru
cos
cono
cim
ient
ohe
uriacutes
tico
Cla
ve c
apac
idad
ed
ifici
o
Alu
mno
sin
scrit
os
sim
ulac
ioacuten
no
insc
ritos
iacutend
ice
repr
obac
ioacuten
Toacutepi
cos y
tem
asqu
e do
min
aA
ula
y ho
raal
eato
rios
Capiacutetulo 4 Anaacutelisis y Disentildeo
Sistema para laelaboracioacuten de
horarios
Coordinadoresde carrera
Jefes dedepartamento Alumnos
Fig 410 Diagrama de funciones fundamentales (salidas)
Imprimecondensado
Imprime lista Imprimehorarios
Maestro materiahora
Materia grupohora aula
maestrosugerido
Condensado de horarios Horarios disponibles
Lista horarios profesores
Materia grupohora aula
maestro
Capiacutetulo 4 Anaacutelisis y Disentildeo
454 Diagrama entidad - relacioacuten
NOTA Los siguientes diagramas muestran las tablas utilizadas por cada moacutedulo paramayor claridad se repitieron las tablas necesarias para representar cada parte del sistemapero en la base de datos no existe tal duplicacioacuten
Este diagrama contiene las tablas del moacutedulo administrativo de los horarios en unprincipio eacutestas eran las uacutenicas tablas de un sistema de control de horarios
FK_HORARIOS_REFERENCE_MATERIASFK_MATERIAS_REFERENCE_SERVICIO
FK_MATERIAS_REFERENCE_RAMA_MAT FK_MATERIAS_REFERENCE_CARRERAS
HORARIOS
GrupoId_aulaHora_inicioHora_lunesHora_martesHora_miercolesHora_juevesHora_viernesHora_sabadoObservacionesPeriodoAnioid_materiaId_catedratico
Text(2)INTEGERINTEGERText(6)Text(6)Text(6)Text(6)Text(6)Text(6)Text(30)Text(20)INTEGERINTEGERSMALLINT
ltfk3gt
ltfk2gtltfk1gt
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
MATERIAS
SERVICIOS_ESCOLARESId_materiaINSCRITOSNO INSCRITOSSIMULACIONPROXIMO SEMESTREGRUPOS REQUERIDOSIndice de reprobacionperiodoantildeoGrupos ajustadoAlumnos ajustadoId_ajusteId_regla
INTEGERSMALLINTSMALLINTSMALLINTSMALLINTDOUBLEDOUBLEText(7)INTEGERSMALLINTSMALLINTINTEGERSMALLINT
RAMA_MATERIA
Id_ramaNombre_rama
COUNTERText(30)
ltpkgt
CARRERAS
Id_CarreraNombre_carrera
Text(15)Text(50)
ltpkgt
Fig 411 Diagrama entidad ndash relacioacuten del moacutedulo administrativo
Capiacutetulo 4 Anaacutelisis y Disentildeo
Este diagrama muestra las tablas donde se almacena el conocimiento de loscoordinadores para que el Sistema Experto del moacutedulo sugiera y aplique el ajuste aldato de cantidad de grupos sugerido por Servicios Escolares La relacioacuten entre las tablasva generando las reglas de produccioacuten
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave asig prerrequisitoclave asig prerrequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
REGLAS
DescriId_reglaId_ajusteTot_peso
Text(70)COUNTERINTEGERINTEGER
ltpkgtltfkgt
FK_MATERIAS_REFERENCE_SERVICIO
FK_HECHOS_R_REFERENCE_CRITERIO
FK_HECHOS_R_REFERENCE_REGLAS
FK_HISTORIA_REFERENCE_REGLAS
FK_HISTORIA_REFERENCE_CRITERIO
FK_REGLAS_REFERENCE_AJUSTES
FK_HISTORIA_REFERENCE_MATERIAS
FK_HISTORIA_REFERENCE_CRITERIO
SERVICIOS_ESCOLARES
Id_materiaINSCRITOSNO INSCRITOSSIMULACIONPROXIMO SEMESTREGRUPOS REQUERIDOSIndice de reprobacioacutenperiodoantildeoGrupos ajustadoAlumnos ajustadoId_ajusteId_regla
INTEGERSMALLINTSMALLINTSMALLINTSMALLINTDOUBLEDOUBLEText(7)INTEGERSMALLINTSMALLINTINTEGERSMALLINT
HECHOS_REGLAS
Id_criterioId_reglaPromedio
INTEGERINTEGERINTEGER
ltfk2gtltfk1gt
CRITERIOS
Id_criterioDescripcion
COUNTERText(60)
ltpkgt
HISTORIAL_CRITERIOS
Id_criterioId_reglaPeso de la regla
INTEGERINTEGERSMALLINT
ltfk2gtltfk1gt
AJUSTES
TipoDescripcionId_ajuste
Text(25)MemoCOUNTER ltpkgt
HISTORIAL_MATERIA
Id_materiaId_criterioprioridad
INTEGERINTEGERSMALLINT
ltfk2gtltfk1gt
Fig 412 Diagrama E-R del moacutedulo para determinar y ajustar nuacutemero de grupos
Capiacutetulo 4 Anaacutelisis y Disentildeo
En este diagrama se muestra la base de datos que almacena la informacioacuten quemanipula el moacutedulo Algoritmo Geneacutetico las tablas maacutes representativas sonPOBLACION donde se guardan todas las versiones que forman las generaciones dehorarios y CROMOSOMAS que almacena el registro de evaluacioacuten de cada versioacuten dehorarios
FK_HORARIO__REFERENCE_AULAS
FK_HORARIO__REFERENCE_POBLACIO
FK_MATERIAS_REFERENCE_TIPO_HOR
FK_POBLACIO_REFERENCE_AULAS
FK_POBLACIO_REFERENCE_MATERIAS
FK_POBLACIO_REFERENCE_CROMOZOM1 1
HORARIO_AULA
VersionAulaLunesMartesMiercolesJuevesViernesSabadoHoraId_aula
INTEGERText(6)SMALLINTSMALLINTSMALLINTSMALLINTSMALLINTSMALLINTSMALLINTINTEGER
ltfk2gt
ltfk1gt
AULAS
Id_aulaCapacidad_aulaNombre_aulaDisponible
COUNTERSMALLINTText(50)YesNo
ltpkgt
POBLACION
Id_materiaGrupoId_catedraticoAulaHora_inicioHora_lunesHora_martesHora_miercolesHora_juevesHora_viernesVersionId_aulaPeriodoAnio
INTEGERText(4)INTEGERText(4)INTEGERText(6)Text(6)Text(6)Text(6)Text(6)INTEGERINTEGERText(10)INTEGER
ltfk2gt
ltfk1gtltfk3gt
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
TIPO_HORARIO
Tipo_horario
DescripcionLunes
MartesMiercoles
Jueves
ViernesSabado
COUNTER
Text(20)SMALLINT
SMALLINTSMALLINT
SMALLINT
SMALLINTSMALLINT
ltpkgt
CROMOZOMAS
VersionSemestreChoquesVacias
INTEGERINTEGERINTEGERINTEGER
ltpkgt
Fig 413 Diagrama E-R del moacutedulo para asignar aulas (Algoritmo Geneacutetico)
Capiacutetulo 4 Anaacutelisis y Disentildeo
En esta Figura 414 se pueden observar las tablas involucradas en el proceso paragenerar los paquetes de materias por semestre y la asignacioacuten de horario a cada grupodel paquete utilizando la teacutecnica Programacioacuten Loacutegica de Restricciones noacutetese que noexiste una tabla de restricciones eacutestas se aplican por software a cada grupo generado
FK_MATERIAS_REFERENCE_SERVIC
FK_MATERIAS_REFERENCE_TIPO_H
FK_HORARIOS_REFERENCE_MATERI
MATERIA
Id_materiMateriNum de HrsNum de HrsClave deId_CarrerCreditoSemestrObservacioneTroncoalumnos porclave de asigclave de asigId_ramSuma_maOrdeTipo_horari
INTEGEText(40SMALLINSMALLINText(8Text(15SMALLINSMALLINText(60YesNSMALLINText(40Text(40INTEGESMALLINSMALLININTEGE
ltpkfk4
ltfk1
ltfk3
ltfk2
SERVICIOS_ESCOLARE
Id_materiINSCRITONOSIMULACIOPROXIMOGRUPOSIndice deperiodantildeGruposAlumnosId_ajustId_regl
INTEGESMALLINSMALLINSMALLINSMALLINDOUBLDOUBLText(7INTEGESMALLINSMALLININTEGESMALLIN
TIPO_HORARI
Tipo_horariDescripcioLuneMarteMiercoleJueveVierneSabad
COUNTEText(20SMALLINSMALLINSMALLINSMALLINSMALLINSMALLIN
ltpk
HORARIO
GrupId_aulHora_iniciHora_luneHora_marteHora_miercoleHora_jueveHora_vierneHora_sabadObservacionePeriodAniid_materiId_catedratic
Text(2INTEGEINTEGEText(6Text(6Text(6Text(6Text(6Text(6Text(30Text(20INTEGEINTEGESMALLIN
ltfk3
ltfk2ltfk1
Fig414 Diagrama E-R del moacutedulo para asignar horario (PLR)
Capiacutetulo 4 Anaacutelisis y Disentildeo
FK_HECHOS_M_REFERENCE_MATERIAS
FK_HECHOS_M_REFERENCE_CATEDRAT
HECHOS_MAT_PROF
Id_catedraticoId_materiaPromedio
SMALLINTSMALLINTSMALLINT
ltpkfk1gtltpkfk2gt
FK_PERFIL_C_REFERENCE_CATEDRAT
FK_PERFIL_C_REFERENCE_PERFILES
FK_PERFILES_REFERENCE_TIPO_PER
FK_PROF_PAR_REFERENCE_CATEDRAT
FK_PROF_PAR_REFERENCE_MATERIAS
PERFIL_CATEDRATICO
Id_catedraticoId_perfilPrioridad_perfil_cate
SMALLINTINTEGERSMALLINT
ltfk1gtltfk2gt
CATEDRATICOS
Id_catedraticoApellido_paternoApellido_maternoNombre_catedraticoTitulo_catedraticoSuma_cate
SMALLINTText(20)Text(20)Text(20)Text(30)SMALLINT
ltpkgt
PERFILES
Id_perfilId_tipoDescripcion_perfil
COUNTERINTEGERText(60)
ltpkgtltfkgt
TIPO_PERFIL
Id_tipoTipo_perfil
COUNTERText(30)
ltpkgt
PROF_PARA_MAT
Id_materiaId_catedraticoPorcentaje_cate
INTEGERSMALLINTSMALLINT
ltpkfk2gtltpkfk1gt
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
Fig 415 Diagrama E-R del moacutedulo designa mejor catedraacutetico (Sistema Experto)
Capiacutetulo 4 Anaacutelisis y Disentildeo
En las figuras de la paacutegina anterior y eacutesta (Fig 415 y 416) se muestran las tablasutilizadas por los Sistemas Expertos para sugerir que materias puede impartir unprofesor y tambieacuten sugiere que profesores pueden impartir una asignatura
FK_PERFILES_REFERENCE_TIPO_PER
FK_PERFIL_M_REFERENCE_MATERIAS
FK_PERFIL_M_REFERENCE_PERFILES
FK_MAT_PARA_REFERENCE_MATERIAS
FK_MAT_PARA_REFERENCE_CATEDRAT
FK_HECHOS_M_REFERENCE_MATERIAS
FK_HECHOS_M_REFERENCE_CATEDRAT
PERFILES
Id_perfilId_tipoDescripcion_perfil
COUNTERINTEGERText(60)
ltpkgtltfkgt
TIPO_PERFIL
Id_tipoTipo_perfil
COUNTERText(30)
ltpkgt
PERFIL_MATERIA
Id_materiaId_perfilPrioridad_perfil_mat
INTEGERINTEGERINTEGER
ltfk2gtltfk1gt
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
MAT_PARA_PROF
Id_catedraticoId_materiaPorcentaje_mat
SMALLINTINTEGERSMALLINT
ltpkfk1gtltpkfk2gt
CATEDRATICOS
Id_catedraticoApellido_paternoApellido_maternoNombre_catedraticoTitulo_catedraticoSuma_cate
SMALLINTText(20)Text(20)Text(20)Text(30)SMALLINT
ltpkgt
HECHOS_MAT_PROF
Id_catedraticoId_materiaPromedio
SMALLINTSMALLINTSMALLINT
ltpkfk1gtltpkfk2gt
Fig 416 Diagrama E-R del moacutedulo selecciona mejor materia (sistema experto)
Capiacutetulo 4 Anaacutelisis y Disentildeo
455 Diccionario de la Base de Datos
Nombre HORARIOS_CON_CONOCIMIENTOComentario Base de datos del sistema ldquoGeneracioacuten de horarios mediante Sistemas
Basados en ConocimientordquoDBMS Microsoft Access 97
Lista de Tablas
Nombre Tipo deObjeto
AJUSTES TableAULAS TableCARRERAS TableCATEDRATICOS TableCRITERIOS TableCROMOSOMAS TableHECHOS TableHECHOS_MAT_PROF TableHECHOS_PROF_MAT TableHECHOS_REGLAS TableHISTORIAL_CRITERIOS TableHISTORIAL_MATERIA TableHORARIO_AULA TableHORARIOS TableMAT_PARA_PROF TableMATERIAS TablePERFIL_CATEDRATICO TablePERFIL_MATERIA TablePERFILES TablePOBLACION TablePROF_PARA_MAT TableRAMA_MATERIA TableREGLAS TableSERVICIOS_ESCOLARES TableTIPO_HORARIO TableTIPO_PERFIL Table
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla AJUSTESFuncioacuten Almacena los datos de los tipos de ajuste que se aplican por el Sistema Experto al
dato estadiacutestico que define cuantos grupos se deben abrir de cada materia
Lista de columnas de la tabla AJUSTESNombre Tipo de
DatoLong Llave
Primaria ForaneaComentario
Tipo Text(25) 25 Nombre del tipo de ajusteDescripcioacuten Memo Explicacioacuten del ajuste a realizar al nuacutemero
de grupos calculados segun estadisticosId_ajuste COUNTER 4 X Identificador del ajuste
Tabla AULASFuncioacuten Almacena los datos de las aulas que existen en cada edificio del instituto
Lista de columnas de la tabla AULASNombre Tipo de
DatoLong Llave
Primaria ForaneaComentario
Id_aula COUNTER 4 X Identificador del aulaCapacidad_aula SMALLINT 4 Nuacutemero maacuteximo de alumnos en el
aulaNombre_aula Text(50) 50 Nombre del aula (edificio+numero)Disponible YesNo 1 Disponibilidad del aula
Tabla CARRERASFuncioacuten Almacena los datos de las carreras que se imparten en el ITZ
Lista de columnas de la tabla CARRERASNombre Tipo de
DatoLong Llave
Primaria ForaneaComentario
Id_Carrera Text(15) 15 X Clave de la carreraNombre_carrera Text(50) 50 Nombre de la carrera
Tabla CATEDRATICOSFuncioacuten Almacena los datos de los CATEDRAacuteTICOS que imparten clases en las diferentes carreras del
Instituto Se utilizan los datos en los Sistemas Expertos que definen cual es el mejor catedraacuteticopara impartir una materia
Capiacutetulo 4 Anaacutelisis y Disentildeo
Lista de columnas de la tabla CATEDRATICOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Nuacutemero de tarjeta del catedraacuteticoApellido_paterno Text(20) 20 Apellido paterno del catedraacuteticoApellido_materno Text(20) 20 Apellido materno del catedraacuteticoNombre_catedratico Text(20) 20 Nombre del catedraacuteticoTitulo_catedratico Text(30) 30 Grado de estudios y tiacutetulo del
catedraacuteticoSuma_cate SMALLINT 4 Suma total de las pesos de los perfiles
pertenecientes al catedraacutetico
Tabla CRITERIOSFuncioacuten Tabla de los criterios utilizados por el experto para crear las reglas que definen el tipo de
ajuste inferido por el Sistema Experto para definicioacuten de grupos por abrir
Lista de columnas de la tabla CRITERIOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_criterio COUNTER 4 X Identificador del criterio aplicado auna materia para crear grupos
Descripcion Text(60) 60 Descripcioacuten del criterio
Tabla CROMOSOMASFuncioacuten Almacena los datos de la evaluacioacuten de cada versioacuten de horarios generada ya sea por la
poblacioacuten inicial o por los operadores geneacuteticos se genera un cromosoma por cadasemestre en cada versioacuten
Lista de columnas de la tabla CROMOSOMASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Version INTEGER 4 X Nuacutemero de individuo o versioacuten dehorarios
Semestre INTEGER 4 Semestre al que pertenece el datoChoques INTEGER 4 Nuacutemero de choques de versioacuten y
semestreVacias INTEGER 4 Nuacutemero de aulas vaciacuteas del individuo
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla HECHOS_MAT_PROFFuncioacuten Esta tabla almacena el resultado de la inferencia del Sistema Experto materias para
profesor indica para cada catedraacutetico las materias y el porcentaje de certeza con quepuede impartirlas
Lista de columnas de la tabla HECHOS_MAT_PROFNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Identificador del catedraacuteticoId_materia SMALLINT 4 X Identificador de la asignaturaPromedio SMALLINT 4 Porcentaje de certeza con que un
profesor puede impartir una materia(resultado de la inferencia)
Tabla HECHOS_PROF_MATFuncioacuten Almacena los datos de la inferencia del Sistema Experto que calcula para una materia
determinada cuales son los mejores maestros para impartirla
Lista de columnas de la tabla HECHOS_PROF_MATNombre Tipo de
DatoLongitud
LlavePrimaria Foraacutenea
Comentario
Id_catedratico SMALLINT 4 X Identificador del catedraacuteticoId_materia SMALLINT 4 X Identificador de la asignaturaPromedio SMALLINT 4 Porcentaje de certeza con que una
materia puede ser impartida por unprofesor (resultado de la inferencia)
Tabla HECHOS_REGLASFuncioacuten Almacena los porcentajes de certeza con que se dispara una regla del Sistema Experto
que define los grupos por abrir
Lista de columnas de la tabla HECHOS_REGLASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_criterio SMALLINT 4 X Identificador del criterioId_regla SMALLINT 4 X Identificador de la reglaPromedio INTEGER 4 Porcentaje de certeza con que una
regla dispara un criterio
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla HISTORIAL_CRITERIOS
Funcioacuten Almacena las reglas formadas por los criterios utilizados por el Sistema Experto paradefinir los grupos por abrir
Lista de columnas de la tabla HISTORIAL_CRITERIOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_criterio INTEGER 4 X Identificador del criterio pertenecientea la regla
Id_regla INTEGER 4 X Identificador de la reglaPeso de la regla SMALLINT 4 Peso del criterio en la regla
Tabla HISTORIAL_MATERIAFuncioacuten Tabla que almacena la definicioacuten de cada materia con base en los criterios utilizados por
las reglas para definir por materia el nuacutemero de grupos por abrir
Lista de columnas de la tabla HISTORIAL_MATERIANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materia para suasignacioacuten de criterios
Id_criterio INTEGER 4 X Identificador del criterio que se aplicaa la materia para describirla
Prioridad SMALLINT 4 Peso del criterio en la materia
Tabla HORARIOS
Funcioacuten Almacena los datos del condensado final de horarios aquiacute se almacena el producto finaldel sistema para su posterior publicacioacuten y distribucioacuten entre la comunidad tecnoloacutegica
Lista de columnas de la tabla HORARIOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materiaGrupo Text(2) 2 Identificador del grupo A B CId_catedratico SMALLINT 4 X Catedraacutetico asignado al grupoId_aula INTEGER 4 X Aula asignada al grupoHora_inicio INTEGER 4 Hora de inicio del grupoHora_lunes Text(6) 6 Horas que se imparte el grupo el diacutea
lunes
Capiacutetulo 4 Anaacutelisis y Disentildeo
Hora_martes Text(6) 6Hora_miercoles Text(6) 6Hora_jueves Text(6) 6Hora_viernes Text(6) 6Hora_sabado Text(6) 6Observaciones Text(30) 30 Observaciones al grupoPeriodo Text(20) 20 Periodo Ene-jun o Ago-dicAnio INTEGER 4 Antildeo en que se utiliza el horario
Tabla HORARIO_AULAFuncioacuten Tabla auxiliar utilizada como almacenamiento temporal durante el proceso de evaluacioacuten
en el Algoritmo Geneacutetico guarda los datos de ocupacioacuten choques y no utilizacioacuten decada aula por hora diacutea y versioacuten
Lista de columnas de la tabla HORARIO_AULANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Version INTEGER 4 X Nuacutemero de individuo o versioacutenAula Text(6) 6 Nombre del aulaLunes SMALLINT 4 Nuacutemero de horas que se utiliza el aula
el diacutea lunesMartes SMALLINT 4Miercoles SMALLINT 4Jueves SMALLINT 4Viernes SMALLINT 4Sabado SMALLINT 4Hora SMALLINT 4 Hora de utilizacioacuten del aulaId_aula INTEGER 4 X Identificador del aula en la versioacuten
Tabla MATERIASFuncioacuten Esta es una de las principales tablas del proyecto se utiliza en todos los moacutedulos del
sistema contiene informacioacuten base para caacutelculos diversos ademaacutes contiene tambieacuten lasllaves de diferentes tablas que describen de manera de manera especial a las materias
Lista de columnas de la tabla MATERIASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia COUNTER 4 X Identificacioacuten de la materia llaveprincipal
Materia Text(40) 40 Nombre de la materiaNum de Hrs prac SMALLINT 4 Nuacutemero de horas praacutecticasNum de Hrs teo SMALLINT 4 Nuacutemero de horas teoacutericasClave de Asig Text(8) 8 Clave oficial de la materiaId_Carrera Text(15) 15 X Carrera a la que pertenece la materiaCreditos SMALLINT 4 Creacuteditos de la materia
Capiacutetulo 4 Anaacutelisis y Disentildeo
Semestre SMALLINT 4 Semestre en que se imparte la materiaObservaciones Text(60) 60Tronco comun YesNo 1 Definicioacuten de especialidad o tronco
comuacutenalumnos porgrupo
SMALLINT 4 Capacidad sugerida de los grupos deesta materia
clave de asigprerequisito
Text(40) 40 Clave de asignatura del prerrequisito
clave de asigprerequisito1
Text(40) 40 Clave de asignatura del prerrequisito
Id_rama INTEGER 4 X Identificador de la rama a la quepertenece la materia
Suma_mat SMALLINT 4 Suma total de los perfilespertenecientes a la materia
Orden SMALLINT 4 Es el nuacutemero de materia en un paqueteTipo_horario INTEGER 4 X El tipo de horario asignado a materia
Tabla MAT_PARA_PROFFuncioacuten La tabla almacena para cada catedraacutetico las asignaturas que puede impartir y el grado
de certeza con que puede hacerlo se almacena en esta tabla el resultado de la inferenciadel Sistema Experto
Lista de columnas de la tabla MAT_PARA_PROFNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Nuacutemero de tarjeta del profesorId_materia INTEGER 4 X Identificador de la materiaPorcentaje_mat SMALLINT 4 Porcentaje de certeza con que un
profesor puede impartir una materia
Tabla PERFILESFuncioacuten Tabla que contiene una relacioacuten de todas las caracteriacutesticas de las materias
caracteriacutesticas necesarias para poder impartirlas es al mismo tiempo la tabla quecontiene la relacioacuten general de los conocimientos que poseen los profesores
Lista de columnas de la tabla PERFILESNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_perfil COUNTER 4 X Identificador del perfil paraasignaciones de materias acatedraacuteticos
Id_tipo INTEGER 4 X Identificador del tipo del perfilDescripcion_perfil Text(60) 60 Descripcioacuten de una caracteriacutestica del
perfil de una materia o un catedraacutetico
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla PERFIL_CATEDRATICOFuncioacuten Tabla que contiene el perfil de todos los catedraacuteticos (pueden llamarse las reglas) del
Sistema Experto que recomienda profesores para las materias el perfil de un catedraacuteticoesta definido por los conceptos que domina de las materias
Lista de columnas de la tabla PERFIL_CATEDRATICONombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Identificador del catedraacutetico paradefinicioacuten de su perfil acadeacutemico
Id_perfil INTEGER 4 X Identificador del perfil que define aun catedraacutetico
Prioridad_perfil_cate SMALLINT 4 Porcentaje en que contribuye elperfil especificado en la definicioacutendel catedraacutetico
Tabla PERFIL_MATERIAFuncioacuten Esta tabla almacena las reglas que definen el perfil de una materia contiene las
caracteriacutesticas y temas que forman el temario de la materia
Lista de columnas de la tabla PERFIL_MATERIANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materia en laregla de la materia
Id_perfil INTEGER 4 X Identificador del perfilperteneciente a una materia
Prioridad_perfil_mat INTEGER 4 Porcentaje en que contribuye esteperfil particular a definir unamateria
Tabla PROF_PARA_MATFuncioacuten Esta tabla almacena la inferencia del Sistema Experto para determinar cuales son los
mejores profesores para impartir una materia contiene para cada asignatura una lista delos profesores y el porcentaje de certeza con que pueden desempentildearse si la imparten
Capiacutetulo 4 Anaacutelisis y Disentildeo
Lista de columnas de la tabla PROF_PARA_MATNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de materiaId_catedratico SMALLINT 4 X Identificador de catedraacuteticoPorcentaje_cate SMALLINT 4 de certeza con que el catedraacutetico X
puede impartir la materia Y
Tabla POBLACIONFuncioacuten La tabla es la maacutes importante para el moacutedulo de Algoritmo Geneacutetico porque almacena los
datos de cada individuo hipoacutetesis o versioacuten que son generados ya sea por la poblacioacuteninicial aleatoria o por los diversos operadores geneacuteticos contiene copias (versiones) delcondensado de horarios con aulas aleatorias
Lista de columnas de la tabla POBLACIONNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materiaGrupo Text(4) 4 Grupo de la materiaId_catedratico INTEGER 4 X Identificador del catedraticoAula Text(4) 4 X Nombre del aula (edificio + numero)Hora_inicio INTEGER 4 Hora de inicio del grupoHora_lunes Text(6) 6 Hora inicio del lunesHora_martes Text(6) 6Hora_miercoles Text(6) 6Hora_jueves Text(6) 6Hora_viernes Text(6) 6Version INTEGER 4 X Nuacutemero de la versioacuten o hipoacutetesisPeriodo Text(10) 10 Periodo o semestre del grupoAnio INTEGER 4 Antildeo del grupo
Tabla RAMA_MATERIAFuncioacuten La tabla almacena la clasificacioacuten de las materias de acuerdo a las ciencias a la que
pertenecen
Lista de columnas de la tabla RAMA_MATERIANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_rama COUNTER 4 X Identificador de la rama de unamateria (clasificacioacuten)
Nombre_rama Text(30) 30 Descripcioacuten de la rama de unamateria
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla REGLAS
Funcioacuten Esta tabla almacena las reglas utilizadas para generar los grupos que se deben ofertar elproacuteximo semestre indicando para cada regla el tipo de ajuste que debe aplicarse
Lista de Columnas de la Tabla REGLASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Descripcion Text(70) 70 Descripcioacuten de la regla para ajustarel nuacutemero de grupos
Id_regla COUNTER 4 X Identificador de la reglaId_ajuste INTEGER 4 X Identificador del tipo de ajuste que
se aplica cuando esta regla sedispara para alguna materia
Tot_peso INTEGER 4 Total de los pesos de lascaracteriacutesticas de esta regla
Tabla SERVICIOS_ESCOLARESFuncioacuten En esta tabla se almacenan los datos estadiacutesticos de cada materia que provienen de
Servicios Escolares para el caacutelculo del nuacutemero de grupos que deben abrirse para elproacuteximo semestre contiene tambieacuten los paraacutemetros proporcionados por el SistemaExperto para realizar el ajuste al nuacutemero de grupos calculado inicialmente
Lista de columnas de la tabla SERVICIOS_ESCOLARESNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materiaINSCRITOS SMALLINT 4 Nuacutemero de alumnos inscritos
actualmente en el grupoNO INSCRITOS SMALLINT 4 Nuacutemero de alumnos que pueden
cursar la materia pero no seinscribieron
SIMULACION SMALLINT 4 Simulacioacuten de Servicios Escolaresde alumnos que podraacuten cursar lamateria
PROXIMOSEMESTRE
SMALLINT 4 Resultado del calculo de ServEscolares de alumnos que cursaraacutenla materia
GRUPOSREQUERIDOS
DOUBLE 4 Grupos requeridos para abrirproacuteximo semestre seguacuten caacutelculosiniciales
Indice dereprobacion
DOUBLE 4 Indice de reprobacioacuten de la materia
periodo Text(7) 7 Periodo de caacutelculo de horarios actual(semestre ene-jun o ago-dic)
Capiacutetulo 4 Anaacutelisis y Disentildeo
antildeo INTEGER 4 Antildeo de caacutelculo de horariosGrupos ajustado SMALLINT 4 Nuacutemero de grupos a solicitar para
abrir proacuteximo semestreAlumnos ajustado SMALLINT 4 Caacutelculo final del numero de alumnos
del proacuteximo semestre en estamateria
Id_ajuste INTEGER 4 X Tipo del ajuste aplicado por elSistema Experto al campogrupos_requeridos
Id_regla SMALLINT 4 X Regla que se disparo para realizar elajuste
Tabla TIPO_HORARIOFuncioacuten Esta tabla almacena los formatos de los distintos tipos de horario que existen y se ofrecen
para cada materia horarios de 2345 diacuteas a la semana y de 123 o 4 horas por diacutea
Lista de columnas de la tabla TIPO_HORARIONombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Tipo_horario COUNTER 4 X Identificador del tipo de horarioDescripcion Text(20) 20 Descripcioacuten del tipo de horarioLunes SMALLINT 4 Nuacutemero de horas del lunesMartes SMALLINT 4 Nuacutemero de horas del martesMiercoles SMALLINT 4 Nuacutemero de horas del mieacutercolesJueves SMALLINT 4 Nuacutemero de horas del juevesViernes SMALLINT 4 Nuacutemero de horas del viernesSabado SMALLINT 4 Nuacutemero de horas del saacutebado
Tabla TIPO_PERFILFuncioacuten Aquiacute se almacena una clasificacioacuten de los perfiles de acuerdo a la rama de conocimiento
a la que pertenecen
Lista de columnas de la tabla TIPO_PERFILNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_tipo COUNTER 4 X Identificador del tipo de perfilTipo_perfil Text(30) 30 Descripcioacuten del tipo de perfil de los
catedraacuteticos o las materias
Capiacutetulo 4 Anaacutelisis y Disentildeo
456 Lista de funciones o programas
Nombre Programa Descripcioacuten del programa
Ajustes Datos generales de los tipos de ajustes que se aplican al nuacutemero degrupos por abrir al dato de Servicios Escolares
Aulas Captura los datos de las aulas disponibles para claseCaptura_horarios Este programa realiza los cambios posteriores a la generacioacutenCarreras Captura los datos de las carreras del tecnoloacutegicoCatedraticos Datos generales de los catedraacuteticosClonacion Obtiene una copia (clon) del mejor individuo de una generacioacutenCons_ajuste Muestra yo imprime los datos generales de los ajustesCons_aulas Emite una pantalla de consulta general de aulasCons_captura_horarios Muestra una pantalla de consulta de los horarios generadosCons_carrera Despliega yo imprime las carrerasCons_catedratico Muestraimprime los datos generales de los catedraacuteticosCons_criterio Formulario que muestra yo despliega los criterios generalesCons_critXmat Muestra yo imprime los criterios de una materiaCons_critXregla Despliegaimprime los criterios que forman una reglaCons_gpos_abrir Explicacioacuten de la inferencia realizada (reglas disparadas)Cons_hist_crit Muestra las reglas de produccioacuten de los criteriosCons_materia Pantalla que despliega yo imprime datos de las materiasCons_materia_gral Pantalla de consulta general de los datos de materiasCons_perf_cate Consultaimprime los datos del perfil acadeacutemico de los
catedraacuteticosCons_perf_mate Consultaimprime los datos del perfil acadeacutemico de las materiasCons_perfil Muestraimprime datos de los perfilesCons_perfiles Consulta a la lista de perfiles o caracteriacutesticas Cons_perfilxmat Consulta a las reglas de produccioacuten del perfil de una materiaCons_rama Consulta a la lista de ramas (clasificacioacuten de las materias)Cons_reglas Consulta a la base de reglas para ajustar nuacutemero de gruposCons_serv_esc Consulta a las tablas que tienen informacioacuten de Servicios
EscolaresCons_serv_escol Pantalla que muestra yo imprime los datos estadiacutesticos de Serv
EscCons_tipo_perfil Consulta a los tipos de perfil (clasificacioacuten de perfiles)Crit_X_mat Formulario que captura los criterios pertenecientes a una materiaCrit_X_regla Captura los criterios que forman una regla de produccioacutenCriterios Pantalla que captura el conocimiento de criterios para el SECriteriosxmat Pantalla de captura para los criterios por materiaCruzamiento Programa que realiza la combinacioacuten (cruza) de individuos de la
poblacioacuten en el Algoritmo Geneacutetico
Capiacutetulo 4 Anaacutelisis y Disentildeo
Evaluacion Programa que realiza la creacioacuten del cromosoma de evaluacioacuten alevaluar las versiones de horarios de una generacioacuten
Explica_ajustes Moacutedulo de explicacioacuten del porque se aplicoacute determinado ajuste auna materia
Explica_mat_p_prof Explicacioacuten del porque una materia puede ser impartida por unprofesor con cierto grado de certidumbre
Explica_prof_p_mat Explicacion del porque un profesor puede impartir una materiacon cierto grado de certidumbre
Genera_horarios Sistema que utiliza Programacioacuten Loacutegica de Restricciones paragenerar los paquetes de horarios de un semestre
Genera_paquete Muestra el paquete generado por el procesoGrupo_nuevo Programa que va generando los paquetesGrupos_por_abrir Inferencia realizada para definir el ajuste aplicado a los grupos
definidos por Servicios EscolaresHistorial_criterios Captura los criterios necesarios para hacer una reglaHistorial_materia Captara los criterios por materiaMat_para_prof Inferencia realizada para determinar que profesores pueden
impartir una materiaMaterias Actualizacioacuten al archivo datos generales de las materiasMenu_algoritmos_geneticos Menuacute del moacutedulo para asignar aula a los gruposMenu_generacion_grupos Menuacute del Sistema Experto para definir cuantos grupos abrirMenu_asigna_horario Menuacute del moacutedulo asignacioacuten de horarioMenu_principal Menuacute principal del sistemaMenu_sel_catedra Menuacute del Sistema Experto para seleccioacuten de catedraacuteticos a
materiaMutacion Programa que hace la modificacioacuten de informacioacuten de aulas de
alguna versioacuten (versioacuten)Perfil_catedratico Captura el perfil acadeacutemico de los catedraacuteticosPerfil_materia Captura el perfil acadeacutemico de las materiasPerfiles Datos generales del perfil acadeacutemico de materias y catedraacuteticosPoblacion_inicial Programa que genera versiones de horarios y que de manera
aleatoria le va asignando aula a los gruposPortada_principal Es la ventana de entrada al sistemaProf_para_mat Inferencia realizada para determinar que materias pueden ser
impartidas por un profesorRama Programa que capturas las posibles ramas de los materiasReglas Datos generales de las reglas de produccioacuten para definir el No de
grupos por abrirSeleccioacuten Proceso que selecciona las mejores versiones de horarios (mejores
individuos) y elimina las menos aptasServ_escolares Pantalla de captura de los datos estadiacutesticos de Servicios EscolaresTipo_perfil Programa que captura la clasificacioacuten de los perfiles de materias y
profesores
Capiacutetulo 4 Anaacutelisis y Disentildeo
457 Diagrama de Arquitectura (Menuacutes)
Menuacute general
Menuacute Grupos porabrir
MenuacuteGeneracioacuten de
horarios
MenuacuteAsignacioacuten de
aulas
Datos de materias
Estadiacutesticos Serv Esc
Criterios
Criterios por materia
Reglas
Criterios por regla
Ajustes
Carreras
Nuacutemero de grupos
MenuacuteSeleccioacuten decatedraacuteticos
Genera paquete
Genera horarios
Datos generalesgrupos
Datos de aulas
Genera poblacioacuteninicial
Evaluacioacuten
Seleccioacuten
Cruzamiento
Clonacioacuten
Mutacioacuten
Horarios finales
Perfiles
Perfil de las materias
Perfil de catedraacuteticos
Catedraacuteticos
Perfil de loscatedraacuteticos
Asignacioacuten materia aprofesor
Asignacioacuten profesor amateria
Capiacutetulo 4 Anaacutelisis y Disentildeo
Capiacutetulo 5 Implementacioacuten del sistema
CAPIacuteTULO 5
IMPLEMENTACIOacuteN
51 Pantallas del sistema
La Figura 51 muestra la portada inicial del proyecto Contiene los logotipos de las tresinstituciones participantes y el nombre del proyecto
Fig 51 Portada inicial del proyecto
La Figura 52 es la pantalla que proporciona la informacioacuten de los autores del proyecto
Es el botoacutende entrada alsistema
Botoacuten deinformacioacuten delos autores
Capiacutetulo 5 Implementacioacuten del sistema
Fig 52 Acerca del sistema
La Figura 53 muestra el menuacute principal del proyecto contiene y 4 moacutedulos La primeraopcioacuten incluye los moacutedulos administrativo y generacioacuten de grupos la segunda opcioacutenincluye seleccioacuten de maestro y seleccioacuten de materia
Fig 53 Menuacute principal del proyecto
Moacutedulos delproyecto
Cuadro queproporcionalainformacioacutende la opcioacutensentildealada porel cursor
Capiacutetulo 5 Implementacioacuten del sistema
En la Figura 54 se tiene la pantalla del menuacute que agrupa los programas del moacuteduloadministrativo y Sistema Experto para determinar el nuacutemero de grupos por abrir seguacutenlos caacutelculos realizados con los datos de Servicios Escolares y el ajuste a ese dato
Fig 54 Menuacute grupos por abrir
Este programa del moacutedulo administrativo (Figura 55) sirve para capturar la informacioacutengeneral de las asignaturas que componen una carrera
Fig 55 Materias
Programas delos moacutedulos
Descripcioacutende laactividad delprogramaseleccionado
Nombre de laasignatura
Nuacutemero dehoraspraacutecticas yteoacutericas
Alumnos por grupopara calcularcantidad de grupos
Dato para formarpaquetes porsemestre
Icono quehabilita lacaptura denuevosdatos
Icono queregresa alMenuacute anterior
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 56 es un ejemplo de la consulta de datos en pantalla
Fig 56 Consulta Materias
La Figura 57 es la pantalla donde se capturan los datos estadiacutesticos provenientes deServicios Escolares contiene la informacioacuten necesaria para realizar el caacutelculo originaldel nuacutemero de grupos de cada asignatura que se debe abrir para ofertarse a los alumnosel siguiente semestre la foacutermula mostrada proporciona tal dato
Botoacuten queregresa elcontrol alprogramaque loinvocoacute
Alumnosesperados parael proacuteximo
Fccg
Datosestadiacutesticos
Fig 57 Pantalla Servicios Es
semestre
oacutermula paraaacutelculoantidad-rupos
Caacutelculosgeneral y pormateria
Grupos (datoestadiacutestico)
colares
Capiacutetulo 5 Implementacioacuten del sistema
En la Figura 58 se muestra la pantalla de consulta de los datos estadiacutesticosproporcionados por Servicios Escolares
Fig 58 Pantalla consulta Servicios Escolares
Esta pantalla captura las caracteriacutesticas por materia que dan origen al conocimientonecesario para definir el tipo de ajuste que se aplica al dato del nuacutemero de gruposproporcionado por los caacutelculos estadiacutesticos de la pantalla anterior
Criterios de unamateria
Fig 59 Pantalla criterios por materia
Grado deimportancia de esacaracteriacutestica para la
Capiacutetulo 5 Implementacioacuten del sistema
En la Figura 510 se muestra un ejemplo de la consulta a la base de datos del sistema enla parte de criterios por materia
Fig 510 Pantalla consulta criterios por materia
Esta pantalla (fig 511) proporciona al sistema la capacidad de capturar modificarborrar e imprimir las carreras del Instituto Tecnoloacutegico de Zacatepec
Fig 511 Pantalla carreras
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 512 proporciona al sistema la capacidad para capturar los criterios(conocimientos) del experto para definir a cada materia
Fig 512 Pantalla criterios
La Figura 513 muestra un ejemplo de consulta al archivo de los criterios capturados enel sistema
Fig 513 Pantalla consulta criterios
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 514 muestra la pantalla de captura de las reglas que componen el SistemaExperto para determinar el tipo de ajuste que se aplicaraacute al dato estadiacutestico del nuacutemerode grupos que se van a abrir el proacuteximo semestre cada regla tiene asignado un tipo deajuste
Fig 514 Pantalla reglas
La Figura 515 muestra un ejemplo de la consulta al archivo de las reglas que utiliza elSistema Experto para determinar nuacutemero de grupos por ofertar el proacuteximo semestre
Fig 515 Pantalla consulta reglas
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 516 muestra la pantalla de captura al archivo de ajustes noacutetese que ladescripcioacuten explica en extenso la accioacuten que se realiza al aplicar este ajuste provenientede una regla disparada por los criterios pertenecientes a la definicioacuten de una materia
Fig 516 Pantalla ajustes
La Figura 517 muestra la pantalla de la consulta a los ajustes que contiene el sistema
Fig 517 Pantalla consulta ajustes
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 518 muestra la pantalla que captura los criterios para cada regla Una reglaestaacute formada por el mismo tipo de criterios que definen a las materias
Criteriosde una
Fig 518 Pantalla criterios por regla
La Figura 519 muestra el ejemplo de una consulta de los criterios que definen a unaregla
Fig 519 Pantalla consulta criterios por regla
Reglas de produccioacuten Criterios por regla
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 520 es la pantalla maacutes importante de moacutedulo de generacioacuten de grupos porquees donde se realiza la inferencia para calcular el tipo de ajuste que se va a aplicar a cadamateria con base en las reglas que se disparan y que hacen match los criterios de unaregla y los criterios de una materia
Fig 520 Pantalla caacutelculo de ajustes
Esta pantalla (Figura 521) ofrece una explicacioacuten mostrando los criterios que definenuna materia y su correspondiente regla disparada mostrando los criterios de la regla quehacen match con los criterios de la materia
Fig 521 Pantalla explicacioacuten de la inferencia
Asignaturaa la que sele aplicaraacuteel ajuste
Regla quese disparaseguacutencriterios
Tipo deajuste quese aplica
Dato seguacutenestadiacutestico
Datos seguacutenajuste delSistemaExperto
Inferenciageneral
Inferenciaindividual
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 522 muestra el formulario que forma los paquetes de materias seguacuten laretiacutecula de una carrera muestra el nuacutemero de grupos por cada materia que se van aformar y hace los paquetes asignando los grupos AA AB AC AD
Fig 522 Pantalla inicial del moacutedulo generacioacuten de horarios
La Figura 523 es el formulario del moacutedulo Programacioacuten Loacutegica de Regenera los horarios por paquete satisfaciendo las restricciones para forlibre de choques continuo (sin horas muertas) cumpliendo las horas por m
Fig 523 Pantalla principal del moacutedulo generacioacuten de horari
Semestre al que sele formaraacuten lospaquetes
Paquetes generadosHora de iniciode clases decada grupo
Materias delsemestre
Nuacutemero de gruposal que se lesgeneraraacute horario
MateriaPaquete
Nuacutemero dehoras por diacutea
Botonesque invocanal moacutedulogeneradorde horarios
stricciones quemar un horarioateria etc
Hora de iniciode la materia
os
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 524 muestra el moacutedulo para asignar aula a los horarios que ya tienen materiagrupo y hora
Fig 524 Pantalla principal del menuacute Algoritmos Geneacuteticos
Esta pantalla (Figura 525) se utiliza para hacer altas bajas consulta y modificaciones alos grupos que se les va a dar aula
Fig 525 Pantalla de administracioacuten de grupos
Periodode loshorarios
Hora iniciodel grupo
Hora por diacutea
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 526 muestra una consulta de la pantalla administracioacuten de grupos
Fig 526 Pantalla de consulta de administracioacuten de grupos
La Figura 527 muestra la pantalla para actualizar las aulas disponibles por las personasque generan los horarios estas aulas estaacuten disponibles para que el Algoritmo Geneacuteticolas utilice para asignarles grupos durante el proceso
Fig 527 Pantalla del control de aulas
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 528 muestra la consulta de las aulas que utiliza el moacutedulo generacioacuten deaulas
Fig 528 Pantalla de consultas del control de aulas
La Figura 529 muestra la pantalla que genera la poblacioacuten inicial a partir de los datosgenerales proveniente de los moacutedulos anteriores
Fig 529 Pantalla de genera poblacioacuten inicial
Nuacutemero dehipoacutetesisversiones oindividuos
Aula aleatoriagenerada
Este botoacuteninicia lageneracioacutende las nversionesde horarios
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 530 muestra la pantalla que evaluacutea las versiones originadas y genera paracada una de ellas un cromosoma cuyos genes contienen la informacioacuten obtenida
Fig 530 Pantalla de evaluacioacuten de versiones
La Figura 531 muestra el formulario del proceso de seleccioacuten de las mejores versionesde horarios toma aquellas que tienen menor numero de choques y mayor espacio deocupacioacuten de aulas
Fig 531 Pantalla del proceso de seleccioacuten
Cantidad deversiones quesobreviviraacuten
Cromosomas delos mejoresindividuos
Botoacuten queinicia elproceso deseleccioacuten
Botoacuten queinicia elproceso deeliminacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 532 muestra la pantalla del proceso de clonacioacuten donde se selecciona la mejorversioacuten y se obtiene un clon ideacutentico con un nuevo nuacutemero de versioacuten
Fig 532 Pantalla del proceso de clonacioacuten
La Figura 533 muestra la pantalla del proceso de mutacioacuten utilizado para hacer elcambio ldquomutarrdquo los datos de una versioacuten para romper alguacuten ciclado de la tendencia haciael resultado o simplemente para acelerar el proceso de optimizacioacuten
Cromosomasde versionesmaacutes aptas
Nuacutemero demejor versioacuten
Poblacioacutenversiones
Cromosomamuestra lasmejoresversiones
Aulas quepueden mutarse
Botoacuten queinicia elproceso demutacioacuten
Nuacutemero deversioacuten
Fig 533 Pantalla de mutacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 534 muestra la pantalla donde se realiza el cruzamiento utilizando plantillaspredeterminadas dirigiendo la cruza de versiones por paquetes de materias agrupadas porsemestre y cada plantilla genera una nueva versioacuten con la combinacioacuten de fragmentosde varias versiones
Fig 534 Pantalla del proceso de cruzamiento
La Figura 535 permite la seleccioacuten y enviacuteo de la mejor versioacuten de horarios y adaptarloal moacutedulo administrativo para su distribucioacuten y publicacioacuten
Fig 535 Horarios finales
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 536 muestra el menuacute de los moacutedulos que sugiere maestros para impartir unaasignatura y sugerencia de asignatura para alguacuten maestro
Fig 536 Pantalla menuacute seleccioacuten de catedraacuteticos
La Figura 537 muestra la pantalla para la captura de caracteriacutesticas de losconocimientos requeridos para dar una materia que son las mismas caracteriacutesticas quedefinen los conocimientos de un profesor para impartir las materias
Fig 537 Pantalla de perfiles
Clasificacioacutende los perfiles
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 538 muestra una consulta de los perfiles agrupados por tipo
Fig 538 Pantalla de consulta perfiles
La Figura 539 muestra la pantalla en la que se definen los conocimientos requeridospara poder impartir una asignatura de acuerdo al perfil y contenido temaacutetico
Fig 539 Pantalla perfiles de las materias
La Figura 540 muestra un ejemplo de la consulta al perfil de una materia
Importancia de lacaracteriacutestica en la materia
Capiacutetulo 5 Implementacioacuten del sistema
Fig 540 Pantalla consulta perfiles de las materias
La Figura 541 es utilizada para capturar los datos de los catedraacuteticos que imparten lasasignaturas de una carrera
Fig 541 Pantalla captura datos de catedraacuteticos
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 542 es una muestra de la consulta al archivo de los catedraacuteticos
Fig 542 Pantalla consulta datos de catedraacuteticos
La Figura 543 muestra la pantalla en que se captura el perfil de los catedraacuteticos elperfil son los conocimientos que tiene el profesor que lo capacitan para impartir algunaasignatura
Fig 543 Pantalla captura perfil de catedraacuteticos
Conocimientosdel profesor
Barra deseleccioacuten deperfiles
Grado dedominio deltema
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 544 muestra una consulta tiacutepica al archivo de perfiles de los catedraacuteticos
Fig 544 Pantalla consulta perfil de catedraacuteticos
La Figura 545 muestra la pantalla de inferencia final que sugiere quienes son loscatedraacuteticos maacutes capacitados para impartir una materia haciendo la inferencia mediantela buacutesqueda de matchs entre el perfil de la asignatura y el perfil del catedraacutetico
Fig 545 Pantalla muestra inferencia catedraacuteticos para materia
Candidatos aimpartir lamateria
Botoacuten del proceso deinferencia generalPorcentaje de certeza con
que puede impartirla
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 546 muestra la pantalla de explicacioacuten donde se indican los perfiles de lamateria y el perfil del profesor
Fig 546 Pantalla explicacioacuten porque un maestro puede dar una materia
La Figura 547 muestra el resultado de la inferencia del proceso que sugiere las materiasque puede impartir un profesor con base en el perfil de la materia y el perfil del profesor
Fig 547 Pantalla materias que puede impartir un profesor
Posibles materia aimpartir Porcentaje de certeza con
que puede impartirlaBotoacuten del proceso deinferencia general
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 548 muestra la pantalla de explicacioacuten donde se indican el perfil de la materiay el perfil del profesor
Fig 548 Pantalla de explicacioacuten porque un profesor puede dar una materia
Capiacutetulo 5 Implementacioacuten del sistema
Capiacutetulo 6 Pruebas y Resultados
CAPIacuteTULO 6
PRUEBAS Y RESULTADOS
61 Pruebas del sistema
Se pueden detectar dentro del desarrollo de sistemas las actividades para realizarpruebas las producidas durante la etapa de requerimientos de disentildeo preliminar y las dedisentildeo detallado Clasificadas de otra manera eacutestas pueden ser funcionales deintegracioacuten y de implementacioacuten
La finalidad de realizar Pruebas funcionales es detectar errores que pudieran habersedado durante las fases de anaacutelisis y de especificacioacuten Por otro lado ellas pueden ayudara probar si el disentildeo es correcto ya que esta fase en sus dos niveles preliminar ydetallado estaacute basada en el anaacutelisis y especificacioacuten de requerimientos del sistema Estaactividad es guiada por los objetivos y requerimientos plasmados Se busca en estaprueba la posibilidad de que se haya incurrido en errores de conceptualizacioacuten yo deespecificacioacuten Las pruebas se organizan tomando como guiacutea las diferentes opciones delsistema final
Las Pruebas de integracioacuten se realizan cuando se procede a interconectar los diferentessubsistemas que constituyen el futuro sistema Como es conocido un sistema puede serdesarrollado por diferentes personas Por esta razoacuten es de suma importancia probar lainterconexioacuten de los diferentes subsistemas y asiacute verificar que ha sido realizada demanera correcta
Las Pruebas de implementacioacuten o codificacioacuten son las que se realizan directamentesobre los programas que se estaacuten desarrollando durante la fase de implementacioacuten Estosmoacutedulos o programas a su vez constituyen subsistemas Por esta razoacuten la integracioacuten delos diferentes moacutedulos que forman un subsistema deben ser probados Estas pruebasdeben estar basadas en la especificacioacuten de disentildeo preliminar y detallado [Gerez 1985]
Los siguientes rubros describen las pruebas maacutes importantes que se consideraron paravalidar el sistema las pruebas funcionales Las pruebas de implementacioacuten se realizarondurante el desarrollo de la codificacioacuten de los diferentes moacutedulos
Capiacutetulo 6 Pruebas y Resultados
62 PRUEBAS DEL SISTEMA
621 PRUEBA 1 AacuteREAS DE MENUacuteS
Objetivo Guiar al usuario en el desarrollo del proceso Esta prueba verifica que elsistema tenga como opciones principales y submenuacutes los sentildealados en la definicioacuten derequerimientos
Criterios de aceptacioacuten Cada prueba verifica que el sistema produzca los resultadossentildealados en la definicioacuten de requerimientos
Procedimiento de la prueba A continuacioacuten se despliegan las pantallascorrespondientes a los menuacutes principales y submenuacutes Las opciones principales delproyecto son dos Menu Principal y Datos de los autores
Resultado de la prueba Los resultados fueron satisfactorios En todas las opcionesactivadas el sistema presentoacute los submenuacutes definidos en la etapa de requerimientos
La Figura 61 muestra la portada inicial del proyecto Contiene los logotipos de las tresinstituciones participantes y el nombre del proyecto
Fig 61 Portada inicial del proyecto
Es el botoacutende entrada alsistema
Botoacuten deinformacioacutende los autores
Capiacutetulo 6 Pruebas y Resultados
La Figura 62 muestra el menuacute principal del proyecto y contiene 4 moacutedulos La primeraopcioacuten incluye los moacutedulos administrativo y generacioacuten de grupos la segunda opcioacutenincluye seleccioacuten de maestro y seleccioacuten de materia
Fig 62 Menuacute principal del proyecto
En la Figura 63 se tiene la pantalla del menuacute que agrupa los programas del moacuteduloadministrativo y Sistema Experto para determinar el nuacutemero de grupos por abrir seguacutenlos caacutelculos realizados con los datos de Servicios Escolares y el ajuste a ese dato
Fig 63 Menuacute grupos por abrir
Moacutedulos delproyecto
Cuadro queproporcionalainformacioacutende la opcioacutensentildealada porel cursor
Programas delos moacutedulos
Descripcioacutende laactividad delprogramaseleccionado
Capiacutetulo 6 Pruebas y Resultados
La Figura 64 muestra el menuacute de los moacutedulos que sugiere maestros para impartir unaasignatura y sugerencia de asignatura para alguacuten maestro
Fig 64 Pantalla menuacute seleccioacuten de catedraacuteticos
La Figura 65 muestra el moacutedulo para asignar aula a los horarios que ya tienen materiagrupo y hora
Fig 65 Pantalla principal del menuacute Algoritmos Geneacuteticos
Capiacutetulo 6 Pruebas y Resultados
622 PRUEBA 2 VALIDACIOacuteN DE ENTRADAS
Objetivo Evitar peacuterdidas de tiempo con entradas erroacuteneas de datos y resultados sinvalidez
Criterios de aceptacioacuten Esta prueba deberaacute mostrar de manera exacta la informacioacutenal seleccionar la opcioacuten deseada
Procedimiento de la prueba Se verifica que todas las cajas de texto tengan el dato quese pide y una vez dados todos los datos se guardan para que estos datos posteriormentesean procesados por el sistema y almacenen los datos correctos
Resultado de la prueba Los resultados fueron satisfactorios En todas las opcionesactivadas el sistema presentoacute los resultados correctos a cada opcioacuten Ademaacutes losdesplegados de mensajes de error se presentaron de manera correcta en todas laspruebas
La Figura 66 muestra la captura de datos de una asignatura y enviacutea el correspondientemensaje de error si una caja de texto se encuentra vaciacutea
Fig 66 Pantalla de captura de datos de las Materias
Muestra elmensaje deerror si esque hacefalta alguacuten
Capiacutetulo 6 Pruebas y Resultados
La Figura 67 muestra una pantalla de captura de datos asignando criterios a una materiay valida la no duplicidad de criterios en esa materia se enviacutea el correspondiente mensajede error si una entrada ya fue capturada
Fig 67 Pantalla de captura de datos de Criterios por Materia
La Figura 68 muestra una pantalla de captura de datos de las carreras al encontrar unregistro ya capturado muestra el mensaje de error si una carrera ya fue capturada
Fig 68 Pantalla de captura de datos de Carreras
Muestra elmensajede error sies que yaexiste elregistro
Muestra elmensaje deerror si esque yaexiste elregistro
Capiacutetulo 6 Pruebas y Resultados
623 PRUEBA 3 DESPLEGADO DE RESULTADOS
6231 MOacuteDULO DE GENERACIOacuteN DE GRUPOS POR ABRIR
Objetivo Proporcionar los datos que el moacutedulo pide para que posteriormente elsistema genere el nuacutemero de grupos sugerido por abrir para cada materia
Criterios de aceptacioacuten Esta prueba muestra la lista de grupos que se deben abrirdespueacutes de aplicar los criterios del Sistema Experto
Procedimiento de la prueba Una vez que se proporcionan los datos que el SistemaExperto requiere el sistema generaraacute una lista de los grupos que se deben abrir elproacuteximo semestre
Resultado de la prueba Los resultados fueron satisfactorios En todos los casospresentados el sistema generoacute la lista en forma satisfactoria y con la informacioacutencorrecta
La Figura 69 es la pantalla maacutes importante de moacutedulo de generacioacuten de grupos porquees donde se realiza la inferencia para calcular el tipo de ajuste que se va a aplicar a cadamateria con base en las reglas que se disparan y que hacen match los criterios de unaregla y los criterios de una materia
Asignaturaa la que sele aplicaraacuteel ajuste
Regla quese disparaseguacutencriterios
Tipo deajuste quese aplica
Inferenciageneral
Datoseguacuten
Fig 69 Pantalla caacutelculo de ajustes
Datos seguacutenajuste delSistemaExperto
Inferenciaindividual
Capiacutetulo 6 Pruebas y Resultados
6232 MOacuteDULO DE GENERACIOacuteN DE HORARIOS
Objetivo Proporcionar los datos que el moacutedulo pide para que posteriormente elsistema genere el horario por semestre de las materias de una carrera
Criterios de aceptacioacuten Esta prueba debe mostrar los horarios para las materias sinerrores sin choques de hora en un paquete
Procedimiento de la prueba Recibe como entrada cuantos grupos abrir de cadamateria en cada semestre y genera primero los paquetes posteriormente a cada paquetede materias le asigna la hora por materia
Resultado de la prueba Los resultados fueron satisfactorios En todos los casospresentados el sistema generoacute los horarios correspondientes
La Figura 610 muestra el formulario que forma los paquetes de materias seguacuten laretiacutecula de una carrera muestra el nuacutemero de grupos por cada materia que se van aformar y hace los paquetes asignando los grupos AA AB AC AD
Fig 610 Pantalla inicial del moacutedulo generacioacuten de horarios
Semestre al que sele formaraacuten lospaquetes
Paquetes generadosHora de iniciode clases decada grupo
Materias delsemestre
Nuacutemero de grupospor al que se lesgeneraraacute horario
Botonesque invocanal moacutedulogeneradorde horarios
Capiacutetulo 6 Pruebas y Resultados
La Figura 611 es el formulario del moacutedulo Programacioacuten Loacutegica de Restricciones quegenera los horarios por paquete satisfaciendo las restricciones para formar un horariolibre de choques continuo (sin horas muertas) cumpliendo las horas por materia etc
Fig 611 Pantalla princip
6233 MOacuteDULO ASIGNACIOacuteN D
Objetivo Utilizar los datos generadoaulas a los paquetes de materias
Criterios de aceptacioacuten Esta pruebaasignacioacuten de aula sin choques
Procedimiento de la prueba Se genAlgoritmos Geneacuteticos durante variachoques en el aula
Resultado de la prueba Los resupresentados el sistema generoacute las aula
MateriaPaquete
Nuacutemero dehoras por diacutea
Hora de iniciode la materia
al del moacutedulo generacioacuten de horarios
E AULA
s en el moacutedulo anterior para hacer la asignacioacuten de
debe mostrar los horarios de las materias con una
eran las aulas utilizando los procedimientos de loss generaciones hasta lograr una generacioacuten sin
ltados fueron satisfactorios En todos los casoss correspondientes
Capiacutetulo 6 Pruebas y Resultados
La Figura 612 muestra la pantalla para actualizar las aulas disponibles por las personasque generan los horarios estas aulas estaacuten disponibles para que el Algoritmo Geneacuteticolas utilice para asignarles grupos durante el proceso
Fig 612 Pantalla del control de aulas
La Figura 613 muestra la consulta de las aulas que utiliza el moacutedulo generacioacuten deaulas
Fig 613 Pantalla de consultas del control de aulas
Capiacutetulo 6 Pruebas y Resultados
La Figura 614 muestra la pantalla que genera la poblacioacuten inicial a partir de los datosgenerales proveniente de los moacutedulos anteriores
Fig 614 Pantalla de genera poblacioacuten inicial
La Figura 615 muestra la pantalla que evaluacutea las versiones originadas y genera paracada una de ellas un cromosoma cuyos genes contienen la informacioacuten obtenida
Fig 615 Pantalla de evaluacioacuten de versiones
Nuacutemero dehipoacutetesisversiones oindividuos
Aula aleatoriagenerada
Este botoacuteninicia lageneracioacutende las nversionesde horarios
Capiacutetulo 6 Pruebas y Resultados
La Figura 616 muestra el formulario del proceso de seleccioacuten de las mejores versionesde horarios toma aquellas que tienen menor numero de choques y mayor espacio deocupacioacuten de aulas
Fig 616 Pantalla del proceso de seleccioacuten
La Figura 617 muestra la pantalla del proceso de clonacioacuten donde se selecciona la mejorversioacuten y se obtiene un clon ideacutentico con un nuevo nuacutemero de versioacuten
Fig 617 Pantalla del proceso de clonacioacuten
Cantidad deversiones quesobreviviraacuten
Cromosomas delos mejoresindividuos
Botoacuten queinicia elproceso deseleccioacuten
Botoacuten queinicia elproceso deeliminacioacuten
Cromosomasde versionesmaacutes aptas
Nuacutemero demejor versioacuten
Poblacioacutenversiones
Capiacutetulo 6 Pruebas y Resultados
La Figura 618 muestra la pantalla del proceso de mutacioacuten utilizado para hacer elcambio ldquomutarrdquo los datos de una versioacuten para romper alguacuten ciclado de la tendencia haciael resultado o simplemente para acelerar el proceso de optimizacioacuten
Fig 618 Pantalla de mutacioacuten
La Figura 619 muestra la pantalla donde se realiza el cruzamiento utilizando plantillaspredeterminadas dirigiendo la cruza de versiones por paquetes de materias agrupadas porsemestre y cada plantilla genera una nueva versioacuten con la combinacioacuten de fragmentosde varias versiones
Fig 619 Pantalla del proceso de cruzamiento
Cromosomamuestra lasmejoresversiones
Nuacutemero deversioacuten amutar
Aulas quepueden mutarse
Botoacuten queinicia elproceso demutacioacuten
Capiacutetulo 6 Pruebas y Resultados
La Figura 620 permite la seleccioacuten y enviacuteo de la mejor versioacuten de horarios y adaptarloal moacutedulo administrativo para su distribucioacuten y publicacioacuten
Fig 620 Horarios finales
6234 MOacuteDULO SELECCIOacuteN DE CATEDRATICOS
Objetivo Capturar los datos de los profesores y su perfil profesiograacutefico ademaacutescapturar los conocimientos necesarios para impartir una asignatura para poder sugerircual es el mejor catedraacutetico que puede impartir una asignatura
Criterios de aceptacioacuten Esta prueba debe mostrar la sugerencia de los mejorescatedraacuteticos para una materia y las mejores materias para un catedraacutetico
Procedimiento de la prueba Se daraacuten los datos iniciales de los maestros y el sistemadeberaacute generar una lista a partir de la inferencia del Sistema Experto respectivo yviceversa
Resultado de la prueba Los resultados fueron satisfactorios En todos los casospresentados el sistema infirioacute las materias y los catedraacuteticos correspondientes
Capiacutetulo 6 Pruebas y Resultados
La Figura 621 muestra la pantalla en que se captura el perfil de los catedraacuteticos elperfil son los conocimientos que tiene el profesor que lo capacitan para impartir algunaasignatura
Fig 621 Pantalla captura perfil de catedraacuteticos
La Figura 622 muestra la pantalla de inferencia final que sugiere quienes son loscatedraacuteticos maacutes capacitados para impartir una materia haciendo la inferencia mediantela buacutesqueda de matchs entre el perfil de la asignatura y el perfil del catedraacutetico
Fig 622 Pantalla muestra inferencia catedraacuteticos para materia
Conocimientosdel profesor
Barra deseleccioacuten deperfiles
Grado dedominio deltema
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Candidatos aimpartir lamateria Botoacuten del proceso de
inferencia generalPorcentaje de certeza conque puede impartirla
Capiacutetulo 6 Pruebas y Resultados
La Figura 623 muestra la pantalla de explicacioacuten donde se indican los perfiles de lamateria y el perfil del profesor
Fig 623 Pantalla explicacioacuten porque un maestro puede dar una materia
La Figura 624 muestra el resultado de la inferencia del proceso que sugiere las materiasque puede impartir un profesor con base en el perfil de la materia y el perfil del profesor
Fig 624 Pantalla materias que puede impartir un profesor
Posibles materia aimpartir Porcentaje de certeza con
que puede impartirlaBotoacuten del proceso deinferencia general
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Capiacutetulo 6 Pruebas y Resultados
La Figura 625 muestra la pantalla de explicacioacuten donde se indican el perfil de la materiay el perfil del profesor
Fig 625 Pantalla de explicacioacuten porque un profesor puede dar una materia
Capiacutetulo 6 Pruebas y Resultados
Capiacutetulo 7 Conclusiones y Trabajos Futuros
CAPIacuteTULO 7
CONCLUSIONES Y TRABAJOS FUTUROS
71 CONCLUSIONES
Los meacutetodos de programacioacuten lineal proporcionan una solucioacuten parcial al problema dela generacioacuten de horarios utilizan una ldquorecetardquo predefinida para lograr la optimizacioacutende la asignacioacuten de recursos como lo hace el meacutetodo Huacutengaro La Inteligencia Artificialsoluciona el problema utilizando la heuriacutestica el conocimiento y la experiencia de unexperto humano para solucionar el problema se decidioacute utilizar esta metodologiacutea paraexplorar una solucioacuten aproximada al problema
En el ITZ la generacioacuten de horarios se haciacutea de forma manual no se utilizaba ninguacutenmeacutetodo automatizado Al aplicar algunas teacutecnicas de la Inteligencia Artificial se halogrado generar de manera automatizada los horarios de las materias que se ofertaraacuten elproacuteximo semestre
La aplicacioacuten de varias ramas de la Inteligencia Artificial para la resolucioacuten delproblema de la generacioacuten de horarios viene a demostrar que si es posible generar uncondensado de horarios para el Instituto Tecnoloacutegico de Zacatepec que es una escuelade nivel superior y que estos horarios satisfacen adecuadamente las restricciones fuertesmedias y suaves Para ello fue necesaria la combinacioacuten de varias disciplinas de lacomputacioacuten para generar cada una de las partes que componen un horario y tambieacutenrecomendar los catedraacuteticos mas apropiados para impartir dichos grupos nuevamentequeda demostrado que la Inteligencia Artificial sirve para resolver problemas que lasteacutecnicas convencionales de computacioacuten consideran problema NP-completo
La utilizacioacuten de las teacutecnicas de los Sistemas Expertos para ajustar el nuacutemero de grupospor abrir el proacuteximo semestre permite aplicar el conocimiento y experiencia de lapersona encargada de elaborar los horarios y asiacute disminuir el nuacutemero de gruposcancelados el conocimiento e intuicioacuten del experto humano realizan un ajuste fino alnuacutemero de grupos y como puede notarse el sistema lo hace de manera similar
Para el moacutedulo de generacioacuten de los grupos y los horarios la utilizacioacuten de la teacutecnicallamada Programacioacuten Loacutegica de Restricciones permitioacute la satisfaccioacuten de lasrestricciones que hacen que los horarios sean considerados factibles para su aplicacioacuten a
Capiacutetulo 7 Conclusiones y Trabajos Futuros
los alumnos el proacuteximo semestre ya que los paquetes de materias por semestre tienenhorarios corridos y sin choques en horas nuacutemero de materias completo y buenadistribucioacuten de horas pares e impares
Se utilizoacute tambieacuten la teacutecnica de optimizacioacuten llamada Algoritmos Geneacuteticos pararealizar la asignacioacuten de aulas a cada grupo generado logrando con ello minimizarautomaacuteticamente el nuacutemero de choques de materias en aulas En las pruebas realizadasse logroacute que en la sexta generacioacuten de individuos ya soacutelo hubiera hasta un maacuteximo de 24choques lo que indicaba que soacutelo 4 oacute 5 grupos compartiacutean aula a la misma hora esto erafaacutecilmente corregible realizando una inspeccioacuten visual a la versioacuten de horarios final yajustando los uacuteltimos errores
Por uacuteltimo nuevamente se aplicaron los Sistemas Expertos en el moacutedulo de sugerenciade materias que puede impartir un maestro y en el moacutedulo maestros que pueden impartiruna determinada materia vale la pena comentar que durante las pruebas realizadas loscatedraacuteticos del departamento de Sistemas y Computacioacuten capturaban su perfilprofesiograacutefico y al pedir al sistema la sugerencia de cuaacuteles materias podriacutean impartirlos Sistemas Expertos del proyecto inferiacutean exactamente las materias que loscatedraacuteticos estaacuten impartiendo en este semestre y las que habiacutean impartido en alguacutensemestre anterior demostrando que en efecto para profesores nuevos la recomendacioacutendel sistema seriacutea vaacutelida
72 TRABAJOS FUTUROS
Se sugiere que se ampliacutee el proyecto para que a cada grupo generado con aula y hora sele asigne de manera automaacutetica un catedraacutetico utilizando ya sea Algoritmos Geneacuteticos oProgramacioacuten Loacutegica de Restricciones
Otra posible mejora puede ser incluir la Loacutegica Difusa en los Sistemas Expertos de losmoacutedulos que sugieren las materias que puede impartir un catedraacutetico y los catedraacuteticosque pueden impartir una asignatura
Como ya se comproboacute la factibilidad de generar los horarios de manera automaacutetica sepropone tambieacuten la exploracioacuten de otras ramas y teacutecnicas de la computacioacuten (RedesNeuronales Buacutesqueda Tabuacute Grafos Coloreados etc) para comparar el rendimientotiempo esfuerzo y asiacute poder determinar cuales son mejores o peores teacutecnicas pararesolver el problema de la generacioacuten de horarios
Referencias Bibliograacuteficas
REFERENCIAS BIBLIOGRAacuteFICAS
[Abramson 1991] Abramson D ldquoConstructing School Timetables Using SimulatedAnnealing Secuencial and Parallel Algoritmsrdquo Management Science PWS PublishingBoston 1998
[Beasley 1993] Beasley D amp Bull DR amp Martin RR ldquoAn Overview of GeneticAlgorithms Part 1 Fundamentalsrdquo University Computing
[Bull 1993] Bull DR amp Beasley D amp Martin RR ldquoAn Overview of GeneticAlgorithms Part 2rdquo University Computing Magazine 1993
[Burke1994]Burke EK ldquoA Genetic Algorithm for University Timetablingrdquo AISBworkshop on evolutionary computing Leeds 1994
[Burke 1997] Burke Edmund K ldquoAutomated Scheduling Optimization and PlanningGroup (ASAP)rdquo PATATrsquo97 Proceedings of the 2nd Intenational Conference on thePractice And Theory of Automated Timetabling 1997
[Burke2000] Burke Edmund amp Eliman David amp Weare Rupert ldquoA GeneticAlgorithm Based University Timetabling Systemrdquo PATATrsquo2000 Proceedings of the 5ft
Intenational Conference on the Practice And Theory of Automated Timetabling 2000
[Burke2001] Burke EK amp Eliman DGamp Weare R ldquoAutomated Scheduling OfUniversity Examsrdquo Leeds 2001
[Burke2002] Burke Edmund amp Eliman David amp Weare Rupert ldquoExaminationTimetabling in British Universities ndash A Surveyrdquo Leeds 2002
[Carrasco 2004] Carrasco Marco amp Pato Margarida ldquoSolving Real ClassTeacherTimetabling Problems using Neural Networksrdquo Facultade de Ciencias University ofLisboa Portugal
[Chorafas 1990] Chorafas Dimitris N ldquoKnowledge Engineeringrdquo Van NostrandReinnhold New York USA
Referencias Bibliograacuteficas
[Corne 1993] Corne D ldquoSolving the module exam scheduling problem with geneticalgorithmsrdquo Proceedings of the 6th Intenational conference in Industrial andEngineering applications of Artificial Intelligence and Expert Systems1993
[Daellenbach 1987] Daellenbach Hans amp McNickle Donald ldquoIntroduccioacuten a teacutecnicasde Investigacioacuten de Operacionesrdquo CECSA Meacutexico 1987
[Davis 1991] Davis L ldquoHandbook of Genetic Algorithmsrdquo Van Nostrand ReinholdNew York NY
[Demist2000] Demist ldquoDepartamental Timetabling Proyect ProposalDeMIStinterface to Timetabling Package Proyectrdquo Demist University 2000
[Detcher 1990] Detcher R ldquoEnhancement Schemes for Constraint Processing BackJumping Learning and Cutset Decompositionrdquo Artificial Intelligence 41 (1990)
[Eliman 2000] Eliman David ldquoSpecialised Recombinative Operators for TimetablingProblemsrdquo Cambridge University Press New York 2000
[Elmohamed2000] Elmohamed Saleh ldquoThe timetabling problemrdquo PATATrsquo2000Proceedings of the 5th Intenational Conference on the Practice And Theory ofAutomated Timetabling 2000
[Elmohamed2001] Elmohamed Saleh ldquoConstraint based university coursetimetablingrdquo 4th World Congress on Timetabing Aplication of advanced informationTechnologies London 2001
[Fahrion y Dollanski 1992] Fahrion R amp G Dollanski ldquoConstruction of UniversityFaculty Timetables using Logic Programmingrdquo ACM Sigsoft Notes vol 9 no 3 May1992
[Frenzel 1986]Frenzel Louis E ldquoCrash Course in Artificial Intelligence and ExpertSystemsrdquo Howard W Sams amp Co McMillan Inc Indianapolis USA
[Gerez 1985] Gerez Victor amp Mier Mauricio ldquoDesarrollo y administracioacuten deprogramas de computadorardquo McGraw Hill Meacutexico 1985
[Gervaacutes 1999] Gervaacutes P amp San Miguel B ldquoSequential Building of ConstrainedTimetables Using Rule-Based Heuristics An Expert System for AutomatedTimetablingrdquo Congreso Internacional de Investigacioacuten en Ciencias Computacionales
Referencias Bibliograacuteficas
[Giarratamo 1998] Giarratamo Joseph y Gary Riley ldquoExpert Systems Principles andProgrammingrdquo PWS Kent Publishing Company Boston USA
[Gines 1986] Gines B amp Boose J ldquoKnowledge Acquisition for Knowledge-BasedSystemsrdquo Vol 1amp2 Academic Press London U K
[Goldberg 1989] Goldberg DE ldquoGenetic Algorithms in SearchOptimization andMachine LearningrdquoAddison-Wesley
[Kang y White 1994 ] Kang L amp White GM ldquoA Logic Approach to the Resolutionof Constrains in Timetablingrdquo European Journal of Operational Research vol 61 1994
[Kandel 1991] Kandel Abraham ldquoFuzzy Expert Systemsrdquo CRC Press Inc LondonUK 1991
[Kendall1999] Kendall y Kendall ldquoAnaacutelisis y disentildeo de sistemasrdquo 3ordf edicion PearsonEducacioacuten
[Koza 1992] Koza JR ldquoGenetic Programming On the Programming of Computers bymeans of Natural Selectionrdquo Cambridge MA MIT Press
[Martiacutenez 1999] Martiacutenez Alfaro Horacio ldquoSolucioacuten al problema de asignacioacuten desalones de clases horario y grupo mediante templado simuladordquo Memorias 6ordm CongresoInternacional de Mecatroacutenica e Inteligencia Artificial Meacutexico 1999
[Medina 2004] Medina Pasaflores Horacio ldquoFundamentos de Algoritmos GeneacuteticosrdquoTesis de licenciatura Zacatepec Mexico 2004
[Michalewicz 1992] Michalewicz Z ldquoGenetic algorithms + Data Structures =Evolution Programsrdquo Springer-Verlag New York NY
[Negoita1985] Negoita ConstantinV Expert Systems and Fuzzy Systems TheBenjamin Cummings Publishing Co Menlo Park CA USA
[Nielsoft 2000] Nielsoft informatica ldquoManual de usuario Mimosa for windowsrdquo
[Paechter 1994] Paechter B ldquoTwo solutions to the general timetabling problemusing evolutionary methodsrdquo IEEE WCCI 1994
[Pluss1999] Pluss JJ ldquoSistemas expertos un enfoque pragmaacuteticordquo UNR
Referencias Bibliograacuteficas
[Rich 1996] Rich E y Knight K ldquoInteligencia Artificialrdquo McGraw HillInteramericana Madrid Espantildea
[Russell 1996] Russell S y Norvig P ldquoInteligencia Artificial un enfoque modernordquoPrentice Hall Mexico 1996
[Sanchez1999] Sanchez y Beltran ldquoSistemas expertos una metodologiacutea deprogramacioacutenrdquo Macrobit
[Schedul2000] SchedulExpert ldquoCourse scheduling in post educational institutionsrdquo EdAddison Wesley 2000
[Trick 1999 ] Trick Michael ldquoNetwork resources for coloring a graphrdquo Oracle PressEd McGraw Hill 1999
[Turban 1995] Turban Efraim ldquoDecision Support and Expert Systems ManagementSupport Systemsrdquo Fourth Edition Orentice Hall NJ USA
[Waterman1986] Waterman Donald A ldquoA Guide to Expert Systemsrdquo Addison-Wesley Publishing Co USA
[Weare2000] Weare Rupert amp Burke Edmundo amp Eliman David ldquoA Questionnaireon Exam Timetabling in Universitiesrdquo Annual review of computer Science Volume 2Palo Alto 2000
[Wilke 2002] Wilke P amp Grobner M amp Oster N ldquoA hibrid Genetic Algorithm forSchool Timetablingrdquo Advances in Artificial Intelligence Springer Lecture Notes inComputer Science New York
[Yoshikawa 1994] Yoshikawa M amp Kaneko KldquoA Constraint-based Approach toHigh School Timetabling Problems A Case Studyrdquo AAAI-94 12ordm NationalConference on Artificial Intelligence
Referencias Bibliograacuteficas
Referencias electroacutenicas
httpwwwmonografiacuteascomtrabajos12inteartfinteartfshtmlObregoacuten Arturo Inteligencia artificial y Sistemas expertos IIMAS-UNAM (1992)
httpwwwlafacucomapuntesinformaticasist_conodefaulthtmCruz Ochoa Wilson Sistemas de conocimiento
httpwwwingenieroseninformaticaorgrecursostutorialessist_exphtmlZambrano Molina Darwin Sistemas expertos
httpredcientificacomdocdoc199008210001htmlSamper Marquez Juan Joseacute Introduccioacuten a los sistemas expertos Madrid 2000
httpmismonografiascomarSistemas20expertofuzzyhtmlArede Dario Sistema experto fuzzy
httpcruzrojaguayaorginteligenciainterhtmlAyuquina Martha amp Arellano Gregorio Inteligencia artificial Universidad de Guayaquil
httpdmiuibesabasolointart1-introduccionhtmlAbasolo Mariacutea Joseacute Dra Inteligencia Artificial
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
CAPIacuteTULO 6 PRUEBAS Y RESULTADOS61 Pruebas del sistema 11462 Pruebas del sistema 115621 Prueba 1 Aacuterea de menuacutes 115622 Prueba 2 Validacioacuten de entradas 118623 Prueba 3 Desplegado de resultados 1206231 Moacutedulo generacioacuten de grupos por abrir 1206232 Moacutedulo generacioacuten de horarios 1216233 Moacutedulo asignacioacuten de aula 1226234 Moacutedulo seleccioacuten de catedraacuteticos 127
CAPIacuteTULO 7 CONCLUSIONES Y TRABAJOS FUTUROS71 Conclusiones 13172 Trabajos futuros 132
REFERENCIAS BIBLIOGRAacuteFICAS 133
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
LISTA DE FIGURAS
Figura Nombre Paacutegina
31 Arquitectura de un Sistema Experto 2632 Pseudocoacutedigo del Algoritmo Geneacutetico simple 3341 Mapa conceptual del proyecto 5242 Diagrama de secuencia 5443 Sistema Experto generador de grupos 5544 Diagrama del moacutedulo Programacioacuten Loacutegica de Restricciones 5745 Diagrama del moacutedulo Algoritmo Geneacutetico 5846 Diagrama de Sistema Experto para sugerir profesor a asignatura 6047 Diagrama de Sistema Experto para sugerir asignaturas para
catedraacutetico61
48 Diagrama de contexto del proyecto 6449 Diagrama de funciones fundamentales (entradas) 65410 Diagrama de funciones fundamentales (salidas) 66411 Diagrama entidad relacioacuten del moacutedulo administrativo 67412 Diagrama E-R del moacutedulo para determinar y ajustar nuacutemero de
grupos68
413 Diagrama E-R del moacutedulo para asignar aulas (Algoritmo Geneacutetico) 69414 Diagrama E-R del moacutedulo para asignar horario (PLR) 70415 Diagrama E-R del moacutedulo designa mejor catedraacutetico (Sistema
Experto)71
416 Diagrama E-R del moacutedulo selecciona mejor materia (SistemaExperto)
72
51 Portada inicial del proyecto 8852 Acerca del sistema 8953 Menuacute principal del proyecto 8954 Menuacute grupos por abrir 9055 Materias 9056 Consulta materias 9157 Pantalla servicios escolares 9158 Pantalla consulta servicios escolares 9259 Pantalla criterios por materia 92510 Pantalla consulta criterios por materia 93511 Pantalla carreras 93512 Pantalla criterios 94513 Pantalla consulta criterios 94514 Pantalla reglas 95515 Pantalla consulta reglas 95516 Pantalla ajustes 96
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
517 Pantalla consulta ajustes 96518 Pantalla criterios por regla 97519 Pantalla consulta criterios por regla 97520 Pantalla caacutelculo de ajustes 98521 Pantalla explicacioacuten de la inferencia 98522 Pantalla inicial del moacutedulo generacioacuten de horarios 99523 Pantalla principal del moacutedulo generacioacuten de horarios 99524 Pantalla principal del menuacute Algoritmos Geneacuteticos 100525 Pantalla de administracioacuten de grupos 100526 Pantalla de consulta de administracioacuten de grupos 101527 Pantalla del control de aulas 101528 Pantalla de consultas del control de aulas 102529 Pantalla para generacioacuten de poblacioacuten inicial 102530 Pantalla de evaluacioacuten de versiones 103531 Pantalla del proceso de seleccioacuten 103532 Pantalla del proceso de clonacioacuten 104
533 Pantalla de mutacioacuten 104534 Pantalla del proceso de cruzamiento 105535 Horarios finales 105536 Pantalla menuacute seleccioacuten de catedraacuteticos 106537 Pantalla de perfiles 106538 Pantalla de consulta perfiles 107539 Pantalla perfiles de las materias 107540 Pantalla consulta perfiles de las materias 108541 Pantalla captura datos de catedraacuteticos 108542 Pantalla consulta datos de catedraacuteticos 109543 Pantalla captura perfil de catedraacuteticos 109544 Pantalla consulta perfil de catedraacuteticos 110545 Pantalla muestra inferencia catedraacuteticos para materia 110546 Pantalla explicacioacuten del porqueacute un maestro puede dar una materia 111547 Pantalla materias que puede impartir un profesor 111548 Pantalla de explicacioacuten del porqueacute un profesor puede dar una
materia112
61 Portada inicial del proyecto 11562 Menuacute principal del proyecto 11663 Menuacute grupos por abrir 11664 Pantalla menuacute seleccioacuten de catedraacuteticos 11765 Pantalla principal del menuacute Algoritmos Geneacuteticos 11766 Pantalla de captura de datos de las Materias 11867 Pantalla de captura de datos de Criterios por Materia 11968 Pantalla de captura de datos de Carreras 11969 Pantalla caacutelculo de ajustes 120
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
610 Pantalla inicial del moacutedulo generacioacuten de horarios 121611 Pantalla principal del moacutedulo generacioacuten de horarios 122612 Pantalla del control de aulas 123613 Pantalla de consultas del control de aulas 123614 Pantalla de genera poblacioacuten inicial 124615 Pantalla de evaluacioacuten de versiones 124616 Pantalla del proceso de seleccioacuten 125617 Pantalla del proceso de clonacioacuten 125618 Pantalla de mutacioacuten 126619 Pantalla del proceso de cruzamiento 126620 Horarios finales 127621 Pantalla captura perfil de catedraacuteticos 128622 Pantalla muestra inferencia catedraacuteticos para materia 128623 Pantalla explicacioacuten porque un maestro puede dar una materia 129624 Pantalla materias que puede impartir un profesor 129625 Pantalla de explicacioacuten porque un profesor puede dar una materia 130
Capiacutetulo 1 Introduccioacuten
CAPIacuteTULO 1
INTRODUCCIOacuteN
11 Antecedentes
iquestQueacute es un horario
ldquoEl horario completo bien puede gobernar las vidas demiles de alumnos y cientos de profesores para los 200 diacuteasdel antildeo escolar semestre a semestre hora tras hora Comouna poderosa herramienta puede faacutecilmente crear o deshacersituaciones de ensentildeanza aprendizajerdquo [Johnson 1980]
En la educacioacuten superior la historia siempre es la misma la proporcioacuten de tiempodictada por el horario para los alumnos y profesores es generalmente muy baja Apesar de esto las dificultades en la creacioacuten de los horarios son grandes Existenvarios departamentos y carreras cada uno con sus propias ideas de coacutemo y cuaacutendo sedeben programar sus cursos El nuacutemero de estudiantes puede variar considerablementede antildeo en antildeo Similarmente las preferencias de los alumnos a favor o en contra delas materias pueden variar dramaacuteticamente de un semestre a otro Los estudiantespueden tomar cursos de un departamento o de varios de ellos aun maacutes puedenseleccionar materias de otras carreras La reciente desaparicioacuten de las restricciones decreacuteditos para cursar las asignaturas complica maacutes la situacioacuten porque ampliacutea el rangode materias que puede tomar un alumno Los horarios aparecen en varias formasmatutinos vespertinos mixtos y todo el diacutea Los horarios escolares indican cuando unmaestro y un alumno deben ir a cada clase Todas las escuelas tienen un horario decursos que dirige lo que cada estudiante y catedraacutetico debe hacer en determinadomomento Esta tesis versa especiacuteficamente sobre el problema de construir horariospara Institutos Tecnoloacutegicos en Meacutexico
La planeacioacuten de los horarios es un trabajo que se realiza semestralmente antes de iniciarel siguiente periodo escolar tomando en cuenta la demanda de grupos que se ofreceraacuteny asignando a estos grupos los alumnos el aula el catedraacutetico y el horariocorrespondiente mediante informacioacuten que se obtiene de varias maneras
El principal objetivo de este proyecto es dar una solucioacuten aproximada (aceptable) alproblema de la generacioacuten de horarios de una escuela de nivel superior que se resumeasiacute
Capiacutetulo 1 Introduccioacuten
ldquoDado un conjunto de departamentos y carreras asignaturas con prerrequisitos gruposcatedraacuteticos con especialidad y horario definidos aulas laboratorios y alumnos con suspreferencias de materias el problema es construir un condensado de horarios factibleque satisfaga todas las restricciones fuertes y minimice las restricciones medias ysuavesrdquo
Las restricciones fuertes son restricciones de espacio y tiempo tal como planear doscursos en un aula al mismo tiempo Las restricciones medias y suaves son laspreferencias de maestros y estudiantes que deberaacuten ser satisfechas si es posible[Elmohamed 1998]
El problema de la generacioacuten de horarios ha sido tratado por muchos investigadoresutilizando meacutetodos que van desde la investigacioacuten de operaciones hasta disciplinas de laInteligencia Artificial como son Algoritmos Geneacuteticos Recocido Simulado RedesNeuronales etc
12 Planteamiento del problema
La generacioacuten de horarios es una forma particular del problema de asignacioacuten derecursos En el caso maacutes general existe una serie de objetos (recursos) y una serie deprocesos que necesitan ser realizados por cada uno de esos objetos En un contextoeducacional cada estudiante debe asistir a un nuacutemero predeterminado de clases y elprofesor debe impartirlas durante la semana en un aula predeterminada el estudiante elprofesor y el aula pasan aquiacute a ser el objeto y las clases el proceso
La complejidad del problema de la generacioacuten de horarios
La generacioacuten de horarios es un problema de optimizacioacuten combinatorio multi-dimensional no Euclidiano con muacuteltiples restricciones y por lo tanto difiacutecil de resolver[Elmohamed 1998]
El problema de la generacioacuten de horarios esta agrupado dentro de los considerados decomplejidad NP-completos es decir que no pueden ser resueltos en tiempo polinomialusando un algoritmo determiniacutestico No se conoce un algoritmo determiniacutestico detiempo polinomial para resolver alguno de esos problemas y la mayoriacutea de la gente creeque dichos algoritmos no existen[Karp 1972]
La generacioacuten de horarios es la asignacioacuten de lapsos de tiempo a un conjunto de eventossujeto a las restricciones en esas asignaciones Seguacuten Elmohamed [Elmohamed 1998]el problema NP-completo de la elaboracioacuten de horarios es un problema para la
Capiacutetulo 1 Introduccioacuten
satisfaccioacuten de restricciones que puede ser definido de la siguiente maneraPara una escuela dada con
Np profesores con sus horarios y turnos Nq materias con su temario y objetivosNx aulas y laboratorios con su capacidad Ns estudiantes
es requerido programar Nt parejas de
alumno-materiahora-materiamaestro-materiaaula-materia
una vez definidas las parejas anteriores se deben programar elementos de la formamateria-maestro-hora -aula
En un liacutemite de Nt lapsos de tiempo para producir una programacioacuten factible En unaprogramacioacuten factible no se puede encontrar a un profesor grupo o estudiante en maacutesde un lugar al mismo tiempo y un aula no puede ser asignada con maacutes de una clase a lavez o maacutes estudiantes de su capacidad o un profesor programado fuera de su horarionormal o con maacutes horas frente a grupo de las reglamentarias ademaacutes de un conjuntoadicional de restricciones
Importancia del problema
La administracioacuten de los recursos comprende la apertura de los grupos para inscribir alos alumnos el proacuteximo semestre la asignacioacuten de carga acadeacutemica a los catedraacuteticos lautilizacioacuten de aulas y laboratorios de quiacutemica produccioacuten coacutemputo electromecaacutenicaaulas de dibujo y demaacutes instalaciones del Instituto Tecnoloacutegico de Zacatepec (ITZ)Cuando por errores imputables al creador de los horarios se hizo una mala planeacioacuten sederivan los siguientes problemasbull Alumnos que se inscriben con una carga de creacuteditos menor a la miacutenima por falta de
grupos suficientesbull Alumnos que deben estar en el ITZ desde las 700 hrs hasta las 2000 hrs varios
diacuteas a la semana por abrir grupos en horarios muy separadosbull Alumnos que pierden la secuencia de materias seriadas por falta de cupobull Alumnos que deben permanecer 1 oacute 2 semestres maacutes en el ITZ por no prever
suficientes grupos para semestres terminalesbull Catedraacuteticos que no imparten el miacutenimo reglamentario de horas frente a grupo por
no crearles grupos suficientesbull Catedraacuteticos a los que se les avisa 1 diacutea antes del inicio de clases que impartiraacuten una
Capiacutetulo 1 Introduccioacuten
asignatura nuevabull Asignaturas que son impartidas por profesores que no cumplen el perfil deseado en
esa asignaturabull Choque de grupos en las aulasbull Choque de grupos en laboratoriosbull Falta de laboratorio a algunos gruposbull Deficiente utilizacioacuten de las aulas
La creacioacuten de un sistema que evite de manera automaacutetica caer en errores como losmencionados NO ES TAREA TRIVIAL intentar resolver este problema involucra laelaboracioacuten de un ldquosistema inteligenterdquo capaz de tomar decisiones aprender inferirbasaacutendose en hechos generar nueva informacioacuten y a partir de ella nuevamente volver adecidir El sistema que se elabore debe tener la capacidad para deducir e inducir de unamanera combinada
Desventajas del sistema actual
La mayoriacutea de los problemas anteriores son ocasionados por alguno o varios de lossiguientes motivosbull Todo el proceso de caacutelculo y administracioacuten de los recursos es manualbull El proceso de elaboracioacuten coincide con el cierre de semestre actual y como las
personas responsables tambieacuten son catedraacuteticos deben combinar la generacioacuten dehorarios con las evaluaciones finales revisioacuten de proyectos y entrega decalificaciones de sus grupos a los alumnos
bull La elaboracioacuten de los horarios es un proceso que se lleva semanas de labor diariabull Requiere la atencioacuten total de los coordinadores durante todo el tiempo de
elaboracioacutenbull Al no tener la informacioacuten automatizada se tienen peacuterdidas de tiempo en la toma de
decisiones como por ejemplo en el preacutestamo de aulas no utilizadas o en la forma decompartir catedraacuteticos
bull Se tienen fuertes restricciones debido a los horarios de los catedraacuteticosbull Hay fuertes dificultades cuando se deben negociar cambios de horarios porque el
proceso implica mover asignaturas buscar aulas dejar paquetes de materias porsemestre etc
bull El estado de aacutenimo del coordinador influye en la elaboracioacuten de los horarios
13 Objetivo general
Generacioacuten de una solucioacuten aproximada del condensado de horarios para una escuela denivel superior que satisfaga las restricciones ocasionadas por los recursos involucradosmediante la elaboracioacuten de un sistema hiacutebrido (experto geneacutetico y loacutegico restrictivo)
Capiacutetulo 1 Introduccioacuten
14 Objetivos especiacuteficos
Se tiene el disentildeo e implementacioacuten de un sistema que
bull Proporciona una solucioacuten aproximada aceptable al problema de la generacioacuten dehorarios
bull Permite a los coordinadores delegar a la computadora la asignacioacuten de recursosbull Ahorra tiempo en la generacioacuten de los horariosbull Reduce el trabajo manualbull Agiliza la toma de decisionesbull Reduce el tiempo de elaboracioacuten de horariosbull Facilita la modificacioacuten de informacioacuten generadabull Aumenta la eficiencia en las negociaciones entre jefes y coordinadoresbull Lleva al Instituto Tecnoloacutegico de Zacatepec (ITZ) a la modernizacioacuten en este
proceso
15 Justificacioacuten del sistema
151 Justificacioacuten teoacuterica
La utilizacioacuten de la Inteligencia Artificial (IA) para la solucioacuten de problemas de la vidacotidiana ha sido una estrategia utilizada cuando los sistemas tradicionales decomputacioacuten no proveen mecanismos suficientes para garantizar una solucioacuten adecuadasu utilizacioacuten para la generacioacuten de horarios (creacioacuten de grupos asignacioacuten de horaasignacioacuten de aula determinacioacuten de catedraacutetico) presenta una alternativa ideal paracomprobarlo
152 Justificacioacuten metodoloacutegica
La utilizacioacuten de un grupo de Sistemas Expertos que realice la asignacioacuten de losrecursos para la generacioacuten de grupos y le proponga una materia determinada a unprofesor seguacuten el perfil acadeacutemico de ambos reuacutene las caracteriacutesticas necesarias paradar la solucioacuten elegante y efectiva al problema planteado anteriormente porque
bull Se requiere del conocimiento de un experto para plantear el funcionamiento delsistema
bull El conocimiento se alimentaraacute a una base de conocimientos que conste de variaspartes
bull Para la generacioacuten de grupos de una asignatura dada el sistema debe ldquorazonarrdquo paradeterminar cuantos de eacutestos se deben abrir para ofertarlos a los alumnos
Capiacutetulo 1 Introduccioacuten
bull En la asignacioacuten de nuevas materias a los catedraacuteticos el sistema debe ldquodeterminarrdquoquieacuten es el maacutes idoacuteneo para impartirla de acuerdo al perfil de ambos materia ymaestro
La Programacioacuten Loacutegica de Restricciones (PLR) es una de las teacutecnicas que maneja demanera natural informacioacuten sometida a ciertas restricciones y fue seleccionada paraseguir trabajando en la resolucioacuten del problema porque
bull Los horarios deben satisfacer ciertas restricciones como por ejemplo no se debengenerar mas grupos de los necesarios no puede haber dos materias con el mismogrupo no deben existir grupos del mismo paquete a la misma hora etc
bull Cada paquete de un semestre es un objeto que por siacute mismo posee ciertascualidades y restricciones por ejemplo no debe tener horas sin asignatura entre lahora inicial y final existen materias que se deben impartir de una hora diaria otrasdeben ser impartidas de 2 horas diarias etc
bull La solucioacuten presentada por la PLR inicia con datos aleatorios de un horario despueacutesse verifica si las restricciones se cumplen o no si se cumplen se guarda el dato si nose genera un nuevo dato aleatorio
Los Algoritmos Geneacuteticos utilizados aquiacute para asignar aula a los grupos cumplen con lametodologiacutea de la Computacioacuten Evolutiva porque
bull Se tienen datos iniciales de los grupos (materia-hora)bull Se genera una poblacioacuten inicial que son n versiones de un condensado de horarios
sin aulabull Esta poblacioacuten inicial es evaluada se seleccionan los condensados maacutes adecuados y
se eliminan las versiones menos adecuadasbull Se realizan cruzamientos mutaciones clonaciones y se crea la nueva generacioacuten de
horariosbull Se repite el proceso hasta llegar a una utilizacioacuten eficiente de las aulas
Por lo anterior se pueden observar las ventajas de utilizar un sistema inteligente sobreuno convencional para solucionar el problema planteado
Una vez definido el modelo para solucionar el problema de la asignacioacuten de horariospara las asignaturas aulas y catedraacuteticos de una institucioacuten de educacioacuten superior seraacutefaacutecil extrapolarlo para solucionar algunos problemas referentes a la planeacioacuten dehorarios de otro tipo de escuelas de nivel medio superior
153 Justificacioacuten praacutectica
La creacioacuten de un sistema que resuelva el problema de la elaboracioacuten de horarios ygenere automaacuteticamente la programacioacuten de grupos aulas y maestros sin violar las
Capiacutetulo 1 Introduccioacuten
restricciones fuertes minimizando las restricciones medias y suaves optimizando lautilizacioacuten de las aulas cumpliendo con las restricciones de los profesores asignandoprofesores adecuados para impartir las clases traeraacute como consecuencia condicionespara mejorar el proceso de ensentildeanza aprendizaje
16 Alcances y limitaciones
Alcances
El sistema generaraacute un espacio de soluciones finito que satisfaga las restriccionesfuertes medias y suaves optimizando el uso de los recursos disponibles se puede decirque el sistema optimizaraacute los recursos cuando los horarios generados tengan lascaracteriacutesticas mencionadas maacutes adelante
Esta tesis documenta la creacioacuten de un sistema basado en el conocimiento parasolucionar el problema de la generacioacuten de horarios en el Instituto Tecnoloacutegico deZacatepec que permite
bull Generar grupos suficientes para que todos los estudiantes se inscriban al menos conla carga miacutenima reglamentaria
bull Que los alumnos tengan horarios adecuados a sus necesidades y preferenciasbull Que todos los grupos tengan capacidad suficiente para todos los estudiantes que
deseen inscribirsebull Que los profesores impartan materias de acuerdo a su perfil profesionalbull Evitar los choques de grupos en aulas y laboratoriosbull Que todos los grupos tengan aula asignada desde el inicio del semestrebull La utilizacioacuten oacuteptima de las aulas y laboratoriosbull La correcta asignacioacuten de aulas y laboratorios a los cursosbull Realizar de manera automaacutetica la asignacioacuten de los recursosbull Determinar el nuacutemero de grupos que se deben abrirbull Llenar las aulas con grupos sin permitir choque de horariosbull Imprimir la lista de grupos ofertados para el semestre siguientebull Cuando exista el grupo de una materia sin maestro determinar cual es el mejor para
impartirla
Tener un Sistema terminado que contenga los siguientes moacutedulos
Sistema administrativo para control de horarios Sistema Experto para determinar la cantidad de grupos por abrir Sistema Experto para sugerir materias a un catedraacutetico Sistema Experto para seleccionar los mejores catedraacuteticos para impartir una
asignatura
Capiacutetulo 1 Introduccioacuten
Moacutedulo de Programacioacuten Loacutegica de Restricciones para generar los horarios a lospaquetes de materias por semestre
Moacutedulo de Algoritmo Geneacutetico para asignar aula a los grupos
Cada moacutedulo tendraacute
bull Interfaces de usuario amigablesbull Tiempos de ejecucioacuten raacutepidos (independientemente de la maacutequina objetivo)bull Reglas de inferencia para generar resultados (soacutelo los Sistemas Expertos)bull Buacutesquedas heuriacutesticas o aleatorias seguacuten el casobull Procesos para realizar induccioacuten y deduccioacuten (soacutelo los Sistemas Expertos)bull Manejo de incertidumbre (soacutelo los Sistemas Expertos)bull Un moacutedulo de explicaciones en lenguaje natural
Limitaciones
El sistema estaacute disentildeado para generar horarios de una escuela de nivel superior donde elcoordinador de cada carrera es el responsable de la generacioacuten de sus horarios controlarsus profesores impartir cierto nuacutemero de materias y utilizar cierta cantidad de aulas ylaboratorios
Trabaja exclusivamente en lenguaje espantildeol
Las reglas de la base de conocimiento tienen un formato predeterminado por unasintaxis definida para el sistema
El sistema estaacute elaborado para trabajar en microcomputadoras compatibles con IBM
No maneja los horarios individuales de los alumnos en el proceso de inscripcioacuten estaactividad deberaacute ser realizada por los sistemas del departamento de servicios escolares
Capiacutetulo 2 Marco teoacuterico
CAPIacuteTULO 2
MARCO TEOacuteRICO
21 El estado del arte
211 Antecedentes
El problema de la generacioacuten de horarios ha sido atacado de varias maneras a nivelmundial inclusive existe un grupo internacional que convoca al congreso llamadoPATATxx (Practice and Theory of Automated Timetabling) donde xx es el antildeo delcongreso en cuestioacuten
La ASAP (Automated scheduling optimization and planing group) es otro organismocuyo fin principal es conducir investigacioacuten en modelos heuriacutesticas y algoritmos para laproduccioacuten automaacutetica de soluciones de alta calidad a una gran variedad de problemasde planeacioacuten y optimizacioacuten del mundo real incluyendo elaboracioacuten de horarioslogiacutestica asignacioacuten de espacio y mantenimiento de inventarios
212 Algunos meacutetodos para resolver el Problema de laGeneracioacuten de Horarios
La generacioacuten de horarios acadeacutemicos ha sido acometida por muchos investigadoresbaacutesicamente dentro del aacuterea de la Investigacioacuten de Operaciones
2121 Investigacioacuten de Operaciones
El algoritmo para resolver problemas de asignacioacuten se denomina Huacutengaro ya que fuerondos matemaacuteticos Huacutengaros Koumlnig (1916) y Egervary (1931) los que aportaron lasteoriacuteas que sirven de base a este meacutetodo [Daellenbach 1987]
Este problema se presenta en diversos casos de toma de decisiones Los problemastiacutepicos de asignacioacuten implican asignar tareas a maacutequinas trabajadores a tareas yproyectos personal de ventas a territorios de ventas contratos a licitaciones horarios deaulas disponibles a horarios de maestros disponibles enfermos a camas disponibles delhospital cierto nuacutemero de empleados a cierta cantidad de puestos en una empresaaviones a destinos aeacutereos entre otros
Capiacutetulo 2 Marco teoacuterico
Una caracteriacutestica importante de los problemas de asignacioacuten es que se asigna untrabajador una tarea a una sola maacutequina proyectoEn particular se busca elconjunto de asignaciones que optimice el objetivo planteado tal como minimizar costosminimizar tiempo o maximizar utilidad
La formulacioacuten del problema general de asignacioacuten es
Sujeta a
Corresponde a un caso especial del problema del transporte en el cual las variables Xijsoacutelo pueden tomar el valor 0 oacute 1 tomar el valor 1 si el origen i se hace corresponder aldestino j y 0 en caso contrario
El Algoritmo Huacutengaro
Este algoritmo se usa para resolver problemas de minimizacioacuten ya que es maacutes eficazque el empleado para resolver el problema del transporte por el alto grado dedegeneracioacuten que pueden presentar los problemas de asignacioacuten Las fases para laaplicacioacuten del meacutetodo Huacutengaro son
Capiacutetulo 2 Marco teoacuterico
Paso 1 Encontrar primero el elemento maacutes pequentildeo en cada fila de la matriz de costosmm se debe construir una nueva matriz al restar de cada costo el costo miacutenimo de cadafila encontrar para esta nueva matriz el costo miacutenimo en cada columna A continuacioacutense debe construir una nueva matriz (denominada matriz de costos reducidos) al restar decada costo el costo miacutenimo de su columna
Paso 2 (En algunos pocos textos este paso se atribuye a Flood) Consiste en trazar elnuacutemero miacutenimo de liacuteneas (horizontales o verticales o ambas uacutenicamente de esasmaneras) que se requieren para cubrir todos los ceros en la matriz de costos reducidos sise necesitan m liacuteneas para cubrir todos los ceros se tiene una solucioacuten oacuteptima entre losceros cubiertos de la matriz Si se requieren menos de m liacuteneas para cubrir todos losceros se debe continuar con el paso 3 El nuacutemero de liacuteneas para cubrir los ceros es iguala la cantidad de asignaciones que hasta ese momento se pueden realizar
Paso 3 Encontrar el menor elemento diferente de cero (llamado k) en la matriz decostos reducidos que no estaacute cubierto por las liacuteneas dibujadas en el paso 2 acontinuacioacuten se debe restar k de cada elemento no cubierto de la matriz de costosreducidos y sumar k a cada elemento de la matriz de costos reducidos cubierto por dosliacuteneas (intersecciones) Por uacuteltimo se debe regresar al paso 2
Notas
1 Para resolver un problema de asignacioacuten en el cual la meta es maximizar la funcioacutenobjetivo se debe multiplicar la matriz de ganancias por menos uno (-1) y resolver elproblema como uno de minimizacioacuten
2 Si el nuacutemero de filas y de columnas en la matriz de costos son diferentes el problemade asignacioacuten estaacute desbalanceado El meacutetodo Huacutengaro puede proporcionar una solucioacutenincorrecta si el problema no estaacute balanceado debido a lo anterior se debe balancearprimero cualquier problema de asignacioacuten (antildeadiendo filas o columnas ficticias) antes deresolverlo mediante el meacutetodo Huacutengaro
3 En un problema grande puede resultar difiacutecil obtener el miacutenimo nuacutemero de filasnecesarias para cubrir todos los ceros en la matriz de costos actual Se puede demostrarque si se necesitan j liacuteneas para cubrir todos los ceros entonces se pueden asignarsolamente j trabajos a un costo cero en la matriz actual esto explica porqueacute terminacuando se necesitan m liacuteneas
Capiacutetulo 2 Marco teoacuterico
Tambieacuten han aparecido meacutetodos no convencionales que atacan el problema desdediferentes aacutengulos Los maacutes usuales son
Algoritmos Geneacuteticos Redes Neuronales Recocido Simulado Buacutesquedas Tabuacute Sistemas Expertos Programacioacuten Loacutegica de Restricciones Grafos Coloreados Operadores Recombinatorios Especializados
2122 Algoritmos Geneacuteticos
Los Algoritmos Geneacuteticos han sido utilizados satisfactoriamente para planear exaacutemenesy cursos en cierto nuacutemero de casos [Corne 1993] utiliza una buena aproximacioacutentradicional donde cada gene representa la hora en la cual se presentaraacute un examen ocurso Con operadores de cruzamiento y mutacioacuten como los mencionadosanteriormente agrega sustanciosos ahorros de tiempo al meacutetodo de Corne [Paechter1994] da una aproximacioacuten diferente donde el gene de cada examen no solo especificaldquoel cuandordquo sino que tambieacuten busca un nuevo horario del examen si despueacutes delcruzamiento el curso esta causando un conflicto Si el examen no puede ser programadoen alguna hora entonces no se agrega a la planeacioacuten con la finalidad de no tenerhorarios infactibles
[Burke1994] incorpora dominios de conocimiento especiacutefico para asegurar que ningunade las soluciones candidato es no factible En particular una representacioacuten directa seutilizada que incluye no soacutelo el cuaacutendo sino tambieacuten el doacutende un curso o examendeberaacuten ser tomados permitiendo al programador de horarios detener la ejecucioacuten delalgoritmo en cualquier punto y tener ya una serie de soluciones de buenos horariosfactibles
2123 Programacioacuten Loacutegica de Restricciones
Varios autores han presentado teacutecnicas de Programacioacuten Loacutegica de Restricciones pararesolver problemas de asignacioacuten de horarios pero eacuteste sigue siendo un nuevo enfoqueTambieacuten han aparecido algunos usando PLR para la planeacioacuten de clase-maestro[Yoshikawa 1994]
Kang y White presentaron una buena aproximacioacuten estaacutendar de PLR programandocursos sin permitir ningun conflicto [Kang y White 1994] Ellos usaron una teacutecnica dereversa equivalente al backtracking con lo cual cuando un curso no puede ser
Capiacutetulo 2 Marco teoacuterico
asignado uno similar es desasignado y el nuevo es colocado en su lugar Esto previeneuna buacutesqueda exhaustiva completa Esto tambieacuten introduce el concepto de undelimitador de tamantildeo que establece un maacuteximo en el tamantildeo del aula que puede usarun curso en particular Las restricciones son priorizadas en cinco diferentes categoriacuteasdonde la categoriacutea cinco debe ser liberada antes que la categoriacutea cuatro y asiacute con lasdemaacutes Este procedimiento fue utilizado para programar exitosamente los cursos de laUniversidad de Otawa
Tambieacuten se ha utilizado la teacutecnica de la Programacioacuten Loacutegica de Restricciones parahacer los horarios de una facultad utilizando una regla heuriacutestica para seleccionar quecurso asignar primero [Fahrion y Dollanski 1992]
2124 Redes Neuronales
De las distintas categoriacuteas de las Redes Neuronales Artificiales la maacutes apropiada pararesolver el problema es la familia de las Redes Neuronales de reaccioacuten basadas enneuronas multiestado con ecuaciones de teoriacutea de campos con significado controlandolas dinaacutemicas Las ecuaciones anteriores son usadas en lugar de los procedimientospara actualizacioacuten de demanda estocaacutesticos que han sido usados por otros esquemas paraevitar quedar atorados en circuitos locales miacutenimos [Carrasco 2004]
2125 Recocido Simulado
Recocido Simulado se refiere al uso de una teacutecnica de optimizacioacuten combinatoria odiscreta Divide el problema en grupos del mismo tiempo de clase los cuales sonespecificados por cada departamento acadeacutemico basados en la habilidad de losinstructores Funciona asiacute
1 El proceso asigna aulas procesando un grupo a la vez empezando con el primero2 El proceso continuacutea hasta que todos los grupos son procesados3 Cuando una solucioacuten es obtenida dividiendo el problema en conjuntos de horario
una mutacioacuten especial es generada con grupos traslapados Esto podriacutea generar unamala asignacioacuten de aula para minimizar esto se utiliza el siguiente paso
4 Los grupos son procesados basados en el nuacutemero de aulas este nuacutemero de aulas esoptimizado y se termina con las horas de clase con el miacutenimo de paquetes a esa hora
5 La implementacioacuten del programa genera una base de datos con la nueva asignacioacutende salones para el proacuteximo semestre [Abramson 1991]
2126 Operadores Recombinatorios Especializados
Los operadores de cruzamiento de los Algoritmos Geneacuteticos producen buenas
Capiacutetulo 2 Marco teoacuterico
combinaciones de genes para ser pasados entre los diferentes miembros de unapoblacioacuten En los Algoritmos Geneacuteticos estaacutendar es un procedimiento similar a escogerlos primeros n genes del primer padre y los uacuteltimos del segundo padre esteprocedimiento no es uacutetil en situaciones donde existen fuertes restricciones sobre laforma de los miembros de la poblacioacuten aquiacute un operador violaraacute esos requerimientosEl operador de recombinacioacuten heuriacutestico hiacutebrido trabaja asiacute
1 Los grupos no programados del periodo anterior son pasados al algoritmo2 Primero selecciona aquellos grupos programados en el periodo i en los padres 1 y 23 Los grupos extra son seleccionados de aquellos programados en el periodo i ya sea
del padre 1 o del padre 2 o de los dejados del periodo i ndash 14 Cualquiera de los grupos no programados es pasado al periodo i+15 Soacutelo los grupos que no crean conflicto con aquellos ya programados para este
periodo pueden ser seleccionados [Wilke 2002]
2127 El Sistema Experto Basado en Reglas
Los Sistemas Basados en Reglas proporcionan un buen punto de referencia para saberque tan buenos son otros meacutetodos en comparacioacuten a esta teacutecnica estaacutendar Varias deestas reglas son usadas para proporcionar sensibles elecciones para los movimientos enel algoritmo de Recocido Simulado en lugar de seleccionar cambios de manera aleatoriase ha usado este sistema como un preprocesador para generar una buena aproximacioacuteninicial y darla al Recocido Simulado
El Sistema Experto Basado en Reglas consiste en un nuacutemero de reglas (o heuriacutesticas) yrecursioacuten convencional para ayudar en la generacioacuten de asignacioacuten de clases Lasestructuras de datos o componentes del sistema son
bull Una matriz de distancias entre los departamentos acadeacutemicos y los edificios queseraacuten utilizados
bull Estructura de los datos de las materias para cada grupo programado en el campobull Estructura para las aulas (independientemente del tipo de aula) involucradas en el
procesobull Horarios para cada periodo de tiempo guardando cuales estaacuten disponibles y
cuales ya fueron ocupadasbull La estructura de los departamentosbull Las preferencias de los estudiantes indicando las clases requeridas
independientemente del semestre que sean las materias [Gervaacutes 1999]
Capiacutetulo 2 Marco teoacuterico
213 Observaciones realizadas a algunos paquetes generadores de horarios
Nombre DeMIStDescripcioacuten Puede describirse como un paquete que realiza bien las operaciones decasa (la propia universidad que lo creoacute) pero salioacute tan costoso como si hubierancomprado un paquete [Demist 2000]Proveedor DeMISt University
KnowTISEs un proyecto iniciado por la universidad de Leeds En la literatura aparece como unpaquete que es mejor para la generacioacuten de Grandes Horarios para una universidad quepara un departamento Utiliza el beneficio de gran cantidad de informacioacutencentralizada para la optimizacioacuten de recursos [Schedul 2000]Leeds University
STARSSTARS(Space Time and Resources Management) Igual que el anterior corre mejor enla elaboracioacuten de horarios de buen tamantildeo que en una aplicacioacuten departamentalDe Montfort University
Meeting maker Office TalkEs un generador de clases y acciones diarias es bueno cuando no es uacutetil el horario delos alumnos ya que proporciona uacutenicamente los espacios para las clases [Gervaacutes 1999]Varios proveedores
GP-UNTISEs un paquete australiano que funciona perfectamente para los requerimientos de lasescuelas secundariasTimetabling Services UK
Syllabus PlusEs una buena opcioacuten para uso departamental cumple los requerimientos de unauniversidad para la generacioacuten de horarios no trabaja a nivel de estudiantes pero si lohace con grupos de ellos no es factible para la generacioacuten de Grandes HorariosScientia LTD
Facility TimetablerEs una buena opcioacuten para uso departamental y para Grandes Horarios tiene interfaz conlos sistemas de alumnos y permite la creacioacuten de horarios individuales permite el uso
Capiacutetulo 2 Marco teoacuterico
centralizado de las aulas para una buena optimizacioacutenFacility Systems
Mimosa for WindowsEs un software general de planificacioacuten de la ensentildeanza y de programacioacuten de horariosLa aplicacioacuten utiliza todas las propiedades de Windows eficientemente es raacutepida tienegran capacidad y lo mas importante es tan flexible que puede aplicarse en todo el tipode escuelas desde la escuela primaria a las universidades desde las escuelasvocacionales a las academias militares
Se podriacutea decir que este producto cubririacutea todas las necesidades de la institucioacuten perohan existido algunos inconvenientes ya que no cubre con las necesidades deldepartamento tan solo da ayuda al usuario para que pueda generar sus horarios ademaacutesel tener tantos botones en pantalla (200) podriacutean confundir al usuario y realizar horarioserroacuteneos y no se resolveriacutea el problema [Nielsoft 2000]Mimosa Software Oy Finlandia
GestHor BSPEs un producto informaacutetico para resolver problemas de horarios escolares en escuelasbaacutesicas escuelas secundarias y escuelas profesionales
Toacutemese en cuenta que la mayoriacutea de los sistemas mencionados se enfoca solo a laasignacioacuten aula ndash materia y no abarca lo que es asignacioacuten materia ndash profesor
22 Los horarios
Existe mucha literatura referente a los horarios con una gran variedad de subtiacutetulos ydiferentes problemas Una gran variedad de algoritmos han sido propuestos empleandometodologiacuteas y heuriacutesticas de buacutesqueda produciendo horarios completos o soacuteloayudando durante el proceso Una de las grandes preguntas para la elaboracioacuten dehorarios es que si eacutestos pueden ser generales es decir iquestse puede encontrar un algoritmoo meacutetodo suficientemente general que produzca buenos horarios para todos losproblemas y para todas las restricciones La alternativa desde luego es continuardesarrollando algoritmos especializados aislados cada vez que un problema de horariosaparece
Al trabajar con una solucioacuten para el problema de los horarios se deben contestar lassiguientes preguntas iquestTodas las escuelas de nivel superior elaboran los horarios de lamisma manera iquestSon grandes o pequentildeas las diferencias en la forma de elaborar loshorarios iquestQueacute tan necesaria es la ayuda de la computadora iquestSoacutelo se requiere unpaquete general para la elaboracioacuten de los horarios iquestQueacute funcionalidad debe tener
Capiacutetulo 2 Marco teoacuterico
dicho paquete iquestQueacute tan grande y complejo es el problema de elaboracioacuten de horariosiquestQueacute propiedades debe poseer un horario aceptable para que una institucioacuten lo use
Se han realizado algunas encuestas para conocer si las escuelas de nivel superior tienensistemas computarizados para la elaboracioacuten de horarios si no los tienen si lonecesitaban y queacute caracteriacutesticas deberiacutea poseer El estudio concluyoacute que existe una grandemanda para tal sistema que se requiere un alto grado de asistencia automatizada yque la mayoriacutea de los elaboradores de horarios no estaban muy contentos con sussistemas actuales [Comm y Mathaisel 1988]
[Dowsland y Lim 1982] consideraron el problema de la elaboracioacuten de horarios peroproporcionaron alternativas en la encuesta de la utilidad de sistemas automatizados[Junginger 1986] establece que ldquoAunque los horarios producidos requierenmodificacioacuten las escuelas estaacuten contentas con los resultados El tiempo ahorrado fueconsiderable arriba del 75rdquo Dowsland por otro lado concluye que ldquoEs muy difiacuteciljuzgar el eacutexito actual de los paquetes para la elaboracioacuten de horarios pero el uso muylimitado de ellos sugiere que sus ventajas son limitadasrdquo Claramente ninguacuten disentildeadorde sistemas puede garantizar la idea de que su producto seraacute bienvenido con los brazosabiertos
[Pendlebury 1986] encuestoacute a las universidades politeacutecnicas britaacutenicas con respecto ala elaboracioacuten de horarios de cursos Doce de las treinta que contestaron la encuestautilizan elaboracioacuten de horarios por computadora (siete a gran escala y cuatro lo hacenen pequentildea escala) Es interesante notar que Pendlebury encontroacute que la mayoriacutea de loscursos se basan en clases que son muy independientes unas de otras y en la mayoriacutea delas instituciones encuestadas los departamentos individuales son responsables deproducir sus propios horarios
221 El problema de la elaboracioacuten de horarios
La elaboracioacuten de horarios es el acto de programar cursos a periacuteodos de tiempo asignarun aula a esos cursos y asignar un catedraacutetico a dicho curso
A menudo se hacen afirmaciones acerca de la naturaleza del problema que puedenpermitir encontrar una solucioacuten maacutes eficientemente Sin embargo cuando se trata deconstruir un sistema general se estaacute limitado a que las afirmaciones son el miacutenimocomuacuten denominador de todos los posibles escenarios
Una informacioacuten impliacutecita que ha sido hecha a menudo es la independencia entreunidades acadeacutemicas separadas Algunas universidades programan preguntando a susdepartamentos los horarios de sus propios cursos Una unioacuten central de dichos horarioses entonces utilizada para asegurar que todas las restricciones relevantes son cumplidasEn muchos casos esta es la forma normal en que es producido el horario de los cursos
Capiacutetulo 2 Marco teoacuterico
aunque algunos departamentos desarrollan su propio software para la programacioacuten decursos
En varias universidades los alumnos pueden tomar algunos de sus cursos endepartamentos diferentes al suyo Obviamente la independencia no debe ser asumidageneralmente debido a que puede haber diferencia en la programacioacuten de los cursos decada departamento En el Tecnoloacutegico de Zacatepec por ejemplo la probabilidadpromedio de que un curso tenga conflicto con uno de otro departamento es 1650mientras que la probabilidad de que dos cursos del mismo departamento tengan conflictoes 2250 notaacutendose una gran diferencia en el resultado
Dificultades encontradas por los responsables de la generacioacuten de horarios
Algunas dificultades experimentadas por los departamentos y facultades sonmencionadas aquiacute
bull Los programas acadeacutemicos se hacen cada vez maacutes flexibles (los estudiantesseleccionan queacute asignaturas tomar cuaacutendo doacutende y con quieacuten)
bull Algunos departamentos tienen asignaturas para ofrecer pero no tienen muchosalumnos
bull Los espacios para ofrecer las materias son cada vez menos y el problema se agravacuando los alumnos no quieren asistir en las tardes o los saacutebados
bull El staff de profesores no siempre estaacute disponible para impartir clases por muacuteltiplesrazones
bull Los alumnos pueden solicitar los grupos del proacuteximo semestre desde antes de queinicie pero al llegar el momento de inscribirse no lo hacen
bull Los departamentos estaacuten ansiosos por ofrecer una gran variedad de grupos teniendolos recursos pero esto puede ocasionar problemas
bull Existe una gran variedad de reglas al momento de asignar las aulas (pertenencia alas carreras prioridades de profesores etc)
bull Como no hay un costo asociado a la utilizacioacuten de un aula y no hay sanciones porreservarla y no utilizarla los departamentos acadeacutemicos no tienen un buen motivopara hacer una correcta utilizacioacuten del espacio
bull La falta de recursos ocasiona el mayor de los problemas porque obliga a laoptimizacioacuten en la planeacioacuten
Cursos y estudiantes
El problema de la elaboracioacuten de horarios estaacute relacionado esencialmente con el nuacutemerode eventos que requieren ser programados en este caso los cursos para los estudiantesClaramente el tamantildeo del problema variacutea entre los diferentes centros de estudio desdepequentildeos problemas con alrededor de 50 a 100 cursos hasta los 500 o 1000 cursos que
Capiacutetulo 2 Marco teoacuterico
programar Esta variacioacuten en el tamantildeo afectaraacute el tiempo requerido para resolver elproblema Un problema pequentildeo puede ser resuelto casi de manera oacuteptima mientrasque en uno grande se deben usar buacutesquedas heuriacutesticas u otras formas de acotar elespacio de buacutesqueda de una solucioacuten en un periodo de tiempo razonable
Se debe esperar que el nuacutemero de cursos y el nuacutemero de alumnos esteacuten correlacionadosEl nuacutemero de cursos ofrecidos y desde luego programados debe ser calculado porextrapolacioacuten del promedio de 5 o 6 cursos por alumno y con cupo promedio de 30alumnos por curso obviamente algunos alumnos se inscribiraacuten en 7 u 8 cursos porsemestre mientras que los cursos tendraacuten inscritos entre 20 y 40 alumnos Losalumnos dependiendo del semestre en que se encuentran inscritos deben matricularse aciertos cursos especiacuteficos para ese semestre dichos cursos deben programarse de maneraque los alumnos tengan la menor cantidad de tiempo entre el primer y el uacuteltimo cursodel diacutea permitieacutendoles con esto realizar actividades complementarias
En el Tecnoloacutegico de Zacatepec para una carrera con 900 alumnos se requieren ofertaraproximadamente entre 140 y 160 cursos ademaacutes los estudiantes pueden matricularse encursos ofrecidos por otros departamentos (esto ampliacutea el rango de posibilidades para losalumnos)
Los cursos y los departamentos
El promedio de los cursos ofrecidos por cada departamento variacutea considerablementeentre las diferentes escuelas de nivel superior La razoacuten de esta variabilidad puede servista como un indicador de la naturaleza de la complejidad de la planeacioacuten de horarios
Cada departamento ofrece cursos a los estudiantes de las carreras a las que da soportedirecto pero ademaacutes debe ofrecer cursos para todas las otras carreras de la institucioacutenque lo requieran esto es si un departamento X solicita la apertura de determinadonuacutemero de cursos a un departamento Y el departamento Y debe ofertar los cursossolicitados por X para los alumnos matriculados en el departamento X aunado a estoalgunos cursos ofertados por el departamento Y tienen compatibilidad con cursosofrecidos por X y por lo tanto los estudiantes de Y y X pueden ingresar indistintamenteen cualquiera de los cursos
Los cursos los semestres y las horas
Una de las afirmaciones que se pueden hacer en las instituciones de nivel superior es quelos cursos generalmente inician durante cierto periodo de tiempo y pueden tenerduracioacuten semestral (la gran mayoriacutea) trimestral y sin fechas predeterminadas (algunosposgrados por ejemplo) En general los cursos empiezan a las 700 AM y terminandependiendo del lugar a las 2000 o a las 2100 horas de lunes a saacutebado Aunque estopermite tener un amplio margen de horas para programar los cursos esto hace tambieacuten
Capiacutetulo 2 Marco teoacuterico
aun maacutes difiacutecil la elaboracioacuten de los horarios porque aumenta el rango de posiblescombinaciones donde programar cursos
Los cursos se pueden programar en periodos de tiempo muy variados aunque la mayoriacuteade los programadores de horarios siguen los siguientes patrones
bull Curso diario de 1 horabull Curso de dos horas en diacuteas saltados (lunes y mieacutercoles jueves y viernes
mieacutercoles y viernes)bull Curso de dos horas diarias 3 diacuteas por semana (lunes mieacutercoles y viernes)
(lunes martes y jueves) o (martes jueves y viernes)bull Cursos de cuatro horas en un solo diacutea por semanabull En el peor de los casos se programan cursos con la combinacioacuten de algunos
de los anteriores
Dependiendo del curso algunos tienen duracioacuten de cuatro horas teoacutericas semanales otroscombinan cuatro horas de teoriacutea y dos de praacutectica y algunos excepcionalmente sonprogramados con cuatro horas de praacutectica y dos de teoriacutea Las horas de praacutecticageneralmente se realizan en laboratorios o praacutecticas de campo agregando esto un nuevoparaacutemetro para la complejidad de la elaboracioacuten de horarios
Los cursos y las aulas
Las aulas son el espacio fiacutesico donde se impartiraacuten los cursos pueden ser salones declase laboratorios salones de exposicioacuten aulas para aplicacioacuten de exaacutemenes aulas paraactividades deportivas musicales o recreativas cada aula tiene capacidad para quecierto nuacutemero definido de estudiantes reciba sin problema unidades de ensentildeanzaaprendizaje
En una encuesta realizada por la Universidad de Nottingham [Burke y Elliman 1998] sedefinioacute que la programacioacuten de los cursos en las aulas es uno de los mayores problemasa los que se enfrentan los responsables de la elaboracioacuten de horarios Esto proviene dedos problemas mayores El primer problema es la escasez de aulas disponibles ya queen algunas de las escuelas de nivel superior el crecimiento de la poblacioacuten estudiantil hasido mayor que el crecimiento del nuacutemero de aulas disponibles para la ensentildeanza Elsegundo problema ocurre cuando se programa un curso en mas de un aula o saloacuten declase
La ocupacioacuten de las aulas es variable de acuerdo al departamento para el que seaasignada algunos prefieren utilizarlas al maacuteximo en el turno matutino otros en el turnovespertino tienen ocupacioacuten total algunos las utilizan exhaustivamente de lunes ajueves unos departamentos las llenan los viernes y saacutebados y otros tienen que utilizarlastodo el diacutea de lunes a saacutebado inclusive solicitan prestadas a los otros departamentosaquellos espacios que no son utilizados en alguacuten diacutea y hora a la semana
Capiacutetulo 2 Marco teoacuterico
Para el Tecnoloacutegico de Zacatepec el recurso llamado las aulas debe ser optimizado enuna buena planeacioacuten de horarios esto es deben ser utilizadas al maacuteximo todos los diacuteasde la semana desde las 700 hasta las 2100 de lunes viernes y los saacutebados hasta las1500 horas
Tipos de cursos
Una de las cosas a tomarse en cuenta durante la elaboracioacuten de los horarios es el tipo decurso a programar
bull Teoacutericos como los cursos matemaacuteticos cursos de administracioacuten etcbull Teoacuterico praacutecticos como los cursos de electroacutenica sistemas digitalesbull Lenguajes de programacioacutenbull Con praacutecticas de campo que deben salir al aire librebull Con praacutecticas de quiacutemica
Otra consideracioacuten es el tipo de aula requerida por los diferentes tipos de cursos
bull cursos que requieren medios audiovisuales simples (pizarroacuten y gis)bull algunos cursos adicionalmente requieren proyectores de acetatos y salas
obscurecidasbull cursos que requieren equipo de coacutemputo equipo de proyeccioacuten equipo de video y
televisioacuten para el desarrollo de la caacutetedra etcbull cursos que requieren laboratorios con computadorasbull que requieren equipos de medicioacuten electroacutenica generadores de sentildeales enchufes
eleacutectricos ybull cursos que requieren mesas tomas eleacutectricas y equipos para conexioacuten de redes
Los cursos y los catedraacuteticos
Definitivamente eacutesta es una de las principales consideraciones que tienen en cuenta losprogramadores de horarios la asignacioacuten de los cursos a los catedraacuteticos porque es unproceso que no puede realizarse de manera aleatoria es un proceso delicado porque deesto depende la efectividad del proceso de ensentildeanzandashaprendizaje
Los catedraacuteticos tienen caracteriacutesticas individuales que los hacen uacutenicosindependientemente de la profesioacuten que hayan estudiado Tienen intereses diferentesmeacutetodos diferentes aacutereas de preferencia diferentes perfil profesiograacutefico distinto tienenactividades extralaborales variadas asiacute que
iquestCoacutemo asignarle un curso a un catedraacutetico para que logre un oacuteptimo resultado en el
Capiacutetulo 2 Marco teoacuterico
proceso de ensentildeanza-aprendizajeiquestCoacutemo garantizar que el curso asignado a un profesor seraacute bien impartidoiquestCoacutemo saber que el profesor estaacute capacitado para ofrecer un buen cursoiquestCuaacuteles son los requisitos que debe reunir un profesor para impartir cierto cursoiquestDependen soacutelo de la profesioacuten los cursos que puede impartiriquestCoacutemo conocer de antemano las preferencias de los profesoresiquestEl nivel de estudio de los profesores les capacita para impartir cualquier cursoiquestDeben los profesores ser guiados a una especialidad por los programadores dehorarios
Las respuestas a todas estas preguntas incorporadas en un sistema generador de horariosiquestpermitiraacuten hacer una buena asignacioacuten de catedraacutetico a un curso
El condensado de horarios
Es un documento emitido cada semestre por los responsables de la elaboracioacuten de loshorarios que contiene la informacioacuten requerida por los alumnos jefes de departamento ycatedraacuteticos para conocer la distribucioacuten de las materias los grupos las aulas las horasy los catedraacuteticos que impartiraacuten los cursos en otras palabras el condensado de materiases el documento final de los HORARIOS que marcaraacute las acciones de todos el semestreactual
23 El proceso de la elaboracioacuten de horarios
El proceso de la elaboracioacuten de horarios abarca cada accioacuten que es requerida para crearel horario final completo y correcto de los datos iniciales Esto incluye recibir validary dar formato a los datos generar la versioacuten inicial hacer las correcciones y luegoproducir el condensado final de horarios El proceso de la generacioacuten de horariosabarca
bull la generacioacuten del dato de cuantos cursos se van a ofertarbull asignacioacuten de horario a esos cursosbull proporcionar aulas a los cursosbull designar profesores para los cursos definidos
la parte difiacutecil de esto es generar los horarios con los recursos disponibles en cadadepartamento cada etapa tiene sus restricciones (fuertes y suaves) los recursos no soninagotablesEl uso de la computadora
En una encuesta realizada por la Universidad de Nottingham [Burke y Elliman 1998]referente a la forma de elaborar horarios en las demaacutes universidades se encontroacute que un
Capiacutetulo 2 Marco teoacuterico
58 de ellas utilizan la computadora en alguna etapa del proceso de eacutestas el 21 tienela facilidad de realizar la programacioacuten aunque generalmente requieren captura manualde informacioacuten y conocimientos previos del problema particular del proceso El 1tienen paquetes comerciales y el 14 tienen paquetes hechos en casa para generarhorarios y el 2 aseguran que estaacuten desarrollando o comprando un paquete
Dado el tamantildeo de los horarios de dichas universidades es sorprendente que muchas notengan alguna forma de automatizacioacuten Esto se debe en la mayoriacutea de los casos a quelos horarios no cambian significativamente de un antildeo a otro Sin embargo de lasuniversidades que no programan horarios por computadora la mitad usa el horario delantildeo pasado y la otra mitad empiezan desde cero cada vez Cuando no se usa el horariodel antildeo pasado generalmente toma 4 semanas elaborar uno nuevo En la mayoriacutea de loscasos donde se usa la computadora generalmente no se toma en cuenta el horario delantildeo anterior
Causas de cambio de los horarios antildeo tras antildeo
Para que un horario pueda ser usado antildeo tras antildeo debe ser lo suficientemente robustopara que los cambios que ocurran en los datos de entrada produzcan soacutelo una pequentildeaalteracioacuten o modificacioacuten en el condensado final de horarios El uso del condensado delantildeo pasado depende en la cantidad de cambios que deben hacerse y esto a su vezdepende de cuanto cambie la cantidad de grupos que deben ofertarse para cadaasignatura y esto depende de la cantidad de alumnos que pueden cursar una asignaturaahora bien la cantidad de alumnos estaacute en funcioacuten de los iacutendices de aprobacioacuten yreprobacioacuten del periodo de los alumnos que por alguna razoacuten no cursaron unaasignatura y de la cantidad de grupos ofertados el periodo pasado
Si cambia la cantidad de horas frente a grupo asignada a un departamento entoncescambiaraacute el condensado de horarios con respecto al del antildeo pasado porque eso afectadirectamente en la cantidad de cursos que podraacute ofertarse este periodo este es uno de losrecursos maacutes variables que influyen para hacer cambios en los condensados antildeo trasantildeo
La redistribucioacuten de aulas y laboratorios (que no se realiza a menudo) llega tambieacuten ainfluir en los cambios
El cambio de horario matutino a vespertino (o viceversa) solicitado por un catedraacuteticoque es el especialista en impartir cierto curso ocasiona los cambios del condensado dehorarios del antildeo anterior al nuevo
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
CAPIacuteTULO 3
TEacuteCNICAS DE INTELIGENCIA ARTIFICIAL UTILIZADASPARA LA GENERACIOacuteN DE HORARIOS
31 Sistemas Expertos (SE)Bajo el teacutermino de Sistemas Expertos se entiende un nuevo tipo de software que imita elcomportamiento de un experto humano en la solucioacuten de un problema Un SE puedealmacenar conocimientos de expertos para un campo determinado y solucionar unproblema mediante razonamiento loacutegico de conclusiones
Los Sistemas Expertos son sistemas que buscan modelar el conocimiento yprocedimientos usados por un experto humano para resolver un problemadeterminado[Saacutenchez 1999]
iquestUn Sistema Experto utiliza teacutecnicas de la Inteligencia Artificial (IA)
Los Sistemas Expertos son uno de los puntos que componen las investigaciones en elcampo de la IA Un sistema de computadoras que trabaje con teacutecnicas de IA deberaacuteestar en situacioacuten de combinar informacioacuten de forma ldquointeligenterdquo alcanzarconclusiones y justificarlas (al igual que el resultado final) Los Sistemas Expertos sonuna expresioacuten de los sistemas basados en el conocimiento Con la aplicacioacuten de teacutecnicasde Inteligencia Artificial finaliza la transicioacuten del procesamiento de datos alprocesamiento de conocimientos
Un Sistema Experto es un sistema informaacutetico que simula el proceso de aprendizaje dememorizacioacuten de razonamiento de comunicacioacuten y de accioacuten de un experto humano enuna determinada rama o dominio Estas caracteriacutesticas le permiten almacenar datos yconocimiento sacar conclusiones loacutegicas tomar decisiones aprender de la experiencia ylos datos existentes comunicarse con humanos explicar el porqueacute de las decisionestomadas y realizar acciones como consecuencia de todo lo anterior
La incorporacioacuten dentro de un sistema de computadoras de un componente basado enel conocimiento correspondiente a una habilidad experta de tal forma que el sistemapueda ofrecer asesoramiento inteligente o tomar una decisioacuten inteligente sobre unafuncioacuten del proceso Una caracteriacutestica adicional deseable que muchos consideranfundamental es la capacidad del sistema si se le solicita de justificar su propia liacutenea derazonamiento de un modo directamente inteligible para el interrogador El estiloadoptado para alcanzar estas caracteriacutesticas es la programacioacuten basada en reglas[Waterman 1986]
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
311 Funcioacuten de un Sistema Experto
La funcioacuten de un Sistema Experto es aportar soluciones a problemas de un dominioespeciacutefico imitando la forma de razonamiento de los seres humanos es decir el SistemaExperto debe ser capaz de mostrar soluciones inteligentes [Giarratamo 1998]
Acceder a los conocimientos adquiridos por experiencia es lo maacutes difiacutecil ya que losexpertos al igual que otras personas apenas los reconocen como tales Son buscadoscon mucho esfuerzo y cuidado siendo descubiertos de uno en uno poco a poco
Ventajas del Sistema Experto
Experto Humano Experto ArtificialMortal PermanenteDifiacutecil de documentar Faacutecil de documentarDifiacutecil de transferir Faacutecil de transferirImpredecible ConsistenteMaacutes caro Menos caro
Ventajas del Experto Humano
Experto Humano Experto ArtificialCreativo No creativoAdaptable Requiere mantenimientoExperiencia sensorial Entrada simboacutelicaConocimiento de sentido comuacuten Conocimiento teacutecnico
312 Arquitectura de Sistemas Expertos [Gines 1986] [Giarratamo 1998]
La arquitectura general de un SE (Fig 31) estaacute compuesta fundamentalmente de
bull Base de Conocimiento Representa el conocimiento adquirido del expertohumano incluyendo experiencia sentido comuacuten e intuicioacuten
bull Motor de Inferencia Decide que se debe aplicar que se debe hacer resuelveconflictos nuevos hace uso de la base del conocimiento Proporcionamecanismos de razonamiento buacutesqueda aprendizaje etc
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
bull Interfaz Usuario Facilita la comunicacioacuten entre el Sistema Experto y el usuarioque realiza las consultas
bull Subsistema de Adquisicioacuten Mejor conocido como la Interfaz de Expertopermite ingresar el conocimiento a la Base de Conocimientos por parte delhumano experto en alguacuten dominio de conocimiento
bull Subsistema de explicaciones Permite dar a conocer los resultados obtenidospor el Sistema Experto
313 La base de conocimiento
El enfoque maacutes comuacuten para representar el dominio del conocimiento que se requierepara un SE son las reglas de produccioacuten Estas pueden ser referidas como reglasldquosituacioacuten-accioacutenrdquo o ldquoif-thenrdquo De esta forma con frecuencia una base deconocimientos estaacute fraguada principalmente de reglas las cuales son invocadas por uncasamiento de patrones con las particularidades de las tareas circunstanciales que vanapareciendo en la base de hechosLas reglas en una base de conocimientos representan el dominio de hechos y laheuriacutestica de un buen juicio de acciones a tomar cuando uno llega a situacionesespeciacuteficas La fuerza de un SE yace en el conocimiento especiacutefico del dominio delproblema Casi todos los sistemas existentes basados en reglas contienen cientos o milesde ellas y generalmente se obtienen de entrevistas con expertos durante un tiempo largoEn cualquier SE las reglas se conectan una a otra por ligas de asociacioacuten para formar
Base de
Motor de
Subsistema deadquisicioacuten
del
Subsistemade
explicacione
Interfazde
usuario
Ingeniero delconocimiento y experto Usuario
Base de hechos
Figura 31 Arquitectura de un Sistema Experto
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
redes de reglas Una vez que han sido ensambladas tales redes entonces se tiene unarepresentacioacuten de un cuerpo de conocimientos que es sustancial
Generalmente un experto tiene muchas reglas de criterio empiacutericas por lo que el soportesuele ser incompleto para la evidencia que se dispone En tales casos una teacutecnica es la devincular valores numeacutericos a cada regla para indicar el grado de certidumbre que eacutestatiene En la operacioacuten de SE los valores de certidumbre se combinan unos a otros atraveacutes de la red considerando tambieacuten la certidumbre de los datos de entrada delproblema para llegar finalmente a un valor de certidumbre de la solucioacuten final
314 El motor de inferencias
El sistema experto modela el proceso de razonamiento humano con un moacutedulo conocidocomo el motor de inferencia Dicho motor de inferencia trabaja con la informacioacutencontenida en la base de conocimientos y la base de hechos para deducir nuevos hechosContrasta los hechos particulares de la base de hechos con el conocimiento contenido enla base de conocimientos para obtener conclusiones acerca del problemaEl modelo de problema - solucioacuten y sus meacutetodos organizan y controlan las etapas que sevan tomando para la resolucioacuten de problemas Un modelo muy poderoso y comuacuten es elde encadenar las reglas `` if-then-else con el fin de formar alguna liacutenea derazonamiento Si el encadenamiento se inicia a partir de un conjunto de condiciones y semueve hacia alguna conclusioacuten el meacutetodo se llama encadenamiento hacia adelante y ensu caso contrario el encadenamiento es hacia atraacutes
Un problema de encadenamiento hacia adelante sin una apropiada heuriacutestica de podaderivaraacute muchas soluciones de las cuales no todas son necesarias En el caso deencadenamiento hacia atraacutes es necesario tambieacuten trabajar con una heuriacutestica apropiadacon la finalidad de poder manejar submetas conjuntivas En general para atacar elproblema de conjuncioacuten es necesario encontrar un caso en donde todas las submetasinteractuantes se satisfagan Pero con frecuencia una buacutesqueda de tal naturaleza nos dauna explosioacuten combinatoria de posibilidades Es por esta razoacuten que el dominioapropiado de la heuriacutestica y su esquema inferencial deberaacuten ser encontrados para cadatipo de problemas para que de esta manera se tenga un SE eficaz y eficiente
315 iquestPor queacute utilizar un Sistema Experto [Pluss 1999] [Sanchez 1999]
1 Con la ayuda de un Sistema Experto personas con poca experiencia pueden resolverproblemas que requieren un conocimiento formal especializado
2 Los Sistemas Expertos pueden obtener conclusiones y resolver problemas de formamaacutes raacutepida que los expertos humanos
3 Los Sistemas Expertos razonan pero basaacutendose en un conocimiento adquirido y notienen sitio para la subjetividad
Capiacutetulo 2 Marco teoacuterico
4 El uso de Sistemas Expertos es especialmente recomendado en las siguientessituaciones
bull Cuando los expertos humanos en una determinada materia son escasos
bull En situaciones complejas donde la subjetividad humana puede llevar aconclusiones erroacuteneas
bull Cuando es muy elevado el volumen de datos que ha de considerarse paraobtener una conclusioacuten
316 Construccioacuten de prototipos [Turban 1995]
En el desarrollo de Sistemas Expertos se plantean dos importantes riesgos
1- No existen implementaciones similares que puedan servir de orientacioacuten al encargadodel desarrollo en la casi totalidad de los casos
2- En muchos puntos los requisitos necesarios estaacuten esbozados con muy poca precisioacuten
El disentildeo y la especificacioacuten requieren una temprana determinacioacuten de la interfaz delsoftware y de la funcionalidad de los componentes En el desarrollo de SistemasExpertos deben alterarse a menudo durante y tambieacuten despueacutes de su implementacioacuten yaque los requisitos se han ido configurando y han obtenido mayor precisioacuten o porque seha descubierto que deben iniciarse otras viacuteas de solucioacuten Durante el desarrollo resultamaacutes apropiado empezar con implementaciones tipo test para encontrar el camino haciauna solucioacuten definitiva y para hacerlas coincidir con las necesidades del usuario
32 Algoritmos Geneacuteticos
321 Antecedentes [Medina 2004] [Goldberg 1989] [Davis 1991]
El Algoritmo Geneacutetico es una teacutecnica de buacutesqueda basada en la teoriacutea de la evolucioacutende Darwin que ha cobrado tremenda popularidad en todo el mundo durante los uacuteltimosantildeos
Esta teacutecnica se basa en los mecanismos de seleccioacuten que utiliza la naturaleza de acuerdoa los cuales los individuos maacutes aptos de una poblacioacuten son los que sobreviven al
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
adaptarse maacutes faacutecilmente a los cambios que se producen en su entorno Hoy en diacutea sesabe que estos cambios se efectuacutean en los genes de un individuo (unidad baacutesica decodificacioacuten de cada uno de los atributos de un ser vivo) y que sus atributos maacutesdeseables se transmiten a sus descendientes cuando eacuteste se reproduce sexualmente
En 1859 Darwin publica su libro laquoEl origen de las especiesraquo El libro causoacute una granpoleacutemica en el mundo cientiacutefico por las revolucionarias teoriacuteas en eacutel contenidas que lasespecies evolucionan acorde al medio para adaptarse a eacuteste Con ello el universopasaba de ser una creacioacuten de Dios estaacutetica y perfecta desde su inicio a un conjunto deindividuos en constante competicioacuten y evolucioacuten para poder perpetuar su especie en eltiempo La existencia de una especie pasa asiacute a ser algo dinaacutemico las especies se creanevolucionan y desaparecen si no se adaptan Para cada especie animal la naturalezaproponiacutea un crudo filtro soacutelo los mejores los maacutes aptos los que mejor se adapten almedio conseguiacutean sobrevivir lo suficiente para llegar a la madurez y encontrar unapareja para perpetuar sus aptitudes que le haciacutean maacutes apto
La informaacutetica ve aquiacute un claro proceso de optimizacioacuten Se toman los individuos mejoradaptados (mejores soluciones temporales) se cruzan (se mezclan ) generando nuevosindividuos (nuevas soluciones) que contendraacuten parte del coacutedigo geneacutetico (informacioacuten)de sus dos antecesores y por lo tanto aunque el nuevo individuo no tenga que estarforzosamente mejor adaptado de hecho puede que ni la probabilidad de que el nuevoindividuo generado esteacute mejor adaptado que los padres sea alta el promedio de laadaptacioacuten de toda la poblacioacuten si mejora ya que tienden a perpetuarse y extenderse lasmejores caracteriacutesticas y a extinguirse las poco beneficiosas o perjudiciales En losAlgoritmos Geneacuteticos se crea una nueva abstraccioacuten -la poblacioacuten- cuya funcioacuten decoste mejoraraacute globalmente por lo que puede que se encuentre alguacuten individuo conmejores caracteriacutesticas
Un investigador de la Universidad de Michigan llamado John Holland era consciente dela importancia de la seleccioacuten natural y a fines de los antildeos 60 desarrolloacute una teacutecnica quepermitioacute incorporarla a un programa Su objetivo era lograr que las computadorasaprendieran por siacute mismas A la teacutecnica que inventoacute Holland se le llamoacute originalmentePlanes Reproductivos pero se hizo popular bajo el nombre Algoritmo Geneacutetico trasla publicacioacuten de su libro en 1975
En esa universidad Holland impartiacutea un curso titulado Teoriacutea de sistemas adaptativosDentro de este curso y con una participacioacuten activa por parte de sus estudiantes fuedonde se crearon las ideas que maacutes tarde se convertiriacutean en los Algoritmos GeneacuteticosLos objetivos de su investigacioacuten fueron dos
Imitar los procesos adaptativos de los sistemas naturales y Disentildear sistemas artificiales (normalmente programas) que retengan los mecanismos
importantes de los sistemas naturales
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
Unos 15 antildeos maacutes adelante David Goldberg actual delfiacuten de los Algoritmos Geneacuteticosconocioacute a Holland y se convirtioacute en su estudiante Golberg era un ingeniero industrialtrabajando en disentildeo de tuberiacuteas y fue uno de los primeros que tratoacute de aplicar losAlgoritmos Geneacuteticos a problemas industriales Aunque Holland tratoacute de disuadirleporque pensaba que el problema era excesivamente complejo Goldberg consiguioacute loque queriacutea escribiendo un Algoritmo Geneacutetico en una computadora personal Apple IIEstas y otras aplicaciones creadas por estudiantes de Holland convirtieron a losAlgoritmos Geneacuteticos en un campo con base suficiente como para celebrar la primeraconferencia en 1985 ICGAacute85 Tal conferencia se sigue celebrando bianualmente[Beasley 1993]
Una definicioacuten bastante completa de un Algoritmo Geneacutetico es la propuesta por JohnKoza es un algoritmo matemaacutetico altamente paralelo que transforma un conjunto deobjetos matemaacuteticos individuales con respecto al tiempo usando operaciones modeladasde acuerdo al principio Darwiniano de reproduccioacuten y supervivencia del maacutes apto y trashaberse presentado de forma natural una serie de operaciones geneacuteticas de entre las quedestaca la recombinacioacuten sexual Cada uno de estos objetos matemaacuteticos suele ser unacadena de caracteres (letras o nuacutemeros) de longitud fija que se ajusta al modelo de lascadenas de cromosomas y se les asocia con una cierta funcioacuten matemaacutetica que refleja suaptitud [Koza 1992] 322 Definicioacuten de AG
Los Algoritmos Geneacuteticos (AG) son meacutetodos adaptativos que pueden usarse pararesolver problemas de buacutesqueda y optimizacioacuten Estaacuten basados en el proceso geneacutetico delos organismos vivos A lo largo de las generaciones las poblaciones evolucionan en lanaturaleza de acorde con los principios de la seleccioacuten natural y la supervivencia de losmaacutes fuertes postulados por Darwin Por imitacioacuten de este proceso los AlgoritmosGeneacuteticos son capaces de ir creando soluciones para problemas del mundo real Laevolucioacuten de dichas soluciones hacia valores oacuteptimos del problema depende en buenamedida de una adecuada codificacioacuten de las mismas [Goldberg 1989]
Un Algoritmo Geneacutetico consiste en una funcioacuten matemaacutetica que toma como entradas alos ejemplares y retorna como salidas cuaacuteles de ellos deben generar descendencia para lanueva generacioacuten
Los Algoritmos Geneacuteticos presentan ventajas sobre otros algoritmos que los hacenpreferibles para determinado tipo de aplicaciones Algunas de las caracteriacutesticas de losAlgoritmos Geneacuteticos son
bull Son algoritmos estocaacutesticos Dos ejecuciones distintas pueden dar dos solucionesdistintas Esto es uacutetil por el hecho de que hay gran cantidad de isoacutemeros que
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
corresponden a soluciones vaacutelidas por lo que es interesante que distintas ejecucionespuedan dar isoacutemeros distintos
bull Son algoritmos de buacutesqueda muacuteltiple luego dan varias soluciones Aunquehabitualmente la energiacutea de los individuos de la poblacioacuten final es similar losindividuos suelen ser distintos entre si Con el modelo de paralelizacioacuten empleado -geneacutetico multipoblacional- la probabilidad de obtener muchas soluciones distintas esmaacutes alta todaviacutea
bull Son los algoritmos que hacen una barrida mayor al subespacio de posiblessoluciones vaacutelidas De hecho se considera que de todos los algoritmos deoptimizacioacuten estocaacutesticos los Algoritmos Geneacuteticos son de los maacutes exploratoriosdisponibles
323 Ventajas y Desventajas [Bull 1993]
bull No necesitan conocimientos especiacuteficos sobre el problema que intentan resolverbull Operan de forma simultaacutenea con varias soluciones en vez de trabajar de forma
secuencial como las teacutecnicas tradicionalesbull Cuando se usan para problemas de optimizacioacuten de una funcioacuten objetivo- resultan
menos afectados por los oacuteptimos locales (falsas soluciones) que las teacutecnicastradicionales
bull Usan operadores probabiliacutesticos en vez de los tiacutepicos operadores determiniacutesticos delas otras teacutecnicas
bull La mayoriacutea de las otras teacutecnicas de optimizacioacuten son tambieacuten estocaacutesticasbull Pueden tardar mucho en converger o no converger en absoluto dependiendo en
cierta medida de los paraacutemetros que se utilicen tamantildeo de la poblacioacuten nuacutemero degeneraciones etc-
bull Pueden converger prematuramente debido a una serie de problemas de diversaiacutendole
324 iquestCoacutemo saber si es posible usar un Algoritmo Geneacutetico
La aplicacioacuten maacutes comuacuten de los Algoritmos Geneacuteticos ha sido la solucioacuten de problemasde optimizacioacuten en donde han mostrado ser muy eficientes y confiables Sin embargono todos los problemas pudieran ser apropiados para la teacutecnica y se recomienda engeneral tomar en cuenta las siguientes caracteriacutesticas del mismo antes de intentar usarlabull Su espacio de buacutesqueda (ie sus posibles soluciones) debe estar delimitado dentro
de un cierto rangobull Debe poderse definir una funcioacuten de aptitud que indique que tan buena o mala es
una cierta respuestabull Las soluciones deben codificarse de una forma que resulte relativamente faacutecil de
implementar en la computadora
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
Decisiones para implementar un Algoritmo Geneacutetico [Michalewicz 1992]
Las decisiones que hay que tomar para implementar un Algoritmo Geneacutetico son
bull Criterio de codificacioacuten Coacutemo se va a almacenar la informacioacuten en el genomabull Criterio de tratamiento de individuos no factibles Coacutemo se van a tratar a los
individuos que no cumplan las restriccionesbull Criterio de inicializacioacuten Coacutemo se va a construir la poblacioacuten inicialbull Criterio de parada Determina cuaacutendo el algoritmo ha llegado a una solucioacuten
aceptablebull Funcioacuten de adaptacioacuten Corresponde a la funcioacuten de costo de la investigacioacuten
operativa tradicionalbull Operadores geneacuteticos Se emplean para determinar coacutemo va a ser la nueva
generacioacuten Baacutesicamente son los operadores de cruce y mutacioacuten aunque pueden serempleados otros adicionales -muerte aborto envejecimiento- Tanto cruce comomutacioacuten pueden ser realizados de muchas formas distintas
bull Criterios de reemplazo Los criterios que determinan quieacutenes se van a cruzar Notienen que ser obligatoriamente los mismos que los criterios de seleccioacuten de lospadres
bull Paraacutemetros de funcionamiento Determinados paraacutemetros que sin poder serenglobados en ninguno de los anteriores son fundamentales para el funcionamientode un Algoritmo Geneacutetico Es el caso por ejemplo del tamantildeo de la poblacioacuten laprobabilidad de la aplicacioacuten de los operadores geneacuteticos etc
325 Paraacutemetros que deben ser especificados en el programa
Nordm de generaciones cantidad de veces que se produce una nueva generacioacuten deindividuos utilizando las reglas anteriormente explicadas Por loacutegica cuantas maacutesgeneraciones se produzcan se obtendraacuten mejores individuosNordm de individuos por generacioacuten en este ejemplo la cantidad de individuos de unageneracioacuten a otra es constante no variacuteaNordm de entrenamientos cantidad de veces que se lleva a cabo un entrenamiento entrediferentes generaciones de individuos
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
Fig 32 Pseudocoacutedigo del Algoritmo Geneacutetico simple
Los Algoritmos Geneacuteticos son una poderosa herramienta de propoacutesito general deoptimizacioacuten que modela los principios de la evolucioacuten [Burke 1994]
El proceso es el siguiente
1 Una poblacioacuten random de horarios factibles es creada Cada horario es evaluado deacuerdo a una conjunto de criterios (por ejemplo el tamantildeo del horario cuantosgrupos son colocados a la misma hora y en el mismo saloacuten cuantos salones hayvaciacuteos)
2 Los horarios son seleccionados de manera aleatoria para ser las bases de la proacuteximageneracioacuten Los buenos horarios son maacutes deseables que los malos En las bases dela evaluacioacuten de estos miembros de la poblacioacuten (horarios factibles) se escogen lospadres de la proacutexima generacioacuten de horarios Evaluando numeacutericamente durante elproceso de seleccioacuten buscando los mejores horarios los peores horarios soneliminados al mismo tiempo que la buacutesqueda se dirige hacia las aacutereas maacutespromisorias del espacio de soluciones
3 El Operador Mutacioacuten se aplica generalmente a un solo miembro de la poblacioacuten einvolucra el cambio aleatorio de la hora o aula de algunos grupos despueacutesalmacena el nuevo horario siempre manteniendo un horario factible Esto agrega
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
un elemento que permite tambieacuten introducir material geneacutetico uacutetil que ha sidoperdido en otros horarios en las primeras generaciones
4 El Operador de Cruzamiento toma una pareja de horarios y los combina de algunamanera para producir uno o dos nuevos horarios esto se hace generalmente deforma aleatoria seleccionando algunos grupos de la mantildeana de un miembro de lapoblacioacuten y los algunos grupos de la tarde de otro miembro para producir un nuevohorario cualquier grupo que no pueda ser colocado de esta manera se manda alperiodo siguiente disponible
5 La nueva poblacioacuten es generada El proceso seraacute repetido hasta que una buenasolucioacuten sea generada
33 Programacioacuten Loacutegica de Restricciones (PLR)
331 Antecedentes de la PLR
La Programacioacuten Loacutegica de Restricciones (PLR) es una teacutecnica que tiene mucho encomuacuten con los algoritmos de asignacioacuten heuriacutestica Dechter describe asiacute el problemade la satisfaccioacuten de restricciones ldquoUn problema de satisfaccioacuten de restricciones (PSR)es representado por una red de restricciones consistente en un conjunto de n variablesX1 Xn con sus respectivos valores de dominio RR n y un conjunto derestricciones Una restriccioacuten Ci (Xi1Xij)es un subconjunto del producto cartesiano Ri1 x x R i1 formado por todas las tuplas de valores para un subconjunto(X i1X ij) delas variables que son compatibles unas con otrasrdquo [Detcher 1990]
Una solucioacuten de la red es una asignacioacuten de valores a todas las variables de tal formaque todas las restricciones son satisfechasrdquo Esta es una representacioacuten maacutes poderosaque el modelo de los Grafos Coloreados porque puede representar restricciones mascomplejas El problema de los grafos coloreados es equivalente a un PLR binario en lacual cada restriccioacuten soacutelo tiene dos variables
Este modelo se resuelve tratando de asignar valores a cada una de las variables encuestioacuten y entonces regresando si se encuentra en un punto muerto y quitandorestricciones si se descubre que no se puede encontrar solucioacuten El orden en el que lasvariables son seleccionadas y el orden de los valores que son asignados a las variablespuede ser alterado para tratar aumentar la velocidad de buacutesqueda
La PLR es un meacutetodo que permite el disentildeo raacutepido de prototipos de resolucioacuten deproblemas complejos Las principales aportaciones en esta liacutenea se centran en eldesarrollo de programas que incluyen conjuntos de restricciones adaptadas a unadeterminada familia de problemas asiacute como al disentildeo formal e implementacioacuten demodelos de interpretacioacuten en paralelo con el fin de mejorar la eficiencia del proceso
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
deductivo El objetivo final es disponer de sistemas de resolucioacuten implementados paraapoyar la creacioacuten de sistemas donde la explosioacuten combinatoria de los elementos de unproblema hace muy difiacutecil la buacutesqueda de una solucioacuten en un tiempo razonable [Farion1992]
En esta seccioacuten se proporciona una breve introduccioacuten de la Programacioacuten Loacutegica conRestricciones y sus aplicaciones dentro del marco general de la programacioacuten loacutegica Setrata eacuteste de un campo que ha tenido una notable expansioacuten debido a su potencialaplicacioacuten praacutectica dado que el anaacutelisis de las restricciones permite mejorarconsiderablemente la eficiencia del caacutelculo de determinadas funciones
332 Restricciones
En primer lugar se empieza por contestar la pregunta iquestQueacute es una restriccioacuten Estacuestioacuten se puede responder tan brevemente como escribe Roman Bartak[1998]Una restriccioacuten es simplemente una relacioacuten loacutegica entre varias variablesdesconocidas tomando cada una un valor dentro de un dominio determinado (peA+B=C-el circulo estaacute dentro del cuadrado- etc)Asiacute las restricciones aparecen de forma natural en todos los campos del conocimientohumano La suma de los aacutengulos de un triaacutengulo es 180 grados es un ejemplo derestriccioacuten que aparece en el mundo real De hecho las restricciones son el medionatural en el que las personas expresamos los problemas en todas las aacutereas
Con la explicacioacuten dada se ve de forma natural que las restricciones gozan de variaspropiedades interesantes
bull las restricciones pueden especificar informacioacuten parcial es decir en lasrestricciones no hace falta que se den de forma uacutenica los valores de sus variables
bull las variables son no direccionales es decir en una restriccioacuten tiacutepica sobre dosvariables (XY) se puede inferir una restriccioacuten sobre X dada una restriccioacutensobre Y y viceversa
bull las restricciones son declarativas es decir se puede especificar que relacioacutendeben mantener sin especificar el procedimiento computacional que implementeesa relacioacuten
bull las restricciones son aditivas es decir el orden de imposicioacuten de las restriccionesno importa todo lo que importa al fin y al cabo es la conjuncioacuten de restriccionesy su efecto
bull las restricciones no suelen ser independientes normalmente restricciones dentrodel conjunto total de restricciones comparte variables
Asiacute siguiendo esta idea el objetivo de la Programacioacuten Loacutegica con Restricciones essustituir el proceso de unificacioacuten por la resolucioacuten de restricciones sobre un dominio
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
particular de intereacutes Con esta visioacuten se considera que el procesador de restriccionesdebe encargarse de comprobar la consistencia del conjunto de restricciones y dentro delo posible reducirlo a alguna forma normal
Seguacuten Elmohamed [Elmohamed 1998] las restricciones pueden ser divididas en trestipos fuertes medias y suaves
Restricciones fuertes Son todas aquellas que deben ser cumplidas obligatoriamente elcosto de no cumplir estas restricciones es sumamente alto y por lo tanto en un horariofactible su costo asociado por incumplimiento debe ser cero Por ejemplo (en unproblema real se pueden encontrar de 10 a 15 restricciones fuertes)
bull Dos o maacutes clases impartidas por un profesor no se pueden programar a lamisma hora
bull Una clase teoacuterica y su laboratorio no se pueden programar a la misma hora en elmismo diacutea
bull Una clase no se puede programar en un aula a menos que su capacidad seamayor al nuacutemero de alumnos inscritos
Restricciones medias Estas restricciones no se refieren a conflictos de tiempo perotienen asociado un alto costo a ellas sin embargo este costo no es tan alto como el de lasrestricciones fuertes En el condensado de horarios final el costo de estas restriccioneses minimizado y es deseable reducirlo a cero Por ejemplo (en un problema real sepueden tener entre 20 y 25 restricciones medias)
bull Para cada estudiante el balancear las secciones LunMieVie y MarJuebull Balancear o distribuir y equilibrar las horas de clase en la semanabull Las clases pueden requerir periodos de tiempo contiguosbull Las clases se pueden agrupar con otras clases formando paquetesbull Los horarios particulares deben tener la menor cantidad de ldquohoyosrdquo posible esto
es que las clases deben ser consecutivas unas despueacutes de otras
Restricciones suaves Estas restricciones no tienen nada que ver con conflictos detiempo y tienen un bajo costo asociado a ellas Tambieacuten en el condensado de horariosfinal este costo es minimizado pero no necesariamente debe ser cero Por ejemplo (sepueden tener entre 30 y 40 restricciones suaves)
bull Balancear la inscripcioacuten en cursos de varios paquetesbull Especificar la hora de comida y otros periodos de descansobull Los catedraacuteticos pueden requerir periodos de tiempo sin clasebull No inscribir alumnos-atletas en cursos que tengan conflicto con sus horas de
praacutectica deportiva etc
333 Sistemas con RestriccionesUna manera maacutes formal de definir las restricciones es considerarlas como una foacutermulade primer orden interpretada en una estructura para asiacute tener en cuenta la semaacutenticaparticular del sistema de restricciones Esta semaacutentica declarativa es adecuada cuando
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
existe a priori una estructura que se adecua al sistema de restricciones (pe Los realespara las restricciones aritmeacuteticas) pero esto no funciona demasiado bien para lossistemas de restricciones maacutes praacutecticos (pe Dominios finitos) Obviamente no se puededireccionar ninguacuten caacutelculo operacional relacionado con el propio procesador de lasrestricciones [Elmohamed 2001]
334 Referencia Histoacuterica de las RestriccionesLas restricciones como un aacuterea de trabajo que combina investigacioacuten de un gran nuacutemerode campos incluyendo Inteligencia Artificial Lenguajes de Programacioacuten CaacutelculoSimboacutelico y Loacutegica Computacional Las restricciones sobre redes y los problemas desatisfabilidad con restricciones empezaron a estudiarse por los investigadores deInteligencia Artificial en los antildeos 70
La programacioacuten con restricciones ha sido aplicada con notable eacutexito en numerososcampos Los trabajos en esta aacuterea se remontan a la investigacioacuten de InteligenciaArtificial y Representacioacuten Graacutefica por Computadora por los antildeos 60 y 70 En la uacuteltimadeacutecada sin embargo ha empezado a darse una mayor conciencia de que las restriccionesproporcionan las bases para un potente acercamiento a la programacioacuten modelado yresolucioacuten de problemas y que los diferentes esfuerzos por explotar estas ideas puedenser unidos bajo el mismo prisma conceptual y praacutectico la programacioacuten conrestricciones
Entre los dominios tratados por los sistemas de Programacioacuten Loacutegica con Restriccioneslos que maacutes ampliamente son investigados son sin duda los dominios finitos losnuacutemeros reales y racionales con restricciones aritmeacuteticas y los booleanos De hecho 3de los principales lenguajes de Programacioacuten Loacutegica con Restricciones son un claroejemplo de esta tendencia CHIP que proporciona restricciones sobre dominios finitosracionales y booleanos PrologIII que incluye racionales booleanos y listas y PLR(R)que maneja restricciones sobre reales
En la actualidad se pueden observar dos ramas principales en los avances en laprogramacioacuten con restricciones que parten de diferente base y por tanto usan diferentemetodologiacutea para resolver las restricciones Estas dos ramas son
bull Satisfaccioacuten de Restriccionesbull Resolucioacuten de Restricciones
335 Satisfaccioacuten de RestriccionesLa satisfaccioacuten de restricciones parte de los avances en Inteligencia Artificial (problemascombinatorios) y los Graacuteficos por computadora (sistema de SKETCHPAD[1963]expresando coherencia geomeacutetrica en el caso de anaacutelisis de escenas)
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
336 Resolucioacuten de RestriccionesLa resolucioacuten de restricciones difiere de la satisfaccioacuten de restricciones porque usavariables con dominios infinitos Ademaacutes las restricciones individuales son maacutescomplicadas por ejemplo ecuaciones no lineales En consecuencia los algoritmos deresolucioacuten de restricciones usan meacutetodos algebraicos y numeacutericos en vez decombinaciones y buacutesqueda Sin embargo existe metodologiacutea para discretizar losdominios infinitos en un nuacutemero finito de componentes y entonces se aplican lasteacutecnicas de Satisfaccioacuten de Restricciones
La programacioacuten con restricciones ha sido aplicada con eacutexito en numerosos campos Lasaplicaciones recientes incluyen [Detcher 1990]
bull Graacuteficos por Computadorabull Procesamiento del Lenguaje Natural (construccioacuten de analizadores eficientes)bull Sistemas de Bases de Datos (para reforzar yo mantener la consistencia de los
datosbull Problemas de Investigacioacuten Operativa (como la optimizacioacuten de problemas)bull Biologiacutea Molecular (secuenciacioacuten de ADN)bull Aplicaciones de Empresabull Ingenieriacutea Eleacutectrica (localizacioacuten de fallos)bull Disentildeo de Circuitos (para computar configuraciones)bull Planificacioacuten y organizacioacutenbull Configuracioacutenbull Juegosbull Configuracioacuten de horariosbull Criptoaritmeacuteticabull Coloreado de Grafosbull Razonamiento de hipoacutetesis quiacutemicas
En esta seccioacuten se va a dedicar una parte a cada una las aplicaciones maacutes estudiadas
337 Organizacioacuten de Proyectos
El problema de la Organizacioacuten es el proceso de asignar actividades a recursos en eltiempo En el caso general de organizacioacuten es un proceso de tomar decisiones donde sepueden tomar dos tipos de decisiones
bull Decisiones de situar temporalmente Cuaacutendo deberiacutea empezar cada actividadbull Decisiones de asignacioacuten de recursos Con queacute recursos deberiacutea ejecutarse cada
actividad
Los problemas de organizacioacuten y de asignacioacuten de recursos estaacuten basados enrestricciones Diferentes restricciones pueden afectar a la organizacioacuten la duracioacuten de
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
una actividad las fechas de contrato restricciones precedentes tiempos de transferenciao de inicio de la actividad la capacidad de los recursos y el reparto de recursos
La relajacioacuten de las restricciones principales caracteriza la calidad de los problemas deorganizacioacuten Estas restricciones son las relacionadas con fechas de entregaproductividad periodicidad de los cambios de herramientas niveles de inventariomargen de tiempo etc Algunas de estas restricciones pueden ser combinadas en lafuncioacuten de evaluacioacuten para la optimizacioacuten
Las aplicaciones industriales de las teacutecnicas de resolucioacuten de restricciones a losproblemas del tipo de asignacioacuten de tareas incluye[Detcher 1990]
bull Organizacioacuten de la produccioacutenbull Organizacioacuten y planificacioacuten del transporte y la logiacutesticabull Administracioacuten del traacuteficobull Disentildeo de horarios de recursos y de hombresbull Asignacioacuten de plantilla incluyendo aplicaciones de ingenieriacutea de organizacioacutenbull Problemas de empaquebull Configuracioacuten de maacutequinas
Claramente hay muchos problemas relacionados en el aacuterea de la organizacioacuten en lapraacutectica para los sistemas comerciales e industriales reales los liacutemites entre unos y otrosno estaacuten claros Es difiacutecil encontrar alguacuten problema real que se ajuste a un modelopreconcebido sin tener que descartar partes del problema y aproximar otras asiacute que hayque tomar estos modelos con amplio margen de aproximacioacuten
Otra complicacioacuten es el tema de la optimizacioacuten En algunos casos el usuario estaacutesatisfecho soacutelo con tener una manera automaacutetica de tener la respuesta pero la mayoriacuteaquieren tener al menos una buena respuesta y algunos el mejor resultado posible Perodebido a la gran complejidad combinatoria de la mayoriacutea de los problemas reales deorganizacioacuten una optimizacioacuten real es muy difiacutecil asiacute que en la mayoriacutea de los casos seusa la programacioacuten con restricciones en combinacioacuten con otras teacutecnicas tales comoAlgoritmos Geneacuteticos para dar soluciones casi oacuteptimas en un tiempo razonable
Normalmente los problemas de organizacioacuten se presentan usando variables conrestricciones fuertes y restricciones suaves Estas pueden ser agrupadas en la abstraccioacutendel problema de organizacioacuten Asiacute tiacutepicamente el tiempo de comienzo y fin y laduracioacuten de cada actividad se representan por variables con restricciones Los dominiosde estas variables son el rango de tiempo de intereacutes en la organizacioacuten requerida
Capiacutetulo 4 Anaacutelisis y Disentildeo
CAPIacuteTULO 4
ANAacuteLISIS Y DISENtildeO
41 Recopilacioacuten de informacioacuten
bull Documentos recopilados
bull Cataacutelogo de asignaturas prerrequisitos y semestrebull Cataacutelogo de aulas y su capacidadbull Cataacutelogo de catedraacuteticos horas disponiblesbull Mapa reticular de la carrerabull Reporte de grupos abiertos en periodo actualbull Reporte de alumnos por grupo en periodo actualbull Reporte de alumnos no inscritos por materia y semestrebull Reporte de simulacioacuten (si todos aprobaran sus cursos)bull Reporte del iacutendice de reprobacioacuten del semestre anteriorbull Encuesta aplicada para determinar los conocimientos requeridos
para impartir una materiabull Encuesta aplicada para obtener los conocimientos de cada
catedraacuteticobull Aacuterbol de conocimiento realizado para determinar los grupos por
abrir de cada asignaturabull Aacuterbol de conocimiento del perfil de las asignaturasbull Aacuterbol de conocimiento del perfil de los catedraacuteticosbull Aacuterbol de conocimiento de los criterios de apertura de materia
bull El proceso de la elaboracioacuten de los horarios
1 Elaboracioacuten de los reportes estadiacutesticos del periodo actual(grupos abiertos alumnos por grupo alumnos no inscritos pormateria simulacioacuten iacutendice de reprobacioacuten)
2 Caacutelculo de la estimacioacuten de alumnos por materia del proacuteximoperiodo
3 Caacutelculo del nuacutemero de grupos por materia requeridos para elproacuteximo periodo
4 Ajuste de los grupos por materia requeridos para el proacuteximoperiodo
5 Formacioacuten de los grupos en paquetes por semestre6 Asignacioacuten de hora y aula a los grupos
Capiacutetulo 4 Anaacutelisis y Disentildeo
7 Seleccioacuten de catedraacutetico al grupo y viceversa8 Ajustes en hora aula y catedraacutetico por grupo9 Elaboracioacuten del reporte condensado para publicacioacuten de horarios10 Elaboracioacuten de los reportes de grupos sin maestro maestros con
horas disponibles grupos sin aula
Para elaborar los horarios de los grupos y maestros un semestre determinado se tienenen consideracioacuten los siguientes elementos
bull El estadiacutestico de Servicios Escolares (SE)El departamento de SE cuenta con un sistema que registra todo el historial acadeacutemicode los alumnos inscritos en el ITZ las materias cursadas y sus calificaciones lasdiferentes carreras con su retiacutecula de asignaturas y sus prerrequisitos los grupos delsemestre actual la cantidad de alumnos en cada grupo de una asignatura los iacutendicesde reprobacioacuten de semestres anteriores las materias que puede cursar un alumno elproacuteximo semestre etceacutetera Toda esta informacioacuten plasmada en reportesdiferentes es la base para la generacioacuten de los horarios del proacuteximo semestre
bull Los grupos requeridosSobre la base de operaciones aplicadas a la informacioacuten estadiacutestica se obtiene lacantidad de grupos requeridos para abrirse el proacuteximo semestre este nuacutemero degrupos es la cantidad oacuteptima con la que se podraacuten inscribir los alumnos sin tenerproblemas de falta de espacio el alterar disminuyendo o aumentando el nuacutemero degrupos requeridos puede ocasionar alumnos con carga crediticia menor a lareglamentaria o que existan grupos con menos de 10 alumnos respectivamente
bull Las aulasEl ITZ cuenta con 52 aulas repartidas entre las 8 carreras a cada coordinador decarrera se le asigna determinado numero de aulas para su administracioacuten asiacute que alasignar el aula a cada grupo debe cuidar la correcta distribucioacuten de los grupos en loshorarios correspondientes y que la capacidad de las aulas no rebase el numero dealumnos inscritos
bull Los maestros y departamentosCada departamento esta formado por un jefe y los catedraacuteticos que forman laacademia de cada carrera los profesores pueden ser de tiempo completo frac34 y frac12tiempo o profesores de asignatura cada uno tiene un horario predeterminado en turnomatutino o vespertino los catedraacuteticos de un departamento cubren las asignaturas desu carrera y apoyan a otras carreras a cubrir las materias que tienen el perfil de esaacademia los catedraacuteticos son uno de los recursos mas difiacuteciles de controlar
Restricciones propias de los profesores
o Materia no tiene maestro
o Maestro tiene horas disponibles
Capiacutetulo 4 Anaacutelisis y Disentildeo
o Maestro tiene materias preferencia
o Maestro ha impartido materia
o Maestro solicita materia
o Maestro tiene restricciones de nuacutemero de materias a impartir
o Restriccioacuten no pueden darse maacutes de tres materias diferentes
o Maestro tiene una profesioacuten
o Maestro tiene un perfil
o Maestro tiene un aacuterea definida
o Maestro prefiere materias especialidad
o Maestro prefiere materias semestres iniciales
bull Las materias o asignaturasEn cada carrera se tiene un mapa reticular que tiene las materias de cada semestre elnombre los creacuteditos las horas de teoriacutea y praacutectica las ligas con los prerrequisitos lasmaterias de la especialidad seleccionada etc
Restricciones propias de las asignaturas
o Materia de 1deg semestre
o Materia de 2deg semestre
o Materia de 3deg semestre
o Materia de 4deg semestre
o Materia de 5deg semestre
o Materia de 6deg semestre
o Materia de 7deg semestre
o Materia de 8deg semestre
o Materia de 9deg semestre
o Materia de especialidad
o Materia tiene prerrequisito
o Materia es de baacutesicas
o Materia requiere conocimientos de Base de Datos
o Materia requiere conocimientos de Electroacutenica
o Materia la puede impartir cualquier maestro
Capiacutetulo 4 Anaacutelisis y Disentildeo
o Materia requiere conocimientos de Redes
o Materia requiere ser impartida por ingeniero
o Materia tiene complejidad alta
o Materia debe ser impartida por catedraacutetico con grado de maestriacutea
o Materia requiere conocimientos de Arquitectura de Computadoras
o Materia no tiene cadenas
o Materia de Administracioacuten
o Materia de Ingenieriacutea Industrial
o Materia requiere conocimientos de Aacutelgebra
o Materia requiere conocimientos de Caacutelculo Diferencial e Integral
o Materia requiere conocimientos de Quiacutemica Inorgaacutenica y Orgaacutenica
o Materia requiere una elaboracioacuten de proyectos
bull Las carrerasLas 8 carreras que se imparten en el ITZ son ordenadas por nuacutemero de alumnos
1 Ingenieriacutea en Sistemas Computacionales2 Licenciatura en Informaacutetica3 Licenciatura en Administracioacuten4 Ingenieriacutea Civil5 Ingenieriacutea Electromecaacutenica6 Ingenieriacutea Industrial7 Ingenieriacutea Quiacutemica8 Ingenieriacutea Bioquiacutemica
bull Los horarios de grupoUna vez determinados los grupos requeridos para el proacuteximo semestre se procede a laasignacioacuten de horario de acuerdo al nuacutemero de horas teoacuterico-praacutecticas se le asignaaula y un catedraacutetico responsable se fija tambieacuten un nuacutemero de alumnos y el tiempode laboratorio en caso de ser necesario
Capiacutetulo 4 Anaacutelisis y Disentildeo
Diagrama de flujo del proceso
Elaboracioacuten de los reportes estadiacutesticos
Caacutelculo de alumnos por materiaproacuteximo periodo
Caacutelculo del nuacutemero de grupos pormateria requeridos
Ajuste de los grupos por materiarequeridos
Formacioacuten de los grupos en paquetespor semestre
Asignacioacuten de hora y aula a los grupos
Asignacioacuten de catedraacutetico al grupo
Ajustes en hora aula y catedraacutetico porgrupo
Elaboracioacuten del reporte condensado
Elaboracioacuten de reportes varios
Todo cuadrabien
Si
No
Fin
Inicio
Capiacutetulo 4 Anaacutelisis y Disentildeo
42 Anaacutelisis de la informacioacuten
bull Cataacutelogo de asignaturas prerrequisitos y semestre
Funcioacuten Dar a conocer las asignaturas de una carrera los prerrequisitos de las materiasy el semestre al que pertenece una asignatura los creacuteditos miacutenimos que debe tenerun alumno para cursar la asignatura
Origen Reporte emitido por el departamento de Servicios Escolares
Campos del reporte nombre carrera nombre asignaturas creacuteditos miacutenimos materiasprerrequisito semestre al que pertenece la asignatura
bull Cataacutelogo de aulas y su capacidad
Funcioacuten Dar a conocer la nomenclatura y capacidad de las aulas y laboratorios del ITZ
Origen Departamento de Planeacioacuten
Campos del reporte Nombre del edificio nuacutemero de aula capacidad
bull Cataacutelogo de catedraacuteticos horas disponibles
Funcioacuten Dar a conocer los catedraacuteticos por departamento y sus horas disponibles frentea grupo
Origen Departamentos acadeacutemicos
Campos del reporte Nombre del departamento clave de profesor nombre del profesorcantidad de horas frente a grupo que debe tener
bull Mapa reticular de la carrera
Funcioacuten Mostrar el mapa reticular de una carrera graacuteficamente muestra las asignaturaspor semestre sus requisitos foacutermula crediticia etc
Origen Divisioacuten de Estudios Profesionales
Campos del reporte Nombre y clave de la carrera nombre y clave de las asignaturasfoacutermula crediticia (nuacutemero de horas teoacutericas nuacutemero de horas praacutecticas creacuteditos dela asignatura) las materias prerrequisito de otras materias de especialidad semestrede la asignatura nuacutemero de creacuteditos necesarios para poder cursar una asignatura
Capiacutetulo 4 Anaacutelisis y Disentildeo
bull Reporte de grupos abiertos en periodo actual
Funcioacuten Muestra los cursos que son ofertados en el periodo actual
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera nombre de las asignaturas grupo de loscursos cantidad de alumnos inscritos nombre del catedraacutetico que lo imparte
bull Reporte de alumnos por grupo en periodo actual
Funcioacuten Muestra la cantidad de alumnos inscritos por semestre de una carrera
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera semestres del 1 al 13 nuacutemero de alumnosinscritos por semestre
bull Reporte de alumnos no inscritos por materia y semestre
Funcioacuten Muestra los alumnos que pudieron inscribirse a una materia pero que poralguna razoacuten no lo hicieron
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera nombre de la materia por semestre nuacutemerode alumnos que pudieron inscribirse y no lo hicieron
bull Reporte de simulacioacuten (si todos aprobaran sus cursos)
Funcioacuten Este reporte simula que todos los alumnos inscritos en los cursos acreditan elcurso entonces cuenta cuantos estudiantes pueden cursar todas las asignaturas comosi hubieran aprobado todos sus cursos actuales
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera nombre de la asignatura y por semestre elnuacutemero de alumnos que pueden cursar una materia
bull Reporte del iacutendice de reprobacioacuten del semestre anterior
Funcioacuten Dar a los coordinadores los iacutendices de aprobacioacuten y reprobacioacuten de los cursosdel periodo anterior
Capiacutetulo 4 Anaacutelisis y Disentildeo
Origen Departamento de Servicios EscolaresCampos del reporte Nombre de la carrera nombre de la asignatura total de alumnos
aprobados total de alumnos reprobados del periodo anterior
bull Encuesta de conocimientos requeridos para impartir asignatura
Funcioacuten Obtener los datos de los conocimientos que debe poseer un catedraacutetico quequiera impartir una asignatura
Origen Academia de cada departamentoCampos del reporte Nombre de la asignatura objetivo de la asignatura carrera lista de
conocimientos requeridos para impartir la asignatura carrera adecuada del profesorque imparta la asignatura
bull Encuesta de conocimientos requeridos para perfil de profesores
Funcioacuten Obtener los datos de los conocimientos que debe posee un catedraacutetico
Origen Academia de cada departamento
Campos del reporte Nombre del catedraacutetico carrera del catedraacutetico conocimientos enaacutereas particulares de cada asignatura
43 Solucioacuten definida
Resolver el problema iniciando con la metodologiacutea ldquodivide y venceraacutesrdquo el problemageneral se dividiraacute en 6 problemas particulares
a) Sistema de Informacioacuten para control de horariosb) Sistema Experto para definicioacuten y generacioacuten de grupos
por abrirc) Moacutedulo Programacioacuten Loacutegica de Restricciones para
asignar horario a los gruposd) Moacutedulo Algoritmos Geneacuteticos para asignar aula a los
grupos ya definidose) Sistema Experto para definir catedraacutetico para
asignaturaf) Sistema Experto para asignar asignatura a catedraacutetico
Debido a la naturaleza y caracteriacutesticas de la informacioacuten todos lossistemas seraacuten realizados iniciando desde cero la recopilacioacuten deinformacioacuten el anaacutelisis el disentildeo y la programacioacuten de cada moacutedulo delsistema programado en Visual Basic y Bases de Datos en Access
Capiacutetulo 4 Anaacutelisis y Disentildeo
La principal ventaja de eacutesta opcioacuten es que el sistema estaacute hecho a la medida de lasnecesidades de la institucioacuten poniendo las restricciones en el formato que se tienenactualmente la desventaja es que se debe desarrollar TODO el sistema
44 Requerimientos del sistema
Los Motores de Inferencias deben ser disentildeados con las siguientes caracteriacutesticas
bull Buacutesqueda de primero en profundidad en ocasiones cuando se interactuacutee con elusuario este tipo de buacutesqueda seraacute utilizado para recorrer toda la base deconocimiento
bull Buacutesqueda heuriacutestica en la que el usuario deberaacute dar datos iniciales de por dondeempezar la buacutesqueda de alguna informacioacuten
bull Tomar informacioacuten de la Base de Conocimiento y guardarla en las bases de datos ytambieacuten inferir la informacioacuten y guardarla en las bases de datos para su posteriortratamiento e impresioacuten
bull Seleccionar la mejor opcioacuten y presentarla al usuario para los casos en que el usuariodecida cambiar alguacuten dato la maacutequina deberaacute presentar una opcioacuten y saber indicarel porqueacute la ldquoeligioacuterdquo
bull Dar otras soluciones ademaacutes de la oacuteptima teniendo porcentajes de aceptacioacuten paracada solucioacuten y permitiendo la buacutesqueda de maestros a impartir materias aulas paraalguacuten grupo o cantidad de grupos a abrir
bull Dar resultados en lenguaje natural de modo que el usuario entienda claramente loque la maacutequina le comunica
bull Trabajar interactivamente con el usuario para que eacuteste pueda cuestionar el porqueasignoacute un maestro abrioacute grupos asignoacute un aula etceacutetera
bull Tener capacidad para el uso del paradigma basado en analogiacuteas ldquoSi un maestro yadio la materia en alguacuten semestre entonces puede darla en este semestrerdquo o bien ldquoSieste paquete de materias estaacute completo entonces repite todo el paquete estesemestrerdquo
Interfaz de Usuario recibe y entrega informacioacuten interactuando con el usuario esdecir el usuario puede
1) alimentar hechos2) solicitar resultados y reportes3) cuestionar coacutemo se obtuvieron ciertas conclusiones
La interfaz de usuario debe tener las caracteriacutesticas siguientes
bull Comunicarse en el lenguaje del usuario sea un humano u otro dispositivobull Recibir hechos del usuario y almacenarlos en la base de hechosbull Presentar de manera amigable los objetivos a buscar e inferencias en pantallabull Dar de manera clara la explicacioacuten de la inferencia realizada
Capiacutetulo 4 Anaacutelisis y Disentildeo
bull Dar resultados por escrito en informesbull Proporcionar al usuario la facilidad de alimentar la base de conocimientosbull Dar al usuario la facultad de corregir las inferenciasbull Si el usuario es inexperto facilitar la ayuda necesaria
Seleccioacuten del lenguaje de programacioacuten
Visual Basic 60 proporciona a los programadores facilidad para desarrollar aplicacionescomplejas en poco tiempo (comparado con lo que cuesta programar en Visual C++ porejemplo)
El sistema necesita interfaces amigables al usuario con ventanas y botones emergentesen cualquier momento y Visual Basic 60 es una herramienta de disentildeo de aplicacionespara Windows en la que eacutestas se desarrollan en una gran parte a partir del disentildeo de unainterfaz graacutefica (pudiendo incorporar todos los elementos de este entorno informaacuteticoventanas botones cajas de diaacutelogo y texto botones de opcioacuten y de seleccioacuten barras dedesplazamiento graacuteficos menuacutes etc) En una aplicacioacuten Visual Basic 60 el programaestaacute formado por una parte de coacutedigo puro y otras partes asociadas a los objetos queforman la interfaz graacutefica Visual Basic 60 permite la programacioacuten de sus ventanasbotones y componentes de manera maacutes faacutecil que Java con sus Applets
En la parte del sistema de control de horarios que es un sistema de informacioacuten comuacutenlos programas que llenan de informacioacuten las bases de datos son muy parecidos unos conotros al hacer los procesos de altas bajas modificaciones consultas y validaciones seutilizan las ventajas que Visual Basic 60 ofrece de la Programacioacuten Orientada aObjetos (POO) eacutesta es una forma de programacioacuten que utiliza objetos ligados mediantemensajes para la solucioacuten de problemas Puede considerarse como una extensioacuten naturalde la programacioacuten estructurada en un intento de potenciar los conceptos demodularidad y reutilizacioacuten de coacutedigo Las caracteriacutesticas fundamentales de la POO sonabstraccioacuten encapsulamiento herencia y polimorfismo
Visual Basic 60 soporta la abstraccioacuten la encapsulacioacuten el polimorfismo y lareutilizacioacuten de coacutedigo Los objetos de Visual Basic estaacuten encapsulados es decircontienen su propio coacutedigo y sus propios datos
Manejador de Base de datos para el almacenamiento de la informacioacutenEl manejador de base de datos a utilizar seraacute Microsoft Access debido a que los usuariosque alimentan la base de conocimientos son expertos en diferentes aacutereas delconocimiento y tiene conocimientos limitados de los diferentes manejadores y estaacuten maacutesfamiliarizados con Microsoft Access Ademaacutes de que Access es transportablefaacutecilmente
Ademaacutes la cantidad y tipo de informacioacuten que se almacena en las tablas no requieremanejadores de bases de datos potentes o con caracteriacutesticas especiales
Capiacutetulo 4 Anaacutelisis y Disentildeo
Sistemagenerador dehorarios
SistemaExperto
Reglas
Criterios
Criterios por regla Conocimiento
Procesos
Capturaestadiacutesticas
Calcula grupos
Ajusta grupos
Sistema expertoasigna materia
Sistema Expertoasigna maestro
Asigna materia
Asigna catedraacutetico
Conocimientos
Procesos
Materias
Perfil general
Catedraacuteticos
Perfil materias
Perfil maestro
Asignacioacutenmateria-maestro
Asignacioacutenmaestro-materia
Buacutesqueda independiente
B adelante
B atraacutes
Abduccioacuten
Explicacioacuten
MoacuteduloPLR
Asigna horario
Datos
Arbol derestricciones Procesos
Materia
Grupos
Paquetes
Horario
Restriccioacuten 1
Restriccioacuten 3
Restriccioacuten 2
Restriccioacuten N
Genera random
Evaluacutea restricciones
Guarda grupo
MoacuteduloAlgoritmoGeneacutetico
Asigna aula
Operadores Geneacuteticos
Evaluacioacuten
Cruzamiento
Seleccioacuten
Mutacioacuten
Poblacioacuten Inicial
Versioacuten 1
Versioacuten 2
Versioacuten 3
Versioacuten N
Condensadodatos grales
Materia
Hora
Aula
Control escolar
Sistema deInformacioacuten
Aulas
Horarios
Grupos
Maestros
Datosestadiacutesticos
Datosgenerales
Datos condensado
Materias
45 MAPA CONCEPTUAL DEL PROYECTO
Capiacutetulo 4 Anaacutelisis y Disentildeo
Capiacutetulo 4 Anaacutelisis y Disentildeo
En la Figura 41 se muestra el mapa conceptual del proyecto La burbuja centralrepresenta el sistema generador de horarios y cada rama representa uno de los seismoacutedulos que lo componen las burbujas de cada rama contienen a su vez variasramificaciones en las que se muestran de manera graacutefica los componentes maacutesrepresentativos de los procesos utilizados la informacioacuten que manejan el conocimientoque utilizan y las restricciones involucradas
El moacutedulo Servicios Escolares contiene informacioacuten necesaria para la administracioacuten delos horarios en general y proporciona los datos para el funcionamiento de los demaacutesmoacutedulos
El moacutedulo Sistema Experto Creacioacuten de Grupos (SECG) muestra el conocimiento yprocesos utilizados para definir la cantidad de grupos a ofertar a partir de la informacioacutenestadiacutestica proporcionada por servicios escolares maacutes adelante en el documento seexplica a detalle su funcionamiento
En la Figura 41 se aprecia que los moacutedulos Sistema Experto AsignaCatedraacutetico(SEAC) y Sistema Experto Asigna Materia(SEAM) comparten las bases deconocimiento porque el conocimiento de un SE es la base de hechos del otro en amboscasos los procesos difieren solamente en la informacioacuten que utilizan y en los resultadosque producen noacutetese que existe un proceso que es ldquobuacutesqueda independienterdquo que puedecatalogarse como un Sistema Experto adicional que sirve para sugerir las asignaturasque puede impartir una persona que no estaacute dentro de las bases de datos de maestros ypor lo tanto su perfil tampoco estaraacute capturado en esta caso los hechos (su perfil deconocimientos) es capturado en el momento de la consulta
El moacutedulo de Algoritmos Geneacuteticos (AG) muestra los datos que recibe como se generauna poblacioacuten inicial el tratamiento que se le aplica por medio de los operadoresgeneacuteticos y la informacioacuten que se genera
Por uacuteltimo en la Figura 41 se nota tambieacuten el moacutedulo donde se utiliza la ProgramacioacutenLoacutegica de Restricciones que contiene 3 ramas donde una representa los datos recibidosy la informacioacuten generada otra rama denota un aacuterbol de restricciones que deben sersatisfechas por los paquetes de horarios la uacuteltima rama denota los procesos que se llevana cabo debe notarse que existe un proceso aleatorio que genera cada grupo un procesoque evaluacutea el grupo contra las restricciones y uno mas que guarda los grupos quecumplieron con todas
En este mapa conceptual no se muestra en que orden se ejecuta cada moacutedulo delproyecto la Figura 42 ilustra la secuencia de ejecucioacuten de los moacutedulos
La Figura 42 muestra el diagrama con la secuencia en que se van ejecutando losprocesos los datos que ingresan a cada moacutedulo y la informacioacuten que genera
Capiacutetulo 4 Anaacutelisis y Disentildeo
452 MAPAS CONCEPTUALES DE LOS MOacuteDULOS
Servicios Escolares
Datos Estadiacutesticos
Sistema Experto Creacioacuten de Grupos
Materias y grupos requeridos
Moacutedulo PLR
Materia + grupo + hora
Moacutedulo AG
Materia + grupo + hora + aula
Sistema ExpertoAsigna Catedraacutetico Sistema Experto
Asigna Materia
Sugiere profesorpara asignaturas
Sugiere asignaturapara profesor
Materia + grupo + hora + aula +profesor
Condensado final de materias
1
2
3
4
5 6
Fig 42 Diagrama de secuencia
Capiacutetulo 4 Anaacutelisis y Disentildeo
Como puede verse todo inicia cuando Servicios Escolares enviacutea la informacioacuten a laDivisioacuten de Estudios Profesionales (donde ldquohabitanrdquo los coordinadores) quienes son losresponsables de la elaboracioacuten de los horarios
Un primer proceso captura la informacioacuten que proviene de Servicios Escolares elsegundo moacutedulo define cuantos grupos deben programarse el tercer proceso asigna lahora a cada grupo el cuarto moacutedulo es el proceso que asigna las aulas los procesosquinto y sexto sirven para sugerir queacute catedraacutetico es el maacutes adecuado para cada grupo ycomo resultado final se tiene el condensado final de horarios para el siguiente semestre
En la Figura 43 se muestran los componentes del primer Sistema Experto utilizado paradefinir la cantidad de grupos que deben ofertarse el proacuteximo semestre en la partesuperior izquierda de la figura esta el coordinador de la carrera quien es el encargado decargar el conocimiento a las Bases de Conocimiento utilizando la interfaz de experto esla persona indicada para definir los criterios que tiene cada materia define las reglaspara la agrupacioacuten de los criterios y define en cada regla que tipo de ajuste se realiza
Experto
Coordinador
Interfaz Experto
Base deConocimientos
CriteriosReglasAjustes
Motor de Inferencia ListasMateriasGrupos requeridos
UsuarioMoacutedulo Explicacioacuten
Usuario(coordinador
novato)
Interfaz Usuario
Base Hechos
Informacion Estadiacutestica
Fig 43 Sistema Experto Generador de Grupos
Capiacutetulo 4 Anaacutelisis y Disentildeo
El usuario en la parte inferior de la figura puede ser el coordinador o su asistente y seencarga de capturar la informacioacuten estadiacutestica proporcionada por servicios escolares queson los datos de alumnos inscritos actualmente en cada materia el iacutendice de reprobacioacutenlos alumnos inscritos en la materias prerrequisito una simulacioacuten de los alumnosprobables para cursar esa materia si todos los inscritos aprueban todo y los alumnos quepueden cursar las materias pero no se inscribieron
Con los datos anteriores se realiza la siguiente operacioacuten
(Inscritos en materia iacutendice de reprobacioacuten de materia) 100 +Alumnos no inscritos +Alumnos en prerrequisito ndash (alumnos en prerrequisito iacutendice de reprobacioacuten) 100 +(Simulacioacuten ndash alumnos en prerrequisito ndash no inscritos) = Alumnos del proacuteximo semestre
Este uacuteltimo dato (alumnos del proacuteximo semestre) proporciona la cantidad de alumnospor materia que pueden inscribirse en los grupos seguacuten los estadiacutesticos de ServiciosEscolares pero no contempla preferencias de alumnos conveniencia de inscripcioacuten etc
Ofrecer los grupos necesarios para la inscripcioacuten de alumnos tomando el dato calculadoocasiona que al terminar las inscripciones existan grupos vaciacuteos grupos sobresaturadosalumnos con pocas materias y varios problemas mas
La finalidad de este Sistema Experto es realizar un ajuste al dato calculadoanteriormente para incluir en su caacutelculo todas aquellas caracteriacutesticas y experiencia delcoordinador para minimizar los problemas mencionados en el paacuterrafo anterior
Los ajustes pueden ser de varios tiposbull Ajuste draacutestico hacia abajo Se aplica una reduccioacuten del 50 al dato calculadobull Ajuste hacia arriba Se agrega un grupo maacutes al dato calculadobull Ajuste hacia abajo Se resta un grupo al dato calculadobull Ajuste numeacuterico Se ajusta utilizando la regla del redondeo de decimalesbull Ajuste draacutestico hacia arriba Se suman 2 oacute 3 grupos al dato calculado
Cuando utilizar una u otra regla estaacute definido por los criterios que cada materia contienenaturalmente y que con el paso de los semestres puede variar (aunque tambieacuten puedenpasar antildeos sin sufrir ninguacuten cambio)
La Figura 44 describe la utilizacioacuten de la teacutecnica de la Inteligencia Artificial llamadaProgramacioacuten Loacutegica de Restricciones para generar el condensado de grupos a partir deuna lista de materias que contiene solamente el nombre y la cantidad de grupos que sedeben abrir de una materia
Capiacutetulo 4 Anaacutelisis y Disentildeo
EoseX
Ugacgg
Lgc
s
ListasMaterias
Procesoformador depaquetes
Lista grupo +paquete
Moacutedulo generadorRandom Hora
Restricciones satisfec
Restriccio
Materia +hora
Moacuteduloverificadorrestriccione
s
Restriccionesnosatisfechas
Fig 44 Diagrama del moacutedulo Programacioacuten Loacutegica de Restriccione
xiste un proceso inicial que forma los ldquopaquetesrdquo de grupos esto es las materias serdenan por el semestre al que corresponden (generalmente son 6 materias poremestre) despueacutes para cada semestre se generan los grupos correspondientes si porjemplo se deben hacer 3 grupos de la materia X se generan tres registros de la materia y cada registro se etiqueta
Materia X grupo AA Materia X grupo AB y Materia X grupo AC
na vez que todas las materias han sido generadas y ldquoempaquetadasrdquo se pasan alenerador de horario en bloques de un paquete a la vez Este proceso funcionasignando un horario aleatorio a cada grupo despueacutes se verifica que cada grupo cumplaon todas las restricciones que son del tipo grupo no ldquochocardquo con otro del paqueterupo proporciona horario continuo al paquete grupo tiene horario de 2 horas por diacutearupo no deja horas vaciacuteas en paquete grupo cumple con todas sus horas asignadas etc
a Figura 45 muestra el disentildeo del Algoritmo Geneacutetico utilizado para asignar aula a losrupos que provienen del moacutedulo anterior (PLR) y recibe como datos de entrada unondensado de horarios (materia + grupo + hora)
Capiacutetulo 4 Anaacutelisis y Disentildeo
Procesoevaluacioacuten
Condensado
Materia +Grupo +Hora
Generador de versiones aleatorias
Genera versioacuten asigna aula
Versioacuten 3
Versioacuten 2
Versioacuten 1
Versioacuten N
Poblacioacuten inicial
ProcesoseleccioacutenProceso cruzamiento
clonacioacuten mutacioacuten
Versioacuten z
Versioacuten y
Versioacuten x
Versioacuten w
Nueva generacioacuten
Individuos aptos
Individuos no aptosReciclaje
CondensadoMateria + grupo +hora + aula
Fig 45 Diagrama del moacutedulo Algoritmo Geneacutetico
Capiacutetulo 4 Anaacutelisis y Disentildeo
Esta rama de la Inteligencia Artificial es utilizada generalmente para procesos deoptimizacioacuten y en esta ocasioacuten se utiliza para asignar las aulas al condensado dematerias
Al inicio se reciben como datos generales el condensado de materias La poblacioacuteninicial se obtiene copiando N veces (N versiones) este condensado y agregando a cadaregistro el nuacutemero de versioacuten y un aula asignada de manera aleatoria de esta manera seobtienen N versiones diferentes del condensado original
Cada versioacuten es entonces evaluada contando el nuacutemero de choques en aula y la cantidadde espacios vaciacuteos por aula a cada versioacuten se le genera un vector para guardar laevaluacioacuten (cromosoma de evaluacioacuten) y de esta manera se mide el grado de aptitud quetiene cada versioacuten
Las versiones que tienen menos choques y menos espacios vaciacuteos se consideran con ungrado de aptitud alto y son las mejores al contrario las que tienen muchos choquesson consideradas de aptitud baja no sirven para la reproduccioacuten y son desechadas
Una vez seleccionadas la mejores versiones se procede a la aplicacioacuten de los operadoresgeneacuteticos el primero que se aplica es el cruzamiento y consiste en elegir dos versionesde alta aptitud tomar segmentos seleccionados heuriacutesticamente de ellas y formar unnuevo individuo (una nueva versioacuten) se repite este proceso Y veces con las diferentesversiones hasta tener una nueva generacioacuten de N condensados de horarios
Repetir este proceso de generacioacuten evaluacioacuten y seleccioacuten durante Z generacionesaplicando cuando se necesite la clonacioacuten que es un proceso de copiar completamenteuna versioacuten (con alto grado de aptitud) a la nueva generacioacuten
Al principio la convergencia hacia horarios sin choques en aula es raacutepida pero al pasode las generaciones disminuye entonces se debe usar la mutacioacuten que es un proceso deacceder manualmente los registros de alguna versioacuten Zi en la generacioacuten Z y corregiralguacuten aula al final despueacutes de varias generaciones selecciones cruzamientosclonaciones y mutaciones se obtiene un condensado de aulas libres de choques y conpocos espacios vaciacuteos
En la Figura 46 se muestran los componentes del Sistema Experto utilizado para sugerircuales son los catedraacuteticos que mejor se desempentildeariacutean para impartir una asignaturatomando en cuenta los conocimientos que tiene un profesor (adquiridos a lo largo de sucarrera) y cuales son los conocimientos necesarios para impartir la caacutetedra de algunaasignatura
Capiacutetulo 4 Anaacutelisis y Disentildeo
Todo inicia haciendo una encuesta a los profesores acerca del perfil y los conocimientosnecesarios para poder impartir una asignatura el objetivo de la misma y los principalestemas que abarca todo lo anterior se captura en la base de hechos como el perfil de lamateria
Posteriormente se hace otra encuesta a los profesores pidieacutendoles que seleccionencuales son los conocimientos y el grado de dominio que tienen de los diferentes toacutepicosde las asignaturas esto se convierte en el perfil del catedraacutetico Por uacuteltimo con unproceso de induccioacuten se determina para cada materia cual es el grado de certeza con elcual puede un profesor impartir una asignatura
Experto
Coordinador
Interfaz Experto
Base deConocimientos
CatedraacuteticosConocimientos profesorPerfil profesor
Motor de Inferencia Lista profesores paraimpartir una materia
Jefedepartamento
Moacutedulo Explicacioacuten
Usuario(coordinador
novato)
Interfaz Usuario
Base Hechos
Perfil
Fig 46 Diagrama de Sistema Experto para sugerir profesor a asignatura
Capiacutetulo 4 Anaacutelisis y Disentildeo
Noacutetese en la Figura 47 que el coordinador captura el conocimiento referente a lasasignaturas (objetivo temas caracteriacutesticas necesarias para impartirla) y este esalmacenado en la Base de Conocimientos
Por otro lado un profesor debe llenar una encuesta en la que indique cuales son lostemas que domina y en que porcentaje lo hace (esto es el perfil del catedraacutetico) estainformacioacuten se almacena en la base de hechos--
El Motor de Inferencia hace los matchs respectivos y genera una lista de las materias quepuede impartir un profesor y con que grado de certeza estaacute capacitado para hacerlo
Por uacuteltimo el moacutedulo de explicacioacuten informa el porqueacute dio esa inferencia mostrando lascaracteriacutesticas de materia y profesor que hicieron match
Fig 47 Diagrama de Sistema Experto para sugerir asignaturas para catedraacutetico
Experto
Coordinador
Interfaz Experto
Base deConocimientos
MateriasCaracteriacutesticas MateriasPerfil materia
Motor de Inferencia Lista materias para unprofesor
Profesor
Moacutedulo Explicacioacuten
Profesor nuevoInterfaz Usuario
Base Hechos Perfil profesor
Capiacutetulo 4 Anaacutelisis y Disentildeo
453 Diagrama de contextoEn la Figura 48 se detallan los elementos que intervienen aportando y recibiendoinformacioacuten para el funcionamiento del sistema
Los departamentos acadeacutemicos aportan al sistema una lista con los catedraacuteticos quelaboran ahiacute incluye los datos personales de los profesores nuacutemero de tarjeta nombrecarrera etc Los coordinadores de carrera son los responsables de la elaboracioacuten de loshorarios estos funcionarios son la pieza fundamental de este proceso porque aportan susconocimientos para
bull Definir el ajuste al dato estadiacutestico proporcionado por Servicios Escolaresbull Definir las restricciones para la creacioacuten de los paquetes de gruposbull Definir las restricciones para asignar hora a cada grupobull La distribucioacuten de los grupos en las aulasbull Asignar la asignatura que mejor puede impartir un catedraacuteticobull Asignarle a una asignatura al profesor que mejor puede impartirla
El departamento de Servicios Escolares es el iniciador del proceso de la elaboracioacuten dehorarios aporta los datos estadiacutesticos obtenidos de la situacioacuten escolar actual de losalumnos cada alumno estaacute inscrito en alguna de las 8 carreras que se ofrecen en elInstituto estaacute cursando entre 5 y 8 asignaturas por semestre en cada periodo acredita oreprueba algunas materias En cada carrera se tiene un mapa reticular que incluyeaproximadamente 50 asignaturas con prerrequisitos creacuteditos horas en aula horas enlaboratorio orden por semestre etc
El departamento Divisioacuten de Estudios Profesionales (donde estaacuten adscritos loscoordinadores de carrera) es el responsable de distribuir las aulas disponibles delInstituto entre los distintos coordinadores las aulas son un recurso escaso y por lo tantovalioso de esta distribucioacuten depende en gran medida la holgura o estrechez que tienenlos coordinadores para asignar las aulas a los grupos creados
Los profesores son otro de los recursos valiosos de una institucioacuten son los responsablesde transmitir sus conocimientos a los alumnos cada catedraacutetico posee conocimientos dediversas aacutereas toacutepicos y ramas del saber humano el perfil del catedraacutetico estaacute enrelacioacuten directa con el dominio que tiene de cada una de ellas y varia desde unconocimiento superficial hasta el dominio total de un aacuterea
Los generadores random de los moacutedulos PLR y AG proporcionan la informacioacutennecesaria generada de manera aleatoria para el funcionamiento de esos moacutedulos
A los coordinadores y alumnos se les proporciona un condensado de horarios losalumnos conocen los grupos a los que se pueden inscribir las horas las aulas y loscatedraacuteticos que las impartiraacuten
Capiacutetulo 4 Anaacutelisis y Disentildeo
Sistema para laelaboracioacuten de
horarios
Departamentosacadeacutemicos
Jefes dedepartamento
Divisioacuten deEstudios
Profesionales
DepartamentoServiciosEscolares
Alumnos
Coordinadoresde carrera
Coordinadoresde carrera
Lista catedraacuteticos disponibles
Conocimientos
Reporte datos estadiacutesticos
Lista aulas disponibles
Condensado de horarios
Horarios disponibles
Lista horarios profesores
Profesores Generadoresaleatorios
Perfil maestro
Horas y aulas aleatorios
Fig 48 Diagrama de contexto del proyecto
Cap
iacutetulo
4
Anaacute
lisis
y D
isentilde
o
Sist
ema
para
lael
abor
acioacute
n de
hora
rios
Dep
arta
men
tos
acad
eacutemic
os
Div
isioacute
n de
Estu
dios
Prof
esio
nale
s
Dep
arta
men
toSe
rvic
ios
Esco
lare
sC
oord
inad
ores
de c
arre
ra
List
a ca
tedr
aacutetic
os d
ispo
nibl
es
Con
ocim
ient
osR
epor
teda
tose
stad
iacutestic
osLi
sta
aula
s dis
poni
bles
Prof
esor
esG
ener
ador
esal
eato
rios
Perf
il m
aest
roH
oras
y a
ulas
Fig
49
Dia
gram
a de
func
ione
s fun
dam
enta
les (
entra
das)
Cap
tura
supe
rfil
deco
noci
mie
nto
Cap
tura
las
aula
s
Enviacute
a da
tos
Cap
tura
suco
noci
mie
nto
Enviacute
a da
tos
depr
ofes
ores G
ener
ada
tos
Cla
ve n
ombr
eho
ras
turn
o
Tips
tru
cos
cono
cim
ient
ohe
uriacutes
tico
Cla
ve c
apac
idad
ed
ifici
o
Alu
mno
sin
scrit
os
sim
ulac
ioacuten
no
insc
ritos
iacutend
ice
repr
obac
ioacuten
Toacutepi
cos y
tem
asqu
e do
min
aA
ula
y ho
raal
eato
rios
Capiacutetulo 4 Anaacutelisis y Disentildeo
Sistema para laelaboracioacuten de
horarios
Coordinadoresde carrera
Jefes dedepartamento Alumnos
Fig 410 Diagrama de funciones fundamentales (salidas)
Imprimecondensado
Imprime lista Imprimehorarios
Maestro materiahora
Materia grupohora aula
maestrosugerido
Condensado de horarios Horarios disponibles
Lista horarios profesores
Materia grupohora aula
maestro
Capiacutetulo 4 Anaacutelisis y Disentildeo
454 Diagrama entidad - relacioacuten
NOTA Los siguientes diagramas muestran las tablas utilizadas por cada moacutedulo paramayor claridad se repitieron las tablas necesarias para representar cada parte del sistemapero en la base de datos no existe tal duplicacioacuten
Este diagrama contiene las tablas del moacutedulo administrativo de los horarios en unprincipio eacutestas eran las uacutenicas tablas de un sistema de control de horarios
FK_HORARIOS_REFERENCE_MATERIASFK_MATERIAS_REFERENCE_SERVICIO
FK_MATERIAS_REFERENCE_RAMA_MAT FK_MATERIAS_REFERENCE_CARRERAS
HORARIOS
GrupoId_aulaHora_inicioHora_lunesHora_martesHora_miercolesHora_juevesHora_viernesHora_sabadoObservacionesPeriodoAnioid_materiaId_catedratico
Text(2)INTEGERINTEGERText(6)Text(6)Text(6)Text(6)Text(6)Text(6)Text(30)Text(20)INTEGERINTEGERSMALLINT
ltfk3gt
ltfk2gtltfk1gt
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
MATERIAS
SERVICIOS_ESCOLARESId_materiaINSCRITOSNO INSCRITOSSIMULACIONPROXIMO SEMESTREGRUPOS REQUERIDOSIndice de reprobacionperiodoantildeoGrupos ajustadoAlumnos ajustadoId_ajusteId_regla
INTEGERSMALLINTSMALLINTSMALLINTSMALLINTDOUBLEDOUBLEText(7)INTEGERSMALLINTSMALLINTINTEGERSMALLINT
RAMA_MATERIA
Id_ramaNombre_rama
COUNTERText(30)
ltpkgt
CARRERAS
Id_CarreraNombre_carrera
Text(15)Text(50)
ltpkgt
Fig 411 Diagrama entidad ndash relacioacuten del moacutedulo administrativo
Capiacutetulo 4 Anaacutelisis y Disentildeo
Este diagrama muestra las tablas donde se almacena el conocimiento de loscoordinadores para que el Sistema Experto del moacutedulo sugiera y aplique el ajuste aldato de cantidad de grupos sugerido por Servicios Escolares La relacioacuten entre las tablasva generando las reglas de produccioacuten
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave asig prerrequisitoclave asig prerrequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
REGLAS
DescriId_reglaId_ajusteTot_peso
Text(70)COUNTERINTEGERINTEGER
ltpkgtltfkgt
FK_MATERIAS_REFERENCE_SERVICIO
FK_HECHOS_R_REFERENCE_CRITERIO
FK_HECHOS_R_REFERENCE_REGLAS
FK_HISTORIA_REFERENCE_REGLAS
FK_HISTORIA_REFERENCE_CRITERIO
FK_REGLAS_REFERENCE_AJUSTES
FK_HISTORIA_REFERENCE_MATERIAS
FK_HISTORIA_REFERENCE_CRITERIO
SERVICIOS_ESCOLARES
Id_materiaINSCRITOSNO INSCRITOSSIMULACIONPROXIMO SEMESTREGRUPOS REQUERIDOSIndice de reprobacioacutenperiodoantildeoGrupos ajustadoAlumnos ajustadoId_ajusteId_regla
INTEGERSMALLINTSMALLINTSMALLINTSMALLINTDOUBLEDOUBLEText(7)INTEGERSMALLINTSMALLINTINTEGERSMALLINT
HECHOS_REGLAS
Id_criterioId_reglaPromedio
INTEGERINTEGERINTEGER
ltfk2gtltfk1gt
CRITERIOS
Id_criterioDescripcion
COUNTERText(60)
ltpkgt
HISTORIAL_CRITERIOS
Id_criterioId_reglaPeso de la regla
INTEGERINTEGERSMALLINT
ltfk2gtltfk1gt
AJUSTES
TipoDescripcionId_ajuste
Text(25)MemoCOUNTER ltpkgt
HISTORIAL_MATERIA
Id_materiaId_criterioprioridad
INTEGERINTEGERSMALLINT
ltfk2gtltfk1gt
Fig 412 Diagrama E-R del moacutedulo para determinar y ajustar nuacutemero de grupos
Capiacutetulo 4 Anaacutelisis y Disentildeo
En este diagrama se muestra la base de datos que almacena la informacioacuten quemanipula el moacutedulo Algoritmo Geneacutetico las tablas maacutes representativas sonPOBLACION donde se guardan todas las versiones que forman las generaciones dehorarios y CROMOSOMAS que almacena el registro de evaluacioacuten de cada versioacuten dehorarios
FK_HORARIO__REFERENCE_AULAS
FK_HORARIO__REFERENCE_POBLACIO
FK_MATERIAS_REFERENCE_TIPO_HOR
FK_POBLACIO_REFERENCE_AULAS
FK_POBLACIO_REFERENCE_MATERIAS
FK_POBLACIO_REFERENCE_CROMOZOM1 1
HORARIO_AULA
VersionAulaLunesMartesMiercolesJuevesViernesSabadoHoraId_aula
INTEGERText(6)SMALLINTSMALLINTSMALLINTSMALLINTSMALLINTSMALLINTSMALLINTINTEGER
ltfk2gt
ltfk1gt
AULAS
Id_aulaCapacidad_aulaNombre_aulaDisponible
COUNTERSMALLINTText(50)YesNo
ltpkgt
POBLACION
Id_materiaGrupoId_catedraticoAulaHora_inicioHora_lunesHora_martesHora_miercolesHora_juevesHora_viernesVersionId_aulaPeriodoAnio
INTEGERText(4)INTEGERText(4)INTEGERText(6)Text(6)Text(6)Text(6)Text(6)INTEGERINTEGERText(10)INTEGER
ltfk2gt
ltfk1gtltfk3gt
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
TIPO_HORARIO
Tipo_horario
DescripcionLunes
MartesMiercoles
Jueves
ViernesSabado
COUNTER
Text(20)SMALLINT
SMALLINTSMALLINT
SMALLINT
SMALLINTSMALLINT
ltpkgt
CROMOZOMAS
VersionSemestreChoquesVacias
INTEGERINTEGERINTEGERINTEGER
ltpkgt
Fig 413 Diagrama E-R del moacutedulo para asignar aulas (Algoritmo Geneacutetico)
Capiacutetulo 4 Anaacutelisis y Disentildeo
En esta Figura 414 se pueden observar las tablas involucradas en el proceso paragenerar los paquetes de materias por semestre y la asignacioacuten de horario a cada grupodel paquete utilizando la teacutecnica Programacioacuten Loacutegica de Restricciones noacutetese que noexiste una tabla de restricciones eacutestas se aplican por software a cada grupo generado
FK_MATERIAS_REFERENCE_SERVIC
FK_MATERIAS_REFERENCE_TIPO_H
FK_HORARIOS_REFERENCE_MATERI
MATERIA
Id_materiMateriNum de HrsNum de HrsClave deId_CarrerCreditoSemestrObservacioneTroncoalumnos porclave de asigclave de asigId_ramSuma_maOrdeTipo_horari
INTEGEText(40SMALLINSMALLINText(8Text(15SMALLINSMALLINText(60YesNSMALLINText(40Text(40INTEGESMALLINSMALLININTEGE
ltpkfk4
ltfk1
ltfk3
ltfk2
SERVICIOS_ESCOLARE
Id_materiINSCRITONOSIMULACIOPROXIMOGRUPOSIndice deperiodantildeGruposAlumnosId_ajustId_regl
INTEGESMALLINSMALLINSMALLINSMALLINDOUBLDOUBLText(7INTEGESMALLINSMALLININTEGESMALLIN
TIPO_HORARI
Tipo_horariDescripcioLuneMarteMiercoleJueveVierneSabad
COUNTEText(20SMALLINSMALLINSMALLINSMALLINSMALLINSMALLIN
ltpk
HORARIO
GrupId_aulHora_iniciHora_luneHora_marteHora_miercoleHora_jueveHora_vierneHora_sabadObservacionePeriodAniid_materiId_catedratic
Text(2INTEGEINTEGEText(6Text(6Text(6Text(6Text(6Text(6Text(30Text(20INTEGEINTEGESMALLIN
ltfk3
ltfk2ltfk1
Fig414 Diagrama E-R del moacutedulo para asignar horario (PLR)
Capiacutetulo 4 Anaacutelisis y Disentildeo
FK_HECHOS_M_REFERENCE_MATERIAS
FK_HECHOS_M_REFERENCE_CATEDRAT
HECHOS_MAT_PROF
Id_catedraticoId_materiaPromedio
SMALLINTSMALLINTSMALLINT
ltpkfk1gtltpkfk2gt
FK_PERFIL_C_REFERENCE_CATEDRAT
FK_PERFIL_C_REFERENCE_PERFILES
FK_PERFILES_REFERENCE_TIPO_PER
FK_PROF_PAR_REFERENCE_CATEDRAT
FK_PROF_PAR_REFERENCE_MATERIAS
PERFIL_CATEDRATICO
Id_catedraticoId_perfilPrioridad_perfil_cate
SMALLINTINTEGERSMALLINT
ltfk1gtltfk2gt
CATEDRATICOS
Id_catedraticoApellido_paternoApellido_maternoNombre_catedraticoTitulo_catedraticoSuma_cate
SMALLINTText(20)Text(20)Text(20)Text(30)SMALLINT
ltpkgt
PERFILES
Id_perfilId_tipoDescripcion_perfil
COUNTERINTEGERText(60)
ltpkgtltfkgt
TIPO_PERFIL
Id_tipoTipo_perfil
COUNTERText(30)
ltpkgt
PROF_PARA_MAT
Id_materiaId_catedraticoPorcentaje_cate
INTEGERSMALLINTSMALLINT
ltpkfk2gtltpkfk1gt
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
Fig 415 Diagrama E-R del moacutedulo designa mejor catedraacutetico (Sistema Experto)
Capiacutetulo 4 Anaacutelisis y Disentildeo
En las figuras de la paacutegina anterior y eacutesta (Fig 415 y 416) se muestran las tablasutilizadas por los Sistemas Expertos para sugerir que materias puede impartir unprofesor y tambieacuten sugiere que profesores pueden impartir una asignatura
FK_PERFILES_REFERENCE_TIPO_PER
FK_PERFIL_M_REFERENCE_MATERIAS
FK_PERFIL_M_REFERENCE_PERFILES
FK_MAT_PARA_REFERENCE_MATERIAS
FK_MAT_PARA_REFERENCE_CATEDRAT
FK_HECHOS_M_REFERENCE_MATERIAS
FK_HECHOS_M_REFERENCE_CATEDRAT
PERFILES
Id_perfilId_tipoDescripcion_perfil
COUNTERINTEGERText(60)
ltpkgtltfkgt
TIPO_PERFIL
Id_tipoTipo_perfil
COUNTERText(30)
ltpkgt
PERFIL_MATERIA
Id_materiaId_perfilPrioridad_perfil_mat
INTEGERINTEGERINTEGER
ltfk2gtltfk1gt
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
MAT_PARA_PROF
Id_catedraticoId_materiaPorcentaje_mat
SMALLINTINTEGERSMALLINT
ltpkfk1gtltpkfk2gt
CATEDRATICOS
Id_catedraticoApellido_paternoApellido_maternoNombre_catedraticoTitulo_catedraticoSuma_cate
SMALLINTText(20)Text(20)Text(20)Text(30)SMALLINT
ltpkgt
HECHOS_MAT_PROF
Id_catedraticoId_materiaPromedio
SMALLINTSMALLINTSMALLINT
ltpkfk1gtltpkfk2gt
Fig 416 Diagrama E-R del moacutedulo selecciona mejor materia (sistema experto)
Capiacutetulo 4 Anaacutelisis y Disentildeo
455 Diccionario de la Base de Datos
Nombre HORARIOS_CON_CONOCIMIENTOComentario Base de datos del sistema ldquoGeneracioacuten de horarios mediante Sistemas
Basados en ConocimientordquoDBMS Microsoft Access 97
Lista de Tablas
Nombre Tipo deObjeto
AJUSTES TableAULAS TableCARRERAS TableCATEDRATICOS TableCRITERIOS TableCROMOSOMAS TableHECHOS TableHECHOS_MAT_PROF TableHECHOS_PROF_MAT TableHECHOS_REGLAS TableHISTORIAL_CRITERIOS TableHISTORIAL_MATERIA TableHORARIO_AULA TableHORARIOS TableMAT_PARA_PROF TableMATERIAS TablePERFIL_CATEDRATICO TablePERFIL_MATERIA TablePERFILES TablePOBLACION TablePROF_PARA_MAT TableRAMA_MATERIA TableREGLAS TableSERVICIOS_ESCOLARES TableTIPO_HORARIO TableTIPO_PERFIL Table
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla AJUSTESFuncioacuten Almacena los datos de los tipos de ajuste que se aplican por el Sistema Experto al
dato estadiacutestico que define cuantos grupos se deben abrir de cada materia
Lista de columnas de la tabla AJUSTESNombre Tipo de
DatoLong Llave
Primaria ForaneaComentario
Tipo Text(25) 25 Nombre del tipo de ajusteDescripcioacuten Memo Explicacioacuten del ajuste a realizar al nuacutemero
de grupos calculados segun estadisticosId_ajuste COUNTER 4 X Identificador del ajuste
Tabla AULASFuncioacuten Almacena los datos de las aulas que existen en cada edificio del instituto
Lista de columnas de la tabla AULASNombre Tipo de
DatoLong Llave
Primaria ForaneaComentario
Id_aula COUNTER 4 X Identificador del aulaCapacidad_aula SMALLINT 4 Nuacutemero maacuteximo de alumnos en el
aulaNombre_aula Text(50) 50 Nombre del aula (edificio+numero)Disponible YesNo 1 Disponibilidad del aula
Tabla CARRERASFuncioacuten Almacena los datos de las carreras que se imparten en el ITZ
Lista de columnas de la tabla CARRERASNombre Tipo de
DatoLong Llave
Primaria ForaneaComentario
Id_Carrera Text(15) 15 X Clave de la carreraNombre_carrera Text(50) 50 Nombre de la carrera
Tabla CATEDRATICOSFuncioacuten Almacena los datos de los CATEDRAacuteTICOS que imparten clases en las diferentes carreras del
Instituto Se utilizan los datos en los Sistemas Expertos que definen cual es el mejor catedraacuteticopara impartir una materia
Capiacutetulo 4 Anaacutelisis y Disentildeo
Lista de columnas de la tabla CATEDRATICOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Nuacutemero de tarjeta del catedraacuteticoApellido_paterno Text(20) 20 Apellido paterno del catedraacuteticoApellido_materno Text(20) 20 Apellido materno del catedraacuteticoNombre_catedratico Text(20) 20 Nombre del catedraacuteticoTitulo_catedratico Text(30) 30 Grado de estudios y tiacutetulo del
catedraacuteticoSuma_cate SMALLINT 4 Suma total de las pesos de los perfiles
pertenecientes al catedraacutetico
Tabla CRITERIOSFuncioacuten Tabla de los criterios utilizados por el experto para crear las reglas que definen el tipo de
ajuste inferido por el Sistema Experto para definicioacuten de grupos por abrir
Lista de columnas de la tabla CRITERIOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_criterio COUNTER 4 X Identificador del criterio aplicado auna materia para crear grupos
Descripcion Text(60) 60 Descripcioacuten del criterio
Tabla CROMOSOMASFuncioacuten Almacena los datos de la evaluacioacuten de cada versioacuten de horarios generada ya sea por la
poblacioacuten inicial o por los operadores geneacuteticos se genera un cromosoma por cadasemestre en cada versioacuten
Lista de columnas de la tabla CROMOSOMASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Version INTEGER 4 X Nuacutemero de individuo o versioacuten dehorarios
Semestre INTEGER 4 Semestre al que pertenece el datoChoques INTEGER 4 Nuacutemero de choques de versioacuten y
semestreVacias INTEGER 4 Nuacutemero de aulas vaciacuteas del individuo
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla HECHOS_MAT_PROFFuncioacuten Esta tabla almacena el resultado de la inferencia del Sistema Experto materias para
profesor indica para cada catedraacutetico las materias y el porcentaje de certeza con quepuede impartirlas
Lista de columnas de la tabla HECHOS_MAT_PROFNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Identificador del catedraacuteticoId_materia SMALLINT 4 X Identificador de la asignaturaPromedio SMALLINT 4 Porcentaje de certeza con que un
profesor puede impartir una materia(resultado de la inferencia)
Tabla HECHOS_PROF_MATFuncioacuten Almacena los datos de la inferencia del Sistema Experto que calcula para una materia
determinada cuales son los mejores maestros para impartirla
Lista de columnas de la tabla HECHOS_PROF_MATNombre Tipo de
DatoLongitud
LlavePrimaria Foraacutenea
Comentario
Id_catedratico SMALLINT 4 X Identificador del catedraacuteticoId_materia SMALLINT 4 X Identificador de la asignaturaPromedio SMALLINT 4 Porcentaje de certeza con que una
materia puede ser impartida por unprofesor (resultado de la inferencia)
Tabla HECHOS_REGLASFuncioacuten Almacena los porcentajes de certeza con que se dispara una regla del Sistema Experto
que define los grupos por abrir
Lista de columnas de la tabla HECHOS_REGLASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_criterio SMALLINT 4 X Identificador del criterioId_regla SMALLINT 4 X Identificador de la reglaPromedio INTEGER 4 Porcentaje de certeza con que una
regla dispara un criterio
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla HISTORIAL_CRITERIOS
Funcioacuten Almacena las reglas formadas por los criterios utilizados por el Sistema Experto paradefinir los grupos por abrir
Lista de columnas de la tabla HISTORIAL_CRITERIOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_criterio INTEGER 4 X Identificador del criterio pertenecientea la regla
Id_regla INTEGER 4 X Identificador de la reglaPeso de la regla SMALLINT 4 Peso del criterio en la regla
Tabla HISTORIAL_MATERIAFuncioacuten Tabla que almacena la definicioacuten de cada materia con base en los criterios utilizados por
las reglas para definir por materia el nuacutemero de grupos por abrir
Lista de columnas de la tabla HISTORIAL_MATERIANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materia para suasignacioacuten de criterios
Id_criterio INTEGER 4 X Identificador del criterio que se aplicaa la materia para describirla
Prioridad SMALLINT 4 Peso del criterio en la materia
Tabla HORARIOS
Funcioacuten Almacena los datos del condensado final de horarios aquiacute se almacena el producto finaldel sistema para su posterior publicacioacuten y distribucioacuten entre la comunidad tecnoloacutegica
Lista de columnas de la tabla HORARIOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materiaGrupo Text(2) 2 Identificador del grupo A B CId_catedratico SMALLINT 4 X Catedraacutetico asignado al grupoId_aula INTEGER 4 X Aula asignada al grupoHora_inicio INTEGER 4 Hora de inicio del grupoHora_lunes Text(6) 6 Horas que se imparte el grupo el diacutea
lunes
Capiacutetulo 4 Anaacutelisis y Disentildeo
Hora_martes Text(6) 6Hora_miercoles Text(6) 6Hora_jueves Text(6) 6Hora_viernes Text(6) 6Hora_sabado Text(6) 6Observaciones Text(30) 30 Observaciones al grupoPeriodo Text(20) 20 Periodo Ene-jun o Ago-dicAnio INTEGER 4 Antildeo en que se utiliza el horario
Tabla HORARIO_AULAFuncioacuten Tabla auxiliar utilizada como almacenamiento temporal durante el proceso de evaluacioacuten
en el Algoritmo Geneacutetico guarda los datos de ocupacioacuten choques y no utilizacioacuten decada aula por hora diacutea y versioacuten
Lista de columnas de la tabla HORARIO_AULANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Version INTEGER 4 X Nuacutemero de individuo o versioacutenAula Text(6) 6 Nombre del aulaLunes SMALLINT 4 Nuacutemero de horas que se utiliza el aula
el diacutea lunesMartes SMALLINT 4Miercoles SMALLINT 4Jueves SMALLINT 4Viernes SMALLINT 4Sabado SMALLINT 4Hora SMALLINT 4 Hora de utilizacioacuten del aulaId_aula INTEGER 4 X Identificador del aula en la versioacuten
Tabla MATERIASFuncioacuten Esta es una de las principales tablas del proyecto se utiliza en todos los moacutedulos del
sistema contiene informacioacuten base para caacutelculos diversos ademaacutes contiene tambieacuten lasllaves de diferentes tablas que describen de manera de manera especial a las materias
Lista de columnas de la tabla MATERIASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia COUNTER 4 X Identificacioacuten de la materia llaveprincipal
Materia Text(40) 40 Nombre de la materiaNum de Hrs prac SMALLINT 4 Nuacutemero de horas praacutecticasNum de Hrs teo SMALLINT 4 Nuacutemero de horas teoacutericasClave de Asig Text(8) 8 Clave oficial de la materiaId_Carrera Text(15) 15 X Carrera a la que pertenece la materiaCreditos SMALLINT 4 Creacuteditos de la materia
Capiacutetulo 4 Anaacutelisis y Disentildeo
Semestre SMALLINT 4 Semestre en que se imparte la materiaObservaciones Text(60) 60Tronco comun YesNo 1 Definicioacuten de especialidad o tronco
comuacutenalumnos porgrupo
SMALLINT 4 Capacidad sugerida de los grupos deesta materia
clave de asigprerequisito
Text(40) 40 Clave de asignatura del prerrequisito
clave de asigprerequisito1
Text(40) 40 Clave de asignatura del prerrequisito
Id_rama INTEGER 4 X Identificador de la rama a la quepertenece la materia
Suma_mat SMALLINT 4 Suma total de los perfilespertenecientes a la materia
Orden SMALLINT 4 Es el nuacutemero de materia en un paqueteTipo_horario INTEGER 4 X El tipo de horario asignado a materia
Tabla MAT_PARA_PROFFuncioacuten La tabla almacena para cada catedraacutetico las asignaturas que puede impartir y el grado
de certeza con que puede hacerlo se almacena en esta tabla el resultado de la inferenciadel Sistema Experto
Lista de columnas de la tabla MAT_PARA_PROFNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Nuacutemero de tarjeta del profesorId_materia INTEGER 4 X Identificador de la materiaPorcentaje_mat SMALLINT 4 Porcentaje de certeza con que un
profesor puede impartir una materia
Tabla PERFILESFuncioacuten Tabla que contiene una relacioacuten de todas las caracteriacutesticas de las materias
caracteriacutesticas necesarias para poder impartirlas es al mismo tiempo la tabla quecontiene la relacioacuten general de los conocimientos que poseen los profesores
Lista de columnas de la tabla PERFILESNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_perfil COUNTER 4 X Identificador del perfil paraasignaciones de materias acatedraacuteticos
Id_tipo INTEGER 4 X Identificador del tipo del perfilDescripcion_perfil Text(60) 60 Descripcioacuten de una caracteriacutestica del
perfil de una materia o un catedraacutetico
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla PERFIL_CATEDRATICOFuncioacuten Tabla que contiene el perfil de todos los catedraacuteticos (pueden llamarse las reglas) del
Sistema Experto que recomienda profesores para las materias el perfil de un catedraacuteticoesta definido por los conceptos que domina de las materias
Lista de columnas de la tabla PERFIL_CATEDRATICONombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Identificador del catedraacutetico paradefinicioacuten de su perfil acadeacutemico
Id_perfil INTEGER 4 X Identificador del perfil que define aun catedraacutetico
Prioridad_perfil_cate SMALLINT 4 Porcentaje en que contribuye elperfil especificado en la definicioacutendel catedraacutetico
Tabla PERFIL_MATERIAFuncioacuten Esta tabla almacena las reglas que definen el perfil de una materia contiene las
caracteriacutesticas y temas que forman el temario de la materia
Lista de columnas de la tabla PERFIL_MATERIANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materia en laregla de la materia
Id_perfil INTEGER 4 X Identificador del perfilperteneciente a una materia
Prioridad_perfil_mat INTEGER 4 Porcentaje en que contribuye esteperfil particular a definir unamateria
Tabla PROF_PARA_MATFuncioacuten Esta tabla almacena la inferencia del Sistema Experto para determinar cuales son los
mejores profesores para impartir una materia contiene para cada asignatura una lista delos profesores y el porcentaje de certeza con que pueden desempentildearse si la imparten
Capiacutetulo 4 Anaacutelisis y Disentildeo
Lista de columnas de la tabla PROF_PARA_MATNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de materiaId_catedratico SMALLINT 4 X Identificador de catedraacuteticoPorcentaje_cate SMALLINT 4 de certeza con que el catedraacutetico X
puede impartir la materia Y
Tabla POBLACIONFuncioacuten La tabla es la maacutes importante para el moacutedulo de Algoritmo Geneacutetico porque almacena los
datos de cada individuo hipoacutetesis o versioacuten que son generados ya sea por la poblacioacuteninicial aleatoria o por los diversos operadores geneacuteticos contiene copias (versiones) delcondensado de horarios con aulas aleatorias
Lista de columnas de la tabla POBLACIONNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materiaGrupo Text(4) 4 Grupo de la materiaId_catedratico INTEGER 4 X Identificador del catedraticoAula Text(4) 4 X Nombre del aula (edificio + numero)Hora_inicio INTEGER 4 Hora de inicio del grupoHora_lunes Text(6) 6 Hora inicio del lunesHora_martes Text(6) 6Hora_miercoles Text(6) 6Hora_jueves Text(6) 6Hora_viernes Text(6) 6Version INTEGER 4 X Nuacutemero de la versioacuten o hipoacutetesisPeriodo Text(10) 10 Periodo o semestre del grupoAnio INTEGER 4 Antildeo del grupo
Tabla RAMA_MATERIAFuncioacuten La tabla almacena la clasificacioacuten de las materias de acuerdo a las ciencias a la que
pertenecen
Lista de columnas de la tabla RAMA_MATERIANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_rama COUNTER 4 X Identificador de la rama de unamateria (clasificacioacuten)
Nombre_rama Text(30) 30 Descripcioacuten de la rama de unamateria
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla REGLAS
Funcioacuten Esta tabla almacena las reglas utilizadas para generar los grupos que se deben ofertar elproacuteximo semestre indicando para cada regla el tipo de ajuste que debe aplicarse
Lista de Columnas de la Tabla REGLASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Descripcion Text(70) 70 Descripcioacuten de la regla para ajustarel nuacutemero de grupos
Id_regla COUNTER 4 X Identificador de la reglaId_ajuste INTEGER 4 X Identificador del tipo de ajuste que
se aplica cuando esta regla sedispara para alguna materia
Tot_peso INTEGER 4 Total de los pesos de lascaracteriacutesticas de esta regla
Tabla SERVICIOS_ESCOLARESFuncioacuten En esta tabla se almacenan los datos estadiacutesticos de cada materia que provienen de
Servicios Escolares para el caacutelculo del nuacutemero de grupos que deben abrirse para elproacuteximo semestre contiene tambieacuten los paraacutemetros proporcionados por el SistemaExperto para realizar el ajuste al nuacutemero de grupos calculado inicialmente
Lista de columnas de la tabla SERVICIOS_ESCOLARESNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materiaINSCRITOS SMALLINT 4 Nuacutemero de alumnos inscritos
actualmente en el grupoNO INSCRITOS SMALLINT 4 Nuacutemero de alumnos que pueden
cursar la materia pero no seinscribieron
SIMULACION SMALLINT 4 Simulacioacuten de Servicios Escolaresde alumnos que podraacuten cursar lamateria
PROXIMOSEMESTRE
SMALLINT 4 Resultado del calculo de ServEscolares de alumnos que cursaraacutenla materia
GRUPOSREQUERIDOS
DOUBLE 4 Grupos requeridos para abrirproacuteximo semestre seguacuten caacutelculosiniciales
Indice dereprobacion
DOUBLE 4 Indice de reprobacioacuten de la materia
periodo Text(7) 7 Periodo de caacutelculo de horarios actual(semestre ene-jun o ago-dic)
Capiacutetulo 4 Anaacutelisis y Disentildeo
antildeo INTEGER 4 Antildeo de caacutelculo de horariosGrupos ajustado SMALLINT 4 Nuacutemero de grupos a solicitar para
abrir proacuteximo semestreAlumnos ajustado SMALLINT 4 Caacutelculo final del numero de alumnos
del proacuteximo semestre en estamateria
Id_ajuste INTEGER 4 X Tipo del ajuste aplicado por elSistema Experto al campogrupos_requeridos
Id_regla SMALLINT 4 X Regla que se disparo para realizar elajuste
Tabla TIPO_HORARIOFuncioacuten Esta tabla almacena los formatos de los distintos tipos de horario que existen y se ofrecen
para cada materia horarios de 2345 diacuteas a la semana y de 123 o 4 horas por diacutea
Lista de columnas de la tabla TIPO_HORARIONombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Tipo_horario COUNTER 4 X Identificador del tipo de horarioDescripcion Text(20) 20 Descripcioacuten del tipo de horarioLunes SMALLINT 4 Nuacutemero de horas del lunesMartes SMALLINT 4 Nuacutemero de horas del martesMiercoles SMALLINT 4 Nuacutemero de horas del mieacutercolesJueves SMALLINT 4 Nuacutemero de horas del juevesViernes SMALLINT 4 Nuacutemero de horas del viernesSabado SMALLINT 4 Nuacutemero de horas del saacutebado
Tabla TIPO_PERFILFuncioacuten Aquiacute se almacena una clasificacioacuten de los perfiles de acuerdo a la rama de conocimiento
a la que pertenecen
Lista de columnas de la tabla TIPO_PERFILNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_tipo COUNTER 4 X Identificador del tipo de perfilTipo_perfil Text(30) 30 Descripcioacuten del tipo de perfil de los
catedraacuteticos o las materias
Capiacutetulo 4 Anaacutelisis y Disentildeo
456 Lista de funciones o programas
Nombre Programa Descripcioacuten del programa
Ajustes Datos generales de los tipos de ajustes que se aplican al nuacutemero degrupos por abrir al dato de Servicios Escolares
Aulas Captura los datos de las aulas disponibles para claseCaptura_horarios Este programa realiza los cambios posteriores a la generacioacutenCarreras Captura los datos de las carreras del tecnoloacutegicoCatedraticos Datos generales de los catedraacuteticosClonacion Obtiene una copia (clon) del mejor individuo de una generacioacutenCons_ajuste Muestra yo imprime los datos generales de los ajustesCons_aulas Emite una pantalla de consulta general de aulasCons_captura_horarios Muestra una pantalla de consulta de los horarios generadosCons_carrera Despliega yo imprime las carrerasCons_catedratico Muestraimprime los datos generales de los catedraacuteticosCons_criterio Formulario que muestra yo despliega los criterios generalesCons_critXmat Muestra yo imprime los criterios de una materiaCons_critXregla Despliegaimprime los criterios que forman una reglaCons_gpos_abrir Explicacioacuten de la inferencia realizada (reglas disparadas)Cons_hist_crit Muestra las reglas de produccioacuten de los criteriosCons_materia Pantalla que despliega yo imprime datos de las materiasCons_materia_gral Pantalla de consulta general de los datos de materiasCons_perf_cate Consultaimprime los datos del perfil acadeacutemico de los
catedraacuteticosCons_perf_mate Consultaimprime los datos del perfil acadeacutemico de las materiasCons_perfil Muestraimprime datos de los perfilesCons_perfiles Consulta a la lista de perfiles o caracteriacutesticas Cons_perfilxmat Consulta a las reglas de produccioacuten del perfil de una materiaCons_rama Consulta a la lista de ramas (clasificacioacuten de las materias)Cons_reglas Consulta a la base de reglas para ajustar nuacutemero de gruposCons_serv_esc Consulta a las tablas que tienen informacioacuten de Servicios
EscolaresCons_serv_escol Pantalla que muestra yo imprime los datos estadiacutesticos de Serv
EscCons_tipo_perfil Consulta a los tipos de perfil (clasificacioacuten de perfiles)Crit_X_mat Formulario que captura los criterios pertenecientes a una materiaCrit_X_regla Captura los criterios que forman una regla de produccioacutenCriterios Pantalla que captura el conocimiento de criterios para el SECriteriosxmat Pantalla de captura para los criterios por materiaCruzamiento Programa que realiza la combinacioacuten (cruza) de individuos de la
poblacioacuten en el Algoritmo Geneacutetico
Capiacutetulo 4 Anaacutelisis y Disentildeo
Evaluacion Programa que realiza la creacioacuten del cromosoma de evaluacioacuten alevaluar las versiones de horarios de una generacioacuten
Explica_ajustes Moacutedulo de explicacioacuten del porque se aplicoacute determinado ajuste auna materia
Explica_mat_p_prof Explicacioacuten del porque una materia puede ser impartida por unprofesor con cierto grado de certidumbre
Explica_prof_p_mat Explicacion del porque un profesor puede impartir una materiacon cierto grado de certidumbre
Genera_horarios Sistema que utiliza Programacioacuten Loacutegica de Restricciones paragenerar los paquetes de horarios de un semestre
Genera_paquete Muestra el paquete generado por el procesoGrupo_nuevo Programa que va generando los paquetesGrupos_por_abrir Inferencia realizada para definir el ajuste aplicado a los grupos
definidos por Servicios EscolaresHistorial_criterios Captura los criterios necesarios para hacer una reglaHistorial_materia Captara los criterios por materiaMat_para_prof Inferencia realizada para determinar que profesores pueden
impartir una materiaMaterias Actualizacioacuten al archivo datos generales de las materiasMenu_algoritmos_geneticos Menuacute del moacutedulo para asignar aula a los gruposMenu_generacion_grupos Menuacute del Sistema Experto para definir cuantos grupos abrirMenu_asigna_horario Menuacute del moacutedulo asignacioacuten de horarioMenu_principal Menuacute principal del sistemaMenu_sel_catedra Menuacute del Sistema Experto para seleccioacuten de catedraacuteticos a
materiaMutacion Programa que hace la modificacioacuten de informacioacuten de aulas de
alguna versioacuten (versioacuten)Perfil_catedratico Captura el perfil acadeacutemico de los catedraacuteticosPerfil_materia Captura el perfil acadeacutemico de las materiasPerfiles Datos generales del perfil acadeacutemico de materias y catedraacuteticosPoblacion_inicial Programa que genera versiones de horarios y que de manera
aleatoria le va asignando aula a los gruposPortada_principal Es la ventana de entrada al sistemaProf_para_mat Inferencia realizada para determinar que materias pueden ser
impartidas por un profesorRama Programa que capturas las posibles ramas de los materiasReglas Datos generales de las reglas de produccioacuten para definir el No de
grupos por abrirSeleccioacuten Proceso que selecciona las mejores versiones de horarios (mejores
individuos) y elimina las menos aptasServ_escolares Pantalla de captura de los datos estadiacutesticos de Servicios EscolaresTipo_perfil Programa que captura la clasificacioacuten de los perfiles de materias y
profesores
Capiacutetulo 4 Anaacutelisis y Disentildeo
457 Diagrama de Arquitectura (Menuacutes)
Menuacute general
Menuacute Grupos porabrir
MenuacuteGeneracioacuten de
horarios
MenuacuteAsignacioacuten de
aulas
Datos de materias
Estadiacutesticos Serv Esc
Criterios
Criterios por materia
Reglas
Criterios por regla
Ajustes
Carreras
Nuacutemero de grupos
MenuacuteSeleccioacuten decatedraacuteticos
Genera paquete
Genera horarios
Datos generalesgrupos
Datos de aulas
Genera poblacioacuteninicial
Evaluacioacuten
Seleccioacuten
Cruzamiento
Clonacioacuten
Mutacioacuten
Horarios finales
Perfiles
Perfil de las materias
Perfil de catedraacuteticos
Catedraacuteticos
Perfil de loscatedraacuteticos
Asignacioacuten materia aprofesor
Asignacioacuten profesor amateria
Capiacutetulo 4 Anaacutelisis y Disentildeo
Capiacutetulo 5 Implementacioacuten del sistema
CAPIacuteTULO 5
IMPLEMENTACIOacuteN
51 Pantallas del sistema
La Figura 51 muestra la portada inicial del proyecto Contiene los logotipos de las tresinstituciones participantes y el nombre del proyecto
Fig 51 Portada inicial del proyecto
La Figura 52 es la pantalla que proporciona la informacioacuten de los autores del proyecto
Es el botoacutende entrada alsistema
Botoacuten deinformacioacuten delos autores
Capiacutetulo 5 Implementacioacuten del sistema
Fig 52 Acerca del sistema
La Figura 53 muestra el menuacute principal del proyecto contiene y 4 moacutedulos La primeraopcioacuten incluye los moacutedulos administrativo y generacioacuten de grupos la segunda opcioacutenincluye seleccioacuten de maestro y seleccioacuten de materia
Fig 53 Menuacute principal del proyecto
Moacutedulos delproyecto
Cuadro queproporcionalainformacioacutende la opcioacutensentildealada porel cursor
Capiacutetulo 5 Implementacioacuten del sistema
En la Figura 54 se tiene la pantalla del menuacute que agrupa los programas del moacuteduloadministrativo y Sistema Experto para determinar el nuacutemero de grupos por abrir seguacutenlos caacutelculos realizados con los datos de Servicios Escolares y el ajuste a ese dato
Fig 54 Menuacute grupos por abrir
Este programa del moacutedulo administrativo (Figura 55) sirve para capturar la informacioacutengeneral de las asignaturas que componen una carrera
Fig 55 Materias
Programas delos moacutedulos
Descripcioacutende laactividad delprogramaseleccionado
Nombre de laasignatura
Nuacutemero dehoraspraacutecticas yteoacutericas
Alumnos por grupopara calcularcantidad de grupos
Dato para formarpaquetes porsemestre
Icono quehabilita lacaptura denuevosdatos
Icono queregresa alMenuacute anterior
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 56 es un ejemplo de la consulta de datos en pantalla
Fig 56 Consulta Materias
La Figura 57 es la pantalla donde se capturan los datos estadiacutesticos provenientes deServicios Escolares contiene la informacioacuten necesaria para realizar el caacutelculo originaldel nuacutemero de grupos de cada asignatura que se debe abrir para ofertarse a los alumnosel siguiente semestre la foacutermula mostrada proporciona tal dato
Botoacuten queregresa elcontrol alprogramaque loinvocoacute
Alumnosesperados parael proacuteximo
Fccg
Datosestadiacutesticos
Fig 57 Pantalla Servicios Es
semestre
oacutermula paraaacutelculoantidad-rupos
Caacutelculosgeneral y pormateria
Grupos (datoestadiacutestico)
colares
Capiacutetulo 5 Implementacioacuten del sistema
En la Figura 58 se muestra la pantalla de consulta de los datos estadiacutesticosproporcionados por Servicios Escolares
Fig 58 Pantalla consulta Servicios Escolares
Esta pantalla captura las caracteriacutesticas por materia que dan origen al conocimientonecesario para definir el tipo de ajuste que se aplica al dato del nuacutemero de gruposproporcionado por los caacutelculos estadiacutesticos de la pantalla anterior
Criterios de unamateria
Fig 59 Pantalla criterios por materia
Grado deimportancia de esacaracteriacutestica para la
Capiacutetulo 5 Implementacioacuten del sistema
En la Figura 510 se muestra un ejemplo de la consulta a la base de datos del sistema enla parte de criterios por materia
Fig 510 Pantalla consulta criterios por materia
Esta pantalla (fig 511) proporciona al sistema la capacidad de capturar modificarborrar e imprimir las carreras del Instituto Tecnoloacutegico de Zacatepec
Fig 511 Pantalla carreras
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 512 proporciona al sistema la capacidad para capturar los criterios(conocimientos) del experto para definir a cada materia
Fig 512 Pantalla criterios
La Figura 513 muestra un ejemplo de consulta al archivo de los criterios capturados enel sistema
Fig 513 Pantalla consulta criterios
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 514 muestra la pantalla de captura de las reglas que componen el SistemaExperto para determinar el tipo de ajuste que se aplicaraacute al dato estadiacutestico del nuacutemerode grupos que se van a abrir el proacuteximo semestre cada regla tiene asignado un tipo deajuste
Fig 514 Pantalla reglas
La Figura 515 muestra un ejemplo de la consulta al archivo de las reglas que utiliza elSistema Experto para determinar nuacutemero de grupos por ofertar el proacuteximo semestre
Fig 515 Pantalla consulta reglas
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 516 muestra la pantalla de captura al archivo de ajustes noacutetese que ladescripcioacuten explica en extenso la accioacuten que se realiza al aplicar este ajuste provenientede una regla disparada por los criterios pertenecientes a la definicioacuten de una materia
Fig 516 Pantalla ajustes
La Figura 517 muestra la pantalla de la consulta a los ajustes que contiene el sistema
Fig 517 Pantalla consulta ajustes
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 518 muestra la pantalla que captura los criterios para cada regla Una reglaestaacute formada por el mismo tipo de criterios que definen a las materias
Criteriosde una
Fig 518 Pantalla criterios por regla
La Figura 519 muestra el ejemplo de una consulta de los criterios que definen a unaregla
Fig 519 Pantalla consulta criterios por regla
Reglas de produccioacuten Criterios por regla
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 520 es la pantalla maacutes importante de moacutedulo de generacioacuten de grupos porquees donde se realiza la inferencia para calcular el tipo de ajuste que se va a aplicar a cadamateria con base en las reglas que se disparan y que hacen match los criterios de unaregla y los criterios de una materia
Fig 520 Pantalla caacutelculo de ajustes
Esta pantalla (Figura 521) ofrece una explicacioacuten mostrando los criterios que definenuna materia y su correspondiente regla disparada mostrando los criterios de la regla quehacen match con los criterios de la materia
Fig 521 Pantalla explicacioacuten de la inferencia
Asignaturaa la que sele aplicaraacuteel ajuste
Regla quese disparaseguacutencriterios
Tipo deajuste quese aplica
Dato seguacutenestadiacutestico
Datos seguacutenajuste delSistemaExperto
Inferenciageneral
Inferenciaindividual
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 522 muestra el formulario que forma los paquetes de materias seguacuten laretiacutecula de una carrera muestra el nuacutemero de grupos por cada materia que se van aformar y hace los paquetes asignando los grupos AA AB AC AD
Fig 522 Pantalla inicial del moacutedulo generacioacuten de horarios
La Figura 523 es el formulario del moacutedulo Programacioacuten Loacutegica de Regenera los horarios por paquete satisfaciendo las restricciones para forlibre de choques continuo (sin horas muertas) cumpliendo las horas por m
Fig 523 Pantalla principal del moacutedulo generacioacuten de horari
Semestre al que sele formaraacuten lospaquetes
Paquetes generadosHora de iniciode clases decada grupo
Materias delsemestre
Nuacutemero de gruposal que se lesgeneraraacute horario
MateriaPaquete
Nuacutemero dehoras por diacutea
Botonesque invocanal moacutedulogeneradorde horarios
stricciones quemar un horarioateria etc
Hora de iniciode la materia
os
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 524 muestra el moacutedulo para asignar aula a los horarios que ya tienen materiagrupo y hora
Fig 524 Pantalla principal del menuacute Algoritmos Geneacuteticos
Esta pantalla (Figura 525) se utiliza para hacer altas bajas consulta y modificaciones alos grupos que se les va a dar aula
Fig 525 Pantalla de administracioacuten de grupos
Periodode loshorarios
Hora iniciodel grupo
Hora por diacutea
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 526 muestra una consulta de la pantalla administracioacuten de grupos
Fig 526 Pantalla de consulta de administracioacuten de grupos
La Figura 527 muestra la pantalla para actualizar las aulas disponibles por las personasque generan los horarios estas aulas estaacuten disponibles para que el Algoritmo Geneacuteticolas utilice para asignarles grupos durante el proceso
Fig 527 Pantalla del control de aulas
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 528 muestra la consulta de las aulas que utiliza el moacutedulo generacioacuten deaulas
Fig 528 Pantalla de consultas del control de aulas
La Figura 529 muestra la pantalla que genera la poblacioacuten inicial a partir de los datosgenerales proveniente de los moacutedulos anteriores
Fig 529 Pantalla de genera poblacioacuten inicial
Nuacutemero dehipoacutetesisversiones oindividuos
Aula aleatoriagenerada
Este botoacuteninicia lageneracioacutende las nversionesde horarios
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 530 muestra la pantalla que evaluacutea las versiones originadas y genera paracada una de ellas un cromosoma cuyos genes contienen la informacioacuten obtenida
Fig 530 Pantalla de evaluacioacuten de versiones
La Figura 531 muestra el formulario del proceso de seleccioacuten de las mejores versionesde horarios toma aquellas que tienen menor numero de choques y mayor espacio deocupacioacuten de aulas
Fig 531 Pantalla del proceso de seleccioacuten
Cantidad deversiones quesobreviviraacuten
Cromosomas delos mejoresindividuos
Botoacuten queinicia elproceso deseleccioacuten
Botoacuten queinicia elproceso deeliminacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 532 muestra la pantalla del proceso de clonacioacuten donde se selecciona la mejorversioacuten y se obtiene un clon ideacutentico con un nuevo nuacutemero de versioacuten
Fig 532 Pantalla del proceso de clonacioacuten
La Figura 533 muestra la pantalla del proceso de mutacioacuten utilizado para hacer elcambio ldquomutarrdquo los datos de una versioacuten para romper alguacuten ciclado de la tendencia haciael resultado o simplemente para acelerar el proceso de optimizacioacuten
Cromosomasde versionesmaacutes aptas
Nuacutemero demejor versioacuten
Poblacioacutenversiones
Cromosomamuestra lasmejoresversiones
Aulas quepueden mutarse
Botoacuten queinicia elproceso demutacioacuten
Nuacutemero deversioacuten
Fig 533 Pantalla de mutacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 534 muestra la pantalla donde se realiza el cruzamiento utilizando plantillaspredeterminadas dirigiendo la cruza de versiones por paquetes de materias agrupadas porsemestre y cada plantilla genera una nueva versioacuten con la combinacioacuten de fragmentosde varias versiones
Fig 534 Pantalla del proceso de cruzamiento
La Figura 535 permite la seleccioacuten y enviacuteo de la mejor versioacuten de horarios y adaptarloal moacutedulo administrativo para su distribucioacuten y publicacioacuten
Fig 535 Horarios finales
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 536 muestra el menuacute de los moacutedulos que sugiere maestros para impartir unaasignatura y sugerencia de asignatura para alguacuten maestro
Fig 536 Pantalla menuacute seleccioacuten de catedraacuteticos
La Figura 537 muestra la pantalla para la captura de caracteriacutesticas de losconocimientos requeridos para dar una materia que son las mismas caracteriacutesticas quedefinen los conocimientos de un profesor para impartir las materias
Fig 537 Pantalla de perfiles
Clasificacioacutende los perfiles
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 538 muestra una consulta de los perfiles agrupados por tipo
Fig 538 Pantalla de consulta perfiles
La Figura 539 muestra la pantalla en la que se definen los conocimientos requeridospara poder impartir una asignatura de acuerdo al perfil y contenido temaacutetico
Fig 539 Pantalla perfiles de las materias
La Figura 540 muestra un ejemplo de la consulta al perfil de una materia
Importancia de lacaracteriacutestica en la materia
Capiacutetulo 5 Implementacioacuten del sistema
Fig 540 Pantalla consulta perfiles de las materias
La Figura 541 es utilizada para capturar los datos de los catedraacuteticos que imparten lasasignaturas de una carrera
Fig 541 Pantalla captura datos de catedraacuteticos
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 542 es una muestra de la consulta al archivo de los catedraacuteticos
Fig 542 Pantalla consulta datos de catedraacuteticos
La Figura 543 muestra la pantalla en que se captura el perfil de los catedraacuteticos elperfil son los conocimientos que tiene el profesor que lo capacitan para impartir algunaasignatura
Fig 543 Pantalla captura perfil de catedraacuteticos
Conocimientosdel profesor
Barra deseleccioacuten deperfiles
Grado dedominio deltema
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 544 muestra una consulta tiacutepica al archivo de perfiles de los catedraacuteticos
Fig 544 Pantalla consulta perfil de catedraacuteticos
La Figura 545 muestra la pantalla de inferencia final que sugiere quienes son loscatedraacuteticos maacutes capacitados para impartir una materia haciendo la inferencia mediantela buacutesqueda de matchs entre el perfil de la asignatura y el perfil del catedraacutetico
Fig 545 Pantalla muestra inferencia catedraacuteticos para materia
Candidatos aimpartir lamateria
Botoacuten del proceso deinferencia generalPorcentaje de certeza con
que puede impartirla
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 546 muestra la pantalla de explicacioacuten donde se indican los perfiles de lamateria y el perfil del profesor
Fig 546 Pantalla explicacioacuten porque un maestro puede dar una materia
La Figura 547 muestra el resultado de la inferencia del proceso que sugiere las materiasque puede impartir un profesor con base en el perfil de la materia y el perfil del profesor
Fig 547 Pantalla materias que puede impartir un profesor
Posibles materia aimpartir Porcentaje de certeza con
que puede impartirlaBotoacuten del proceso deinferencia general
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 548 muestra la pantalla de explicacioacuten donde se indican el perfil de la materiay el perfil del profesor
Fig 548 Pantalla de explicacioacuten porque un profesor puede dar una materia
Capiacutetulo 5 Implementacioacuten del sistema
Capiacutetulo 6 Pruebas y Resultados
CAPIacuteTULO 6
PRUEBAS Y RESULTADOS
61 Pruebas del sistema
Se pueden detectar dentro del desarrollo de sistemas las actividades para realizarpruebas las producidas durante la etapa de requerimientos de disentildeo preliminar y las dedisentildeo detallado Clasificadas de otra manera eacutestas pueden ser funcionales deintegracioacuten y de implementacioacuten
La finalidad de realizar Pruebas funcionales es detectar errores que pudieran habersedado durante las fases de anaacutelisis y de especificacioacuten Por otro lado ellas pueden ayudara probar si el disentildeo es correcto ya que esta fase en sus dos niveles preliminar ydetallado estaacute basada en el anaacutelisis y especificacioacuten de requerimientos del sistema Estaactividad es guiada por los objetivos y requerimientos plasmados Se busca en estaprueba la posibilidad de que se haya incurrido en errores de conceptualizacioacuten yo deespecificacioacuten Las pruebas se organizan tomando como guiacutea las diferentes opciones delsistema final
Las Pruebas de integracioacuten se realizan cuando se procede a interconectar los diferentessubsistemas que constituyen el futuro sistema Como es conocido un sistema puede serdesarrollado por diferentes personas Por esta razoacuten es de suma importancia probar lainterconexioacuten de los diferentes subsistemas y asiacute verificar que ha sido realizada demanera correcta
Las Pruebas de implementacioacuten o codificacioacuten son las que se realizan directamentesobre los programas que se estaacuten desarrollando durante la fase de implementacioacuten Estosmoacutedulos o programas a su vez constituyen subsistemas Por esta razoacuten la integracioacuten delos diferentes moacutedulos que forman un subsistema deben ser probados Estas pruebasdeben estar basadas en la especificacioacuten de disentildeo preliminar y detallado [Gerez 1985]
Los siguientes rubros describen las pruebas maacutes importantes que se consideraron paravalidar el sistema las pruebas funcionales Las pruebas de implementacioacuten se realizarondurante el desarrollo de la codificacioacuten de los diferentes moacutedulos
Capiacutetulo 6 Pruebas y Resultados
62 PRUEBAS DEL SISTEMA
621 PRUEBA 1 AacuteREAS DE MENUacuteS
Objetivo Guiar al usuario en el desarrollo del proceso Esta prueba verifica que elsistema tenga como opciones principales y submenuacutes los sentildealados en la definicioacuten derequerimientos
Criterios de aceptacioacuten Cada prueba verifica que el sistema produzca los resultadossentildealados en la definicioacuten de requerimientos
Procedimiento de la prueba A continuacioacuten se despliegan las pantallascorrespondientes a los menuacutes principales y submenuacutes Las opciones principales delproyecto son dos Menu Principal y Datos de los autores
Resultado de la prueba Los resultados fueron satisfactorios En todas las opcionesactivadas el sistema presentoacute los submenuacutes definidos en la etapa de requerimientos
La Figura 61 muestra la portada inicial del proyecto Contiene los logotipos de las tresinstituciones participantes y el nombre del proyecto
Fig 61 Portada inicial del proyecto
Es el botoacutende entrada alsistema
Botoacuten deinformacioacutende los autores
Capiacutetulo 6 Pruebas y Resultados
La Figura 62 muestra el menuacute principal del proyecto y contiene 4 moacutedulos La primeraopcioacuten incluye los moacutedulos administrativo y generacioacuten de grupos la segunda opcioacutenincluye seleccioacuten de maestro y seleccioacuten de materia
Fig 62 Menuacute principal del proyecto
En la Figura 63 se tiene la pantalla del menuacute que agrupa los programas del moacuteduloadministrativo y Sistema Experto para determinar el nuacutemero de grupos por abrir seguacutenlos caacutelculos realizados con los datos de Servicios Escolares y el ajuste a ese dato
Fig 63 Menuacute grupos por abrir
Moacutedulos delproyecto
Cuadro queproporcionalainformacioacutende la opcioacutensentildealada porel cursor
Programas delos moacutedulos
Descripcioacutende laactividad delprogramaseleccionado
Capiacutetulo 6 Pruebas y Resultados
La Figura 64 muestra el menuacute de los moacutedulos que sugiere maestros para impartir unaasignatura y sugerencia de asignatura para alguacuten maestro
Fig 64 Pantalla menuacute seleccioacuten de catedraacuteticos
La Figura 65 muestra el moacutedulo para asignar aula a los horarios que ya tienen materiagrupo y hora
Fig 65 Pantalla principal del menuacute Algoritmos Geneacuteticos
Capiacutetulo 6 Pruebas y Resultados
622 PRUEBA 2 VALIDACIOacuteN DE ENTRADAS
Objetivo Evitar peacuterdidas de tiempo con entradas erroacuteneas de datos y resultados sinvalidez
Criterios de aceptacioacuten Esta prueba deberaacute mostrar de manera exacta la informacioacutenal seleccionar la opcioacuten deseada
Procedimiento de la prueba Se verifica que todas las cajas de texto tengan el dato quese pide y una vez dados todos los datos se guardan para que estos datos posteriormentesean procesados por el sistema y almacenen los datos correctos
Resultado de la prueba Los resultados fueron satisfactorios En todas las opcionesactivadas el sistema presentoacute los resultados correctos a cada opcioacuten Ademaacutes losdesplegados de mensajes de error se presentaron de manera correcta en todas laspruebas
La Figura 66 muestra la captura de datos de una asignatura y enviacutea el correspondientemensaje de error si una caja de texto se encuentra vaciacutea
Fig 66 Pantalla de captura de datos de las Materias
Muestra elmensaje deerror si esque hacefalta alguacuten
Capiacutetulo 6 Pruebas y Resultados
La Figura 67 muestra una pantalla de captura de datos asignando criterios a una materiay valida la no duplicidad de criterios en esa materia se enviacutea el correspondiente mensajede error si una entrada ya fue capturada
Fig 67 Pantalla de captura de datos de Criterios por Materia
La Figura 68 muestra una pantalla de captura de datos de las carreras al encontrar unregistro ya capturado muestra el mensaje de error si una carrera ya fue capturada
Fig 68 Pantalla de captura de datos de Carreras
Muestra elmensajede error sies que yaexiste elregistro
Muestra elmensaje deerror si esque yaexiste elregistro
Capiacutetulo 6 Pruebas y Resultados
623 PRUEBA 3 DESPLEGADO DE RESULTADOS
6231 MOacuteDULO DE GENERACIOacuteN DE GRUPOS POR ABRIR
Objetivo Proporcionar los datos que el moacutedulo pide para que posteriormente elsistema genere el nuacutemero de grupos sugerido por abrir para cada materia
Criterios de aceptacioacuten Esta prueba muestra la lista de grupos que se deben abrirdespueacutes de aplicar los criterios del Sistema Experto
Procedimiento de la prueba Una vez que se proporcionan los datos que el SistemaExperto requiere el sistema generaraacute una lista de los grupos que se deben abrir elproacuteximo semestre
Resultado de la prueba Los resultados fueron satisfactorios En todos los casospresentados el sistema generoacute la lista en forma satisfactoria y con la informacioacutencorrecta
La Figura 69 es la pantalla maacutes importante de moacutedulo de generacioacuten de grupos porquees donde se realiza la inferencia para calcular el tipo de ajuste que se va a aplicar a cadamateria con base en las reglas que se disparan y que hacen match los criterios de unaregla y los criterios de una materia
Asignaturaa la que sele aplicaraacuteel ajuste
Regla quese disparaseguacutencriterios
Tipo deajuste quese aplica
Inferenciageneral
Datoseguacuten
Fig 69 Pantalla caacutelculo de ajustes
Datos seguacutenajuste delSistemaExperto
Inferenciaindividual
Capiacutetulo 6 Pruebas y Resultados
6232 MOacuteDULO DE GENERACIOacuteN DE HORARIOS
Objetivo Proporcionar los datos que el moacutedulo pide para que posteriormente elsistema genere el horario por semestre de las materias de una carrera
Criterios de aceptacioacuten Esta prueba debe mostrar los horarios para las materias sinerrores sin choques de hora en un paquete
Procedimiento de la prueba Recibe como entrada cuantos grupos abrir de cadamateria en cada semestre y genera primero los paquetes posteriormente a cada paquetede materias le asigna la hora por materia
Resultado de la prueba Los resultados fueron satisfactorios En todos los casospresentados el sistema generoacute los horarios correspondientes
La Figura 610 muestra el formulario que forma los paquetes de materias seguacuten laretiacutecula de una carrera muestra el nuacutemero de grupos por cada materia que se van aformar y hace los paquetes asignando los grupos AA AB AC AD
Fig 610 Pantalla inicial del moacutedulo generacioacuten de horarios
Semestre al que sele formaraacuten lospaquetes
Paquetes generadosHora de iniciode clases decada grupo
Materias delsemestre
Nuacutemero de grupospor al que se lesgeneraraacute horario
Botonesque invocanal moacutedulogeneradorde horarios
Capiacutetulo 6 Pruebas y Resultados
La Figura 611 es el formulario del moacutedulo Programacioacuten Loacutegica de Restricciones quegenera los horarios por paquete satisfaciendo las restricciones para formar un horariolibre de choques continuo (sin horas muertas) cumpliendo las horas por materia etc
Fig 611 Pantalla princip
6233 MOacuteDULO ASIGNACIOacuteN D
Objetivo Utilizar los datos generadoaulas a los paquetes de materias
Criterios de aceptacioacuten Esta pruebaasignacioacuten de aula sin choques
Procedimiento de la prueba Se genAlgoritmos Geneacuteticos durante variachoques en el aula
Resultado de la prueba Los resupresentados el sistema generoacute las aula
MateriaPaquete
Nuacutemero dehoras por diacutea
Hora de iniciode la materia
al del moacutedulo generacioacuten de horarios
E AULA
s en el moacutedulo anterior para hacer la asignacioacuten de
debe mostrar los horarios de las materias con una
eran las aulas utilizando los procedimientos de loss generaciones hasta lograr una generacioacuten sin
ltados fueron satisfactorios En todos los casoss correspondientes
Capiacutetulo 6 Pruebas y Resultados
La Figura 612 muestra la pantalla para actualizar las aulas disponibles por las personasque generan los horarios estas aulas estaacuten disponibles para que el Algoritmo Geneacuteticolas utilice para asignarles grupos durante el proceso
Fig 612 Pantalla del control de aulas
La Figura 613 muestra la consulta de las aulas que utiliza el moacutedulo generacioacuten deaulas
Fig 613 Pantalla de consultas del control de aulas
Capiacutetulo 6 Pruebas y Resultados
La Figura 614 muestra la pantalla que genera la poblacioacuten inicial a partir de los datosgenerales proveniente de los moacutedulos anteriores
Fig 614 Pantalla de genera poblacioacuten inicial
La Figura 615 muestra la pantalla que evaluacutea las versiones originadas y genera paracada una de ellas un cromosoma cuyos genes contienen la informacioacuten obtenida
Fig 615 Pantalla de evaluacioacuten de versiones
Nuacutemero dehipoacutetesisversiones oindividuos
Aula aleatoriagenerada
Este botoacuteninicia lageneracioacutende las nversionesde horarios
Capiacutetulo 6 Pruebas y Resultados
La Figura 616 muestra el formulario del proceso de seleccioacuten de las mejores versionesde horarios toma aquellas que tienen menor numero de choques y mayor espacio deocupacioacuten de aulas
Fig 616 Pantalla del proceso de seleccioacuten
La Figura 617 muestra la pantalla del proceso de clonacioacuten donde se selecciona la mejorversioacuten y se obtiene un clon ideacutentico con un nuevo nuacutemero de versioacuten
Fig 617 Pantalla del proceso de clonacioacuten
Cantidad deversiones quesobreviviraacuten
Cromosomas delos mejoresindividuos
Botoacuten queinicia elproceso deseleccioacuten
Botoacuten queinicia elproceso deeliminacioacuten
Cromosomasde versionesmaacutes aptas
Nuacutemero demejor versioacuten
Poblacioacutenversiones
Capiacutetulo 6 Pruebas y Resultados
La Figura 618 muestra la pantalla del proceso de mutacioacuten utilizado para hacer elcambio ldquomutarrdquo los datos de una versioacuten para romper alguacuten ciclado de la tendencia haciael resultado o simplemente para acelerar el proceso de optimizacioacuten
Fig 618 Pantalla de mutacioacuten
La Figura 619 muestra la pantalla donde se realiza el cruzamiento utilizando plantillaspredeterminadas dirigiendo la cruza de versiones por paquetes de materias agrupadas porsemestre y cada plantilla genera una nueva versioacuten con la combinacioacuten de fragmentosde varias versiones
Fig 619 Pantalla del proceso de cruzamiento
Cromosomamuestra lasmejoresversiones
Nuacutemero deversioacuten amutar
Aulas quepueden mutarse
Botoacuten queinicia elproceso demutacioacuten
Capiacutetulo 6 Pruebas y Resultados
La Figura 620 permite la seleccioacuten y enviacuteo de la mejor versioacuten de horarios y adaptarloal moacutedulo administrativo para su distribucioacuten y publicacioacuten
Fig 620 Horarios finales
6234 MOacuteDULO SELECCIOacuteN DE CATEDRATICOS
Objetivo Capturar los datos de los profesores y su perfil profesiograacutefico ademaacutescapturar los conocimientos necesarios para impartir una asignatura para poder sugerircual es el mejor catedraacutetico que puede impartir una asignatura
Criterios de aceptacioacuten Esta prueba debe mostrar la sugerencia de los mejorescatedraacuteticos para una materia y las mejores materias para un catedraacutetico
Procedimiento de la prueba Se daraacuten los datos iniciales de los maestros y el sistemadeberaacute generar una lista a partir de la inferencia del Sistema Experto respectivo yviceversa
Resultado de la prueba Los resultados fueron satisfactorios En todos los casospresentados el sistema infirioacute las materias y los catedraacuteticos correspondientes
Capiacutetulo 6 Pruebas y Resultados
La Figura 621 muestra la pantalla en que se captura el perfil de los catedraacuteticos elperfil son los conocimientos que tiene el profesor que lo capacitan para impartir algunaasignatura
Fig 621 Pantalla captura perfil de catedraacuteticos
La Figura 622 muestra la pantalla de inferencia final que sugiere quienes son loscatedraacuteticos maacutes capacitados para impartir una materia haciendo la inferencia mediantela buacutesqueda de matchs entre el perfil de la asignatura y el perfil del catedraacutetico
Fig 622 Pantalla muestra inferencia catedraacuteticos para materia
Conocimientosdel profesor
Barra deseleccioacuten deperfiles
Grado dedominio deltema
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Candidatos aimpartir lamateria Botoacuten del proceso de
inferencia generalPorcentaje de certeza conque puede impartirla
Capiacutetulo 6 Pruebas y Resultados
La Figura 623 muestra la pantalla de explicacioacuten donde se indican los perfiles de lamateria y el perfil del profesor
Fig 623 Pantalla explicacioacuten porque un maestro puede dar una materia
La Figura 624 muestra el resultado de la inferencia del proceso que sugiere las materiasque puede impartir un profesor con base en el perfil de la materia y el perfil del profesor
Fig 624 Pantalla materias que puede impartir un profesor
Posibles materia aimpartir Porcentaje de certeza con
que puede impartirlaBotoacuten del proceso deinferencia general
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Capiacutetulo 6 Pruebas y Resultados
La Figura 625 muestra la pantalla de explicacioacuten donde se indican el perfil de la materiay el perfil del profesor
Fig 625 Pantalla de explicacioacuten porque un profesor puede dar una materia
Capiacutetulo 6 Pruebas y Resultados
Capiacutetulo 7 Conclusiones y Trabajos Futuros
CAPIacuteTULO 7
CONCLUSIONES Y TRABAJOS FUTUROS
71 CONCLUSIONES
Los meacutetodos de programacioacuten lineal proporcionan una solucioacuten parcial al problema dela generacioacuten de horarios utilizan una ldquorecetardquo predefinida para lograr la optimizacioacutende la asignacioacuten de recursos como lo hace el meacutetodo Huacutengaro La Inteligencia Artificialsoluciona el problema utilizando la heuriacutestica el conocimiento y la experiencia de unexperto humano para solucionar el problema se decidioacute utilizar esta metodologiacutea paraexplorar una solucioacuten aproximada al problema
En el ITZ la generacioacuten de horarios se haciacutea de forma manual no se utilizaba ninguacutenmeacutetodo automatizado Al aplicar algunas teacutecnicas de la Inteligencia Artificial se halogrado generar de manera automatizada los horarios de las materias que se ofertaraacuten elproacuteximo semestre
La aplicacioacuten de varias ramas de la Inteligencia Artificial para la resolucioacuten delproblema de la generacioacuten de horarios viene a demostrar que si es posible generar uncondensado de horarios para el Instituto Tecnoloacutegico de Zacatepec que es una escuelade nivel superior y que estos horarios satisfacen adecuadamente las restricciones fuertesmedias y suaves Para ello fue necesaria la combinacioacuten de varias disciplinas de lacomputacioacuten para generar cada una de las partes que componen un horario y tambieacutenrecomendar los catedraacuteticos mas apropiados para impartir dichos grupos nuevamentequeda demostrado que la Inteligencia Artificial sirve para resolver problemas que lasteacutecnicas convencionales de computacioacuten consideran problema NP-completo
La utilizacioacuten de las teacutecnicas de los Sistemas Expertos para ajustar el nuacutemero de grupospor abrir el proacuteximo semestre permite aplicar el conocimiento y experiencia de lapersona encargada de elaborar los horarios y asiacute disminuir el nuacutemero de gruposcancelados el conocimiento e intuicioacuten del experto humano realizan un ajuste fino alnuacutemero de grupos y como puede notarse el sistema lo hace de manera similar
Para el moacutedulo de generacioacuten de los grupos y los horarios la utilizacioacuten de la teacutecnicallamada Programacioacuten Loacutegica de Restricciones permitioacute la satisfaccioacuten de lasrestricciones que hacen que los horarios sean considerados factibles para su aplicacioacuten a
Capiacutetulo 7 Conclusiones y Trabajos Futuros
los alumnos el proacuteximo semestre ya que los paquetes de materias por semestre tienenhorarios corridos y sin choques en horas nuacutemero de materias completo y buenadistribucioacuten de horas pares e impares
Se utilizoacute tambieacuten la teacutecnica de optimizacioacuten llamada Algoritmos Geneacuteticos pararealizar la asignacioacuten de aulas a cada grupo generado logrando con ello minimizarautomaacuteticamente el nuacutemero de choques de materias en aulas En las pruebas realizadasse logroacute que en la sexta generacioacuten de individuos ya soacutelo hubiera hasta un maacuteximo de 24choques lo que indicaba que soacutelo 4 oacute 5 grupos compartiacutean aula a la misma hora esto erafaacutecilmente corregible realizando una inspeccioacuten visual a la versioacuten de horarios final yajustando los uacuteltimos errores
Por uacuteltimo nuevamente se aplicaron los Sistemas Expertos en el moacutedulo de sugerenciade materias que puede impartir un maestro y en el moacutedulo maestros que pueden impartiruna determinada materia vale la pena comentar que durante las pruebas realizadas loscatedraacuteticos del departamento de Sistemas y Computacioacuten capturaban su perfilprofesiograacutefico y al pedir al sistema la sugerencia de cuaacuteles materias podriacutean impartirlos Sistemas Expertos del proyecto inferiacutean exactamente las materias que loscatedraacuteticos estaacuten impartiendo en este semestre y las que habiacutean impartido en alguacutensemestre anterior demostrando que en efecto para profesores nuevos la recomendacioacutendel sistema seriacutea vaacutelida
72 TRABAJOS FUTUROS
Se sugiere que se ampliacutee el proyecto para que a cada grupo generado con aula y hora sele asigne de manera automaacutetica un catedraacutetico utilizando ya sea Algoritmos Geneacuteticos oProgramacioacuten Loacutegica de Restricciones
Otra posible mejora puede ser incluir la Loacutegica Difusa en los Sistemas Expertos de losmoacutedulos que sugieren las materias que puede impartir un catedraacutetico y los catedraacuteticosque pueden impartir una asignatura
Como ya se comproboacute la factibilidad de generar los horarios de manera automaacutetica sepropone tambieacuten la exploracioacuten de otras ramas y teacutecnicas de la computacioacuten (RedesNeuronales Buacutesqueda Tabuacute Grafos Coloreados etc) para comparar el rendimientotiempo esfuerzo y asiacute poder determinar cuales son mejores o peores teacutecnicas pararesolver el problema de la generacioacuten de horarios
Referencias Bibliograacuteficas
REFERENCIAS BIBLIOGRAacuteFICAS
[Abramson 1991] Abramson D ldquoConstructing School Timetables Using SimulatedAnnealing Secuencial and Parallel Algoritmsrdquo Management Science PWS PublishingBoston 1998
[Beasley 1993] Beasley D amp Bull DR amp Martin RR ldquoAn Overview of GeneticAlgorithms Part 1 Fundamentalsrdquo University Computing
[Bull 1993] Bull DR amp Beasley D amp Martin RR ldquoAn Overview of GeneticAlgorithms Part 2rdquo University Computing Magazine 1993
[Burke1994]Burke EK ldquoA Genetic Algorithm for University Timetablingrdquo AISBworkshop on evolutionary computing Leeds 1994
[Burke 1997] Burke Edmund K ldquoAutomated Scheduling Optimization and PlanningGroup (ASAP)rdquo PATATrsquo97 Proceedings of the 2nd Intenational Conference on thePractice And Theory of Automated Timetabling 1997
[Burke2000] Burke Edmund amp Eliman David amp Weare Rupert ldquoA GeneticAlgorithm Based University Timetabling Systemrdquo PATATrsquo2000 Proceedings of the 5ft
Intenational Conference on the Practice And Theory of Automated Timetabling 2000
[Burke2001] Burke EK amp Eliman DGamp Weare R ldquoAutomated Scheduling OfUniversity Examsrdquo Leeds 2001
[Burke2002] Burke Edmund amp Eliman David amp Weare Rupert ldquoExaminationTimetabling in British Universities ndash A Surveyrdquo Leeds 2002
[Carrasco 2004] Carrasco Marco amp Pato Margarida ldquoSolving Real ClassTeacherTimetabling Problems using Neural Networksrdquo Facultade de Ciencias University ofLisboa Portugal
[Chorafas 1990] Chorafas Dimitris N ldquoKnowledge Engineeringrdquo Van NostrandReinnhold New York USA
Referencias Bibliograacuteficas
[Corne 1993] Corne D ldquoSolving the module exam scheduling problem with geneticalgorithmsrdquo Proceedings of the 6th Intenational conference in Industrial andEngineering applications of Artificial Intelligence and Expert Systems1993
[Daellenbach 1987] Daellenbach Hans amp McNickle Donald ldquoIntroduccioacuten a teacutecnicasde Investigacioacuten de Operacionesrdquo CECSA Meacutexico 1987
[Davis 1991] Davis L ldquoHandbook of Genetic Algorithmsrdquo Van Nostrand ReinholdNew York NY
[Demist2000] Demist ldquoDepartamental Timetabling Proyect ProposalDeMIStinterface to Timetabling Package Proyectrdquo Demist University 2000
[Detcher 1990] Detcher R ldquoEnhancement Schemes for Constraint Processing BackJumping Learning and Cutset Decompositionrdquo Artificial Intelligence 41 (1990)
[Eliman 2000] Eliman David ldquoSpecialised Recombinative Operators for TimetablingProblemsrdquo Cambridge University Press New York 2000
[Elmohamed2000] Elmohamed Saleh ldquoThe timetabling problemrdquo PATATrsquo2000Proceedings of the 5th Intenational Conference on the Practice And Theory ofAutomated Timetabling 2000
[Elmohamed2001] Elmohamed Saleh ldquoConstraint based university coursetimetablingrdquo 4th World Congress on Timetabing Aplication of advanced informationTechnologies London 2001
[Fahrion y Dollanski 1992] Fahrion R amp G Dollanski ldquoConstruction of UniversityFaculty Timetables using Logic Programmingrdquo ACM Sigsoft Notes vol 9 no 3 May1992
[Frenzel 1986]Frenzel Louis E ldquoCrash Course in Artificial Intelligence and ExpertSystemsrdquo Howard W Sams amp Co McMillan Inc Indianapolis USA
[Gerez 1985] Gerez Victor amp Mier Mauricio ldquoDesarrollo y administracioacuten deprogramas de computadorardquo McGraw Hill Meacutexico 1985
[Gervaacutes 1999] Gervaacutes P amp San Miguel B ldquoSequential Building of ConstrainedTimetables Using Rule-Based Heuristics An Expert System for AutomatedTimetablingrdquo Congreso Internacional de Investigacioacuten en Ciencias Computacionales
Referencias Bibliograacuteficas
[Giarratamo 1998] Giarratamo Joseph y Gary Riley ldquoExpert Systems Principles andProgrammingrdquo PWS Kent Publishing Company Boston USA
[Gines 1986] Gines B amp Boose J ldquoKnowledge Acquisition for Knowledge-BasedSystemsrdquo Vol 1amp2 Academic Press London U K
[Goldberg 1989] Goldberg DE ldquoGenetic Algorithms in SearchOptimization andMachine LearningrdquoAddison-Wesley
[Kang y White 1994 ] Kang L amp White GM ldquoA Logic Approach to the Resolutionof Constrains in Timetablingrdquo European Journal of Operational Research vol 61 1994
[Kandel 1991] Kandel Abraham ldquoFuzzy Expert Systemsrdquo CRC Press Inc LondonUK 1991
[Kendall1999] Kendall y Kendall ldquoAnaacutelisis y disentildeo de sistemasrdquo 3ordf edicion PearsonEducacioacuten
[Koza 1992] Koza JR ldquoGenetic Programming On the Programming of Computers bymeans of Natural Selectionrdquo Cambridge MA MIT Press
[Martiacutenez 1999] Martiacutenez Alfaro Horacio ldquoSolucioacuten al problema de asignacioacuten desalones de clases horario y grupo mediante templado simuladordquo Memorias 6ordm CongresoInternacional de Mecatroacutenica e Inteligencia Artificial Meacutexico 1999
[Medina 2004] Medina Pasaflores Horacio ldquoFundamentos de Algoritmos GeneacuteticosrdquoTesis de licenciatura Zacatepec Mexico 2004
[Michalewicz 1992] Michalewicz Z ldquoGenetic algorithms + Data Structures =Evolution Programsrdquo Springer-Verlag New York NY
[Negoita1985] Negoita ConstantinV Expert Systems and Fuzzy Systems TheBenjamin Cummings Publishing Co Menlo Park CA USA
[Nielsoft 2000] Nielsoft informatica ldquoManual de usuario Mimosa for windowsrdquo
[Paechter 1994] Paechter B ldquoTwo solutions to the general timetabling problemusing evolutionary methodsrdquo IEEE WCCI 1994
[Pluss1999] Pluss JJ ldquoSistemas expertos un enfoque pragmaacuteticordquo UNR
Referencias Bibliograacuteficas
[Rich 1996] Rich E y Knight K ldquoInteligencia Artificialrdquo McGraw HillInteramericana Madrid Espantildea
[Russell 1996] Russell S y Norvig P ldquoInteligencia Artificial un enfoque modernordquoPrentice Hall Mexico 1996
[Sanchez1999] Sanchez y Beltran ldquoSistemas expertos una metodologiacutea deprogramacioacutenrdquo Macrobit
[Schedul2000] SchedulExpert ldquoCourse scheduling in post educational institutionsrdquo EdAddison Wesley 2000
[Trick 1999 ] Trick Michael ldquoNetwork resources for coloring a graphrdquo Oracle PressEd McGraw Hill 1999
[Turban 1995] Turban Efraim ldquoDecision Support and Expert Systems ManagementSupport Systemsrdquo Fourth Edition Orentice Hall NJ USA
[Waterman1986] Waterman Donald A ldquoA Guide to Expert Systemsrdquo Addison-Wesley Publishing Co USA
[Weare2000] Weare Rupert amp Burke Edmundo amp Eliman David ldquoA Questionnaireon Exam Timetabling in Universitiesrdquo Annual review of computer Science Volume 2Palo Alto 2000
[Wilke 2002] Wilke P amp Grobner M amp Oster N ldquoA hibrid Genetic Algorithm forSchool Timetablingrdquo Advances in Artificial Intelligence Springer Lecture Notes inComputer Science New York
[Yoshikawa 1994] Yoshikawa M amp Kaneko KldquoA Constraint-based Approach toHigh School Timetabling Problems A Case Studyrdquo AAAI-94 12ordm NationalConference on Artificial Intelligence
Referencias Bibliograacuteficas
Referencias electroacutenicas
httpwwwmonografiacuteascomtrabajos12inteartfinteartfshtmlObregoacuten Arturo Inteligencia artificial y Sistemas expertos IIMAS-UNAM (1992)
httpwwwlafacucomapuntesinformaticasist_conodefaulthtmCruz Ochoa Wilson Sistemas de conocimiento
httpwwwingenieroseninformaticaorgrecursostutorialessist_exphtmlZambrano Molina Darwin Sistemas expertos
httpredcientificacomdocdoc199008210001htmlSamper Marquez Juan Joseacute Introduccioacuten a los sistemas expertos Madrid 2000
httpmismonografiascomarSistemas20expertofuzzyhtmlArede Dario Sistema experto fuzzy
httpcruzrojaguayaorginteligenciainterhtmlAyuquina Martha amp Arellano Gregorio Inteligencia artificial Universidad de Guayaquil
httpdmiuibesabasolointart1-introduccionhtmlAbasolo Mariacutea Joseacute Dra Inteligencia Artificial
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
LISTA DE FIGURAS
Figura Nombre Paacutegina
31 Arquitectura de un Sistema Experto 2632 Pseudocoacutedigo del Algoritmo Geneacutetico simple 3341 Mapa conceptual del proyecto 5242 Diagrama de secuencia 5443 Sistema Experto generador de grupos 5544 Diagrama del moacutedulo Programacioacuten Loacutegica de Restricciones 5745 Diagrama del moacutedulo Algoritmo Geneacutetico 5846 Diagrama de Sistema Experto para sugerir profesor a asignatura 6047 Diagrama de Sistema Experto para sugerir asignaturas para
catedraacutetico61
48 Diagrama de contexto del proyecto 6449 Diagrama de funciones fundamentales (entradas) 65410 Diagrama de funciones fundamentales (salidas) 66411 Diagrama entidad relacioacuten del moacutedulo administrativo 67412 Diagrama E-R del moacutedulo para determinar y ajustar nuacutemero de
grupos68
413 Diagrama E-R del moacutedulo para asignar aulas (Algoritmo Geneacutetico) 69414 Diagrama E-R del moacutedulo para asignar horario (PLR) 70415 Diagrama E-R del moacutedulo designa mejor catedraacutetico (Sistema
Experto)71
416 Diagrama E-R del moacutedulo selecciona mejor materia (SistemaExperto)
72
51 Portada inicial del proyecto 8852 Acerca del sistema 8953 Menuacute principal del proyecto 8954 Menuacute grupos por abrir 9055 Materias 9056 Consulta materias 9157 Pantalla servicios escolares 9158 Pantalla consulta servicios escolares 9259 Pantalla criterios por materia 92510 Pantalla consulta criterios por materia 93511 Pantalla carreras 93512 Pantalla criterios 94513 Pantalla consulta criterios 94514 Pantalla reglas 95515 Pantalla consulta reglas 95516 Pantalla ajustes 96
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
517 Pantalla consulta ajustes 96518 Pantalla criterios por regla 97519 Pantalla consulta criterios por regla 97520 Pantalla caacutelculo de ajustes 98521 Pantalla explicacioacuten de la inferencia 98522 Pantalla inicial del moacutedulo generacioacuten de horarios 99523 Pantalla principal del moacutedulo generacioacuten de horarios 99524 Pantalla principal del menuacute Algoritmos Geneacuteticos 100525 Pantalla de administracioacuten de grupos 100526 Pantalla de consulta de administracioacuten de grupos 101527 Pantalla del control de aulas 101528 Pantalla de consultas del control de aulas 102529 Pantalla para generacioacuten de poblacioacuten inicial 102530 Pantalla de evaluacioacuten de versiones 103531 Pantalla del proceso de seleccioacuten 103532 Pantalla del proceso de clonacioacuten 104
533 Pantalla de mutacioacuten 104534 Pantalla del proceso de cruzamiento 105535 Horarios finales 105536 Pantalla menuacute seleccioacuten de catedraacuteticos 106537 Pantalla de perfiles 106538 Pantalla de consulta perfiles 107539 Pantalla perfiles de las materias 107540 Pantalla consulta perfiles de las materias 108541 Pantalla captura datos de catedraacuteticos 108542 Pantalla consulta datos de catedraacuteticos 109543 Pantalla captura perfil de catedraacuteticos 109544 Pantalla consulta perfil de catedraacuteticos 110545 Pantalla muestra inferencia catedraacuteticos para materia 110546 Pantalla explicacioacuten del porqueacute un maestro puede dar una materia 111547 Pantalla materias que puede impartir un profesor 111548 Pantalla de explicacioacuten del porqueacute un profesor puede dar una
materia112
61 Portada inicial del proyecto 11562 Menuacute principal del proyecto 11663 Menuacute grupos por abrir 11664 Pantalla menuacute seleccioacuten de catedraacuteticos 11765 Pantalla principal del menuacute Algoritmos Geneacuteticos 11766 Pantalla de captura de datos de las Materias 11867 Pantalla de captura de datos de Criterios por Materia 11968 Pantalla de captura de datos de Carreras 11969 Pantalla caacutelculo de ajustes 120
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
610 Pantalla inicial del moacutedulo generacioacuten de horarios 121611 Pantalla principal del moacutedulo generacioacuten de horarios 122612 Pantalla del control de aulas 123613 Pantalla de consultas del control de aulas 123614 Pantalla de genera poblacioacuten inicial 124615 Pantalla de evaluacioacuten de versiones 124616 Pantalla del proceso de seleccioacuten 125617 Pantalla del proceso de clonacioacuten 125618 Pantalla de mutacioacuten 126619 Pantalla del proceso de cruzamiento 126620 Horarios finales 127621 Pantalla captura perfil de catedraacuteticos 128622 Pantalla muestra inferencia catedraacuteticos para materia 128623 Pantalla explicacioacuten porque un maestro puede dar una materia 129624 Pantalla materias que puede impartir un profesor 129625 Pantalla de explicacioacuten porque un profesor puede dar una materia 130
Capiacutetulo 1 Introduccioacuten
CAPIacuteTULO 1
INTRODUCCIOacuteN
11 Antecedentes
iquestQueacute es un horario
ldquoEl horario completo bien puede gobernar las vidas demiles de alumnos y cientos de profesores para los 200 diacuteasdel antildeo escolar semestre a semestre hora tras hora Comouna poderosa herramienta puede faacutecilmente crear o deshacersituaciones de ensentildeanza aprendizajerdquo [Johnson 1980]
En la educacioacuten superior la historia siempre es la misma la proporcioacuten de tiempodictada por el horario para los alumnos y profesores es generalmente muy baja Apesar de esto las dificultades en la creacioacuten de los horarios son grandes Existenvarios departamentos y carreras cada uno con sus propias ideas de coacutemo y cuaacutendo sedeben programar sus cursos El nuacutemero de estudiantes puede variar considerablementede antildeo en antildeo Similarmente las preferencias de los alumnos a favor o en contra delas materias pueden variar dramaacuteticamente de un semestre a otro Los estudiantespueden tomar cursos de un departamento o de varios de ellos aun maacutes puedenseleccionar materias de otras carreras La reciente desaparicioacuten de las restricciones decreacuteditos para cursar las asignaturas complica maacutes la situacioacuten porque ampliacutea el rangode materias que puede tomar un alumno Los horarios aparecen en varias formasmatutinos vespertinos mixtos y todo el diacutea Los horarios escolares indican cuando unmaestro y un alumno deben ir a cada clase Todas las escuelas tienen un horario decursos que dirige lo que cada estudiante y catedraacutetico debe hacer en determinadomomento Esta tesis versa especiacuteficamente sobre el problema de construir horariospara Institutos Tecnoloacutegicos en Meacutexico
La planeacioacuten de los horarios es un trabajo que se realiza semestralmente antes de iniciarel siguiente periodo escolar tomando en cuenta la demanda de grupos que se ofreceraacuteny asignando a estos grupos los alumnos el aula el catedraacutetico y el horariocorrespondiente mediante informacioacuten que se obtiene de varias maneras
El principal objetivo de este proyecto es dar una solucioacuten aproximada (aceptable) alproblema de la generacioacuten de horarios de una escuela de nivel superior que se resumeasiacute
Capiacutetulo 1 Introduccioacuten
ldquoDado un conjunto de departamentos y carreras asignaturas con prerrequisitos gruposcatedraacuteticos con especialidad y horario definidos aulas laboratorios y alumnos con suspreferencias de materias el problema es construir un condensado de horarios factibleque satisfaga todas las restricciones fuertes y minimice las restricciones medias ysuavesrdquo
Las restricciones fuertes son restricciones de espacio y tiempo tal como planear doscursos en un aula al mismo tiempo Las restricciones medias y suaves son laspreferencias de maestros y estudiantes que deberaacuten ser satisfechas si es posible[Elmohamed 1998]
El problema de la generacioacuten de horarios ha sido tratado por muchos investigadoresutilizando meacutetodos que van desde la investigacioacuten de operaciones hasta disciplinas de laInteligencia Artificial como son Algoritmos Geneacuteticos Recocido Simulado RedesNeuronales etc
12 Planteamiento del problema
La generacioacuten de horarios es una forma particular del problema de asignacioacuten derecursos En el caso maacutes general existe una serie de objetos (recursos) y una serie deprocesos que necesitan ser realizados por cada uno de esos objetos En un contextoeducacional cada estudiante debe asistir a un nuacutemero predeterminado de clases y elprofesor debe impartirlas durante la semana en un aula predeterminada el estudiante elprofesor y el aula pasan aquiacute a ser el objeto y las clases el proceso
La complejidad del problema de la generacioacuten de horarios
La generacioacuten de horarios es un problema de optimizacioacuten combinatorio multi-dimensional no Euclidiano con muacuteltiples restricciones y por lo tanto difiacutecil de resolver[Elmohamed 1998]
El problema de la generacioacuten de horarios esta agrupado dentro de los considerados decomplejidad NP-completos es decir que no pueden ser resueltos en tiempo polinomialusando un algoritmo determiniacutestico No se conoce un algoritmo determiniacutestico detiempo polinomial para resolver alguno de esos problemas y la mayoriacutea de la gente creeque dichos algoritmos no existen[Karp 1972]
La generacioacuten de horarios es la asignacioacuten de lapsos de tiempo a un conjunto de eventossujeto a las restricciones en esas asignaciones Seguacuten Elmohamed [Elmohamed 1998]el problema NP-completo de la elaboracioacuten de horarios es un problema para la
Capiacutetulo 1 Introduccioacuten
satisfaccioacuten de restricciones que puede ser definido de la siguiente maneraPara una escuela dada con
Np profesores con sus horarios y turnos Nq materias con su temario y objetivosNx aulas y laboratorios con su capacidad Ns estudiantes
es requerido programar Nt parejas de
alumno-materiahora-materiamaestro-materiaaula-materia
una vez definidas las parejas anteriores se deben programar elementos de la formamateria-maestro-hora -aula
En un liacutemite de Nt lapsos de tiempo para producir una programacioacuten factible En unaprogramacioacuten factible no se puede encontrar a un profesor grupo o estudiante en maacutesde un lugar al mismo tiempo y un aula no puede ser asignada con maacutes de una clase a lavez o maacutes estudiantes de su capacidad o un profesor programado fuera de su horarionormal o con maacutes horas frente a grupo de las reglamentarias ademaacutes de un conjuntoadicional de restricciones
Importancia del problema
La administracioacuten de los recursos comprende la apertura de los grupos para inscribir alos alumnos el proacuteximo semestre la asignacioacuten de carga acadeacutemica a los catedraacuteticos lautilizacioacuten de aulas y laboratorios de quiacutemica produccioacuten coacutemputo electromecaacutenicaaulas de dibujo y demaacutes instalaciones del Instituto Tecnoloacutegico de Zacatepec (ITZ)Cuando por errores imputables al creador de los horarios se hizo una mala planeacioacuten sederivan los siguientes problemasbull Alumnos que se inscriben con una carga de creacuteditos menor a la miacutenima por falta de
grupos suficientesbull Alumnos que deben estar en el ITZ desde las 700 hrs hasta las 2000 hrs varios
diacuteas a la semana por abrir grupos en horarios muy separadosbull Alumnos que pierden la secuencia de materias seriadas por falta de cupobull Alumnos que deben permanecer 1 oacute 2 semestres maacutes en el ITZ por no prever
suficientes grupos para semestres terminalesbull Catedraacuteticos que no imparten el miacutenimo reglamentario de horas frente a grupo por
no crearles grupos suficientesbull Catedraacuteticos a los que se les avisa 1 diacutea antes del inicio de clases que impartiraacuten una
Capiacutetulo 1 Introduccioacuten
asignatura nuevabull Asignaturas que son impartidas por profesores que no cumplen el perfil deseado en
esa asignaturabull Choque de grupos en las aulasbull Choque de grupos en laboratoriosbull Falta de laboratorio a algunos gruposbull Deficiente utilizacioacuten de las aulas
La creacioacuten de un sistema que evite de manera automaacutetica caer en errores como losmencionados NO ES TAREA TRIVIAL intentar resolver este problema involucra laelaboracioacuten de un ldquosistema inteligenterdquo capaz de tomar decisiones aprender inferirbasaacutendose en hechos generar nueva informacioacuten y a partir de ella nuevamente volver adecidir El sistema que se elabore debe tener la capacidad para deducir e inducir de unamanera combinada
Desventajas del sistema actual
La mayoriacutea de los problemas anteriores son ocasionados por alguno o varios de lossiguientes motivosbull Todo el proceso de caacutelculo y administracioacuten de los recursos es manualbull El proceso de elaboracioacuten coincide con el cierre de semestre actual y como las
personas responsables tambieacuten son catedraacuteticos deben combinar la generacioacuten dehorarios con las evaluaciones finales revisioacuten de proyectos y entrega decalificaciones de sus grupos a los alumnos
bull La elaboracioacuten de los horarios es un proceso que se lleva semanas de labor diariabull Requiere la atencioacuten total de los coordinadores durante todo el tiempo de
elaboracioacutenbull Al no tener la informacioacuten automatizada se tienen peacuterdidas de tiempo en la toma de
decisiones como por ejemplo en el preacutestamo de aulas no utilizadas o en la forma decompartir catedraacuteticos
bull Se tienen fuertes restricciones debido a los horarios de los catedraacuteticosbull Hay fuertes dificultades cuando se deben negociar cambios de horarios porque el
proceso implica mover asignaturas buscar aulas dejar paquetes de materias porsemestre etc
bull El estado de aacutenimo del coordinador influye en la elaboracioacuten de los horarios
13 Objetivo general
Generacioacuten de una solucioacuten aproximada del condensado de horarios para una escuela denivel superior que satisfaga las restricciones ocasionadas por los recursos involucradosmediante la elaboracioacuten de un sistema hiacutebrido (experto geneacutetico y loacutegico restrictivo)
Capiacutetulo 1 Introduccioacuten
14 Objetivos especiacuteficos
Se tiene el disentildeo e implementacioacuten de un sistema que
bull Proporciona una solucioacuten aproximada aceptable al problema de la generacioacuten dehorarios
bull Permite a los coordinadores delegar a la computadora la asignacioacuten de recursosbull Ahorra tiempo en la generacioacuten de los horariosbull Reduce el trabajo manualbull Agiliza la toma de decisionesbull Reduce el tiempo de elaboracioacuten de horariosbull Facilita la modificacioacuten de informacioacuten generadabull Aumenta la eficiencia en las negociaciones entre jefes y coordinadoresbull Lleva al Instituto Tecnoloacutegico de Zacatepec (ITZ) a la modernizacioacuten en este
proceso
15 Justificacioacuten del sistema
151 Justificacioacuten teoacuterica
La utilizacioacuten de la Inteligencia Artificial (IA) para la solucioacuten de problemas de la vidacotidiana ha sido una estrategia utilizada cuando los sistemas tradicionales decomputacioacuten no proveen mecanismos suficientes para garantizar una solucioacuten adecuadasu utilizacioacuten para la generacioacuten de horarios (creacioacuten de grupos asignacioacuten de horaasignacioacuten de aula determinacioacuten de catedraacutetico) presenta una alternativa ideal paracomprobarlo
152 Justificacioacuten metodoloacutegica
La utilizacioacuten de un grupo de Sistemas Expertos que realice la asignacioacuten de losrecursos para la generacioacuten de grupos y le proponga una materia determinada a unprofesor seguacuten el perfil acadeacutemico de ambos reuacutene las caracteriacutesticas necesarias paradar la solucioacuten elegante y efectiva al problema planteado anteriormente porque
bull Se requiere del conocimiento de un experto para plantear el funcionamiento delsistema
bull El conocimiento se alimentaraacute a una base de conocimientos que conste de variaspartes
bull Para la generacioacuten de grupos de una asignatura dada el sistema debe ldquorazonarrdquo paradeterminar cuantos de eacutestos se deben abrir para ofertarlos a los alumnos
Capiacutetulo 1 Introduccioacuten
bull En la asignacioacuten de nuevas materias a los catedraacuteticos el sistema debe ldquodeterminarrdquoquieacuten es el maacutes idoacuteneo para impartirla de acuerdo al perfil de ambos materia ymaestro
La Programacioacuten Loacutegica de Restricciones (PLR) es una de las teacutecnicas que maneja demanera natural informacioacuten sometida a ciertas restricciones y fue seleccionada paraseguir trabajando en la resolucioacuten del problema porque
bull Los horarios deben satisfacer ciertas restricciones como por ejemplo no se debengenerar mas grupos de los necesarios no puede haber dos materias con el mismogrupo no deben existir grupos del mismo paquete a la misma hora etc
bull Cada paquete de un semestre es un objeto que por siacute mismo posee ciertascualidades y restricciones por ejemplo no debe tener horas sin asignatura entre lahora inicial y final existen materias que se deben impartir de una hora diaria otrasdeben ser impartidas de 2 horas diarias etc
bull La solucioacuten presentada por la PLR inicia con datos aleatorios de un horario despueacutesse verifica si las restricciones se cumplen o no si se cumplen se guarda el dato si nose genera un nuevo dato aleatorio
Los Algoritmos Geneacuteticos utilizados aquiacute para asignar aula a los grupos cumplen con lametodologiacutea de la Computacioacuten Evolutiva porque
bull Se tienen datos iniciales de los grupos (materia-hora)bull Se genera una poblacioacuten inicial que son n versiones de un condensado de horarios
sin aulabull Esta poblacioacuten inicial es evaluada se seleccionan los condensados maacutes adecuados y
se eliminan las versiones menos adecuadasbull Se realizan cruzamientos mutaciones clonaciones y se crea la nueva generacioacuten de
horariosbull Se repite el proceso hasta llegar a una utilizacioacuten eficiente de las aulas
Por lo anterior se pueden observar las ventajas de utilizar un sistema inteligente sobreuno convencional para solucionar el problema planteado
Una vez definido el modelo para solucionar el problema de la asignacioacuten de horariospara las asignaturas aulas y catedraacuteticos de una institucioacuten de educacioacuten superior seraacutefaacutecil extrapolarlo para solucionar algunos problemas referentes a la planeacioacuten dehorarios de otro tipo de escuelas de nivel medio superior
153 Justificacioacuten praacutectica
La creacioacuten de un sistema que resuelva el problema de la elaboracioacuten de horarios ygenere automaacuteticamente la programacioacuten de grupos aulas y maestros sin violar las
Capiacutetulo 1 Introduccioacuten
restricciones fuertes minimizando las restricciones medias y suaves optimizando lautilizacioacuten de las aulas cumpliendo con las restricciones de los profesores asignandoprofesores adecuados para impartir las clases traeraacute como consecuencia condicionespara mejorar el proceso de ensentildeanza aprendizaje
16 Alcances y limitaciones
Alcances
El sistema generaraacute un espacio de soluciones finito que satisfaga las restriccionesfuertes medias y suaves optimizando el uso de los recursos disponibles se puede decirque el sistema optimizaraacute los recursos cuando los horarios generados tengan lascaracteriacutesticas mencionadas maacutes adelante
Esta tesis documenta la creacioacuten de un sistema basado en el conocimiento parasolucionar el problema de la generacioacuten de horarios en el Instituto Tecnoloacutegico deZacatepec que permite
bull Generar grupos suficientes para que todos los estudiantes se inscriban al menos conla carga miacutenima reglamentaria
bull Que los alumnos tengan horarios adecuados a sus necesidades y preferenciasbull Que todos los grupos tengan capacidad suficiente para todos los estudiantes que
deseen inscribirsebull Que los profesores impartan materias de acuerdo a su perfil profesionalbull Evitar los choques de grupos en aulas y laboratoriosbull Que todos los grupos tengan aula asignada desde el inicio del semestrebull La utilizacioacuten oacuteptima de las aulas y laboratoriosbull La correcta asignacioacuten de aulas y laboratorios a los cursosbull Realizar de manera automaacutetica la asignacioacuten de los recursosbull Determinar el nuacutemero de grupos que se deben abrirbull Llenar las aulas con grupos sin permitir choque de horariosbull Imprimir la lista de grupos ofertados para el semestre siguientebull Cuando exista el grupo de una materia sin maestro determinar cual es el mejor para
impartirla
Tener un Sistema terminado que contenga los siguientes moacutedulos
Sistema administrativo para control de horarios Sistema Experto para determinar la cantidad de grupos por abrir Sistema Experto para sugerir materias a un catedraacutetico Sistema Experto para seleccionar los mejores catedraacuteticos para impartir una
asignatura
Capiacutetulo 1 Introduccioacuten
Moacutedulo de Programacioacuten Loacutegica de Restricciones para generar los horarios a lospaquetes de materias por semestre
Moacutedulo de Algoritmo Geneacutetico para asignar aula a los grupos
Cada moacutedulo tendraacute
bull Interfaces de usuario amigablesbull Tiempos de ejecucioacuten raacutepidos (independientemente de la maacutequina objetivo)bull Reglas de inferencia para generar resultados (soacutelo los Sistemas Expertos)bull Buacutesquedas heuriacutesticas o aleatorias seguacuten el casobull Procesos para realizar induccioacuten y deduccioacuten (soacutelo los Sistemas Expertos)bull Manejo de incertidumbre (soacutelo los Sistemas Expertos)bull Un moacutedulo de explicaciones en lenguaje natural
Limitaciones
El sistema estaacute disentildeado para generar horarios de una escuela de nivel superior donde elcoordinador de cada carrera es el responsable de la generacioacuten de sus horarios controlarsus profesores impartir cierto nuacutemero de materias y utilizar cierta cantidad de aulas ylaboratorios
Trabaja exclusivamente en lenguaje espantildeol
Las reglas de la base de conocimiento tienen un formato predeterminado por unasintaxis definida para el sistema
El sistema estaacute elaborado para trabajar en microcomputadoras compatibles con IBM
No maneja los horarios individuales de los alumnos en el proceso de inscripcioacuten estaactividad deberaacute ser realizada por los sistemas del departamento de servicios escolares
Capiacutetulo 2 Marco teoacuterico
CAPIacuteTULO 2
MARCO TEOacuteRICO
21 El estado del arte
211 Antecedentes
El problema de la generacioacuten de horarios ha sido atacado de varias maneras a nivelmundial inclusive existe un grupo internacional que convoca al congreso llamadoPATATxx (Practice and Theory of Automated Timetabling) donde xx es el antildeo delcongreso en cuestioacuten
La ASAP (Automated scheduling optimization and planing group) es otro organismocuyo fin principal es conducir investigacioacuten en modelos heuriacutesticas y algoritmos para laproduccioacuten automaacutetica de soluciones de alta calidad a una gran variedad de problemasde planeacioacuten y optimizacioacuten del mundo real incluyendo elaboracioacuten de horarioslogiacutestica asignacioacuten de espacio y mantenimiento de inventarios
212 Algunos meacutetodos para resolver el Problema de laGeneracioacuten de Horarios
La generacioacuten de horarios acadeacutemicos ha sido acometida por muchos investigadoresbaacutesicamente dentro del aacuterea de la Investigacioacuten de Operaciones
2121 Investigacioacuten de Operaciones
El algoritmo para resolver problemas de asignacioacuten se denomina Huacutengaro ya que fuerondos matemaacuteticos Huacutengaros Koumlnig (1916) y Egervary (1931) los que aportaron lasteoriacuteas que sirven de base a este meacutetodo [Daellenbach 1987]
Este problema se presenta en diversos casos de toma de decisiones Los problemastiacutepicos de asignacioacuten implican asignar tareas a maacutequinas trabajadores a tareas yproyectos personal de ventas a territorios de ventas contratos a licitaciones horarios deaulas disponibles a horarios de maestros disponibles enfermos a camas disponibles delhospital cierto nuacutemero de empleados a cierta cantidad de puestos en una empresaaviones a destinos aeacutereos entre otros
Capiacutetulo 2 Marco teoacuterico
Una caracteriacutestica importante de los problemas de asignacioacuten es que se asigna untrabajador una tarea a una sola maacutequina proyectoEn particular se busca elconjunto de asignaciones que optimice el objetivo planteado tal como minimizar costosminimizar tiempo o maximizar utilidad
La formulacioacuten del problema general de asignacioacuten es
Sujeta a
Corresponde a un caso especial del problema del transporte en el cual las variables Xijsoacutelo pueden tomar el valor 0 oacute 1 tomar el valor 1 si el origen i se hace corresponder aldestino j y 0 en caso contrario
El Algoritmo Huacutengaro
Este algoritmo se usa para resolver problemas de minimizacioacuten ya que es maacutes eficazque el empleado para resolver el problema del transporte por el alto grado dedegeneracioacuten que pueden presentar los problemas de asignacioacuten Las fases para laaplicacioacuten del meacutetodo Huacutengaro son
Capiacutetulo 2 Marco teoacuterico
Paso 1 Encontrar primero el elemento maacutes pequentildeo en cada fila de la matriz de costosmm se debe construir una nueva matriz al restar de cada costo el costo miacutenimo de cadafila encontrar para esta nueva matriz el costo miacutenimo en cada columna A continuacioacutense debe construir una nueva matriz (denominada matriz de costos reducidos) al restar decada costo el costo miacutenimo de su columna
Paso 2 (En algunos pocos textos este paso se atribuye a Flood) Consiste en trazar elnuacutemero miacutenimo de liacuteneas (horizontales o verticales o ambas uacutenicamente de esasmaneras) que se requieren para cubrir todos los ceros en la matriz de costos reducidos sise necesitan m liacuteneas para cubrir todos los ceros se tiene una solucioacuten oacuteptima entre losceros cubiertos de la matriz Si se requieren menos de m liacuteneas para cubrir todos losceros se debe continuar con el paso 3 El nuacutemero de liacuteneas para cubrir los ceros es iguala la cantidad de asignaciones que hasta ese momento se pueden realizar
Paso 3 Encontrar el menor elemento diferente de cero (llamado k) en la matriz decostos reducidos que no estaacute cubierto por las liacuteneas dibujadas en el paso 2 acontinuacioacuten se debe restar k de cada elemento no cubierto de la matriz de costosreducidos y sumar k a cada elemento de la matriz de costos reducidos cubierto por dosliacuteneas (intersecciones) Por uacuteltimo se debe regresar al paso 2
Notas
1 Para resolver un problema de asignacioacuten en el cual la meta es maximizar la funcioacutenobjetivo se debe multiplicar la matriz de ganancias por menos uno (-1) y resolver elproblema como uno de minimizacioacuten
2 Si el nuacutemero de filas y de columnas en la matriz de costos son diferentes el problemade asignacioacuten estaacute desbalanceado El meacutetodo Huacutengaro puede proporcionar una solucioacutenincorrecta si el problema no estaacute balanceado debido a lo anterior se debe balancearprimero cualquier problema de asignacioacuten (antildeadiendo filas o columnas ficticias) antes deresolverlo mediante el meacutetodo Huacutengaro
3 En un problema grande puede resultar difiacutecil obtener el miacutenimo nuacutemero de filasnecesarias para cubrir todos los ceros en la matriz de costos actual Se puede demostrarque si se necesitan j liacuteneas para cubrir todos los ceros entonces se pueden asignarsolamente j trabajos a un costo cero en la matriz actual esto explica porqueacute terminacuando se necesitan m liacuteneas
Capiacutetulo 2 Marco teoacuterico
Tambieacuten han aparecido meacutetodos no convencionales que atacan el problema desdediferentes aacutengulos Los maacutes usuales son
Algoritmos Geneacuteticos Redes Neuronales Recocido Simulado Buacutesquedas Tabuacute Sistemas Expertos Programacioacuten Loacutegica de Restricciones Grafos Coloreados Operadores Recombinatorios Especializados
2122 Algoritmos Geneacuteticos
Los Algoritmos Geneacuteticos han sido utilizados satisfactoriamente para planear exaacutemenesy cursos en cierto nuacutemero de casos [Corne 1993] utiliza una buena aproximacioacutentradicional donde cada gene representa la hora en la cual se presentaraacute un examen ocurso Con operadores de cruzamiento y mutacioacuten como los mencionadosanteriormente agrega sustanciosos ahorros de tiempo al meacutetodo de Corne [Paechter1994] da una aproximacioacuten diferente donde el gene de cada examen no solo especificaldquoel cuandordquo sino que tambieacuten busca un nuevo horario del examen si despueacutes delcruzamiento el curso esta causando un conflicto Si el examen no puede ser programadoen alguna hora entonces no se agrega a la planeacioacuten con la finalidad de no tenerhorarios infactibles
[Burke1994] incorpora dominios de conocimiento especiacutefico para asegurar que ningunade las soluciones candidato es no factible En particular una representacioacuten directa seutilizada que incluye no soacutelo el cuaacutendo sino tambieacuten el doacutende un curso o examendeberaacuten ser tomados permitiendo al programador de horarios detener la ejecucioacuten delalgoritmo en cualquier punto y tener ya una serie de soluciones de buenos horariosfactibles
2123 Programacioacuten Loacutegica de Restricciones
Varios autores han presentado teacutecnicas de Programacioacuten Loacutegica de Restricciones pararesolver problemas de asignacioacuten de horarios pero eacuteste sigue siendo un nuevo enfoqueTambieacuten han aparecido algunos usando PLR para la planeacioacuten de clase-maestro[Yoshikawa 1994]
Kang y White presentaron una buena aproximacioacuten estaacutendar de PLR programandocursos sin permitir ningun conflicto [Kang y White 1994] Ellos usaron una teacutecnica dereversa equivalente al backtracking con lo cual cuando un curso no puede ser
Capiacutetulo 2 Marco teoacuterico
asignado uno similar es desasignado y el nuevo es colocado en su lugar Esto previeneuna buacutesqueda exhaustiva completa Esto tambieacuten introduce el concepto de undelimitador de tamantildeo que establece un maacuteximo en el tamantildeo del aula que puede usarun curso en particular Las restricciones son priorizadas en cinco diferentes categoriacuteasdonde la categoriacutea cinco debe ser liberada antes que la categoriacutea cuatro y asiacute con lasdemaacutes Este procedimiento fue utilizado para programar exitosamente los cursos de laUniversidad de Otawa
Tambieacuten se ha utilizado la teacutecnica de la Programacioacuten Loacutegica de Restricciones parahacer los horarios de una facultad utilizando una regla heuriacutestica para seleccionar quecurso asignar primero [Fahrion y Dollanski 1992]
2124 Redes Neuronales
De las distintas categoriacuteas de las Redes Neuronales Artificiales la maacutes apropiada pararesolver el problema es la familia de las Redes Neuronales de reaccioacuten basadas enneuronas multiestado con ecuaciones de teoriacutea de campos con significado controlandolas dinaacutemicas Las ecuaciones anteriores son usadas en lugar de los procedimientospara actualizacioacuten de demanda estocaacutesticos que han sido usados por otros esquemas paraevitar quedar atorados en circuitos locales miacutenimos [Carrasco 2004]
2125 Recocido Simulado
Recocido Simulado se refiere al uso de una teacutecnica de optimizacioacuten combinatoria odiscreta Divide el problema en grupos del mismo tiempo de clase los cuales sonespecificados por cada departamento acadeacutemico basados en la habilidad de losinstructores Funciona asiacute
1 El proceso asigna aulas procesando un grupo a la vez empezando con el primero2 El proceso continuacutea hasta que todos los grupos son procesados3 Cuando una solucioacuten es obtenida dividiendo el problema en conjuntos de horario
una mutacioacuten especial es generada con grupos traslapados Esto podriacutea generar unamala asignacioacuten de aula para minimizar esto se utiliza el siguiente paso
4 Los grupos son procesados basados en el nuacutemero de aulas este nuacutemero de aulas esoptimizado y se termina con las horas de clase con el miacutenimo de paquetes a esa hora
5 La implementacioacuten del programa genera una base de datos con la nueva asignacioacutende salones para el proacuteximo semestre [Abramson 1991]
2126 Operadores Recombinatorios Especializados
Los operadores de cruzamiento de los Algoritmos Geneacuteticos producen buenas
Capiacutetulo 2 Marco teoacuterico
combinaciones de genes para ser pasados entre los diferentes miembros de unapoblacioacuten En los Algoritmos Geneacuteticos estaacutendar es un procedimiento similar a escogerlos primeros n genes del primer padre y los uacuteltimos del segundo padre esteprocedimiento no es uacutetil en situaciones donde existen fuertes restricciones sobre laforma de los miembros de la poblacioacuten aquiacute un operador violaraacute esos requerimientosEl operador de recombinacioacuten heuriacutestico hiacutebrido trabaja asiacute
1 Los grupos no programados del periodo anterior son pasados al algoritmo2 Primero selecciona aquellos grupos programados en el periodo i en los padres 1 y 23 Los grupos extra son seleccionados de aquellos programados en el periodo i ya sea
del padre 1 o del padre 2 o de los dejados del periodo i ndash 14 Cualquiera de los grupos no programados es pasado al periodo i+15 Soacutelo los grupos que no crean conflicto con aquellos ya programados para este
periodo pueden ser seleccionados [Wilke 2002]
2127 El Sistema Experto Basado en Reglas
Los Sistemas Basados en Reglas proporcionan un buen punto de referencia para saberque tan buenos son otros meacutetodos en comparacioacuten a esta teacutecnica estaacutendar Varias deestas reglas son usadas para proporcionar sensibles elecciones para los movimientos enel algoritmo de Recocido Simulado en lugar de seleccionar cambios de manera aleatoriase ha usado este sistema como un preprocesador para generar una buena aproximacioacuteninicial y darla al Recocido Simulado
El Sistema Experto Basado en Reglas consiste en un nuacutemero de reglas (o heuriacutesticas) yrecursioacuten convencional para ayudar en la generacioacuten de asignacioacuten de clases Lasestructuras de datos o componentes del sistema son
bull Una matriz de distancias entre los departamentos acadeacutemicos y los edificios queseraacuten utilizados
bull Estructura de los datos de las materias para cada grupo programado en el campobull Estructura para las aulas (independientemente del tipo de aula) involucradas en el
procesobull Horarios para cada periodo de tiempo guardando cuales estaacuten disponibles y
cuales ya fueron ocupadasbull La estructura de los departamentosbull Las preferencias de los estudiantes indicando las clases requeridas
independientemente del semestre que sean las materias [Gervaacutes 1999]
Capiacutetulo 2 Marco teoacuterico
213 Observaciones realizadas a algunos paquetes generadores de horarios
Nombre DeMIStDescripcioacuten Puede describirse como un paquete que realiza bien las operaciones decasa (la propia universidad que lo creoacute) pero salioacute tan costoso como si hubierancomprado un paquete [Demist 2000]Proveedor DeMISt University
KnowTISEs un proyecto iniciado por la universidad de Leeds En la literatura aparece como unpaquete que es mejor para la generacioacuten de Grandes Horarios para una universidad quepara un departamento Utiliza el beneficio de gran cantidad de informacioacutencentralizada para la optimizacioacuten de recursos [Schedul 2000]Leeds University
STARSSTARS(Space Time and Resources Management) Igual que el anterior corre mejor enla elaboracioacuten de horarios de buen tamantildeo que en una aplicacioacuten departamentalDe Montfort University
Meeting maker Office TalkEs un generador de clases y acciones diarias es bueno cuando no es uacutetil el horario delos alumnos ya que proporciona uacutenicamente los espacios para las clases [Gervaacutes 1999]Varios proveedores
GP-UNTISEs un paquete australiano que funciona perfectamente para los requerimientos de lasescuelas secundariasTimetabling Services UK
Syllabus PlusEs una buena opcioacuten para uso departamental cumple los requerimientos de unauniversidad para la generacioacuten de horarios no trabaja a nivel de estudiantes pero si lohace con grupos de ellos no es factible para la generacioacuten de Grandes HorariosScientia LTD
Facility TimetablerEs una buena opcioacuten para uso departamental y para Grandes Horarios tiene interfaz conlos sistemas de alumnos y permite la creacioacuten de horarios individuales permite el uso
Capiacutetulo 2 Marco teoacuterico
centralizado de las aulas para una buena optimizacioacutenFacility Systems
Mimosa for WindowsEs un software general de planificacioacuten de la ensentildeanza y de programacioacuten de horariosLa aplicacioacuten utiliza todas las propiedades de Windows eficientemente es raacutepida tienegran capacidad y lo mas importante es tan flexible que puede aplicarse en todo el tipode escuelas desde la escuela primaria a las universidades desde las escuelasvocacionales a las academias militares
Se podriacutea decir que este producto cubririacutea todas las necesidades de la institucioacuten perohan existido algunos inconvenientes ya que no cubre con las necesidades deldepartamento tan solo da ayuda al usuario para que pueda generar sus horarios ademaacutesel tener tantos botones en pantalla (200) podriacutean confundir al usuario y realizar horarioserroacuteneos y no se resolveriacutea el problema [Nielsoft 2000]Mimosa Software Oy Finlandia
GestHor BSPEs un producto informaacutetico para resolver problemas de horarios escolares en escuelasbaacutesicas escuelas secundarias y escuelas profesionales
Toacutemese en cuenta que la mayoriacutea de los sistemas mencionados se enfoca solo a laasignacioacuten aula ndash materia y no abarca lo que es asignacioacuten materia ndash profesor
22 Los horarios
Existe mucha literatura referente a los horarios con una gran variedad de subtiacutetulos ydiferentes problemas Una gran variedad de algoritmos han sido propuestos empleandometodologiacuteas y heuriacutesticas de buacutesqueda produciendo horarios completos o soacuteloayudando durante el proceso Una de las grandes preguntas para la elaboracioacuten dehorarios es que si eacutestos pueden ser generales es decir iquestse puede encontrar un algoritmoo meacutetodo suficientemente general que produzca buenos horarios para todos losproblemas y para todas las restricciones La alternativa desde luego es continuardesarrollando algoritmos especializados aislados cada vez que un problema de horariosaparece
Al trabajar con una solucioacuten para el problema de los horarios se deben contestar lassiguientes preguntas iquestTodas las escuelas de nivel superior elaboran los horarios de lamisma manera iquestSon grandes o pequentildeas las diferencias en la forma de elaborar loshorarios iquestQueacute tan necesaria es la ayuda de la computadora iquestSoacutelo se requiere unpaquete general para la elaboracioacuten de los horarios iquestQueacute funcionalidad debe tener
Capiacutetulo 2 Marco teoacuterico
dicho paquete iquestQueacute tan grande y complejo es el problema de elaboracioacuten de horariosiquestQueacute propiedades debe poseer un horario aceptable para que una institucioacuten lo use
Se han realizado algunas encuestas para conocer si las escuelas de nivel superior tienensistemas computarizados para la elaboracioacuten de horarios si no los tienen si lonecesitaban y queacute caracteriacutesticas deberiacutea poseer El estudio concluyoacute que existe una grandemanda para tal sistema que se requiere un alto grado de asistencia automatizada yque la mayoriacutea de los elaboradores de horarios no estaban muy contentos con sussistemas actuales [Comm y Mathaisel 1988]
[Dowsland y Lim 1982] consideraron el problema de la elaboracioacuten de horarios peroproporcionaron alternativas en la encuesta de la utilidad de sistemas automatizados[Junginger 1986] establece que ldquoAunque los horarios producidos requierenmodificacioacuten las escuelas estaacuten contentas con los resultados El tiempo ahorrado fueconsiderable arriba del 75rdquo Dowsland por otro lado concluye que ldquoEs muy difiacuteciljuzgar el eacutexito actual de los paquetes para la elaboracioacuten de horarios pero el uso muylimitado de ellos sugiere que sus ventajas son limitadasrdquo Claramente ninguacuten disentildeadorde sistemas puede garantizar la idea de que su producto seraacute bienvenido con los brazosabiertos
[Pendlebury 1986] encuestoacute a las universidades politeacutecnicas britaacutenicas con respecto ala elaboracioacuten de horarios de cursos Doce de las treinta que contestaron la encuestautilizan elaboracioacuten de horarios por computadora (siete a gran escala y cuatro lo hacenen pequentildea escala) Es interesante notar que Pendlebury encontroacute que la mayoriacutea de loscursos se basan en clases que son muy independientes unas de otras y en la mayoriacutea delas instituciones encuestadas los departamentos individuales son responsables deproducir sus propios horarios
221 El problema de la elaboracioacuten de horarios
La elaboracioacuten de horarios es el acto de programar cursos a periacuteodos de tiempo asignarun aula a esos cursos y asignar un catedraacutetico a dicho curso
A menudo se hacen afirmaciones acerca de la naturaleza del problema que puedenpermitir encontrar una solucioacuten maacutes eficientemente Sin embargo cuando se trata deconstruir un sistema general se estaacute limitado a que las afirmaciones son el miacutenimocomuacuten denominador de todos los posibles escenarios
Una informacioacuten impliacutecita que ha sido hecha a menudo es la independencia entreunidades acadeacutemicas separadas Algunas universidades programan preguntando a susdepartamentos los horarios de sus propios cursos Una unioacuten central de dichos horarioses entonces utilizada para asegurar que todas las restricciones relevantes son cumplidasEn muchos casos esta es la forma normal en que es producido el horario de los cursos
Capiacutetulo 2 Marco teoacuterico
aunque algunos departamentos desarrollan su propio software para la programacioacuten decursos
En varias universidades los alumnos pueden tomar algunos de sus cursos endepartamentos diferentes al suyo Obviamente la independencia no debe ser asumidageneralmente debido a que puede haber diferencia en la programacioacuten de los cursos decada departamento En el Tecnoloacutegico de Zacatepec por ejemplo la probabilidadpromedio de que un curso tenga conflicto con uno de otro departamento es 1650mientras que la probabilidad de que dos cursos del mismo departamento tengan conflictoes 2250 notaacutendose una gran diferencia en el resultado
Dificultades encontradas por los responsables de la generacioacuten de horarios
Algunas dificultades experimentadas por los departamentos y facultades sonmencionadas aquiacute
bull Los programas acadeacutemicos se hacen cada vez maacutes flexibles (los estudiantesseleccionan queacute asignaturas tomar cuaacutendo doacutende y con quieacuten)
bull Algunos departamentos tienen asignaturas para ofrecer pero no tienen muchosalumnos
bull Los espacios para ofrecer las materias son cada vez menos y el problema se agravacuando los alumnos no quieren asistir en las tardes o los saacutebados
bull El staff de profesores no siempre estaacute disponible para impartir clases por muacuteltiplesrazones
bull Los alumnos pueden solicitar los grupos del proacuteximo semestre desde antes de queinicie pero al llegar el momento de inscribirse no lo hacen
bull Los departamentos estaacuten ansiosos por ofrecer una gran variedad de grupos teniendolos recursos pero esto puede ocasionar problemas
bull Existe una gran variedad de reglas al momento de asignar las aulas (pertenencia alas carreras prioridades de profesores etc)
bull Como no hay un costo asociado a la utilizacioacuten de un aula y no hay sanciones porreservarla y no utilizarla los departamentos acadeacutemicos no tienen un buen motivopara hacer una correcta utilizacioacuten del espacio
bull La falta de recursos ocasiona el mayor de los problemas porque obliga a laoptimizacioacuten en la planeacioacuten
Cursos y estudiantes
El problema de la elaboracioacuten de horarios estaacute relacionado esencialmente con el nuacutemerode eventos que requieren ser programados en este caso los cursos para los estudiantesClaramente el tamantildeo del problema variacutea entre los diferentes centros de estudio desdepequentildeos problemas con alrededor de 50 a 100 cursos hasta los 500 o 1000 cursos que
Capiacutetulo 2 Marco teoacuterico
programar Esta variacioacuten en el tamantildeo afectaraacute el tiempo requerido para resolver elproblema Un problema pequentildeo puede ser resuelto casi de manera oacuteptima mientrasque en uno grande se deben usar buacutesquedas heuriacutesticas u otras formas de acotar elespacio de buacutesqueda de una solucioacuten en un periodo de tiempo razonable
Se debe esperar que el nuacutemero de cursos y el nuacutemero de alumnos esteacuten correlacionadosEl nuacutemero de cursos ofrecidos y desde luego programados debe ser calculado porextrapolacioacuten del promedio de 5 o 6 cursos por alumno y con cupo promedio de 30alumnos por curso obviamente algunos alumnos se inscribiraacuten en 7 u 8 cursos porsemestre mientras que los cursos tendraacuten inscritos entre 20 y 40 alumnos Losalumnos dependiendo del semestre en que se encuentran inscritos deben matricularse aciertos cursos especiacuteficos para ese semestre dichos cursos deben programarse de maneraque los alumnos tengan la menor cantidad de tiempo entre el primer y el uacuteltimo cursodel diacutea permitieacutendoles con esto realizar actividades complementarias
En el Tecnoloacutegico de Zacatepec para una carrera con 900 alumnos se requieren ofertaraproximadamente entre 140 y 160 cursos ademaacutes los estudiantes pueden matricularse encursos ofrecidos por otros departamentos (esto ampliacutea el rango de posibilidades para losalumnos)
Los cursos y los departamentos
El promedio de los cursos ofrecidos por cada departamento variacutea considerablementeentre las diferentes escuelas de nivel superior La razoacuten de esta variabilidad puede servista como un indicador de la naturaleza de la complejidad de la planeacioacuten de horarios
Cada departamento ofrece cursos a los estudiantes de las carreras a las que da soportedirecto pero ademaacutes debe ofrecer cursos para todas las otras carreras de la institucioacutenque lo requieran esto es si un departamento X solicita la apertura de determinadonuacutemero de cursos a un departamento Y el departamento Y debe ofertar los cursossolicitados por X para los alumnos matriculados en el departamento X aunado a estoalgunos cursos ofertados por el departamento Y tienen compatibilidad con cursosofrecidos por X y por lo tanto los estudiantes de Y y X pueden ingresar indistintamenteen cualquiera de los cursos
Los cursos los semestres y las horas
Una de las afirmaciones que se pueden hacer en las instituciones de nivel superior es quelos cursos generalmente inician durante cierto periodo de tiempo y pueden tenerduracioacuten semestral (la gran mayoriacutea) trimestral y sin fechas predeterminadas (algunosposgrados por ejemplo) En general los cursos empiezan a las 700 AM y terminandependiendo del lugar a las 2000 o a las 2100 horas de lunes a saacutebado Aunque estopermite tener un amplio margen de horas para programar los cursos esto hace tambieacuten
Capiacutetulo 2 Marco teoacuterico
aun maacutes difiacutecil la elaboracioacuten de los horarios porque aumenta el rango de posiblescombinaciones donde programar cursos
Los cursos se pueden programar en periodos de tiempo muy variados aunque la mayoriacuteade los programadores de horarios siguen los siguientes patrones
bull Curso diario de 1 horabull Curso de dos horas en diacuteas saltados (lunes y mieacutercoles jueves y viernes
mieacutercoles y viernes)bull Curso de dos horas diarias 3 diacuteas por semana (lunes mieacutercoles y viernes)
(lunes martes y jueves) o (martes jueves y viernes)bull Cursos de cuatro horas en un solo diacutea por semanabull En el peor de los casos se programan cursos con la combinacioacuten de algunos
de los anteriores
Dependiendo del curso algunos tienen duracioacuten de cuatro horas teoacutericas semanales otroscombinan cuatro horas de teoriacutea y dos de praacutectica y algunos excepcionalmente sonprogramados con cuatro horas de praacutectica y dos de teoriacutea Las horas de praacutecticageneralmente se realizan en laboratorios o praacutecticas de campo agregando esto un nuevoparaacutemetro para la complejidad de la elaboracioacuten de horarios
Los cursos y las aulas
Las aulas son el espacio fiacutesico donde se impartiraacuten los cursos pueden ser salones declase laboratorios salones de exposicioacuten aulas para aplicacioacuten de exaacutemenes aulas paraactividades deportivas musicales o recreativas cada aula tiene capacidad para quecierto nuacutemero definido de estudiantes reciba sin problema unidades de ensentildeanzaaprendizaje
En una encuesta realizada por la Universidad de Nottingham [Burke y Elliman 1998] sedefinioacute que la programacioacuten de los cursos en las aulas es uno de los mayores problemasa los que se enfrentan los responsables de la elaboracioacuten de horarios Esto proviene dedos problemas mayores El primer problema es la escasez de aulas disponibles ya queen algunas de las escuelas de nivel superior el crecimiento de la poblacioacuten estudiantil hasido mayor que el crecimiento del nuacutemero de aulas disponibles para la ensentildeanza Elsegundo problema ocurre cuando se programa un curso en mas de un aula o saloacuten declase
La ocupacioacuten de las aulas es variable de acuerdo al departamento para el que seaasignada algunos prefieren utilizarlas al maacuteximo en el turno matutino otros en el turnovespertino tienen ocupacioacuten total algunos las utilizan exhaustivamente de lunes ajueves unos departamentos las llenan los viernes y saacutebados y otros tienen que utilizarlastodo el diacutea de lunes a saacutebado inclusive solicitan prestadas a los otros departamentosaquellos espacios que no son utilizados en alguacuten diacutea y hora a la semana
Capiacutetulo 2 Marco teoacuterico
Para el Tecnoloacutegico de Zacatepec el recurso llamado las aulas debe ser optimizado enuna buena planeacioacuten de horarios esto es deben ser utilizadas al maacuteximo todos los diacuteasde la semana desde las 700 hasta las 2100 de lunes viernes y los saacutebados hasta las1500 horas
Tipos de cursos
Una de las cosas a tomarse en cuenta durante la elaboracioacuten de los horarios es el tipo decurso a programar
bull Teoacutericos como los cursos matemaacuteticos cursos de administracioacuten etcbull Teoacuterico praacutecticos como los cursos de electroacutenica sistemas digitalesbull Lenguajes de programacioacutenbull Con praacutecticas de campo que deben salir al aire librebull Con praacutecticas de quiacutemica
Otra consideracioacuten es el tipo de aula requerida por los diferentes tipos de cursos
bull cursos que requieren medios audiovisuales simples (pizarroacuten y gis)bull algunos cursos adicionalmente requieren proyectores de acetatos y salas
obscurecidasbull cursos que requieren equipo de coacutemputo equipo de proyeccioacuten equipo de video y
televisioacuten para el desarrollo de la caacutetedra etcbull cursos que requieren laboratorios con computadorasbull que requieren equipos de medicioacuten electroacutenica generadores de sentildeales enchufes
eleacutectricos ybull cursos que requieren mesas tomas eleacutectricas y equipos para conexioacuten de redes
Los cursos y los catedraacuteticos
Definitivamente eacutesta es una de las principales consideraciones que tienen en cuenta losprogramadores de horarios la asignacioacuten de los cursos a los catedraacuteticos porque es unproceso que no puede realizarse de manera aleatoria es un proceso delicado porque deesto depende la efectividad del proceso de ensentildeanzandashaprendizaje
Los catedraacuteticos tienen caracteriacutesticas individuales que los hacen uacutenicosindependientemente de la profesioacuten que hayan estudiado Tienen intereses diferentesmeacutetodos diferentes aacutereas de preferencia diferentes perfil profesiograacutefico distinto tienenactividades extralaborales variadas asiacute que
iquestCoacutemo asignarle un curso a un catedraacutetico para que logre un oacuteptimo resultado en el
Capiacutetulo 2 Marco teoacuterico
proceso de ensentildeanza-aprendizajeiquestCoacutemo garantizar que el curso asignado a un profesor seraacute bien impartidoiquestCoacutemo saber que el profesor estaacute capacitado para ofrecer un buen cursoiquestCuaacuteles son los requisitos que debe reunir un profesor para impartir cierto cursoiquestDependen soacutelo de la profesioacuten los cursos que puede impartiriquestCoacutemo conocer de antemano las preferencias de los profesoresiquestEl nivel de estudio de los profesores les capacita para impartir cualquier cursoiquestDeben los profesores ser guiados a una especialidad por los programadores dehorarios
Las respuestas a todas estas preguntas incorporadas en un sistema generador de horariosiquestpermitiraacuten hacer una buena asignacioacuten de catedraacutetico a un curso
El condensado de horarios
Es un documento emitido cada semestre por los responsables de la elaboracioacuten de loshorarios que contiene la informacioacuten requerida por los alumnos jefes de departamento ycatedraacuteticos para conocer la distribucioacuten de las materias los grupos las aulas las horasy los catedraacuteticos que impartiraacuten los cursos en otras palabras el condensado de materiases el documento final de los HORARIOS que marcaraacute las acciones de todos el semestreactual
23 El proceso de la elaboracioacuten de horarios
El proceso de la elaboracioacuten de horarios abarca cada accioacuten que es requerida para crearel horario final completo y correcto de los datos iniciales Esto incluye recibir validary dar formato a los datos generar la versioacuten inicial hacer las correcciones y luegoproducir el condensado final de horarios El proceso de la generacioacuten de horariosabarca
bull la generacioacuten del dato de cuantos cursos se van a ofertarbull asignacioacuten de horario a esos cursosbull proporcionar aulas a los cursosbull designar profesores para los cursos definidos
la parte difiacutecil de esto es generar los horarios con los recursos disponibles en cadadepartamento cada etapa tiene sus restricciones (fuertes y suaves) los recursos no soninagotablesEl uso de la computadora
En una encuesta realizada por la Universidad de Nottingham [Burke y Elliman 1998]referente a la forma de elaborar horarios en las demaacutes universidades se encontroacute que un
Capiacutetulo 2 Marco teoacuterico
58 de ellas utilizan la computadora en alguna etapa del proceso de eacutestas el 21 tienela facilidad de realizar la programacioacuten aunque generalmente requieren captura manualde informacioacuten y conocimientos previos del problema particular del proceso El 1tienen paquetes comerciales y el 14 tienen paquetes hechos en casa para generarhorarios y el 2 aseguran que estaacuten desarrollando o comprando un paquete
Dado el tamantildeo de los horarios de dichas universidades es sorprendente que muchas notengan alguna forma de automatizacioacuten Esto se debe en la mayoriacutea de los casos a quelos horarios no cambian significativamente de un antildeo a otro Sin embargo de lasuniversidades que no programan horarios por computadora la mitad usa el horario delantildeo pasado y la otra mitad empiezan desde cero cada vez Cuando no se usa el horariodel antildeo pasado generalmente toma 4 semanas elaborar uno nuevo En la mayoriacutea de loscasos donde se usa la computadora generalmente no se toma en cuenta el horario delantildeo anterior
Causas de cambio de los horarios antildeo tras antildeo
Para que un horario pueda ser usado antildeo tras antildeo debe ser lo suficientemente robustopara que los cambios que ocurran en los datos de entrada produzcan soacutelo una pequentildeaalteracioacuten o modificacioacuten en el condensado final de horarios El uso del condensado delantildeo pasado depende en la cantidad de cambios que deben hacerse y esto a su vezdepende de cuanto cambie la cantidad de grupos que deben ofertarse para cadaasignatura y esto depende de la cantidad de alumnos que pueden cursar una asignaturaahora bien la cantidad de alumnos estaacute en funcioacuten de los iacutendices de aprobacioacuten yreprobacioacuten del periodo de los alumnos que por alguna razoacuten no cursaron unaasignatura y de la cantidad de grupos ofertados el periodo pasado
Si cambia la cantidad de horas frente a grupo asignada a un departamento entoncescambiaraacute el condensado de horarios con respecto al del antildeo pasado porque eso afectadirectamente en la cantidad de cursos que podraacute ofertarse este periodo este es uno de losrecursos maacutes variables que influyen para hacer cambios en los condensados antildeo trasantildeo
La redistribucioacuten de aulas y laboratorios (que no se realiza a menudo) llega tambieacuten ainfluir en los cambios
El cambio de horario matutino a vespertino (o viceversa) solicitado por un catedraacuteticoque es el especialista en impartir cierto curso ocasiona los cambios del condensado dehorarios del antildeo anterior al nuevo
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
CAPIacuteTULO 3
TEacuteCNICAS DE INTELIGENCIA ARTIFICIAL UTILIZADASPARA LA GENERACIOacuteN DE HORARIOS
31 Sistemas Expertos (SE)Bajo el teacutermino de Sistemas Expertos se entiende un nuevo tipo de software que imita elcomportamiento de un experto humano en la solucioacuten de un problema Un SE puedealmacenar conocimientos de expertos para un campo determinado y solucionar unproblema mediante razonamiento loacutegico de conclusiones
Los Sistemas Expertos son sistemas que buscan modelar el conocimiento yprocedimientos usados por un experto humano para resolver un problemadeterminado[Saacutenchez 1999]
iquestUn Sistema Experto utiliza teacutecnicas de la Inteligencia Artificial (IA)
Los Sistemas Expertos son uno de los puntos que componen las investigaciones en elcampo de la IA Un sistema de computadoras que trabaje con teacutecnicas de IA deberaacuteestar en situacioacuten de combinar informacioacuten de forma ldquointeligenterdquo alcanzarconclusiones y justificarlas (al igual que el resultado final) Los Sistemas Expertos sonuna expresioacuten de los sistemas basados en el conocimiento Con la aplicacioacuten de teacutecnicasde Inteligencia Artificial finaliza la transicioacuten del procesamiento de datos alprocesamiento de conocimientos
Un Sistema Experto es un sistema informaacutetico que simula el proceso de aprendizaje dememorizacioacuten de razonamiento de comunicacioacuten y de accioacuten de un experto humano enuna determinada rama o dominio Estas caracteriacutesticas le permiten almacenar datos yconocimiento sacar conclusiones loacutegicas tomar decisiones aprender de la experiencia ylos datos existentes comunicarse con humanos explicar el porqueacute de las decisionestomadas y realizar acciones como consecuencia de todo lo anterior
La incorporacioacuten dentro de un sistema de computadoras de un componente basado enel conocimiento correspondiente a una habilidad experta de tal forma que el sistemapueda ofrecer asesoramiento inteligente o tomar una decisioacuten inteligente sobre unafuncioacuten del proceso Una caracteriacutestica adicional deseable que muchos consideranfundamental es la capacidad del sistema si se le solicita de justificar su propia liacutenea derazonamiento de un modo directamente inteligible para el interrogador El estiloadoptado para alcanzar estas caracteriacutesticas es la programacioacuten basada en reglas[Waterman 1986]
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
311 Funcioacuten de un Sistema Experto
La funcioacuten de un Sistema Experto es aportar soluciones a problemas de un dominioespeciacutefico imitando la forma de razonamiento de los seres humanos es decir el SistemaExperto debe ser capaz de mostrar soluciones inteligentes [Giarratamo 1998]
Acceder a los conocimientos adquiridos por experiencia es lo maacutes difiacutecil ya que losexpertos al igual que otras personas apenas los reconocen como tales Son buscadoscon mucho esfuerzo y cuidado siendo descubiertos de uno en uno poco a poco
Ventajas del Sistema Experto
Experto Humano Experto ArtificialMortal PermanenteDifiacutecil de documentar Faacutecil de documentarDifiacutecil de transferir Faacutecil de transferirImpredecible ConsistenteMaacutes caro Menos caro
Ventajas del Experto Humano
Experto Humano Experto ArtificialCreativo No creativoAdaptable Requiere mantenimientoExperiencia sensorial Entrada simboacutelicaConocimiento de sentido comuacuten Conocimiento teacutecnico
312 Arquitectura de Sistemas Expertos [Gines 1986] [Giarratamo 1998]
La arquitectura general de un SE (Fig 31) estaacute compuesta fundamentalmente de
bull Base de Conocimiento Representa el conocimiento adquirido del expertohumano incluyendo experiencia sentido comuacuten e intuicioacuten
bull Motor de Inferencia Decide que se debe aplicar que se debe hacer resuelveconflictos nuevos hace uso de la base del conocimiento Proporcionamecanismos de razonamiento buacutesqueda aprendizaje etc
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
bull Interfaz Usuario Facilita la comunicacioacuten entre el Sistema Experto y el usuarioque realiza las consultas
bull Subsistema de Adquisicioacuten Mejor conocido como la Interfaz de Expertopermite ingresar el conocimiento a la Base de Conocimientos por parte delhumano experto en alguacuten dominio de conocimiento
bull Subsistema de explicaciones Permite dar a conocer los resultados obtenidospor el Sistema Experto
313 La base de conocimiento
El enfoque maacutes comuacuten para representar el dominio del conocimiento que se requierepara un SE son las reglas de produccioacuten Estas pueden ser referidas como reglasldquosituacioacuten-accioacutenrdquo o ldquoif-thenrdquo De esta forma con frecuencia una base deconocimientos estaacute fraguada principalmente de reglas las cuales son invocadas por uncasamiento de patrones con las particularidades de las tareas circunstanciales que vanapareciendo en la base de hechosLas reglas en una base de conocimientos representan el dominio de hechos y laheuriacutestica de un buen juicio de acciones a tomar cuando uno llega a situacionesespeciacuteficas La fuerza de un SE yace en el conocimiento especiacutefico del dominio delproblema Casi todos los sistemas existentes basados en reglas contienen cientos o milesde ellas y generalmente se obtienen de entrevistas con expertos durante un tiempo largoEn cualquier SE las reglas se conectan una a otra por ligas de asociacioacuten para formar
Base de
Motor de
Subsistema deadquisicioacuten
del
Subsistemade
explicacione
Interfazde
usuario
Ingeniero delconocimiento y experto Usuario
Base de hechos
Figura 31 Arquitectura de un Sistema Experto
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
redes de reglas Una vez que han sido ensambladas tales redes entonces se tiene unarepresentacioacuten de un cuerpo de conocimientos que es sustancial
Generalmente un experto tiene muchas reglas de criterio empiacutericas por lo que el soportesuele ser incompleto para la evidencia que se dispone En tales casos una teacutecnica es la devincular valores numeacutericos a cada regla para indicar el grado de certidumbre que eacutestatiene En la operacioacuten de SE los valores de certidumbre se combinan unos a otros atraveacutes de la red considerando tambieacuten la certidumbre de los datos de entrada delproblema para llegar finalmente a un valor de certidumbre de la solucioacuten final
314 El motor de inferencias
El sistema experto modela el proceso de razonamiento humano con un moacutedulo conocidocomo el motor de inferencia Dicho motor de inferencia trabaja con la informacioacutencontenida en la base de conocimientos y la base de hechos para deducir nuevos hechosContrasta los hechos particulares de la base de hechos con el conocimiento contenido enla base de conocimientos para obtener conclusiones acerca del problemaEl modelo de problema - solucioacuten y sus meacutetodos organizan y controlan las etapas que sevan tomando para la resolucioacuten de problemas Un modelo muy poderoso y comuacuten es elde encadenar las reglas `` if-then-else con el fin de formar alguna liacutenea derazonamiento Si el encadenamiento se inicia a partir de un conjunto de condiciones y semueve hacia alguna conclusioacuten el meacutetodo se llama encadenamiento hacia adelante y ensu caso contrario el encadenamiento es hacia atraacutes
Un problema de encadenamiento hacia adelante sin una apropiada heuriacutestica de podaderivaraacute muchas soluciones de las cuales no todas son necesarias En el caso deencadenamiento hacia atraacutes es necesario tambieacuten trabajar con una heuriacutestica apropiadacon la finalidad de poder manejar submetas conjuntivas En general para atacar elproblema de conjuncioacuten es necesario encontrar un caso en donde todas las submetasinteractuantes se satisfagan Pero con frecuencia una buacutesqueda de tal naturaleza nos dauna explosioacuten combinatoria de posibilidades Es por esta razoacuten que el dominioapropiado de la heuriacutestica y su esquema inferencial deberaacuten ser encontrados para cadatipo de problemas para que de esta manera se tenga un SE eficaz y eficiente
315 iquestPor queacute utilizar un Sistema Experto [Pluss 1999] [Sanchez 1999]
1 Con la ayuda de un Sistema Experto personas con poca experiencia pueden resolverproblemas que requieren un conocimiento formal especializado
2 Los Sistemas Expertos pueden obtener conclusiones y resolver problemas de formamaacutes raacutepida que los expertos humanos
3 Los Sistemas Expertos razonan pero basaacutendose en un conocimiento adquirido y notienen sitio para la subjetividad
Capiacutetulo 2 Marco teoacuterico
4 El uso de Sistemas Expertos es especialmente recomendado en las siguientessituaciones
bull Cuando los expertos humanos en una determinada materia son escasos
bull En situaciones complejas donde la subjetividad humana puede llevar aconclusiones erroacuteneas
bull Cuando es muy elevado el volumen de datos que ha de considerarse paraobtener una conclusioacuten
316 Construccioacuten de prototipos [Turban 1995]
En el desarrollo de Sistemas Expertos se plantean dos importantes riesgos
1- No existen implementaciones similares que puedan servir de orientacioacuten al encargadodel desarrollo en la casi totalidad de los casos
2- En muchos puntos los requisitos necesarios estaacuten esbozados con muy poca precisioacuten
El disentildeo y la especificacioacuten requieren una temprana determinacioacuten de la interfaz delsoftware y de la funcionalidad de los componentes En el desarrollo de SistemasExpertos deben alterarse a menudo durante y tambieacuten despueacutes de su implementacioacuten yaque los requisitos se han ido configurando y han obtenido mayor precisioacuten o porque seha descubierto que deben iniciarse otras viacuteas de solucioacuten Durante el desarrollo resultamaacutes apropiado empezar con implementaciones tipo test para encontrar el camino haciauna solucioacuten definitiva y para hacerlas coincidir con las necesidades del usuario
32 Algoritmos Geneacuteticos
321 Antecedentes [Medina 2004] [Goldberg 1989] [Davis 1991]
El Algoritmo Geneacutetico es una teacutecnica de buacutesqueda basada en la teoriacutea de la evolucioacutende Darwin que ha cobrado tremenda popularidad en todo el mundo durante los uacuteltimosantildeos
Esta teacutecnica se basa en los mecanismos de seleccioacuten que utiliza la naturaleza de acuerdoa los cuales los individuos maacutes aptos de una poblacioacuten son los que sobreviven al
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
adaptarse maacutes faacutecilmente a los cambios que se producen en su entorno Hoy en diacutea sesabe que estos cambios se efectuacutean en los genes de un individuo (unidad baacutesica decodificacioacuten de cada uno de los atributos de un ser vivo) y que sus atributos maacutesdeseables se transmiten a sus descendientes cuando eacuteste se reproduce sexualmente
En 1859 Darwin publica su libro laquoEl origen de las especiesraquo El libro causoacute una granpoleacutemica en el mundo cientiacutefico por las revolucionarias teoriacuteas en eacutel contenidas que lasespecies evolucionan acorde al medio para adaptarse a eacuteste Con ello el universopasaba de ser una creacioacuten de Dios estaacutetica y perfecta desde su inicio a un conjunto deindividuos en constante competicioacuten y evolucioacuten para poder perpetuar su especie en eltiempo La existencia de una especie pasa asiacute a ser algo dinaacutemico las especies se creanevolucionan y desaparecen si no se adaptan Para cada especie animal la naturalezaproponiacutea un crudo filtro soacutelo los mejores los maacutes aptos los que mejor se adapten almedio conseguiacutean sobrevivir lo suficiente para llegar a la madurez y encontrar unapareja para perpetuar sus aptitudes que le haciacutean maacutes apto
La informaacutetica ve aquiacute un claro proceso de optimizacioacuten Se toman los individuos mejoradaptados (mejores soluciones temporales) se cruzan (se mezclan ) generando nuevosindividuos (nuevas soluciones) que contendraacuten parte del coacutedigo geneacutetico (informacioacuten)de sus dos antecesores y por lo tanto aunque el nuevo individuo no tenga que estarforzosamente mejor adaptado de hecho puede que ni la probabilidad de que el nuevoindividuo generado esteacute mejor adaptado que los padres sea alta el promedio de laadaptacioacuten de toda la poblacioacuten si mejora ya que tienden a perpetuarse y extenderse lasmejores caracteriacutesticas y a extinguirse las poco beneficiosas o perjudiciales En losAlgoritmos Geneacuteticos se crea una nueva abstraccioacuten -la poblacioacuten- cuya funcioacuten decoste mejoraraacute globalmente por lo que puede que se encuentre alguacuten individuo conmejores caracteriacutesticas
Un investigador de la Universidad de Michigan llamado John Holland era consciente dela importancia de la seleccioacuten natural y a fines de los antildeos 60 desarrolloacute una teacutecnica quepermitioacute incorporarla a un programa Su objetivo era lograr que las computadorasaprendieran por siacute mismas A la teacutecnica que inventoacute Holland se le llamoacute originalmentePlanes Reproductivos pero se hizo popular bajo el nombre Algoritmo Geneacutetico trasla publicacioacuten de su libro en 1975
En esa universidad Holland impartiacutea un curso titulado Teoriacutea de sistemas adaptativosDentro de este curso y con una participacioacuten activa por parte de sus estudiantes fuedonde se crearon las ideas que maacutes tarde se convertiriacutean en los Algoritmos GeneacuteticosLos objetivos de su investigacioacuten fueron dos
Imitar los procesos adaptativos de los sistemas naturales y Disentildear sistemas artificiales (normalmente programas) que retengan los mecanismos
importantes de los sistemas naturales
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
Unos 15 antildeos maacutes adelante David Goldberg actual delfiacuten de los Algoritmos Geneacuteticosconocioacute a Holland y se convirtioacute en su estudiante Golberg era un ingeniero industrialtrabajando en disentildeo de tuberiacuteas y fue uno de los primeros que tratoacute de aplicar losAlgoritmos Geneacuteticos a problemas industriales Aunque Holland tratoacute de disuadirleporque pensaba que el problema era excesivamente complejo Goldberg consiguioacute loque queriacutea escribiendo un Algoritmo Geneacutetico en una computadora personal Apple IIEstas y otras aplicaciones creadas por estudiantes de Holland convirtieron a losAlgoritmos Geneacuteticos en un campo con base suficiente como para celebrar la primeraconferencia en 1985 ICGAacute85 Tal conferencia se sigue celebrando bianualmente[Beasley 1993]
Una definicioacuten bastante completa de un Algoritmo Geneacutetico es la propuesta por JohnKoza es un algoritmo matemaacutetico altamente paralelo que transforma un conjunto deobjetos matemaacuteticos individuales con respecto al tiempo usando operaciones modeladasde acuerdo al principio Darwiniano de reproduccioacuten y supervivencia del maacutes apto y trashaberse presentado de forma natural una serie de operaciones geneacuteticas de entre las quedestaca la recombinacioacuten sexual Cada uno de estos objetos matemaacuteticos suele ser unacadena de caracteres (letras o nuacutemeros) de longitud fija que se ajusta al modelo de lascadenas de cromosomas y se les asocia con una cierta funcioacuten matemaacutetica que refleja suaptitud [Koza 1992] 322 Definicioacuten de AG
Los Algoritmos Geneacuteticos (AG) son meacutetodos adaptativos que pueden usarse pararesolver problemas de buacutesqueda y optimizacioacuten Estaacuten basados en el proceso geneacutetico delos organismos vivos A lo largo de las generaciones las poblaciones evolucionan en lanaturaleza de acorde con los principios de la seleccioacuten natural y la supervivencia de losmaacutes fuertes postulados por Darwin Por imitacioacuten de este proceso los AlgoritmosGeneacuteticos son capaces de ir creando soluciones para problemas del mundo real Laevolucioacuten de dichas soluciones hacia valores oacuteptimos del problema depende en buenamedida de una adecuada codificacioacuten de las mismas [Goldberg 1989]
Un Algoritmo Geneacutetico consiste en una funcioacuten matemaacutetica que toma como entradas alos ejemplares y retorna como salidas cuaacuteles de ellos deben generar descendencia para lanueva generacioacuten
Los Algoritmos Geneacuteticos presentan ventajas sobre otros algoritmos que los hacenpreferibles para determinado tipo de aplicaciones Algunas de las caracteriacutesticas de losAlgoritmos Geneacuteticos son
bull Son algoritmos estocaacutesticos Dos ejecuciones distintas pueden dar dos solucionesdistintas Esto es uacutetil por el hecho de que hay gran cantidad de isoacutemeros que
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
corresponden a soluciones vaacutelidas por lo que es interesante que distintas ejecucionespuedan dar isoacutemeros distintos
bull Son algoritmos de buacutesqueda muacuteltiple luego dan varias soluciones Aunquehabitualmente la energiacutea de los individuos de la poblacioacuten final es similar losindividuos suelen ser distintos entre si Con el modelo de paralelizacioacuten empleado -geneacutetico multipoblacional- la probabilidad de obtener muchas soluciones distintas esmaacutes alta todaviacutea
bull Son los algoritmos que hacen una barrida mayor al subespacio de posiblessoluciones vaacutelidas De hecho se considera que de todos los algoritmos deoptimizacioacuten estocaacutesticos los Algoritmos Geneacuteticos son de los maacutes exploratoriosdisponibles
323 Ventajas y Desventajas [Bull 1993]
bull No necesitan conocimientos especiacuteficos sobre el problema que intentan resolverbull Operan de forma simultaacutenea con varias soluciones en vez de trabajar de forma
secuencial como las teacutecnicas tradicionalesbull Cuando se usan para problemas de optimizacioacuten de una funcioacuten objetivo- resultan
menos afectados por los oacuteptimos locales (falsas soluciones) que las teacutecnicastradicionales
bull Usan operadores probabiliacutesticos en vez de los tiacutepicos operadores determiniacutesticos delas otras teacutecnicas
bull La mayoriacutea de las otras teacutecnicas de optimizacioacuten son tambieacuten estocaacutesticasbull Pueden tardar mucho en converger o no converger en absoluto dependiendo en
cierta medida de los paraacutemetros que se utilicen tamantildeo de la poblacioacuten nuacutemero degeneraciones etc-
bull Pueden converger prematuramente debido a una serie de problemas de diversaiacutendole
324 iquestCoacutemo saber si es posible usar un Algoritmo Geneacutetico
La aplicacioacuten maacutes comuacuten de los Algoritmos Geneacuteticos ha sido la solucioacuten de problemasde optimizacioacuten en donde han mostrado ser muy eficientes y confiables Sin embargono todos los problemas pudieran ser apropiados para la teacutecnica y se recomienda engeneral tomar en cuenta las siguientes caracteriacutesticas del mismo antes de intentar usarlabull Su espacio de buacutesqueda (ie sus posibles soluciones) debe estar delimitado dentro
de un cierto rangobull Debe poderse definir una funcioacuten de aptitud que indique que tan buena o mala es
una cierta respuestabull Las soluciones deben codificarse de una forma que resulte relativamente faacutecil de
implementar en la computadora
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
Decisiones para implementar un Algoritmo Geneacutetico [Michalewicz 1992]
Las decisiones que hay que tomar para implementar un Algoritmo Geneacutetico son
bull Criterio de codificacioacuten Coacutemo se va a almacenar la informacioacuten en el genomabull Criterio de tratamiento de individuos no factibles Coacutemo se van a tratar a los
individuos que no cumplan las restriccionesbull Criterio de inicializacioacuten Coacutemo se va a construir la poblacioacuten inicialbull Criterio de parada Determina cuaacutendo el algoritmo ha llegado a una solucioacuten
aceptablebull Funcioacuten de adaptacioacuten Corresponde a la funcioacuten de costo de la investigacioacuten
operativa tradicionalbull Operadores geneacuteticos Se emplean para determinar coacutemo va a ser la nueva
generacioacuten Baacutesicamente son los operadores de cruce y mutacioacuten aunque pueden serempleados otros adicionales -muerte aborto envejecimiento- Tanto cruce comomutacioacuten pueden ser realizados de muchas formas distintas
bull Criterios de reemplazo Los criterios que determinan quieacutenes se van a cruzar Notienen que ser obligatoriamente los mismos que los criterios de seleccioacuten de lospadres
bull Paraacutemetros de funcionamiento Determinados paraacutemetros que sin poder serenglobados en ninguno de los anteriores son fundamentales para el funcionamientode un Algoritmo Geneacutetico Es el caso por ejemplo del tamantildeo de la poblacioacuten laprobabilidad de la aplicacioacuten de los operadores geneacuteticos etc
325 Paraacutemetros que deben ser especificados en el programa
Nordm de generaciones cantidad de veces que se produce una nueva generacioacuten deindividuos utilizando las reglas anteriormente explicadas Por loacutegica cuantas maacutesgeneraciones se produzcan se obtendraacuten mejores individuosNordm de individuos por generacioacuten en este ejemplo la cantidad de individuos de unageneracioacuten a otra es constante no variacuteaNordm de entrenamientos cantidad de veces que se lleva a cabo un entrenamiento entrediferentes generaciones de individuos
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
Fig 32 Pseudocoacutedigo del Algoritmo Geneacutetico simple
Los Algoritmos Geneacuteticos son una poderosa herramienta de propoacutesito general deoptimizacioacuten que modela los principios de la evolucioacuten [Burke 1994]
El proceso es el siguiente
1 Una poblacioacuten random de horarios factibles es creada Cada horario es evaluado deacuerdo a una conjunto de criterios (por ejemplo el tamantildeo del horario cuantosgrupos son colocados a la misma hora y en el mismo saloacuten cuantos salones hayvaciacuteos)
2 Los horarios son seleccionados de manera aleatoria para ser las bases de la proacuteximageneracioacuten Los buenos horarios son maacutes deseables que los malos En las bases dela evaluacioacuten de estos miembros de la poblacioacuten (horarios factibles) se escogen lospadres de la proacutexima generacioacuten de horarios Evaluando numeacutericamente durante elproceso de seleccioacuten buscando los mejores horarios los peores horarios soneliminados al mismo tiempo que la buacutesqueda se dirige hacia las aacutereas maacutespromisorias del espacio de soluciones
3 El Operador Mutacioacuten se aplica generalmente a un solo miembro de la poblacioacuten einvolucra el cambio aleatorio de la hora o aula de algunos grupos despueacutesalmacena el nuevo horario siempre manteniendo un horario factible Esto agrega
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
un elemento que permite tambieacuten introducir material geneacutetico uacutetil que ha sidoperdido en otros horarios en las primeras generaciones
4 El Operador de Cruzamiento toma una pareja de horarios y los combina de algunamanera para producir uno o dos nuevos horarios esto se hace generalmente deforma aleatoria seleccionando algunos grupos de la mantildeana de un miembro de lapoblacioacuten y los algunos grupos de la tarde de otro miembro para producir un nuevohorario cualquier grupo que no pueda ser colocado de esta manera se manda alperiodo siguiente disponible
5 La nueva poblacioacuten es generada El proceso seraacute repetido hasta que una buenasolucioacuten sea generada
33 Programacioacuten Loacutegica de Restricciones (PLR)
331 Antecedentes de la PLR
La Programacioacuten Loacutegica de Restricciones (PLR) es una teacutecnica que tiene mucho encomuacuten con los algoritmos de asignacioacuten heuriacutestica Dechter describe asiacute el problemade la satisfaccioacuten de restricciones ldquoUn problema de satisfaccioacuten de restricciones (PSR)es representado por una red de restricciones consistente en un conjunto de n variablesX1 Xn con sus respectivos valores de dominio RR n y un conjunto derestricciones Una restriccioacuten Ci (Xi1Xij)es un subconjunto del producto cartesiano Ri1 x x R i1 formado por todas las tuplas de valores para un subconjunto(X i1X ij) delas variables que son compatibles unas con otrasrdquo [Detcher 1990]
Una solucioacuten de la red es una asignacioacuten de valores a todas las variables de tal formaque todas las restricciones son satisfechasrdquo Esta es una representacioacuten maacutes poderosaque el modelo de los Grafos Coloreados porque puede representar restricciones mascomplejas El problema de los grafos coloreados es equivalente a un PLR binario en lacual cada restriccioacuten soacutelo tiene dos variables
Este modelo se resuelve tratando de asignar valores a cada una de las variables encuestioacuten y entonces regresando si se encuentra en un punto muerto y quitandorestricciones si se descubre que no se puede encontrar solucioacuten El orden en el que lasvariables son seleccionadas y el orden de los valores que son asignados a las variablespuede ser alterado para tratar aumentar la velocidad de buacutesqueda
La PLR es un meacutetodo que permite el disentildeo raacutepido de prototipos de resolucioacuten deproblemas complejos Las principales aportaciones en esta liacutenea se centran en eldesarrollo de programas que incluyen conjuntos de restricciones adaptadas a unadeterminada familia de problemas asiacute como al disentildeo formal e implementacioacuten demodelos de interpretacioacuten en paralelo con el fin de mejorar la eficiencia del proceso
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
deductivo El objetivo final es disponer de sistemas de resolucioacuten implementados paraapoyar la creacioacuten de sistemas donde la explosioacuten combinatoria de los elementos de unproblema hace muy difiacutecil la buacutesqueda de una solucioacuten en un tiempo razonable [Farion1992]
En esta seccioacuten se proporciona una breve introduccioacuten de la Programacioacuten Loacutegica conRestricciones y sus aplicaciones dentro del marco general de la programacioacuten loacutegica Setrata eacuteste de un campo que ha tenido una notable expansioacuten debido a su potencialaplicacioacuten praacutectica dado que el anaacutelisis de las restricciones permite mejorarconsiderablemente la eficiencia del caacutelculo de determinadas funciones
332 Restricciones
En primer lugar se empieza por contestar la pregunta iquestQueacute es una restriccioacuten Estacuestioacuten se puede responder tan brevemente como escribe Roman Bartak[1998]Una restriccioacuten es simplemente una relacioacuten loacutegica entre varias variablesdesconocidas tomando cada una un valor dentro de un dominio determinado (peA+B=C-el circulo estaacute dentro del cuadrado- etc)Asiacute las restricciones aparecen de forma natural en todos los campos del conocimientohumano La suma de los aacutengulos de un triaacutengulo es 180 grados es un ejemplo derestriccioacuten que aparece en el mundo real De hecho las restricciones son el medionatural en el que las personas expresamos los problemas en todas las aacutereas
Con la explicacioacuten dada se ve de forma natural que las restricciones gozan de variaspropiedades interesantes
bull las restricciones pueden especificar informacioacuten parcial es decir en lasrestricciones no hace falta que se den de forma uacutenica los valores de sus variables
bull las variables son no direccionales es decir en una restriccioacuten tiacutepica sobre dosvariables (XY) se puede inferir una restriccioacuten sobre X dada una restriccioacutensobre Y y viceversa
bull las restricciones son declarativas es decir se puede especificar que relacioacutendeben mantener sin especificar el procedimiento computacional que implementeesa relacioacuten
bull las restricciones son aditivas es decir el orden de imposicioacuten de las restriccionesno importa todo lo que importa al fin y al cabo es la conjuncioacuten de restriccionesy su efecto
bull las restricciones no suelen ser independientes normalmente restricciones dentrodel conjunto total de restricciones comparte variables
Asiacute siguiendo esta idea el objetivo de la Programacioacuten Loacutegica con Restricciones essustituir el proceso de unificacioacuten por la resolucioacuten de restricciones sobre un dominio
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
particular de intereacutes Con esta visioacuten se considera que el procesador de restriccionesdebe encargarse de comprobar la consistencia del conjunto de restricciones y dentro delo posible reducirlo a alguna forma normal
Seguacuten Elmohamed [Elmohamed 1998] las restricciones pueden ser divididas en trestipos fuertes medias y suaves
Restricciones fuertes Son todas aquellas que deben ser cumplidas obligatoriamente elcosto de no cumplir estas restricciones es sumamente alto y por lo tanto en un horariofactible su costo asociado por incumplimiento debe ser cero Por ejemplo (en unproblema real se pueden encontrar de 10 a 15 restricciones fuertes)
bull Dos o maacutes clases impartidas por un profesor no se pueden programar a lamisma hora
bull Una clase teoacuterica y su laboratorio no se pueden programar a la misma hora en elmismo diacutea
bull Una clase no se puede programar en un aula a menos que su capacidad seamayor al nuacutemero de alumnos inscritos
Restricciones medias Estas restricciones no se refieren a conflictos de tiempo perotienen asociado un alto costo a ellas sin embargo este costo no es tan alto como el de lasrestricciones fuertes En el condensado de horarios final el costo de estas restriccioneses minimizado y es deseable reducirlo a cero Por ejemplo (en un problema real sepueden tener entre 20 y 25 restricciones medias)
bull Para cada estudiante el balancear las secciones LunMieVie y MarJuebull Balancear o distribuir y equilibrar las horas de clase en la semanabull Las clases pueden requerir periodos de tiempo contiguosbull Las clases se pueden agrupar con otras clases formando paquetesbull Los horarios particulares deben tener la menor cantidad de ldquohoyosrdquo posible esto
es que las clases deben ser consecutivas unas despueacutes de otras
Restricciones suaves Estas restricciones no tienen nada que ver con conflictos detiempo y tienen un bajo costo asociado a ellas Tambieacuten en el condensado de horariosfinal este costo es minimizado pero no necesariamente debe ser cero Por ejemplo (sepueden tener entre 30 y 40 restricciones suaves)
bull Balancear la inscripcioacuten en cursos de varios paquetesbull Especificar la hora de comida y otros periodos de descansobull Los catedraacuteticos pueden requerir periodos de tiempo sin clasebull No inscribir alumnos-atletas en cursos que tengan conflicto con sus horas de
praacutectica deportiva etc
333 Sistemas con RestriccionesUna manera maacutes formal de definir las restricciones es considerarlas como una foacutermulade primer orden interpretada en una estructura para asiacute tener en cuenta la semaacutenticaparticular del sistema de restricciones Esta semaacutentica declarativa es adecuada cuando
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
existe a priori una estructura que se adecua al sistema de restricciones (pe Los realespara las restricciones aritmeacuteticas) pero esto no funciona demasiado bien para lossistemas de restricciones maacutes praacutecticos (pe Dominios finitos) Obviamente no se puededireccionar ninguacuten caacutelculo operacional relacionado con el propio procesador de lasrestricciones [Elmohamed 2001]
334 Referencia Histoacuterica de las RestriccionesLas restricciones como un aacuterea de trabajo que combina investigacioacuten de un gran nuacutemerode campos incluyendo Inteligencia Artificial Lenguajes de Programacioacuten CaacutelculoSimboacutelico y Loacutegica Computacional Las restricciones sobre redes y los problemas desatisfabilidad con restricciones empezaron a estudiarse por los investigadores deInteligencia Artificial en los antildeos 70
La programacioacuten con restricciones ha sido aplicada con notable eacutexito en numerososcampos Los trabajos en esta aacuterea se remontan a la investigacioacuten de InteligenciaArtificial y Representacioacuten Graacutefica por Computadora por los antildeos 60 y 70 En la uacuteltimadeacutecada sin embargo ha empezado a darse una mayor conciencia de que las restriccionesproporcionan las bases para un potente acercamiento a la programacioacuten modelado yresolucioacuten de problemas y que los diferentes esfuerzos por explotar estas ideas puedenser unidos bajo el mismo prisma conceptual y praacutectico la programacioacuten conrestricciones
Entre los dominios tratados por los sistemas de Programacioacuten Loacutegica con Restriccioneslos que maacutes ampliamente son investigados son sin duda los dominios finitos losnuacutemeros reales y racionales con restricciones aritmeacuteticas y los booleanos De hecho 3de los principales lenguajes de Programacioacuten Loacutegica con Restricciones son un claroejemplo de esta tendencia CHIP que proporciona restricciones sobre dominios finitosracionales y booleanos PrologIII que incluye racionales booleanos y listas y PLR(R)que maneja restricciones sobre reales
En la actualidad se pueden observar dos ramas principales en los avances en laprogramacioacuten con restricciones que parten de diferente base y por tanto usan diferentemetodologiacutea para resolver las restricciones Estas dos ramas son
bull Satisfaccioacuten de Restriccionesbull Resolucioacuten de Restricciones
335 Satisfaccioacuten de RestriccionesLa satisfaccioacuten de restricciones parte de los avances en Inteligencia Artificial (problemascombinatorios) y los Graacuteficos por computadora (sistema de SKETCHPAD[1963]expresando coherencia geomeacutetrica en el caso de anaacutelisis de escenas)
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
336 Resolucioacuten de RestriccionesLa resolucioacuten de restricciones difiere de la satisfaccioacuten de restricciones porque usavariables con dominios infinitos Ademaacutes las restricciones individuales son maacutescomplicadas por ejemplo ecuaciones no lineales En consecuencia los algoritmos deresolucioacuten de restricciones usan meacutetodos algebraicos y numeacutericos en vez decombinaciones y buacutesqueda Sin embargo existe metodologiacutea para discretizar losdominios infinitos en un nuacutemero finito de componentes y entonces se aplican lasteacutecnicas de Satisfaccioacuten de Restricciones
La programacioacuten con restricciones ha sido aplicada con eacutexito en numerosos campos Lasaplicaciones recientes incluyen [Detcher 1990]
bull Graacuteficos por Computadorabull Procesamiento del Lenguaje Natural (construccioacuten de analizadores eficientes)bull Sistemas de Bases de Datos (para reforzar yo mantener la consistencia de los
datosbull Problemas de Investigacioacuten Operativa (como la optimizacioacuten de problemas)bull Biologiacutea Molecular (secuenciacioacuten de ADN)bull Aplicaciones de Empresabull Ingenieriacutea Eleacutectrica (localizacioacuten de fallos)bull Disentildeo de Circuitos (para computar configuraciones)bull Planificacioacuten y organizacioacutenbull Configuracioacutenbull Juegosbull Configuracioacuten de horariosbull Criptoaritmeacuteticabull Coloreado de Grafosbull Razonamiento de hipoacutetesis quiacutemicas
En esta seccioacuten se va a dedicar una parte a cada una las aplicaciones maacutes estudiadas
337 Organizacioacuten de Proyectos
El problema de la Organizacioacuten es el proceso de asignar actividades a recursos en eltiempo En el caso general de organizacioacuten es un proceso de tomar decisiones donde sepueden tomar dos tipos de decisiones
bull Decisiones de situar temporalmente Cuaacutendo deberiacutea empezar cada actividadbull Decisiones de asignacioacuten de recursos Con queacute recursos deberiacutea ejecutarse cada
actividad
Los problemas de organizacioacuten y de asignacioacuten de recursos estaacuten basados enrestricciones Diferentes restricciones pueden afectar a la organizacioacuten la duracioacuten de
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
una actividad las fechas de contrato restricciones precedentes tiempos de transferenciao de inicio de la actividad la capacidad de los recursos y el reparto de recursos
La relajacioacuten de las restricciones principales caracteriza la calidad de los problemas deorganizacioacuten Estas restricciones son las relacionadas con fechas de entregaproductividad periodicidad de los cambios de herramientas niveles de inventariomargen de tiempo etc Algunas de estas restricciones pueden ser combinadas en lafuncioacuten de evaluacioacuten para la optimizacioacuten
Las aplicaciones industriales de las teacutecnicas de resolucioacuten de restricciones a losproblemas del tipo de asignacioacuten de tareas incluye[Detcher 1990]
bull Organizacioacuten de la produccioacutenbull Organizacioacuten y planificacioacuten del transporte y la logiacutesticabull Administracioacuten del traacuteficobull Disentildeo de horarios de recursos y de hombresbull Asignacioacuten de plantilla incluyendo aplicaciones de ingenieriacutea de organizacioacutenbull Problemas de empaquebull Configuracioacuten de maacutequinas
Claramente hay muchos problemas relacionados en el aacuterea de la organizacioacuten en lapraacutectica para los sistemas comerciales e industriales reales los liacutemites entre unos y otrosno estaacuten claros Es difiacutecil encontrar alguacuten problema real que se ajuste a un modelopreconcebido sin tener que descartar partes del problema y aproximar otras asiacute que hayque tomar estos modelos con amplio margen de aproximacioacuten
Otra complicacioacuten es el tema de la optimizacioacuten En algunos casos el usuario estaacutesatisfecho soacutelo con tener una manera automaacutetica de tener la respuesta pero la mayoriacuteaquieren tener al menos una buena respuesta y algunos el mejor resultado posible Perodebido a la gran complejidad combinatoria de la mayoriacutea de los problemas reales deorganizacioacuten una optimizacioacuten real es muy difiacutecil asiacute que en la mayoriacutea de los casos seusa la programacioacuten con restricciones en combinacioacuten con otras teacutecnicas tales comoAlgoritmos Geneacuteticos para dar soluciones casi oacuteptimas en un tiempo razonable
Normalmente los problemas de organizacioacuten se presentan usando variables conrestricciones fuertes y restricciones suaves Estas pueden ser agrupadas en la abstraccioacutendel problema de organizacioacuten Asiacute tiacutepicamente el tiempo de comienzo y fin y laduracioacuten de cada actividad se representan por variables con restricciones Los dominiosde estas variables son el rango de tiempo de intereacutes en la organizacioacuten requerida
Capiacutetulo 4 Anaacutelisis y Disentildeo
CAPIacuteTULO 4
ANAacuteLISIS Y DISENtildeO
41 Recopilacioacuten de informacioacuten
bull Documentos recopilados
bull Cataacutelogo de asignaturas prerrequisitos y semestrebull Cataacutelogo de aulas y su capacidadbull Cataacutelogo de catedraacuteticos horas disponiblesbull Mapa reticular de la carrerabull Reporte de grupos abiertos en periodo actualbull Reporte de alumnos por grupo en periodo actualbull Reporte de alumnos no inscritos por materia y semestrebull Reporte de simulacioacuten (si todos aprobaran sus cursos)bull Reporte del iacutendice de reprobacioacuten del semestre anteriorbull Encuesta aplicada para determinar los conocimientos requeridos
para impartir una materiabull Encuesta aplicada para obtener los conocimientos de cada
catedraacuteticobull Aacuterbol de conocimiento realizado para determinar los grupos por
abrir de cada asignaturabull Aacuterbol de conocimiento del perfil de las asignaturasbull Aacuterbol de conocimiento del perfil de los catedraacuteticosbull Aacuterbol de conocimiento de los criterios de apertura de materia
bull El proceso de la elaboracioacuten de los horarios
1 Elaboracioacuten de los reportes estadiacutesticos del periodo actual(grupos abiertos alumnos por grupo alumnos no inscritos pormateria simulacioacuten iacutendice de reprobacioacuten)
2 Caacutelculo de la estimacioacuten de alumnos por materia del proacuteximoperiodo
3 Caacutelculo del nuacutemero de grupos por materia requeridos para elproacuteximo periodo
4 Ajuste de los grupos por materia requeridos para el proacuteximoperiodo
5 Formacioacuten de los grupos en paquetes por semestre6 Asignacioacuten de hora y aula a los grupos
Capiacutetulo 4 Anaacutelisis y Disentildeo
7 Seleccioacuten de catedraacutetico al grupo y viceversa8 Ajustes en hora aula y catedraacutetico por grupo9 Elaboracioacuten del reporte condensado para publicacioacuten de horarios10 Elaboracioacuten de los reportes de grupos sin maestro maestros con
horas disponibles grupos sin aula
Para elaborar los horarios de los grupos y maestros un semestre determinado se tienenen consideracioacuten los siguientes elementos
bull El estadiacutestico de Servicios Escolares (SE)El departamento de SE cuenta con un sistema que registra todo el historial acadeacutemicode los alumnos inscritos en el ITZ las materias cursadas y sus calificaciones lasdiferentes carreras con su retiacutecula de asignaturas y sus prerrequisitos los grupos delsemestre actual la cantidad de alumnos en cada grupo de una asignatura los iacutendicesde reprobacioacuten de semestres anteriores las materias que puede cursar un alumno elproacuteximo semestre etceacutetera Toda esta informacioacuten plasmada en reportesdiferentes es la base para la generacioacuten de los horarios del proacuteximo semestre
bull Los grupos requeridosSobre la base de operaciones aplicadas a la informacioacuten estadiacutestica se obtiene lacantidad de grupos requeridos para abrirse el proacuteximo semestre este nuacutemero degrupos es la cantidad oacuteptima con la que se podraacuten inscribir los alumnos sin tenerproblemas de falta de espacio el alterar disminuyendo o aumentando el nuacutemero degrupos requeridos puede ocasionar alumnos con carga crediticia menor a lareglamentaria o que existan grupos con menos de 10 alumnos respectivamente
bull Las aulasEl ITZ cuenta con 52 aulas repartidas entre las 8 carreras a cada coordinador decarrera se le asigna determinado numero de aulas para su administracioacuten asiacute que alasignar el aula a cada grupo debe cuidar la correcta distribucioacuten de los grupos en loshorarios correspondientes y que la capacidad de las aulas no rebase el numero dealumnos inscritos
bull Los maestros y departamentosCada departamento esta formado por un jefe y los catedraacuteticos que forman laacademia de cada carrera los profesores pueden ser de tiempo completo frac34 y frac12tiempo o profesores de asignatura cada uno tiene un horario predeterminado en turnomatutino o vespertino los catedraacuteticos de un departamento cubren las asignaturas desu carrera y apoyan a otras carreras a cubrir las materias que tienen el perfil de esaacademia los catedraacuteticos son uno de los recursos mas difiacuteciles de controlar
Restricciones propias de los profesores
o Materia no tiene maestro
o Maestro tiene horas disponibles
Capiacutetulo 4 Anaacutelisis y Disentildeo
o Maestro tiene materias preferencia
o Maestro ha impartido materia
o Maestro solicita materia
o Maestro tiene restricciones de nuacutemero de materias a impartir
o Restriccioacuten no pueden darse maacutes de tres materias diferentes
o Maestro tiene una profesioacuten
o Maestro tiene un perfil
o Maestro tiene un aacuterea definida
o Maestro prefiere materias especialidad
o Maestro prefiere materias semestres iniciales
bull Las materias o asignaturasEn cada carrera se tiene un mapa reticular que tiene las materias de cada semestre elnombre los creacuteditos las horas de teoriacutea y praacutectica las ligas con los prerrequisitos lasmaterias de la especialidad seleccionada etc
Restricciones propias de las asignaturas
o Materia de 1deg semestre
o Materia de 2deg semestre
o Materia de 3deg semestre
o Materia de 4deg semestre
o Materia de 5deg semestre
o Materia de 6deg semestre
o Materia de 7deg semestre
o Materia de 8deg semestre
o Materia de 9deg semestre
o Materia de especialidad
o Materia tiene prerrequisito
o Materia es de baacutesicas
o Materia requiere conocimientos de Base de Datos
o Materia requiere conocimientos de Electroacutenica
o Materia la puede impartir cualquier maestro
Capiacutetulo 4 Anaacutelisis y Disentildeo
o Materia requiere conocimientos de Redes
o Materia requiere ser impartida por ingeniero
o Materia tiene complejidad alta
o Materia debe ser impartida por catedraacutetico con grado de maestriacutea
o Materia requiere conocimientos de Arquitectura de Computadoras
o Materia no tiene cadenas
o Materia de Administracioacuten
o Materia de Ingenieriacutea Industrial
o Materia requiere conocimientos de Aacutelgebra
o Materia requiere conocimientos de Caacutelculo Diferencial e Integral
o Materia requiere conocimientos de Quiacutemica Inorgaacutenica y Orgaacutenica
o Materia requiere una elaboracioacuten de proyectos
bull Las carrerasLas 8 carreras que se imparten en el ITZ son ordenadas por nuacutemero de alumnos
1 Ingenieriacutea en Sistemas Computacionales2 Licenciatura en Informaacutetica3 Licenciatura en Administracioacuten4 Ingenieriacutea Civil5 Ingenieriacutea Electromecaacutenica6 Ingenieriacutea Industrial7 Ingenieriacutea Quiacutemica8 Ingenieriacutea Bioquiacutemica
bull Los horarios de grupoUna vez determinados los grupos requeridos para el proacuteximo semestre se procede a laasignacioacuten de horario de acuerdo al nuacutemero de horas teoacuterico-praacutecticas se le asignaaula y un catedraacutetico responsable se fija tambieacuten un nuacutemero de alumnos y el tiempode laboratorio en caso de ser necesario
Capiacutetulo 4 Anaacutelisis y Disentildeo
Diagrama de flujo del proceso
Elaboracioacuten de los reportes estadiacutesticos
Caacutelculo de alumnos por materiaproacuteximo periodo
Caacutelculo del nuacutemero de grupos pormateria requeridos
Ajuste de los grupos por materiarequeridos
Formacioacuten de los grupos en paquetespor semestre
Asignacioacuten de hora y aula a los grupos
Asignacioacuten de catedraacutetico al grupo
Ajustes en hora aula y catedraacutetico porgrupo
Elaboracioacuten del reporte condensado
Elaboracioacuten de reportes varios
Todo cuadrabien
Si
No
Fin
Inicio
Capiacutetulo 4 Anaacutelisis y Disentildeo
42 Anaacutelisis de la informacioacuten
bull Cataacutelogo de asignaturas prerrequisitos y semestre
Funcioacuten Dar a conocer las asignaturas de una carrera los prerrequisitos de las materiasy el semestre al que pertenece una asignatura los creacuteditos miacutenimos que debe tenerun alumno para cursar la asignatura
Origen Reporte emitido por el departamento de Servicios Escolares
Campos del reporte nombre carrera nombre asignaturas creacuteditos miacutenimos materiasprerrequisito semestre al que pertenece la asignatura
bull Cataacutelogo de aulas y su capacidad
Funcioacuten Dar a conocer la nomenclatura y capacidad de las aulas y laboratorios del ITZ
Origen Departamento de Planeacioacuten
Campos del reporte Nombre del edificio nuacutemero de aula capacidad
bull Cataacutelogo de catedraacuteticos horas disponibles
Funcioacuten Dar a conocer los catedraacuteticos por departamento y sus horas disponibles frentea grupo
Origen Departamentos acadeacutemicos
Campos del reporte Nombre del departamento clave de profesor nombre del profesorcantidad de horas frente a grupo que debe tener
bull Mapa reticular de la carrera
Funcioacuten Mostrar el mapa reticular de una carrera graacuteficamente muestra las asignaturaspor semestre sus requisitos foacutermula crediticia etc
Origen Divisioacuten de Estudios Profesionales
Campos del reporte Nombre y clave de la carrera nombre y clave de las asignaturasfoacutermula crediticia (nuacutemero de horas teoacutericas nuacutemero de horas praacutecticas creacuteditos dela asignatura) las materias prerrequisito de otras materias de especialidad semestrede la asignatura nuacutemero de creacuteditos necesarios para poder cursar una asignatura
Capiacutetulo 4 Anaacutelisis y Disentildeo
bull Reporte de grupos abiertos en periodo actual
Funcioacuten Muestra los cursos que son ofertados en el periodo actual
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera nombre de las asignaturas grupo de loscursos cantidad de alumnos inscritos nombre del catedraacutetico que lo imparte
bull Reporte de alumnos por grupo en periodo actual
Funcioacuten Muestra la cantidad de alumnos inscritos por semestre de una carrera
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera semestres del 1 al 13 nuacutemero de alumnosinscritos por semestre
bull Reporte de alumnos no inscritos por materia y semestre
Funcioacuten Muestra los alumnos que pudieron inscribirse a una materia pero que poralguna razoacuten no lo hicieron
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera nombre de la materia por semestre nuacutemerode alumnos que pudieron inscribirse y no lo hicieron
bull Reporte de simulacioacuten (si todos aprobaran sus cursos)
Funcioacuten Este reporte simula que todos los alumnos inscritos en los cursos acreditan elcurso entonces cuenta cuantos estudiantes pueden cursar todas las asignaturas comosi hubieran aprobado todos sus cursos actuales
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera nombre de la asignatura y por semestre elnuacutemero de alumnos que pueden cursar una materia
bull Reporte del iacutendice de reprobacioacuten del semestre anterior
Funcioacuten Dar a los coordinadores los iacutendices de aprobacioacuten y reprobacioacuten de los cursosdel periodo anterior
Capiacutetulo 4 Anaacutelisis y Disentildeo
Origen Departamento de Servicios EscolaresCampos del reporte Nombre de la carrera nombre de la asignatura total de alumnos
aprobados total de alumnos reprobados del periodo anterior
bull Encuesta de conocimientos requeridos para impartir asignatura
Funcioacuten Obtener los datos de los conocimientos que debe poseer un catedraacutetico quequiera impartir una asignatura
Origen Academia de cada departamentoCampos del reporte Nombre de la asignatura objetivo de la asignatura carrera lista de
conocimientos requeridos para impartir la asignatura carrera adecuada del profesorque imparta la asignatura
bull Encuesta de conocimientos requeridos para perfil de profesores
Funcioacuten Obtener los datos de los conocimientos que debe posee un catedraacutetico
Origen Academia de cada departamento
Campos del reporte Nombre del catedraacutetico carrera del catedraacutetico conocimientos enaacutereas particulares de cada asignatura
43 Solucioacuten definida
Resolver el problema iniciando con la metodologiacutea ldquodivide y venceraacutesrdquo el problemageneral se dividiraacute en 6 problemas particulares
a) Sistema de Informacioacuten para control de horariosb) Sistema Experto para definicioacuten y generacioacuten de grupos
por abrirc) Moacutedulo Programacioacuten Loacutegica de Restricciones para
asignar horario a los gruposd) Moacutedulo Algoritmos Geneacuteticos para asignar aula a los
grupos ya definidose) Sistema Experto para definir catedraacutetico para
asignaturaf) Sistema Experto para asignar asignatura a catedraacutetico
Debido a la naturaleza y caracteriacutesticas de la informacioacuten todos lossistemas seraacuten realizados iniciando desde cero la recopilacioacuten deinformacioacuten el anaacutelisis el disentildeo y la programacioacuten de cada moacutedulo delsistema programado en Visual Basic y Bases de Datos en Access
Capiacutetulo 4 Anaacutelisis y Disentildeo
La principal ventaja de eacutesta opcioacuten es que el sistema estaacute hecho a la medida de lasnecesidades de la institucioacuten poniendo las restricciones en el formato que se tienenactualmente la desventaja es que se debe desarrollar TODO el sistema
44 Requerimientos del sistema
Los Motores de Inferencias deben ser disentildeados con las siguientes caracteriacutesticas
bull Buacutesqueda de primero en profundidad en ocasiones cuando se interactuacutee con elusuario este tipo de buacutesqueda seraacute utilizado para recorrer toda la base deconocimiento
bull Buacutesqueda heuriacutestica en la que el usuario deberaacute dar datos iniciales de por dondeempezar la buacutesqueda de alguna informacioacuten
bull Tomar informacioacuten de la Base de Conocimiento y guardarla en las bases de datos ytambieacuten inferir la informacioacuten y guardarla en las bases de datos para su posteriortratamiento e impresioacuten
bull Seleccionar la mejor opcioacuten y presentarla al usuario para los casos en que el usuariodecida cambiar alguacuten dato la maacutequina deberaacute presentar una opcioacuten y saber indicarel porqueacute la ldquoeligioacuterdquo
bull Dar otras soluciones ademaacutes de la oacuteptima teniendo porcentajes de aceptacioacuten paracada solucioacuten y permitiendo la buacutesqueda de maestros a impartir materias aulas paraalguacuten grupo o cantidad de grupos a abrir
bull Dar resultados en lenguaje natural de modo que el usuario entienda claramente loque la maacutequina le comunica
bull Trabajar interactivamente con el usuario para que eacuteste pueda cuestionar el porqueasignoacute un maestro abrioacute grupos asignoacute un aula etceacutetera
bull Tener capacidad para el uso del paradigma basado en analogiacuteas ldquoSi un maestro yadio la materia en alguacuten semestre entonces puede darla en este semestrerdquo o bien ldquoSieste paquete de materias estaacute completo entonces repite todo el paquete estesemestrerdquo
Interfaz de Usuario recibe y entrega informacioacuten interactuando con el usuario esdecir el usuario puede
1) alimentar hechos2) solicitar resultados y reportes3) cuestionar coacutemo se obtuvieron ciertas conclusiones
La interfaz de usuario debe tener las caracteriacutesticas siguientes
bull Comunicarse en el lenguaje del usuario sea un humano u otro dispositivobull Recibir hechos del usuario y almacenarlos en la base de hechosbull Presentar de manera amigable los objetivos a buscar e inferencias en pantallabull Dar de manera clara la explicacioacuten de la inferencia realizada
Capiacutetulo 4 Anaacutelisis y Disentildeo
bull Dar resultados por escrito en informesbull Proporcionar al usuario la facilidad de alimentar la base de conocimientosbull Dar al usuario la facultad de corregir las inferenciasbull Si el usuario es inexperto facilitar la ayuda necesaria
Seleccioacuten del lenguaje de programacioacuten
Visual Basic 60 proporciona a los programadores facilidad para desarrollar aplicacionescomplejas en poco tiempo (comparado con lo que cuesta programar en Visual C++ porejemplo)
El sistema necesita interfaces amigables al usuario con ventanas y botones emergentesen cualquier momento y Visual Basic 60 es una herramienta de disentildeo de aplicacionespara Windows en la que eacutestas se desarrollan en una gran parte a partir del disentildeo de unainterfaz graacutefica (pudiendo incorporar todos los elementos de este entorno informaacuteticoventanas botones cajas de diaacutelogo y texto botones de opcioacuten y de seleccioacuten barras dedesplazamiento graacuteficos menuacutes etc) En una aplicacioacuten Visual Basic 60 el programaestaacute formado por una parte de coacutedigo puro y otras partes asociadas a los objetos queforman la interfaz graacutefica Visual Basic 60 permite la programacioacuten de sus ventanasbotones y componentes de manera maacutes faacutecil que Java con sus Applets
En la parte del sistema de control de horarios que es un sistema de informacioacuten comuacutenlos programas que llenan de informacioacuten las bases de datos son muy parecidos unos conotros al hacer los procesos de altas bajas modificaciones consultas y validaciones seutilizan las ventajas que Visual Basic 60 ofrece de la Programacioacuten Orientada aObjetos (POO) eacutesta es una forma de programacioacuten que utiliza objetos ligados mediantemensajes para la solucioacuten de problemas Puede considerarse como una extensioacuten naturalde la programacioacuten estructurada en un intento de potenciar los conceptos demodularidad y reutilizacioacuten de coacutedigo Las caracteriacutesticas fundamentales de la POO sonabstraccioacuten encapsulamiento herencia y polimorfismo
Visual Basic 60 soporta la abstraccioacuten la encapsulacioacuten el polimorfismo y lareutilizacioacuten de coacutedigo Los objetos de Visual Basic estaacuten encapsulados es decircontienen su propio coacutedigo y sus propios datos
Manejador de Base de datos para el almacenamiento de la informacioacutenEl manejador de base de datos a utilizar seraacute Microsoft Access debido a que los usuariosque alimentan la base de conocimientos son expertos en diferentes aacutereas delconocimiento y tiene conocimientos limitados de los diferentes manejadores y estaacuten maacutesfamiliarizados con Microsoft Access Ademaacutes de que Access es transportablefaacutecilmente
Ademaacutes la cantidad y tipo de informacioacuten que se almacena en las tablas no requieremanejadores de bases de datos potentes o con caracteriacutesticas especiales
Capiacutetulo 4 Anaacutelisis y Disentildeo
Sistemagenerador dehorarios
SistemaExperto
Reglas
Criterios
Criterios por regla Conocimiento
Procesos
Capturaestadiacutesticas
Calcula grupos
Ajusta grupos
Sistema expertoasigna materia
Sistema Expertoasigna maestro
Asigna materia
Asigna catedraacutetico
Conocimientos
Procesos
Materias
Perfil general
Catedraacuteticos
Perfil materias
Perfil maestro
Asignacioacutenmateria-maestro
Asignacioacutenmaestro-materia
Buacutesqueda independiente
B adelante
B atraacutes
Abduccioacuten
Explicacioacuten
MoacuteduloPLR
Asigna horario
Datos
Arbol derestricciones Procesos
Materia
Grupos
Paquetes
Horario
Restriccioacuten 1
Restriccioacuten 3
Restriccioacuten 2
Restriccioacuten N
Genera random
Evaluacutea restricciones
Guarda grupo
MoacuteduloAlgoritmoGeneacutetico
Asigna aula
Operadores Geneacuteticos
Evaluacioacuten
Cruzamiento
Seleccioacuten
Mutacioacuten
Poblacioacuten Inicial
Versioacuten 1
Versioacuten 2
Versioacuten 3
Versioacuten N
Condensadodatos grales
Materia
Hora
Aula
Control escolar
Sistema deInformacioacuten
Aulas
Horarios
Grupos
Maestros
Datosestadiacutesticos
Datosgenerales
Datos condensado
Materias
45 MAPA CONCEPTUAL DEL PROYECTO
Capiacutetulo 4 Anaacutelisis y Disentildeo
Capiacutetulo 4 Anaacutelisis y Disentildeo
En la Figura 41 se muestra el mapa conceptual del proyecto La burbuja centralrepresenta el sistema generador de horarios y cada rama representa uno de los seismoacutedulos que lo componen las burbujas de cada rama contienen a su vez variasramificaciones en las que se muestran de manera graacutefica los componentes maacutesrepresentativos de los procesos utilizados la informacioacuten que manejan el conocimientoque utilizan y las restricciones involucradas
El moacutedulo Servicios Escolares contiene informacioacuten necesaria para la administracioacuten delos horarios en general y proporciona los datos para el funcionamiento de los demaacutesmoacutedulos
El moacutedulo Sistema Experto Creacioacuten de Grupos (SECG) muestra el conocimiento yprocesos utilizados para definir la cantidad de grupos a ofertar a partir de la informacioacutenestadiacutestica proporcionada por servicios escolares maacutes adelante en el documento seexplica a detalle su funcionamiento
En la Figura 41 se aprecia que los moacutedulos Sistema Experto AsignaCatedraacutetico(SEAC) y Sistema Experto Asigna Materia(SEAM) comparten las bases deconocimiento porque el conocimiento de un SE es la base de hechos del otro en amboscasos los procesos difieren solamente en la informacioacuten que utilizan y en los resultadosque producen noacutetese que existe un proceso que es ldquobuacutesqueda independienterdquo que puedecatalogarse como un Sistema Experto adicional que sirve para sugerir las asignaturasque puede impartir una persona que no estaacute dentro de las bases de datos de maestros ypor lo tanto su perfil tampoco estaraacute capturado en esta caso los hechos (su perfil deconocimientos) es capturado en el momento de la consulta
El moacutedulo de Algoritmos Geneacuteticos (AG) muestra los datos que recibe como se generauna poblacioacuten inicial el tratamiento que se le aplica por medio de los operadoresgeneacuteticos y la informacioacuten que se genera
Por uacuteltimo en la Figura 41 se nota tambieacuten el moacutedulo donde se utiliza la ProgramacioacutenLoacutegica de Restricciones que contiene 3 ramas donde una representa los datos recibidosy la informacioacuten generada otra rama denota un aacuterbol de restricciones que deben sersatisfechas por los paquetes de horarios la uacuteltima rama denota los procesos que se llevana cabo debe notarse que existe un proceso aleatorio que genera cada grupo un procesoque evaluacutea el grupo contra las restricciones y uno mas que guarda los grupos quecumplieron con todas
En este mapa conceptual no se muestra en que orden se ejecuta cada moacutedulo delproyecto la Figura 42 ilustra la secuencia de ejecucioacuten de los moacutedulos
La Figura 42 muestra el diagrama con la secuencia en que se van ejecutando losprocesos los datos que ingresan a cada moacutedulo y la informacioacuten que genera
Capiacutetulo 4 Anaacutelisis y Disentildeo
452 MAPAS CONCEPTUALES DE LOS MOacuteDULOS
Servicios Escolares
Datos Estadiacutesticos
Sistema Experto Creacioacuten de Grupos
Materias y grupos requeridos
Moacutedulo PLR
Materia + grupo + hora
Moacutedulo AG
Materia + grupo + hora + aula
Sistema ExpertoAsigna Catedraacutetico Sistema Experto
Asigna Materia
Sugiere profesorpara asignaturas
Sugiere asignaturapara profesor
Materia + grupo + hora + aula +profesor
Condensado final de materias
1
2
3
4
5 6
Fig 42 Diagrama de secuencia
Capiacutetulo 4 Anaacutelisis y Disentildeo
Como puede verse todo inicia cuando Servicios Escolares enviacutea la informacioacuten a laDivisioacuten de Estudios Profesionales (donde ldquohabitanrdquo los coordinadores) quienes son losresponsables de la elaboracioacuten de los horarios
Un primer proceso captura la informacioacuten que proviene de Servicios Escolares elsegundo moacutedulo define cuantos grupos deben programarse el tercer proceso asigna lahora a cada grupo el cuarto moacutedulo es el proceso que asigna las aulas los procesosquinto y sexto sirven para sugerir queacute catedraacutetico es el maacutes adecuado para cada grupo ycomo resultado final se tiene el condensado final de horarios para el siguiente semestre
En la Figura 43 se muestran los componentes del primer Sistema Experto utilizado paradefinir la cantidad de grupos que deben ofertarse el proacuteximo semestre en la partesuperior izquierda de la figura esta el coordinador de la carrera quien es el encargado decargar el conocimiento a las Bases de Conocimiento utilizando la interfaz de experto esla persona indicada para definir los criterios que tiene cada materia define las reglaspara la agrupacioacuten de los criterios y define en cada regla que tipo de ajuste se realiza
Experto
Coordinador
Interfaz Experto
Base deConocimientos
CriteriosReglasAjustes
Motor de Inferencia ListasMateriasGrupos requeridos
UsuarioMoacutedulo Explicacioacuten
Usuario(coordinador
novato)
Interfaz Usuario
Base Hechos
Informacion Estadiacutestica
Fig 43 Sistema Experto Generador de Grupos
Capiacutetulo 4 Anaacutelisis y Disentildeo
El usuario en la parte inferior de la figura puede ser el coordinador o su asistente y seencarga de capturar la informacioacuten estadiacutestica proporcionada por servicios escolares queson los datos de alumnos inscritos actualmente en cada materia el iacutendice de reprobacioacutenlos alumnos inscritos en la materias prerrequisito una simulacioacuten de los alumnosprobables para cursar esa materia si todos los inscritos aprueban todo y los alumnos quepueden cursar las materias pero no se inscribieron
Con los datos anteriores se realiza la siguiente operacioacuten
(Inscritos en materia iacutendice de reprobacioacuten de materia) 100 +Alumnos no inscritos +Alumnos en prerrequisito ndash (alumnos en prerrequisito iacutendice de reprobacioacuten) 100 +(Simulacioacuten ndash alumnos en prerrequisito ndash no inscritos) = Alumnos del proacuteximo semestre
Este uacuteltimo dato (alumnos del proacuteximo semestre) proporciona la cantidad de alumnospor materia que pueden inscribirse en los grupos seguacuten los estadiacutesticos de ServiciosEscolares pero no contempla preferencias de alumnos conveniencia de inscripcioacuten etc
Ofrecer los grupos necesarios para la inscripcioacuten de alumnos tomando el dato calculadoocasiona que al terminar las inscripciones existan grupos vaciacuteos grupos sobresaturadosalumnos con pocas materias y varios problemas mas
La finalidad de este Sistema Experto es realizar un ajuste al dato calculadoanteriormente para incluir en su caacutelculo todas aquellas caracteriacutesticas y experiencia delcoordinador para minimizar los problemas mencionados en el paacuterrafo anterior
Los ajustes pueden ser de varios tiposbull Ajuste draacutestico hacia abajo Se aplica una reduccioacuten del 50 al dato calculadobull Ajuste hacia arriba Se agrega un grupo maacutes al dato calculadobull Ajuste hacia abajo Se resta un grupo al dato calculadobull Ajuste numeacuterico Se ajusta utilizando la regla del redondeo de decimalesbull Ajuste draacutestico hacia arriba Se suman 2 oacute 3 grupos al dato calculado
Cuando utilizar una u otra regla estaacute definido por los criterios que cada materia contienenaturalmente y que con el paso de los semestres puede variar (aunque tambieacuten puedenpasar antildeos sin sufrir ninguacuten cambio)
La Figura 44 describe la utilizacioacuten de la teacutecnica de la Inteligencia Artificial llamadaProgramacioacuten Loacutegica de Restricciones para generar el condensado de grupos a partir deuna lista de materias que contiene solamente el nombre y la cantidad de grupos que sedeben abrir de una materia
Capiacutetulo 4 Anaacutelisis y Disentildeo
EoseX
Ugacgg
Lgc
s
ListasMaterias
Procesoformador depaquetes
Lista grupo +paquete
Moacutedulo generadorRandom Hora
Restricciones satisfec
Restriccio
Materia +hora
Moacuteduloverificadorrestriccione
s
Restriccionesnosatisfechas
Fig 44 Diagrama del moacutedulo Programacioacuten Loacutegica de Restriccione
xiste un proceso inicial que forma los ldquopaquetesrdquo de grupos esto es las materias serdenan por el semestre al que corresponden (generalmente son 6 materias poremestre) despueacutes para cada semestre se generan los grupos correspondientes si porjemplo se deben hacer 3 grupos de la materia X se generan tres registros de la materia y cada registro se etiqueta
Materia X grupo AA Materia X grupo AB y Materia X grupo AC
na vez que todas las materias han sido generadas y ldquoempaquetadasrdquo se pasan alenerador de horario en bloques de un paquete a la vez Este proceso funcionasignando un horario aleatorio a cada grupo despueacutes se verifica que cada grupo cumplaon todas las restricciones que son del tipo grupo no ldquochocardquo con otro del paqueterupo proporciona horario continuo al paquete grupo tiene horario de 2 horas por diacutearupo no deja horas vaciacuteas en paquete grupo cumple con todas sus horas asignadas etc
a Figura 45 muestra el disentildeo del Algoritmo Geneacutetico utilizado para asignar aula a losrupos que provienen del moacutedulo anterior (PLR) y recibe como datos de entrada unondensado de horarios (materia + grupo + hora)
Capiacutetulo 4 Anaacutelisis y Disentildeo
Procesoevaluacioacuten
Condensado
Materia +Grupo +Hora
Generador de versiones aleatorias
Genera versioacuten asigna aula
Versioacuten 3
Versioacuten 2
Versioacuten 1
Versioacuten N
Poblacioacuten inicial
ProcesoseleccioacutenProceso cruzamiento
clonacioacuten mutacioacuten
Versioacuten z
Versioacuten y
Versioacuten x
Versioacuten w
Nueva generacioacuten
Individuos aptos
Individuos no aptosReciclaje
CondensadoMateria + grupo +hora + aula
Fig 45 Diagrama del moacutedulo Algoritmo Geneacutetico
Capiacutetulo 4 Anaacutelisis y Disentildeo
Esta rama de la Inteligencia Artificial es utilizada generalmente para procesos deoptimizacioacuten y en esta ocasioacuten se utiliza para asignar las aulas al condensado dematerias
Al inicio se reciben como datos generales el condensado de materias La poblacioacuteninicial se obtiene copiando N veces (N versiones) este condensado y agregando a cadaregistro el nuacutemero de versioacuten y un aula asignada de manera aleatoria de esta manera seobtienen N versiones diferentes del condensado original
Cada versioacuten es entonces evaluada contando el nuacutemero de choques en aula y la cantidadde espacios vaciacuteos por aula a cada versioacuten se le genera un vector para guardar laevaluacioacuten (cromosoma de evaluacioacuten) y de esta manera se mide el grado de aptitud quetiene cada versioacuten
Las versiones que tienen menos choques y menos espacios vaciacuteos se consideran con ungrado de aptitud alto y son las mejores al contrario las que tienen muchos choquesson consideradas de aptitud baja no sirven para la reproduccioacuten y son desechadas
Una vez seleccionadas la mejores versiones se procede a la aplicacioacuten de los operadoresgeneacuteticos el primero que se aplica es el cruzamiento y consiste en elegir dos versionesde alta aptitud tomar segmentos seleccionados heuriacutesticamente de ellas y formar unnuevo individuo (una nueva versioacuten) se repite este proceso Y veces con las diferentesversiones hasta tener una nueva generacioacuten de N condensados de horarios
Repetir este proceso de generacioacuten evaluacioacuten y seleccioacuten durante Z generacionesaplicando cuando se necesite la clonacioacuten que es un proceso de copiar completamenteuna versioacuten (con alto grado de aptitud) a la nueva generacioacuten
Al principio la convergencia hacia horarios sin choques en aula es raacutepida pero al pasode las generaciones disminuye entonces se debe usar la mutacioacuten que es un proceso deacceder manualmente los registros de alguna versioacuten Zi en la generacioacuten Z y corregiralguacuten aula al final despueacutes de varias generaciones selecciones cruzamientosclonaciones y mutaciones se obtiene un condensado de aulas libres de choques y conpocos espacios vaciacuteos
En la Figura 46 se muestran los componentes del Sistema Experto utilizado para sugerircuales son los catedraacuteticos que mejor se desempentildeariacutean para impartir una asignaturatomando en cuenta los conocimientos que tiene un profesor (adquiridos a lo largo de sucarrera) y cuales son los conocimientos necesarios para impartir la caacutetedra de algunaasignatura
Capiacutetulo 4 Anaacutelisis y Disentildeo
Todo inicia haciendo una encuesta a los profesores acerca del perfil y los conocimientosnecesarios para poder impartir una asignatura el objetivo de la misma y los principalestemas que abarca todo lo anterior se captura en la base de hechos como el perfil de lamateria
Posteriormente se hace otra encuesta a los profesores pidieacutendoles que seleccionencuales son los conocimientos y el grado de dominio que tienen de los diferentes toacutepicosde las asignaturas esto se convierte en el perfil del catedraacutetico Por uacuteltimo con unproceso de induccioacuten se determina para cada materia cual es el grado de certeza con elcual puede un profesor impartir una asignatura
Experto
Coordinador
Interfaz Experto
Base deConocimientos
CatedraacuteticosConocimientos profesorPerfil profesor
Motor de Inferencia Lista profesores paraimpartir una materia
Jefedepartamento
Moacutedulo Explicacioacuten
Usuario(coordinador
novato)
Interfaz Usuario
Base Hechos
Perfil
Fig 46 Diagrama de Sistema Experto para sugerir profesor a asignatura
Capiacutetulo 4 Anaacutelisis y Disentildeo
Noacutetese en la Figura 47 que el coordinador captura el conocimiento referente a lasasignaturas (objetivo temas caracteriacutesticas necesarias para impartirla) y este esalmacenado en la Base de Conocimientos
Por otro lado un profesor debe llenar una encuesta en la que indique cuales son lostemas que domina y en que porcentaje lo hace (esto es el perfil del catedraacutetico) estainformacioacuten se almacena en la base de hechos--
El Motor de Inferencia hace los matchs respectivos y genera una lista de las materias quepuede impartir un profesor y con que grado de certeza estaacute capacitado para hacerlo
Por uacuteltimo el moacutedulo de explicacioacuten informa el porqueacute dio esa inferencia mostrando lascaracteriacutesticas de materia y profesor que hicieron match
Fig 47 Diagrama de Sistema Experto para sugerir asignaturas para catedraacutetico
Experto
Coordinador
Interfaz Experto
Base deConocimientos
MateriasCaracteriacutesticas MateriasPerfil materia
Motor de Inferencia Lista materias para unprofesor
Profesor
Moacutedulo Explicacioacuten
Profesor nuevoInterfaz Usuario
Base Hechos Perfil profesor
Capiacutetulo 4 Anaacutelisis y Disentildeo
453 Diagrama de contextoEn la Figura 48 se detallan los elementos que intervienen aportando y recibiendoinformacioacuten para el funcionamiento del sistema
Los departamentos acadeacutemicos aportan al sistema una lista con los catedraacuteticos quelaboran ahiacute incluye los datos personales de los profesores nuacutemero de tarjeta nombrecarrera etc Los coordinadores de carrera son los responsables de la elaboracioacuten de loshorarios estos funcionarios son la pieza fundamental de este proceso porque aportan susconocimientos para
bull Definir el ajuste al dato estadiacutestico proporcionado por Servicios Escolaresbull Definir las restricciones para la creacioacuten de los paquetes de gruposbull Definir las restricciones para asignar hora a cada grupobull La distribucioacuten de los grupos en las aulasbull Asignar la asignatura que mejor puede impartir un catedraacuteticobull Asignarle a una asignatura al profesor que mejor puede impartirla
El departamento de Servicios Escolares es el iniciador del proceso de la elaboracioacuten dehorarios aporta los datos estadiacutesticos obtenidos de la situacioacuten escolar actual de losalumnos cada alumno estaacute inscrito en alguna de las 8 carreras que se ofrecen en elInstituto estaacute cursando entre 5 y 8 asignaturas por semestre en cada periodo acredita oreprueba algunas materias En cada carrera se tiene un mapa reticular que incluyeaproximadamente 50 asignaturas con prerrequisitos creacuteditos horas en aula horas enlaboratorio orden por semestre etc
El departamento Divisioacuten de Estudios Profesionales (donde estaacuten adscritos loscoordinadores de carrera) es el responsable de distribuir las aulas disponibles delInstituto entre los distintos coordinadores las aulas son un recurso escaso y por lo tantovalioso de esta distribucioacuten depende en gran medida la holgura o estrechez que tienenlos coordinadores para asignar las aulas a los grupos creados
Los profesores son otro de los recursos valiosos de una institucioacuten son los responsablesde transmitir sus conocimientos a los alumnos cada catedraacutetico posee conocimientos dediversas aacutereas toacutepicos y ramas del saber humano el perfil del catedraacutetico estaacute enrelacioacuten directa con el dominio que tiene de cada una de ellas y varia desde unconocimiento superficial hasta el dominio total de un aacuterea
Los generadores random de los moacutedulos PLR y AG proporcionan la informacioacutennecesaria generada de manera aleatoria para el funcionamiento de esos moacutedulos
A los coordinadores y alumnos se les proporciona un condensado de horarios losalumnos conocen los grupos a los que se pueden inscribir las horas las aulas y loscatedraacuteticos que las impartiraacuten
Capiacutetulo 4 Anaacutelisis y Disentildeo
Sistema para laelaboracioacuten de
horarios
Departamentosacadeacutemicos
Jefes dedepartamento
Divisioacuten deEstudios
Profesionales
DepartamentoServiciosEscolares
Alumnos
Coordinadoresde carrera
Coordinadoresde carrera
Lista catedraacuteticos disponibles
Conocimientos
Reporte datos estadiacutesticos
Lista aulas disponibles
Condensado de horarios
Horarios disponibles
Lista horarios profesores
Profesores Generadoresaleatorios
Perfil maestro
Horas y aulas aleatorios
Fig 48 Diagrama de contexto del proyecto
Cap
iacutetulo
4
Anaacute
lisis
y D
isentilde
o
Sist
ema
para
lael
abor
acioacute
n de
hora
rios
Dep
arta
men
tos
acad
eacutemic
os
Div
isioacute
n de
Estu
dios
Prof
esio
nale
s
Dep
arta
men
toSe
rvic
ios
Esco
lare
sC
oord
inad
ores
de c
arre
ra
List
a ca
tedr
aacutetic
os d
ispo
nibl
es
Con
ocim
ient
osR
epor
teda
tose
stad
iacutestic
osLi
sta
aula
s dis
poni
bles
Prof
esor
esG
ener
ador
esal
eato
rios
Perf
il m
aest
roH
oras
y a
ulas
Fig
49
Dia
gram
a de
func
ione
s fun
dam
enta
les (
entra
das)
Cap
tura
supe
rfil
deco
noci
mie
nto
Cap
tura
las
aula
s
Enviacute
a da
tos
Cap
tura
suco
noci
mie
nto
Enviacute
a da
tos
depr
ofes
ores G
ener
ada
tos
Cla
ve n
ombr
eho
ras
turn
o
Tips
tru
cos
cono
cim
ient
ohe
uriacutes
tico
Cla
ve c
apac
idad
ed
ifici
o
Alu
mno
sin
scrit
os
sim
ulac
ioacuten
no
insc
ritos
iacutend
ice
repr
obac
ioacuten
Toacutepi
cos y
tem
asqu
e do
min
aA
ula
y ho
raal
eato
rios
Capiacutetulo 4 Anaacutelisis y Disentildeo
Sistema para laelaboracioacuten de
horarios
Coordinadoresde carrera
Jefes dedepartamento Alumnos
Fig 410 Diagrama de funciones fundamentales (salidas)
Imprimecondensado
Imprime lista Imprimehorarios
Maestro materiahora
Materia grupohora aula
maestrosugerido
Condensado de horarios Horarios disponibles
Lista horarios profesores
Materia grupohora aula
maestro
Capiacutetulo 4 Anaacutelisis y Disentildeo
454 Diagrama entidad - relacioacuten
NOTA Los siguientes diagramas muestran las tablas utilizadas por cada moacutedulo paramayor claridad se repitieron las tablas necesarias para representar cada parte del sistemapero en la base de datos no existe tal duplicacioacuten
Este diagrama contiene las tablas del moacutedulo administrativo de los horarios en unprincipio eacutestas eran las uacutenicas tablas de un sistema de control de horarios
FK_HORARIOS_REFERENCE_MATERIASFK_MATERIAS_REFERENCE_SERVICIO
FK_MATERIAS_REFERENCE_RAMA_MAT FK_MATERIAS_REFERENCE_CARRERAS
HORARIOS
GrupoId_aulaHora_inicioHora_lunesHora_martesHora_miercolesHora_juevesHora_viernesHora_sabadoObservacionesPeriodoAnioid_materiaId_catedratico
Text(2)INTEGERINTEGERText(6)Text(6)Text(6)Text(6)Text(6)Text(6)Text(30)Text(20)INTEGERINTEGERSMALLINT
ltfk3gt
ltfk2gtltfk1gt
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
MATERIAS
SERVICIOS_ESCOLARESId_materiaINSCRITOSNO INSCRITOSSIMULACIONPROXIMO SEMESTREGRUPOS REQUERIDOSIndice de reprobacionperiodoantildeoGrupos ajustadoAlumnos ajustadoId_ajusteId_regla
INTEGERSMALLINTSMALLINTSMALLINTSMALLINTDOUBLEDOUBLEText(7)INTEGERSMALLINTSMALLINTINTEGERSMALLINT
RAMA_MATERIA
Id_ramaNombre_rama
COUNTERText(30)
ltpkgt
CARRERAS
Id_CarreraNombre_carrera
Text(15)Text(50)
ltpkgt
Fig 411 Diagrama entidad ndash relacioacuten del moacutedulo administrativo
Capiacutetulo 4 Anaacutelisis y Disentildeo
Este diagrama muestra las tablas donde se almacena el conocimiento de loscoordinadores para que el Sistema Experto del moacutedulo sugiera y aplique el ajuste aldato de cantidad de grupos sugerido por Servicios Escolares La relacioacuten entre las tablasva generando las reglas de produccioacuten
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave asig prerrequisitoclave asig prerrequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
REGLAS
DescriId_reglaId_ajusteTot_peso
Text(70)COUNTERINTEGERINTEGER
ltpkgtltfkgt
FK_MATERIAS_REFERENCE_SERVICIO
FK_HECHOS_R_REFERENCE_CRITERIO
FK_HECHOS_R_REFERENCE_REGLAS
FK_HISTORIA_REFERENCE_REGLAS
FK_HISTORIA_REFERENCE_CRITERIO
FK_REGLAS_REFERENCE_AJUSTES
FK_HISTORIA_REFERENCE_MATERIAS
FK_HISTORIA_REFERENCE_CRITERIO
SERVICIOS_ESCOLARES
Id_materiaINSCRITOSNO INSCRITOSSIMULACIONPROXIMO SEMESTREGRUPOS REQUERIDOSIndice de reprobacioacutenperiodoantildeoGrupos ajustadoAlumnos ajustadoId_ajusteId_regla
INTEGERSMALLINTSMALLINTSMALLINTSMALLINTDOUBLEDOUBLEText(7)INTEGERSMALLINTSMALLINTINTEGERSMALLINT
HECHOS_REGLAS
Id_criterioId_reglaPromedio
INTEGERINTEGERINTEGER
ltfk2gtltfk1gt
CRITERIOS
Id_criterioDescripcion
COUNTERText(60)
ltpkgt
HISTORIAL_CRITERIOS
Id_criterioId_reglaPeso de la regla
INTEGERINTEGERSMALLINT
ltfk2gtltfk1gt
AJUSTES
TipoDescripcionId_ajuste
Text(25)MemoCOUNTER ltpkgt
HISTORIAL_MATERIA
Id_materiaId_criterioprioridad
INTEGERINTEGERSMALLINT
ltfk2gtltfk1gt
Fig 412 Diagrama E-R del moacutedulo para determinar y ajustar nuacutemero de grupos
Capiacutetulo 4 Anaacutelisis y Disentildeo
En este diagrama se muestra la base de datos que almacena la informacioacuten quemanipula el moacutedulo Algoritmo Geneacutetico las tablas maacutes representativas sonPOBLACION donde se guardan todas las versiones que forman las generaciones dehorarios y CROMOSOMAS que almacena el registro de evaluacioacuten de cada versioacuten dehorarios
FK_HORARIO__REFERENCE_AULAS
FK_HORARIO__REFERENCE_POBLACIO
FK_MATERIAS_REFERENCE_TIPO_HOR
FK_POBLACIO_REFERENCE_AULAS
FK_POBLACIO_REFERENCE_MATERIAS
FK_POBLACIO_REFERENCE_CROMOZOM1 1
HORARIO_AULA
VersionAulaLunesMartesMiercolesJuevesViernesSabadoHoraId_aula
INTEGERText(6)SMALLINTSMALLINTSMALLINTSMALLINTSMALLINTSMALLINTSMALLINTINTEGER
ltfk2gt
ltfk1gt
AULAS
Id_aulaCapacidad_aulaNombre_aulaDisponible
COUNTERSMALLINTText(50)YesNo
ltpkgt
POBLACION
Id_materiaGrupoId_catedraticoAulaHora_inicioHora_lunesHora_martesHora_miercolesHora_juevesHora_viernesVersionId_aulaPeriodoAnio
INTEGERText(4)INTEGERText(4)INTEGERText(6)Text(6)Text(6)Text(6)Text(6)INTEGERINTEGERText(10)INTEGER
ltfk2gt
ltfk1gtltfk3gt
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
TIPO_HORARIO
Tipo_horario
DescripcionLunes
MartesMiercoles
Jueves
ViernesSabado
COUNTER
Text(20)SMALLINT
SMALLINTSMALLINT
SMALLINT
SMALLINTSMALLINT
ltpkgt
CROMOZOMAS
VersionSemestreChoquesVacias
INTEGERINTEGERINTEGERINTEGER
ltpkgt
Fig 413 Diagrama E-R del moacutedulo para asignar aulas (Algoritmo Geneacutetico)
Capiacutetulo 4 Anaacutelisis y Disentildeo
En esta Figura 414 se pueden observar las tablas involucradas en el proceso paragenerar los paquetes de materias por semestre y la asignacioacuten de horario a cada grupodel paquete utilizando la teacutecnica Programacioacuten Loacutegica de Restricciones noacutetese que noexiste una tabla de restricciones eacutestas se aplican por software a cada grupo generado
FK_MATERIAS_REFERENCE_SERVIC
FK_MATERIAS_REFERENCE_TIPO_H
FK_HORARIOS_REFERENCE_MATERI
MATERIA
Id_materiMateriNum de HrsNum de HrsClave deId_CarrerCreditoSemestrObservacioneTroncoalumnos porclave de asigclave de asigId_ramSuma_maOrdeTipo_horari
INTEGEText(40SMALLINSMALLINText(8Text(15SMALLINSMALLINText(60YesNSMALLINText(40Text(40INTEGESMALLINSMALLININTEGE
ltpkfk4
ltfk1
ltfk3
ltfk2
SERVICIOS_ESCOLARE
Id_materiINSCRITONOSIMULACIOPROXIMOGRUPOSIndice deperiodantildeGruposAlumnosId_ajustId_regl
INTEGESMALLINSMALLINSMALLINSMALLINDOUBLDOUBLText(7INTEGESMALLINSMALLININTEGESMALLIN
TIPO_HORARI
Tipo_horariDescripcioLuneMarteMiercoleJueveVierneSabad
COUNTEText(20SMALLINSMALLINSMALLINSMALLINSMALLINSMALLIN
ltpk
HORARIO
GrupId_aulHora_iniciHora_luneHora_marteHora_miercoleHora_jueveHora_vierneHora_sabadObservacionePeriodAniid_materiId_catedratic
Text(2INTEGEINTEGEText(6Text(6Text(6Text(6Text(6Text(6Text(30Text(20INTEGEINTEGESMALLIN
ltfk3
ltfk2ltfk1
Fig414 Diagrama E-R del moacutedulo para asignar horario (PLR)
Capiacutetulo 4 Anaacutelisis y Disentildeo
FK_HECHOS_M_REFERENCE_MATERIAS
FK_HECHOS_M_REFERENCE_CATEDRAT
HECHOS_MAT_PROF
Id_catedraticoId_materiaPromedio
SMALLINTSMALLINTSMALLINT
ltpkfk1gtltpkfk2gt
FK_PERFIL_C_REFERENCE_CATEDRAT
FK_PERFIL_C_REFERENCE_PERFILES
FK_PERFILES_REFERENCE_TIPO_PER
FK_PROF_PAR_REFERENCE_CATEDRAT
FK_PROF_PAR_REFERENCE_MATERIAS
PERFIL_CATEDRATICO
Id_catedraticoId_perfilPrioridad_perfil_cate
SMALLINTINTEGERSMALLINT
ltfk1gtltfk2gt
CATEDRATICOS
Id_catedraticoApellido_paternoApellido_maternoNombre_catedraticoTitulo_catedraticoSuma_cate
SMALLINTText(20)Text(20)Text(20)Text(30)SMALLINT
ltpkgt
PERFILES
Id_perfilId_tipoDescripcion_perfil
COUNTERINTEGERText(60)
ltpkgtltfkgt
TIPO_PERFIL
Id_tipoTipo_perfil
COUNTERText(30)
ltpkgt
PROF_PARA_MAT
Id_materiaId_catedraticoPorcentaje_cate
INTEGERSMALLINTSMALLINT
ltpkfk2gtltpkfk1gt
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
Fig 415 Diagrama E-R del moacutedulo designa mejor catedraacutetico (Sistema Experto)
Capiacutetulo 4 Anaacutelisis y Disentildeo
En las figuras de la paacutegina anterior y eacutesta (Fig 415 y 416) se muestran las tablasutilizadas por los Sistemas Expertos para sugerir que materias puede impartir unprofesor y tambieacuten sugiere que profesores pueden impartir una asignatura
FK_PERFILES_REFERENCE_TIPO_PER
FK_PERFIL_M_REFERENCE_MATERIAS
FK_PERFIL_M_REFERENCE_PERFILES
FK_MAT_PARA_REFERENCE_MATERIAS
FK_MAT_PARA_REFERENCE_CATEDRAT
FK_HECHOS_M_REFERENCE_MATERIAS
FK_HECHOS_M_REFERENCE_CATEDRAT
PERFILES
Id_perfilId_tipoDescripcion_perfil
COUNTERINTEGERText(60)
ltpkgtltfkgt
TIPO_PERFIL
Id_tipoTipo_perfil
COUNTERText(30)
ltpkgt
PERFIL_MATERIA
Id_materiaId_perfilPrioridad_perfil_mat
INTEGERINTEGERINTEGER
ltfk2gtltfk1gt
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
MAT_PARA_PROF
Id_catedraticoId_materiaPorcentaje_mat
SMALLINTINTEGERSMALLINT
ltpkfk1gtltpkfk2gt
CATEDRATICOS
Id_catedraticoApellido_paternoApellido_maternoNombre_catedraticoTitulo_catedraticoSuma_cate
SMALLINTText(20)Text(20)Text(20)Text(30)SMALLINT
ltpkgt
HECHOS_MAT_PROF
Id_catedraticoId_materiaPromedio
SMALLINTSMALLINTSMALLINT
ltpkfk1gtltpkfk2gt
Fig 416 Diagrama E-R del moacutedulo selecciona mejor materia (sistema experto)
Capiacutetulo 4 Anaacutelisis y Disentildeo
455 Diccionario de la Base de Datos
Nombre HORARIOS_CON_CONOCIMIENTOComentario Base de datos del sistema ldquoGeneracioacuten de horarios mediante Sistemas
Basados en ConocimientordquoDBMS Microsoft Access 97
Lista de Tablas
Nombre Tipo deObjeto
AJUSTES TableAULAS TableCARRERAS TableCATEDRATICOS TableCRITERIOS TableCROMOSOMAS TableHECHOS TableHECHOS_MAT_PROF TableHECHOS_PROF_MAT TableHECHOS_REGLAS TableHISTORIAL_CRITERIOS TableHISTORIAL_MATERIA TableHORARIO_AULA TableHORARIOS TableMAT_PARA_PROF TableMATERIAS TablePERFIL_CATEDRATICO TablePERFIL_MATERIA TablePERFILES TablePOBLACION TablePROF_PARA_MAT TableRAMA_MATERIA TableREGLAS TableSERVICIOS_ESCOLARES TableTIPO_HORARIO TableTIPO_PERFIL Table
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla AJUSTESFuncioacuten Almacena los datos de los tipos de ajuste que se aplican por el Sistema Experto al
dato estadiacutestico que define cuantos grupos se deben abrir de cada materia
Lista de columnas de la tabla AJUSTESNombre Tipo de
DatoLong Llave
Primaria ForaneaComentario
Tipo Text(25) 25 Nombre del tipo de ajusteDescripcioacuten Memo Explicacioacuten del ajuste a realizar al nuacutemero
de grupos calculados segun estadisticosId_ajuste COUNTER 4 X Identificador del ajuste
Tabla AULASFuncioacuten Almacena los datos de las aulas que existen en cada edificio del instituto
Lista de columnas de la tabla AULASNombre Tipo de
DatoLong Llave
Primaria ForaneaComentario
Id_aula COUNTER 4 X Identificador del aulaCapacidad_aula SMALLINT 4 Nuacutemero maacuteximo de alumnos en el
aulaNombre_aula Text(50) 50 Nombre del aula (edificio+numero)Disponible YesNo 1 Disponibilidad del aula
Tabla CARRERASFuncioacuten Almacena los datos de las carreras que se imparten en el ITZ
Lista de columnas de la tabla CARRERASNombre Tipo de
DatoLong Llave
Primaria ForaneaComentario
Id_Carrera Text(15) 15 X Clave de la carreraNombre_carrera Text(50) 50 Nombre de la carrera
Tabla CATEDRATICOSFuncioacuten Almacena los datos de los CATEDRAacuteTICOS que imparten clases en las diferentes carreras del
Instituto Se utilizan los datos en los Sistemas Expertos que definen cual es el mejor catedraacuteticopara impartir una materia
Capiacutetulo 4 Anaacutelisis y Disentildeo
Lista de columnas de la tabla CATEDRATICOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Nuacutemero de tarjeta del catedraacuteticoApellido_paterno Text(20) 20 Apellido paterno del catedraacuteticoApellido_materno Text(20) 20 Apellido materno del catedraacuteticoNombre_catedratico Text(20) 20 Nombre del catedraacuteticoTitulo_catedratico Text(30) 30 Grado de estudios y tiacutetulo del
catedraacuteticoSuma_cate SMALLINT 4 Suma total de las pesos de los perfiles
pertenecientes al catedraacutetico
Tabla CRITERIOSFuncioacuten Tabla de los criterios utilizados por el experto para crear las reglas que definen el tipo de
ajuste inferido por el Sistema Experto para definicioacuten de grupos por abrir
Lista de columnas de la tabla CRITERIOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_criterio COUNTER 4 X Identificador del criterio aplicado auna materia para crear grupos
Descripcion Text(60) 60 Descripcioacuten del criterio
Tabla CROMOSOMASFuncioacuten Almacena los datos de la evaluacioacuten de cada versioacuten de horarios generada ya sea por la
poblacioacuten inicial o por los operadores geneacuteticos se genera un cromosoma por cadasemestre en cada versioacuten
Lista de columnas de la tabla CROMOSOMASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Version INTEGER 4 X Nuacutemero de individuo o versioacuten dehorarios
Semestre INTEGER 4 Semestre al que pertenece el datoChoques INTEGER 4 Nuacutemero de choques de versioacuten y
semestreVacias INTEGER 4 Nuacutemero de aulas vaciacuteas del individuo
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla HECHOS_MAT_PROFFuncioacuten Esta tabla almacena el resultado de la inferencia del Sistema Experto materias para
profesor indica para cada catedraacutetico las materias y el porcentaje de certeza con quepuede impartirlas
Lista de columnas de la tabla HECHOS_MAT_PROFNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Identificador del catedraacuteticoId_materia SMALLINT 4 X Identificador de la asignaturaPromedio SMALLINT 4 Porcentaje de certeza con que un
profesor puede impartir una materia(resultado de la inferencia)
Tabla HECHOS_PROF_MATFuncioacuten Almacena los datos de la inferencia del Sistema Experto que calcula para una materia
determinada cuales son los mejores maestros para impartirla
Lista de columnas de la tabla HECHOS_PROF_MATNombre Tipo de
DatoLongitud
LlavePrimaria Foraacutenea
Comentario
Id_catedratico SMALLINT 4 X Identificador del catedraacuteticoId_materia SMALLINT 4 X Identificador de la asignaturaPromedio SMALLINT 4 Porcentaje de certeza con que una
materia puede ser impartida por unprofesor (resultado de la inferencia)
Tabla HECHOS_REGLASFuncioacuten Almacena los porcentajes de certeza con que se dispara una regla del Sistema Experto
que define los grupos por abrir
Lista de columnas de la tabla HECHOS_REGLASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_criterio SMALLINT 4 X Identificador del criterioId_regla SMALLINT 4 X Identificador de la reglaPromedio INTEGER 4 Porcentaje de certeza con que una
regla dispara un criterio
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla HISTORIAL_CRITERIOS
Funcioacuten Almacena las reglas formadas por los criterios utilizados por el Sistema Experto paradefinir los grupos por abrir
Lista de columnas de la tabla HISTORIAL_CRITERIOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_criterio INTEGER 4 X Identificador del criterio pertenecientea la regla
Id_regla INTEGER 4 X Identificador de la reglaPeso de la regla SMALLINT 4 Peso del criterio en la regla
Tabla HISTORIAL_MATERIAFuncioacuten Tabla que almacena la definicioacuten de cada materia con base en los criterios utilizados por
las reglas para definir por materia el nuacutemero de grupos por abrir
Lista de columnas de la tabla HISTORIAL_MATERIANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materia para suasignacioacuten de criterios
Id_criterio INTEGER 4 X Identificador del criterio que se aplicaa la materia para describirla
Prioridad SMALLINT 4 Peso del criterio en la materia
Tabla HORARIOS
Funcioacuten Almacena los datos del condensado final de horarios aquiacute se almacena el producto finaldel sistema para su posterior publicacioacuten y distribucioacuten entre la comunidad tecnoloacutegica
Lista de columnas de la tabla HORARIOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materiaGrupo Text(2) 2 Identificador del grupo A B CId_catedratico SMALLINT 4 X Catedraacutetico asignado al grupoId_aula INTEGER 4 X Aula asignada al grupoHora_inicio INTEGER 4 Hora de inicio del grupoHora_lunes Text(6) 6 Horas que se imparte el grupo el diacutea
lunes
Capiacutetulo 4 Anaacutelisis y Disentildeo
Hora_martes Text(6) 6Hora_miercoles Text(6) 6Hora_jueves Text(6) 6Hora_viernes Text(6) 6Hora_sabado Text(6) 6Observaciones Text(30) 30 Observaciones al grupoPeriodo Text(20) 20 Periodo Ene-jun o Ago-dicAnio INTEGER 4 Antildeo en que se utiliza el horario
Tabla HORARIO_AULAFuncioacuten Tabla auxiliar utilizada como almacenamiento temporal durante el proceso de evaluacioacuten
en el Algoritmo Geneacutetico guarda los datos de ocupacioacuten choques y no utilizacioacuten decada aula por hora diacutea y versioacuten
Lista de columnas de la tabla HORARIO_AULANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Version INTEGER 4 X Nuacutemero de individuo o versioacutenAula Text(6) 6 Nombre del aulaLunes SMALLINT 4 Nuacutemero de horas que se utiliza el aula
el diacutea lunesMartes SMALLINT 4Miercoles SMALLINT 4Jueves SMALLINT 4Viernes SMALLINT 4Sabado SMALLINT 4Hora SMALLINT 4 Hora de utilizacioacuten del aulaId_aula INTEGER 4 X Identificador del aula en la versioacuten
Tabla MATERIASFuncioacuten Esta es una de las principales tablas del proyecto se utiliza en todos los moacutedulos del
sistema contiene informacioacuten base para caacutelculos diversos ademaacutes contiene tambieacuten lasllaves de diferentes tablas que describen de manera de manera especial a las materias
Lista de columnas de la tabla MATERIASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia COUNTER 4 X Identificacioacuten de la materia llaveprincipal
Materia Text(40) 40 Nombre de la materiaNum de Hrs prac SMALLINT 4 Nuacutemero de horas praacutecticasNum de Hrs teo SMALLINT 4 Nuacutemero de horas teoacutericasClave de Asig Text(8) 8 Clave oficial de la materiaId_Carrera Text(15) 15 X Carrera a la que pertenece la materiaCreditos SMALLINT 4 Creacuteditos de la materia
Capiacutetulo 4 Anaacutelisis y Disentildeo
Semestre SMALLINT 4 Semestre en que se imparte la materiaObservaciones Text(60) 60Tronco comun YesNo 1 Definicioacuten de especialidad o tronco
comuacutenalumnos porgrupo
SMALLINT 4 Capacidad sugerida de los grupos deesta materia
clave de asigprerequisito
Text(40) 40 Clave de asignatura del prerrequisito
clave de asigprerequisito1
Text(40) 40 Clave de asignatura del prerrequisito
Id_rama INTEGER 4 X Identificador de la rama a la quepertenece la materia
Suma_mat SMALLINT 4 Suma total de los perfilespertenecientes a la materia
Orden SMALLINT 4 Es el nuacutemero de materia en un paqueteTipo_horario INTEGER 4 X El tipo de horario asignado a materia
Tabla MAT_PARA_PROFFuncioacuten La tabla almacena para cada catedraacutetico las asignaturas que puede impartir y el grado
de certeza con que puede hacerlo se almacena en esta tabla el resultado de la inferenciadel Sistema Experto
Lista de columnas de la tabla MAT_PARA_PROFNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Nuacutemero de tarjeta del profesorId_materia INTEGER 4 X Identificador de la materiaPorcentaje_mat SMALLINT 4 Porcentaje de certeza con que un
profesor puede impartir una materia
Tabla PERFILESFuncioacuten Tabla que contiene una relacioacuten de todas las caracteriacutesticas de las materias
caracteriacutesticas necesarias para poder impartirlas es al mismo tiempo la tabla quecontiene la relacioacuten general de los conocimientos que poseen los profesores
Lista de columnas de la tabla PERFILESNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_perfil COUNTER 4 X Identificador del perfil paraasignaciones de materias acatedraacuteticos
Id_tipo INTEGER 4 X Identificador del tipo del perfilDescripcion_perfil Text(60) 60 Descripcioacuten de una caracteriacutestica del
perfil de una materia o un catedraacutetico
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla PERFIL_CATEDRATICOFuncioacuten Tabla que contiene el perfil de todos los catedraacuteticos (pueden llamarse las reglas) del
Sistema Experto que recomienda profesores para las materias el perfil de un catedraacuteticoesta definido por los conceptos que domina de las materias
Lista de columnas de la tabla PERFIL_CATEDRATICONombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Identificador del catedraacutetico paradefinicioacuten de su perfil acadeacutemico
Id_perfil INTEGER 4 X Identificador del perfil que define aun catedraacutetico
Prioridad_perfil_cate SMALLINT 4 Porcentaje en que contribuye elperfil especificado en la definicioacutendel catedraacutetico
Tabla PERFIL_MATERIAFuncioacuten Esta tabla almacena las reglas que definen el perfil de una materia contiene las
caracteriacutesticas y temas que forman el temario de la materia
Lista de columnas de la tabla PERFIL_MATERIANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materia en laregla de la materia
Id_perfil INTEGER 4 X Identificador del perfilperteneciente a una materia
Prioridad_perfil_mat INTEGER 4 Porcentaje en que contribuye esteperfil particular a definir unamateria
Tabla PROF_PARA_MATFuncioacuten Esta tabla almacena la inferencia del Sistema Experto para determinar cuales son los
mejores profesores para impartir una materia contiene para cada asignatura una lista delos profesores y el porcentaje de certeza con que pueden desempentildearse si la imparten
Capiacutetulo 4 Anaacutelisis y Disentildeo
Lista de columnas de la tabla PROF_PARA_MATNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de materiaId_catedratico SMALLINT 4 X Identificador de catedraacuteticoPorcentaje_cate SMALLINT 4 de certeza con que el catedraacutetico X
puede impartir la materia Y
Tabla POBLACIONFuncioacuten La tabla es la maacutes importante para el moacutedulo de Algoritmo Geneacutetico porque almacena los
datos de cada individuo hipoacutetesis o versioacuten que son generados ya sea por la poblacioacuteninicial aleatoria o por los diversos operadores geneacuteticos contiene copias (versiones) delcondensado de horarios con aulas aleatorias
Lista de columnas de la tabla POBLACIONNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materiaGrupo Text(4) 4 Grupo de la materiaId_catedratico INTEGER 4 X Identificador del catedraticoAula Text(4) 4 X Nombre del aula (edificio + numero)Hora_inicio INTEGER 4 Hora de inicio del grupoHora_lunes Text(6) 6 Hora inicio del lunesHora_martes Text(6) 6Hora_miercoles Text(6) 6Hora_jueves Text(6) 6Hora_viernes Text(6) 6Version INTEGER 4 X Nuacutemero de la versioacuten o hipoacutetesisPeriodo Text(10) 10 Periodo o semestre del grupoAnio INTEGER 4 Antildeo del grupo
Tabla RAMA_MATERIAFuncioacuten La tabla almacena la clasificacioacuten de las materias de acuerdo a las ciencias a la que
pertenecen
Lista de columnas de la tabla RAMA_MATERIANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_rama COUNTER 4 X Identificador de la rama de unamateria (clasificacioacuten)
Nombre_rama Text(30) 30 Descripcioacuten de la rama de unamateria
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla REGLAS
Funcioacuten Esta tabla almacena las reglas utilizadas para generar los grupos que se deben ofertar elproacuteximo semestre indicando para cada regla el tipo de ajuste que debe aplicarse
Lista de Columnas de la Tabla REGLASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Descripcion Text(70) 70 Descripcioacuten de la regla para ajustarel nuacutemero de grupos
Id_regla COUNTER 4 X Identificador de la reglaId_ajuste INTEGER 4 X Identificador del tipo de ajuste que
se aplica cuando esta regla sedispara para alguna materia
Tot_peso INTEGER 4 Total de los pesos de lascaracteriacutesticas de esta regla
Tabla SERVICIOS_ESCOLARESFuncioacuten En esta tabla se almacenan los datos estadiacutesticos de cada materia que provienen de
Servicios Escolares para el caacutelculo del nuacutemero de grupos que deben abrirse para elproacuteximo semestre contiene tambieacuten los paraacutemetros proporcionados por el SistemaExperto para realizar el ajuste al nuacutemero de grupos calculado inicialmente
Lista de columnas de la tabla SERVICIOS_ESCOLARESNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materiaINSCRITOS SMALLINT 4 Nuacutemero de alumnos inscritos
actualmente en el grupoNO INSCRITOS SMALLINT 4 Nuacutemero de alumnos que pueden
cursar la materia pero no seinscribieron
SIMULACION SMALLINT 4 Simulacioacuten de Servicios Escolaresde alumnos que podraacuten cursar lamateria
PROXIMOSEMESTRE
SMALLINT 4 Resultado del calculo de ServEscolares de alumnos que cursaraacutenla materia
GRUPOSREQUERIDOS
DOUBLE 4 Grupos requeridos para abrirproacuteximo semestre seguacuten caacutelculosiniciales
Indice dereprobacion
DOUBLE 4 Indice de reprobacioacuten de la materia
periodo Text(7) 7 Periodo de caacutelculo de horarios actual(semestre ene-jun o ago-dic)
Capiacutetulo 4 Anaacutelisis y Disentildeo
antildeo INTEGER 4 Antildeo de caacutelculo de horariosGrupos ajustado SMALLINT 4 Nuacutemero de grupos a solicitar para
abrir proacuteximo semestreAlumnos ajustado SMALLINT 4 Caacutelculo final del numero de alumnos
del proacuteximo semestre en estamateria
Id_ajuste INTEGER 4 X Tipo del ajuste aplicado por elSistema Experto al campogrupos_requeridos
Id_regla SMALLINT 4 X Regla que se disparo para realizar elajuste
Tabla TIPO_HORARIOFuncioacuten Esta tabla almacena los formatos de los distintos tipos de horario que existen y se ofrecen
para cada materia horarios de 2345 diacuteas a la semana y de 123 o 4 horas por diacutea
Lista de columnas de la tabla TIPO_HORARIONombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Tipo_horario COUNTER 4 X Identificador del tipo de horarioDescripcion Text(20) 20 Descripcioacuten del tipo de horarioLunes SMALLINT 4 Nuacutemero de horas del lunesMartes SMALLINT 4 Nuacutemero de horas del martesMiercoles SMALLINT 4 Nuacutemero de horas del mieacutercolesJueves SMALLINT 4 Nuacutemero de horas del juevesViernes SMALLINT 4 Nuacutemero de horas del viernesSabado SMALLINT 4 Nuacutemero de horas del saacutebado
Tabla TIPO_PERFILFuncioacuten Aquiacute se almacena una clasificacioacuten de los perfiles de acuerdo a la rama de conocimiento
a la que pertenecen
Lista de columnas de la tabla TIPO_PERFILNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_tipo COUNTER 4 X Identificador del tipo de perfilTipo_perfil Text(30) 30 Descripcioacuten del tipo de perfil de los
catedraacuteticos o las materias
Capiacutetulo 4 Anaacutelisis y Disentildeo
456 Lista de funciones o programas
Nombre Programa Descripcioacuten del programa
Ajustes Datos generales de los tipos de ajustes que se aplican al nuacutemero degrupos por abrir al dato de Servicios Escolares
Aulas Captura los datos de las aulas disponibles para claseCaptura_horarios Este programa realiza los cambios posteriores a la generacioacutenCarreras Captura los datos de las carreras del tecnoloacutegicoCatedraticos Datos generales de los catedraacuteticosClonacion Obtiene una copia (clon) del mejor individuo de una generacioacutenCons_ajuste Muestra yo imprime los datos generales de los ajustesCons_aulas Emite una pantalla de consulta general de aulasCons_captura_horarios Muestra una pantalla de consulta de los horarios generadosCons_carrera Despliega yo imprime las carrerasCons_catedratico Muestraimprime los datos generales de los catedraacuteticosCons_criterio Formulario que muestra yo despliega los criterios generalesCons_critXmat Muestra yo imprime los criterios de una materiaCons_critXregla Despliegaimprime los criterios que forman una reglaCons_gpos_abrir Explicacioacuten de la inferencia realizada (reglas disparadas)Cons_hist_crit Muestra las reglas de produccioacuten de los criteriosCons_materia Pantalla que despliega yo imprime datos de las materiasCons_materia_gral Pantalla de consulta general de los datos de materiasCons_perf_cate Consultaimprime los datos del perfil acadeacutemico de los
catedraacuteticosCons_perf_mate Consultaimprime los datos del perfil acadeacutemico de las materiasCons_perfil Muestraimprime datos de los perfilesCons_perfiles Consulta a la lista de perfiles o caracteriacutesticas Cons_perfilxmat Consulta a las reglas de produccioacuten del perfil de una materiaCons_rama Consulta a la lista de ramas (clasificacioacuten de las materias)Cons_reglas Consulta a la base de reglas para ajustar nuacutemero de gruposCons_serv_esc Consulta a las tablas que tienen informacioacuten de Servicios
EscolaresCons_serv_escol Pantalla que muestra yo imprime los datos estadiacutesticos de Serv
EscCons_tipo_perfil Consulta a los tipos de perfil (clasificacioacuten de perfiles)Crit_X_mat Formulario que captura los criterios pertenecientes a una materiaCrit_X_regla Captura los criterios que forman una regla de produccioacutenCriterios Pantalla que captura el conocimiento de criterios para el SECriteriosxmat Pantalla de captura para los criterios por materiaCruzamiento Programa que realiza la combinacioacuten (cruza) de individuos de la
poblacioacuten en el Algoritmo Geneacutetico
Capiacutetulo 4 Anaacutelisis y Disentildeo
Evaluacion Programa que realiza la creacioacuten del cromosoma de evaluacioacuten alevaluar las versiones de horarios de una generacioacuten
Explica_ajustes Moacutedulo de explicacioacuten del porque se aplicoacute determinado ajuste auna materia
Explica_mat_p_prof Explicacioacuten del porque una materia puede ser impartida por unprofesor con cierto grado de certidumbre
Explica_prof_p_mat Explicacion del porque un profesor puede impartir una materiacon cierto grado de certidumbre
Genera_horarios Sistema que utiliza Programacioacuten Loacutegica de Restricciones paragenerar los paquetes de horarios de un semestre
Genera_paquete Muestra el paquete generado por el procesoGrupo_nuevo Programa que va generando los paquetesGrupos_por_abrir Inferencia realizada para definir el ajuste aplicado a los grupos
definidos por Servicios EscolaresHistorial_criterios Captura los criterios necesarios para hacer una reglaHistorial_materia Captara los criterios por materiaMat_para_prof Inferencia realizada para determinar que profesores pueden
impartir una materiaMaterias Actualizacioacuten al archivo datos generales de las materiasMenu_algoritmos_geneticos Menuacute del moacutedulo para asignar aula a los gruposMenu_generacion_grupos Menuacute del Sistema Experto para definir cuantos grupos abrirMenu_asigna_horario Menuacute del moacutedulo asignacioacuten de horarioMenu_principal Menuacute principal del sistemaMenu_sel_catedra Menuacute del Sistema Experto para seleccioacuten de catedraacuteticos a
materiaMutacion Programa que hace la modificacioacuten de informacioacuten de aulas de
alguna versioacuten (versioacuten)Perfil_catedratico Captura el perfil acadeacutemico de los catedraacuteticosPerfil_materia Captura el perfil acadeacutemico de las materiasPerfiles Datos generales del perfil acadeacutemico de materias y catedraacuteticosPoblacion_inicial Programa que genera versiones de horarios y que de manera
aleatoria le va asignando aula a los gruposPortada_principal Es la ventana de entrada al sistemaProf_para_mat Inferencia realizada para determinar que materias pueden ser
impartidas por un profesorRama Programa que capturas las posibles ramas de los materiasReglas Datos generales de las reglas de produccioacuten para definir el No de
grupos por abrirSeleccioacuten Proceso que selecciona las mejores versiones de horarios (mejores
individuos) y elimina las menos aptasServ_escolares Pantalla de captura de los datos estadiacutesticos de Servicios EscolaresTipo_perfil Programa que captura la clasificacioacuten de los perfiles de materias y
profesores
Capiacutetulo 4 Anaacutelisis y Disentildeo
457 Diagrama de Arquitectura (Menuacutes)
Menuacute general
Menuacute Grupos porabrir
MenuacuteGeneracioacuten de
horarios
MenuacuteAsignacioacuten de
aulas
Datos de materias
Estadiacutesticos Serv Esc
Criterios
Criterios por materia
Reglas
Criterios por regla
Ajustes
Carreras
Nuacutemero de grupos
MenuacuteSeleccioacuten decatedraacuteticos
Genera paquete
Genera horarios
Datos generalesgrupos
Datos de aulas
Genera poblacioacuteninicial
Evaluacioacuten
Seleccioacuten
Cruzamiento
Clonacioacuten
Mutacioacuten
Horarios finales
Perfiles
Perfil de las materias
Perfil de catedraacuteticos
Catedraacuteticos
Perfil de loscatedraacuteticos
Asignacioacuten materia aprofesor
Asignacioacuten profesor amateria
Capiacutetulo 4 Anaacutelisis y Disentildeo
Capiacutetulo 5 Implementacioacuten del sistema
CAPIacuteTULO 5
IMPLEMENTACIOacuteN
51 Pantallas del sistema
La Figura 51 muestra la portada inicial del proyecto Contiene los logotipos de las tresinstituciones participantes y el nombre del proyecto
Fig 51 Portada inicial del proyecto
La Figura 52 es la pantalla que proporciona la informacioacuten de los autores del proyecto
Es el botoacutende entrada alsistema
Botoacuten deinformacioacuten delos autores
Capiacutetulo 5 Implementacioacuten del sistema
Fig 52 Acerca del sistema
La Figura 53 muestra el menuacute principal del proyecto contiene y 4 moacutedulos La primeraopcioacuten incluye los moacutedulos administrativo y generacioacuten de grupos la segunda opcioacutenincluye seleccioacuten de maestro y seleccioacuten de materia
Fig 53 Menuacute principal del proyecto
Moacutedulos delproyecto
Cuadro queproporcionalainformacioacutende la opcioacutensentildealada porel cursor
Capiacutetulo 5 Implementacioacuten del sistema
En la Figura 54 se tiene la pantalla del menuacute que agrupa los programas del moacuteduloadministrativo y Sistema Experto para determinar el nuacutemero de grupos por abrir seguacutenlos caacutelculos realizados con los datos de Servicios Escolares y el ajuste a ese dato
Fig 54 Menuacute grupos por abrir
Este programa del moacutedulo administrativo (Figura 55) sirve para capturar la informacioacutengeneral de las asignaturas que componen una carrera
Fig 55 Materias
Programas delos moacutedulos
Descripcioacutende laactividad delprogramaseleccionado
Nombre de laasignatura
Nuacutemero dehoraspraacutecticas yteoacutericas
Alumnos por grupopara calcularcantidad de grupos
Dato para formarpaquetes porsemestre
Icono quehabilita lacaptura denuevosdatos
Icono queregresa alMenuacute anterior
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 56 es un ejemplo de la consulta de datos en pantalla
Fig 56 Consulta Materias
La Figura 57 es la pantalla donde se capturan los datos estadiacutesticos provenientes deServicios Escolares contiene la informacioacuten necesaria para realizar el caacutelculo originaldel nuacutemero de grupos de cada asignatura que se debe abrir para ofertarse a los alumnosel siguiente semestre la foacutermula mostrada proporciona tal dato
Botoacuten queregresa elcontrol alprogramaque loinvocoacute
Alumnosesperados parael proacuteximo
Fccg
Datosestadiacutesticos
Fig 57 Pantalla Servicios Es
semestre
oacutermula paraaacutelculoantidad-rupos
Caacutelculosgeneral y pormateria
Grupos (datoestadiacutestico)
colares
Capiacutetulo 5 Implementacioacuten del sistema
En la Figura 58 se muestra la pantalla de consulta de los datos estadiacutesticosproporcionados por Servicios Escolares
Fig 58 Pantalla consulta Servicios Escolares
Esta pantalla captura las caracteriacutesticas por materia que dan origen al conocimientonecesario para definir el tipo de ajuste que se aplica al dato del nuacutemero de gruposproporcionado por los caacutelculos estadiacutesticos de la pantalla anterior
Criterios de unamateria
Fig 59 Pantalla criterios por materia
Grado deimportancia de esacaracteriacutestica para la
Capiacutetulo 5 Implementacioacuten del sistema
En la Figura 510 se muestra un ejemplo de la consulta a la base de datos del sistema enla parte de criterios por materia
Fig 510 Pantalla consulta criterios por materia
Esta pantalla (fig 511) proporciona al sistema la capacidad de capturar modificarborrar e imprimir las carreras del Instituto Tecnoloacutegico de Zacatepec
Fig 511 Pantalla carreras
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 512 proporciona al sistema la capacidad para capturar los criterios(conocimientos) del experto para definir a cada materia
Fig 512 Pantalla criterios
La Figura 513 muestra un ejemplo de consulta al archivo de los criterios capturados enel sistema
Fig 513 Pantalla consulta criterios
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 514 muestra la pantalla de captura de las reglas que componen el SistemaExperto para determinar el tipo de ajuste que se aplicaraacute al dato estadiacutestico del nuacutemerode grupos que se van a abrir el proacuteximo semestre cada regla tiene asignado un tipo deajuste
Fig 514 Pantalla reglas
La Figura 515 muestra un ejemplo de la consulta al archivo de las reglas que utiliza elSistema Experto para determinar nuacutemero de grupos por ofertar el proacuteximo semestre
Fig 515 Pantalla consulta reglas
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 516 muestra la pantalla de captura al archivo de ajustes noacutetese que ladescripcioacuten explica en extenso la accioacuten que se realiza al aplicar este ajuste provenientede una regla disparada por los criterios pertenecientes a la definicioacuten de una materia
Fig 516 Pantalla ajustes
La Figura 517 muestra la pantalla de la consulta a los ajustes que contiene el sistema
Fig 517 Pantalla consulta ajustes
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 518 muestra la pantalla que captura los criterios para cada regla Una reglaestaacute formada por el mismo tipo de criterios que definen a las materias
Criteriosde una
Fig 518 Pantalla criterios por regla
La Figura 519 muestra el ejemplo de una consulta de los criterios que definen a unaregla
Fig 519 Pantalla consulta criterios por regla
Reglas de produccioacuten Criterios por regla
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 520 es la pantalla maacutes importante de moacutedulo de generacioacuten de grupos porquees donde se realiza la inferencia para calcular el tipo de ajuste que se va a aplicar a cadamateria con base en las reglas que se disparan y que hacen match los criterios de unaregla y los criterios de una materia
Fig 520 Pantalla caacutelculo de ajustes
Esta pantalla (Figura 521) ofrece una explicacioacuten mostrando los criterios que definenuna materia y su correspondiente regla disparada mostrando los criterios de la regla quehacen match con los criterios de la materia
Fig 521 Pantalla explicacioacuten de la inferencia
Asignaturaa la que sele aplicaraacuteel ajuste
Regla quese disparaseguacutencriterios
Tipo deajuste quese aplica
Dato seguacutenestadiacutestico
Datos seguacutenajuste delSistemaExperto
Inferenciageneral
Inferenciaindividual
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 522 muestra el formulario que forma los paquetes de materias seguacuten laretiacutecula de una carrera muestra el nuacutemero de grupos por cada materia que se van aformar y hace los paquetes asignando los grupos AA AB AC AD
Fig 522 Pantalla inicial del moacutedulo generacioacuten de horarios
La Figura 523 es el formulario del moacutedulo Programacioacuten Loacutegica de Regenera los horarios por paquete satisfaciendo las restricciones para forlibre de choques continuo (sin horas muertas) cumpliendo las horas por m
Fig 523 Pantalla principal del moacutedulo generacioacuten de horari
Semestre al que sele formaraacuten lospaquetes
Paquetes generadosHora de iniciode clases decada grupo
Materias delsemestre
Nuacutemero de gruposal que se lesgeneraraacute horario
MateriaPaquete
Nuacutemero dehoras por diacutea
Botonesque invocanal moacutedulogeneradorde horarios
stricciones quemar un horarioateria etc
Hora de iniciode la materia
os
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 524 muestra el moacutedulo para asignar aula a los horarios que ya tienen materiagrupo y hora
Fig 524 Pantalla principal del menuacute Algoritmos Geneacuteticos
Esta pantalla (Figura 525) se utiliza para hacer altas bajas consulta y modificaciones alos grupos que se les va a dar aula
Fig 525 Pantalla de administracioacuten de grupos
Periodode loshorarios
Hora iniciodel grupo
Hora por diacutea
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 526 muestra una consulta de la pantalla administracioacuten de grupos
Fig 526 Pantalla de consulta de administracioacuten de grupos
La Figura 527 muestra la pantalla para actualizar las aulas disponibles por las personasque generan los horarios estas aulas estaacuten disponibles para que el Algoritmo Geneacuteticolas utilice para asignarles grupos durante el proceso
Fig 527 Pantalla del control de aulas
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 528 muestra la consulta de las aulas que utiliza el moacutedulo generacioacuten deaulas
Fig 528 Pantalla de consultas del control de aulas
La Figura 529 muestra la pantalla que genera la poblacioacuten inicial a partir de los datosgenerales proveniente de los moacutedulos anteriores
Fig 529 Pantalla de genera poblacioacuten inicial
Nuacutemero dehipoacutetesisversiones oindividuos
Aula aleatoriagenerada
Este botoacuteninicia lageneracioacutende las nversionesde horarios
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 530 muestra la pantalla que evaluacutea las versiones originadas y genera paracada una de ellas un cromosoma cuyos genes contienen la informacioacuten obtenida
Fig 530 Pantalla de evaluacioacuten de versiones
La Figura 531 muestra el formulario del proceso de seleccioacuten de las mejores versionesde horarios toma aquellas que tienen menor numero de choques y mayor espacio deocupacioacuten de aulas
Fig 531 Pantalla del proceso de seleccioacuten
Cantidad deversiones quesobreviviraacuten
Cromosomas delos mejoresindividuos
Botoacuten queinicia elproceso deseleccioacuten
Botoacuten queinicia elproceso deeliminacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 532 muestra la pantalla del proceso de clonacioacuten donde se selecciona la mejorversioacuten y se obtiene un clon ideacutentico con un nuevo nuacutemero de versioacuten
Fig 532 Pantalla del proceso de clonacioacuten
La Figura 533 muestra la pantalla del proceso de mutacioacuten utilizado para hacer elcambio ldquomutarrdquo los datos de una versioacuten para romper alguacuten ciclado de la tendencia haciael resultado o simplemente para acelerar el proceso de optimizacioacuten
Cromosomasde versionesmaacutes aptas
Nuacutemero demejor versioacuten
Poblacioacutenversiones
Cromosomamuestra lasmejoresversiones
Aulas quepueden mutarse
Botoacuten queinicia elproceso demutacioacuten
Nuacutemero deversioacuten
Fig 533 Pantalla de mutacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 534 muestra la pantalla donde se realiza el cruzamiento utilizando plantillaspredeterminadas dirigiendo la cruza de versiones por paquetes de materias agrupadas porsemestre y cada plantilla genera una nueva versioacuten con la combinacioacuten de fragmentosde varias versiones
Fig 534 Pantalla del proceso de cruzamiento
La Figura 535 permite la seleccioacuten y enviacuteo de la mejor versioacuten de horarios y adaptarloal moacutedulo administrativo para su distribucioacuten y publicacioacuten
Fig 535 Horarios finales
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 536 muestra el menuacute de los moacutedulos que sugiere maestros para impartir unaasignatura y sugerencia de asignatura para alguacuten maestro
Fig 536 Pantalla menuacute seleccioacuten de catedraacuteticos
La Figura 537 muestra la pantalla para la captura de caracteriacutesticas de losconocimientos requeridos para dar una materia que son las mismas caracteriacutesticas quedefinen los conocimientos de un profesor para impartir las materias
Fig 537 Pantalla de perfiles
Clasificacioacutende los perfiles
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 538 muestra una consulta de los perfiles agrupados por tipo
Fig 538 Pantalla de consulta perfiles
La Figura 539 muestra la pantalla en la que se definen los conocimientos requeridospara poder impartir una asignatura de acuerdo al perfil y contenido temaacutetico
Fig 539 Pantalla perfiles de las materias
La Figura 540 muestra un ejemplo de la consulta al perfil de una materia
Importancia de lacaracteriacutestica en la materia
Capiacutetulo 5 Implementacioacuten del sistema
Fig 540 Pantalla consulta perfiles de las materias
La Figura 541 es utilizada para capturar los datos de los catedraacuteticos que imparten lasasignaturas de una carrera
Fig 541 Pantalla captura datos de catedraacuteticos
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 542 es una muestra de la consulta al archivo de los catedraacuteticos
Fig 542 Pantalla consulta datos de catedraacuteticos
La Figura 543 muestra la pantalla en que se captura el perfil de los catedraacuteticos elperfil son los conocimientos que tiene el profesor que lo capacitan para impartir algunaasignatura
Fig 543 Pantalla captura perfil de catedraacuteticos
Conocimientosdel profesor
Barra deseleccioacuten deperfiles
Grado dedominio deltema
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 544 muestra una consulta tiacutepica al archivo de perfiles de los catedraacuteticos
Fig 544 Pantalla consulta perfil de catedraacuteticos
La Figura 545 muestra la pantalla de inferencia final que sugiere quienes son loscatedraacuteticos maacutes capacitados para impartir una materia haciendo la inferencia mediantela buacutesqueda de matchs entre el perfil de la asignatura y el perfil del catedraacutetico
Fig 545 Pantalla muestra inferencia catedraacuteticos para materia
Candidatos aimpartir lamateria
Botoacuten del proceso deinferencia generalPorcentaje de certeza con
que puede impartirla
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 546 muestra la pantalla de explicacioacuten donde se indican los perfiles de lamateria y el perfil del profesor
Fig 546 Pantalla explicacioacuten porque un maestro puede dar una materia
La Figura 547 muestra el resultado de la inferencia del proceso que sugiere las materiasque puede impartir un profesor con base en el perfil de la materia y el perfil del profesor
Fig 547 Pantalla materias que puede impartir un profesor
Posibles materia aimpartir Porcentaje de certeza con
que puede impartirlaBotoacuten del proceso deinferencia general
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 548 muestra la pantalla de explicacioacuten donde se indican el perfil de la materiay el perfil del profesor
Fig 548 Pantalla de explicacioacuten porque un profesor puede dar una materia
Capiacutetulo 5 Implementacioacuten del sistema
Capiacutetulo 6 Pruebas y Resultados
CAPIacuteTULO 6
PRUEBAS Y RESULTADOS
61 Pruebas del sistema
Se pueden detectar dentro del desarrollo de sistemas las actividades para realizarpruebas las producidas durante la etapa de requerimientos de disentildeo preliminar y las dedisentildeo detallado Clasificadas de otra manera eacutestas pueden ser funcionales deintegracioacuten y de implementacioacuten
La finalidad de realizar Pruebas funcionales es detectar errores que pudieran habersedado durante las fases de anaacutelisis y de especificacioacuten Por otro lado ellas pueden ayudara probar si el disentildeo es correcto ya que esta fase en sus dos niveles preliminar ydetallado estaacute basada en el anaacutelisis y especificacioacuten de requerimientos del sistema Estaactividad es guiada por los objetivos y requerimientos plasmados Se busca en estaprueba la posibilidad de que se haya incurrido en errores de conceptualizacioacuten yo deespecificacioacuten Las pruebas se organizan tomando como guiacutea las diferentes opciones delsistema final
Las Pruebas de integracioacuten se realizan cuando se procede a interconectar los diferentessubsistemas que constituyen el futuro sistema Como es conocido un sistema puede serdesarrollado por diferentes personas Por esta razoacuten es de suma importancia probar lainterconexioacuten de los diferentes subsistemas y asiacute verificar que ha sido realizada demanera correcta
Las Pruebas de implementacioacuten o codificacioacuten son las que se realizan directamentesobre los programas que se estaacuten desarrollando durante la fase de implementacioacuten Estosmoacutedulos o programas a su vez constituyen subsistemas Por esta razoacuten la integracioacuten delos diferentes moacutedulos que forman un subsistema deben ser probados Estas pruebasdeben estar basadas en la especificacioacuten de disentildeo preliminar y detallado [Gerez 1985]
Los siguientes rubros describen las pruebas maacutes importantes que se consideraron paravalidar el sistema las pruebas funcionales Las pruebas de implementacioacuten se realizarondurante el desarrollo de la codificacioacuten de los diferentes moacutedulos
Capiacutetulo 6 Pruebas y Resultados
62 PRUEBAS DEL SISTEMA
621 PRUEBA 1 AacuteREAS DE MENUacuteS
Objetivo Guiar al usuario en el desarrollo del proceso Esta prueba verifica que elsistema tenga como opciones principales y submenuacutes los sentildealados en la definicioacuten derequerimientos
Criterios de aceptacioacuten Cada prueba verifica que el sistema produzca los resultadossentildealados en la definicioacuten de requerimientos
Procedimiento de la prueba A continuacioacuten se despliegan las pantallascorrespondientes a los menuacutes principales y submenuacutes Las opciones principales delproyecto son dos Menu Principal y Datos de los autores
Resultado de la prueba Los resultados fueron satisfactorios En todas las opcionesactivadas el sistema presentoacute los submenuacutes definidos en la etapa de requerimientos
La Figura 61 muestra la portada inicial del proyecto Contiene los logotipos de las tresinstituciones participantes y el nombre del proyecto
Fig 61 Portada inicial del proyecto
Es el botoacutende entrada alsistema
Botoacuten deinformacioacutende los autores
Capiacutetulo 6 Pruebas y Resultados
La Figura 62 muestra el menuacute principal del proyecto y contiene 4 moacutedulos La primeraopcioacuten incluye los moacutedulos administrativo y generacioacuten de grupos la segunda opcioacutenincluye seleccioacuten de maestro y seleccioacuten de materia
Fig 62 Menuacute principal del proyecto
En la Figura 63 se tiene la pantalla del menuacute que agrupa los programas del moacuteduloadministrativo y Sistema Experto para determinar el nuacutemero de grupos por abrir seguacutenlos caacutelculos realizados con los datos de Servicios Escolares y el ajuste a ese dato
Fig 63 Menuacute grupos por abrir
Moacutedulos delproyecto
Cuadro queproporcionalainformacioacutende la opcioacutensentildealada porel cursor
Programas delos moacutedulos
Descripcioacutende laactividad delprogramaseleccionado
Capiacutetulo 6 Pruebas y Resultados
La Figura 64 muestra el menuacute de los moacutedulos que sugiere maestros para impartir unaasignatura y sugerencia de asignatura para alguacuten maestro
Fig 64 Pantalla menuacute seleccioacuten de catedraacuteticos
La Figura 65 muestra el moacutedulo para asignar aula a los horarios que ya tienen materiagrupo y hora
Fig 65 Pantalla principal del menuacute Algoritmos Geneacuteticos
Capiacutetulo 6 Pruebas y Resultados
622 PRUEBA 2 VALIDACIOacuteN DE ENTRADAS
Objetivo Evitar peacuterdidas de tiempo con entradas erroacuteneas de datos y resultados sinvalidez
Criterios de aceptacioacuten Esta prueba deberaacute mostrar de manera exacta la informacioacutenal seleccionar la opcioacuten deseada
Procedimiento de la prueba Se verifica que todas las cajas de texto tengan el dato quese pide y una vez dados todos los datos se guardan para que estos datos posteriormentesean procesados por el sistema y almacenen los datos correctos
Resultado de la prueba Los resultados fueron satisfactorios En todas las opcionesactivadas el sistema presentoacute los resultados correctos a cada opcioacuten Ademaacutes losdesplegados de mensajes de error se presentaron de manera correcta en todas laspruebas
La Figura 66 muestra la captura de datos de una asignatura y enviacutea el correspondientemensaje de error si una caja de texto se encuentra vaciacutea
Fig 66 Pantalla de captura de datos de las Materias
Muestra elmensaje deerror si esque hacefalta alguacuten
Capiacutetulo 6 Pruebas y Resultados
La Figura 67 muestra una pantalla de captura de datos asignando criterios a una materiay valida la no duplicidad de criterios en esa materia se enviacutea el correspondiente mensajede error si una entrada ya fue capturada
Fig 67 Pantalla de captura de datos de Criterios por Materia
La Figura 68 muestra una pantalla de captura de datos de las carreras al encontrar unregistro ya capturado muestra el mensaje de error si una carrera ya fue capturada
Fig 68 Pantalla de captura de datos de Carreras
Muestra elmensajede error sies que yaexiste elregistro
Muestra elmensaje deerror si esque yaexiste elregistro
Capiacutetulo 6 Pruebas y Resultados
623 PRUEBA 3 DESPLEGADO DE RESULTADOS
6231 MOacuteDULO DE GENERACIOacuteN DE GRUPOS POR ABRIR
Objetivo Proporcionar los datos que el moacutedulo pide para que posteriormente elsistema genere el nuacutemero de grupos sugerido por abrir para cada materia
Criterios de aceptacioacuten Esta prueba muestra la lista de grupos que se deben abrirdespueacutes de aplicar los criterios del Sistema Experto
Procedimiento de la prueba Una vez que se proporcionan los datos que el SistemaExperto requiere el sistema generaraacute una lista de los grupos que se deben abrir elproacuteximo semestre
Resultado de la prueba Los resultados fueron satisfactorios En todos los casospresentados el sistema generoacute la lista en forma satisfactoria y con la informacioacutencorrecta
La Figura 69 es la pantalla maacutes importante de moacutedulo de generacioacuten de grupos porquees donde se realiza la inferencia para calcular el tipo de ajuste que se va a aplicar a cadamateria con base en las reglas que se disparan y que hacen match los criterios de unaregla y los criterios de una materia
Asignaturaa la que sele aplicaraacuteel ajuste
Regla quese disparaseguacutencriterios
Tipo deajuste quese aplica
Inferenciageneral
Datoseguacuten
Fig 69 Pantalla caacutelculo de ajustes
Datos seguacutenajuste delSistemaExperto
Inferenciaindividual
Capiacutetulo 6 Pruebas y Resultados
6232 MOacuteDULO DE GENERACIOacuteN DE HORARIOS
Objetivo Proporcionar los datos que el moacutedulo pide para que posteriormente elsistema genere el horario por semestre de las materias de una carrera
Criterios de aceptacioacuten Esta prueba debe mostrar los horarios para las materias sinerrores sin choques de hora en un paquete
Procedimiento de la prueba Recibe como entrada cuantos grupos abrir de cadamateria en cada semestre y genera primero los paquetes posteriormente a cada paquetede materias le asigna la hora por materia
Resultado de la prueba Los resultados fueron satisfactorios En todos los casospresentados el sistema generoacute los horarios correspondientes
La Figura 610 muestra el formulario que forma los paquetes de materias seguacuten laretiacutecula de una carrera muestra el nuacutemero de grupos por cada materia que se van aformar y hace los paquetes asignando los grupos AA AB AC AD
Fig 610 Pantalla inicial del moacutedulo generacioacuten de horarios
Semestre al que sele formaraacuten lospaquetes
Paquetes generadosHora de iniciode clases decada grupo
Materias delsemestre
Nuacutemero de grupospor al que se lesgeneraraacute horario
Botonesque invocanal moacutedulogeneradorde horarios
Capiacutetulo 6 Pruebas y Resultados
La Figura 611 es el formulario del moacutedulo Programacioacuten Loacutegica de Restricciones quegenera los horarios por paquete satisfaciendo las restricciones para formar un horariolibre de choques continuo (sin horas muertas) cumpliendo las horas por materia etc
Fig 611 Pantalla princip
6233 MOacuteDULO ASIGNACIOacuteN D
Objetivo Utilizar los datos generadoaulas a los paquetes de materias
Criterios de aceptacioacuten Esta pruebaasignacioacuten de aula sin choques
Procedimiento de la prueba Se genAlgoritmos Geneacuteticos durante variachoques en el aula
Resultado de la prueba Los resupresentados el sistema generoacute las aula
MateriaPaquete
Nuacutemero dehoras por diacutea
Hora de iniciode la materia
al del moacutedulo generacioacuten de horarios
E AULA
s en el moacutedulo anterior para hacer la asignacioacuten de
debe mostrar los horarios de las materias con una
eran las aulas utilizando los procedimientos de loss generaciones hasta lograr una generacioacuten sin
ltados fueron satisfactorios En todos los casoss correspondientes
Capiacutetulo 6 Pruebas y Resultados
La Figura 612 muestra la pantalla para actualizar las aulas disponibles por las personasque generan los horarios estas aulas estaacuten disponibles para que el Algoritmo Geneacuteticolas utilice para asignarles grupos durante el proceso
Fig 612 Pantalla del control de aulas
La Figura 613 muestra la consulta de las aulas que utiliza el moacutedulo generacioacuten deaulas
Fig 613 Pantalla de consultas del control de aulas
Capiacutetulo 6 Pruebas y Resultados
La Figura 614 muestra la pantalla que genera la poblacioacuten inicial a partir de los datosgenerales proveniente de los moacutedulos anteriores
Fig 614 Pantalla de genera poblacioacuten inicial
La Figura 615 muestra la pantalla que evaluacutea las versiones originadas y genera paracada una de ellas un cromosoma cuyos genes contienen la informacioacuten obtenida
Fig 615 Pantalla de evaluacioacuten de versiones
Nuacutemero dehipoacutetesisversiones oindividuos
Aula aleatoriagenerada
Este botoacuteninicia lageneracioacutende las nversionesde horarios
Capiacutetulo 6 Pruebas y Resultados
La Figura 616 muestra el formulario del proceso de seleccioacuten de las mejores versionesde horarios toma aquellas que tienen menor numero de choques y mayor espacio deocupacioacuten de aulas
Fig 616 Pantalla del proceso de seleccioacuten
La Figura 617 muestra la pantalla del proceso de clonacioacuten donde se selecciona la mejorversioacuten y se obtiene un clon ideacutentico con un nuevo nuacutemero de versioacuten
Fig 617 Pantalla del proceso de clonacioacuten
Cantidad deversiones quesobreviviraacuten
Cromosomas delos mejoresindividuos
Botoacuten queinicia elproceso deseleccioacuten
Botoacuten queinicia elproceso deeliminacioacuten
Cromosomasde versionesmaacutes aptas
Nuacutemero demejor versioacuten
Poblacioacutenversiones
Capiacutetulo 6 Pruebas y Resultados
La Figura 618 muestra la pantalla del proceso de mutacioacuten utilizado para hacer elcambio ldquomutarrdquo los datos de una versioacuten para romper alguacuten ciclado de la tendencia haciael resultado o simplemente para acelerar el proceso de optimizacioacuten
Fig 618 Pantalla de mutacioacuten
La Figura 619 muestra la pantalla donde se realiza el cruzamiento utilizando plantillaspredeterminadas dirigiendo la cruza de versiones por paquetes de materias agrupadas porsemestre y cada plantilla genera una nueva versioacuten con la combinacioacuten de fragmentosde varias versiones
Fig 619 Pantalla del proceso de cruzamiento
Cromosomamuestra lasmejoresversiones
Nuacutemero deversioacuten amutar
Aulas quepueden mutarse
Botoacuten queinicia elproceso demutacioacuten
Capiacutetulo 6 Pruebas y Resultados
La Figura 620 permite la seleccioacuten y enviacuteo de la mejor versioacuten de horarios y adaptarloal moacutedulo administrativo para su distribucioacuten y publicacioacuten
Fig 620 Horarios finales
6234 MOacuteDULO SELECCIOacuteN DE CATEDRATICOS
Objetivo Capturar los datos de los profesores y su perfil profesiograacutefico ademaacutescapturar los conocimientos necesarios para impartir una asignatura para poder sugerircual es el mejor catedraacutetico que puede impartir una asignatura
Criterios de aceptacioacuten Esta prueba debe mostrar la sugerencia de los mejorescatedraacuteticos para una materia y las mejores materias para un catedraacutetico
Procedimiento de la prueba Se daraacuten los datos iniciales de los maestros y el sistemadeberaacute generar una lista a partir de la inferencia del Sistema Experto respectivo yviceversa
Resultado de la prueba Los resultados fueron satisfactorios En todos los casospresentados el sistema infirioacute las materias y los catedraacuteticos correspondientes
Capiacutetulo 6 Pruebas y Resultados
La Figura 621 muestra la pantalla en que se captura el perfil de los catedraacuteticos elperfil son los conocimientos que tiene el profesor que lo capacitan para impartir algunaasignatura
Fig 621 Pantalla captura perfil de catedraacuteticos
La Figura 622 muestra la pantalla de inferencia final que sugiere quienes son loscatedraacuteticos maacutes capacitados para impartir una materia haciendo la inferencia mediantela buacutesqueda de matchs entre el perfil de la asignatura y el perfil del catedraacutetico
Fig 622 Pantalla muestra inferencia catedraacuteticos para materia
Conocimientosdel profesor
Barra deseleccioacuten deperfiles
Grado dedominio deltema
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Candidatos aimpartir lamateria Botoacuten del proceso de
inferencia generalPorcentaje de certeza conque puede impartirla
Capiacutetulo 6 Pruebas y Resultados
La Figura 623 muestra la pantalla de explicacioacuten donde se indican los perfiles de lamateria y el perfil del profesor
Fig 623 Pantalla explicacioacuten porque un maestro puede dar una materia
La Figura 624 muestra el resultado de la inferencia del proceso que sugiere las materiasque puede impartir un profesor con base en el perfil de la materia y el perfil del profesor
Fig 624 Pantalla materias que puede impartir un profesor
Posibles materia aimpartir Porcentaje de certeza con
que puede impartirlaBotoacuten del proceso deinferencia general
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Capiacutetulo 6 Pruebas y Resultados
La Figura 625 muestra la pantalla de explicacioacuten donde se indican el perfil de la materiay el perfil del profesor
Fig 625 Pantalla de explicacioacuten porque un profesor puede dar una materia
Capiacutetulo 6 Pruebas y Resultados
Capiacutetulo 7 Conclusiones y Trabajos Futuros
CAPIacuteTULO 7
CONCLUSIONES Y TRABAJOS FUTUROS
71 CONCLUSIONES
Los meacutetodos de programacioacuten lineal proporcionan una solucioacuten parcial al problema dela generacioacuten de horarios utilizan una ldquorecetardquo predefinida para lograr la optimizacioacutende la asignacioacuten de recursos como lo hace el meacutetodo Huacutengaro La Inteligencia Artificialsoluciona el problema utilizando la heuriacutestica el conocimiento y la experiencia de unexperto humano para solucionar el problema se decidioacute utilizar esta metodologiacutea paraexplorar una solucioacuten aproximada al problema
En el ITZ la generacioacuten de horarios se haciacutea de forma manual no se utilizaba ninguacutenmeacutetodo automatizado Al aplicar algunas teacutecnicas de la Inteligencia Artificial se halogrado generar de manera automatizada los horarios de las materias que se ofertaraacuten elproacuteximo semestre
La aplicacioacuten de varias ramas de la Inteligencia Artificial para la resolucioacuten delproblema de la generacioacuten de horarios viene a demostrar que si es posible generar uncondensado de horarios para el Instituto Tecnoloacutegico de Zacatepec que es una escuelade nivel superior y que estos horarios satisfacen adecuadamente las restricciones fuertesmedias y suaves Para ello fue necesaria la combinacioacuten de varias disciplinas de lacomputacioacuten para generar cada una de las partes que componen un horario y tambieacutenrecomendar los catedraacuteticos mas apropiados para impartir dichos grupos nuevamentequeda demostrado que la Inteligencia Artificial sirve para resolver problemas que lasteacutecnicas convencionales de computacioacuten consideran problema NP-completo
La utilizacioacuten de las teacutecnicas de los Sistemas Expertos para ajustar el nuacutemero de grupospor abrir el proacuteximo semestre permite aplicar el conocimiento y experiencia de lapersona encargada de elaborar los horarios y asiacute disminuir el nuacutemero de gruposcancelados el conocimiento e intuicioacuten del experto humano realizan un ajuste fino alnuacutemero de grupos y como puede notarse el sistema lo hace de manera similar
Para el moacutedulo de generacioacuten de los grupos y los horarios la utilizacioacuten de la teacutecnicallamada Programacioacuten Loacutegica de Restricciones permitioacute la satisfaccioacuten de lasrestricciones que hacen que los horarios sean considerados factibles para su aplicacioacuten a
Capiacutetulo 7 Conclusiones y Trabajos Futuros
los alumnos el proacuteximo semestre ya que los paquetes de materias por semestre tienenhorarios corridos y sin choques en horas nuacutemero de materias completo y buenadistribucioacuten de horas pares e impares
Se utilizoacute tambieacuten la teacutecnica de optimizacioacuten llamada Algoritmos Geneacuteticos pararealizar la asignacioacuten de aulas a cada grupo generado logrando con ello minimizarautomaacuteticamente el nuacutemero de choques de materias en aulas En las pruebas realizadasse logroacute que en la sexta generacioacuten de individuos ya soacutelo hubiera hasta un maacuteximo de 24choques lo que indicaba que soacutelo 4 oacute 5 grupos compartiacutean aula a la misma hora esto erafaacutecilmente corregible realizando una inspeccioacuten visual a la versioacuten de horarios final yajustando los uacuteltimos errores
Por uacuteltimo nuevamente se aplicaron los Sistemas Expertos en el moacutedulo de sugerenciade materias que puede impartir un maestro y en el moacutedulo maestros que pueden impartiruna determinada materia vale la pena comentar que durante las pruebas realizadas loscatedraacuteticos del departamento de Sistemas y Computacioacuten capturaban su perfilprofesiograacutefico y al pedir al sistema la sugerencia de cuaacuteles materias podriacutean impartirlos Sistemas Expertos del proyecto inferiacutean exactamente las materias que loscatedraacuteticos estaacuten impartiendo en este semestre y las que habiacutean impartido en alguacutensemestre anterior demostrando que en efecto para profesores nuevos la recomendacioacutendel sistema seriacutea vaacutelida
72 TRABAJOS FUTUROS
Se sugiere que se ampliacutee el proyecto para que a cada grupo generado con aula y hora sele asigne de manera automaacutetica un catedraacutetico utilizando ya sea Algoritmos Geneacuteticos oProgramacioacuten Loacutegica de Restricciones
Otra posible mejora puede ser incluir la Loacutegica Difusa en los Sistemas Expertos de losmoacutedulos que sugieren las materias que puede impartir un catedraacutetico y los catedraacuteticosque pueden impartir una asignatura
Como ya se comproboacute la factibilidad de generar los horarios de manera automaacutetica sepropone tambieacuten la exploracioacuten de otras ramas y teacutecnicas de la computacioacuten (RedesNeuronales Buacutesqueda Tabuacute Grafos Coloreados etc) para comparar el rendimientotiempo esfuerzo y asiacute poder determinar cuales son mejores o peores teacutecnicas pararesolver el problema de la generacioacuten de horarios
Referencias Bibliograacuteficas
REFERENCIAS BIBLIOGRAacuteFICAS
[Abramson 1991] Abramson D ldquoConstructing School Timetables Using SimulatedAnnealing Secuencial and Parallel Algoritmsrdquo Management Science PWS PublishingBoston 1998
[Beasley 1993] Beasley D amp Bull DR amp Martin RR ldquoAn Overview of GeneticAlgorithms Part 1 Fundamentalsrdquo University Computing
[Bull 1993] Bull DR amp Beasley D amp Martin RR ldquoAn Overview of GeneticAlgorithms Part 2rdquo University Computing Magazine 1993
[Burke1994]Burke EK ldquoA Genetic Algorithm for University Timetablingrdquo AISBworkshop on evolutionary computing Leeds 1994
[Burke 1997] Burke Edmund K ldquoAutomated Scheduling Optimization and PlanningGroup (ASAP)rdquo PATATrsquo97 Proceedings of the 2nd Intenational Conference on thePractice And Theory of Automated Timetabling 1997
[Burke2000] Burke Edmund amp Eliman David amp Weare Rupert ldquoA GeneticAlgorithm Based University Timetabling Systemrdquo PATATrsquo2000 Proceedings of the 5ft
Intenational Conference on the Practice And Theory of Automated Timetabling 2000
[Burke2001] Burke EK amp Eliman DGamp Weare R ldquoAutomated Scheduling OfUniversity Examsrdquo Leeds 2001
[Burke2002] Burke Edmund amp Eliman David amp Weare Rupert ldquoExaminationTimetabling in British Universities ndash A Surveyrdquo Leeds 2002
[Carrasco 2004] Carrasco Marco amp Pato Margarida ldquoSolving Real ClassTeacherTimetabling Problems using Neural Networksrdquo Facultade de Ciencias University ofLisboa Portugal
[Chorafas 1990] Chorafas Dimitris N ldquoKnowledge Engineeringrdquo Van NostrandReinnhold New York USA
Referencias Bibliograacuteficas
[Corne 1993] Corne D ldquoSolving the module exam scheduling problem with geneticalgorithmsrdquo Proceedings of the 6th Intenational conference in Industrial andEngineering applications of Artificial Intelligence and Expert Systems1993
[Daellenbach 1987] Daellenbach Hans amp McNickle Donald ldquoIntroduccioacuten a teacutecnicasde Investigacioacuten de Operacionesrdquo CECSA Meacutexico 1987
[Davis 1991] Davis L ldquoHandbook of Genetic Algorithmsrdquo Van Nostrand ReinholdNew York NY
[Demist2000] Demist ldquoDepartamental Timetabling Proyect ProposalDeMIStinterface to Timetabling Package Proyectrdquo Demist University 2000
[Detcher 1990] Detcher R ldquoEnhancement Schemes for Constraint Processing BackJumping Learning and Cutset Decompositionrdquo Artificial Intelligence 41 (1990)
[Eliman 2000] Eliman David ldquoSpecialised Recombinative Operators for TimetablingProblemsrdquo Cambridge University Press New York 2000
[Elmohamed2000] Elmohamed Saleh ldquoThe timetabling problemrdquo PATATrsquo2000Proceedings of the 5th Intenational Conference on the Practice And Theory ofAutomated Timetabling 2000
[Elmohamed2001] Elmohamed Saleh ldquoConstraint based university coursetimetablingrdquo 4th World Congress on Timetabing Aplication of advanced informationTechnologies London 2001
[Fahrion y Dollanski 1992] Fahrion R amp G Dollanski ldquoConstruction of UniversityFaculty Timetables using Logic Programmingrdquo ACM Sigsoft Notes vol 9 no 3 May1992
[Frenzel 1986]Frenzel Louis E ldquoCrash Course in Artificial Intelligence and ExpertSystemsrdquo Howard W Sams amp Co McMillan Inc Indianapolis USA
[Gerez 1985] Gerez Victor amp Mier Mauricio ldquoDesarrollo y administracioacuten deprogramas de computadorardquo McGraw Hill Meacutexico 1985
[Gervaacutes 1999] Gervaacutes P amp San Miguel B ldquoSequential Building of ConstrainedTimetables Using Rule-Based Heuristics An Expert System for AutomatedTimetablingrdquo Congreso Internacional de Investigacioacuten en Ciencias Computacionales
Referencias Bibliograacuteficas
[Giarratamo 1998] Giarratamo Joseph y Gary Riley ldquoExpert Systems Principles andProgrammingrdquo PWS Kent Publishing Company Boston USA
[Gines 1986] Gines B amp Boose J ldquoKnowledge Acquisition for Knowledge-BasedSystemsrdquo Vol 1amp2 Academic Press London U K
[Goldberg 1989] Goldberg DE ldquoGenetic Algorithms in SearchOptimization andMachine LearningrdquoAddison-Wesley
[Kang y White 1994 ] Kang L amp White GM ldquoA Logic Approach to the Resolutionof Constrains in Timetablingrdquo European Journal of Operational Research vol 61 1994
[Kandel 1991] Kandel Abraham ldquoFuzzy Expert Systemsrdquo CRC Press Inc LondonUK 1991
[Kendall1999] Kendall y Kendall ldquoAnaacutelisis y disentildeo de sistemasrdquo 3ordf edicion PearsonEducacioacuten
[Koza 1992] Koza JR ldquoGenetic Programming On the Programming of Computers bymeans of Natural Selectionrdquo Cambridge MA MIT Press
[Martiacutenez 1999] Martiacutenez Alfaro Horacio ldquoSolucioacuten al problema de asignacioacuten desalones de clases horario y grupo mediante templado simuladordquo Memorias 6ordm CongresoInternacional de Mecatroacutenica e Inteligencia Artificial Meacutexico 1999
[Medina 2004] Medina Pasaflores Horacio ldquoFundamentos de Algoritmos GeneacuteticosrdquoTesis de licenciatura Zacatepec Mexico 2004
[Michalewicz 1992] Michalewicz Z ldquoGenetic algorithms + Data Structures =Evolution Programsrdquo Springer-Verlag New York NY
[Negoita1985] Negoita ConstantinV Expert Systems and Fuzzy Systems TheBenjamin Cummings Publishing Co Menlo Park CA USA
[Nielsoft 2000] Nielsoft informatica ldquoManual de usuario Mimosa for windowsrdquo
[Paechter 1994] Paechter B ldquoTwo solutions to the general timetabling problemusing evolutionary methodsrdquo IEEE WCCI 1994
[Pluss1999] Pluss JJ ldquoSistemas expertos un enfoque pragmaacuteticordquo UNR
Referencias Bibliograacuteficas
[Rich 1996] Rich E y Knight K ldquoInteligencia Artificialrdquo McGraw HillInteramericana Madrid Espantildea
[Russell 1996] Russell S y Norvig P ldquoInteligencia Artificial un enfoque modernordquoPrentice Hall Mexico 1996
[Sanchez1999] Sanchez y Beltran ldquoSistemas expertos una metodologiacutea deprogramacioacutenrdquo Macrobit
[Schedul2000] SchedulExpert ldquoCourse scheduling in post educational institutionsrdquo EdAddison Wesley 2000
[Trick 1999 ] Trick Michael ldquoNetwork resources for coloring a graphrdquo Oracle PressEd McGraw Hill 1999
[Turban 1995] Turban Efraim ldquoDecision Support and Expert Systems ManagementSupport Systemsrdquo Fourth Edition Orentice Hall NJ USA
[Waterman1986] Waterman Donald A ldquoA Guide to Expert Systemsrdquo Addison-Wesley Publishing Co USA
[Weare2000] Weare Rupert amp Burke Edmundo amp Eliman David ldquoA Questionnaireon Exam Timetabling in Universitiesrdquo Annual review of computer Science Volume 2Palo Alto 2000
[Wilke 2002] Wilke P amp Grobner M amp Oster N ldquoA hibrid Genetic Algorithm forSchool Timetablingrdquo Advances in Artificial Intelligence Springer Lecture Notes inComputer Science New York
[Yoshikawa 1994] Yoshikawa M amp Kaneko KldquoA Constraint-based Approach toHigh School Timetabling Problems A Case Studyrdquo AAAI-94 12ordm NationalConference on Artificial Intelligence
Referencias Bibliograacuteficas
Referencias electroacutenicas
httpwwwmonografiacuteascomtrabajos12inteartfinteartfshtmlObregoacuten Arturo Inteligencia artificial y Sistemas expertos IIMAS-UNAM (1992)
httpwwwlafacucomapuntesinformaticasist_conodefaulthtmCruz Ochoa Wilson Sistemas de conocimiento
httpwwwingenieroseninformaticaorgrecursostutorialessist_exphtmlZambrano Molina Darwin Sistemas expertos
httpredcientificacomdocdoc199008210001htmlSamper Marquez Juan Joseacute Introduccioacuten a los sistemas expertos Madrid 2000
httpmismonografiascomarSistemas20expertofuzzyhtmlArede Dario Sistema experto fuzzy
httpcruzrojaguayaorginteligenciainterhtmlAyuquina Martha amp Arellano Gregorio Inteligencia artificial Universidad de Guayaquil
httpdmiuibesabasolointart1-introduccionhtmlAbasolo Mariacutea Joseacute Dra Inteligencia Artificial
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
517 Pantalla consulta ajustes 96518 Pantalla criterios por regla 97519 Pantalla consulta criterios por regla 97520 Pantalla caacutelculo de ajustes 98521 Pantalla explicacioacuten de la inferencia 98522 Pantalla inicial del moacutedulo generacioacuten de horarios 99523 Pantalla principal del moacutedulo generacioacuten de horarios 99524 Pantalla principal del menuacute Algoritmos Geneacuteticos 100525 Pantalla de administracioacuten de grupos 100526 Pantalla de consulta de administracioacuten de grupos 101527 Pantalla del control de aulas 101528 Pantalla de consultas del control de aulas 102529 Pantalla para generacioacuten de poblacioacuten inicial 102530 Pantalla de evaluacioacuten de versiones 103531 Pantalla del proceso de seleccioacuten 103532 Pantalla del proceso de clonacioacuten 104
533 Pantalla de mutacioacuten 104534 Pantalla del proceso de cruzamiento 105535 Horarios finales 105536 Pantalla menuacute seleccioacuten de catedraacuteticos 106537 Pantalla de perfiles 106538 Pantalla de consulta perfiles 107539 Pantalla perfiles de las materias 107540 Pantalla consulta perfiles de las materias 108541 Pantalla captura datos de catedraacuteticos 108542 Pantalla consulta datos de catedraacuteticos 109543 Pantalla captura perfil de catedraacuteticos 109544 Pantalla consulta perfil de catedraacuteticos 110545 Pantalla muestra inferencia catedraacuteticos para materia 110546 Pantalla explicacioacuten del porqueacute un maestro puede dar una materia 111547 Pantalla materias que puede impartir un profesor 111548 Pantalla de explicacioacuten del porqueacute un profesor puede dar una
materia112
61 Portada inicial del proyecto 11562 Menuacute principal del proyecto 11663 Menuacute grupos por abrir 11664 Pantalla menuacute seleccioacuten de catedraacuteticos 11765 Pantalla principal del menuacute Algoritmos Geneacuteticos 11766 Pantalla de captura de datos de las Materias 11867 Pantalla de captura de datos de Criterios por Materia 11968 Pantalla de captura de datos de Carreras 11969 Pantalla caacutelculo de ajustes 120
Generacioacuten de Horarios mediante Sistemas Basados en Conocimiento
610 Pantalla inicial del moacutedulo generacioacuten de horarios 121611 Pantalla principal del moacutedulo generacioacuten de horarios 122612 Pantalla del control de aulas 123613 Pantalla de consultas del control de aulas 123614 Pantalla de genera poblacioacuten inicial 124615 Pantalla de evaluacioacuten de versiones 124616 Pantalla del proceso de seleccioacuten 125617 Pantalla del proceso de clonacioacuten 125618 Pantalla de mutacioacuten 126619 Pantalla del proceso de cruzamiento 126620 Horarios finales 127621 Pantalla captura perfil de catedraacuteticos 128622 Pantalla muestra inferencia catedraacuteticos para materia 128623 Pantalla explicacioacuten porque un maestro puede dar una materia 129624 Pantalla materias que puede impartir un profesor 129625 Pantalla de explicacioacuten porque un profesor puede dar una materia 130
Capiacutetulo 1 Introduccioacuten
CAPIacuteTULO 1
INTRODUCCIOacuteN
11 Antecedentes
iquestQueacute es un horario
ldquoEl horario completo bien puede gobernar las vidas demiles de alumnos y cientos de profesores para los 200 diacuteasdel antildeo escolar semestre a semestre hora tras hora Comouna poderosa herramienta puede faacutecilmente crear o deshacersituaciones de ensentildeanza aprendizajerdquo [Johnson 1980]
En la educacioacuten superior la historia siempre es la misma la proporcioacuten de tiempodictada por el horario para los alumnos y profesores es generalmente muy baja Apesar de esto las dificultades en la creacioacuten de los horarios son grandes Existenvarios departamentos y carreras cada uno con sus propias ideas de coacutemo y cuaacutendo sedeben programar sus cursos El nuacutemero de estudiantes puede variar considerablementede antildeo en antildeo Similarmente las preferencias de los alumnos a favor o en contra delas materias pueden variar dramaacuteticamente de un semestre a otro Los estudiantespueden tomar cursos de un departamento o de varios de ellos aun maacutes puedenseleccionar materias de otras carreras La reciente desaparicioacuten de las restricciones decreacuteditos para cursar las asignaturas complica maacutes la situacioacuten porque ampliacutea el rangode materias que puede tomar un alumno Los horarios aparecen en varias formasmatutinos vespertinos mixtos y todo el diacutea Los horarios escolares indican cuando unmaestro y un alumno deben ir a cada clase Todas las escuelas tienen un horario decursos que dirige lo que cada estudiante y catedraacutetico debe hacer en determinadomomento Esta tesis versa especiacuteficamente sobre el problema de construir horariospara Institutos Tecnoloacutegicos en Meacutexico
La planeacioacuten de los horarios es un trabajo que se realiza semestralmente antes de iniciarel siguiente periodo escolar tomando en cuenta la demanda de grupos que se ofreceraacuteny asignando a estos grupos los alumnos el aula el catedraacutetico y el horariocorrespondiente mediante informacioacuten que se obtiene de varias maneras
El principal objetivo de este proyecto es dar una solucioacuten aproximada (aceptable) alproblema de la generacioacuten de horarios de una escuela de nivel superior que se resumeasiacute
Capiacutetulo 1 Introduccioacuten
ldquoDado un conjunto de departamentos y carreras asignaturas con prerrequisitos gruposcatedraacuteticos con especialidad y horario definidos aulas laboratorios y alumnos con suspreferencias de materias el problema es construir un condensado de horarios factibleque satisfaga todas las restricciones fuertes y minimice las restricciones medias ysuavesrdquo
Las restricciones fuertes son restricciones de espacio y tiempo tal como planear doscursos en un aula al mismo tiempo Las restricciones medias y suaves son laspreferencias de maestros y estudiantes que deberaacuten ser satisfechas si es posible[Elmohamed 1998]
El problema de la generacioacuten de horarios ha sido tratado por muchos investigadoresutilizando meacutetodos que van desde la investigacioacuten de operaciones hasta disciplinas de laInteligencia Artificial como son Algoritmos Geneacuteticos Recocido Simulado RedesNeuronales etc
12 Planteamiento del problema
La generacioacuten de horarios es una forma particular del problema de asignacioacuten derecursos En el caso maacutes general existe una serie de objetos (recursos) y una serie deprocesos que necesitan ser realizados por cada uno de esos objetos En un contextoeducacional cada estudiante debe asistir a un nuacutemero predeterminado de clases y elprofesor debe impartirlas durante la semana en un aula predeterminada el estudiante elprofesor y el aula pasan aquiacute a ser el objeto y las clases el proceso
La complejidad del problema de la generacioacuten de horarios
La generacioacuten de horarios es un problema de optimizacioacuten combinatorio multi-dimensional no Euclidiano con muacuteltiples restricciones y por lo tanto difiacutecil de resolver[Elmohamed 1998]
El problema de la generacioacuten de horarios esta agrupado dentro de los considerados decomplejidad NP-completos es decir que no pueden ser resueltos en tiempo polinomialusando un algoritmo determiniacutestico No se conoce un algoritmo determiniacutestico detiempo polinomial para resolver alguno de esos problemas y la mayoriacutea de la gente creeque dichos algoritmos no existen[Karp 1972]
La generacioacuten de horarios es la asignacioacuten de lapsos de tiempo a un conjunto de eventossujeto a las restricciones en esas asignaciones Seguacuten Elmohamed [Elmohamed 1998]el problema NP-completo de la elaboracioacuten de horarios es un problema para la
Capiacutetulo 1 Introduccioacuten
satisfaccioacuten de restricciones que puede ser definido de la siguiente maneraPara una escuela dada con
Np profesores con sus horarios y turnos Nq materias con su temario y objetivosNx aulas y laboratorios con su capacidad Ns estudiantes
es requerido programar Nt parejas de
alumno-materiahora-materiamaestro-materiaaula-materia
una vez definidas las parejas anteriores se deben programar elementos de la formamateria-maestro-hora -aula
En un liacutemite de Nt lapsos de tiempo para producir una programacioacuten factible En unaprogramacioacuten factible no se puede encontrar a un profesor grupo o estudiante en maacutesde un lugar al mismo tiempo y un aula no puede ser asignada con maacutes de una clase a lavez o maacutes estudiantes de su capacidad o un profesor programado fuera de su horarionormal o con maacutes horas frente a grupo de las reglamentarias ademaacutes de un conjuntoadicional de restricciones
Importancia del problema
La administracioacuten de los recursos comprende la apertura de los grupos para inscribir alos alumnos el proacuteximo semestre la asignacioacuten de carga acadeacutemica a los catedraacuteticos lautilizacioacuten de aulas y laboratorios de quiacutemica produccioacuten coacutemputo electromecaacutenicaaulas de dibujo y demaacutes instalaciones del Instituto Tecnoloacutegico de Zacatepec (ITZ)Cuando por errores imputables al creador de los horarios se hizo una mala planeacioacuten sederivan los siguientes problemasbull Alumnos que se inscriben con una carga de creacuteditos menor a la miacutenima por falta de
grupos suficientesbull Alumnos que deben estar en el ITZ desde las 700 hrs hasta las 2000 hrs varios
diacuteas a la semana por abrir grupos en horarios muy separadosbull Alumnos que pierden la secuencia de materias seriadas por falta de cupobull Alumnos que deben permanecer 1 oacute 2 semestres maacutes en el ITZ por no prever
suficientes grupos para semestres terminalesbull Catedraacuteticos que no imparten el miacutenimo reglamentario de horas frente a grupo por
no crearles grupos suficientesbull Catedraacuteticos a los que se les avisa 1 diacutea antes del inicio de clases que impartiraacuten una
Capiacutetulo 1 Introduccioacuten
asignatura nuevabull Asignaturas que son impartidas por profesores que no cumplen el perfil deseado en
esa asignaturabull Choque de grupos en las aulasbull Choque de grupos en laboratoriosbull Falta de laboratorio a algunos gruposbull Deficiente utilizacioacuten de las aulas
La creacioacuten de un sistema que evite de manera automaacutetica caer en errores como losmencionados NO ES TAREA TRIVIAL intentar resolver este problema involucra laelaboracioacuten de un ldquosistema inteligenterdquo capaz de tomar decisiones aprender inferirbasaacutendose en hechos generar nueva informacioacuten y a partir de ella nuevamente volver adecidir El sistema que se elabore debe tener la capacidad para deducir e inducir de unamanera combinada
Desventajas del sistema actual
La mayoriacutea de los problemas anteriores son ocasionados por alguno o varios de lossiguientes motivosbull Todo el proceso de caacutelculo y administracioacuten de los recursos es manualbull El proceso de elaboracioacuten coincide con el cierre de semestre actual y como las
personas responsables tambieacuten son catedraacuteticos deben combinar la generacioacuten dehorarios con las evaluaciones finales revisioacuten de proyectos y entrega decalificaciones de sus grupos a los alumnos
bull La elaboracioacuten de los horarios es un proceso que se lleva semanas de labor diariabull Requiere la atencioacuten total de los coordinadores durante todo el tiempo de
elaboracioacutenbull Al no tener la informacioacuten automatizada se tienen peacuterdidas de tiempo en la toma de
decisiones como por ejemplo en el preacutestamo de aulas no utilizadas o en la forma decompartir catedraacuteticos
bull Se tienen fuertes restricciones debido a los horarios de los catedraacuteticosbull Hay fuertes dificultades cuando se deben negociar cambios de horarios porque el
proceso implica mover asignaturas buscar aulas dejar paquetes de materias porsemestre etc
bull El estado de aacutenimo del coordinador influye en la elaboracioacuten de los horarios
13 Objetivo general
Generacioacuten de una solucioacuten aproximada del condensado de horarios para una escuela denivel superior que satisfaga las restricciones ocasionadas por los recursos involucradosmediante la elaboracioacuten de un sistema hiacutebrido (experto geneacutetico y loacutegico restrictivo)
Capiacutetulo 1 Introduccioacuten
14 Objetivos especiacuteficos
Se tiene el disentildeo e implementacioacuten de un sistema que
bull Proporciona una solucioacuten aproximada aceptable al problema de la generacioacuten dehorarios
bull Permite a los coordinadores delegar a la computadora la asignacioacuten de recursosbull Ahorra tiempo en la generacioacuten de los horariosbull Reduce el trabajo manualbull Agiliza la toma de decisionesbull Reduce el tiempo de elaboracioacuten de horariosbull Facilita la modificacioacuten de informacioacuten generadabull Aumenta la eficiencia en las negociaciones entre jefes y coordinadoresbull Lleva al Instituto Tecnoloacutegico de Zacatepec (ITZ) a la modernizacioacuten en este
proceso
15 Justificacioacuten del sistema
151 Justificacioacuten teoacuterica
La utilizacioacuten de la Inteligencia Artificial (IA) para la solucioacuten de problemas de la vidacotidiana ha sido una estrategia utilizada cuando los sistemas tradicionales decomputacioacuten no proveen mecanismos suficientes para garantizar una solucioacuten adecuadasu utilizacioacuten para la generacioacuten de horarios (creacioacuten de grupos asignacioacuten de horaasignacioacuten de aula determinacioacuten de catedraacutetico) presenta una alternativa ideal paracomprobarlo
152 Justificacioacuten metodoloacutegica
La utilizacioacuten de un grupo de Sistemas Expertos que realice la asignacioacuten de losrecursos para la generacioacuten de grupos y le proponga una materia determinada a unprofesor seguacuten el perfil acadeacutemico de ambos reuacutene las caracteriacutesticas necesarias paradar la solucioacuten elegante y efectiva al problema planteado anteriormente porque
bull Se requiere del conocimiento de un experto para plantear el funcionamiento delsistema
bull El conocimiento se alimentaraacute a una base de conocimientos que conste de variaspartes
bull Para la generacioacuten de grupos de una asignatura dada el sistema debe ldquorazonarrdquo paradeterminar cuantos de eacutestos se deben abrir para ofertarlos a los alumnos
Capiacutetulo 1 Introduccioacuten
bull En la asignacioacuten de nuevas materias a los catedraacuteticos el sistema debe ldquodeterminarrdquoquieacuten es el maacutes idoacuteneo para impartirla de acuerdo al perfil de ambos materia ymaestro
La Programacioacuten Loacutegica de Restricciones (PLR) es una de las teacutecnicas que maneja demanera natural informacioacuten sometida a ciertas restricciones y fue seleccionada paraseguir trabajando en la resolucioacuten del problema porque
bull Los horarios deben satisfacer ciertas restricciones como por ejemplo no se debengenerar mas grupos de los necesarios no puede haber dos materias con el mismogrupo no deben existir grupos del mismo paquete a la misma hora etc
bull Cada paquete de un semestre es un objeto que por siacute mismo posee ciertascualidades y restricciones por ejemplo no debe tener horas sin asignatura entre lahora inicial y final existen materias que se deben impartir de una hora diaria otrasdeben ser impartidas de 2 horas diarias etc
bull La solucioacuten presentada por la PLR inicia con datos aleatorios de un horario despueacutesse verifica si las restricciones se cumplen o no si se cumplen se guarda el dato si nose genera un nuevo dato aleatorio
Los Algoritmos Geneacuteticos utilizados aquiacute para asignar aula a los grupos cumplen con lametodologiacutea de la Computacioacuten Evolutiva porque
bull Se tienen datos iniciales de los grupos (materia-hora)bull Se genera una poblacioacuten inicial que son n versiones de un condensado de horarios
sin aulabull Esta poblacioacuten inicial es evaluada se seleccionan los condensados maacutes adecuados y
se eliminan las versiones menos adecuadasbull Se realizan cruzamientos mutaciones clonaciones y se crea la nueva generacioacuten de
horariosbull Se repite el proceso hasta llegar a una utilizacioacuten eficiente de las aulas
Por lo anterior se pueden observar las ventajas de utilizar un sistema inteligente sobreuno convencional para solucionar el problema planteado
Una vez definido el modelo para solucionar el problema de la asignacioacuten de horariospara las asignaturas aulas y catedraacuteticos de una institucioacuten de educacioacuten superior seraacutefaacutecil extrapolarlo para solucionar algunos problemas referentes a la planeacioacuten dehorarios de otro tipo de escuelas de nivel medio superior
153 Justificacioacuten praacutectica
La creacioacuten de un sistema que resuelva el problema de la elaboracioacuten de horarios ygenere automaacuteticamente la programacioacuten de grupos aulas y maestros sin violar las
Capiacutetulo 1 Introduccioacuten
restricciones fuertes minimizando las restricciones medias y suaves optimizando lautilizacioacuten de las aulas cumpliendo con las restricciones de los profesores asignandoprofesores adecuados para impartir las clases traeraacute como consecuencia condicionespara mejorar el proceso de ensentildeanza aprendizaje
16 Alcances y limitaciones
Alcances
El sistema generaraacute un espacio de soluciones finito que satisfaga las restriccionesfuertes medias y suaves optimizando el uso de los recursos disponibles se puede decirque el sistema optimizaraacute los recursos cuando los horarios generados tengan lascaracteriacutesticas mencionadas maacutes adelante
Esta tesis documenta la creacioacuten de un sistema basado en el conocimiento parasolucionar el problema de la generacioacuten de horarios en el Instituto Tecnoloacutegico deZacatepec que permite
bull Generar grupos suficientes para que todos los estudiantes se inscriban al menos conla carga miacutenima reglamentaria
bull Que los alumnos tengan horarios adecuados a sus necesidades y preferenciasbull Que todos los grupos tengan capacidad suficiente para todos los estudiantes que
deseen inscribirsebull Que los profesores impartan materias de acuerdo a su perfil profesionalbull Evitar los choques de grupos en aulas y laboratoriosbull Que todos los grupos tengan aula asignada desde el inicio del semestrebull La utilizacioacuten oacuteptima de las aulas y laboratoriosbull La correcta asignacioacuten de aulas y laboratorios a los cursosbull Realizar de manera automaacutetica la asignacioacuten de los recursosbull Determinar el nuacutemero de grupos que se deben abrirbull Llenar las aulas con grupos sin permitir choque de horariosbull Imprimir la lista de grupos ofertados para el semestre siguientebull Cuando exista el grupo de una materia sin maestro determinar cual es el mejor para
impartirla
Tener un Sistema terminado que contenga los siguientes moacutedulos
Sistema administrativo para control de horarios Sistema Experto para determinar la cantidad de grupos por abrir Sistema Experto para sugerir materias a un catedraacutetico Sistema Experto para seleccionar los mejores catedraacuteticos para impartir una
asignatura
Capiacutetulo 1 Introduccioacuten
Moacutedulo de Programacioacuten Loacutegica de Restricciones para generar los horarios a lospaquetes de materias por semestre
Moacutedulo de Algoritmo Geneacutetico para asignar aula a los grupos
Cada moacutedulo tendraacute
bull Interfaces de usuario amigablesbull Tiempos de ejecucioacuten raacutepidos (independientemente de la maacutequina objetivo)bull Reglas de inferencia para generar resultados (soacutelo los Sistemas Expertos)bull Buacutesquedas heuriacutesticas o aleatorias seguacuten el casobull Procesos para realizar induccioacuten y deduccioacuten (soacutelo los Sistemas Expertos)bull Manejo de incertidumbre (soacutelo los Sistemas Expertos)bull Un moacutedulo de explicaciones en lenguaje natural
Limitaciones
El sistema estaacute disentildeado para generar horarios de una escuela de nivel superior donde elcoordinador de cada carrera es el responsable de la generacioacuten de sus horarios controlarsus profesores impartir cierto nuacutemero de materias y utilizar cierta cantidad de aulas ylaboratorios
Trabaja exclusivamente en lenguaje espantildeol
Las reglas de la base de conocimiento tienen un formato predeterminado por unasintaxis definida para el sistema
El sistema estaacute elaborado para trabajar en microcomputadoras compatibles con IBM
No maneja los horarios individuales de los alumnos en el proceso de inscripcioacuten estaactividad deberaacute ser realizada por los sistemas del departamento de servicios escolares
Capiacutetulo 2 Marco teoacuterico
CAPIacuteTULO 2
MARCO TEOacuteRICO
21 El estado del arte
211 Antecedentes
El problema de la generacioacuten de horarios ha sido atacado de varias maneras a nivelmundial inclusive existe un grupo internacional que convoca al congreso llamadoPATATxx (Practice and Theory of Automated Timetabling) donde xx es el antildeo delcongreso en cuestioacuten
La ASAP (Automated scheduling optimization and planing group) es otro organismocuyo fin principal es conducir investigacioacuten en modelos heuriacutesticas y algoritmos para laproduccioacuten automaacutetica de soluciones de alta calidad a una gran variedad de problemasde planeacioacuten y optimizacioacuten del mundo real incluyendo elaboracioacuten de horarioslogiacutestica asignacioacuten de espacio y mantenimiento de inventarios
212 Algunos meacutetodos para resolver el Problema de laGeneracioacuten de Horarios
La generacioacuten de horarios acadeacutemicos ha sido acometida por muchos investigadoresbaacutesicamente dentro del aacuterea de la Investigacioacuten de Operaciones
2121 Investigacioacuten de Operaciones
El algoritmo para resolver problemas de asignacioacuten se denomina Huacutengaro ya que fuerondos matemaacuteticos Huacutengaros Koumlnig (1916) y Egervary (1931) los que aportaron lasteoriacuteas que sirven de base a este meacutetodo [Daellenbach 1987]
Este problema se presenta en diversos casos de toma de decisiones Los problemastiacutepicos de asignacioacuten implican asignar tareas a maacutequinas trabajadores a tareas yproyectos personal de ventas a territorios de ventas contratos a licitaciones horarios deaulas disponibles a horarios de maestros disponibles enfermos a camas disponibles delhospital cierto nuacutemero de empleados a cierta cantidad de puestos en una empresaaviones a destinos aeacutereos entre otros
Capiacutetulo 2 Marco teoacuterico
Una caracteriacutestica importante de los problemas de asignacioacuten es que se asigna untrabajador una tarea a una sola maacutequina proyectoEn particular se busca elconjunto de asignaciones que optimice el objetivo planteado tal como minimizar costosminimizar tiempo o maximizar utilidad
La formulacioacuten del problema general de asignacioacuten es
Sujeta a
Corresponde a un caso especial del problema del transporte en el cual las variables Xijsoacutelo pueden tomar el valor 0 oacute 1 tomar el valor 1 si el origen i se hace corresponder aldestino j y 0 en caso contrario
El Algoritmo Huacutengaro
Este algoritmo se usa para resolver problemas de minimizacioacuten ya que es maacutes eficazque el empleado para resolver el problema del transporte por el alto grado dedegeneracioacuten que pueden presentar los problemas de asignacioacuten Las fases para laaplicacioacuten del meacutetodo Huacutengaro son
Capiacutetulo 2 Marco teoacuterico
Paso 1 Encontrar primero el elemento maacutes pequentildeo en cada fila de la matriz de costosmm se debe construir una nueva matriz al restar de cada costo el costo miacutenimo de cadafila encontrar para esta nueva matriz el costo miacutenimo en cada columna A continuacioacutense debe construir una nueva matriz (denominada matriz de costos reducidos) al restar decada costo el costo miacutenimo de su columna
Paso 2 (En algunos pocos textos este paso se atribuye a Flood) Consiste en trazar elnuacutemero miacutenimo de liacuteneas (horizontales o verticales o ambas uacutenicamente de esasmaneras) que se requieren para cubrir todos los ceros en la matriz de costos reducidos sise necesitan m liacuteneas para cubrir todos los ceros se tiene una solucioacuten oacuteptima entre losceros cubiertos de la matriz Si se requieren menos de m liacuteneas para cubrir todos losceros se debe continuar con el paso 3 El nuacutemero de liacuteneas para cubrir los ceros es iguala la cantidad de asignaciones que hasta ese momento se pueden realizar
Paso 3 Encontrar el menor elemento diferente de cero (llamado k) en la matriz decostos reducidos que no estaacute cubierto por las liacuteneas dibujadas en el paso 2 acontinuacioacuten se debe restar k de cada elemento no cubierto de la matriz de costosreducidos y sumar k a cada elemento de la matriz de costos reducidos cubierto por dosliacuteneas (intersecciones) Por uacuteltimo se debe regresar al paso 2
Notas
1 Para resolver un problema de asignacioacuten en el cual la meta es maximizar la funcioacutenobjetivo se debe multiplicar la matriz de ganancias por menos uno (-1) y resolver elproblema como uno de minimizacioacuten
2 Si el nuacutemero de filas y de columnas en la matriz de costos son diferentes el problemade asignacioacuten estaacute desbalanceado El meacutetodo Huacutengaro puede proporcionar una solucioacutenincorrecta si el problema no estaacute balanceado debido a lo anterior se debe balancearprimero cualquier problema de asignacioacuten (antildeadiendo filas o columnas ficticias) antes deresolverlo mediante el meacutetodo Huacutengaro
3 En un problema grande puede resultar difiacutecil obtener el miacutenimo nuacutemero de filasnecesarias para cubrir todos los ceros en la matriz de costos actual Se puede demostrarque si se necesitan j liacuteneas para cubrir todos los ceros entonces se pueden asignarsolamente j trabajos a un costo cero en la matriz actual esto explica porqueacute terminacuando se necesitan m liacuteneas
Capiacutetulo 2 Marco teoacuterico
Tambieacuten han aparecido meacutetodos no convencionales que atacan el problema desdediferentes aacutengulos Los maacutes usuales son
Algoritmos Geneacuteticos Redes Neuronales Recocido Simulado Buacutesquedas Tabuacute Sistemas Expertos Programacioacuten Loacutegica de Restricciones Grafos Coloreados Operadores Recombinatorios Especializados
2122 Algoritmos Geneacuteticos
Los Algoritmos Geneacuteticos han sido utilizados satisfactoriamente para planear exaacutemenesy cursos en cierto nuacutemero de casos [Corne 1993] utiliza una buena aproximacioacutentradicional donde cada gene representa la hora en la cual se presentaraacute un examen ocurso Con operadores de cruzamiento y mutacioacuten como los mencionadosanteriormente agrega sustanciosos ahorros de tiempo al meacutetodo de Corne [Paechter1994] da una aproximacioacuten diferente donde el gene de cada examen no solo especificaldquoel cuandordquo sino que tambieacuten busca un nuevo horario del examen si despueacutes delcruzamiento el curso esta causando un conflicto Si el examen no puede ser programadoen alguna hora entonces no se agrega a la planeacioacuten con la finalidad de no tenerhorarios infactibles
[Burke1994] incorpora dominios de conocimiento especiacutefico para asegurar que ningunade las soluciones candidato es no factible En particular una representacioacuten directa seutilizada que incluye no soacutelo el cuaacutendo sino tambieacuten el doacutende un curso o examendeberaacuten ser tomados permitiendo al programador de horarios detener la ejecucioacuten delalgoritmo en cualquier punto y tener ya una serie de soluciones de buenos horariosfactibles
2123 Programacioacuten Loacutegica de Restricciones
Varios autores han presentado teacutecnicas de Programacioacuten Loacutegica de Restricciones pararesolver problemas de asignacioacuten de horarios pero eacuteste sigue siendo un nuevo enfoqueTambieacuten han aparecido algunos usando PLR para la planeacioacuten de clase-maestro[Yoshikawa 1994]
Kang y White presentaron una buena aproximacioacuten estaacutendar de PLR programandocursos sin permitir ningun conflicto [Kang y White 1994] Ellos usaron una teacutecnica dereversa equivalente al backtracking con lo cual cuando un curso no puede ser
Capiacutetulo 2 Marco teoacuterico
asignado uno similar es desasignado y el nuevo es colocado en su lugar Esto previeneuna buacutesqueda exhaustiva completa Esto tambieacuten introduce el concepto de undelimitador de tamantildeo que establece un maacuteximo en el tamantildeo del aula que puede usarun curso en particular Las restricciones son priorizadas en cinco diferentes categoriacuteasdonde la categoriacutea cinco debe ser liberada antes que la categoriacutea cuatro y asiacute con lasdemaacutes Este procedimiento fue utilizado para programar exitosamente los cursos de laUniversidad de Otawa
Tambieacuten se ha utilizado la teacutecnica de la Programacioacuten Loacutegica de Restricciones parahacer los horarios de una facultad utilizando una regla heuriacutestica para seleccionar quecurso asignar primero [Fahrion y Dollanski 1992]
2124 Redes Neuronales
De las distintas categoriacuteas de las Redes Neuronales Artificiales la maacutes apropiada pararesolver el problema es la familia de las Redes Neuronales de reaccioacuten basadas enneuronas multiestado con ecuaciones de teoriacutea de campos con significado controlandolas dinaacutemicas Las ecuaciones anteriores son usadas en lugar de los procedimientospara actualizacioacuten de demanda estocaacutesticos que han sido usados por otros esquemas paraevitar quedar atorados en circuitos locales miacutenimos [Carrasco 2004]
2125 Recocido Simulado
Recocido Simulado se refiere al uso de una teacutecnica de optimizacioacuten combinatoria odiscreta Divide el problema en grupos del mismo tiempo de clase los cuales sonespecificados por cada departamento acadeacutemico basados en la habilidad de losinstructores Funciona asiacute
1 El proceso asigna aulas procesando un grupo a la vez empezando con el primero2 El proceso continuacutea hasta que todos los grupos son procesados3 Cuando una solucioacuten es obtenida dividiendo el problema en conjuntos de horario
una mutacioacuten especial es generada con grupos traslapados Esto podriacutea generar unamala asignacioacuten de aula para minimizar esto se utiliza el siguiente paso
4 Los grupos son procesados basados en el nuacutemero de aulas este nuacutemero de aulas esoptimizado y se termina con las horas de clase con el miacutenimo de paquetes a esa hora
5 La implementacioacuten del programa genera una base de datos con la nueva asignacioacutende salones para el proacuteximo semestre [Abramson 1991]
2126 Operadores Recombinatorios Especializados
Los operadores de cruzamiento de los Algoritmos Geneacuteticos producen buenas
Capiacutetulo 2 Marco teoacuterico
combinaciones de genes para ser pasados entre los diferentes miembros de unapoblacioacuten En los Algoritmos Geneacuteticos estaacutendar es un procedimiento similar a escogerlos primeros n genes del primer padre y los uacuteltimos del segundo padre esteprocedimiento no es uacutetil en situaciones donde existen fuertes restricciones sobre laforma de los miembros de la poblacioacuten aquiacute un operador violaraacute esos requerimientosEl operador de recombinacioacuten heuriacutestico hiacutebrido trabaja asiacute
1 Los grupos no programados del periodo anterior son pasados al algoritmo2 Primero selecciona aquellos grupos programados en el periodo i en los padres 1 y 23 Los grupos extra son seleccionados de aquellos programados en el periodo i ya sea
del padre 1 o del padre 2 o de los dejados del periodo i ndash 14 Cualquiera de los grupos no programados es pasado al periodo i+15 Soacutelo los grupos que no crean conflicto con aquellos ya programados para este
periodo pueden ser seleccionados [Wilke 2002]
2127 El Sistema Experto Basado en Reglas
Los Sistemas Basados en Reglas proporcionan un buen punto de referencia para saberque tan buenos son otros meacutetodos en comparacioacuten a esta teacutecnica estaacutendar Varias deestas reglas son usadas para proporcionar sensibles elecciones para los movimientos enel algoritmo de Recocido Simulado en lugar de seleccionar cambios de manera aleatoriase ha usado este sistema como un preprocesador para generar una buena aproximacioacuteninicial y darla al Recocido Simulado
El Sistema Experto Basado en Reglas consiste en un nuacutemero de reglas (o heuriacutesticas) yrecursioacuten convencional para ayudar en la generacioacuten de asignacioacuten de clases Lasestructuras de datos o componentes del sistema son
bull Una matriz de distancias entre los departamentos acadeacutemicos y los edificios queseraacuten utilizados
bull Estructura de los datos de las materias para cada grupo programado en el campobull Estructura para las aulas (independientemente del tipo de aula) involucradas en el
procesobull Horarios para cada periodo de tiempo guardando cuales estaacuten disponibles y
cuales ya fueron ocupadasbull La estructura de los departamentosbull Las preferencias de los estudiantes indicando las clases requeridas
independientemente del semestre que sean las materias [Gervaacutes 1999]
Capiacutetulo 2 Marco teoacuterico
213 Observaciones realizadas a algunos paquetes generadores de horarios
Nombre DeMIStDescripcioacuten Puede describirse como un paquete que realiza bien las operaciones decasa (la propia universidad que lo creoacute) pero salioacute tan costoso como si hubierancomprado un paquete [Demist 2000]Proveedor DeMISt University
KnowTISEs un proyecto iniciado por la universidad de Leeds En la literatura aparece como unpaquete que es mejor para la generacioacuten de Grandes Horarios para una universidad quepara un departamento Utiliza el beneficio de gran cantidad de informacioacutencentralizada para la optimizacioacuten de recursos [Schedul 2000]Leeds University
STARSSTARS(Space Time and Resources Management) Igual que el anterior corre mejor enla elaboracioacuten de horarios de buen tamantildeo que en una aplicacioacuten departamentalDe Montfort University
Meeting maker Office TalkEs un generador de clases y acciones diarias es bueno cuando no es uacutetil el horario delos alumnos ya que proporciona uacutenicamente los espacios para las clases [Gervaacutes 1999]Varios proveedores
GP-UNTISEs un paquete australiano que funciona perfectamente para los requerimientos de lasescuelas secundariasTimetabling Services UK
Syllabus PlusEs una buena opcioacuten para uso departamental cumple los requerimientos de unauniversidad para la generacioacuten de horarios no trabaja a nivel de estudiantes pero si lohace con grupos de ellos no es factible para la generacioacuten de Grandes HorariosScientia LTD
Facility TimetablerEs una buena opcioacuten para uso departamental y para Grandes Horarios tiene interfaz conlos sistemas de alumnos y permite la creacioacuten de horarios individuales permite el uso
Capiacutetulo 2 Marco teoacuterico
centralizado de las aulas para una buena optimizacioacutenFacility Systems
Mimosa for WindowsEs un software general de planificacioacuten de la ensentildeanza y de programacioacuten de horariosLa aplicacioacuten utiliza todas las propiedades de Windows eficientemente es raacutepida tienegran capacidad y lo mas importante es tan flexible que puede aplicarse en todo el tipode escuelas desde la escuela primaria a las universidades desde las escuelasvocacionales a las academias militares
Se podriacutea decir que este producto cubririacutea todas las necesidades de la institucioacuten perohan existido algunos inconvenientes ya que no cubre con las necesidades deldepartamento tan solo da ayuda al usuario para que pueda generar sus horarios ademaacutesel tener tantos botones en pantalla (200) podriacutean confundir al usuario y realizar horarioserroacuteneos y no se resolveriacutea el problema [Nielsoft 2000]Mimosa Software Oy Finlandia
GestHor BSPEs un producto informaacutetico para resolver problemas de horarios escolares en escuelasbaacutesicas escuelas secundarias y escuelas profesionales
Toacutemese en cuenta que la mayoriacutea de los sistemas mencionados se enfoca solo a laasignacioacuten aula ndash materia y no abarca lo que es asignacioacuten materia ndash profesor
22 Los horarios
Existe mucha literatura referente a los horarios con una gran variedad de subtiacutetulos ydiferentes problemas Una gran variedad de algoritmos han sido propuestos empleandometodologiacuteas y heuriacutesticas de buacutesqueda produciendo horarios completos o soacuteloayudando durante el proceso Una de las grandes preguntas para la elaboracioacuten dehorarios es que si eacutestos pueden ser generales es decir iquestse puede encontrar un algoritmoo meacutetodo suficientemente general que produzca buenos horarios para todos losproblemas y para todas las restricciones La alternativa desde luego es continuardesarrollando algoritmos especializados aislados cada vez que un problema de horariosaparece
Al trabajar con una solucioacuten para el problema de los horarios se deben contestar lassiguientes preguntas iquestTodas las escuelas de nivel superior elaboran los horarios de lamisma manera iquestSon grandes o pequentildeas las diferencias en la forma de elaborar loshorarios iquestQueacute tan necesaria es la ayuda de la computadora iquestSoacutelo se requiere unpaquete general para la elaboracioacuten de los horarios iquestQueacute funcionalidad debe tener
Capiacutetulo 2 Marco teoacuterico
dicho paquete iquestQueacute tan grande y complejo es el problema de elaboracioacuten de horariosiquestQueacute propiedades debe poseer un horario aceptable para que una institucioacuten lo use
Se han realizado algunas encuestas para conocer si las escuelas de nivel superior tienensistemas computarizados para la elaboracioacuten de horarios si no los tienen si lonecesitaban y queacute caracteriacutesticas deberiacutea poseer El estudio concluyoacute que existe una grandemanda para tal sistema que se requiere un alto grado de asistencia automatizada yque la mayoriacutea de los elaboradores de horarios no estaban muy contentos con sussistemas actuales [Comm y Mathaisel 1988]
[Dowsland y Lim 1982] consideraron el problema de la elaboracioacuten de horarios peroproporcionaron alternativas en la encuesta de la utilidad de sistemas automatizados[Junginger 1986] establece que ldquoAunque los horarios producidos requierenmodificacioacuten las escuelas estaacuten contentas con los resultados El tiempo ahorrado fueconsiderable arriba del 75rdquo Dowsland por otro lado concluye que ldquoEs muy difiacuteciljuzgar el eacutexito actual de los paquetes para la elaboracioacuten de horarios pero el uso muylimitado de ellos sugiere que sus ventajas son limitadasrdquo Claramente ninguacuten disentildeadorde sistemas puede garantizar la idea de que su producto seraacute bienvenido con los brazosabiertos
[Pendlebury 1986] encuestoacute a las universidades politeacutecnicas britaacutenicas con respecto ala elaboracioacuten de horarios de cursos Doce de las treinta que contestaron la encuestautilizan elaboracioacuten de horarios por computadora (siete a gran escala y cuatro lo hacenen pequentildea escala) Es interesante notar que Pendlebury encontroacute que la mayoriacutea de loscursos se basan en clases que son muy independientes unas de otras y en la mayoriacutea delas instituciones encuestadas los departamentos individuales son responsables deproducir sus propios horarios
221 El problema de la elaboracioacuten de horarios
La elaboracioacuten de horarios es el acto de programar cursos a periacuteodos de tiempo asignarun aula a esos cursos y asignar un catedraacutetico a dicho curso
A menudo se hacen afirmaciones acerca de la naturaleza del problema que puedenpermitir encontrar una solucioacuten maacutes eficientemente Sin embargo cuando se trata deconstruir un sistema general se estaacute limitado a que las afirmaciones son el miacutenimocomuacuten denominador de todos los posibles escenarios
Una informacioacuten impliacutecita que ha sido hecha a menudo es la independencia entreunidades acadeacutemicas separadas Algunas universidades programan preguntando a susdepartamentos los horarios de sus propios cursos Una unioacuten central de dichos horarioses entonces utilizada para asegurar que todas las restricciones relevantes son cumplidasEn muchos casos esta es la forma normal en que es producido el horario de los cursos
Capiacutetulo 2 Marco teoacuterico
aunque algunos departamentos desarrollan su propio software para la programacioacuten decursos
En varias universidades los alumnos pueden tomar algunos de sus cursos endepartamentos diferentes al suyo Obviamente la independencia no debe ser asumidageneralmente debido a que puede haber diferencia en la programacioacuten de los cursos decada departamento En el Tecnoloacutegico de Zacatepec por ejemplo la probabilidadpromedio de que un curso tenga conflicto con uno de otro departamento es 1650mientras que la probabilidad de que dos cursos del mismo departamento tengan conflictoes 2250 notaacutendose una gran diferencia en el resultado
Dificultades encontradas por los responsables de la generacioacuten de horarios
Algunas dificultades experimentadas por los departamentos y facultades sonmencionadas aquiacute
bull Los programas acadeacutemicos se hacen cada vez maacutes flexibles (los estudiantesseleccionan queacute asignaturas tomar cuaacutendo doacutende y con quieacuten)
bull Algunos departamentos tienen asignaturas para ofrecer pero no tienen muchosalumnos
bull Los espacios para ofrecer las materias son cada vez menos y el problema se agravacuando los alumnos no quieren asistir en las tardes o los saacutebados
bull El staff de profesores no siempre estaacute disponible para impartir clases por muacuteltiplesrazones
bull Los alumnos pueden solicitar los grupos del proacuteximo semestre desde antes de queinicie pero al llegar el momento de inscribirse no lo hacen
bull Los departamentos estaacuten ansiosos por ofrecer una gran variedad de grupos teniendolos recursos pero esto puede ocasionar problemas
bull Existe una gran variedad de reglas al momento de asignar las aulas (pertenencia alas carreras prioridades de profesores etc)
bull Como no hay un costo asociado a la utilizacioacuten de un aula y no hay sanciones porreservarla y no utilizarla los departamentos acadeacutemicos no tienen un buen motivopara hacer una correcta utilizacioacuten del espacio
bull La falta de recursos ocasiona el mayor de los problemas porque obliga a laoptimizacioacuten en la planeacioacuten
Cursos y estudiantes
El problema de la elaboracioacuten de horarios estaacute relacionado esencialmente con el nuacutemerode eventos que requieren ser programados en este caso los cursos para los estudiantesClaramente el tamantildeo del problema variacutea entre los diferentes centros de estudio desdepequentildeos problemas con alrededor de 50 a 100 cursos hasta los 500 o 1000 cursos que
Capiacutetulo 2 Marco teoacuterico
programar Esta variacioacuten en el tamantildeo afectaraacute el tiempo requerido para resolver elproblema Un problema pequentildeo puede ser resuelto casi de manera oacuteptima mientrasque en uno grande se deben usar buacutesquedas heuriacutesticas u otras formas de acotar elespacio de buacutesqueda de una solucioacuten en un periodo de tiempo razonable
Se debe esperar que el nuacutemero de cursos y el nuacutemero de alumnos esteacuten correlacionadosEl nuacutemero de cursos ofrecidos y desde luego programados debe ser calculado porextrapolacioacuten del promedio de 5 o 6 cursos por alumno y con cupo promedio de 30alumnos por curso obviamente algunos alumnos se inscribiraacuten en 7 u 8 cursos porsemestre mientras que los cursos tendraacuten inscritos entre 20 y 40 alumnos Losalumnos dependiendo del semestre en que se encuentran inscritos deben matricularse aciertos cursos especiacuteficos para ese semestre dichos cursos deben programarse de maneraque los alumnos tengan la menor cantidad de tiempo entre el primer y el uacuteltimo cursodel diacutea permitieacutendoles con esto realizar actividades complementarias
En el Tecnoloacutegico de Zacatepec para una carrera con 900 alumnos se requieren ofertaraproximadamente entre 140 y 160 cursos ademaacutes los estudiantes pueden matricularse encursos ofrecidos por otros departamentos (esto ampliacutea el rango de posibilidades para losalumnos)
Los cursos y los departamentos
El promedio de los cursos ofrecidos por cada departamento variacutea considerablementeentre las diferentes escuelas de nivel superior La razoacuten de esta variabilidad puede servista como un indicador de la naturaleza de la complejidad de la planeacioacuten de horarios
Cada departamento ofrece cursos a los estudiantes de las carreras a las que da soportedirecto pero ademaacutes debe ofrecer cursos para todas las otras carreras de la institucioacutenque lo requieran esto es si un departamento X solicita la apertura de determinadonuacutemero de cursos a un departamento Y el departamento Y debe ofertar los cursossolicitados por X para los alumnos matriculados en el departamento X aunado a estoalgunos cursos ofertados por el departamento Y tienen compatibilidad con cursosofrecidos por X y por lo tanto los estudiantes de Y y X pueden ingresar indistintamenteen cualquiera de los cursos
Los cursos los semestres y las horas
Una de las afirmaciones que se pueden hacer en las instituciones de nivel superior es quelos cursos generalmente inician durante cierto periodo de tiempo y pueden tenerduracioacuten semestral (la gran mayoriacutea) trimestral y sin fechas predeterminadas (algunosposgrados por ejemplo) En general los cursos empiezan a las 700 AM y terminandependiendo del lugar a las 2000 o a las 2100 horas de lunes a saacutebado Aunque estopermite tener un amplio margen de horas para programar los cursos esto hace tambieacuten
Capiacutetulo 2 Marco teoacuterico
aun maacutes difiacutecil la elaboracioacuten de los horarios porque aumenta el rango de posiblescombinaciones donde programar cursos
Los cursos se pueden programar en periodos de tiempo muy variados aunque la mayoriacuteade los programadores de horarios siguen los siguientes patrones
bull Curso diario de 1 horabull Curso de dos horas en diacuteas saltados (lunes y mieacutercoles jueves y viernes
mieacutercoles y viernes)bull Curso de dos horas diarias 3 diacuteas por semana (lunes mieacutercoles y viernes)
(lunes martes y jueves) o (martes jueves y viernes)bull Cursos de cuatro horas en un solo diacutea por semanabull En el peor de los casos se programan cursos con la combinacioacuten de algunos
de los anteriores
Dependiendo del curso algunos tienen duracioacuten de cuatro horas teoacutericas semanales otroscombinan cuatro horas de teoriacutea y dos de praacutectica y algunos excepcionalmente sonprogramados con cuatro horas de praacutectica y dos de teoriacutea Las horas de praacutecticageneralmente se realizan en laboratorios o praacutecticas de campo agregando esto un nuevoparaacutemetro para la complejidad de la elaboracioacuten de horarios
Los cursos y las aulas
Las aulas son el espacio fiacutesico donde se impartiraacuten los cursos pueden ser salones declase laboratorios salones de exposicioacuten aulas para aplicacioacuten de exaacutemenes aulas paraactividades deportivas musicales o recreativas cada aula tiene capacidad para quecierto nuacutemero definido de estudiantes reciba sin problema unidades de ensentildeanzaaprendizaje
En una encuesta realizada por la Universidad de Nottingham [Burke y Elliman 1998] sedefinioacute que la programacioacuten de los cursos en las aulas es uno de los mayores problemasa los que se enfrentan los responsables de la elaboracioacuten de horarios Esto proviene dedos problemas mayores El primer problema es la escasez de aulas disponibles ya queen algunas de las escuelas de nivel superior el crecimiento de la poblacioacuten estudiantil hasido mayor que el crecimiento del nuacutemero de aulas disponibles para la ensentildeanza Elsegundo problema ocurre cuando se programa un curso en mas de un aula o saloacuten declase
La ocupacioacuten de las aulas es variable de acuerdo al departamento para el que seaasignada algunos prefieren utilizarlas al maacuteximo en el turno matutino otros en el turnovespertino tienen ocupacioacuten total algunos las utilizan exhaustivamente de lunes ajueves unos departamentos las llenan los viernes y saacutebados y otros tienen que utilizarlastodo el diacutea de lunes a saacutebado inclusive solicitan prestadas a los otros departamentosaquellos espacios que no son utilizados en alguacuten diacutea y hora a la semana
Capiacutetulo 2 Marco teoacuterico
Para el Tecnoloacutegico de Zacatepec el recurso llamado las aulas debe ser optimizado enuna buena planeacioacuten de horarios esto es deben ser utilizadas al maacuteximo todos los diacuteasde la semana desde las 700 hasta las 2100 de lunes viernes y los saacutebados hasta las1500 horas
Tipos de cursos
Una de las cosas a tomarse en cuenta durante la elaboracioacuten de los horarios es el tipo decurso a programar
bull Teoacutericos como los cursos matemaacuteticos cursos de administracioacuten etcbull Teoacuterico praacutecticos como los cursos de electroacutenica sistemas digitalesbull Lenguajes de programacioacutenbull Con praacutecticas de campo que deben salir al aire librebull Con praacutecticas de quiacutemica
Otra consideracioacuten es el tipo de aula requerida por los diferentes tipos de cursos
bull cursos que requieren medios audiovisuales simples (pizarroacuten y gis)bull algunos cursos adicionalmente requieren proyectores de acetatos y salas
obscurecidasbull cursos que requieren equipo de coacutemputo equipo de proyeccioacuten equipo de video y
televisioacuten para el desarrollo de la caacutetedra etcbull cursos que requieren laboratorios con computadorasbull que requieren equipos de medicioacuten electroacutenica generadores de sentildeales enchufes
eleacutectricos ybull cursos que requieren mesas tomas eleacutectricas y equipos para conexioacuten de redes
Los cursos y los catedraacuteticos
Definitivamente eacutesta es una de las principales consideraciones que tienen en cuenta losprogramadores de horarios la asignacioacuten de los cursos a los catedraacuteticos porque es unproceso que no puede realizarse de manera aleatoria es un proceso delicado porque deesto depende la efectividad del proceso de ensentildeanzandashaprendizaje
Los catedraacuteticos tienen caracteriacutesticas individuales que los hacen uacutenicosindependientemente de la profesioacuten que hayan estudiado Tienen intereses diferentesmeacutetodos diferentes aacutereas de preferencia diferentes perfil profesiograacutefico distinto tienenactividades extralaborales variadas asiacute que
iquestCoacutemo asignarle un curso a un catedraacutetico para que logre un oacuteptimo resultado en el
Capiacutetulo 2 Marco teoacuterico
proceso de ensentildeanza-aprendizajeiquestCoacutemo garantizar que el curso asignado a un profesor seraacute bien impartidoiquestCoacutemo saber que el profesor estaacute capacitado para ofrecer un buen cursoiquestCuaacuteles son los requisitos que debe reunir un profesor para impartir cierto cursoiquestDependen soacutelo de la profesioacuten los cursos que puede impartiriquestCoacutemo conocer de antemano las preferencias de los profesoresiquestEl nivel de estudio de los profesores les capacita para impartir cualquier cursoiquestDeben los profesores ser guiados a una especialidad por los programadores dehorarios
Las respuestas a todas estas preguntas incorporadas en un sistema generador de horariosiquestpermitiraacuten hacer una buena asignacioacuten de catedraacutetico a un curso
El condensado de horarios
Es un documento emitido cada semestre por los responsables de la elaboracioacuten de loshorarios que contiene la informacioacuten requerida por los alumnos jefes de departamento ycatedraacuteticos para conocer la distribucioacuten de las materias los grupos las aulas las horasy los catedraacuteticos que impartiraacuten los cursos en otras palabras el condensado de materiases el documento final de los HORARIOS que marcaraacute las acciones de todos el semestreactual
23 El proceso de la elaboracioacuten de horarios
El proceso de la elaboracioacuten de horarios abarca cada accioacuten que es requerida para crearel horario final completo y correcto de los datos iniciales Esto incluye recibir validary dar formato a los datos generar la versioacuten inicial hacer las correcciones y luegoproducir el condensado final de horarios El proceso de la generacioacuten de horariosabarca
bull la generacioacuten del dato de cuantos cursos se van a ofertarbull asignacioacuten de horario a esos cursosbull proporcionar aulas a los cursosbull designar profesores para los cursos definidos
la parte difiacutecil de esto es generar los horarios con los recursos disponibles en cadadepartamento cada etapa tiene sus restricciones (fuertes y suaves) los recursos no soninagotablesEl uso de la computadora
En una encuesta realizada por la Universidad de Nottingham [Burke y Elliman 1998]referente a la forma de elaborar horarios en las demaacutes universidades se encontroacute que un
Capiacutetulo 2 Marco teoacuterico
58 de ellas utilizan la computadora en alguna etapa del proceso de eacutestas el 21 tienela facilidad de realizar la programacioacuten aunque generalmente requieren captura manualde informacioacuten y conocimientos previos del problema particular del proceso El 1tienen paquetes comerciales y el 14 tienen paquetes hechos en casa para generarhorarios y el 2 aseguran que estaacuten desarrollando o comprando un paquete
Dado el tamantildeo de los horarios de dichas universidades es sorprendente que muchas notengan alguna forma de automatizacioacuten Esto se debe en la mayoriacutea de los casos a quelos horarios no cambian significativamente de un antildeo a otro Sin embargo de lasuniversidades que no programan horarios por computadora la mitad usa el horario delantildeo pasado y la otra mitad empiezan desde cero cada vez Cuando no se usa el horariodel antildeo pasado generalmente toma 4 semanas elaborar uno nuevo En la mayoriacutea de loscasos donde se usa la computadora generalmente no se toma en cuenta el horario delantildeo anterior
Causas de cambio de los horarios antildeo tras antildeo
Para que un horario pueda ser usado antildeo tras antildeo debe ser lo suficientemente robustopara que los cambios que ocurran en los datos de entrada produzcan soacutelo una pequentildeaalteracioacuten o modificacioacuten en el condensado final de horarios El uso del condensado delantildeo pasado depende en la cantidad de cambios que deben hacerse y esto a su vezdepende de cuanto cambie la cantidad de grupos que deben ofertarse para cadaasignatura y esto depende de la cantidad de alumnos que pueden cursar una asignaturaahora bien la cantidad de alumnos estaacute en funcioacuten de los iacutendices de aprobacioacuten yreprobacioacuten del periodo de los alumnos que por alguna razoacuten no cursaron unaasignatura y de la cantidad de grupos ofertados el periodo pasado
Si cambia la cantidad de horas frente a grupo asignada a un departamento entoncescambiaraacute el condensado de horarios con respecto al del antildeo pasado porque eso afectadirectamente en la cantidad de cursos que podraacute ofertarse este periodo este es uno de losrecursos maacutes variables que influyen para hacer cambios en los condensados antildeo trasantildeo
La redistribucioacuten de aulas y laboratorios (que no se realiza a menudo) llega tambieacuten ainfluir en los cambios
El cambio de horario matutino a vespertino (o viceversa) solicitado por un catedraacuteticoque es el especialista en impartir cierto curso ocasiona los cambios del condensado dehorarios del antildeo anterior al nuevo
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
CAPIacuteTULO 3
TEacuteCNICAS DE INTELIGENCIA ARTIFICIAL UTILIZADASPARA LA GENERACIOacuteN DE HORARIOS
31 Sistemas Expertos (SE)Bajo el teacutermino de Sistemas Expertos se entiende un nuevo tipo de software que imita elcomportamiento de un experto humano en la solucioacuten de un problema Un SE puedealmacenar conocimientos de expertos para un campo determinado y solucionar unproblema mediante razonamiento loacutegico de conclusiones
Los Sistemas Expertos son sistemas que buscan modelar el conocimiento yprocedimientos usados por un experto humano para resolver un problemadeterminado[Saacutenchez 1999]
iquestUn Sistema Experto utiliza teacutecnicas de la Inteligencia Artificial (IA)
Los Sistemas Expertos son uno de los puntos que componen las investigaciones en elcampo de la IA Un sistema de computadoras que trabaje con teacutecnicas de IA deberaacuteestar en situacioacuten de combinar informacioacuten de forma ldquointeligenterdquo alcanzarconclusiones y justificarlas (al igual que el resultado final) Los Sistemas Expertos sonuna expresioacuten de los sistemas basados en el conocimiento Con la aplicacioacuten de teacutecnicasde Inteligencia Artificial finaliza la transicioacuten del procesamiento de datos alprocesamiento de conocimientos
Un Sistema Experto es un sistema informaacutetico que simula el proceso de aprendizaje dememorizacioacuten de razonamiento de comunicacioacuten y de accioacuten de un experto humano enuna determinada rama o dominio Estas caracteriacutesticas le permiten almacenar datos yconocimiento sacar conclusiones loacutegicas tomar decisiones aprender de la experiencia ylos datos existentes comunicarse con humanos explicar el porqueacute de las decisionestomadas y realizar acciones como consecuencia de todo lo anterior
La incorporacioacuten dentro de un sistema de computadoras de un componente basado enel conocimiento correspondiente a una habilidad experta de tal forma que el sistemapueda ofrecer asesoramiento inteligente o tomar una decisioacuten inteligente sobre unafuncioacuten del proceso Una caracteriacutestica adicional deseable que muchos consideranfundamental es la capacidad del sistema si se le solicita de justificar su propia liacutenea derazonamiento de un modo directamente inteligible para el interrogador El estiloadoptado para alcanzar estas caracteriacutesticas es la programacioacuten basada en reglas[Waterman 1986]
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
311 Funcioacuten de un Sistema Experto
La funcioacuten de un Sistema Experto es aportar soluciones a problemas de un dominioespeciacutefico imitando la forma de razonamiento de los seres humanos es decir el SistemaExperto debe ser capaz de mostrar soluciones inteligentes [Giarratamo 1998]
Acceder a los conocimientos adquiridos por experiencia es lo maacutes difiacutecil ya que losexpertos al igual que otras personas apenas los reconocen como tales Son buscadoscon mucho esfuerzo y cuidado siendo descubiertos de uno en uno poco a poco
Ventajas del Sistema Experto
Experto Humano Experto ArtificialMortal PermanenteDifiacutecil de documentar Faacutecil de documentarDifiacutecil de transferir Faacutecil de transferirImpredecible ConsistenteMaacutes caro Menos caro
Ventajas del Experto Humano
Experto Humano Experto ArtificialCreativo No creativoAdaptable Requiere mantenimientoExperiencia sensorial Entrada simboacutelicaConocimiento de sentido comuacuten Conocimiento teacutecnico
312 Arquitectura de Sistemas Expertos [Gines 1986] [Giarratamo 1998]
La arquitectura general de un SE (Fig 31) estaacute compuesta fundamentalmente de
bull Base de Conocimiento Representa el conocimiento adquirido del expertohumano incluyendo experiencia sentido comuacuten e intuicioacuten
bull Motor de Inferencia Decide que se debe aplicar que se debe hacer resuelveconflictos nuevos hace uso de la base del conocimiento Proporcionamecanismos de razonamiento buacutesqueda aprendizaje etc
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
bull Interfaz Usuario Facilita la comunicacioacuten entre el Sistema Experto y el usuarioque realiza las consultas
bull Subsistema de Adquisicioacuten Mejor conocido como la Interfaz de Expertopermite ingresar el conocimiento a la Base de Conocimientos por parte delhumano experto en alguacuten dominio de conocimiento
bull Subsistema de explicaciones Permite dar a conocer los resultados obtenidospor el Sistema Experto
313 La base de conocimiento
El enfoque maacutes comuacuten para representar el dominio del conocimiento que se requierepara un SE son las reglas de produccioacuten Estas pueden ser referidas como reglasldquosituacioacuten-accioacutenrdquo o ldquoif-thenrdquo De esta forma con frecuencia una base deconocimientos estaacute fraguada principalmente de reglas las cuales son invocadas por uncasamiento de patrones con las particularidades de las tareas circunstanciales que vanapareciendo en la base de hechosLas reglas en una base de conocimientos representan el dominio de hechos y laheuriacutestica de un buen juicio de acciones a tomar cuando uno llega a situacionesespeciacuteficas La fuerza de un SE yace en el conocimiento especiacutefico del dominio delproblema Casi todos los sistemas existentes basados en reglas contienen cientos o milesde ellas y generalmente se obtienen de entrevistas con expertos durante un tiempo largoEn cualquier SE las reglas se conectan una a otra por ligas de asociacioacuten para formar
Base de
Motor de
Subsistema deadquisicioacuten
del
Subsistemade
explicacione
Interfazde
usuario
Ingeniero delconocimiento y experto Usuario
Base de hechos
Figura 31 Arquitectura de un Sistema Experto
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
redes de reglas Una vez que han sido ensambladas tales redes entonces se tiene unarepresentacioacuten de un cuerpo de conocimientos que es sustancial
Generalmente un experto tiene muchas reglas de criterio empiacutericas por lo que el soportesuele ser incompleto para la evidencia que se dispone En tales casos una teacutecnica es la devincular valores numeacutericos a cada regla para indicar el grado de certidumbre que eacutestatiene En la operacioacuten de SE los valores de certidumbre se combinan unos a otros atraveacutes de la red considerando tambieacuten la certidumbre de los datos de entrada delproblema para llegar finalmente a un valor de certidumbre de la solucioacuten final
314 El motor de inferencias
El sistema experto modela el proceso de razonamiento humano con un moacutedulo conocidocomo el motor de inferencia Dicho motor de inferencia trabaja con la informacioacutencontenida en la base de conocimientos y la base de hechos para deducir nuevos hechosContrasta los hechos particulares de la base de hechos con el conocimiento contenido enla base de conocimientos para obtener conclusiones acerca del problemaEl modelo de problema - solucioacuten y sus meacutetodos organizan y controlan las etapas que sevan tomando para la resolucioacuten de problemas Un modelo muy poderoso y comuacuten es elde encadenar las reglas `` if-then-else con el fin de formar alguna liacutenea derazonamiento Si el encadenamiento se inicia a partir de un conjunto de condiciones y semueve hacia alguna conclusioacuten el meacutetodo se llama encadenamiento hacia adelante y ensu caso contrario el encadenamiento es hacia atraacutes
Un problema de encadenamiento hacia adelante sin una apropiada heuriacutestica de podaderivaraacute muchas soluciones de las cuales no todas son necesarias En el caso deencadenamiento hacia atraacutes es necesario tambieacuten trabajar con una heuriacutestica apropiadacon la finalidad de poder manejar submetas conjuntivas En general para atacar elproblema de conjuncioacuten es necesario encontrar un caso en donde todas las submetasinteractuantes se satisfagan Pero con frecuencia una buacutesqueda de tal naturaleza nos dauna explosioacuten combinatoria de posibilidades Es por esta razoacuten que el dominioapropiado de la heuriacutestica y su esquema inferencial deberaacuten ser encontrados para cadatipo de problemas para que de esta manera se tenga un SE eficaz y eficiente
315 iquestPor queacute utilizar un Sistema Experto [Pluss 1999] [Sanchez 1999]
1 Con la ayuda de un Sistema Experto personas con poca experiencia pueden resolverproblemas que requieren un conocimiento formal especializado
2 Los Sistemas Expertos pueden obtener conclusiones y resolver problemas de formamaacutes raacutepida que los expertos humanos
3 Los Sistemas Expertos razonan pero basaacutendose en un conocimiento adquirido y notienen sitio para la subjetividad
Capiacutetulo 2 Marco teoacuterico
4 El uso de Sistemas Expertos es especialmente recomendado en las siguientessituaciones
bull Cuando los expertos humanos en una determinada materia son escasos
bull En situaciones complejas donde la subjetividad humana puede llevar aconclusiones erroacuteneas
bull Cuando es muy elevado el volumen de datos que ha de considerarse paraobtener una conclusioacuten
316 Construccioacuten de prototipos [Turban 1995]
En el desarrollo de Sistemas Expertos se plantean dos importantes riesgos
1- No existen implementaciones similares que puedan servir de orientacioacuten al encargadodel desarrollo en la casi totalidad de los casos
2- En muchos puntos los requisitos necesarios estaacuten esbozados con muy poca precisioacuten
El disentildeo y la especificacioacuten requieren una temprana determinacioacuten de la interfaz delsoftware y de la funcionalidad de los componentes En el desarrollo de SistemasExpertos deben alterarse a menudo durante y tambieacuten despueacutes de su implementacioacuten yaque los requisitos se han ido configurando y han obtenido mayor precisioacuten o porque seha descubierto que deben iniciarse otras viacuteas de solucioacuten Durante el desarrollo resultamaacutes apropiado empezar con implementaciones tipo test para encontrar el camino haciauna solucioacuten definitiva y para hacerlas coincidir con las necesidades del usuario
32 Algoritmos Geneacuteticos
321 Antecedentes [Medina 2004] [Goldberg 1989] [Davis 1991]
El Algoritmo Geneacutetico es una teacutecnica de buacutesqueda basada en la teoriacutea de la evolucioacutende Darwin que ha cobrado tremenda popularidad en todo el mundo durante los uacuteltimosantildeos
Esta teacutecnica se basa en los mecanismos de seleccioacuten que utiliza la naturaleza de acuerdoa los cuales los individuos maacutes aptos de una poblacioacuten son los que sobreviven al
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
adaptarse maacutes faacutecilmente a los cambios que se producen en su entorno Hoy en diacutea sesabe que estos cambios se efectuacutean en los genes de un individuo (unidad baacutesica decodificacioacuten de cada uno de los atributos de un ser vivo) y que sus atributos maacutesdeseables se transmiten a sus descendientes cuando eacuteste se reproduce sexualmente
En 1859 Darwin publica su libro laquoEl origen de las especiesraquo El libro causoacute una granpoleacutemica en el mundo cientiacutefico por las revolucionarias teoriacuteas en eacutel contenidas que lasespecies evolucionan acorde al medio para adaptarse a eacuteste Con ello el universopasaba de ser una creacioacuten de Dios estaacutetica y perfecta desde su inicio a un conjunto deindividuos en constante competicioacuten y evolucioacuten para poder perpetuar su especie en eltiempo La existencia de una especie pasa asiacute a ser algo dinaacutemico las especies se creanevolucionan y desaparecen si no se adaptan Para cada especie animal la naturalezaproponiacutea un crudo filtro soacutelo los mejores los maacutes aptos los que mejor se adapten almedio conseguiacutean sobrevivir lo suficiente para llegar a la madurez y encontrar unapareja para perpetuar sus aptitudes que le haciacutean maacutes apto
La informaacutetica ve aquiacute un claro proceso de optimizacioacuten Se toman los individuos mejoradaptados (mejores soluciones temporales) se cruzan (se mezclan ) generando nuevosindividuos (nuevas soluciones) que contendraacuten parte del coacutedigo geneacutetico (informacioacuten)de sus dos antecesores y por lo tanto aunque el nuevo individuo no tenga que estarforzosamente mejor adaptado de hecho puede que ni la probabilidad de que el nuevoindividuo generado esteacute mejor adaptado que los padres sea alta el promedio de laadaptacioacuten de toda la poblacioacuten si mejora ya que tienden a perpetuarse y extenderse lasmejores caracteriacutesticas y a extinguirse las poco beneficiosas o perjudiciales En losAlgoritmos Geneacuteticos se crea una nueva abstraccioacuten -la poblacioacuten- cuya funcioacuten decoste mejoraraacute globalmente por lo que puede que se encuentre alguacuten individuo conmejores caracteriacutesticas
Un investigador de la Universidad de Michigan llamado John Holland era consciente dela importancia de la seleccioacuten natural y a fines de los antildeos 60 desarrolloacute una teacutecnica quepermitioacute incorporarla a un programa Su objetivo era lograr que las computadorasaprendieran por siacute mismas A la teacutecnica que inventoacute Holland se le llamoacute originalmentePlanes Reproductivos pero se hizo popular bajo el nombre Algoritmo Geneacutetico trasla publicacioacuten de su libro en 1975
En esa universidad Holland impartiacutea un curso titulado Teoriacutea de sistemas adaptativosDentro de este curso y con una participacioacuten activa por parte de sus estudiantes fuedonde se crearon las ideas que maacutes tarde se convertiriacutean en los Algoritmos GeneacuteticosLos objetivos de su investigacioacuten fueron dos
Imitar los procesos adaptativos de los sistemas naturales y Disentildear sistemas artificiales (normalmente programas) que retengan los mecanismos
importantes de los sistemas naturales
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
Unos 15 antildeos maacutes adelante David Goldberg actual delfiacuten de los Algoritmos Geneacuteticosconocioacute a Holland y se convirtioacute en su estudiante Golberg era un ingeniero industrialtrabajando en disentildeo de tuberiacuteas y fue uno de los primeros que tratoacute de aplicar losAlgoritmos Geneacuteticos a problemas industriales Aunque Holland tratoacute de disuadirleporque pensaba que el problema era excesivamente complejo Goldberg consiguioacute loque queriacutea escribiendo un Algoritmo Geneacutetico en una computadora personal Apple IIEstas y otras aplicaciones creadas por estudiantes de Holland convirtieron a losAlgoritmos Geneacuteticos en un campo con base suficiente como para celebrar la primeraconferencia en 1985 ICGAacute85 Tal conferencia se sigue celebrando bianualmente[Beasley 1993]
Una definicioacuten bastante completa de un Algoritmo Geneacutetico es la propuesta por JohnKoza es un algoritmo matemaacutetico altamente paralelo que transforma un conjunto deobjetos matemaacuteticos individuales con respecto al tiempo usando operaciones modeladasde acuerdo al principio Darwiniano de reproduccioacuten y supervivencia del maacutes apto y trashaberse presentado de forma natural una serie de operaciones geneacuteticas de entre las quedestaca la recombinacioacuten sexual Cada uno de estos objetos matemaacuteticos suele ser unacadena de caracteres (letras o nuacutemeros) de longitud fija que se ajusta al modelo de lascadenas de cromosomas y se les asocia con una cierta funcioacuten matemaacutetica que refleja suaptitud [Koza 1992] 322 Definicioacuten de AG
Los Algoritmos Geneacuteticos (AG) son meacutetodos adaptativos que pueden usarse pararesolver problemas de buacutesqueda y optimizacioacuten Estaacuten basados en el proceso geneacutetico delos organismos vivos A lo largo de las generaciones las poblaciones evolucionan en lanaturaleza de acorde con los principios de la seleccioacuten natural y la supervivencia de losmaacutes fuertes postulados por Darwin Por imitacioacuten de este proceso los AlgoritmosGeneacuteticos son capaces de ir creando soluciones para problemas del mundo real Laevolucioacuten de dichas soluciones hacia valores oacuteptimos del problema depende en buenamedida de una adecuada codificacioacuten de las mismas [Goldberg 1989]
Un Algoritmo Geneacutetico consiste en una funcioacuten matemaacutetica que toma como entradas alos ejemplares y retorna como salidas cuaacuteles de ellos deben generar descendencia para lanueva generacioacuten
Los Algoritmos Geneacuteticos presentan ventajas sobre otros algoritmos que los hacenpreferibles para determinado tipo de aplicaciones Algunas de las caracteriacutesticas de losAlgoritmos Geneacuteticos son
bull Son algoritmos estocaacutesticos Dos ejecuciones distintas pueden dar dos solucionesdistintas Esto es uacutetil por el hecho de que hay gran cantidad de isoacutemeros que
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
corresponden a soluciones vaacutelidas por lo que es interesante que distintas ejecucionespuedan dar isoacutemeros distintos
bull Son algoritmos de buacutesqueda muacuteltiple luego dan varias soluciones Aunquehabitualmente la energiacutea de los individuos de la poblacioacuten final es similar losindividuos suelen ser distintos entre si Con el modelo de paralelizacioacuten empleado -geneacutetico multipoblacional- la probabilidad de obtener muchas soluciones distintas esmaacutes alta todaviacutea
bull Son los algoritmos que hacen una barrida mayor al subespacio de posiblessoluciones vaacutelidas De hecho se considera que de todos los algoritmos deoptimizacioacuten estocaacutesticos los Algoritmos Geneacuteticos son de los maacutes exploratoriosdisponibles
323 Ventajas y Desventajas [Bull 1993]
bull No necesitan conocimientos especiacuteficos sobre el problema que intentan resolverbull Operan de forma simultaacutenea con varias soluciones en vez de trabajar de forma
secuencial como las teacutecnicas tradicionalesbull Cuando se usan para problemas de optimizacioacuten de una funcioacuten objetivo- resultan
menos afectados por los oacuteptimos locales (falsas soluciones) que las teacutecnicastradicionales
bull Usan operadores probabiliacutesticos en vez de los tiacutepicos operadores determiniacutesticos delas otras teacutecnicas
bull La mayoriacutea de las otras teacutecnicas de optimizacioacuten son tambieacuten estocaacutesticasbull Pueden tardar mucho en converger o no converger en absoluto dependiendo en
cierta medida de los paraacutemetros que se utilicen tamantildeo de la poblacioacuten nuacutemero degeneraciones etc-
bull Pueden converger prematuramente debido a una serie de problemas de diversaiacutendole
324 iquestCoacutemo saber si es posible usar un Algoritmo Geneacutetico
La aplicacioacuten maacutes comuacuten de los Algoritmos Geneacuteticos ha sido la solucioacuten de problemasde optimizacioacuten en donde han mostrado ser muy eficientes y confiables Sin embargono todos los problemas pudieran ser apropiados para la teacutecnica y se recomienda engeneral tomar en cuenta las siguientes caracteriacutesticas del mismo antes de intentar usarlabull Su espacio de buacutesqueda (ie sus posibles soluciones) debe estar delimitado dentro
de un cierto rangobull Debe poderse definir una funcioacuten de aptitud que indique que tan buena o mala es
una cierta respuestabull Las soluciones deben codificarse de una forma que resulte relativamente faacutecil de
implementar en la computadora
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
Decisiones para implementar un Algoritmo Geneacutetico [Michalewicz 1992]
Las decisiones que hay que tomar para implementar un Algoritmo Geneacutetico son
bull Criterio de codificacioacuten Coacutemo se va a almacenar la informacioacuten en el genomabull Criterio de tratamiento de individuos no factibles Coacutemo se van a tratar a los
individuos que no cumplan las restriccionesbull Criterio de inicializacioacuten Coacutemo se va a construir la poblacioacuten inicialbull Criterio de parada Determina cuaacutendo el algoritmo ha llegado a una solucioacuten
aceptablebull Funcioacuten de adaptacioacuten Corresponde a la funcioacuten de costo de la investigacioacuten
operativa tradicionalbull Operadores geneacuteticos Se emplean para determinar coacutemo va a ser la nueva
generacioacuten Baacutesicamente son los operadores de cruce y mutacioacuten aunque pueden serempleados otros adicionales -muerte aborto envejecimiento- Tanto cruce comomutacioacuten pueden ser realizados de muchas formas distintas
bull Criterios de reemplazo Los criterios que determinan quieacutenes se van a cruzar Notienen que ser obligatoriamente los mismos que los criterios de seleccioacuten de lospadres
bull Paraacutemetros de funcionamiento Determinados paraacutemetros que sin poder serenglobados en ninguno de los anteriores son fundamentales para el funcionamientode un Algoritmo Geneacutetico Es el caso por ejemplo del tamantildeo de la poblacioacuten laprobabilidad de la aplicacioacuten de los operadores geneacuteticos etc
325 Paraacutemetros que deben ser especificados en el programa
Nordm de generaciones cantidad de veces que se produce una nueva generacioacuten deindividuos utilizando las reglas anteriormente explicadas Por loacutegica cuantas maacutesgeneraciones se produzcan se obtendraacuten mejores individuosNordm de individuos por generacioacuten en este ejemplo la cantidad de individuos de unageneracioacuten a otra es constante no variacuteaNordm de entrenamientos cantidad de veces que se lleva a cabo un entrenamiento entrediferentes generaciones de individuos
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
Fig 32 Pseudocoacutedigo del Algoritmo Geneacutetico simple
Los Algoritmos Geneacuteticos son una poderosa herramienta de propoacutesito general deoptimizacioacuten que modela los principios de la evolucioacuten [Burke 1994]
El proceso es el siguiente
1 Una poblacioacuten random de horarios factibles es creada Cada horario es evaluado deacuerdo a una conjunto de criterios (por ejemplo el tamantildeo del horario cuantosgrupos son colocados a la misma hora y en el mismo saloacuten cuantos salones hayvaciacuteos)
2 Los horarios son seleccionados de manera aleatoria para ser las bases de la proacuteximageneracioacuten Los buenos horarios son maacutes deseables que los malos En las bases dela evaluacioacuten de estos miembros de la poblacioacuten (horarios factibles) se escogen lospadres de la proacutexima generacioacuten de horarios Evaluando numeacutericamente durante elproceso de seleccioacuten buscando los mejores horarios los peores horarios soneliminados al mismo tiempo que la buacutesqueda se dirige hacia las aacutereas maacutespromisorias del espacio de soluciones
3 El Operador Mutacioacuten se aplica generalmente a un solo miembro de la poblacioacuten einvolucra el cambio aleatorio de la hora o aula de algunos grupos despueacutesalmacena el nuevo horario siempre manteniendo un horario factible Esto agrega
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
un elemento que permite tambieacuten introducir material geneacutetico uacutetil que ha sidoperdido en otros horarios en las primeras generaciones
4 El Operador de Cruzamiento toma una pareja de horarios y los combina de algunamanera para producir uno o dos nuevos horarios esto se hace generalmente deforma aleatoria seleccionando algunos grupos de la mantildeana de un miembro de lapoblacioacuten y los algunos grupos de la tarde de otro miembro para producir un nuevohorario cualquier grupo que no pueda ser colocado de esta manera se manda alperiodo siguiente disponible
5 La nueva poblacioacuten es generada El proceso seraacute repetido hasta que una buenasolucioacuten sea generada
33 Programacioacuten Loacutegica de Restricciones (PLR)
331 Antecedentes de la PLR
La Programacioacuten Loacutegica de Restricciones (PLR) es una teacutecnica que tiene mucho encomuacuten con los algoritmos de asignacioacuten heuriacutestica Dechter describe asiacute el problemade la satisfaccioacuten de restricciones ldquoUn problema de satisfaccioacuten de restricciones (PSR)es representado por una red de restricciones consistente en un conjunto de n variablesX1 Xn con sus respectivos valores de dominio RR n y un conjunto derestricciones Una restriccioacuten Ci (Xi1Xij)es un subconjunto del producto cartesiano Ri1 x x R i1 formado por todas las tuplas de valores para un subconjunto(X i1X ij) delas variables que son compatibles unas con otrasrdquo [Detcher 1990]
Una solucioacuten de la red es una asignacioacuten de valores a todas las variables de tal formaque todas las restricciones son satisfechasrdquo Esta es una representacioacuten maacutes poderosaque el modelo de los Grafos Coloreados porque puede representar restricciones mascomplejas El problema de los grafos coloreados es equivalente a un PLR binario en lacual cada restriccioacuten soacutelo tiene dos variables
Este modelo se resuelve tratando de asignar valores a cada una de las variables encuestioacuten y entonces regresando si se encuentra en un punto muerto y quitandorestricciones si se descubre que no se puede encontrar solucioacuten El orden en el que lasvariables son seleccionadas y el orden de los valores que son asignados a las variablespuede ser alterado para tratar aumentar la velocidad de buacutesqueda
La PLR es un meacutetodo que permite el disentildeo raacutepido de prototipos de resolucioacuten deproblemas complejos Las principales aportaciones en esta liacutenea se centran en eldesarrollo de programas que incluyen conjuntos de restricciones adaptadas a unadeterminada familia de problemas asiacute como al disentildeo formal e implementacioacuten demodelos de interpretacioacuten en paralelo con el fin de mejorar la eficiencia del proceso
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
deductivo El objetivo final es disponer de sistemas de resolucioacuten implementados paraapoyar la creacioacuten de sistemas donde la explosioacuten combinatoria de los elementos de unproblema hace muy difiacutecil la buacutesqueda de una solucioacuten en un tiempo razonable [Farion1992]
En esta seccioacuten se proporciona una breve introduccioacuten de la Programacioacuten Loacutegica conRestricciones y sus aplicaciones dentro del marco general de la programacioacuten loacutegica Setrata eacuteste de un campo que ha tenido una notable expansioacuten debido a su potencialaplicacioacuten praacutectica dado que el anaacutelisis de las restricciones permite mejorarconsiderablemente la eficiencia del caacutelculo de determinadas funciones
332 Restricciones
En primer lugar se empieza por contestar la pregunta iquestQueacute es una restriccioacuten Estacuestioacuten se puede responder tan brevemente como escribe Roman Bartak[1998]Una restriccioacuten es simplemente una relacioacuten loacutegica entre varias variablesdesconocidas tomando cada una un valor dentro de un dominio determinado (peA+B=C-el circulo estaacute dentro del cuadrado- etc)Asiacute las restricciones aparecen de forma natural en todos los campos del conocimientohumano La suma de los aacutengulos de un triaacutengulo es 180 grados es un ejemplo derestriccioacuten que aparece en el mundo real De hecho las restricciones son el medionatural en el que las personas expresamos los problemas en todas las aacutereas
Con la explicacioacuten dada se ve de forma natural que las restricciones gozan de variaspropiedades interesantes
bull las restricciones pueden especificar informacioacuten parcial es decir en lasrestricciones no hace falta que se den de forma uacutenica los valores de sus variables
bull las variables son no direccionales es decir en una restriccioacuten tiacutepica sobre dosvariables (XY) se puede inferir una restriccioacuten sobre X dada una restriccioacutensobre Y y viceversa
bull las restricciones son declarativas es decir se puede especificar que relacioacutendeben mantener sin especificar el procedimiento computacional que implementeesa relacioacuten
bull las restricciones son aditivas es decir el orden de imposicioacuten de las restriccionesno importa todo lo que importa al fin y al cabo es la conjuncioacuten de restriccionesy su efecto
bull las restricciones no suelen ser independientes normalmente restricciones dentrodel conjunto total de restricciones comparte variables
Asiacute siguiendo esta idea el objetivo de la Programacioacuten Loacutegica con Restricciones essustituir el proceso de unificacioacuten por la resolucioacuten de restricciones sobre un dominio
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
particular de intereacutes Con esta visioacuten se considera que el procesador de restriccionesdebe encargarse de comprobar la consistencia del conjunto de restricciones y dentro delo posible reducirlo a alguna forma normal
Seguacuten Elmohamed [Elmohamed 1998] las restricciones pueden ser divididas en trestipos fuertes medias y suaves
Restricciones fuertes Son todas aquellas que deben ser cumplidas obligatoriamente elcosto de no cumplir estas restricciones es sumamente alto y por lo tanto en un horariofactible su costo asociado por incumplimiento debe ser cero Por ejemplo (en unproblema real se pueden encontrar de 10 a 15 restricciones fuertes)
bull Dos o maacutes clases impartidas por un profesor no se pueden programar a lamisma hora
bull Una clase teoacuterica y su laboratorio no se pueden programar a la misma hora en elmismo diacutea
bull Una clase no se puede programar en un aula a menos que su capacidad seamayor al nuacutemero de alumnos inscritos
Restricciones medias Estas restricciones no se refieren a conflictos de tiempo perotienen asociado un alto costo a ellas sin embargo este costo no es tan alto como el de lasrestricciones fuertes En el condensado de horarios final el costo de estas restriccioneses minimizado y es deseable reducirlo a cero Por ejemplo (en un problema real sepueden tener entre 20 y 25 restricciones medias)
bull Para cada estudiante el balancear las secciones LunMieVie y MarJuebull Balancear o distribuir y equilibrar las horas de clase en la semanabull Las clases pueden requerir periodos de tiempo contiguosbull Las clases se pueden agrupar con otras clases formando paquetesbull Los horarios particulares deben tener la menor cantidad de ldquohoyosrdquo posible esto
es que las clases deben ser consecutivas unas despueacutes de otras
Restricciones suaves Estas restricciones no tienen nada que ver con conflictos detiempo y tienen un bajo costo asociado a ellas Tambieacuten en el condensado de horariosfinal este costo es minimizado pero no necesariamente debe ser cero Por ejemplo (sepueden tener entre 30 y 40 restricciones suaves)
bull Balancear la inscripcioacuten en cursos de varios paquetesbull Especificar la hora de comida y otros periodos de descansobull Los catedraacuteticos pueden requerir periodos de tiempo sin clasebull No inscribir alumnos-atletas en cursos que tengan conflicto con sus horas de
praacutectica deportiva etc
333 Sistemas con RestriccionesUna manera maacutes formal de definir las restricciones es considerarlas como una foacutermulade primer orden interpretada en una estructura para asiacute tener en cuenta la semaacutenticaparticular del sistema de restricciones Esta semaacutentica declarativa es adecuada cuando
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
existe a priori una estructura que se adecua al sistema de restricciones (pe Los realespara las restricciones aritmeacuteticas) pero esto no funciona demasiado bien para lossistemas de restricciones maacutes praacutecticos (pe Dominios finitos) Obviamente no se puededireccionar ninguacuten caacutelculo operacional relacionado con el propio procesador de lasrestricciones [Elmohamed 2001]
334 Referencia Histoacuterica de las RestriccionesLas restricciones como un aacuterea de trabajo que combina investigacioacuten de un gran nuacutemerode campos incluyendo Inteligencia Artificial Lenguajes de Programacioacuten CaacutelculoSimboacutelico y Loacutegica Computacional Las restricciones sobre redes y los problemas desatisfabilidad con restricciones empezaron a estudiarse por los investigadores deInteligencia Artificial en los antildeos 70
La programacioacuten con restricciones ha sido aplicada con notable eacutexito en numerososcampos Los trabajos en esta aacuterea se remontan a la investigacioacuten de InteligenciaArtificial y Representacioacuten Graacutefica por Computadora por los antildeos 60 y 70 En la uacuteltimadeacutecada sin embargo ha empezado a darse una mayor conciencia de que las restriccionesproporcionan las bases para un potente acercamiento a la programacioacuten modelado yresolucioacuten de problemas y que los diferentes esfuerzos por explotar estas ideas puedenser unidos bajo el mismo prisma conceptual y praacutectico la programacioacuten conrestricciones
Entre los dominios tratados por los sistemas de Programacioacuten Loacutegica con Restriccioneslos que maacutes ampliamente son investigados son sin duda los dominios finitos losnuacutemeros reales y racionales con restricciones aritmeacuteticas y los booleanos De hecho 3de los principales lenguajes de Programacioacuten Loacutegica con Restricciones son un claroejemplo de esta tendencia CHIP que proporciona restricciones sobre dominios finitosracionales y booleanos PrologIII que incluye racionales booleanos y listas y PLR(R)que maneja restricciones sobre reales
En la actualidad se pueden observar dos ramas principales en los avances en laprogramacioacuten con restricciones que parten de diferente base y por tanto usan diferentemetodologiacutea para resolver las restricciones Estas dos ramas son
bull Satisfaccioacuten de Restriccionesbull Resolucioacuten de Restricciones
335 Satisfaccioacuten de RestriccionesLa satisfaccioacuten de restricciones parte de los avances en Inteligencia Artificial (problemascombinatorios) y los Graacuteficos por computadora (sistema de SKETCHPAD[1963]expresando coherencia geomeacutetrica en el caso de anaacutelisis de escenas)
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
336 Resolucioacuten de RestriccionesLa resolucioacuten de restricciones difiere de la satisfaccioacuten de restricciones porque usavariables con dominios infinitos Ademaacutes las restricciones individuales son maacutescomplicadas por ejemplo ecuaciones no lineales En consecuencia los algoritmos deresolucioacuten de restricciones usan meacutetodos algebraicos y numeacutericos en vez decombinaciones y buacutesqueda Sin embargo existe metodologiacutea para discretizar losdominios infinitos en un nuacutemero finito de componentes y entonces se aplican lasteacutecnicas de Satisfaccioacuten de Restricciones
La programacioacuten con restricciones ha sido aplicada con eacutexito en numerosos campos Lasaplicaciones recientes incluyen [Detcher 1990]
bull Graacuteficos por Computadorabull Procesamiento del Lenguaje Natural (construccioacuten de analizadores eficientes)bull Sistemas de Bases de Datos (para reforzar yo mantener la consistencia de los
datosbull Problemas de Investigacioacuten Operativa (como la optimizacioacuten de problemas)bull Biologiacutea Molecular (secuenciacioacuten de ADN)bull Aplicaciones de Empresabull Ingenieriacutea Eleacutectrica (localizacioacuten de fallos)bull Disentildeo de Circuitos (para computar configuraciones)bull Planificacioacuten y organizacioacutenbull Configuracioacutenbull Juegosbull Configuracioacuten de horariosbull Criptoaritmeacuteticabull Coloreado de Grafosbull Razonamiento de hipoacutetesis quiacutemicas
En esta seccioacuten se va a dedicar una parte a cada una las aplicaciones maacutes estudiadas
337 Organizacioacuten de Proyectos
El problema de la Organizacioacuten es el proceso de asignar actividades a recursos en eltiempo En el caso general de organizacioacuten es un proceso de tomar decisiones donde sepueden tomar dos tipos de decisiones
bull Decisiones de situar temporalmente Cuaacutendo deberiacutea empezar cada actividadbull Decisiones de asignacioacuten de recursos Con queacute recursos deberiacutea ejecutarse cada
actividad
Los problemas de organizacioacuten y de asignacioacuten de recursos estaacuten basados enrestricciones Diferentes restricciones pueden afectar a la organizacioacuten la duracioacuten de
Capiacutetulo 3 Teacutecnicas de la IA utilizadas para la generacioacuten de horarios
una actividad las fechas de contrato restricciones precedentes tiempos de transferenciao de inicio de la actividad la capacidad de los recursos y el reparto de recursos
La relajacioacuten de las restricciones principales caracteriza la calidad de los problemas deorganizacioacuten Estas restricciones son las relacionadas con fechas de entregaproductividad periodicidad de los cambios de herramientas niveles de inventariomargen de tiempo etc Algunas de estas restricciones pueden ser combinadas en lafuncioacuten de evaluacioacuten para la optimizacioacuten
Las aplicaciones industriales de las teacutecnicas de resolucioacuten de restricciones a losproblemas del tipo de asignacioacuten de tareas incluye[Detcher 1990]
bull Organizacioacuten de la produccioacutenbull Organizacioacuten y planificacioacuten del transporte y la logiacutesticabull Administracioacuten del traacuteficobull Disentildeo de horarios de recursos y de hombresbull Asignacioacuten de plantilla incluyendo aplicaciones de ingenieriacutea de organizacioacutenbull Problemas de empaquebull Configuracioacuten de maacutequinas
Claramente hay muchos problemas relacionados en el aacuterea de la organizacioacuten en lapraacutectica para los sistemas comerciales e industriales reales los liacutemites entre unos y otrosno estaacuten claros Es difiacutecil encontrar alguacuten problema real que se ajuste a un modelopreconcebido sin tener que descartar partes del problema y aproximar otras asiacute que hayque tomar estos modelos con amplio margen de aproximacioacuten
Otra complicacioacuten es el tema de la optimizacioacuten En algunos casos el usuario estaacutesatisfecho soacutelo con tener una manera automaacutetica de tener la respuesta pero la mayoriacuteaquieren tener al menos una buena respuesta y algunos el mejor resultado posible Perodebido a la gran complejidad combinatoria de la mayoriacutea de los problemas reales deorganizacioacuten una optimizacioacuten real es muy difiacutecil asiacute que en la mayoriacutea de los casos seusa la programacioacuten con restricciones en combinacioacuten con otras teacutecnicas tales comoAlgoritmos Geneacuteticos para dar soluciones casi oacuteptimas en un tiempo razonable
Normalmente los problemas de organizacioacuten se presentan usando variables conrestricciones fuertes y restricciones suaves Estas pueden ser agrupadas en la abstraccioacutendel problema de organizacioacuten Asiacute tiacutepicamente el tiempo de comienzo y fin y laduracioacuten de cada actividad se representan por variables con restricciones Los dominiosde estas variables son el rango de tiempo de intereacutes en la organizacioacuten requerida
Capiacutetulo 4 Anaacutelisis y Disentildeo
CAPIacuteTULO 4
ANAacuteLISIS Y DISENtildeO
41 Recopilacioacuten de informacioacuten
bull Documentos recopilados
bull Cataacutelogo de asignaturas prerrequisitos y semestrebull Cataacutelogo de aulas y su capacidadbull Cataacutelogo de catedraacuteticos horas disponiblesbull Mapa reticular de la carrerabull Reporte de grupos abiertos en periodo actualbull Reporte de alumnos por grupo en periodo actualbull Reporte de alumnos no inscritos por materia y semestrebull Reporte de simulacioacuten (si todos aprobaran sus cursos)bull Reporte del iacutendice de reprobacioacuten del semestre anteriorbull Encuesta aplicada para determinar los conocimientos requeridos
para impartir una materiabull Encuesta aplicada para obtener los conocimientos de cada
catedraacuteticobull Aacuterbol de conocimiento realizado para determinar los grupos por
abrir de cada asignaturabull Aacuterbol de conocimiento del perfil de las asignaturasbull Aacuterbol de conocimiento del perfil de los catedraacuteticosbull Aacuterbol de conocimiento de los criterios de apertura de materia
bull El proceso de la elaboracioacuten de los horarios
1 Elaboracioacuten de los reportes estadiacutesticos del periodo actual(grupos abiertos alumnos por grupo alumnos no inscritos pormateria simulacioacuten iacutendice de reprobacioacuten)
2 Caacutelculo de la estimacioacuten de alumnos por materia del proacuteximoperiodo
3 Caacutelculo del nuacutemero de grupos por materia requeridos para elproacuteximo periodo
4 Ajuste de los grupos por materia requeridos para el proacuteximoperiodo
5 Formacioacuten de los grupos en paquetes por semestre6 Asignacioacuten de hora y aula a los grupos
Capiacutetulo 4 Anaacutelisis y Disentildeo
7 Seleccioacuten de catedraacutetico al grupo y viceversa8 Ajustes en hora aula y catedraacutetico por grupo9 Elaboracioacuten del reporte condensado para publicacioacuten de horarios10 Elaboracioacuten de los reportes de grupos sin maestro maestros con
horas disponibles grupos sin aula
Para elaborar los horarios de los grupos y maestros un semestre determinado se tienenen consideracioacuten los siguientes elementos
bull El estadiacutestico de Servicios Escolares (SE)El departamento de SE cuenta con un sistema que registra todo el historial acadeacutemicode los alumnos inscritos en el ITZ las materias cursadas y sus calificaciones lasdiferentes carreras con su retiacutecula de asignaturas y sus prerrequisitos los grupos delsemestre actual la cantidad de alumnos en cada grupo de una asignatura los iacutendicesde reprobacioacuten de semestres anteriores las materias que puede cursar un alumno elproacuteximo semestre etceacutetera Toda esta informacioacuten plasmada en reportesdiferentes es la base para la generacioacuten de los horarios del proacuteximo semestre
bull Los grupos requeridosSobre la base de operaciones aplicadas a la informacioacuten estadiacutestica se obtiene lacantidad de grupos requeridos para abrirse el proacuteximo semestre este nuacutemero degrupos es la cantidad oacuteptima con la que se podraacuten inscribir los alumnos sin tenerproblemas de falta de espacio el alterar disminuyendo o aumentando el nuacutemero degrupos requeridos puede ocasionar alumnos con carga crediticia menor a lareglamentaria o que existan grupos con menos de 10 alumnos respectivamente
bull Las aulasEl ITZ cuenta con 52 aulas repartidas entre las 8 carreras a cada coordinador decarrera se le asigna determinado numero de aulas para su administracioacuten asiacute que alasignar el aula a cada grupo debe cuidar la correcta distribucioacuten de los grupos en loshorarios correspondientes y que la capacidad de las aulas no rebase el numero dealumnos inscritos
bull Los maestros y departamentosCada departamento esta formado por un jefe y los catedraacuteticos que forman laacademia de cada carrera los profesores pueden ser de tiempo completo frac34 y frac12tiempo o profesores de asignatura cada uno tiene un horario predeterminado en turnomatutino o vespertino los catedraacuteticos de un departamento cubren las asignaturas desu carrera y apoyan a otras carreras a cubrir las materias que tienen el perfil de esaacademia los catedraacuteticos son uno de los recursos mas difiacuteciles de controlar
Restricciones propias de los profesores
o Materia no tiene maestro
o Maestro tiene horas disponibles
Capiacutetulo 4 Anaacutelisis y Disentildeo
o Maestro tiene materias preferencia
o Maestro ha impartido materia
o Maestro solicita materia
o Maestro tiene restricciones de nuacutemero de materias a impartir
o Restriccioacuten no pueden darse maacutes de tres materias diferentes
o Maestro tiene una profesioacuten
o Maestro tiene un perfil
o Maestro tiene un aacuterea definida
o Maestro prefiere materias especialidad
o Maestro prefiere materias semestres iniciales
bull Las materias o asignaturasEn cada carrera se tiene un mapa reticular que tiene las materias de cada semestre elnombre los creacuteditos las horas de teoriacutea y praacutectica las ligas con los prerrequisitos lasmaterias de la especialidad seleccionada etc
Restricciones propias de las asignaturas
o Materia de 1deg semestre
o Materia de 2deg semestre
o Materia de 3deg semestre
o Materia de 4deg semestre
o Materia de 5deg semestre
o Materia de 6deg semestre
o Materia de 7deg semestre
o Materia de 8deg semestre
o Materia de 9deg semestre
o Materia de especialidad
o Materia tiene prerrequisito
o Materia es de baacutesicas
o Materia requiere conocimientos de Base de Datos
o Materia requiere conocimientos de Electroacutenica
o Materia la puede impartir cualquier maestro
Capiacutetulo 4 Anaacutelisis y Disentildeo
o Materia requiere conocimientos de Redes
o Materia requiere ser impartida por ingeniero
o Materia tiene complejidad alta
o Materia debe ser impartida por catedraacutetico con grado de maestriacutea
o Materia requiere conocimientos de Arquitectura de Computadoras
o Materia no tiene cadenas
o Materia de Administracioacuten
o Materia de Ingenieriacutea Industrial
o Materia requiere conocimientos de Aacutelgebra
o Materia requiere conocimientos de Caacutelculo Diferencial e Integral
o Materia requiere conocimientos de Quiacutemica Inorgaacutenica y Orgaacutenica
o Materia requiere una elaboracioacuten de proyectos
bull Las carrerasLas 8 carreras que se imparten en el ITZ son ordenadas por nuacutemero de alumnos
1 Ingenieriacutea en Sistemas Computacionales2 Licenciatura en Informaacutetica3 Licenciatura en Administracioacuten4 Ingenieriacutea Civil5 Ingenieriacutea Electromecaacutenica6 Ingenieriacutea Industrial7 Ingenieriacutea Quiacutemica8 Ingenieriacutea Bioquiacutemica
bull Los horarios de grupoUna vez determinados los grupos requeridos para el proacuteximo semestre se procede a laasignacioacuten de horario de acuerdo al nuacutemero de horas teoacuterico-praacutecticas se le asignaaula y un catedraacutetico responsable se fija tambieacuten un nuacutemero de alumnos y el tiempode laboratorio en caso de ser necesario
Capiacutetulo 4 Anaacutelisis y Disentildeo
Diagrama de flujo del proceso
Elaboracioacuten de los reportes estadiacutesticos
Caacutelculo de alumnos por materiaproacuteximo periodo
Caacutelculo del nuacutemero de grupos pormateria requeridos
Ajuste de los grupos por materiarequeridos
Formacioacuten de los grupos en paquetespor semestre
Asignacioacuten de hora y aula a los grupos
Asignacioacuten de catedraacutetico al grupo
Ajustes en hora aula y catedraacutetico porgrupo
Elaboracioacuten del reporte condensado
Elaboracioacuten de reportes varios
Todo cuadrabien
Si
No
Fin
Inicio
Capiacutetulo 4 Anaacutelisis y Disentildeo
42 Anaacutelisis de la informacioacuten
bull Cataacutelogo de asignaturas prerrequisitos y semestre
Funcioacuten Dar a conocer las asignaturas de una carrera los prerrequisitos de las materiasy el semestre al que pertenece una asignatura los creacuteditos miacutenimos que debe tenerun alumno para cursar la asignatura
Origen Reporte emitido por el departamento de Servicios Escolares
Campos del reporte nombre carrera nombre asignaturas creacuteditos miacutenimos materiasprerrequisito semestre al que pertenece la asignatura
bull Cataacutelogo de aulas y su capacidad
Funcioacuten Dar a conocer la nomenclatura y capacidad de las aulas y laboratorios del ITZ
Origen Departamento de Planeacioacuten
Campos del reporte Nombre del edificio nuacutemero de aula capacidad
bull Cataacutelogo de catedraacuteticos horas disponibles
Funcioacuten Dar a conocer los catedraacuteticos por departamento y sus horas disponibles frentea grupo
Origen Departamentos acadeacutemicos
Campos del reporte Nombre del departamento clave de profesor nombre del profesorcantidad de horas frente a grupo que debe tener
bull Mapa reticular de la carrera
Funcioacuten Mostrar el mapa reticular de una carrera graacuteficamente muestra las asignaturaspor semestre sus requisitos foacutermula crediticia etc
Origen Divisioacuten de Estudios Profesionales
Campos del reporte Nombre y clave de la carrera nombre y clave de las asignaturasfoacutermula crediticia (nuacutemero de horas teoacutericas nuacutemero de horas praacutecticas creacuteditos dela asignatura) las materias prerrequisito de otras materias de especialidad semestrede la asignatura nuacutemero de creacuteditos necesarios para poder cursar una asignatura
Capiacutetulo 4 Anaacutelisis y Disentildeo
bull Reporte de grupos abiertos en periodo actual
Funcioacuten Muestra los cursos que son ofertados en el periodo actual
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera nombre de las asignaturas grupo de loscursos cantidad de alumnos inscritos nombre del catedraacutetico que lo imparte
bull Reporte de alumnos por grupo en periodo actual
Funcioacuten Muestra la cantidad de alumnos inscritos por semestre de una carrera
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera semestres del 1 al 13 nuacutemero de alumnosinscritos por semestre
bull Reporte de alumnos no inscritos por materia y semestre
Funcioacuten Muestra los alumnos que pudieron inscribirse a una materia pero que poralguna razoacuten no lo hicieron
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera nombre de la materia por semestre nuacutemerode alumnos que pudieron inscribirse y no lo hicieron
bull Reporte de simulacioacuten (si todos aprobaran sus cursos)
Funcioacuten Este reporte simula que todos los alumnos inscritos en los cursos acreditan elcurso entonces cuenta cuantos estudiantes pueden cursar todas las asignaturas comosi hubieran aprobado todos sus cursos actuales
Origen Departamento de Servicios Escolares
Campos del reporte Nombre de la carrera nombre de la asignatura y por semestre elnuacutemero de alumnos que pueden cursar una materia
bull Reporte del iacutendice de reprobacioacuten del semestre anterior
Funcioacuten Dar a los coordinadores los iacutendices de aprobacioacuten y reprobacioacuten de los cursosdel periodo anterior
Capiacutetulo 4 Anaacutelisis y Disentildeo
Origen Departamento de Servicios EscolaresCampos del reporte Nombre de la carrera nombre de la asignatura total de alumnos
aprobados total de alumnos reprobados del periodo anterior
bull Encuesta de conocimientos requeridos para impartir asignatura
Funcioacuten Obtener los datos de los conocimientos que debe poseer un catedraacutetico quequiera impartir una asignatura
Origen Academia de cada departamentoCampos del reporte Nombre de la asignatura objetivo de la asignatura carrera lista de
conocimientos requeridos para impartir la asignatura carrera adecuada del profesorque imparta la asignatura
bull Encuesta de conocimientos requeridos para perfil de profesores
Funcioacuten Obtener los datos de los conocimientos que debe posee un catedraacutetico
Origen Academia de cada departamento
Campos del reporte Nombre del catedraacutetico carrera del catedraacutetico conocimientos enaacutereas particulares de cada asignatura
43 Solucioacuten definida
Resolver el problema iniciando con la metodologiacutea ldquodivide y venceraacutesrdquo el problemageneral se dividiraacute en 6 problemas particulares
a) Sistema de Informacioacuten para control de horariosb) Sistema Experto para definicioacuten y generacioacuten de grupos
por abrirc) Moacutedulo Programacioacuten Loacutegica de Restricciones para
asignar horario a los gruposd) Moacutedulo Algoritmos Geneacuteticos para asignar aula a los
grupos ya definidose) Sistema Experto para definir catedraacutetico para
asignaturaf) Sistema Experto para asignar asignatura a catedraacutetico
Debido a la naturaleza y caracteriacutesticas de la informacioacuten todos lossistemas seraacuten realizados iniciando desde cero la recopilacioacuten deinformacioacuten el anaacutelisis el disentildeo y la programacioacuten de cada moacutedulo delsistema programado en Visual Basic y Bases de Datos en Access
Capiacutetulo 4 Anaacutelisis y Disentildeo
La principal ventaja de eacutesta opcioacuten es que el sistema estaacute hecho a la medida de lasnecesidades de la institucioacuten poniendo las restricciones en el formato que se tienenactualmente la desventaja es que se debe desarrollar TODO el sistema
44 Requerimientos del sistema
Los Motores de Inferencias deben ser disentildeados con las siguientes caracteriacutesticas
bull Buacutesqueda de primero en profundidad en ocasiones cuando se interactuacutee con elusuario este tipo de buacutesqueda seraacute utilizado para recorrer toda la base deconocimiento
bull Buacutesqueda heuriacutestica en la que el usuario deberaacute dar datos iniciales de por dondeempezar la buacutesqueda de alguna informacioacuten
bull Tomar informacioacuten de la Base de Conocimiento y guardarla en las bases de datos ytambieacuten inferir la informacioacuten y guardarla en las bases de datos para su posteriortratamiento e impresioacuten
bull Seleccionar la mejor opcioacuten y presentarla al usuario para los casos en que el usuariodecida cambiar alguacuten dato la maacutequina deberaacute presentar una opcioacuten y saber indicarel porqueacute la ldquoeligioacuterdquo
bull Dar otras soluciones ademaacutes de la oacuteptima teniendo porcentajes de aceptacioacuten paracada solucioacuten y permitiendo la buacutesqueda de maestros a impartir materias aulas paraalguacuten grupo o cantidad de grupos a abrir
bull Dar resultados en lenguaje natural de modo que el usuario entienda claramente loque la maacutequina le comunica
bull Trabajar interactivamente con el usuario para que eacuteste pueda cuestionar el porqueasignoacute un maestro abrioacute grupos asignoacute un aula etceacutetera
bull Tener capacidad para el uso del paradigma basado en analogiacuteas ldquoSi un maestro yadio la materia en alguacuten semestre entonces puede darla en este semestrerdquo o bien ldquoSieste paquete de materias estaacute completo entonces repite todo el paquete estesemestrerdquo
Interfaz de Usuario recibe y entrega informacioacuten interactuando con el usuario esdecir el usuario puede
1) alimentar hechos2) solicitar resultados y reportes3) cuestionar coacutemo se obtuvieron ciertas conclusiones
La interfaz de usuario debe tener las caracteriacutesticas siguientes
bull Comunicarse en el lenguaje del usuario sea un humano u otro dispositivobull Recibir hechos del usuario y almacenarlos en la base de hechosbull Presentar de manera amigable los objetivos a buscar e inferencias en pantallabull Dar de manera clara la explicacioacuten de la inferencia realizada
Capiacutetulo 4 Anaacutelisis y Disentildeo
bull Dar resultados por escrito en informesbull Proporcionar al usuario la facilidad de alimentar la base de conocimientosbull Dar al usuario la facultad de corregir las inferenciasbull Si el usuario es inexperto facilitar la ayuda necesaria
Seleccioacuten del lenguaje de programacioacuten
Visual Basic 60 proporciona a los programadores facilidad para desarrollar aplicacionescomplejas en poco tiempo (comparado con lo que cuesta programar en Visual C++ porejemplo)
El sistema necesita interfaces amigables al usuario con ventanas y botones emergentesen cualquier momento y Visual Basic 60 es una herramienta de disentildeo de aplicacionespara Windows en la que eacutestas se desarrollan en una gran parte a partir del disentildeo de unainterfaz graacutefica (pudiendo incorporar todos los elementos de este entorno informaacuteticoventanas botones cajas de diaacutelogo y texto botones de opcioacuten y de seleccioacuten barras dedesplazamiento graacuteficos menuacutes etc) En una aplicacioacuten Visual Basic 60 el programaestaacute formado por una parte de coacutedigo puro y otras partes asociadas a los objetos queforman la interfaz graacutefica Visual Basic 60 permite la programacioacuten de sus ventanasbotones y componentes de manera maacutes faacutecil que Java con sus Applets
En la parte del sistema de control de horarios que es un sistema de informacioacuten comuacutenlos programas que llenan de informacioacuten las bases de datos son muy parecidos unos conotros al hacer los procesos de altas bajas modificaciones consultas y validaciones seutilizan las ventajas que Visual Basic 60 ofrece de la Programacioacuten Orientada aObjetos (POO) eacutesta es una forma de programacioacuten que utiliza objetos ligados mediantemensajes para la solucioacuten de problemas Puede considerarse como una extensioacuten naturalde la programacioacuten estructurada en un intento de potenciar los conceptos demodularidad y reutilizacioacuten de coacutedigo Las caracteriacutesticas fundamentales de la POO sonabstraccioacuten encapsulamiento herencia y polimorfismo
Visual Basic 60 soporta la abstraccioacuten la encapsulacioacuten el polimorfismo y lareutilizacioacuten de coacutedigo Los objetos de Visual Basic estaacuten encapsulados es decircontienen su propio coacutedigo y sus propios datos
Manejador de Base de datos para el almacenamiento de la informacioacutenEl manejador de base de datos a utilizar seraacute Microsoft Access debido a que los usuariosque alimentan la base de conocimientos son expertos en diferentes aacutereas delconocimiento y tiene conocimientos limitados de los diferentes manejadores y estaacuten maacutesfamiliarizados con Microsoft Access Ademaacutes de que Access es transportablefaacutecilmente
Ademaacutes la cantidad y tipo de informacioacuten que se almacena en las tablas no requieremanejadores de bases de datos potentes o con caracteriacutesticas especiales
Capiacutetulo 4 Anaacutelisis y Disentildeo
Sistemagenerador dehorarios
SistemaExperto
Reglas
Criterios
Criterios por regla Conocimiento
Procesos
Capturaestadiacutesticas
Calcula grupos
Ajusta grupos
Sistema expertoasigna materia
Sistema Expertoasigna maestro
Asigna materia
Asigna catedraacutetico
Conocimientos
Procesos
Materias
Perfil general
Catedraacuteticos
Perfil materias
Perfil maestro
Asignacioacutenmateria-maestro
Asignacioacutenmaestro-materia
Buacutesqueda independiente
B adelante
B atraacutes
Abduccioacuten
Explicacioacuten
MoacuteduloPLR
Asigna horario
Datos
Arbol derestricciones Procesos
Materia
Grupos
Paquetes
Horario
Restriccioacuten 1
Restriccioacuten 3
Restriccioacuten 2
Restriccioacuten N
Genera random
Evaluacutea restricciones
Guarda grupo
MoacuteduloAlgoritmoGeneacutetico
Asigna aula
Operadores Geneacuteticos
Evaluacioacuten
Cruzamiento
Seleccioacuten
Mutacioacuten
Poblacioacuten Inicial
Versioacuten 1
Versioacuten 2
Versioacuten 3
Versioacuten N
Condensadodatos grales
Materia
Hora
Aula
Control escolar
Sistema deInformacioacuten
Aulas
Horarios
Grupos
Maestros
Datosestadiacutesticos
Datosgenerales
Datos condensado
Materias
45 MAPA CONCEPTUAL DEL PROYECTO
Capiacutetulo 4 Anaacutelisis y Disentildeo
Capiacutetulo 4 Anaacutelisis y Disentildeo
En la Figura 41 se muestra el mapa conceptual del proyecto La burbuja centralrepresenta el sistema generador de horarios y cada rama representa uno de los seismoacutedulos que lo componen las burbujas de cada rama contienen a su vez variasramificaciones en las que se muestran de manera graacutefica los componentes maacutesrepresentativos de los procesos utilizados la informacioacuten que manejan el conocimientoque utilizan y las restricciones involucradas
El moacutedulo Servicios Escolares contiene informacioacuten necesaria para la administracioacuten delos horarios en general y proporciona los datos para el funcionamiento de los demaacutesmoacutedulos
El moacutedulo Sistema Experto Creacioacuten de Grupos (SECG) muestra el conocimiento yprocesos utilizados para definir la cantidad de grupos a ofertar a partir de la informacioacutenestadiacutestica proporcionada por servicios escolares maacutes adelante en el documento seexplica a detalle su funcionamiento
En la Figura 41 se aprecia que los moacutedulos Sistema Experto AsignaCatedraacutetico(SEAC) y Sistema Experto Asigna Materia(SEAM) comparten las bases deconocimiento porque el conocimiento de un SE es la base de hechos del otro en amboscasos los procesos difieren solamente en la informacioacuten que utilizan y en los resultadosque producen noacutetese que existe un proceso que es ldquobuacutesqueda independienterdquo que puedecatalogarse como un Sistema Experto adicional que sirve para sugerir las asignaturasque puede impartir una persona que no estaacute dentro de las bases de datos de maestros ypor lo tanto su perfil tampoco estaraacute capturado en esta caso los hechos (su perfil deconocimientos) es capturado en el momento de la consulta
El moacutedulo de Algoritmos Geneacuteticos (AG) muestra los datos que recibe como se generauna poblacioacuten inicial el tratamiento que se le aplica por medio de los operadoresgeneacuteticos y la informacioacuten que se genera
Por uacuteltimo en la Figura 41 se nota tambieacuten el moacutedulo donde se utiliza la ProgramacioacutenLoacutegica de Restricciones que contiene 3 ramas donde una representa los datos recibidosy la informacioacuten generada otra rama denota un aacuterbol de restricciones que deben sersatisfechas por los paquetes de horarios la uacuteltima rama denota los procesos que se llevana cabo debe notarse que existe un proceso aleatorio que genera cada grupo un procesoque evaluacutea el grupo contra las restricciones y uno mas que guarda los grupos quecumplieron con todas
En este mapa conceptual no se muestra en que orden se ejecuta cada moacutedulo delproyecto la Figura 42 ilustra la secuencia de ejecucioacuten de los moacutedulos
La Figura 42 muestra el diagrama con la secuencia en que se van ejecutando losprocesos los datos que ingresan a cada moacutedulo y la informacioacuten que genera
Capiacutetulo 4 Anaacutelisis y Disentildeo
452 MAPAS CONCEPTUALES DE LOS MOacuteDULOS
Servicios Escolares
Datos Estadiacutesticos
Sistema Experto Creacioacuten de Grupos
Materias y grupos requeridos
Moacutedulo PLR
Materia + grupo + hora
Moacutedulo AG
Materia + grupo + hora + aula
Sistema ExpertoAsigna Catedraacutetico Sistema Experto
Asigna Materia
Sugiere profesorpara asignaturas
Sugiere asignaturapara profesor
Materia + grupo + hora + aula +profesor
Condensado final de materias
1
2
3
4
5 6
Fig 42 Diagrama de secuencia
Capiacutetulo 4 Anaacutelisis y Disentildeo
Como puede verse todo inicia cuando Servicios Escolares enviacutea la informacioacuten a laDivisioacuten de Estudios Profesionales (donde ldquohabitanrdquo los coordinadores) quienes son losresponsables de la elaboracioacuten de los horarios
Un primer proceso captura la informacioacuten que proviene de Servicios Escolares elsegundo moacutedulo define cuantos grupos deben programarse el tercer proceso asigna lahora a cada grupo el cuarto moacutedulo es el proceso que asigna las aulas los procesosquinto y sexto sirven para sugerir queacute catedraacutetico es el maacutes adecuado para cada grupo ycomo resultado final se tiene el condensado final de horarios para el siguiente semestre
En la Figura 43 se muestran los componentes del primer Sistema Experto utilizado paradefinir la cantidad de grupos que deben ofertarse el proacuteximo semestre en la partesuperior izquierda de la figura esta el coordinador de la carrera quien es el encargado decargar el conocimiento a las Bases de Conocimiento utilizando la interfaz de experto esla persona indicada para definir los criterios que tiene cada materia define las reglaspara la agrupacioacuten de los criterios y define en cada regla que tipo de ajuste se realiza
Experto
Coordinador
Interfaz Experto
Base deConocimientos
CriteriosReglasAjustes
Motor de Inferencia ListasMateriasGrupos requeridos
UsuarioMoacutedulo Explicacioacuten
Usuario(coordinador
novato)
Interfaz Usuario
Base Hechos
Informacion Estadiacutestica
Fig 43 Sistema Experto Generador de Grupos
Capiacutetulo 4 Anaacutelisis y Disentildeo
El usuario en la parte inferior de la figura puede ser el coordinador o su asistente y seencarga de capturar la informacioacuten estadiacutestica proporcionada por servicios escolares queson los datos de alumnos inscritos actualmente en cada materia el iacutendice de reprobacioacutenlos alumnos inscritos en la materias prerrequisito una simulacioacuten de los alumnosprobables para cursar esa materia si todos los inscritos aprueban todo y los alumnos quepueden cursar las materias pero no se inscribieron
Con los datos anteriores se realiza la siguiente operacioacuten
(Inscritos en materia iacutendice de reprobacioacuten de materia) 100 +Alumnos no inscritos +Alumnos en prerrequisito ndash (alumnos en prerrequisito iacutendice de reprobacioacuten) 100 +(Simulacioacuten ndash alumnos en prerrequisito ndash no inscritos) = Alumnos del proacuteximo semestre
Este uacuteltimo dato (alumnos del proacuteximo semestre) proporciona la cantidad de alumnospor materia que pueden inscribirse en los grupos seguacuten los estadiacutesticos de ServiciosEscolares pero no contempla preferencias de alumnos conveniencia de inscripcioacuten etc
Ofrecer los grupos necesarios para la inscripcioacuten de alumnos tomando el dato calculadoocasiona que al terminar las inscripciones existan grupos vaciacuteos grupos sobresaturadosalumnos con pocas materias y varios problemas mas
La finalidad de este Sistema Experto es realizar un ajuste al dato calculadoanteriormente para incluir en su caacutelculo todas aquellas caracteriacutesticas y experiencia delcoordinador para minimizar los problemas mencionados en el paacuterrafo anterior
Los ajustes pueden ser de varios tiposbull Ajuste draacutestico hacia abajo Se aplica una reduccioacuten del 50 al dato calculadobull Ajuste hacia arriba Se agrega un grupo maacutes al dato calculadobull Ajuste hacia abajo Se resta un grupo al dato calculadobull Ajuste numeacuterico Se ajusta utilizando la regla del redondeo de decimalesbull Ajuste draacutestico hacia arriba Se suman 2 oacute 3 grupos al dato calculado
Cuando utilizar una u otra regla estaacute definido por los criterios que cada materia contienenaturalmente y que con el paso de los semestres puede variar (aunque tambieacuten puedenpasar antildeos sin sufrir ninguacuten cambio)
La Figura 44 describe la utilizacioacuten de la teacutecnica de la Inteligencia Artificial llamadaProgramacioacuten Loacutegica de Restricciones para generar el condensado de grupos a partir deuna lista de materias que contiene solamente el nombre y la cantidad de grupos que sedeben abrir de una materia
Capiacutetulo 4 Anaacutelisis y Disentildeo
EoseX
Ugacgg
Lgc
s
ListasMaterias
Procesoformador depaquetes
Lista grupo +paquete
Moacutedulo generadorRandom Hora
Restricciones satisfec
Restriccio
Materia +hora
Moacuteduloverificadorrestriccione
s
Restriccionesnosatisfechas
Fig 44 Diagrama del moacutedulo Programacioacuten Loacutegica de Restriccione
xiste un proceso inicial que forma los ldquopaquetesrdquo de grupos esto es las materias serdenan por el semestre al que corresponden (generalmente son 6 materias poremestre) despueacutes para cada semestre se generan los grupos correspondientes si porjemplo se deben hacer 3 grupos de la materia X se generan tres registros de la materia y cada registro se etiqueta
Materia X grupo AA Materia X grupo AB y Materia X grupo AC
na vez que todas las materias han sido generadas y ldquoempaquetadasrdquo se pasan alenerador de horario en bloques de un paquete a la vez Este proceso funcionasignando un horario aleatorio a cada grupo despueacutes se verifica que cada grupo cumplaon todas las restricciones que son del tipo grupo no ldquochocardquo con otro del paqueterupo proporciona horario continuo al paquete grupo tiene horario de 2 horas por diacutearupo no deja horas vaciacuteas en paquete grupo cumple con todas sus horas asignadas etc
a Figura 45 muestra el disentildeo del Algoritmo Geneacutetico utilizado para asignar aula a losrupos que provienen del moacutedulo anterior (PLR) y recibe como datos de entrada unondensado de horarios (materia + grupo + hora)
Capiacutetulo 4 Anaacutelisis y Disentildeo
Procesoevaluacioacuten
Condensado
Materia +Grupo +Hora
Generador de versiones aleatorias
Genera versioacuten asigna aula
Versioacuten 3
Versioacuten 2
Versioacuten 1
Versioacuten N
Poblacioacuten inicial
ProcesoseleccioacutenProceso cruzamiento
clonacioacuten mutacioacuten
Versioacuten z
Versioacuten y
Versioacuten x
Versioacuten w
Nueva generacioacuten
Individuos aptos
Individuos no aptosReciclaje
CondensadoMateria + grupo +hora + aula
Fig 45 Diagrama del moacutedulo Algoritmo Geneacutetico
Capiacutetulo 4 Anaacutelisis y Disentildeo
Esta rama de la Inteligencia Artificial es utilizada generalmente para procesos deoptimizacioacuten y en esta ocasioacuten se utiliza para asignar las aulas al condensado dematerias
Al inicio se reciben como datos generales el condensado de materias La poblacioacuteninicial se obtiene copiando N veces (N versiones) este condensado y agregando a cadaregistro el nuacutemero de versioacuten y un aula asignada de manera aleatoria de esta manera seobtienen N versiones diferentes del condensado original
Cada versioacuten es entonces evaluada contando el nuacutemero de choques en aula y la cantidadde espacios vaciacuteos por aula a cada versioacuten se le genera un vector para guardar laevaluacioacuten (cromosoma de evaluacioacuten) y de esta manera se mide el grado de aptitud quetiene cada versioacuten
Las versiones que tienen menos choques y menos espacios vaciacuteos se consideran con ungrado de aptitud alto y son las mejores al contrario las que tienen muchos choquesson consideradas de aptitud baja no sirven para la reproduccioacuten y son desechadas
Una vez seleccionadas la mejores versiones se procede a la aplicacioacuten de los operadoresgeneacuteticos el primero que se aplica es el cruzamiento y consiste en elegir dos versionesde alta aptitud tomar segmentos seleccionados heuriacutesticamente de ellas y formar unnuevo individuo (una nueva versioacuten) se repite este proceso Y veces con las diferentesversiones hasta tener una nueva generacioacuten de N condensados de horarios
Repetir este proceso de generacioacuten evaluacioacuten y seleccioacuten durante Z generacionesaplicando cuando se necesite la clonacioacuten que es un proceso de copiar completamenteuna versioacuten (con alto grado de aptitud) a la nueva generacioacuten
Al principio la convergencia hacia horarios sin choques en aula es raacutepida pero al pasode las generaciones disminuye entonces se debe usar la mutacioacuten que es un proceso deacceder manualmente los registros de alguna versioacuten Zi en la generacioacuten Z y corregiralguacuten aula al final despueacutes de varias generaciones selecciones cruzamientosclonaciones y mutaciones se obtiene un condensado de aulas libres de choques y conpocos espacios vaciacuteos
En la Figura 46 se muestran los componentes del Sistema Experto utilizado para sugerircuales son los catedraacuteticos que mejor se desempentildeariacutean para impartir una asignaturatomando en cuenta los conocimientos que tiene un profesor (adquiridos a lo largo de sucarrera) y cuales son los conocimientos necesarios para impartir la caacutetedra de algunaasignatura
Capiacutetulo 4 Anaacutelisis y Disentildeo
Todo inicia haciendo una encuesta a los profesores acerca del perfil y los conocimientosnecesarios para poder impartir una asignatura el objetivo de la misma y los principalestemas que abarca todo lo anterior se captura en la base de hechos como el perfil de lamateria
Posteriormente se hace otra encuesta a los profesores pidieacutendoles que seleccionencuales son los conocimientos y el grado de dominio que tienen de los diferentes toacutepicosde las asignaturas esto se convierte en el perfil del catedraacutetico Por uacuteltimo con unproceso de induccioacuten se determina para cada materia cual es el grado de certeza con elcual puede un profesor impartir una asignatura
Experto
Coordinador
Interfaz Experto
Base deConocimientos
CatedraacuteticosConocimientos profesorPerfil profesor
Motor de Inferencia Lista profesores paraimpartir una materia
Jefedepartamento
Moacutedulo Explicacioacuten
Usuario(coordinador
novato)
Interfaz Usuario
Base Hechos
Perfil
Fig 46 Diagrama de Sistema Experto para sugerir profesor a asignatura
Capiacutetulo 4 Anaacutelisis y Disentildeo
Noacutetese en la Figura 47 que el coordinador captura el conocimiento referente a lasasignaturas (objetivo temas caracteriacutesticas necesarias para impartirla) y este esalmacenado en la Base de Conocimientos
Por otro lado un profesor debe llenar una encuesta en la que indique cuales son lostemas que domina y en que porcentaje lo hace (esto es el perfil del catedraacutetico) estainformacioacuten se almacena en la base de hechos--
El Motor de Inferencia hace los matchs respectivos y genera una lista de las materias quepuede impartir un profesor y con que grado de certeza estaacute capacitado para hacerlo
Por uacuteltimo el moacutedulo de explicacioacuten informa el porqueacute dio esa inferencia mostrando lascaracteriacutesticas de materia y profesor que hicieron match
Fig 47 Diagrama de Sistema Experto para sugerir asignaturas para catedraacutetico
Experto
Coordinador
Interfaz Experto
Base deConocimientos
MateriasCaracteriacutesticas MateriasPerfil materia
Motor de Inferencia Lista materias para unprofesor
Profesor
Moacutedulo Explicacioacuten
Profesor nuevoInterfaz Usuario
Base Hechos Perfil profesor
Capiacutetulo 4 Anaacutelisis y Disentildeo
453 Diagrama de contextoEn la Figura 48 se detallan los elementos que intervienen aportando y recibiendoinformacioacuten para el funcionamiento del sistema
Los departamentos acadeacutemicos aportan al sistema una lista con los catedraacuteticos quelaboran ahiacute incluye los datos personales de los profesores nuacutemero de tarjeta nombrecarrera etc Los coordinadores de carrera son los responsables de la elaboracioacuten de loshorarios estos funcionarios son la pieza fundamental de este proceso porque aportan susconocimientos para
bull Definir el ajuste al dato estadiacutestico proporcionado por Servicios Escolaresbull Definir las restricciones para la creacioacuten de los paquetes de gruposbull Definir las restricciones para asignar hora a cada grupobull La distribucioacuten de los grupos en las aulasbull Asignar la asignatura que mejor puede impartir un catedraacuteticobull Asignarle a una asignatura al profesor que mejor puede impartirla
El departamento de Servicios Escolares es el iniciador del proceso de la elaboracioacuten dehorarios aporta los datos estadiacutesticos obtenidos de la situacioacuten escolar actual de losalumnos cada alumno estaacute inscrito en alguna de las 8 carreras que se ofrecen en elInstituto estaacute cursando entre 5 y 8 asignaturas por semestre en cada periodo acredita oreprueba algunas materias En cada carrera se tiene un mapa reticular que incluyeaproximadamente 50 asignaturas con prerrequisitos creacuteditos horas en aula horas enlaboratorio orden por semestre etc
El departamento Divisioacuten de Estudios Profesionales (donde estaacuten adscritos loscoordinadores de carrera) es el responsable de distribuir las aulas disponibles delInstituto entre los distintos coordinadores las aulas son un recurso escaso y por lo tantovalioso de esta distribucioacuten depende en gran medida la holgura o estrechez que tienenlos coordinadores para asignar las aulas a los grupos creados
Los profesores son otro de los recursos valiosos de una institucioacuten son los responsablesde transmitir sus conocimientos a los alumnos cada catedraacutetico posee conocimientos dediversas aacutereas toacutepicos y ramas del saber humano el perfil del catedraacutetico estaacute enrelacioacuten directa con el dominio que tiene de cada una de ellas y varia desde unconocimiento superficial hasta el dominio total de un aacuterea
Los generadores random de los moacutedulos PLR y AG proporcionan la informacioacutennecesaria generada de manera aleatoria para el funcionamiento de esos moacutedulos
A los coordinadores y alumnos se les proporciona un condensado de horarios losalumnos conocen los grupos a los que se pueden inscribir las horas las aulas y loscatedraacuteticos que las impartiraacuten
Capiacutetulo 4 Anaacutelisis y Disentildeo
Sistema para laelaboracioacuten de
horarios
Departamentosacadeacutemicos
Jefes dedepartamento
Divisioacuten deEstudios
Profesionales
DepartamentoServiciosEscolares
Alumnos
Coordinadoresde carrera
Coordinadoresde carrera
Lista catedraacuteticos disponibles
Conocimientos
Reporte datos estadiacutesticos
Lista aulas disponibles
Condensado de horarios
Horarios disponibles
Lista horarios profesores
Profesores Generadoresaleatorios
Perfil maestro
Horas y aulas aleatorios
Fig 48 Diagrama de contexto del proyecto
Cap
iacutetulo
4
Anaacute
lisis
y D
isentilde
o
Sist
ema
para
lael
abor
acioacute
n de
hora
rios
Dep
arta
men
tos
acad
eacutemic
os
Div
isioacute
n de
Estu
dios
Prof
esio
nale
s
Dep
arta
men
toSe
rvic
ios
Esco
lare
sC
oord
inad
ores
de c
arre
ra
List
a ca
tedr
aacutetic
os d
ispo
nibl
es
Con
ocim
ient
osR
epor
teda
tose
stad
iacutestic
osLi
sta
aula
s dis
poni
bles
Prof
esor
esG
ener
ador
esal
eato
rios
Perf
il m
aest
roH
oras
y a
ulas
Fig
49
Dia
gram
a de
func
ione
s fun
dam
enta
les (
entra
das)
Cap
tura
supe
rfil
deco
noci
mie
nto
Cap
tura
las
aula
s
Enviacute
a da
tos
Cap
tura
suco
noci
mie
nto
Enviacute
a da
tos
depr
ofes
ores G
ener
ada
tos
Cla
ve n
ombr
eho
ras
turn
o
Tips
tru
cos
cono
cim
ient
ohe
uriacutes
tico
Cla
ve c
apac
idad
ed
ifici
o
Alu
mno
sin
scrit
os
sim
ulac
ioacuten
no
insc
ritos
iacutend
ice
repr
obac
ioacuten
Toacutepi
cos y
tem
asqu
e do
min
aA
ula
y ho
raal
eato
rios
Capiacutetulo 4 Anaacutelisis y Disentildeo
Sistema para laelaboracioacuten de
horarios
Coordinadoresde carrera
Jefes dedepartamento Alumnos
Fig 410 Diagrama de funciones fundamentales (salidas)
Imprimecondensado
Imprime lista Imprimehorarios
Maestro materiahora
Materia grupohora aula
maestrosugerido
Condensado de horarios Horarios disponibles
Lista horarios profesores
Materia grupohora aula
maestro
Capiacutetulo 4 Anaacutelisis y Disentildeo
454 Diagrama entidad - relacioacuten
NOTA Los siguientes diagramas muestran las tablas utilizadas por cada moacutedulo paramayor claridad se repitieron las tablas necesarias para representar cada parte del sistemapero en la base de datos no existe tal duplicacioacuten
Este diagrama contiene las tablas del moacutedulo administrativo de los horarios en unprincipio eacutestas eran las uacutenicas tablas de un sistema de control de horarios
FK_HORARIOS_REFERENCE_MATERIASFK_MATERIAS_REFERENCE_SERVICIO
FK_MATERIAS_REFERENCE_RAMA_MAT FK_MATERIAS_REFERENCE_CARRERAS
HORARIOS
GrupoId_aulaHora_inicioHora_lunesHora_martesHora_miercolesHora_juevesHora_viernesHora_sabadoObservacionesPeriodoAnioid_materiaId_catedratico
Text(2)INTEGERINTEGERText(6)Text(6)Text(6)Text(6)Text(6)Text(6)Text(30)Text(20)INTEGERINTEGERSMALLINT
ltfk3gt
ltfk2gtltfk1gt
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
MATERIAS
SERVICIOS_ESCOLARESId_materiaINSCRITOSNO INSCRITOSSIMULACIONPROXIMO SEMESTREGRUPOS REQUERIDOSIndice de reprobacionperiodoantildeoGrupos ajustadoAlumnos ajustadoId_ajusteId_regla
INTEGERSMALLINTSMALLINTSMALLINTSMALLINTDOUBLEDOUBLEText(7)INTEGERSMALLINTSMALLINTINTEGERSMALLINT
RAMA_MATERIA
Id_ramaNombre_rama
COUNTERText(30)
ltpkgt
CARRERAS
Id_CarreraNombre_carrera
Text(15)Text(50)
ltpkgt
Fig 411 Diagrama entidad ndash relacioacuten del moacutedulo administrativo
Capiacutetulo 4 Anaacutelisis y Disentildeo
Este diagrama muestra las tablas donde se almacena el conocimiento de loscoordinadores para que el Sistema Experto del moacutedulo sugiera y aplique el ajuste aldato de cantidad de grupos sugerido por Servicios Escolares La relacioacuten entre las tablasva generando las reglas de produccioacuten
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave asig prerrequisitoclave asig prerrequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
REGLAS
DescriId_reglaId_ajusteTot_peso
Text(70)COUNTERINTEGERINTEGER
ltpkgtltfkgt
FK_MATERIAS_REFERENCE_SERVICIO
FK_HECHOS_R_REFERENCE_CRITERIO
FK_HECHOS_R_REFERENCE_REGLAS
FK_HISTORIA_REFERENCE_REGLAS
FK_HISTORIA_REFERENCE_CRITERIO
FK_REGLAS_REFERENCE_AJUSTES
FK_HISTORIA_REFERENCE_MATERIAS
FK_HISTORIA_REFERENCE_CRITERIO
SERVICIOS_ESCOLARES
Id_materiaINSCRITOSNO INSCRITOSSIMULACIONPROXIMO SEMESTREGRUPOS REQUERIDOSIndice de reprobacioacutenperiodoantildeoGrupos ajustadoAlumnos ajustadoId_ajusteId_regla
INTEGERSMALLINTSMALLINTSMALLINTSMALLINTDOUBLEDOUBLEText(7)INTEGERSMALLINTSMALLINTINTEGERSMALLINT
HECHOS_REGLAS
Id_criterioId_reglaPromedio
INTEGERINTEGERINTEGER
ltfk2gtltfk1gt
CRITERIOS
Id_criterioDescripcion
COUNTERText(60)
ltpkgt
HISTORIAL_CRITERIOS
Id_criterioId_reglaPeso de la regla
INTEGERINTEGERSMALLINT
ltfk2gtltfk1gt
AJUSTES
TipoDescripcionId_ajuste
Text(25)MemoCOUNTER ltpkgt
HISTORIAL_MATERIA
Id_materiaId_criterioprioridad
INTEGERINTEGERSMALLINT
ltfk2gtltfk1gt
Fig 412 Diagrama E-R del moacutedulo para determinar y ajustar nuacutemero de grupos
Capiacutetulo 4 Anaacutelisis y Disentildeo
En este diagrama se muestra la base de datos que almacena la informacioacuten quemanipula el moacutedulo Algoritmo Geneacutetico las tablas maacutes representativas sonPOBLACION donde se guardan todas las versiones que forman las generaciones dehorarios y CROMOSOMAS que almacena el registro de evaluacioacuten de cada versioacuten dehorarios
FK_HORARIO__REFERENCE_AULAS
FK_HORARIO__REFERENCE_POBLACIO
FK_MATERIAS_REFERENCE_TIPO_HOR
FK_POBLACIO_REFERENCE_AULAS
FK_POBLACIO_REFERENCE_MATERIAS
FK_POBLACIO_REFERENCE_CROMOZOM1 1
HORARIO_AULA
VersionAulaLunesMartesMiercolesJuevesViernesSabadoHoraId_aula
INTEGERText(6)SMALLINTSMALLINTSMALLINTSMALLINTSMALLINTSMALLINTSMALLINTINTEGER
ltfk2gt
ltfk1gt
AULAS
Id_aulaCapacidad_aulaNombre_aulaDisponible
COUNTERSMALLINTText(50)YesNo
ltpkgt
POBLACION
Id_materiaGrupoId_catedraticoAulaHora_inicioHora_lunesHora_martesHora_miercolesHora_juevesHora_viernesVersionId_aulaPeriodoAnio
INTEGERText(4)INTEGERText(4)INTEGERText(6)Text(6)Text(6)Text(6)Text(6)INTEGERINTEGERText(10)INTEGER
ltfk2gt
ltfk1gtltfk3gt
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
TIPO_HORARIO
Tipo_horario
DescripcionLunes
MartesMiercoles
Jueves
ViernesSabado
COUNTER
Text(20)SMALLINT
SMALLINTSMALLINT
SMALLINT
SMALLINTSMALLINT
ltpkgt
CROMOZOMAS
VersionSemestreChoquesVacias
INTEGERINTEGERINTEGERINTEGER
ltpkgt
Fig 413 Diagrama E-R del moacutedulo para asignar aulas (Algoritmo Geneacutetico)
Capiacutetulo 4 Anaacutelisis y Disentildeo
En esta Figura 414 se pueden observar las tablas involucradas en el proceso paragenerar los paquetes de materias por semestre y la asignacioacuten de horario a cada grupodel paquete utilizando la teacutecnica Programacioacuten Loacutegica de Restricciones noacutetese que noexiste una tabla de restricciones eacutestas se aplican por software a cada grupo generado
FK_MATERIAS_REFERENCE_SERVIC
FK_MATERIAS_REFERENCE_TIPO_H
FK_HORARIOS_REFERENCE_MATERI
MATERIA
Id_materiMateriNum de HrsNum de HrsClave deId_CarrerCreditoSemestrObservacioneTroncoalumnos porclave de asigclave de asigId_ramSuma_maOrdeTipo_horari
INTEGEText(40SMALLINSMALLINText(8Text(15SMALLINSMALLINText(60YesNSMALLINText(40Text(40INTEGESMALLINSMALLININTEGE
ltpkfk4
ltfk1
ltfk3
ltfk2
SERVICIOS_ESCOLARE
Id_materiINSCRITONOSIMULACIOPROXIMOGRUPOSIndice deperiodantildeGruposAlumnosId_ajustId_regl
INTEGESMALLINSMALLINSMALLINSMALLINDOUBLDOUBLText(7INTEGESMALLINSMALLININTEGESMALLIN
TIPO_HORARI
Tipo_horariDescripcioLuneMarteMiercoleJueveVierneSabad
COUNTEText(20SMALLINSMALLINSMALLINSMALLINSMALLINSMALLIN
ltpk
HORARIO
GrupId_aulHora_iniciHora_luneHora_marteHora_miercoleHora_jueveHora_vierneHora_sabadObservacionePeriodAniid_materiId_catedratic
Text(2INTEGEINTEGEText(6Text(6Text(6Text(6Text(6Text(6Text(30Text(20INTEGEINTEGESMALLIN
ltfk3
ltfk2ltfk1
Fig414 Diagrama E-R del moacutedulo para asignar horario (PLR)
Capiacutetulo 4 Anaacutelisis y Disentildeo
FK_HECHOS_M_REFERENCE_MATERIAS
FK_HECHOS_M_REFERENCE_CATEDRAT
HECHOS_MAT_PROF
Id_catedraticoId_materiaPromedio
SMALLINTSMALLINTSMALLINT
ltpkfk1gtltpkfk2gt
FK_PERFIL_C_REFERENCE_CATEDRAT
FK_PERFIL_C_REFERENCE_PERFILES
FK_PERFILES_REFERENCE_TIPO_PER
FK_PROF_PAR_REFERENCE_CATEDRAT
FK_PROF_PAR_REFERENCE_MATERIAS
PERFIL_CATEDRATICO
Id_catedraticoId_perfilPrioridad_perfil_cate
SMALLINTINTEGERSMALLINT
ltfk1gtltfk2gt
CATEDRATICOS
Id_catedraticoApellido_paternoApellido_maternoNombre_catedraticoTitulo_catedraticoSuma_cate
SMALLINTText(20)Text(20)Text(20)Text(30)SMALLINT
ltpkgt
PERFILES
Id_perfilId_tipoDescripcion_perfil
COUNTERINTEGERText(60)
ltpkgtltfkgt
TIPO_PERFIL
Id_tipoTipo_perfil
COUNTERText(30)
ltpkgt
PROF_PARA_MAT
Id_materiaId_catedraticoPorcentaje_cate
INTEGERSMALLINTSMALLINT
ltpkfk2gtltpkfk1gt
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
Fig 415 Diagrama E-R del moacutedulo designa mejor catedraacutetico (Sistema Experto)
Capiacutetulo 4 Anaacutelisis y Disentildeo
En las figuras de la paacutegina anterior y eacutesta (Fig 415 y 416) se muestran las tablasutilizadas por los Sistemas Expertos para sugerir que materias puede impartir unprofesor y tambieacuten sugiere que profesores pueden impartir una asignatura
FK_PERFILES_REFERENCE_TIPO_PER
FK_PERFIL_M_REFERENCE_MATERIAS
FK_PERFIL_M_REFERENCE_PERFILES
FK_MAT_PARA_REFERENCE_MATERIAS
FK_MAT_PARA_REFERENCE_CATEDRAT
FK_HECHOS_M_REFERENCE_MATERIAS
FK_HECHOS_M_REFERENCE_CATEDRAT
PERFILES
Id_perfilId_tipoDescripcion_perfil
COUNTERINTEGERText(60)
ltpkgtltfkgt
TIPO_PERFIL
Id_tipoTipo_perfil
COUNTERText(30)
ltpkgt
PERFIL_MATERIA
Id_materiaId_perfilPrioridad_perfil_mat
INTEGERINTEGERINTEGER
ltfk2gtltfk1gt
MATERIAS
Id_materiaMateriaNum de Hrs pracNum de Hrs teoClave de AsigId_CarreraCreditosSemestreObservacionesTronco comunalumnos por grupoclave de asig prerequisitoclave de asig prerequisito1Id_ramaSuma_matOrdenTipo_horario
INTEGERText(40)SMALLINTSMALLINTText(8)Text(15)SMALLINTSMALLINTText(60)YesNoSMALLINTText(40)Text(40)INTEGERSMALLINTSMALLINTINTEGER
ltpkfk4gt
ltfk1gt
ltfk3gt
ltfk2gt
MAT_PARA_PROF
Id_catedraticoId_materiaPorcentaje_mat
SMALLINTINTEGERSMALLINT
ltpkfk1gtltpkfk2gt
CATEDRATICOS
Id_catedraticoApellido_paternoApellido_maternoNombre_catedraticoTitulo_catedraticoSuma_cate
SMALLINTText(20)Text(20)Text(20)Text(30)SMALLINT
ltpkgt
HECHOS_MAT_PROF
Id_catedraticoId_materiaPromedio
SMALLINTSMALLINTSMALLINT
ltpkfk1gtltpkfk2gt
Fig 416 Diagrama E-R del moacutedulo selecciona mejor materia (sistema experto)
Capiacutetulo 4 Anaacutelisis y Disentildeo
455 Diccionario de la Base de Datos
Nombre HORARIOS_CON_CONOCIMIENTOComentario Base de datos del sistema ldquoGeneracioacuten de horarios mediante Sistemas
Basados en ConocimientordquoDBMS Microsoft Access 97
Lista de Tablas
Nombre Tipo deObjeto
AJUSTES TableAULAS TableCARRERAS TableCATEDRATICOS TableCRITERIOS TableCROMOSOMAS TableHECHOS TableHECHOS_MAT_PROF TableHECHOS_PROF_MAT TableHECHOS_REGLAS TableHISTORIAL_CRITERIOS TableHISTORIAL_MATERIA TableHORARIO_AULA TableHORARIOS TableMAT_PARA_PROF TableMATERIAS TablePERFIL_CATEDRATICO TablePERFIL_MATERIA TablePERFILES TablePOBLACION TablePROF_PARA_MAT TableRAMA_MATERIA TableREGLAS TableSERVICIOS_ESCOLARES TableTIPO_HORARIO TableTIPO_PERFIL Table
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla AJUSTESFuncioacuten Almacena los datos de los tipos de ajuste que se aplican por el Sistema Experto al
dato estadiacutestico que define cuantos grupos se deben abrir de cada materia
Lista de columnas de la tabla AJUSTESNombre Tipo de
DatoLong Llave
Primaria ForaneaComentario
Tipo Text(25) 25 Nombre del tipo de ajusteDescripcioacuten Memo Explicacioacuten del ajuste a realizar al nuacutemero
de grupos calculados segun estadisticosId_ajuste COUNTER 4 X Identificador del ajuste
Tabla AULASFuncioacuten Almacena los datos de las aulas que existen en cada edificio del instituto
Lista de columnas de la tabla AULASNombre Tipo de
DatoLong Llave
Primaria ForaneaComentario
Id_aula COUNTER 4 X Identificador del aulaCapacidad_aula SMALLINT 4 Nuacutemero maacuteximo de alumnos en el
aulaNombre_aula Text(50) 50 Nombre del aula (edificio+numero)Disponible YesNo 1 Disponibilidad del aula
Tabla CARRERASFuncioacuten Almacena los datos de las carreras que se imparten en el ITZ
Lista de columnas de la tabla CARRERASNombre Tipo de
DatoLong Llave
Primaria ForaneaComentario
Id_Carrera Text(15) 15 X Clave de la carreraNombre_carrera Text(50) 50 Nombre de la carrera
Tabla CATEDRATICOSFuncioacuten Almacena los datos de los CATEDRAacuteTICOS que imparten clases en las diferentes carreras del
Instituto Se utilizan los datos en los Sistemas Expertos que definen cual es el mejor catedraacuteticopara impartir una materia
Capiacutetulo 4 Anaacutelisis y Disentildeo
Lista de columnas de la tabla CATEDRATICOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Nuacutemero de tarjeta del catedraacuteticoApellido_paterno Text(20) 20 Apellido paterno del catedraacuteticoApellido_materno Text(20) 20 Apellido materno del catedraacuteticoNombre_catedratico Text(20) 20 Nombre del catedraacuteticoTitulo_catedratico Text(30) 30 Grado de estudios y tiacutetulo del
catedraacuteticoSuma_cate SMALLINT 4 Suma total de las pesos de los perfiles
pertenecientes al catedraacutetico
Tabla CRITERIOSFuncioacuten Tabla de los criterios utilizados por el experto para crear las reglas que definen el tipo de
ajuste inferido por el Sistema Experto para definicioacuten de grupos por abrir
Lista de columnas de la tabla CRITERIOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_criterio COUNTER 4 X Identificador del criterio aplicado auna materia para crear grupos
Descripcion Text(60) 60 Descripcioacuten del criterio
Tabla CROMOSOMASFuncioacuten Almacena los datos de la evaluacioacuten de cada versioacuten de horarios generada ya sea por la
poblacioacuten inicial o por los operadores geneacuteticos se genera un cromosoma por cadasemestre en cada versioacuten
Lista de columnas de la tabla CROMOSOMASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Version INTEGER 4 X Nuacutemero de individuo o versioacuten dehorarios
Semestre INTEGER 4 Semestre al que pertenece el datoChoques INTEGER 4 Nuacutemero de choques de versioacuten y
semestreVacias INTEGER 4 Nuacutemero de aulas vaciacuteas del individuo
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla HECHOS_MAT_PROFFuncioacuten Esta tabla almacena el resultado de la inferencia del Sistema Experto materias para
profesor indica para cada catedraacutetico las materias y el porcentaje de certeza con quepuede impartirlas
Lista de columnas de la tabla HECHOS_MAT_PROFNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Identificador del catedraacuteticoId_materia SMALLINT 4 X Identificador de la asignaturaPromedio SMALLINT 4 Porcentaje de certeza con que un
profesor puede impartir una materia(resultado de la inferencia)
Tabla HECHOS_PROF_MATFuncioacuten Almacena los datos de la inferencia del Sistema Experto que calcula para una materia
determinada cuales son los mejores maestros para impartirla
Lista de columnas de la tabla HECHOS_PROF_MATNombre Tipo de
DatoLongitud
LlavePrimaria Foraacutenea
Comentario
Id_catedratico SMALLINT 4 X Identificador del catedraacuteticoId_materia SMALLINT 4 X Identificador de la asignaturaPromedio SMALLINT 4 Porcentaje de certeza con que una
materia puede ser impartida por unprofesor (resultado de la inferencia)
Tabla HECHOS_REGLASFuncioacuten Almacena los porcentajes de certeza con que se dispara una regla del Sistema Experto
que define los grupos por abrir
Lista de columnas de la tabla HECHOS_REGLASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_criterio SMALLINT 4 X Identificador del criterioId_regla SMALLINT 4 X Identificador de la reglaPromedio INTEGER 4 Porcentaje de certeza con que una
regla dispara un criterio
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla HISTORIAL_CRITERIOS
Funcioacuten Almacena las reglas formadas por los criterios utilizados por el Sistema Experto paradefinir los grupos por abrir
Lista de columnas de la tabla HISTORIAL_CRITERIOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_criterio INTEGER 4 X Identificador del criterio pertenecientea la regla
Id_regla INTEGER 4 X Identificador de la reglaPeso de la regla SMALLINT 4 Peso del criterio en la regla
Tabla HISTORIAL_MATERIAFuncioacuten Tabla que almacena la definicioacuten de cada materia con base en los criterios utilizados por
las reglas para definir por materia el nuacutemero de grupos por abrir
Lista de columnas de la tabla HISTORIAL_MATERIANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materia para suasignacioacuten de criterios
Id_criterio INTEGER 4 X Identificador del criterio que se aplicaa la materia para describirla
Prioridad SMALLINT 4 Peso del criterio en la materia
Tabla HORARIOS
Funcioacuten Almacena los datos del condensado final de horarios aquiacute se almacena el producto finaldel sistema para su posterior publicacioacuten y distribucioacuten entre la comunidad tecnoloacutegica
Lista de columnas de la tabla HORARIOSNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materiaGrupo Text(2) 2 Identificador del grupo A B CId_catedratico SMALLINT 4 X Catedraacutetico asignado al grupoId_aula INTEGER 4 X Aula asignada al grupoHora_inicio INTEGER 4 Hora de inicio del grupoHora_lunes Text(6) 6 Horas que se imparte el grupo el diacutea
lunes
Capiacutetulo 4 Anaacutelisis y Disentildeo
Hora_martes Text(6) 6Hora_miercoles Text(6) 6Hora_jueves Text(6) 6Hora_viernes Text(6) 6Hora_sabado Text(6) 6Observaciones Text(30) 30 Observaciones al grupoPeriodo Text(20) 20 Periodo Ene-jun o Ago-dicAnio INTEGER 4 Antildeo en que se utiliza el horario
Tabla HORARIO_AULAFuncioacuten Tabla auxiliar utilizada como almacenamiento temporal durante el proceso de evaluacioacuten
en el Algoritmo Geneacutetico guarda los datos de ocupacioacuten choques y no utilizacioacuten decada aula por hora diacutea y versioacuten
Lista de columnas de la tabla HORARIO_AULANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Version INTEGER 4 X Nuacutemero de individuo o versioacutenAula Text(6) 6 Nombre del aulaLunes SMALLINT 4 Nuacutemero de horas que se utiliza el aula
el diacutea lunesMartes SMALLINT 4Miercoles SMALLINT 4Jueves SMALLINT 4Viernes SMALLINT 4Sabado SMALLINT 4Hora SMALLINT 4 Hora de utilizacioacuten del aulaId_aula INTEGER 4 X Identificador del aula en la versioacuten
Tabla MATERIASFuncioacuten Esta es una de las principales tablas del proyecto se utiliza en todos los moacutedulos del
sistema contiene informacioacuten base para caacutelculos diversos ademaacutes contiene tambieacuten lasllaves de diferentes tablas que describen de manera de manera especial a las materias
Lista de columnas de la tabla MATERIASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia COUNTER 4 X Identificacioacuten de la materia llaveprincipal
Materia Text(40) 40 Nombre de la materiaNum de Hrs prac SMALLINT 4 Nuacutemero de horas praacutecticasNum de Hrs teo SMALLINT 4 Nuacutemero de horas teoacutericasClave de Asig Text(8) 8 Clave oficial de la materiaId_Carrera Text(15) 15 X Carrera a la que pertenece la materiaCreditos SMALLINT 4 Creacuteditos de la materia
Capiacutetulo 4 Anaacutelisis y Disentildeo
Semestre SMALLINT 4 Semestre en que se imparte la materiaObservaciones Text(60) 60Tronco comun YesNo 1 Definicioacuten de especialidad o tronco
comuacutenalumnos porgrupo
SMALLINT 4 Capacidad sugerida de los grupos deesta materia
clave de asigprerequisito
Text(40) 40 Clave de asignatura del prerrequisito
clave de asigprerequisito1
Text(40) 40 Clave de asignatura del prerrequisito
Id_rama INTEGER 4 X Identificador de la rama a la quepertenece la materia
Suma_mat SMALLINT 4 Suma total de los perfilespertenecientes a la materia
Orden SMALLINT 4 Es el nuacutemero de materia en un paqueteTipo_horario INTEGER 4 X El tipo de horario asignado a materia
Tabla MAT_PARA_PROFFuncioacuten La tabla almacena para cada catedraacutetico las asignaturas que puede impartir y el grado
de certeza con que puede hacerlo se almacena en esta tabla el resultado de la inferenciadel Sistema Experto
Lista de columnas de la tabla MAT_PARA_PROFNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Nuacutemero de tarjeta del profesorId_materia INTEGER 4 X Identificador de la materiaPorcentaje_mat SMALLINT 4 Porcentaje de certeza con que un
profesor puede impartir una materia
Tabla PERFILESFuncioacuten Tabla que contiene una relacioacuten de todas las caracteriacutesticas de las materias
caracteriacutesticas necesarias para poder impartirlas es al mismo tiempo la tabla quecontiene la relacioacuten general de los conocimientos que poseen los profesores
Lista de columnas de la tabla PERFILESNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_perfil COUNTER 4 X Identificador del perfil paraasignaciones de materias acatedraacuteticos
Id_tipo INTEGER 4 X Identificador del tipo del perfilDescripcion_perfil Text(60) 60 Descripcioacuten de una caracteriacutestica del
perfil de una materia o un catedraacutetico
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla PERFIL_CATEDRATICOFuncioacuten Tabla que contiene el perfil de todos los catedraacuteticos (pueden llamarse las reglas) del
Sistema Experto que recomienda profesores para las materias el perfil de un catedraacuteticoesta definido por los conceptos que domina de las materias
Lista de columnas de la tabla PERFIL_CATEDRATICONombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_catedratico SMALLINT 4 X Identificador del catedraacutetico paradefinicioacuten de su perfil acadeacutemico
Id_perfil INTEGER 4 X Identificador del perfil que define aun catedraacutetico
Prioridad_perfil_cate SMALLINT 4 Porcentaje en que contribuye elperfil especificado en la definicioacutendel catedraacutetico
Tabla PERFIL_MATERIAFuncioacuten Esta tabla almacena las reglas que definen el perfil de una materia contiene las
caracteriacutesticas y temas que forman el temario de la materia
Lista de columnas de la tabla PERFIL_MATERIANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materia en laregla de la materia
Id_perfil INTEGER 4 X Identificador del perfilperteneciente a una materia
Prioridad_perfil_mat INTEGER 4 Porcentaje en que contribuye esteperfil particular a definir unamateria
Tabla PROF_PARA_MATFuncioacuten Esta tabla almacena la inferencia del Sistema Experto para determinar cuales son los
mejores profesores para impartir una materia contiene para cada asignatura una lista delos profesores y el porcentaje de certeza con que pueden desempentildearse si la imparten
Capiacutetulo 4 Anaacutelisis y Disentildeo
Lista de columnas de la tabla PROF_PARA_MATNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de materiaId_catedratico SMALLINT 4 X Identificador de catedraacuteticoPorcentaje_cate SMALLINT 4 de certeza con que el catedraacutetico X
puede impartir la materia Y
Tabla POBLACIONFuncioacuten La tabla es la maacutes importante para el moacutedulo de Algoritmo Geneacutetico porque almacena los
datos de cada individuo hipoacutetesis o versioacuten que son generados ya sea por la poblacioacuteninicial aleatoria o por los diversos operadores geneacuteticos contiene copias (versiones) delcondensado de horarios con aulas aleatorias
Lista de columnas de la tabla POBLACIONNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materiaGrupo Text(4) 4 Grupo de la materiaId_catedratico INTEGER 4 X Identificador del catedraticoAula Text(4) 4 X Nombre del aula (edificio + numero)Hora_inicio INTEGER 4 Hora de inicio del grupoHora_lunes Text(6) 6 Hora inicio del lunesHora_martes Text(6) 6Hora_miercoles Text(6) 6Hora_jueves Text(6) 6Hora_viernes Text(6) 6Version INTEGER 4 X Nuacutemero de la versioacuten o hipoacutetesisPeriodo Text(10) 10 Periodo o semestre del grupoAnio INTEGER 4 Antildeo del grupo
Tabla RAMA_MATERIAFuncioacuten La tabla almacena la clasificacioacuten de las materias de acuerdo a las ciencias a la que
pertenecen
Lista de columnas de la tabla RAMA_MATERIANombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_rama COUNTER 4 X Identificador de la rama de unamateria (clasificacioacuten)
Nombre_rama Text(30) 30 Descripcioacuten de la rama de unamateria
Capiacutetulo 4 Anaacutelisis y Disentildeo
Tabla REGLAS
Funcioacuten Esta tabla almacena las reglas utilizadas para generar los grupos que se deben ofertar elproacuteximo semestre indicando para cada regla el tipo de ajuste que debe aplicarse
Lista de Columnas de la Tabla REGLASNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Descripcion Text(70) 70 Descripcioacuten de la regla para ajustarel nuacutemero de grupos
Id_regla COUNTER 4 X Identificador de la reglaId_ajuste INTEGER 4 X Identificador del tipo de ajuste que
se aplica cuando esta regla sedispara para alguna materia
Tot_peso INTEGER 4 Total de los pesos de lascaracteriacutesticas de esta regla
Tabla SERVICIOS_ESCOLARESFuncioacuten En esta tabla se almacenan los datos estadiacutesticos de cada materia que provienen de
Servicios Escolares para el caacutelculo del nuacutemero de grupos que deben abrirse para elproacuteximo semestre contiene tambieacuten los paraacutemetros proporcionados por el SistemaExperto para realizar el ajuste al nuacutemero de grupos calculado inicialmente
Lista de columnas de la tabla SERVICIOS_ESCOLARESNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_materia INTEGER 4 X Identificador de la materiaINSCRITOS SMALLINT 4 Nuacutemero de alumnos inscritos
actualmente en el grupoNO INSCRITOS SMALLINT 4 Nuacutemero de alumnos que pueden
cursar la materia pero no seinscribieron
SIMULACION SMALLINT 4 Simulacioacuten de Servicios Escolaresde alumnos que podraacuten cursar lamateria
PROXIMOSEMESTRE
SMALLINT 4 Resultado del calculo de ServEscolares de alumnos que cursaraacutenla materia
GRUPOSREQUERIDOS
DOUBLE 4 Grupos requeridos para abrirproacuteximo semestre seguacuten caacutelculosiniciales
Indice dereprobacion
DOUBLE 4 Indice de reprobacioacuten de la materia
periodo Text(7) 7 Periodo de caacutelculo de horarios actual(semestre ene-jun o ago-dic)
Capiacutetulo 4 Anaacutelisis y Disentildeo
antildeo INTEGER 4 Antildeo de caacutelculo de horariosGrupos ajustado SMALLINT 4 Nuacutemero de grupos a solicitar para
abrir proacuteximo semestreAlumnos ajustado SMALLINT 4 Caacutelculo final del numero de alumnos
del proacuteximo semestre en estamateria
Id_ajuste INTEGER 4 X Tipo del ajuste aplicado por elSistema Experto al campogrupos_requeridos
Id_regla SMALLINT 4 X Regla que se disparo para realizar elajuste
Tabla TIPO_HORARIOFuncioacuten Esta tabla almacena los formatos de los distintos tipos de horario que existen y se ofrecen
para cada materia horarios de 2345 diacuteas a la semana y de 123 o 4 horas por diacutea
Lista de columnas de la tabla TIPO_HORARIONombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Tipo_horario COUNTER 4 X Identificador del tipo de horarioDescripcion Text(20) 20 Descripcioacuten del tipo de horarioLunes SMALLINT 4 Nuacutemero de horas del lunesMartes SMALLINT 4 Nuacutemero de horas del martesMiercoles SMALLINT 4 Nuacutemero de horas del mieacutercolesJueves SMALLINT 4 Nuacutemero de horas del juevesViernes SMALLINT 4 Nuacutemero de horas del viernesSabado SMALLINT 4 Nuacutemero de horas del saacutebado
Tabla TIPO_PERFILFuncioacuten Aquiacute se almacena una clasificacioacuten de los perfiles de acuerdo a la rama de conocimiento
a la que pertenecen
Lista de columnas de la tabla TIPO_PERFILNombre Tipo de
DatoLong Llave
Primaria ForaacuteneaComentario
Id_tipo COUNTER 4 X Identificador del tipo de perfilTipo_perfil Text(30) 30 Descripcioacuten del tipo de perfil de los
catedraacuteticos o las materias
Capiacutetulo 4 Anaacutelisis y Disentildeo
456 Lista de funciones o programas
Nombre Programa Descripcioacuten del programa
Ajustes Datos generales de los tipos de ajustes que se aplican al nuacutemero degrupos por abrir al dato de Servicios Escolares
Aulas Captura los datos de las aulas disponibles para claseCaptura_horarios Este programa realiza los cambios posteriores a la generacioacutenCarreras Captura los datos de las carreras del tecnoloacutegicoCatedraticos Datos generales de los catedraacuteticosClonacion Obtiene una copia (clon) del mejor individuo de una generacioacutenCons_ajuste Muestra yo imprime los datos generales de los ajustesCons_aulas Emite una pantalla de consulta general de aulasCons_captura_horarios Muestra una pantalla de consulta de los horarios generadosCons_carrera Despliega yo imprime las carrerasCons_catedratico Muestraimprime los datos generales de los catedraacuteticosCons_criterio Formulario que muestra yo despliega los criterios generalesCons_critXmat Muestra yo imprime los criterios de una materiaCons_critXregla Despliegaimprime los criterios que forman una reglaCons_gpos_abrir Explicacioacuten de la inferencia realizada (reglas disparadas)Cons_hist_crit Muestra las reglas de produccioacuten de los criteriosCons_materia Pantalla que despliega yo imprime datos de las materiasCons_materia_gral Pantalla de consulta general de los datos de materiasCons_perf_cate Consultaimprime los datos del perfil acadeacutemico de los
catedraacuteticosCons_perf_mate Consultaimprime los datos del perfil acadeacutemico de las materiasCons_perfil Muestraimprime datos de los perfilesCons_perfiles Consulta a la lista de perfiles o caracteriacutesticas Cons_perfilxmat Consulta a las reglas de produccioacuten del perfil de una materiaCons_rama Consulta a la lista de ramas (clasificacioacuten de las materias)Cons_reglas Consulta a la base de reglas para ajustar nuacutemero de gruposCons_serv_esc Consulta a las tablas que tienen informacioacuten de Servicios
EscolaresCons_serv_escol Pantalla que muestra yo imprime los datos estadiacutesticos de Serv
EscCons_tipo_perfil Consulta a los tipos de perfil (clasificacioacuten de perfiles)Crit_X_mat Formulario que captura los criterios pertenecientes a una materiaCrit_X_regla Captura los criterios que forman una regla de produccioacutenCriterios Pantalla que captura el conocimiento de criterios para el SECriteriosxmat Pantalla de captura para los criterios por materiaCruzamiento Programa que realiza la combinacioacuten (cruza) de individuos de la
poblacioacuten en el Algoritmo Geneacutetico
Capiacutetulo 4 Anaacutelisis y Disentildeo
Evaluacion Programa que realiza la creacioacuten del cromosoma de evaluacioacuten alevaluar las versiones de horarios de una generacioacuten
Explica_ajustes Moacutedulo de explicacioacuten del porque se aplicoacute determinado ajuste auna materia
Explica_mat_p_prof Explicacioacuten del porque una materia puede ser impartida por unprofesor con cierto grado de certidumbre
Explica_prof_p_mat Explicacion del porque un profesor puede impartir una materiacon cierto grado de certidumbre
Genera_horarios Sistema que utiliza Programacioacuten Loacutegica de Restricciones paragenerar los paquetes de horarios de un semestre
Genera_paquete Muestra el paquete generado por el procesoGrupo_nuevo Programa que va generando los paquetesGrupos_por_abrir Inferencia realizada para definir el ajuste aplicado a los grupos
definidos por Servicios EscolaresHistorial_criterios Captura los criterios necesarios para hacer una reglaHistorial_materia Captara los criterios por materiaMat_para_prof Inferencia realizada para determinar que profesores pueden
impartir una materiaMaterias Actualizacioacuten al archivo datos generales de las materiasMenu_algoritmos_geneticos Menuacute del moacutedulo para asignar aula a los gruposMenu_generacion_grupos Menuacute del Sistema Experto para definir cuantos grupos abrirMenu_asigna_horario Menuacute del moacutedulo asignacioacuten de horarioMenu_principal Menuacute principal del sistemaMenu_sel_catedra Menuacute del Sistema Experto para seleccioacuten de catedraacuteticos a
materiaMutacion Programa que hace la modificacioacuten de informacioacuten de aulas de
alguna versioacuten (versioacuten)Perfil_catedratico Captura el perfil acadeacutemico de los catedraacuteticosPerfil_materia Captura el perfil acadeacutemico de las materiasPerfiles Datos generales del perfil acadeacutemico de materias y catedraacuteticosPoblacion_inicial Programa que genera versiones de horarios y que de manera
aleatoria le va asignando aula a los gruposPortada_principal Es la ventana de entrada al sistemaProf_para_mat Inferencia realizada para determinar que materias pueden ser
impartidas por un profesorRama Programa que capturas las posibles ramas de los materiasReglas Datos generales de las reglas de produccioacuten para definir el No de
grupos por abrirSeleccioacuten Proceso que selecciona las mejores versiones de horarios (mejores
individuos) y elimina las menos aptasServ_escolares Pantalla de captura de los datos estadiacutesticos de Servicios EscolaresTipo_perfil Programa que captura la clasificacioacuten de los perfiles de materias y
profesores
Capiacutetulo 4 Anaacutelisis y Disentildeo
457 Diagrama de Arquitectura (Menuacutes)
Menuacute general
Menuacute Grupos porabrir
MenuacuteGeneracioacuten de
horarios
MenuacuteAsignacioacuten de
aulas
Datos de materias
Estadiacutesticos Serv Esc
Criterios
Criterios por materia
Reglas
Criterios por regla
Ajustes
Carreras
Nuacutemero de grupos
MenuacuteSeleccioacuten decatedraacuteticos
Genera paquete
Genera horarios
Datos generalesgrupos
Datos de aulas
Genera poblacioacuteninicial
Evaluacioacuten
Seleccioacuten
Cruzamiento
Clonacioacuten
Mutacioacuten
Horarios finales
Perfiles
Perfil de las materias
Perfil de catedraacuteticos
Catedraacuteticos
Perfil de loscatedraacuteticos
Asignacioacuten materia aprofesor
Asignacioacuten profesor amateria
Capiacutetulo 4 Anaacutelisis y Disentildeo
Capiacutetulo 5 Implementacioacuten del sistema
CAPIacuteTULO 5
IMPLEMENTACIOacuteN
51 Pantallas del sistema
La Figura 51 muestra la portada inicial del proyecto Contiene los logotipos de las tresinstituciones participantes y el nombre del proyecto
Fig 51 Portada inicial del proyecto
La Figura 52 es la pantalla que proporciona la informacioacuten de los autores del proyecto
Es el botoacutende entrada alsistema
Botoacuten deinformacioacuten delos autores
Capiacutetulo 5 Implementacioacuten del sistema
Fig 52 Acerca del sistema
La Figura 53 muestra el menuacute principal del proyecto contiene y 4 moacutedulos La primeraopcioacuten incluye los moacutedulos administrativo y generacioacuten de grupos la segunda opcioacutenincluye seleccioacuten de maestro y seleccioacuten de materia
Fig 53 Menuacute principal del proyecto
Moacutedulos delproyecto
Cuadro queproporcionalainformacioacutende la opcioacutensentildealada porel cursor
Capiacutetulo 5 Implementacioacuten del sistema
En la Figura 54 se tiene la pantalla del menuacute que agrupa los programas del moacuteduloadministrativo y Sistema Experto para determinar el nuacutemero de grupos por abrir seguacutenlos caacutelculos realizados con los datos de Servicios Escolares y el ajuste a ese dato
Fig 54 Menuacute grupos por abrir
Este programa del moacutedulo administrativo (Figura 55) sirve para capturar la informacioacutengeneral de las asignaturas que componen una carrera
Fig 55 Materias
Programas delos moacutedulos
Descripcioacutende laactividad delprogramaseleccionado
Nombre de laasignatura
Nuacutemero dehoraspraacutecticas yteoacutericas
Alumnos por grupopara calcularcantidad de grupos
Dato para formarpaquetes porsemestre
Icono quehabilita lacaptura denuevosdatos
Icono queregresa alMenuacute anterior
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 56 es un ejemplo de la consulta de datos en pantalla
Fig 56 Consulta Materias
La Figura 57 es la pantalla donde se capturan los datos estadiacutesticos provenientes deServicios Escolares contiene la informacioacuten necesaria para realizar el caacutelculo originaldel nuacutemero de grupos de cada asignatura que se debe abrir para ofertarse a los alumnosel siguiente semestre la foacutermula mostrada proporciona tal dato
Botoacuten queregresa elcontrol alprogramaque loinvocoacute
Alumnosesperados parael proacuteximo
Fccg
Datosestadiacutesticos
Fig 57 Pantalla Servicios Es
semestre
oacutermula paraaacutelculoantidad-rupos
Caacutelculosgeneral y pormateria
Grupos (datoestadiacutestico)
colares
Capiacutetulo 5 Implementacioacuten del sistema
En la Figura 58 se muestra la pantalla de consulta de los datos estadiacutesticosproporcionados por Servicios Escolares
Fig 58 Pantalla consulta Servicios Escolares
Esta pantalla captura las caracteriacutesticas por materia que dan origen al conocimientonecesario para definir el tipo de ajuste que se aplica al dato del nuacutemero de gruposproporcionado por los caacutelculos estadiacutesticos de la pantalla anterior
Criterios de unamateria
Fig 59 Pantalla criterios por materia
Grado deimportancia de esacaracteriacutestica para la
Capiacutetulo 5 Implementacioacuten del sistema
En la Figura 510 se muestra un ejemplo de la consulta a la base de datos del sistema enla parte de criterios por materia
Fig 510 Pantalla consulta criterios por materia
Esta pantalla (fig 511) proporciona al sistema la capacidad de capturar modificarborrar e imprimir las carreras del Instituto Tecnoloacutegico de Zacatepec
Fig 511 Pantalla carreras
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 512 proporciona al sistema la capacidad para capturar los criterios(conocimientos) del experto para definir a cada materia
Fig 512 Pantalla criterios
La Figura 513 muestra un ejemplo de consulta al archivo de los criterios capturados enel sistema
Fig 513 Pantalla consulta criterios
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 514 muestra la pantalla de captura de las reglas que componen el SistemaExperto para determinar el tipo de ajuste que se aplicaraacute al dato estadiacutestico del nuacutemerode grupos que se van a abrir el proacuteximo semestre cada regla tiene asignado un tipo deajuste
Fig 514 Pantalla reglas
La Figura 515 muestra un ejemplo de la consulta al archivo de las reglas que utiliza elSistema Experto para determinar nuacutemero de grupos por ofertar el proacuteximo semestre
Fig 515 Pantalla consulta reglas
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 516 muestra la pantalla de captura al archivo de ajustes noacutetese que ladescripcioacuten explica en extenso la accioacuten que se realiza al aplicar este ajuste provenientede una regla disparada por los criterios pertenecientes a la definicioacuten de una materia
Fig 516 Pantalla ajustes
La Figura 517 muestra la pantalla de la consulta a los ajustes que contiene el sistema
Fig 517 Pantalla consulta ajustes
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 518 muestra la pantalla que captura los criterios para cada regla Una reglaestaacute formada por el mismo tipo de criterios que definen a las materias
Criteriosde una
Fig 518 Pantalla criterios por regla
La Figura 519 muestra el ejemplo de una consulta de los criterios que definen a unaregla
Fig 519 Pantalla consulta criterios por regla
Reglas de produccioacuten Criterios por regla
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 520 es la pantalla maacutes importante de moacutedulo de generacioacuten de grupos porquees donde se realiza la inferencia para calcular el tipo de ajuste que se va a aplicar a cadamateria con base en las reglas que se disparan y que hacen match los criterios de unaregla y los criterios de una materia
Fig 520 Pantalla caacutelculo de ajustes
Esta pantalla (Figura 521) ofrece una explicacioacuten mostrando los criterios que definenuna materia y su correspondiente regla disparada mostrando los criterios de la regla quehacen match con los criterios de la materia
Fig 521 Pantalla explicacioacuten de la inferencia
Asignaturaa la que sele aplicaraacuteel ajuste
Regla quese disparaseguacutencriterios
Tipo deajuste quese aplica
Dato seguacutenestadiacutestico
Datos seguacutenajuste delSistemaExperto
Inferenciageneral
Inferenciaindividual
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 522 muestra el formulario que forma los paquetes de materias seguacuten laretiacutecula de una carrera muestra el nuacutemero de grupos por cada materia que se van aformar y hace los paquetes asignando los grupos AA AB AC AD
Fig 522 Pantalla inicial del moacutedulo generacioacuten de horarios
La Figura 523 es el formulario del moacutedulo Programacioacuten Loacutegica de Regenera los horarios por paquete satisfaciendo las restricciones para forlibre de choques continuo (sin horas muertas) cumpliendo las horas por m
Fig 523 Pantalla principal del moacutedulo generacioacuten de horari
Semestre al que sele formaraacuten lospaquetes
Paquetes generadosHora de iniciode clases decada grupo
Materias delsemestre
Nuacutemero de gruposal que se lesgeneraraacute horario
MateriaPaquete
Nuacutemero dehoras por diacutea
Botonesque invocanal moacutedulogeneradorde horarios
stricciones quemar un horarioateria etc
Hora de iniciode la materia
os
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 524 muestra el moacutedulo para asignar aula a los horarios que ya tienen materiagrupo y hora
Fig 524 Pantalla principal del menuacute Algoritmos Geneacuteticos
Esta pantalla (Figura 525) se utiliza para hacer altas bajas consulta y modificaciones alos grupos que se les va a dar aula
Fig 525 Pantalla de administracioacuten de grupos
Periodode loshorarios
Hora iniciodel grupo
Hora por diacutea
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 526 muestra una consulta de la pantalla administracioacuten de grupos
Fig 526 Pantalla de consulta de administracioacuten de grupos
La Figura 527 muestra la pantalla para actualizar las aulas disponibles por las personasque generan los horarios estas aulas estaacuten disponibles para que el Algoritmo Geneacuteticolas utilice para asignarles grupos durante el proceso
Fig 527 Pantalla del control de aulas
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 528 muestra la consulta de las aulas que utiliza el moacutedulo generacioacuten deaulas
Fig 528 Pantalla de consultas del control de aulas
La Figura 529 muestra la pantalla que genera la poblacioacuten inicial a partir de los datosgenerales proveniente de los moacutedulos anteriores
Fig 529 Pantalla de genera poblacioacuten inicial
Nuacutemero dehipoacutetesisversiones oindividuos
Aula aleatoriagenerada
Este botoacuteninicia lageneracioacutende las nversionesde horarios
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 530 muestra la pantalla que evaluacutea las versiones originadas y genera paracada una de ellas un cromosoma cuyos genes contienen la informacioacuten obtenida
Fig 530 Pantalla de evaluacioacuten de versiones
La Figura 531 muestra el formulario del proceso de seleccioacuten de las mejores versionesde horarios toma aquellas que tienen menor numero de choques y mayor espacio deocupacioacuten de aulas
Fig 531 Pantalla del proceso de seleccioacuten
Cantidad deversiones quesobreviviraacuten
Cromosomas delos mejoresindividuos
Botoacuten queinicia elproceso deseleccioacuten
Botoacuten queinicia elproceso deeliminacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 532 muestra la pantalla del proceso de clonacioacuten donde se selecciona la mejorversioacuten y se obtiene un clon ideacutentico con un nuevo nuacutemero de versioacuten
Fig 532 Pantalla del proceso de clonacioacuten
La Figura 533 muestra la pantalla del proceso de mutacioacuten utilizado para hacer elcambio ldquomutarrdquo los datos de una versioacuten para romper alguacuten ciclado de la tendencia haciael resultado o simplemente para acelerar el proceso de optimizacioacuten
Cromosomasde versionesmaacutes aptas
Nuacutemero demejor versioacuten
Poblacioacutenversiones
Cromosomamuestra lasmejoresversiones
Aulas quepueden mutarse
Botoacuten queinicia elproceso demutacioacuten
Nuacutemero deversioacuten
Fig 533 Pantalla de mutacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 534 muestra la pantalla donde se realiza el cruzamiento utilizando plantillaspredeterminadas dirigiendo la cruza de versiones por paquetes de materias agrupadas porsemestre y cada plantilla genera una nueva versioacuten con la combinacioacuten de fragmentosde varias versiones
Fig 534 Pantalla del proceso de cruzamiento
La Figura 535 permite la seleccioacuten y enviacuteo de la mejor versioacuten de horarios y adaptarloal moacutedulo administrativo para su distribucioacuten y publicacioacuten
Fig 535 Horarios finales
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 536 muestra el menuacute de los moacutedulos que sugiere maestros para impartir unaasignatura y sugerencia de asignatura para alguacuten maestro
Fig 536 Pantalla menuacute seleccioacuten de catedraacuteticos
La Figura 537 muestra la pantalla para la captura de caracteriacutesticas de losconocimientos requeridos para dar una materia que son las mismas caracteriacutesticas quedefinen los conocimientos de un profesor para impartir las materias
Fig 537 Pantalla de perfiles
Clasificacioacutende los perfiles
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 538 muestra una consulta de los perfiles agrupados por tipo
Fig 538 Pantalla de consulta perfiles
La Figura 539 muestra la pantalla en la que se definen los conocimientos requeridospara poder impartir una asignatura de acuerdo al perfil y contenido temaacutetico
Fig 539 Pantalla perfiles de las materias
La Figura 540 muestra un ejemplo de la consulta al perfil de una materia
Importancia de lacaracteriacutestica en la materia
Capiacutetulo 5 Implementacioacuten del sistema
Fig 540 Pantalla consulta perfiles de las materias
La Figura 541 es utilizada para capturar los datos de los catedraacuteticos que imparten lasasignaturas de una carrera
Fig 541 Pantalla captura datos de catedraacuteticos
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 542 es una muestra de la consulta al archivo de los catedraacuteticos
Fig 542 Pantalla consulta datos de catedraacuteticos
La Figura 543 muestra la pantalla en que se captura el perfil de los catedraacuteticos elperfil son los conocimientos que tiene el profesor que lo capacitan para impartir algunaasignatura
Fig 543 Pantalla captura perfil de catedraacuteticos
Conocimientosdel profesor
Barra deseleccioacuten deperfiles
Grado dedominio deltema
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 544 muestra una consulta tiacutepica al archivo de perfiles de los catedraacuteticos
Fig 544 Pantalla consulta perfil de catedraacuteticos
La Figura 545 muestra la pantalla de inferencia final que sugiere quienes son loscatedraacuteticos maacutes capacitados para impartir una materia haciendo la inferencia mediantela buacutesqueda de matchs entre el perfil de la asignatura y el perfil del catedraacutetico
Fig 545 Pantalla muestra inferencia catedraacuteticos para materia
Candidatos aimpartir lamateria
Botoacuten del proceso deinferencia generalPorcentaje de certeza con
que puede impartirla
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 546 muestra la pantalla de explicacioacuten donde se indican los perfiles de lamateria y el perfil del profesor
Fig 546 Pantalla explicacioacuten porque un maestro puede dar una materia
La Figura 547 muestra el resultado de la inferencia del proceso que sugiere las materiasque puede impartir un profesor con base en el perfil de la materia y el perfil del profesor
Fig 547 Pantalla materias que puede impartir un profesor
Posibles materia aimpartir Porcentaje de certeza con
que puede impartirlaBotoacuten del proceso deinferencia general
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Capiacutetulo 5 Implementacioacuten del sistema
La Figura 548 muestra la pantalla de explicacioacuten donde se indican el perfil de la materiay el perfil del profesor
Fig 548 Pantalla de explicacioacuten porque un profesor puede dar una materia
Capiacutetulo 5 Implementacioacuten del sistema
Capiacutetulo 6 Pruebas y Resultados
CAPIacuteTULO 6
PRUEBAS Y RESULTADOS
61 Pruebas del sistema
Se pueden detectar dentro del desarrollo de sistemas las actividades para realizarpruebas las producidas durante la etapa de requerimientos de disentildeo preliminar y las dedisentildeo detallado Clasificadas de otra manera eacutestas pueden ser funcionales deintegracioacuten y de implementacioacuten
La finalidad de realizar Pruebas funcionales es detectar errores que pudieran habersedado durante las fases de anaacutelisis y de especificacioacuten Por otro lado ellas pueden ayudara probar si el disentildeo es correcto ya que esta fase en sus dos niveles preliminar ydetallado estaacute basada en el anaacutelisis y especificacioacuten de requerimientos del sistema Estaactividad es guiada por los objetivos y requerimientos plasmados Se busca en estaprueba la posibilidad de que se haya incurrido en errores de conceptualizacioacuten yo deespecificacioacuten Las pruebas se organizan tomando como guiacutea las diferentes opciones delsistema final
Las Pruebas de integracioacuten se realizan cuando se procede a interconectar los diferentessubsistemas que constituyen el futuro sistema Como es conocido un sistema puede serdesarrollado por diferentes personas Por esta razoacuten es de suma importancia probar lainterconexioacuten de los diferentes subsistemas y asiacute verificar que ha sido realizada demanera correcta
Las Pruebas de implementacioacuten o codificacioacuten son las que se realizan directamentesobre los programas que se estaacuten desarrollando durante la fase de implementacioacuten Estosmoacutedulos o programas a su vez constituyen subsistemas Por esta razoacuten la integracioacuten delos diferentes moacutedulos que forman un subsistema deben ser probados Estas pruebasdeben estar basadas en la especificacioacuten de disentildeo preliminar y detallado [Gerez 1985]
Los siguientes rubros describen las pruebas maacutes importantes que se consideraron paravalidar el sistema las pruebas funcionales Las pruebas de implementacioacuten se realizarondurante el desarrollo de la codificacioacuten de los diferentes moacutedulos
Capiacutetulo 6 Pruebas y Resultados
62 PRUEBAS DEL SISTEMA
621 PRUEBA 1 AacuteREAS DE MENUacuteS
Objetivo Guiar al usuario en el desarrollo del proceso Esta prueba verifica que elsistema tenga como opciones principales y submenuacutes los sentildealados en la definicioacuten derequerimientos
Criterios de aceptacioacuten Cada prueba verifica que el sistema produzca los resultadossentildealados en la definicioacuten de requerimientos
Procedimiento de la prueba A continuacioacuten se despliegan las pantallascorrespondientes a los menuacutes principales y submenuacutes Las opciones principales delproyecto son dos Menu Principal y Datos de los autores
Resultado de la prueba Los resultados fueron satisfactorios En todas las opcionesactivadas el sistema presentoacute los submenuacutes definidos en la etapa de requerimientos
La Figura 61 muestra la portada inicial del proyecto Contiene los logotipos de las tresinstituciones participantes y el nombre del proyecto
Fig 61 Portada inicial del proyecto
Es el botoacutende entrada alsistema
Botoacuten deinformacioacutende los autores
Capiacutetulo 6 Pruebas y Resultados
La Figura 62 muestra el menuacute principal del proyecto y contiene 4 moacutedulos La primeraopcioacuten incluye los moacutedulos administrativo y generacioacuten de grupos la segunda opcioacutenincluye seleccioacuten de maestro y seleccioacuten de materia
Fig 62 Menuacute principal del proyecto
En la Figura 63 se tiene la pantalla del menuacute que agrupa los programas del moacuteduloadministrativo y Sistema Experto para determinar el nuacutemero de grupos por abrir seguacutenlos caacutelculos realizados con los datos de Servicios Escolares y el ajuste a ese dato
Fig 63 Menuacute grupos por abrir
Moacutedulos delproyecto
Cuadro queproporcionalainformacioacutende la opcioacutensentildealada porel cursor
Programas delos moacutedulos
Descripcioacutende laactividad delprogramaseleccionado
Capiacutetulo 6 Pruebas y Resultados
La Figura 64 muestra el menuacute de los moacutedulos que sugiere maestros para impartir unaasignatura y sugerencia de asignatura para alguacuten maestro
Fig 64 Pantalla menuacute seleccioacuten de catedraacuteticos
La Figura 65 muestra el moacutedulo para asignar aula a los horarios que ya tienen materiagrupo y hora
Fig 65 Pantalla principal del menuacute Algoritmos Geneacuteticos
Capiacutetulo 6 Pruebas y Resultados
622 PRUEBA 2 VALIDACIOacuteN DE ENTRADAS
Objetivo Evitar peacuterdidas de tiempo con entradas erroacuteneas de datos y resultados sinvalidez
Criterios de aceptacioacuten Esta prueba deberaacute mostrar de manera exacta la informacioacutenal seleccionar la opcioacuten deseada
Procedimiento de la prueba Se verifica que todas las cajas de texto tengan el dato quese pide y una vez dados todos los datos se guardan para que estos datos posteriormentesean procesados por el sistema y almacenen los datos correctos
Resultado de la prueba Los resultados fueron satisfactorios En todas las opcionesactivadas el sistema presentoacute los resultados correctos a cada opcioacuten Ademaacutes losdesplegados de mensajes de error se presentaron de manera correcta en todas laspruebas
La Figura 66 muestra la captura de datos de una asignatura y enviacutea el correspondientemensaje de error si una caja de texto se encuentra vaciacutea
Fig 66 Pantalla de captura de datos de las Materias
Muestra elmensaje deerror si esque hacefalta alguacuten
Capiacutetulo 6 Pruebas y Resultados
La Figura 67 muestra una pantalla de captura de datos asignando criterios a una materiay valida la no duplicidad de criterios en esa materia se enviacutea el correspondiente mensajede error si una entrada ya fue capturada
Fig 67 Pantalla de captura de datos de Criterios por Materia
La Figura 68 muestra una pantalla de captura de datos de las carreras al encontrar unregistro ya capturado muestra el mensaje de error si una carrera ya fue capturada
Fig 68 Pantalla de captura de datos de Carreras
Muestra elmensajede error sies que yaexiste elregistro
Muestra elmensaje deerror si esque yaexiste elregistro
Capiacutetulo 6 Pruebas y Resultados
623 PRUEBA 3 DESPLEGADO DE RESULTADOS
6231 MOacuteDULO DE GENERACIOacuteN DE GRUPOS POR ABRIR
Objetivo Proporcionar los datos que el moacutedulo pide para que posteriormente elsistema genere el nuacutemero de grupos sugerido por abrir para cada materia
Criterios de aceptacioacuten Esta prueba muestra la lista de grupos que se deben abrirdespueacutes de aplicar los criterios del Sistema Experto
Procedimiento de la prueba Una vez que se proporcionan los datos que el SistemaExperto requiere el sistema generaraacute una lista de los grupos que se deben abrir elproacuteximo semestre
Resultado de la prueba Los resultados fueron satisfactorios En todos los casospresentados el sistema generoacute la lista en forma satisfactoria y con la informacioacutencorrecta
La Figura 69 es la pantalla maacutes importante de moacutedulo de generacioacuten de grupos porquees donde se realiza la inferencia para calcular el tipo de ajuste que se va a aplicar a cadamateria con base en las reglas que se disparan y que hacen match los criterios de unaregla y los criterios de una materia
Asignaturaa la que sele aplicaraacuteel ajuste
Regla quese disparaseguacutencriterios
Tipo deajuste quese aplica
Inferenciageneral
Datoseguacuten
Fig 69 Pantalla caacutelculo de ajustes
Datos seguacutenajuste delSistemaExperto
Inferenciaindividual
Capiacutetulo 6 Pruebas y Resultados
6232 MOacuteDULO DE GENERACIOacuteN DE HORARIOS
Objetivo Proporcionar los datos que el moacutedulo pide para que posteriormente elsistema genere el horario por semestre de las materias de una carrera
Criterios de aceptacioacuten Esta prueba debe mostrar los horarios para las materias sinerrores sin choques de hora en un paquete
Procedimiento de la prueba Recibe como entrada cuantos grupos abrir de cadamateria en cada semestre y genera primero los paquetes posteriormente a cada paquetede materias le asigna la hora por materia
Resultado de la prueba Los resultados fueron satisfactorios En todos los casospresentados el sistema generoacute los horarios correspondientes
La Figura 610 muestra el formulario que forma los paquetes de materias seguacuten laretiacutecula de una carrera muestra el nuacutemero de grupos por cada materia que se van aformar y hace los paquetes asignando los grupos AA AB AC AD
Fig 610 Pantalla inicial del moacutedulo generacioacuten de horarios
Semestre al que sele formaraacuten lospaquetes
Paquetes generadosHora de iniciode clases decada grupo
Materias delsemestre
Nuacutemero de grupospor al que se lesgeneraraacute horario
Botonesque invocanal moacutedulogeneradorde horarios
Capiacutetulo 6 Pruebas y Resultados
La Figura 611 es el formulario del moacutedulo Programacioacuten Loacutegica de Restricciones quegenera los horarios por paquete satisfaciendo las restricciones para formar un horariolibre de choques continuo (sin horas muertas) cumpliendo las horas por materia etc
Fig 611 Pantalla princip
6233 MOacuteDULO ASIGNACIOacuteN D
Objetivo Utilizar los datos generadoaulas a los paquetes de materias
Criterios de aceptacioacuten Esta pruebaasignacioacuten de aula sin choques
Procedimiento de la prueba Se genAlgoritmos Geneacuteticos durante variachoques en el aula
Resultado de la prueba Los resupresentados el sistema generoacute las aula
MateriaPaquete
Nuacutemero dehoras por diacutea
Hora de iniciode la materia
al del moacutedulo generacioacuten de horarios
E AULA
s en el moacutedulo anterior para hacer la asignacioacuten de
debe mostrar los horarios de las materias con una
eran las aulas utilizando los procedimientos de loss generaciones hasta lograr una generacioacuten sin
ltados fueron satisfactorios En todos los casoss correspondientes
Capiacutetulo 6 Pruebas y Resultados
La Figura 612 muestra la pantalla para actualizar las aulas disponibles por las personasque generan los horarios estas aulas estaacuten disponibles para que el Algoritmo Geneacuteticolas utilice para asignarles grupos durante el proceso
Fig 612 Pantalla del control de aulas
La Figura 613 muestra la consulta de las aulas que utiliza el moacutedulo generacioacuten deaulas
Fig 613 Pantalla de consultas del control de aulas
Capiacutetulo 6 Pruebas y Resultados
La Figura 614 muestra la pantalla que genera la poblacioacuten inicial a partir de los datosgenerales proveniente de los moacutedulos anteriores
Fig 614 Pantalla de genera poblacioacuten inicial
La Figura 615 muestra la pantalla que evaluacutea las versiones originadas y genera paracada una de ellas un cromosoma cuyos genes contienen la informacioacuten obtenida
Fig 615 Pantalla de evaluacioacuten de versiones
Nuacutemero dehipoacutetesisversiones oindividuos
Aula aleatoriagenerada
Este botoacuteninicia lageneracioacutende las nversionesde horarios
Capiacutetulo 6 Pruebas y Resultados
La Figura 616 muestra el formulario del proceso de seleccioacuten de las mejores versionesde horarios toma aquellas que tienen menor numero de choques y mayor espacio deocupacioacuten de aulas
Fig 616 Pantalla del proceso de seleccioacuten
La Figura 617 muestra la pantalla del proceso de clonacioacuten donde se selecciona la mejorversioacuten y se obtiene un clon ideacutentico con un nuevo nuacutemero de versioacuten
Fig 617 Pantalla del proceso de clonacioacuten
Cantidad deversiones quesobreviviraacuten
Cromosomas delos mejoresindividuos
Botoacuten queinicia elproceso deseleccioacuten
Botoacuten queinicia elproceso deeliminacioacuten
Cromosomasde versionesmaacutes aptas
Nuacutemero demejor versioacuten
Poblacioacutenversiones
Capiacutetulo 6 Pruebas y Resultados
La Figura 618 muestra la pantalla del proceso de mutacioacuten utilizado para hacer elcambio ldquomutarrdquo los datos de una versioacuten para romper alguacuten ciclado de la tendencia haciael resultado o simplemente para acelerar el proceso de optimizacioacuten
Fig 618 Pantalla de mutacioacuten
La Figura 619 muestra la pantalla donde se realiza el cruzamiento utilizando plantillaspredeterminadas dirigiendo la cruza de versiones por paquetes de materias agrupadas porsemestre y cada plantilla genera una nueva versioacuten con la combinacioacuten de fragmentosde varias versiones
Fig 619 Pantalla del proceso de cruzamiento
Cromosomamuestra lasmejoresversiones
Nuacutemero deversioacuten amutar
Aulas quepueden mutarse
Botoacuten queinicia elproceso demutacioacuten
Capiacutetulo 6 Pruebas y Resultados
La Figura 620 permite la seleccioacuten y enviacuteo de la mejor versioacuten de horarios y adaptarloal moacutedulo administrativo para su distribucioacuten y publicacioacuten
Fig 620 Horarios finales
6234 MOacuteDULO SELECCIOacuteN DE CATEDRATICOS
Objetivo Capturar los datos de los profesores y su perfil profesiograacutefico ademaacutescapturar los conocimientos necesarios para impartir una asignatura para poder sugerircual es el mejor catedraacutetico que puede impartir una asignatura
Criterios de aceptacioacuten Esta prueba debe mostrar la sugerencia de los mejorescatedraacuteticos para una materia y las mejores materias para un catedraacutetico
Procedimiento de la prueba Se daraacuten los datos iniciales de los maestros y el sistemadeberaacute generar una lista a partir de la inferencia del Sistema Experto respectivo yviceversa
Resultado de la prueba Los resultados fueron satisfactorios En todos los casospresentados el sistema infirioacute las materias y los catedraacuteticos correspondientes
Capiacutetulo 6 Pruebas y Resultados
La Figura 621 muestra la pantalla en que se captura el perfil de los catedraacuteticos elperfil son los conocimientos que tiene el profesor que lo capacitan para impartir algunaasignatura
Fig 621 Pantalla captura perfil de catedraacuteticos
La Figura 622 muestra la pantalla de inferencia final que sugiere quienes son loscatedraacuteticos maacutes capacitados para impartir una materia haciendo la inferencia mediantela buacutesqueda de matchs entre el perfil de la asignatura y el perfil del catedraacutetico
Fig 622 Pantalla muestra inferencia catedraacuteticos para materia
Conocimientosdel profesor
Barra deseleccioacuten deperfiles
Grado dedominio deltema
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Candidatos aimpartir lamateria Botoacuten del proceso de
inferencia generalPorcentaje de certeza conque puede impartirla
Capiacutetulo 6 Pruebas y Resultados
La Figura 623 muestra la pantalla de explicacioacuten donde se indican los perfiles de lamateria y el perfil del profesor
Fig 623 Pantalla explicacioacuten porque un maestro puede dar una materia
La Figura 624 muestra el resultado de la inferencia del proceso que sugiere las materiasque puede impartir un profesor con base en el perfil de la materia y el perfil del profesor
Fig 624 Pantalla materias que puede impartir un profesor
Posibles materia aimpartir Porcentaje de certeza con
que puede impartirlaBotoacuten del proceso deinferencia general
Botoacuten delprocesodeinferenciaparticular
Botoacuten queinvoca almoacutedulo deexplicacioacuten
Capiacutetulo 6 Pruebas y Resultados
La Figura 625 muestra la pantalla de explicacioacuten donde se indican el perfil de la materiay el perfil del profesor
Fig 625 Pantalla de explicacioacuten porque un profesor puede dar una materia
Capiacutetulo 6 Pruebas y Resultados
Capiacutetulo 7 Conclusiones y Trabajos Futuros
CAPIacuteTULO 7
CONCLUSIONES Y TRABAJOS FUTUROS
71 CONCLUSIONES
Los meacutetodos de programacioacuten lineal proporcionan una solucioacuten parcial al problema dela generacioacuten de horarios utilizan una ldquorecetardquo predefinida para lograr la optimizacioacutende la asignacioacuten de recursos como lo hace el meacutetodo Huacutengaro La Inteligencia Artificialsoluciona el problema utilizando la heuriacutestica el conocimiento y la experiencia de unexperto humano para solucionar el problema se decidioacute utilizar esta metodologiacutea paraexplorar una solucioacuten aproximada al problema
En el ITZ la generacioacuten de horarios se haciacutea de forma manual no se utilizaba ninguacutenmeacutetodo automatizado Al aplicar algunas teacutecnicas de la Inteligencia Artificial se halogrado generar de manera automatizada los horarios de las materias que se ofertaraacuten elproacuteximo semestre
La aplicacioacuten de varias ramas de la Inteligencia Artificial para la resolucioacuten delproblema de la generacioacuten de horarios viene a demostrar que si es posible generar uncondensado de horarios para el Instituto Tecnoloacutegico de Zacatepec que es una escuelade nivel superior y que estos horarios satisfacen adecuadamente las restricciones fuertesmedias y suaves Para ello fue necesaria la combinacioacuten de varias disciplinas de lacomputacioacuten para generar cada una de las partes que componen un horario y tambieacutenrecomendar los catedraacuteticos mas apropiados para impartir dichos grupos nuevamentequeda demostrado que la Inteligencia Artificial sirve para resolver problemas que lasteacutecnicas convencionales de computacioacuten consideran problema NP-completo
La utilizacioacuten de las teacutecnicas de los Sistemas Expertos para ajustar el nuacutemero de grupospor abrir el proacuteximo semestre permite aplicar el conocimiento y experiencia de lapersona encargada de elaborar los horarios y asiacute disminuir el nuacutemero de gruposcancelados el conocimiento e intuicioacuten del experto humano realizan un ajuste fino alnuacutemero de grupos y como puede notarse el sistema lo hace de manera similar
Para el moacutedulo de generacioacuten de los grupos y los horarios la utilizacioacuten de la teacutecnicallamada Programacioacuten Loacutegica de Restricciones permitioacute la satisfaccioacuten de lasrestricciones que hacen que los horarios sean considerados factibles para su aplicacioacuten a
Capiacutetulo 7 Conclusiones y Trabajos Futuros
los alumnos el proacuteximo semestre ya que los paquetes de materias por semestre tienenhorarios corridos y sin choques en horas nuacutemero de materias completo y buenadistribucioacuten de horas pares e impares
Se utilizoacute tambieacuten la teacutecnica de optimizacioacuten llamada Algoritmos Geneacuteticos pararealizar la asignacioacuten de aulas a cada grupo generado logrando con ello minimizarautomaacuteticamente el nuacutemero de choques de materias en aulas En las pruebas realizadasse logroacute que en la sexta generacioacuten de individuos ya soacutelo hubiera hasta un maacuteximo de 24choques lo que indicaba que soacutelo 4 oacute 5 grupos compartiacutean aula a la misma hora esto erafaacutecilmente corregible realizando una inspeccioacuten visual a la versioacuten de horarios final yajustando los uacuteltimos errores
Por uacuteltimo nuevamente se aplicaron los Sistemas Expertos en el moacutedulo de sugerenciade materias que puede impartir un maestro y en el moacutedulo maestros que pueden impartiruna determinada materia vale la pena comentar que durante las pruebas realizadas loscatedraacuteticos del departamento de Sistemas y Computacioacuten capturaban su perfilprofesiograacutefico y al pedir al sistema la sugerencia de cuaacuteles materias podriacutean impartirlos Sistemas Expertos del proyecto inferiacutean exactamente las materias que loscatedraacuteticos estaacuten impartiendo en este semestre y las que habiacutean impartido en alguacutensemestre anterior demostrando que en efecto para profesores nuevos la recomendacioacutendel sistema seriacutea vaacutelida
72 TRABAJOS FUTUROS
Se sugiere que se ampliacutee el proyecto para que a cada grupo generado con aula y hora sele asigne de manera automaacutetica un catedraacutetico utilizando ya sea Algoritmos Geneacuteticos oProgramacioacuten Loacutegica de Restricciones
Otra posible mejora puede ser incluir la Loacutegica Difusa en los Sistemas Expertos de losmoacutedulos que sugieren las materias que puede impartir un catedraacutetico y los catedraacuteticosque pueden impartir una asignatura
Como ya se comproboacute la factibilidad de generar los horarios de manera automaacutetica sepropone tambieacuten la exploracioacuten de otras ramas y teacutecnicas de la computacioacuten (RedesNeuronales Buacutesqueda Tabuacute Grafos Coloreados etc) para comparar el rendimientotiempo esfuerzo y asiacute poder determinar cuales son mejores o peores teacutecnicas pararesolver el problema de la generacioacuten de horarios
Referencias Bibliograacuteficas
REFERENCIAS BIBLIOGRAacuteFICAS
[Abramson 1991] Abramson D ldquoConstructing School Timetables Using SimulatedAnnealing Secuencial and Parallel Algoritmsrdquo Management Science PWS PublishingBoston 1998
[Beasley 1993] Beasley D amp Bull DR amp Martin RR ldquoAn Overview of GeneticAlgorithms Part 1 Fundamentalsrdquo University Computing
[Bull 1993] Bull DR amp Beasley D amp Martin RR ldquoAn Overview of GeneticAlgorithms Part 2rdquo University Computing Magazine 1993
[Burke1994]Burke EK ldquoA Genetic Algorithm for University Timetablingrdquo AISBworkshop on evolutionary computing Leeds 1994
[Burke 1997] Burke Edmund K ldquoAutomated Scheduling Optimization and PlanningGroup (ASAP)rdquo PATATrsquo97 Proceedings of the 2nd Intenational Conference on thePractice And Theory of Automated Timetabling 1997
[Burke2000] Burke Edmund amp Eliman David amp Weare Rupert ldquoA GeneticAlgorithm Based University Timetabling Systemrdquo PATATrsquo2000 Proceedings of the 5ft
Intenational Conference on the Practice And Theory of Automated Timetabling 2000
[Burke2001] Burke EK amp Eliman DGamp Weare R ldquoAutomated Scheduling OfUniversity Examsrdquo Leeds 2001
[Burke2002] Burke Edmund amp Eliman David amp Weare Rupert ldquoExaminationTimetabling in British Universities ndash A Surveyrdquo Leeds 2002
[Carrasco 2004] Carrasco Marco amp Pato Margarida ldquoSolving Real ClassTeacherTimetabling Problems using Neural Networksrdquo Facultade de Ciencias University ofLisboa Portugal
[Chorafas 1990] Chorafas Dimitris N ldquoKnowledge Engineeringrdquo Van NostrandReinnhold New York USA
Referencias Bibliograacuteficas
[Corne 1993] Corne D ldquoSolving the module exam scheduling problem with geneticalgorithmsrdquo Proceedings of the 6th Intenational conference in Industrial andEngineering applications of Artificial Intelligence and Expert Systems1993
[Daellenbach 1987] Daellenbach Hans amp McNickle Donald ldquoIntroduccioacuten a teacutecnicasde Investigacioacuten de Operacionesrdquo CECSA Meacutexico 1987
[Davis 1991] Davis L ldquoHandbook of Genetic Algorithmsrdquo Van Nostrand ReinholdNew York NY
[Demist2000] Demist ldquoDepartamental Timetabling Proyect ProposalDeMIStinterface to Timetabling Package Proyectrdquo Demist University 2000
[Detcher 1990] Detcher R ldquoEnhancement Schemes for Constraint Processing BackJumping Learning and Cutset Decompositionrdquo Artificial Intelligence 41 (1990)
[Eliman 2000] Eliman David ldquoSpecialised Recombinative Operators for TimetablingProblemsrdquo Cambridge University Press New York 2000
[Elmohamed2000] Elmohamed Saleh ldquoThe timetabling problemrdquo PATATrsquo2000Proceedings of the 5th Intenational Conference on the Practice And Theory ofAutomated Timetabling 2000
[Elmohamed2001] Elmohamed Saleh ldquoConstraint based university coursetimetablingrdquo 4th World Congress on Timetabing Aplication of advanced informationTechnologies London 2001
[Fahrion y Dollanski 1992] Fahrion R amp G Dollanski ldquoConstruction of UniversityFaculty Timetables using Logic Programmingrdquo ACM Sigsoft Notes vol 9 no 3 May1992
[Frenzel 1986]Frenzel Louis E ldquoCrash Course in Artificial Intelligence and ExpertSystemsrdquo Howard W Sams amp Co McMillan Inc Indianapolis USA
[Gerez 1985] Gerez Victor amp Mier Mauricio ldquoDesarrollo y administracioacuten deprogramas de computadorardquo McGraw Hill Meacutexico 1985
[Gervaacutes 1999] Gervaacutes P amp San Miguel B ldquoSequential Building of ConstrainedTimetables Using Rule-Based Heuristics An Expert System for AutomatedTimetablingrdquo Congreso Internacional de Investigacioacuten en Ciencias Computacionales
Referencias Bibliograacuteficas
[Giarratamo 1998] Giarratamo Joseph y Gary Riley ldquoExpert Systems Principles andProgrammingrdquo PWS Kent Publishing Company Boston USA
[Gines 1986] Gines B amp Boose J ldquoKnowledge Acquisition for Knowledge-BasedSystemsrdquo Vol 1amp2 Academic Press London U K
[Goldberg 1989] Goldberg DE ldquoGenetic Algorithms in SearchOptimization andMachine LearningrdquoAddison-Wesley
[Kang y White 1994 ] Kang L amp White GM ldquoA Logic Approach to the Resolutionof Constrains in Timetablingrdquo European Journal of Operational Research vol 61 1994
[Kandel 1991] Kandel Abraham ldquoFuzzy Expert Systemsrdquo CRC Press Inc LondonUK 1991
[Kendall1999] Kendall y Kendall ldquoAnaacutelisis y disentildeo de sistemasrdquo 3ordf edicion PearsonEducacioacuten
[Koza 1992] Koza JR ldquoGenetic Programming On the Programming of Computers bymeans of Natural Selectionrdquo Cambridge MA MIT Press
[Martiacutenez 1999] Martiacutenez Alfaro Horacio ldquoSolucioacuten al problema de asignacioacuten desalones de clases horario y grupo mediante templado simuladordquo Memorias 6ordm CongresoInternacional de Mecatroacutenica e Inteligencia Artificial Meacutexico 1999
[Medina 2004] Medina Pasaflores Horacio ldquoFundamentos de Algoritmos GeneacuteticosrdquoTesis de licenciatura Zacatepec Mexico 2004
[Michalewicz 1992] Michalewicz Z ldquoGenetic algorithms + Data Structures =Evolution Programsrdquo Springer-Verlag New York NY
[Negoita1985] Negoita ConstantinV Expert Systems and Fuzzy Systems TheBenjamin Cummings Publishing Co Menlo Park CA USA
[Nielsoft 2000] Nielsoft informatica ldquoManual de usuario Mimosa for windowsrdquo
[Paechter 1994] Paechter B ldquoTwo solutions to the general timetabling problemusing evolutionary methodsrdquo IEEE WCCI 1994
[Pluss1999] Pluss JJ ldquoSistemas expertos un enfoque pragmaacuteticordquo UNR
Referencias Bibliograacuteficas
[Rich 1996] Rich E y Knight K ldquoInteligencia Artificialrdquo McGraw HillInteramericana Madrid Espantildea
[Russell 1996] Russell S y Norvig P ldquoInteligencia Artificial un enfoque modernordquoPrentice Hall Mexico 1996
[Sanchez1999] Sanchez y Beltran ldquoSistemas expertos una metodologiacutea deprogramacioacutenrdquo Macrobit
[Schedul2000] SchedulExpert ldquoCourse scheduling in post educational institutionsrdquo EdAddison Wesley 2000
[Trick 1999 ] Trick Michael ldquoNetwork resources for coloring a graphrdquo Oracle PressEd McGraw Hill 1999
[Turban 1995] Turban Efraim ldquoDecision Support and Expert Systems ManagementSupport Systemsrdquo Fourth Edition Orentice Hall NJ USA
[Waterman1986] Waterman Donald A ldquoA Guide to Expert Systemsrdquo Addison-Wesley Publishing Co USA
[Weare2000] Weare Rupert amp Burke Edmundo amp Eliman David ldquoA Questionnaireon Exam Timetabling in Universitiesrdquo Annual review of computer Science Volume 2Palo Alto 2000
[Wilke 2002] Wilke P amp Grobner M amp Oster N ldquoA hibrid Genetic Algorithm forSchool Timetablingrdquo Advances in Artificial Intelligence Springer Lecture Notes inComputer Science New York
[Yoshikawa 1994] Yoshikawa M amp Kaneko KldquoA Constraint-based Approach toHigh School Timetabling Problems A Case Studyrdquo AAAI-94 12ordm NationalConference on Artificial Intelligence
Referencias Bibliograacuteficas
Referencias electroacutenicas
httpwwwmonografiacuteascomtrabajos12inteartfinteartfshtmlObregoacuten Arturo Inteligencia artificial y Sistemas expertos IIMAS-UNAM (1992)
httpwwwlafacucomapuntesinformaticasist_conodefaulthtmCruz Ochoa Wilson Sistemas de conocimiento
httpwwwingenieroseninformaticaorgrecursostutorialessist_exphtmlZambrano Molina Darwin Sistemas expertos
httpredcientificacomdocdoc199008210001htmlSamper Marquez Juan Joseacute Introduccioacuten a los sistemas expertos Madrid 2000
httpmismonografiascomarSistemas20expertofuzzyhtmlArede Dario Sistema experto fuzzy
httpcruzrojaguayaorginteligenciainterhtmlAyuquina Martha amp Arellano Gregorio Inteligencia artificial Universidad de Guayaquil
httpdmiuibesabasolointart1-introduccionhtmlAbasolo Mariacutea Joseacute Dra Inteligencia Artificial
Recommended