Sie sind auf Seite 1von 67

TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

SISTEMA GESTOR DE HORARIOS MEDIANTE ALGORITMOS GENTICOS (SIGHMAG) MEMORIA PRESENTADA COMO REQUISITO PARA OBTENER EL TTULO DE TCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN AUTOR: JESS IGNACIO TALN PORTES ASESOR ACADMICO: MIA. EFRN JUREZ CASTILLO ASESOR INDUSTRIAL: MTI. CSAR ADRIN ORTEGA CRESPO
HUEJUTLA DE REYES, HGO. AGOSTO DE 2012

SISTEMA GESTOR DE HORARIOS MEDIANTE ALGORITMOS GENTICOS (SIGHMAG)

Memoria presentada Por JESS IGNACIO TALN PORTES

Ante la Universidad Tecnolgica de la Huasteca Hidalguense como requisito parcial para optar al ttulo de:

TCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN REA SISTEMAS INFORMTICOS

Agosto de 2012

DATOS GENERALES DE LA EMPRESA

EMPRESA UNIVERSIDAD TECNOLGICA DE LA HUASTECA HIDALGUENSE

SECTOR PBLICO

DIRECCIN CARRETERA HUEJUTLA CHALAHUIYAPA S/N. COLONIA TEPOXTECO HUEJUTLA DE REYES HIDALGO, CP. 43000 TELFONO: 01-789-89-6-20-88 AL 93. EMAIL RECTORIA@UTHH.EDU.MX

PROYECTO SISTEMA GESTOR DE HORARIOS MEDIANTE ALGORITMOS GENTICOS (SIGHMAG)

ASESOR INDUSTRIAL MTI. CSAR ADRIN ORTEGA CRESPO

CARGO DEL ASESOR DIRECTOR DE LA CARRERA DE TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

DEDICATORIA

A Dios: Por brindarme la ayuda espiritual en todos los momentos que ms le necesit y por darme la oportunidad de vivir y disfrutar la vida en este periodo de tiempo.

A mis padres: Por brindarme el apoyo suficiente una vez ms, para poder llevar a cabo esta etapa de mis estudios y por permitir demostrarles que todo lo que se propongan, es posible lograrlo.

ii

AGRADECIMIENTOS

Agradezco a la Universidad Tecnolgica de la Huasteca Hidalguense (UTHH), por darme la oportunidad de tener un espacio en esta casa de estudios y hacer de mi persona un xito, as tambin agradezco por facilitarme con mi proyecto de titulacin, brindando todos los recursos necesarios. A mi asesor industrial por guiarme y brindarme recursos hacia el bienestar de mi proyecto de estada, por los consejos y deseos de superacin. A mi asesor acadmico por brindarme apoyo en la documentacin y revisin de mi tesis, la comprensin necesaria para cumplir mi meta en el proyecto. A los maestros que me ensearon lo necesario para sacar adelante mi carrera, por el conocimiento que me proporcionaron y las dudas resueltas.

iii

ndice DEDICATORIA..............................................................................................................i AGRADECIMIENTOS.................................................................................................ii NDICE DE TABLAS...................................................................................................iii NDICE DE ILUSTRACIONES O FIGURAS...........................................................iv RESUMEN......................................................................................................................v ABSTRACT...................................................................................................................vi I INTRODUCCIN........................................................................................................1 II ANTECEDENTES......................................................................................................3 III PLANTEAMIENTO DEL PROBLEMA..............................................................12 IV FUNDAMENTOS TERICOS..............................................................................14 V HIPTESIS................................................................................................................23 VI DESARROLLO DEL PROYECTO.......................................................................24 VII RESULTADOS......................................................................................................41 VIII CONCLUSIONES................................................................................................44 IX REFERENCIAS BIBLIOGRFICAS...................................................................46 X ANEXOS......................................................................................................................1

NDICE DE TABLAS
Tabla 1. Tabla de distribucin y cargos acadmicos de TIC (UTHH, 2006b)...........7 Tabla 2. Asignacin de salones, grupos, asignaturas, docentes.................................27 Tabla 3. Planeacin de un grupo..................................................................................27 Tabla 4. Asignacin de horas estticas........................................................................28 Tabla 5. Planeacin.......................................................................................................29 Tabla 6. Pruebas de tamao poblacin.......................................................................41 Tabla 7. Pruebas de mutacin......................................................................................42 Tabla 8. Pruebas de elitismo.........................................................................................43

iv

NDICE DE ILUSTRACIONES O FIGURAS


Figura 1 Organigrama del rea de Tecnologas de la Informacin y Comunicacin (UTHH, 2006b)..............................................................................................................8 Figura 2 Pseudocdigo bsico de los algoritmos genticos........................................17 Figura 3 Seleccin por torneo.......................................................................................18 Figura 4 Mutacin multibit..........................................................................................19 Figura 5 Diagrama: Funcin de Mutacin..................................................................20 Figura 6 Diagrama: Funcin de Cruza.......................................................................21 Figura 7 Algoritmo gentico.........................................................................................25 Figura 8 Constitucin del GEN....................................................................................28 Figura 9 Inicializacin del cromosoma........................................................................30 Figura 10 Poblacin.......................................................................................................30 Figura 11 Choques en el individuo..............................................................................31 Figura 12 Choques en grupos.......................................................................................32 Figura 13 Individuo sin choques entre grupos...........................................................32 Figura 14 Error de hora consecutiva...........................................................................33 Figura 15 Error de da..................................................................................................33 Figura 16 Error de aula................................................................................................33 Figura 17 Seleccin de 2 padres por torneo................................................................35 Figura 18 Representacin de cruza de 2 cromosomas de la poblacin y 2 hijos como resultado...............................................................................................................36 Figura 19 Mutacin. .....................................................................................................36 Figura 20 Mutacin. .....................................................................................................37 Figura 21 Elitismo. .......................................................................................................38 Figura 22 Terminacin. ................................................................................................38 Figura 23 Grfica de las pruebas de tamao de poblacin. .....................................42 Figura 24 Grfica de las pruebas de mutacin. .........................................................42 Figura 25 Grfica de las pruebas de elitismo. ............................................................43

RESUMEN

La presente memoria fue desarrollada en la Universidad Tecnolgica de la Huasteca Hidalguense en la ciudad de Huejutla de Reyes, Hidalgo. El proyecto consisti en la creacin de un Sistema Gestor de Horarios Mediante Algoritmos Genticos (SIGHMAG), el cual trabaja en el acomodo de horarios de los grupos, asignacin de aulas y de horarios estticos para clases con asignaturas extracurriculares. Para llevar a cabo el desarrollo del proyecto se utiliz la metodologa basada en algoritmos genticos, fundamentada en base a la teora Darwiniana de la evolucin por medio de la seleccin natural, partiendo desde la creacin de cromosomas, creacin de la poblacin, evaluacin de cada individuo, seleccin de mejores individuos, el cruce de los individuos seleccionados, la mutacin aleatoria, as como su evaluacin y la concepcin de nuevas generaciones. La necesidad de crear un sistema que genere horarios se determin porque la gestin de los horarios de clases es de suma importancia y por la dificultad de encontrar una solucin ptima en la planificacin de horarios de que cumplan con los requerimientos de disponibilidad de aulas. Se plantea un sistema lo suficientemente flexible, capaz de generar un conjunto de posibles soluciones

vi clasificadas por un nivel de aptitud que ser determinado por el cumplimiento de restricciones.

Algoritmos cromosoma.

genticos,

Horarios,

Sistema,

Programacin,

ABSTRACT

This report was carried out in the Universidad Tecnologica de la Huasteca Hidalguensein in Huejutla de Reyes, Hidalgo. The project consisted on the creation of a Schedule Management System through Genetic Algorithms (SIGHMAG), which works in the arrangement of schedules about groups, assignment of classrooms and static schedules for classes with extracurricular subjects. To carry out the project, was applied the methodology based on genetic algorithms, based on the Darwinian theory of evolution by natural selection, starting from the creation of chromosomes, creation of population, evaluation of each person , selection of the best human being, intersection of selected individuals, random mutation furthermore, its evaluation and the conception of new generations. The need to create a system that generates schedules was determined as the management of class schedules has a great importance and the difficulty to find an optimal solution in the schedules planning in order to meet with the requirements of the classrooms availability. It is proposed a very flexible

vii system, capable of generating a set of possible solutions classified by an aptitude level that will be determined by the compliance of restrictions.

Genetic algorithms, Schedules, System Programming, chromosome.

INTRODUCCIN

En la mayora de las universidades de educacin superior existe la necesidad de asignar aulas, das, horas y docentes para desarrollar las actividades acadmicas. Siempre al inicio de perodo escolar se presenta la necesidad de organizar y distribuir los horarios de clases de maestros, alumnos, docentes. Sin embargo, se evidencian frecuentemente dificultades relacionadas con algunas condiciones particulares como la disponibilidad de maestros, aulas, horas y das que complican su realizacin. Para su elaboracin normalmente se asigna a una persona entrenada que a pesar de su conocimiento y por la complejidad de la tarea, tienden a cometer errores y utilizan bastante tiempo para lograrlo. Teniendo en cuenta que esta tarea tiene alta importancia resultara muy conveniente la automatizacin del proceso por medio de una herramienta computacional basada en la inteligencia artificial. En el presente proyecto se presenta la construccin de un sistema de informacin para la generacin de los horarios de la Universidad Tecnolgica de la Huasteca Hidalguense. Se mostraran los fundamentos tericos para la realizacin del sistema, posteriormente se mostrar, por medio de grficas, los resultados de las diferentes pruebas que se hicieron en el sistema. Finalmente, se presentan las conclusiones obtenidas. En el captulo II Antecedentes: Se describe la empresa donde se realizo la estada, se da a conocer la misin, visin y los valores que distinguen la empresa, tambin se muestra una descripcin del grupo de trabajo. En el captulo III Planteamiento del problema: Se da a conocer la problemtica por la cual se construye el sistema generador de horarios, se especifica la justificacin y el porqu se desarrollo el proyecto. Se plantea el objetivo general y los objetivos especficos, tambin se dan a conocer las metas y el tiempo planteado para el desarrollo del proyecto.

2 En el captulo IV Fundamentos tericos: se fundamentan las bases tericas del proyecto, se especifican las herramientas usadas para el desarrollo del mismo. Se da a conocer la historia de los algoritmos genticos, que son y las distintas formas de implementarlos. Se muestra y explica la metodologa de los algoritmos genticos. En el captulo V Hiptesis: Se ostenta una propuesta que se formulo a travs de la recoleccin de informacin y datos, aunque no est confirmada, sirve para responder de forma alternativa al problema. El captulo VI Desarrollo del proyecto: Es la parte medular del proyecto; se divide en dos partes: En la primera se presenta la metodologa y los pasos a seguir para la construccin del sistema. La segunda parte explica en orden cronolgico el desarrollo del algoritmo gentico, la construccin del gen, cromosoma, asignaciones y dems pasos de la construccin del SIGHMAG. El captulo VII Resultados: Describe las pruebas y anlisis realizados al SIGHMAG, se muestran graficas, y comentarios sobre la funcionalidad del producto. El captulo VIII Conclusiones: Da a conocer las conclusiones a las que se llego despus de haber analizado los resultados. Adems se dan a conocer comentarios y recomendaciones para trabajos futuros. El captulo IX Referencias bibliogrficas: Se muestra todas las referencias bibliogrficas de las que se obtuvo informacin para el desarrollo del proyecto. El captulo X Anexos: Muestra imgenes y tablas que sirven como soporte al desarrollo del presente documento.

II ANTECEDENTES
II.1 Datos Generales de la Empresa

La Universidad Tecnolgica de la Huasteca Hidalguense (UTHH) es una institucin con un alto prestigio y valor acadmico, el cual est basado en su modelo educativo de enseanza prctica 70% y enseanza terica 30%, as mismo por formacin general 80% y formacin especializada 20%, aunado a esto su filosofa de excelencia y calidad han hecho de esta universidad una de las ms prestigiadas a nivel regional. (UTHH, 2006a) El modelo educativo est basado en el estudio educativo de pases de primer mundo como son Japn con sus Colegios Tcnicos; Gran Bretaa y sus Institutos Politcnicos; Francia con su Sistema de Institutos Universitarios de Tecnologa; los Colegios Comunitarios de los Estados Unidos de Amrica; y las Escuelas de Formacin Tcnica de Alemania, donde esta modalidad ha funcionado por dcadas y ha contribuido a la mejora econmica de estos pases. (UTHH, 2006a) En un anlisis realizado a travs de la Secretaria de Educacin Pblica (SEP) en 1989 se detect en Mxico la incompatibilidad entre la enseanza superior con las necesidades de los estudiantes y del sector productivo, y pocas opciones para continuar la preparacin superior de los jvenes. Por ello la Secretaria de Educacin Pblica en coordinacin con los gobiernos estatales optaron por la creacin de Universidades Tecnolgicas cuyo objetivo es Desarrollar la educacin tecnolgica superior posterior al bachillerato con duracin de dos aos, mediante la participacin de planes y programas de estudios a lo largo de seis cuatrimestres, equivalentes a tres mil horas de estudio, y que conlleva a la obtencin del ttulo de Tcnico Superior Universitario. (UTHH, 2005b) Ms tarde la UTHH, con las anteriores experiencias ganadas, realiz un estudio socio - histrico, micro y macro-regional de la Huasteca muy completo

4 para el cual los expertos realizaron diagnsticos de las necesidades manifiestas de la regin logrando incorporar las aspiraciones y opiniones de los potenciales usuarios de esta universidad: estudiantes, empleadores y productores; de manera tal que la Universidad Tecnolgica de la Huasteca Hidalguense no slo significa la implantacin de un centro educativo en una regin clave de nuestro Estado, sino tambin la posibilidad de acercar y difundir los avances de carcter tecnolgico a un medio rural. (UTHH, 2005b) La Universidad Tecnolgica de la Huasteca Hidalguense, abri sus puertas en enero de 1996, con un curso propedutico de seis semanas de duracin. (UTHH, 2005b) En enero de 1997, dio inicio el primer cuatrimestre, con las carreras de Informtica y Mecnica. El 24 de abril de 1997 , se public en el peridico oficial del Gobierno del Estado de Hidalgo, el Decreto de Creacin de la Universidad Tecnolgica de la Huasteca Hidalguense como un organismo pblico descentralizado del Gobierno Estatal, para lo que se conjuntaron tanto esfuerzos de la Federacin como del Estado, siendo la nmero cuatro en el Estado de Hidalgo; cabe resaltar la iniciativa Hidalguense de transformar el concepto de Universidad Tecnolgica de Desarrollo, como innovacin para las zonas marginadas con un incipiente sector productivo, en contraste con todas las anteriores universidades que fueron fundadas donde existe un sector productivo muy importante en su entorno. (UTHH, 2005b) Por su ubicacin, el tipo de carreras, el carcter intensivo de sus planes y programas de estudios, as como el bajo costo econmico de las colegiaturas la UTHH represent desde sus inicios, una alternativa accesible para los jvenes de la regin. (UTHH, 2005b) II.1.1 Misin Ofrecer servicios educativos y de gestin tecnolgica, mediante programas de calidad, apoyados en personal competente, infraestructura y tecnologa de vanguardia, para formar integralmente Tcnicos Superiores

5 Universitarios e Ingenieros que coadyuven al desarrollo regional con un amplio sentido de responsabilidad social. (UTHH, 2009) II.1.2 Visin Ser una institucin reconocida a nivel nacional por su calidad educativa y de servicios, con resultados en investigacin aplicada, incidiendo en el desarrollo sustentable de la regin, que forme integralmente profesionales en Tcnico Superior Universitario e Ingeniera, con valores, competitivos y comprometidos con su entorno, mediante programas educativos acreditados, cuerpos acadmicos en consolidacin, infraestructura de vanguardia y gestin eficiente, que impulsen el desarrollo de la regin y del pas. (UTHH, 2009) II.1.3 Poltica de calidad La UTHH establece el compromiso de prestar servicios educativos, sustentados en la filosofa de mejora continua, con la finalidad de atender y satisfacer los requerimientos de los alumnos, egresados y de los sectores productivo y social. (UTHH, 2009)

Valores Compromiso. Creatividad. Honestidad. Respeto.

(UTHH, 2009)

II.1.4 Descripcin del TSU La Universidad Tecnolgica de la Huasteca Hidalguense forma Tcnicos Superiores Universitarios en dos aos de estudios intensivos. Este modelo educativo orienta el proceso de enseanza-aprendizaje con base en los siguientes atributos:

6 Pertinencia: Las carreras que se imparten en la Universidad Tecnolgica se identifican con las necesidades reales de su entorno. Polivalencia: Se otorga una slida formacin general en conocimientos cientficos y tcnicos, capacitando al estudiante para desarrollarse con xito en cualquier rubro del sector productivo. Flexibilidad: los planes de estudio se actualizan constantemente para adecuarse a los cambios cientficos y tecnolgicos. Se cancelan o se abren carreras de acuerdo a las necesidades regionales. Intensidad: los contenidos de las materias que se imparten se concentran en sus aspectos fundamentales y prcticos. Los horarios de estudio son de 35 horas por semana distribuidos en el aula, el taller o laboratorio y las prcticas en la empresa, adems de actividades extracurriculares que demandan una dedicacin de tiempo completo por parte del alumno durante los aos de formacin. (UTHH, 2005a) La posicin de un Tcnico Superior Universitario en el organigrama de trabajo no depende de un ingeniero o licenciado para trabajar, a este se le considera de mando medio. El Tcnico es capaz de responsabilizarse de un equipo de trabajo, tiene su propio campo de accin, trabaja con iniciativa propia y realiza la programacin de sus actividades. (UTHH, 2005a) El Tcnico Superior Universitario puede desempearse

profesionalmente en una amplia gama de actividades productivas; colaborando en una organizacin, prestando sus servicios libremente, o creando su propia empresa. (UTHH, 2005a) Ante la carencia de Tcnicos Superiores, la mayora de los egresados de licenciatura ocupan esas posiciones en el mercado laboral sin estar

7 preparados para ello, lo que ocasionaba demrito en su desempeo profesional. (UTHH, 2005a) II.1.5 Descripcin donde se realiz la estada El presente proyecto se realiz dentro de la carrera de Tecnologas de la Informacin y Comunicacin (TIC) de la Universidad Tecnolgica de la Huasteca Hidalguense ubicada en la ciudad de Huejutla de Reyes Hidalgo en la carretera Huejutla-Chalahuiyapa S/N. El rea de TIC est compuesta por un director de rea que gestiona los recursos que tiene a su disposicin (tanto humanos como materiales), tiene como colaboradora una secretaria de direccin que controla y agenda las reuniones y avisos del personal docente, adems existen profesores asociados que tienen contratos temporales de duracin determinada que imparten las asignaturas, los profesores investigadores asociados son los trabajadores acadmicos que se dedican a las labores de docencia e investigacin y a las correspondientes en extensin y difusin de la cultura, los profesores de asignatura quienes de acuerdo con la categora que fije su nombramiento, son remunerados en funcin del nmero de horas de clase que impartan frente al grupo, adems existe un jefe oficina que dirige los laboratorios y les da mantenimiento, los coordinadores son los que arreglan y preparan los mtodos para la mejora continua de los servicios de la carrera. Se presenta una tabla con el total de trabajadores y sus respectivos puestos:
Nivel II IV IV IV V VII X Unidad administrativa Director de rea Profesores asociados Prof. Investigadores asociados Prof. De asignatura Coordinador Jefe de oficina Secretara de direccin Total 1 4 3 12 1 1 1

Tabla 1. Tabla de distribucin y cargos acadmicos de TIC (UTHH, 2006b)

8 Se presenta una descripcin de la estructura de la organizacin del rea de TIC, mediante un organigrama que define los niveles de jerarqua y la relacin entre los distintos puestos de trabajo, mencionados anteriormente:

Direccin de la carrera de tecnologas de la informacin y comunicacin

Secretaria de informacin

Profesor Investigador Asociado

Profesor Investigador

Profesor de asignatura

Jefe de Oficina del Laboratorio de Computo

Coordinador del Servicio de Carrera

Figura 1 Organigrama del rea de Tecnologas de la Informacin y Comunicacin (UTHH, 2006b)

II.1.6 Perfil profesional del programa educativo de TIC Capacidad de anlisis y sntesis habilidades para la investigacin bsica, las capacidades individuales y las destrezas sociales; habilidades gerenciales y las habilidades para comunicarse en un segundo idioma. (UTHH, 2004b)

II.1.7 Competencias especficas Formula proyectos de tecnologas de informacin, mediante procesos estndares y modelos de calidad para contribuir con el logro de los objetivos estratgicos de las organizaciones. (UTHH, 2004b)

9 II.1.8 Misin del programa educativo de tecnologas de la informacin y comunicacin Ofrecer servicios educativos, mediante programas de calidad apoyados con tecnologa de vanguardia para formar Tcnicos Superiores Universitarios en Tecnologas de la Informacin y Comunicacin e Ingenieros en Tecnologas de la Informacin comprometidos y emprendedores, que respondan a las expectativas de la sociedad y coadyuven al desarrollo sustentable de la regin.
(UTHH, 2004b)

II.1.9 Visin del programa educativo tecnologas de la informacin y comunicacin al 2012 Ser un programa educativo en Tecnologas de la Informacin y Comunicacin acreditado por el Consejo de Acreditacin de la Enseanza de la Ingeniera (CACEI), con planes y programas de estudio basados en competencias profesionales, que satisfaga las expectativas de los alumnos y del sector productivo, a travs de un servicio educativo de calidad y que preste servicios de aplicacin del conocimiento con docentes habilitados y organizados en cuerpos acadmicos consolidados. (UTHH, 2004a)

II.2 Trabajos Previos Los primeros ejemplos de lo que hoy podramos llamar algoritmos genticos aparecieron a finales de los 50 y principios de los 60, programados en computadoras por bilogos evolutivos que buscaban explcitamente realizar modelos de aspectos de la evolucin natural. A ninguno de ellos se le ocurri que esta estrategia podra aplicarse de manera ms general a los problemas artificiales, pero ese reconocimiento no tardara en llegar: La computacin evolutiva estaba definitivamente en el aire en los das formativos de la computadora electrnica. (Melanie, 1999)

10 Existen numerosos proyectos de asignacin de horarios basados y desarrollados con algoritmos genticos, muchos han generado buenos resultados, estos se han utilizado en grandes universidades a lo largo del mundo. Algunos de los sistemas generadores de horarios ms destacados y que han dado un buen resultado son; Asignacin de horarios de clases universitarias mediante algoritmos evolutivos, desarrollado por el ingeniero Jos Mara Meja Caballero para la Universidad De La Guajira en Barranquilla. El sistema es capaz de generar los horarios de toda la universidad, donde cada director de cada carrera puede asignar a cada asignatura el profesor que ms le convenga.(Meja Caballero
& Paternina Arboleda, 2009).

Experimentos con Algoritmos Genticos para resolver un problema real en de el Programacin Departamento Maestros-Horarios-Cursos de Matemticas de la desarrollado

Universidad de Sonora, en Hermosillo Sonora. El sistema considera que algunas asignaturas tienen que ser recibidas en algunas aulas, el sistema puede asignar cursos a profesores, y maneja los horarios de diferentes departamentos. (P. Flores, et al.,
2005).

Elaboracin en Bogot

de

Horarios

Acadmicos trabajo

Usando aporta

Algoritmos un modelo

Genticos, es un software de asignacin de horarios desarrollado Colombia. Este computacional basado en algoritmos genticos (AG), el cual fue programado en MATLAB, el sistema maneja los horarios de cada alumno, es decir se adapta a los cursos que pueda tener el alumno. (Martnez, 2010)

11 Anlisis, Diseo e Implementacin de un sistema de Informacin Para la Gestin Acadmica de un Instituto Superior Tecnolgico, desarrollado en Lima, agosto de 2011, por Alexander Daniel Norabuena Guevara, el sistema que se desarrollo en la institucin puede manejar los horarios de los alumnos entre las clases y despus de haber finalizado, cabe resaltar que los servicios educativos se ofrecen antes, durante y despus de los estudios regulares de los alumnos, ya que involucran actividades previas a la matriculacin de los estudiantes y posteriores al termino de sus estudios, como es el caso de las certificaciones.(Norabuena Guevara,
2011).

Algoritmos Genticos para la Optimizacin de Asignacin de Espacios ulicos tomando en cuenta que algunas son de ciertas capacidades y se usan en algunas fechas en particular para eventos, adems se maneja la distancia entre aulas para que el alumno ahorre tiempo de una asignatura a la otra, fue desarrollado por el Grupo de Investigacin Sobre Inteligencia Artificial (GISIA) en chaco argentina(Karanik & Prez).

Sistema Gestor de Horarios Mediante Algoritmos Genticos desarrollado por el ingeniero en TIC Rafael de la Cruz Bautista, en Huejutla de Reyes, Hidalgo. Para la Universidad Tecnolgica de la Huasteca Hidalguense, un sistema generador de horarios que mediante algoritmos genticos y una serie de datos genera los horarios de la carrera de TIC. (Bautista, 2012)

Son varios los trabajos previos desarrollados hasta el momento sobre la asignacin de horarios mediante algoritmos genticos los que han resuelto en su momento el problema para el cual fueron realizados.

12

III PLANTEAMIENTO DEL PROBLEMA


III.1 Justificacin

Actualmente el director del rea de Tecnologas de la Informacin Y Comunicacin (TIC), realiza la gestin de horarios manualmente mediante una herramienta de la paquetera Microsoft office, y un algoritmo de envi de mensajes llamado Escitala. El desarrollar el sistema que gestione y genere los horarios, ayudar al mejor acomodo y administracin de los salones, aulas y horas, se podrn generar los horarios error mnimo. El sistema gestor de horarios se adaptar a diversas situaciones como el manejo de clases con horarios estticos definidos por el usuario. ms rpidamente mientras el director desarrolla otras tareas. Al finalizar la generacin de horarios estos puede tener un margen de

III.2

Objetivo general

Realizar un sistema gestor de horarios para agilizar el proceso de programacin de Alumnos-Aulas-Maestros-Materias y proporcionar un mayor aprovechamiento de los recursos con los que cuenta el rea de TIC mediante un procedimiento de optimizacin metaheurstica a travs del mtodo de algoritmos genticos. III.2.1 Objetivos especficos Realizar un anlisis del funcionamiento de los algoritmos genticos y as disear una solucin que optimice la asignacin de horarios en el rea que se vaya a implementar, aprovechando de la mejor manera posible sus recursos y con un mnimo de esfuerzo. Asegurar que el sistema generador de horarios tenga las restricciones necesarias para que d una solucin clara y un mnimo de errores

13 aceptable, y que los recursos con los que se cuenta estn bien administrados. Disear un sistema amigable y dinmico para el usuario.

III.3

Metas

Terminar en dos semanas desde el inicio del proyecto una investigacin sobre el funcionamiento de los algoritmos genticos. Se recopilar en la primer semana, la informacin de la institucin para la realizacin del sistema. Desarrollar en 7 semanas una interfaz grafica y amigable para el usuario. Terminar en 3 meses el sistema generador de horarios con las restricciones necesarias y arrojando soluciones con un mnimo de errores aceptable al problema planteado.

14

IV FUNDAMENTOS TERICOS

Un sistema de informacin (SI) es un tipo especializado de sistema que puede definirse de muchas maneras, un SI es un conjunto de elementos o componentes interrelacionados para recolectar (entrada), manipular (proceso) y diseminar (salida) datos de informacin y para proveer un mecanismo de retroalimentacin para el cumplimiento de un objetivo. (Stair & Reynolds, 2000). Para que el sistema de informacin pueda funcionar necesita un lenguaje de programacin que manipular los datos de entrada y ofrecer una salida de datos til, tambin se requiere de un manejador de base de datos que guardar y gestionar los datos necesarios para que el SI funcione.

IV.1.1 Sistema gestor de base de datos Microsoft SQL Server SQL Server es una plataforma global de base de datos que ofrece

administracin de datos empresariales con herramientas integradas de inteligencia empresarial. El motor de la base de datos SQL Server permite crear y administrar aplicaciones de datos. (Dumler, 2011) Permite desarrollar objetos de base de datos en lenguajes .NET. Pueden crearse Objetos de cdigo, incluyendo Funciones, Procedimientos en lenguajes como C# y VB.NET. (Dumler, 2011) Permite realizar varias tareas al mismo tiempo que incluyen: creacin y ejecucin de una consulta, visualizacin de objetos del servidor, administracin de un objeto, supervisin de la actividad del sistema y visualizacin de la ayuda en lnea. SQL Server Management Studio aloja un entorno de desarrollo para la creacin, edicin y administracin de secuencias de comandos y procedimientos almacenados a travs de Transact-SQL. (Dumler, 2011)

15 IV.1.2 Entorno de desarrollo Microsoft Visual Studio Visual Studio une en un mismo entorno diseadores visuales para interfaces de usuario nativas y Web, diseadores de esquemas y recursos, editores de cdigo especficos para mltiples lenguajes, as como los compiladores y utilidades necesarias para generar aplicaciones a partir de todos esos elementos. (Charte & Serrano Prez, 2002) IV.1.3 Lenguaje de programacin C# El lenguaje de programacin C# se cre como un lenguaje orientado a objetos que recoge las caractersticas ms avanzadas de Java, as como las ms potentes de C++. Esto permitir acceder con C# a todos los servicios que brinde la plataforma .NET, al igual que permitir crear cdigo, as como acceder a las interfaces de programacin de las aplicaciones existentes.
(Bueno Martn & Cambronero Snchez, 2003)

La sintaxis y estructuracin de C# es similar a la de C++, ya que Microsoft pretende con esto facilitar la migracin de los programadores en C y C++ al nuevo lenguaje. As mismo C# ofrece tambin la sencillez y productividad propias de Visual Basic. (Bueno Martn & Cambronero Snchez, 2003)

IV.1.4 Algoritmos genticos IV.1.4.1 Historia de los algoritmos genticos Los algoritmos genticos (AG) fueron descubiertos y formalizados tericamente por John Holland en 1975. Su aplicacin principal es en la solucin de problemas en la bsqueda y optimizacin y estn basados en los mtodos de evolucin biolgica: seleccin natural, reproduccin y mutacin. Desde sus inicios han sido usados en problemas reales tales como: optimizacin y control de tuberas de gas, diseo de redes de comunicacin, diseo de armaduras metlicas, etc. (P Flores, 2005)

16

IV.1.4.2 Qu son los algoritmos genticos? Expuesto concisamente, un algoritmo gentico (o AG para abreviar) es una tcnica de programacin que imita a la evolucin biolgica como estrategia para resolver problemas. Dado un problema especfico a resolver, la entrada del AG es un conjunto de soluciones potenciales a ese problema, codificadas de alguna manera, y una mtrica llamada funcin de aptitud que permite evaluar cuantitativamente a cada candidata. Estas candidatas pueden ser soluciones que ya se sabe que funcionan, con el objetivo de que el AG las mejore, pero se suelen generar aleatoriamente. (Marczyk, 2004) Luego el AG evala cada candidata de acuerdo con la funcin de aptitud. En un acervo de candidatas generadas aleatoriamente, por supuesto, la mayora no funcionarn en absoluto, y sern eliminadas. Sin embargo, por puro azar, unas pocas pueden ser prometedoras, pueden mostrar actividad, aunque slo sea actividad dbil e imperfecta, hacia la solucin del problema.
(Marczyk, 2004)

Estas candidatas prometedoras se conservan y se les permite reproducirse. Se realizan mltiples copias de ellas, pero las copias no son perfectas; se introducen cambios aleatorios durante el proceso de copia. Luego, esta descendencia digital prosigue con la siguiente generacin, formando un nuevo acervo de soluciones candidatas, y son sometidas a una ronda de evaluacin de aptitud. Las candidatas que han empeorado o no han mejorado con los cambios en su cdigo son eliminadas de nuevo; pero, de nuevo, por puro azar, las variaciones aleatorias introducidas en la poblacin pueden haber mejorado a algunos individuos, convirtindolos en mejores soluciones del problema, ms completas o ms eficientes. De nuevo, se seleccionan y copian estos individuos vencedores hacia la siguiente generacin con cambios aleatorios, y el proceso se repite. Las expectativas son que la aptitud media de la poblacin se incrementar en cada ronda y, por tanto, repitiendo este proceso cientos o miles de rondas, pueden descubrirse soluciones muy buenas del problema. (Marczyk, 2004)

17

Se

presenta en la figura 2 el algoritmo bsico, para la construccin del algoritmo gentico.

Figura 2 Pseudocdigo bsico de los algoritmos genticos.

IV.1.5 Mtodos de seleccin Un algoritmo gentico puede utilizar muchas tcnicas diferentes para seleccionar a los individuos que deben copiarse hacia la siguiente generacin, pero abajo se listan algunos de los ms comunes. Algunos de estos mtodos son mutuamente exclusivos, pero otros pueden utilizarse en combinacin, algo que se hace a menudo. (Marczyk, 2004) Seleccin por torneo: se elige una muestra de individuos de la poblacin aleatoriamente, y los miembros de cada muestra compiten entre ellos. Slo se eligen a 2 muestra para la reproduccin. (Marczyk, 2004) En la figura 3 se presenta la seleccin por torneo, que consiste en tomar una muestra de la poblacin, evaluar a los individuos y elegir el que tenga mayor optimizacin. individuos de cada

18

Figura 3 Seleccin por torneo.

Seleccin elitista: se garantiza la seleccin de los miembros ms aptos de cada generacin. (La mayora de los AGs no utilizan elitismo puro, sino que usan una forma modificada por la que el individuo mejor, o algunos de los mejores, son copiados hacia la siguiente generacin en caso de que no surja nada mejor).
(Marczyk, 2004)

Seleccin proporcional a la aptitud: los individuos ms aptos tienen ms probabilidad de ser seleccionados, pero no la certeza.
(Marczyk, 2004)

Seleccin por rueda de ruleta: una forma de seleccin proporcional a la aptitud en la que la probabilidad de que un individuo sea seleccionado es proporcional a la diferencia entre su aptitud y la de sus competidores. (Conceptualmente, esto puede representarse como un juego de ruleta; cada individuo obtiene una seccin de la ruleta, pero los ms aptos obtienen secciones mayores que las de los menos aptos. Luego la ruleta se hace girar, y en cada vuelta aleatoria se elige al individuo que posea la seccin en la que se pare la ruleta). (Marczyk, 2004)

Seleccin jerrquica: los individuos atraviesan mltiples rondas de seleccin en cada generacin. Las evaluaciones de los primeros niveles son ms rpidas y menos discriminatorias, mientras que los que sobreviven hasta niveles ms altos son evaluados ms rigurosamente. La ventaja de este mtodo es que reduce el tiempo total de clculo al utilizar una evaluacin ms rpida y menos selectiva para eliminar a la mayora de los individuos que se muestran poco o nada prometedores, y sometiendo a una evaluacin de aptitud ms rigurosa y computacionalmente ms costosa slo a los que sobreviven a esta prueba inicial . (Marczyk,
2004)

19

IV.1.6 Operadores genticos IV.1.6.1 Mutacin Una vez que la seleccin ha elegido a los individuos aptos, stos deben ser alterados aleatoriamente con la esperanza de mejorar su aptitud para la siguiente generacin. Existen dos estrategias bsicas para llevar esto a cabo. La primera y ms sencilla se llama mutacin. Al igual que una mutacin en los seres vivos cambia un gen por otro, una mutacin en un algoritmo gentico tambin causa pequeas alteraciones en puntos concretos del cdigo de un individuo. Abajo se listan algunos de los mtodos de mutacin ms comunes.
(Marczyk, 2004)

Mutacin de bit: existe una nica probabilidad de que se produzca una mutacin de algn bit. De producirse, el algoritmo toma aleatoriamente un bit, y lo invierte. (Marczyk, 2004)

Mutacin multibit: cada bit tiene una probabilidad de mutarse o no, que es calculada en cada pasada del operador de mutacin multibit. (Marczyk, 2004)

Figura 4 Mutacin multibit.

Mutacin de gen: igual que la mutacin de bit, solamente que, en vez de cambiar un bit, cambia un gen completo. Puede sumar un valor aleatorio, un valor constante, o introducir un gen aleatorio nuevo. (Marczyk, 2004)

20

Figura 5 Diagrama: Funcin de Mutacin

Mutacin multigen: igual que la mutacin de multibit, solamente que, en vez de cambiar un conjunto de bits, cambia un conjunto de genes. Puede sumar un valor aleatorio, un valor constante, o introducir un gen aleatorio nuevo. Esta mutacin es la que se produce implcitamente en nuestra implementacin de cruce.
(Marczyk, 2004)

Mutacin de intercambio: existe una probabilidad de que se produzca una mutacin. De producirse, toma dos bits/genes aleatoriamente y los intercambia. (Marczyk, 2004)

Mutacin de barajado: existe una probabilidad de que se produzca una mutacin. De producirse, toma dos bits o dos genes aleatoriamente y baraja de forma aleatoria los bits o genes, y los asigna al gen que esta mutando. (Marczyk, 2004)

IV.1.6.2 Cruza Implica elegir a dos individuos para que intercambien segmentos de su cdigo, produciendo una descendencia artificial cuyos individuos son combinaciones de sus padres. Este proceso pretende simular el proceso anlogo de la recombinacin que se da en los cromosomas durante la reproduccin sexual. Se enlistan abajo las formas comunes de cruzamiento:
(Viteri, 2010)

21 Cruzamiento de un punto: En el que se establece un punto de intercambio en un lugar aleatorio del genoma de los dos individuos, y uno de los individuos contribuye todo su cdigo anterior a ese punto y el otro individuo contribuye todo su cdigo a partir de ese punto para producir una descendencia. (Viteri, 2010)

Figura 6 Diagrama: Funcin de Cruza

Cruce bsico: se selecciona un punto al azar de la cadena. La parte anterior del punto es copiada del genoma del padre y la posterior del de la madre. (Viteri, 2010) (Ver figura 4) Cruce multipunto: igual que el cruce bsico, slo que estableciendo ms de un punto de cruce. (Viteri, 2010) Cruce segmentado: existe una probabilidad de que un cromosoma sea punto de un cruce. Conforme se va formando la nueva cadena del descendiente, para cada gen, se verifica si ah se va producir un cruce. (Viteri, 2010) Cruce uniforme: para cada gen de la cadena del descendiente existe una probabilidad de que el gen pertenezca al padre, y otra de que pertenezca a la madre. (Viteri, 2010)

IV.1.7 Elitismo Consiste en guardar siempre el mejor individuo de la poblacin para la siguiente generacin, normalmente sustituyndolo por el peor. Hay estudios que indican que un algoritmo con seleccin elitista asegura la convergencia del Algoritmo gentico (AG) hacia un ptimo global. (Rakauer, 2002)

22

IV.1.8 Funcin de evaluacin Durante la evaluacin, se decodifica el gen, convirtindose en una serie de parmetros de un problema, se halla la solucin del problema a partir de esos parmetros, y se le da una puntuacin a esa solucin en funcin de lo cerca que est de la mejor solucin. A esta puntuacin se le llama fitness. El fitness determina siempre los cromosomas que se van a reproducir, y aquellos que se van a eliminar, pero hay varias formas de considerarlo para seleccionar la poblacin de la siguiente generacin: Asignar un valor en base al nmero de errores que tiene el cromosoma. En algunos casos, el fitness no es una sola cantidad, sino diversos nmeros, que tienen diferente consideracin. Basta con que el fitness forme un orden parcial, es decir, que se puedan comparar dos individuos y decir cul de ellos es mejor. Esto suele suceder cuando se necesitan optimizar varios objetivos. IV.1.8.1 Definicin de restricciones Son las que establecen las reglas de funcionamiento y definen la calidad de la solucin o el resultado obtenido. Aquella solucin que satisfaga de mejor manera todas las restricciones es la mejor solucin. Las restricciones se pueden clasificar en fuertes y dbiles de acuerdo con el peso sobre la calidad de la solucin. En este caso tenemos las siguientes: Fuertes: Aquellas que son de obligatorio cumplimiento para validar la solucin obtenida. Dbiles: aquellas que mejoran la calidad de la solucin, pero no son de obligatorio cumplimiento.

23

V HIPTESIS

Existe una solucin ptima para el problema de asignacin de horarios y salones de la Universidad Tecnolgica de la Huasteca Hidalguense, construyendo un sistema que genere los horarios mediante la metodologa de los algoritmos genticos. La solucin deseada se plantea en trminos de medidas de desempeo. El objetivo de la investigacin destaca que la solucin propuesta debe ser viable (debe ser gil y ptima); la solucin se plantea en trminos de calidad de los resultados obtenidos y tiempo computacional requerido para conseguirlos. La primera es una medida de lo ptimo; la segunda, de lo gil. Es posible disear un sistema de informacin que mediante un algoritmo de optimizacin pueda resolver la asignacin de salones y horarios de clases universitarias, basado principalmente en algoritmos genticos, que obtenga los mejores valores de funcin objetivo. Las soluciones pueden lograrse en un tiempo no superior a 2 horas proporcionando informacin prctica para la gestin.

24

VI DESARROLLO DEL PROYECTO


VI.1 Metodologa

En el sentido ms estricto, la metodologa es el instrumento para obtener informacin sobre la realidad, es el vehculo para recorrer el camino del mtodo cientfico, el saber sobre el camino para llegar a algo. Es un conjunto de saberes, de tcnicas y aproximaciones que tienen su vigencia ortopdica, su sentido de ayuda. (Lerma, 2003) Los algoritmos genticos son una metodologa de bsqueda de soluciones, usa individuos, cada individuo representa una solucin al problema planteado. (Lerma, 2003) La informacin de cada individuo se codifica en unidades de almacenamiento denominadas genes y la suma de estos genes conforma el cromosoma computacional. Cada cromosoma representa a un individuo (solucin a un problema) y contiene toda la informacin gentica de la especie. La suma de los individuos constituye la poblacin que tiene como componentes los padres de donde sern obtenidos los hijos por medio de los cruces, la seleccin o fitness y las Mutaciones. (Lerma, 2003) Una vez constituido el individuo que est representado en el cromosoma y este cromosoma en la suma de los genes, se determina la poblacin, lo cual exige que se establezcan los criterios de seleccin que harn que las generaciones posteriores cumplan los criterios establecidos por las restricciones definidas anteriormente. (Lerma, 2003) La implementacin del fitness o proceso de seleccin garantiza que de cada generacin de individuos se escojan los mejores representantes para

25 tratar de preservar la informacin gentica ms valiosa y as producir mejores hijos. Se entiende por fitness la funcin de aptitud, que es el parmetro que evala una solucin y permite que el algoritmo gentico eleve su rendimiento al mejorar la aptitud de los cromosomas conforme avanza el proceso. (Lerma, 2003) Adicionalmente para aumentar la posibilidad de mejoramiento se introduce peridicamente un fenmeno de cambio gentico al azar por medio de la mutacin. Esta consiste en cambiar de forma aleatoria la informacin contenida en un gen, generando un cambio en el individuo que al pasar por el fitness podra beneficiar la bsqueda de las caractersticas ideales de la solucin. (Lerma, 2003) Los algoritmos genticos usan un ciclo evolutivo, ofreciendo en cada generacin una mejor solucin para el problema. En la figura 7 se muestra una figura que representa la metodologa que usan los algoritmos genticos:

Figura 7 Algoritmo gentico

VI.2

Desarrollo

Para la generacin de los horarios, se necesita la siguiente lista de datos:

26 Las materias que se impartirn en la semana y el nmero de horas asignadas. (Ver anexo D) Una lista de los docentes que impartirn las clases. (Ver anexo E) Los cuatrimestres activos para la generacin del horario. Los salones en que se impartirn las clases. Un catlogo de las horas que conforman el horario. El nmero de das y sus respectivos nombres, en el que se acomodaran las clases. Los turnos que existen en la universidad o carrera. Los grupos a los que se darn las clases. Las asignaturas que tendrn horarios estticos.

Es obligatorio tambin hacer las asignaciones correspondientes, para la administracin de los horarios. A continuacin se presenta una lista de las asignaciones que deben existir para la gestin de los horarios: La asignatura debe tener uno o ms docentes asignados para dar las clases (asignacin llamada docente-asignatura). (Ver anexo F) Los grupos deben tener un maestro en especifico que les imparta cierta asignatura, es por esto que la asignacin docenteasignatura es asignada a un grupo. (Ver anexo G) Las asignaturas tienen uno o ms salones en las que se pueden impartir las clases. (Ver anexo H) Existen asignaturas con horas estticas, estas deben tener asignadas las horas y das en que se ofrecern las clases. (Ver anexo I) En la tabla 2 se presenta un ejemplo de las asignaciones que se necesitan para poder generar la planeacin de cada grupo: en esta tabla se encuentran asignadas las asignaturas, los salones en que se pueden impartir las asignaturas, el docente que le impartir la asignatura a cada grupo, y los grupos a los que se les impartirn las clases.

27
Vista de las asignaciones realizadas para el SIGHMAG Asignatura Salones Docente Grupos Heidi del carmen Mercadotecnia G1, B1, Lab 1 morales 3-A, 3-B Rafael martinez Mercadotecnia G1, B1, Lab 1 Casanova 3-C, 3-D Sistemas Gadiel Ramos operativos Hernandez Lab 7 3-C, 3-D DISEO Rafael martinez GRFICO Casanova Lab 2, B1, Lab 1 3-C, 3-D IDIOMA EXTRANJ ERO III Anahi Lab 4, Lab2, Lab 1 3-A, 3-B ADMINISTRAC IN DE LA Yucels Anai del FUNCIN Carmen Morales 3-A, 3-B Lab 8
Tabla 2. Asignacin de salones, grupos, asignaturas, docentes.

Posteriormente de que se hayan realizado las asignaciones se puede obtener la planeacin de cada grupo. En la tabla 3 se muestran las asignaturas que se les impartirn al grupo, los docentes que impartirn la asignatura, y el tipo de hora que se le asignar.

clvGrupo

Grupo

Asignatura

Tabla de planeacion del grupo A Horas Docente Hermes Salazar 6 Casanova J ose de jesus 5 gonzales torres J uan Carlos 4 Martinez Magos 4 Ingles Yucels Anai del 3 Carmen Morales Heidi del carmen 3 morales Gadiel Ramos 3 Hernandez Rafael martinez 2 Casanova CP. Maryol Torres 2 Ram rez Carlos Andres 2 Rodriguez Arguelles

13 A 13 A 13 A 13 A 13 A 13 A 13 A 13 A 13 A 13 A

DISEO GRFICO SISTEMAS OPERATIVOS Mercadotecnia IDIOMA EXTRANJ ERO III ADMINISTRACI N DE LA MODELADO DE PROCESOS Taller de inf INTEGRADORA I FORMACIN SOCIOCULTURA TUTORIAS

Asignatura AREA DE MULTIMEDIA Y COMERCIO ELECTRNICO AREA DE MULTIMEDIA Y COMERCIO AREA DE MULTIMEDIA Y COMERCIO AREA DE MULTIMEDIA Y COMERCIO AREA DE MULTIMEDIA Y COMERCIO AREA DE MULTIMEDIA Y COMERCIO AREA DE MULTIMEDIA Y COMERCIO AREA DE MULTIMEDIA Y COMERCIO AREA DE MULTIMEDIA Y COMERCIO AREA DE MULTIMEDIA Y COMERCIO

Grado Turno

3 3 3 3 3 3 3 3 3 3

Matutino Matutino Matutino Matutino Matutino Matutino Matutino Matutino Matutino Matutino

Tabla 3. Planeacin de un grupo.

28

En la tabla 4 se

Grupo A A

Asignacin de horas estticas para el grupo A, con asignatura Tutoras Asignatura Aula Da Hora TUTORIAS Audiovisual Lunes TUTORIAS Audiovisual Lunes

1 2

muestra la asignacin de horas estticas para el grupo A, que tendr 2 clases de tutoras el da lunes en la sala audiovisual, en la primera y segunda hora.

Tabla 4. Asignacin de horas estticas

VI.2.1 Inicializacin. La concepcin del gen se realiza por la combinacin de las variables involucradas en el problema como son aulas, horas y das. Se crea el gen guardndolo en un arreglo (Conjunto de valores de un mismo tipo), donde la informacin se encuentra codificada por nmeros de la siguiente manera: Donde a cada variable se le asigna un identificador. La figura 8 presenta un ejemplo que se decodificara de la siguiente manera; la clase se tomara en el saln G4 el da Martes, de 9:30 a 10:30.

Figura 8 Constitucin del GEN

29

VI.2.2 Generacin del cromosoma Luego de hacer la construccin del gen con los datos suministrados al sistema, se conforma el cromosoma (horario), que es la suma de varios genes. Es importante aclarar que el tamao del mismo depender del nmero de materias y grupos, se muestra una tabla con la planeacin de un grupo (Ver tabla 5).
clvGrupo Grupo Asignatura Tabla de planeacion del grupo A Horas Docente Herm Salazar es 6 Casanova J ose de jesus 5 gonzales torres J uan Carlos 4 Martinez Magos 4 Ingles Yucels Anai del 3 Carm Morales en Heidi del carm en 3m orales Gadiel Ram os 3 Hernandez Rafael m artinez 2 Casanova CP. Maryol Torres 2 Ram rez Carlos Andres 2 Rodriguez Arguelles Asignatura AREA DE MULTIMEDIA Y COMERCIO ELECTRNICO AREA DE MULTIMEDIA Y COMERCIO AREA DE MULTIMEDIA Y COMERCIO AREA DE MULTIMEDIA Y COMERCIO AREA DE MULTIMEDIA Y COMERCIO AREA DE MULTIMEDIA Y COMERCIO AREA DE MULTIMEDIA Y COMERCIO AREA DE MULTIMEDIA Y COMERCIO AREA DE MULTIMEDIA Y COMERCIO AREA DE MULTIMEDIA Y COMERCIO Grado Turno

13 A 13 A 13 A 13 A 13 A 13 A 13 A 13 A 13 A 13 A

DISEO GRFICO SISTEMAS OPERATIVOS Mercadotecnia IDIOMA EXTRANJ ERO III ADMINISTRACI N DE LA MODELADO DE PROCESOS Taller de inf INTEGRADORA I FORMACIN SOCIOCULTURA TUTORIAS

3 3 3 3 3 3 3 3 3 3

Matutino Matutino Matutino Matutino Matutino Matutino Matutino Matutino Matutino Matutino

Tabla 5. Planeacin.

Para crear el cromosoma se toma primeramente el primer registro en la tabla de planeaciones que en este caso es DISEO GRAFICO (Ver tabla 5).

A continuacin se obtendr un aula que se haya asignado a la asignatura de DISEO GRAFICO (en la figura 2 se pueden observar que salones fueron asignados a la asignatura DISEO GRAFICO) en este caso seleccionaremos aleatoriamente el aula LAB 2 que tiene como clave el numero 2.

Posteriormente se obtendr el da y la hora aleatoriamente, supngase que para el da se obtiene el 2 y para la hora el 1 entonces el gen iniciara con los valores: 2, 2,1.

Este proceso se repite por cada fila de la tabla de planeacin.

30

Entonces para la asignatura de diseo grafico el proceso se repetir 6 veces, se muestra una figura de como se inicializara el cromosoma (Ver figura 9).

Figura 9 Inicializacin del cromosoma.

VI.2.3 Poblacin A partir del cromosoma construido y siguiendo con las especificaciones de los AG, el siguiente paso es la creacin de la poblacin, definida como un conjunto de individuos, cada uno con un cromosoma independiente. Como se contempl en los parmetros inciales, consta de N nmero de individuos. El proceso de la generacin de la poblacin inicia de la misma manera que la generacin del cromosoma, solo que en esta fase se crean varios cromosomas de manera aleatoria, la poblacin se guarda temporalmente en una arreglo bidimensional de N numero de espacios, el arreglo contiene todos los individuos. (Ver figura 10)

Figura 10 Poblacin.

31 VI.2.4 Evaluacin Cada individuo se evaluar por medio del fitnness (sistema de seleccin o entrenamiento) para establecer cul es la mejor opcin de horario. Cada individuo tiene asignado un valor de optimizacin, este es inicializado con un valor de 976503 que es el numero de choques maximos que puede tener un individuo, se debe tomar en cuenta que cada tipo de error disminuye en una cantidad de puntos al valor de optimizacin. La funcin de evaluacin en el SIGHMAG, recibe un individuo y lo evala para conocer cul es su valor de optimizacin. VI.2.4.1 Tipos de error Posteriormente en la funcin de evaluacin se buscan errores, cada error resta un puntaje a la optimizacin. VI.2.4.1.1 Choques entre materias

Regla 1: evala que ningn Gen se repita, es decir si tenemos el gen con Aula igual a 1, da igual a 1, y hora igual a 1. No se debe repetir otro gen como ese en todo el individuo, este tipo de error quita 3 puntos a la optimizacin. En la figura 11 el gen con valores 1, 1, 1 se repite en otra posicin del arreglo ocasionando un error.

Figura 11 Choques en el individuo.

32 VI.2.4.1.2 Choques entre grupos

Regla 2: El cromosoma del SIGHMA se puede dividir en segmentos, cada segmento representa un grupo, en la imagen inferior tenemos el grupo A y el grupo B, en el grupo A existe un error, ya que el gen nmero 1 y el gen nmero 4, tienen el da y la hora igual, pero, el aula es distinta entonces al decodificar el individuo, el grupo A tendra dos clases al mismo tiempo en AULAS distintas. Este error resta 3 puntos al valor de optimizacin.

Figura 12 Choques en grupos.

En la figura 13 se muestra como quedara el gen sin errores, como se puede observar los genes son los mismos pero se encuentran en grupos distintos.

Figura 13 Individuo sin choques entre grupos.

VI.2.4.1.

Errores en los bloques de hora

Regla 3: Este tipo de error quitara 2 puntos al valor de optimizacin del individuo. Un bloque de hora se forma cuando una asignatura debe tener dos clases el mismo da, aula y horas seguidas, los errores surgen cuando no se forma el bloque de hora correctamente, se enlistan los tipos de error de bloque:

33

La hora no es consecutiva: Este tipo de error quitara 2 puntos al valor de optimizacin del individuo. En la figura 14 se aprecia un bloque de horas formado por dos genes, pero este bloque de hora tiene un error, las horas no van seguidas una de la otra, la forma correcta seria que en el gen 2 el valor de la hora fuera un 2.

Figura 14 Error de hora consecutiva.

El da no es el correcto: Este tipo de error quitara 2 puntos al valor de optimizacin del individuo. Este tipo de error es parecido al de las horas consecutivas, el da de clase no es el mismo, la forma correcta seria que en los dos genes el da sea el mismo. (Ver figura 15)

Figura 15 Error de da.

El aula no es la correcta: Este tipo de error quitara 2 puntos al valor de optimizacin del individuo. El error de aula se forma cuando en un bloque de hora, el aula no es la misma. En la figura 16 se observa, como se da este error en un cromosoma.

Figura 16 Error de aula.

34

VI.2.4.2 Restricciones que se deben cumplir al generar cada horario: Las restricciones se pueden clasificar en fuertes y dbiles de acuerdo con el peso sobre la calidad de la solucin. En este caso tenemos las siguientes: Fuertes: Aquellas que son de obligatorio cumplimiento para validar la solucin obtenida. o Un profesor no puede estar en dos aulas diferentes el mismo da y a la misma hora. o Un aula no puede estar ocupada dos veces o por dos grupos al mismo tiempo. o Un profesor no puede dictar una asignatura que no le corresponda. o Un grupo solo puede tener una clase en un periodo de tiempo. o Algunas asignaturas deben ser impartidas en un especfico. o Existen asignaturas que tienen un da, saln y horario especfico. o Cada grupo tiene un profesor, que le impartir cierta asignatura. Dbiles: aquellas que mejoran la calidad de la solucin, pero no son de obligatorio cumplimiento. o Un profesor no puede excederse en el nmero de horas programadas. o Todos los profesores deben tener carga acadmica. o En ningn caso se puede unir ms de dos horas seguidas de la misma asignatura en un mismo da. saln en

VI.2.5 Seleccin de padres El mtodo de seleccin elegido para el algoritmo gentico del SIGHMAG es; seleccin por torneo. Durante la etapa de seleccin de padres es preciso

35 mencionar que se toma una muestra de N nmero de individuos de manera aleatoria, una vez realizado este pas, se comienzan a evaluar todos los individuos de la muestra mediante la funcin de evaluacin o fitness explicada anteriormente, una vez que toda la muestra ya ha sido evaluada, se eligen a los dos individuos con mayor valor de optimizacin, estos sern los nuevos padres, en la imagen inferior se aprecia una muestra de la poblacin que ha sido evaluada, y de ella se han elegido a 2 padres. (Ver imagen 17)

Figura 17 Seleccin de 2 padres por torneo.

VI.2.6 Padres Los padres son 2 individuos que fueron elegidos durante el proceso de seleccin, estos sern los padres que se ocuparan para la cruza. Durante la seleccin se eligen muchos padres que mediante la recombinacin crearan nuevos individuos. (Ver figura 17)

VI.2.7 Recombinacin El siguiente paso en la metodologa es la recombinacin o cruza que consiste en obtener dos nuevos hijos de los padres que se eligieron. La cruza es el proceso de crear dos nuevos hijos para la nueva generacin, se hace combinando los genes de los padres, en la figura 12 tenemos un ejemplo de cruza. Para generar el hijo 1, el padre 1 pasa el gen numero 1 al hijo 1, y el padre 2 pasa el gen numero 2 al hijo 1, esto se repite con los dems genes de manera consecutiva. De igual forma para generar el hijo 2; el padre 1 le pasa el gen 2 al hijo 1, y el padre 2 le pasa el gen numero 1 al hijo 2, de igual manera de forma consecutiva. (Ver figura 18)

36

Figura 18 Representacin de cruza de 2 cromosomas de la poblacin y 2 hijos como resultado.

VI.2.8 Mutacin Una vez que se tiene la poblacin temporal (individuos de la nueva generacin) se realiza el proceso de mutacin en un porcentaje deseado por el usuario. La mutacin se realiza en los errores del cromosoma y en posiciones aleatorias del individuo. El proceso de mutacin se desarrolla de la siguiente manera; se toma uno de los individuos aleatoriamente, se comienza a evaluar con la funcin de evaluacin, cuando la funcin de evaluacin encuentre un error en cualquier parte del individuo; comenzara a mutar ese gen, para ello se debe conocer la posicin del gen, esto para poder conocer a que asignatura, grupo y turno pertenece. Una vez que se tiene la asignatura se comienza a mutar el aula, para ello se buscar un aula de manera aleatoria entre las asignadas, posteriormente se mutar el da para ello se elegir entre los das de la semana que son 5, y finalmente se mutar la hora, se elige aleatoriamente entre las horas del turno que tiene el gen. En la figura 19 se observa un individuo que ha sido mutado en varias posiciones (Ver figura 19).

Figura 19 Mutacin.

37

VI.2.9 Hijos Los hijos son los individuos que fueron creados a partir de la cruza. Formaran parte de la nueva poblacin, y remplazaran a la generacin anterior. (Ver figura 20)

Figura 20 Mutacin.

VI.2.10

Elitismo

Una vez realizadas las operaciones genticas se realiza la evaluacin de la poblacin temporal, posteriormente se aplica el elitismo en un porcentaje determinado por el usuario. La funcin de elitismo conserva a los mejores individuos de la generacin anterior para pasarlas a la nueva poblacin creada. Se desarrolla de la siguiente forma; en la figura 21 (ver figura 21), se muestra una generacin anterior y una nueva generacin. La funcin de elitismo evaluara toda la generacin anterior con la funcin de evaluacin, buscara el individuo con mejor optimizacin y se guardara en un arreglo, posteriormente se evala la nueva generacin con la funcin de evaluacin, se busca al individuo con menor valor de optimizacin, una vez encontrado, se remplazar el peor individuo por el mejor individuo de la generacin anterior.

38

Figura 21 Elitismo.

VI.2. Terminacin. Al terminar todas las generaciones, se elige el mejor individuo de la ltima generacin, este se decodificar y con l se generarn los horarios. En la figura 22 se tiene como primer gen 2, 2, 1 este gen se decodificara de la siguiente manera, el aula ser el establecido por el identificador, el da ser martes y la hora ser de 7:30 a 8:30, y as sucesivamente cada gen tendr que ser decodificado. En el anexo C (Ver anexo C) se muestra como quedara el gen despus de decodificar.

Figura 22 Terminacin.

VI.2.

Diseo del algoritmo gentico del SIGHMAG

Inicia poblacin (i) Evala poblacin (i) Elitismo (x) Hacer Mientras

39 Hacer Mientras llena poblacin Toma muestra (c)=poblacin (i) Evala muestra (c) Selecciona Padre1= Muestra (Mayor posicin) Selecciona Padre2=Muestra (Mayor posicin) Hijo1=cruza (Padre1, Padre2) Hijo2=cruza (Padre2, Padre1) Poblacin Temporal (i)=Hijo1 Poblacin Temporal (i+1)=Hijo2 Fin Mientras Mientras cumple porcentaje de mutacin Poblacin-Temporal (aleatoria)=Mutar Aula-Da-Hora (p) Fin mientras Poblacin =Poblacin-Temporal Hacer mientras cumple-porcentaje-elitismo Poblacin (aleatoria) = mejores(x) Fin mientras Obtiene_mejor_individuo(poblacion) Mientras (Generaciones o individuo-optimo)

Se genera una poblacin de tamao T segn el usuario lo establezca en la interfaz (Ver Anexo B), posteriormente se evala la poblacin inicial para obtener los mejores individuos de la primera poblacin. Una vez teniendo los datos necesarios se toma una muestra de la poblacin inicial del tamao 10 y se evala cada una de ellas hasta terminar la evaluacin de la muestra. La evaluacin determina el fitness de cada individuo y mediante este valor se seleccionan los 2 mejores mismos que sern los padres seleccionados para poder realizar el cruce de stos y obtener a los dos nuevos hijos que pasarn a la siguiente generacin. El siguiente proceso del algoritmo corresponde al porcentaje de mutacin de la nueva poblacin, definido por el usuario en la interfaz (Ver Anexo B), seleccionando de la nueva poblacin la posicin aleatoria y obtener

40 al individuo, posteriormente se sustituyen los valores de Hora y Da en cada gen de este cromosoma. Concluyendo el porcentaje de mutacin deseado, se realiza el elitismo en la nueva poblacin generada, pasando los datos de los mejores cromosomas de la generacin anterior. Realizado todo este proceso, el algoritmo gentico evala cada generacin de la misma manera hasta llegar al lmite de generaciones. Al final se toma al mejor de cada generacin para mostrarlo en una tabla del formulario (Ver Anexo C) de generaciones realizadas. En este mismo formulario se pueden enviar los datos del mejor individuo el cual contiene el horario de todos los grupos a formato Excel.

41

VII RESULTADOS
Al terminar el sistema generador de horarios, se desarrollaron pruebas para encontrar que tamao de poblacin era el optimo, tambin se hicieron pruebas para encontrar que porcentaje de mutacin y elitismo eran los adecuados para le generacin de los horarios. VII.1.1Pruebas de tamao de poblacin Se desarrollaron pruebas al SIGHMAG para conocer qu cantidad de poblacin era es la mejor opcin para poder realizar los horarios, se desarrollaron 10 pruebas con poblaciones de 100, 200, 300, 400, 500. Los resultados de la pruebas se resumen en la tabla 6. Con las pruebas se demuestra que encontrar el tamao ptimo de poblacin es difcil, ya que el algoritmo se comporta de maneras impredecibles.
Grafica en busca de la mejor poblacin Poblacion Mutacion Elitismo Errores 100 3 1 200 3 1 300 3 1 400 3 1 500 3 1

3 2,8 3,1 2,8 3,1

Tabla 6. Pruebas de tamao poblacin.

En la figura 21 se observa el resultado de las pruebas, los peores resultados se encuentran en las pruebas con tamao de poblacin 300 y 500, las mejores pruebas se encuentran en las pruebas con tamao de poblacin 200 y 400. Es difcil diferir entre que tamao de poblacin elegir pues 100 los resultados son algo incongruentes, porque el comportamiento del algoritmo es impredecible. Tambin se puede observar que el rango de error entre todas las pruebas est entre 2.8 y 3.1, un rango mnimo.
200

30

42

Figura 23 Grfica de las pruebas de tamao de poblacin.

VII.1.2Pruebas de mutacin Una vez que se tuvo la cantidad de poblacin optima para la generacin de los horarios, se desarrollaron pruebas al SIGHMAG para conocer qu porcentaje de mutacin era el mejor para poder realizar los horarios, se desarrollaron 50 pruebas, divididas de 10 en 10, se hicieron 10 pruebas con poblacin mutacin 6, 10 pruebas con mutacin 9 y as sucesivamente con un rango de 3. (Ver tabla 7)
Poblacion Mutacion 200 200 200 200 200 200 200 Elitismo 6 9 12 15 18 21 24 3 3 3 3 3 3 3 Errores 4,3 3,3 2,9 5,4 5,7 6 6,2

Tabla 7. Pruebas de mutacin.

Figura 24 Grfica de las pruebas de mutacin.

43 En la grafica de la figura 22 se puede observar que el menor nmero de errores se encuentra en el porcentaje mutacin de 12

VII.1.3Pruebas de elitismo. Se desarrollaron las pruebas con el mejor porcentaje de mutacin y de poblacin, con un valor de elitismo de 3, 6, 9, 12, 15, 18, 21. (Ver tabla 8)

Poblacion Mutacion 200 200 200 200 200 200 200

Elitismo 12 12 12 12 12 12 12 3 6 9 12 15 18 21

Errores 4,3 3,3 2,9 5,4 5,7 6 6,2

Tabla 8. Pruebas de elitismo.

Figura 25 Grfica de las pruebas de elitismo.

La grafica de la figura 23 demuestra que variar la mutacin o darle un rango mayor no ayuda en nada a disminuir los errores en el algoritmo, pero se recomienda asignar un 3% de elitismo para que la optimizacin de los individuos no tienda a disminuir.

44

VIII

CONCLUSIONES

La generacin de horarios es una tarea difcil en cualquier institucin educativa y puede ser optimizada por la utilizacin de un programa de computacin basado en algoritmos genticos. Las pruebas de implementacin permiten concluir que la utilizacin de este modelo de cromosoma, llevado a un sistema de software, posibilita la realizacin del horario de forma automatizada.

Las pruebas demuestran que los valores ms aptos para asignar al algoritmo gentico, son los siguientes, para la poblacin se encontraron mejores resultado con un valor de 200, para la mutacin un porcentaje del 12% y para el elitismo se encontr que no ayuda mucho al algoritmo gentico, solo lo ayuda para que no tienda a disminuir el porcentaje de optimizacin de los individuos, pero, si se desea contar con esta funcin, se aconseja que se le asigne un valor del 3%. El usar una mutacin selectiva ayuda mucho al algoritmo, lo hace ms rpido porque no muta todo el individuo. Una mutacin del tipo selectiva ayuda a que los genes que ya estn correctos en un individuo no se pierdan. Se demostr que el elitismo no es eficiente en el algoritmo pero lo ayuda a que no tienda a disminuir el porcentaje de optimizacin, debido a que siempre se conserva al mejor individuo. El tener muchas restricciones durante la generacin de horarios hace que algoritmo pierda rendimiento, esto se puede mejorar con un equipo de cmputo que tenga un hardware de alto rendimiento.

45 VIII.1 Recomendaciones y trabajos futuros

El SIGHMAG gener los horarios de manera ptima, sin embargo le faltan las siguientes restricciones: Creacin de bloques Que el profesor no tenga ms de una materia al mismo da y hora. El asignar un docente a un grupo no es recomendable, sera mejor que el algoritmo los asigne. Falto desarrollar las interfaces para: Hacer dinmico los horarios de recesos. Determinar los turnos matutino y vespertino de manera grafica. Asignar los horarios estticos por grupo. Exportar los horarios a Excel con el estndar de los horarios de TIC Se recomienda hacer pruebas con la seleccin de tipo jerrquica, ya que este tipo de seleccin ocupa menos recursos al principio de las generaciones. Y ocupa ms recursos al finalizar las generaciones es decir cuando el rango de errores es mnimo.

46

IX REFERENCIAS BIBLIOGRFICAS

X ANEXOS
Anexo A: Modelo relacional de la Base de datos (dbhorarios)

2 Anexo B. Ventana de Asignacin del Tamao de Poblacin, muestra, Porcentaje de Mutacin y Porcentaje de Elitismo para la Generacin de Horarios.

3 Anexo C. Resultados Obtenidos despus de Terminar las Generaciones Definidas o Resultado Obtenidos de los horarios de TIC.

Anexo D. Interfaz grafica de registro de materias.

Anexo E. Registro de docentes.

Anexo F. Interfaz de asignaciones entre docentes y asignaturas.

Anexo G. Interfaz de asignaciones entre grupos y profesores.

Anexo H. Asignacin de salones a una asignatura

Anexo I. Asignacin de salones a una asignatura

10

Anexo J. Protocolo de estada.

11

Anexo K. Calendarizacin del proyecto de estada.