91
TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN SISTEMA GESTOR DE HORARIOS MEDIANTE ALGORITMOS GENÉTICOS (SIGHMAG) MEMORIA PRESENTADA COMO REQUISITO PARA OBTENER EL TÍTULO DE TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN AUTOR: JESÚS IGNACIO TALÓN PORTES ASESOR ACADÉMICO: MIA. EFRÉN JUÁREZ CASTILLO ASESOR INDUSTRIAL: MTI. CÉSAR ADRIÁN ORTEGA CRESPO

Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

Embed Size (px)

Citation preview

Page 1: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN

SISTEMA GESTOR DE HORARIOS MEDIANTE ALGORITMOS GENÉTICOS (SIGHMAG)

MEMORIA PRESENTADA

COMO REQUISITO PARA OBTENER EL TÍTULO

DE TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS

DE LA INFORMACIÓN Y COMUNICACIÓN

AUTOR: JESÚS IGNACIO TALÓN PORTES

ASESOR ACADÉMICO: MIA. EFRÉN JUÁREZ CASTILLO

ASESOR INDUSTRIAL: MTI. CÉSAR ADRIÁN ORTEGA

CRESPO

HUEJUTLA DE REYES, HGO. AGOSTO DE 2012

Page 2: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

SISTEMA GESTOR DE HORARIOS MEDIANTE ALGORITMOS GENÉTICOS (SIGHMAG)

Memoria presentada

Por

JESÚS IGNACIO TALÓN PORTES

Ante la Universidad Tecnológica de la Huasteca Hidalguensecomo requisito parcial para optar

al título de:

TÉCNICO SUPERIOR UNIVERSITARIOEN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA

SISTEMAS INFORMÁTICOS

Agosto de 2012

Page 3: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

DATOS GENERALES DE LA EMPRESA

EMPRESA

UNIVERSIDAD TECNOLÓGICA DE LA HUASTECA HIDALGUENSE

SECTOR

PÚBLICO

DIRECCIÓN

CARRETERA HUEJUTLA CHALAHUIYAPA S/N. COLONIA TEPOXTECO HUEJUTLA DE REYES HIDALGO, CP. 43000 TELÉFONO: 01-789-89-6-20-88

AL 93. EMAIL [email protected]

PROYECTO

SISTEMA GESTOR DE HORARIOS MEDIANTE ALGORITMOS GENÉTICOS (SIGHMAG)

ASESOR INDUSTRIAL

MTI. CÉSAR ADRIÁN ORTEGA CRESPO

CARGO DEL ASESOR

DIRECTOR DE LA CARRERA DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN

Page 4: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

i

DEDICATORIA

A Dios:

Por brindarme la ayuda espiritual en todos los momentos que más 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 más, para poder llevar a cabo

esta etapa de mis estudios y por permitir demostrarles que todo lo que se

propongan, es posible lograrlo.

Page 5: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

ii

AGRADECIMIENTOS

Agradezco a la Universidad Tecnológica 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í también agradezco por facilitarme

con mi proyecto de titulación, brindando todos los recursos necesarios.

A mi asesor industrial por guiarme y brindarme recursos hacia el

bienestar de mi proyecto de estadía, por los consejos y deseos de superación.

A mi asesor académico por brindarme apoyo en la documentación y

revisión de mi tesis, la comprensión necesaria para cumplir mi meta en el

proyecto.

A los maestros que me enseñaron lo necesario para sacar adelante mi

carrera, por el conocimiento que me proporcionaron y las dudas resueltas.

Page 6: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

iii

Índice

DEDICATORIA...............................................................................................................i

AGRADECIMIENTOS..................................................................................................ii

ÍNDICE DE TABLAS....................................................................................................iv

ÍNDICE DE ILUSTRACIONES O FIGURAS............................................................iv

RESUMEN......................................................................................................................vi

ABSTRACT...................................................................................................................vii

I INTRODUCCIÓN...................................................................................................1

II ANTECEDENTES..................................................................................................3

2.1 Datos Generales de la Empresa..........................................................................3

2.2 Trabajos Previos.................................................................................................9

III PLANTEAMIENTO DEL PROBLEMA............................................................12

3.1 Justificación......................................................................................................12

3.2 Objetivo general................................................................................................12

3.3 Metas.................................................................................................................13

IV FUNDAMENTOS TEÓRICOS............................................................................14

V HIPÓTESIS...........................................................................................................23

VI DESARROLLO DEL PROYECTO....................................................................24

6.1 Metodología......................................................................................................24

6.2 Desarrollo..........................................................................................................25

VII RESULTADOS......................................................................................................41

VIIICONCLUSIONES.................................................................................................44

8.1 Recomendaciones y trabajos futuros................................................................45

IX REFERENCIAS BIBLIOGRÁFICAS................................................................46

X ANEXOS..................................................................................................................1

Anexo A: Modelo relacional.........................................................................................1

Anexo B. Ventana de Asignación.................................................................................2

Anexo C. Resultados.....................................................................................................3

Anexo D. Interfaz grafica de registro de materias.........................................................4

Anexo E. Registro de docentes......................................................................................5

Anexo F. Interfaz de asignaciones entre docentes y asignaturas...................................6

Anexo G. Interfaz de asignaciones entre grupos y profesores......................................7

Anexo H. Asignación de salones a una asignatura........................................................8

Anexo I. Asignación de salones a una asignatura.........................................................9

Page 7: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

iv

Anexo J. Protocolo de estadía.....................................................................................10

Anexo K. Calendarización del proyecto de estadía.....................................................11

ÍNDICE DE TABLAS

Tabla 1. Tabla de distribución y cargos académicos de TIC (UTHH, 2006b)......7

Tabla 2. Asignación de salones, grupos, asignaturas, docentes.......................27

Tabla 3. Planeación de un grupo.......................................................................27

Tabla 4. Asignación de horas estáticas.............................................................28

Tabla 5. Planeación...........................................................................................29

Tabla 6. Pruebas de tamaño población.............................................................41

Tabla 7. Pruebas de mutación..........................................................................42

Tabla 8. Pruebas de elitismo.............................................................................43

ÍNDICE DE ILUSTRACIONES O FIGURAS

Figura 1 Organigrama del área de Tecnologías de la Información y

Comunicación (UTHH, 2006b)..........................................................................8

Figura 2 Pseudocódigo básico de los algoritmos genéticos..............................17

Figura 3 Selección por torneo...........................................................................17

Figura 4 Mutación multibit.................................................................................19

Figura 5 Diagrama: Función de Mutación.........................................................20

Figura 6 Diagrama: Función de Cruza..............................................................21

Figura 7 Algoritmo genético..............................................................................25

Figura 8 Constitución del GEN..........................................................................28

Figura 9 Inicialización del cromosoma..............................................................30

Figura 10 Población..........................................................................................30

Figura 11 Choques en el individuo....................................................................31

Figura 12 Choques en grupos...........................................................................32

Figura 13 Individuo sin choques entre grupos...................................................32

Page 8: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

v

Figura 14 Error de hora consecutiva.................................................................33

Figura 15 Error de día.......................................................................................33

Figura 16 Error de aula.....................................................................................33

Figura 17 Selección de 2 padres por torneo.....................................................35

Figura 18 Representación de cruza de 2 cromosomas de la población y 2 hijos

como resultado..................................................................................................36

Figura 19 Mutación............................................................................................36

Figura 20 Mutación............................................................................................37

Figura 21 Elitismo..............................................................................................38

Figura 22 Terminación......................................................................................38

Figura 23 Gráfica de las pruebas de tamaño de población...............................42

Figura 24 Gráfica de las pruebas de mutación..................................................42

Figura 25 Gráfica de las pruebas de elitismo....................................................43

Page 9: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

vi

RESUMEN

La presente memoria fue desarrollada en la Universidad Tecnológica de

la Huasteca Hidalguense en la ciudad de Huejutla de Reyes, Hidalgo. El

proyecto consistió en la creación de un Sistema Gestor de Horarios Mediante

Algoritmos Genéticos (SIGHMAG), el cual trabaja en el acomodo de horarios

de los grupos, asignación de aulas y de horarios estáticos para clases con

asignaturas extracurriculares.

Para llevar a cabo el desarrollo del proyecto se utilizó la metodología basada

en algoritmos genéticos, fundamentada en base a la teoría Darwiniana de la

evolución por medio de la selección natural, partiendo desde la creación de

cromosomas, creación de la población, evaluación de cada individuo, selección

de mejores individuos, el cruce de los individuos seleccionados, la mutación

aleatoria, así como su evaluación y la concepción de nuevas generaciones.

La necesidad de crear un sistema que genere horarios se determinó porque la

gestión de los horarios de clases es de suma importancia y por la dificultad de

encontrar una solución óptima en la planificación 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

clasificadas por un nivel de aptitud que será determinado por el cumplimiento

de restricciones.

Algoritmos genéticos, Horarios, Sistema, Programación,

cromosoma.

Page 10: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

vii

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

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.

Page 11: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

1

I INTRODUCCIÓN

En la mayoría de las universidades de educación superior existe la

necesidad de asignar aulas, días, horas y docentes para desarrollar las

actividades académicas. Siempre al inicio de período 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 días que complican su realización.

Para su elaboración 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 resultaría muy

conveniente la automatización del proceso por medio de una herramienta

computacional basada en la inteligencia artificial.

En el presente proyecto se presenta la construcción de un sistema de

información para la generación de los horarios de la Universidad Tecnológica

de la Huasteca Hidalguense. Se mostraran los fundamentos teóricos para la

realización del sistema, posteriormente se mostrará, por medio de gráficas, los

resultados de las diferentes pruebas que se hicieron en el sistema. Finalmente,

se presentan las conclusiones obtenidas.

En el capítulo II Antecedentes: Se describe la empresa donde se realizo

la estadía, se da a conocer la misión, visión y los valores que distinguen la

empresa, también se muestra una descripción del grupo de trabajo.

En el capítulo III Planteamiento del problema: Se da a conocer la

problemática por la cual se construye el sistema generador de horarios, se

especifica la justificación y el porqué se desarrollo el proyecto. Se plantea el

objetivo general y los objetivos específicos, también se dan a conocer las

metas y el tiempo planteado para el desarrollo del proyecto.

Page 12: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

2

En el capítulo IV Fundamentos teóricos: se fundamentan las bases

teóricas del proyecto, se especifican las herramientas usadas para el

desarrollo del mismo. Se da a conocer la historia de los algoritmos genéticos,

que son y las distintas formas de implementarlos. Se muestra y explica la

metodología de los algoritmos genéticos.

En el capítulo V Hipótesis: Se ostenta una propuesta que se formulo a

través de la recolección de información y datos, aunque no esté confirmada,

sirve para responder de forma alternativa al problema.

El capítulo VI Desarrollo del proyecto: Es la parte medular del proyecto;

se divide en dos partes: En la primera se presenta la metodología y los pasos a

seguir para la construcción del sistema. La segunda parte explica en orden

cronológico el desarrollo del algoritmo genético, la construcción del gen,

cromosoma, asignaciones y demás pasos de la construcción del SIGHMAG.

El capítulo VII Resultados: Describe las pruebas y análisis realizados al

SIGHMAG, se muestran graficas, y comentarios sobre la funcionalidad del

producto.

El capítulo VIII Conclusiones: Da a conocer las conclusiones a las que

se llego después de haber analizado los resultados. Además se dan a conocer

comentarios y recomendaciones para trabajos futuros.

El capítulo IX Referencias bibliográficas: Se muestra todas las

referencias bibliográficas de las que se obtuvo información para el desarrollo

del proyecto.

El capítulo X Anexos: Muestra imágenes y tablas que sirven como

soporte al desarrollo del presente documento.

Page 13: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

3

II ANTECEDENTES

II.1Datos Generales de la Empresa

La Universidad Tecnológica de la Huasteca Hidalguense (UTHH) es una

institución con un alto prestigio y valor académico, el cual está basado en su

modelo educativo de enseñanza práctica 70% y enseñanza teórica 30%, así

mismo por formación general 80% y formación especializada 20%, aunado a

esto su filosofía de excelencia y calidad han hecho de esta universidad una de

las más prestigiadas a nivel regional. (UTHH, 2006a)

El modelo educativo está basado en el estudio educativo de países de

primer mundo como son Japón con sus Colegios Técnicos; Gran Bretaña y sus

Institutos Politécnicos; Francia con su Sistema de Institutos Universitarios de

Tecnología; los Colegios Comunitarios de los Estados Unidos de América; y las

Escuelas de Formación Técnica de Alemania, donde esta modalidad ha

funcionado por décadas y ha contribuido a la mejora económica de estos

países. (UTHH, 2006a)

En un análisis realizado a través de la Secretaria de Educación Pública

(SEP) en 1989 se detectó en México la incompatibilidad entre la enseñanza

superior con las necesidades de los estudiantes y del sector productivo, y

pocas opciones para continuar la preparación superior de los jóvenes. Por ello

la Secretaria de Educación Pública en coordinación con los gobiernos estatales

optaron por la creación de Universidades Tecnológicas cuyo objetivo es

“Desarrollar la educación tecnológica superior posterior al bachillerato con

duración de dos años, mediante la participación de planes y programas de

estudios a lo largo de seis cuatrimestres, equivalentes a tres mil horas de

estudio, y que conlleva a la obtención del título de Técnico Superior

Universitario. (UTHH, 2005b)

Más tarde la UTHH, con las anteriores experiencias ganadas, realizó un

estudio socio - histórico, micro y macro-regional de la Huasteca muy completo

Page 14: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

4

para el cual los expertos realizaron diagnósticos de las necesidades

manifiestas de la región logrando incorporar las aspiraciones y opiniones de los

potenciales usuarios de esta universidad: estudiantes, empleadores y

productores; de manera tal que la Universidad Tecnológica de la Huasteca

Hidalguense no sólo significa la implantación de un centro educativo en una

región clave de nuestro Estado, sino también la posibilidad de acercar y difundir

los avances de carácter tecnológico a un medio rural. (UTHH, 2005b)

La Universidad Tecnológica de la Huasteca Hidalguense, abrió sus

puertas en enero de 1996, con un curso propedéutico de seis semanas de

duración. (UTHH, 2005b)

En enero de 1997, dio inicio el primer cuatrimestre, con las carreras de

Informática y Mecánica. El 24 de abril de 1997 , se publicó en el periódico

oficial del Gobierno del Estado de Hidalgo, el Decreto de Creación de la

Universidad Tecnológica de la Huasteca Hidalguense como un organismo

público descentralizado del Gobierno Estatal, para lo que se conjuntaron tanto

esfuerzos de la Federación como del Estado, siendo la número cuatro en el

Estado de Hidalgo; cabe resaltar la iniciativa Hidalguense de transformar el

concepto de Universidad Tecnológica de Desarrollo, como innovación 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 ubicación, el tipo de carreras, el carácter intensivo de sus planes

y programas de estudios, así como el bajo costo económico de las colegiaturas

la UTHH representó desde sus inicios, una alternativa accesible para los

jóvenes de la región. (UTHH, 2005b)

II.1.1 Misión

Ofrecer servicios educativos y de gestión tecnológica, mediante

programas de calidad, apoyados en personal competente, infraestructura y

tecnología de vanguardia, para formar integralmente Técnicos Superiores

Page 15: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

5

Universitarios e Ingenieros que coadyuven al desarrollo regional con un amplio

sentido de responsabilidad social. (UTHH, 2009)

II.1.2 Visión

Ser una institución reconocida a nivel nacional por su calidad educativa y

de servicios, con resultados en investigación aplicada, incidiendo en el

desarrollo sustentable de la región, que forme integralmente profesionales en

Técnico Superior Universitario e Ingeniería, con valores, competitivos y

comprometidos con su entorno, mediante programas educativos acreditados,

cuerpos académicos en consolidación, infraestructura de vanguardia y gestión

eficiente, que impulsen el desarrollo de la región y del país. (UTHH, 2009)

II.1.3 Política de calidad

La UTHH establece el compromiso de prestar servicios educativos,

sustentados en la filosofía 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 Descripción del TSU

La Universidad Tecnológica de la Huasteca Hidalguense forma Técnicos

Superiores Universitarios en dos años de estudios intensivos. Este modelo

educativo orienta el proceso de enseñanza-aprendizaje con base en los

siguientes atributos:

Page 16: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

6

Pertinencia: Las carreras que se imparten en la Universidad

Tecnológica se identifican con las necesidades reales de su

entorno.

Polivalencia: Se otorga una sólida formación general en

conocimientos científicos y técnicos, 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 científicos y tecnológicos. 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 prácticos. Los

horarios de estudio son de 35 horas por semana distribuidos en el

aula, el taller o laboratorio y las prácticas en la empresa, además

de actividades extracurriculares que demandan una dedicación de

tiempo completo por parte del alumno durante los años de

formación. (UTHH, 2005a)

La posición de un Técnico 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 Técnico es capaz de responsabilizarse de un

equipo de trabajo, tiene su propio campo de acción, trabaja con iniciativa propia

y realiza la programación de sus actividades. (UTHH, 2005a)

El Técnico Superior Universitario puede desempeñarse

profesionalmente en una amplia gama de actividades productivas; colaborando

en una organización, prestando sus servicios libremente, o creando su propia

empresa. (UTHH, 2005a)

Ante la carencia de Técnicos Superiores, la mayoría de los egresados

de licenciatura ocupan esas posiciones en el mercado laboral sin estar

preparados para ello, lo que ocasionaba demérito en su desempeño

profesional. (UTHH, 2005a)

Page 17: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

7

II.1.5 Descripción donde se realizó la estadía

El presente proyecto se realizó dentro de la carrera de Tecnologías de la

Información y Comunicación (TIC) de la Universidad Tecnológica 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 disposición (tanto humanos como materiales), tiene

como colaboradora una secretaria de dirección que controla y agenda las

reuniones y avisos del personal docente, además existen profesores asociados

que tienen contratos temporales de duración determinada que imparten las

asignaturas, los profesores investigadores asociados son los trabajadores

académicos que se dedican a las labores de docencia e investigación y a las

correspondientes en extensión y difusión de la cultura, los profesores de

asignatura quienes de acuerdo con la categoría que fije su nombramiento, son

remunerados en función del número de horas de clase que impartan frente al

grupo, además existe un jefe oficina que dirige los laboratorios y les da

mantenimiento, los coordinadores son los que arreglan y preparan los métodos

para la mejora continua de los servicios de la carrera. Se presenta una tabla

con el total de trabajadores y sus respectivos puestos:

Nivel Unidad administrativa TotalII Director de área 1IV Profesores asociados 4

IVProf. Investigadores

asociados3

IV Prof. De asignatura 12V Coordinador 1

VII Jefe de oficina 1X Secretaría de dirección 1

Tabla 1. Tabla de distribución y cargos académicos de TIC (UTHH, 2006b)

Page 18: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

8

Se presenta una descripción de la estructura de la organización del área

de TIC, mediante un organigrama que define los niveles de jerarquía y la

relación entre los distintos puestos de trabajo, mencionados anteriormente:

Figura 1 Organigrama del área de Tecnologías de la Información y Comunicación (UTHH, 2006b)

II.1.6 Perfil profesional del programa educativo de TIC

Capacidad de análisis y síntesis habilidades para la investigación básica,

las capacidades individuales y las destrezas sociales; habilidades gerenciales y

las habilidades para comunicarse en un segundo idioma. (UTHH, 2004b)

II.1.7 Competencias específicas

Formula proyectos de tecnologías de información, mediante procesos

estándares y modelos de calidad para contribuir con el logro de los objetivos

estratégicos de las organizaciones. (UTHH, 2004b)

Coordinador del Servicio de Carrera

Jefe de Oficina del Laboratorio de Computo

Secretaria de información

Dirección de la carrera de tecnologías de la información y

comunicación

Profesor Investigador

Profesor Investigador Asociado

Profesor de asignatura

Page 19: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

9

II.1.8 Misión del programa educativo de tecnologías de la información y

comunicación

Ofrecer servicios educativos, mediante programas de calidad apoyados

con tecnología de vanguardia para formar Técnicos Superiores Universitarios

en Tecnologías de la Información y Comunicación e Ingenieros en Tecnologías

de la Información comprometidos y emprendedores, que respondan a las

expectativas de la sociedad y coadyuven al desarrollo sustentable de la región.

(UTHH, 2004b)

II.1.9 Visión del programa educativo tecnologías de la información y

comunicación al 2012

Ser un programa educativo en Tecnologías de la Información y

Comunicación acreditado por el Consejo de Acreditación de la Enseñanza de la

Ingeniería (CACEI), con planes y programas de estudio basados en

competencias profesionales, que satisfaga las expectativas de los alumnos y

del sector productivo, a través de un servicio educativo de calidad y que preste

servicios de aplicación del conocimiento con docentes habilitados y

organizados en cuerpos académicos consolidados. (UTHH, 2004a)

II.2Trabajos Previos

Los primeros ejemplos de lo que hoy podríamos llamar algoritmos

genéticos aparecieron a finales de los 50 y principios de los 60, programados

en computadoras por biólogos evolutivos que buscaban explícitamente realizar

modelos de aspectos de la evolución natural. A ninguno de ellos se le ocurrió

que esta estrategia podría aplicarse de manera más general a los problemas

artificiales, pero ese reconocimiento no tardaría en llegar: “La computación

evolutiva estaba definitivamente en el aire en los días formativos de la

computadora electrónica”. (Melanie, 1999)

Page 20: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

10

Existen numerosos proyectos de asignación de horarios basados y

desarrollados con algoritmos genéticos, muchos han generado buenos

resultados, estos se han utilizado en grandes universidades a lo largo del

mundo.

Algunos de los sistemas generadores de horarios más destacados y

que han dado un buen resultado son;

Asignación de horarios de clases universitarias mediante

algoritmos evolutivos, desarrollado por el ingeniero José María

Mejía 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 más le convenga.(Mejía Caballero

& Paternina Arboleda, 2009).

Experimentos con Algoritmos Genéticos para resolver un

problema real de Programación Maestros-Horarios-Cursos

desarrollado en el Departamento de Matemáticas de la

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).

Elaboración de Horarios Académicos Usando Algoritmos

Genéticos, es un software de asignación de horarios desarrollado

en Bogotá Colombia. Este trabajo aporta un modelo

computacional basado en algoritmos genéticos (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. (Martínez, 2010)

Page 21: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

11

Análisis, Diseño e Implementación de un sistema de Información

Para la Gestión Académica de un Instituto Superior Tecnológico,

desarrollado en Lima, agosto de 2011, por Alexander Daniel

Norabuena Guevara, el sistema que se desarrollo en la institución

puede manejar los horarios de los alumnos entre las clases y

después de haber finalizado, cabe resaltar que los servicios

educativos se ofrecen antes, durante y después de los estudios

regulares de los alumnos, ya que involucran actividades previas a

la matriculación de los estudiantes y posteriores al termino de sus

estudios, como es el caso de las certificaciones.(Norabuena Guevara,

2011).

Algoritmos Genéticos para la Optimización de Asignación de

Espacios Áulicos tomando en cuenta que algunas son de ciertas

capacidades y se usan en algunas fechas en particular para

eventos, además se maneja la distancia entre aulas para que el

alumno ahorre tiempo de una asignatura a la otra, fue

desarrollado por el Grupo de Investigación Sobre Inteligencia

Artificial (GISIA) en chaco argentina(Karanik & Pérez).

Sistema Gestor de Horarios Mediante Algoritmos Genéticos

desarrollado por el ingeniero en TIC Rafael de la Cruz Bautista,

en Huejutla de Reyes, Hidalgo. Para la Universidad Tecnológica

de la Huasteca Hidalguense, un sistema generador de horarios

que mediante algoritmos genéticos 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

asignación de horarios mediante algoritmos genéticos los que han resuelto en

su momento el problema para el cual fueron realizados.

Page 22: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

12

III PLANTEAMIENTO DEL PROBLEMA

III.1 Justificación

Actualmente el director del área de Tecnologías de la Información Y

Comunicación (TIC), realiza la gestión de horarios manualmente mediante una

herramienta de la paquetería 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 administración de los salones, aulas y horas, se podrán

generar los horarios más rápidamente mientras el director desarrolla otras

tareas. Al finalizar la generación de horarios estos puede tener un margen de

error mínimo.

El sistema gestor de horarios se adaptará a diversas situaciones como el

manejo de clases con horarios estáticos definidos por el usuario.

III.2 Objetivo general

Realizar un sistema gestor de horarios para agilizar el proceso de

programación 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 optimización metaheurística a través del método de

algoritmos genéticos.

III.2.1 Objetivos específicos

Realizar un análisis del funcionamiento de los algoritmos genéticos y así

diseñar una solución que optimice la asignación de horarios en el área

que se vaya a implementar, aprovechando de la mejor manera posible

sus recursos y con un mínimo de esfuerzo.

Asegurar que el sistema generador de horarios tenga las restricciones

necesarias para que dé una solución clara y un mínimo de errores

Page 23: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

13

aceptable, y que los recursos con los que se cuenta estén bien

administrados.

Diseñar un sistema amigable y dinámico para el usuario.

III.3 Metas

Terminar en dos semanas desde el inicio del proyecto una investigación

sobre el funcionamiento de los algoritmos genéticos.

Se recopilará en la primer semana, la información de la institución para

la realización 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 mínimo de

errores aceptable al problema planteado.

IV FUNDAMENTOS TEÓRICOS

Page 24: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

14

Un sistema de información (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 información y para proveer un mecanismo de

retroalimentación para el cumplimiento de un objetivo. (Stair & Reynolds, 2000).

Para que el sistema de información pueda funcionar necesita un

lenguaje de programación que manipulará los datos de entrada y ofrecerá una

salida de datos útil, también 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

administración 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 código, incluyendo Funciones, Procedimientos en lenguajes

como C# y VB.NET. (Dumler, 2011)

Permite realizar varias tareas al mismo tiempo que incluyen: creación y

ejecución de una consulta, visualización de objetos del servidor, administración

de un objeto, supervisión de la actividad del sistema y visualización de la ayuda

en línea. SQL Server Management Studio aloja un entorno de desarrollo para la

creación, edición y administración de secuencias de comandos y

procedimientos almacenados a través de Transact-SQL. (Dumler, 2011)

IV.1.2 Entorno de desarrollo Microsoft Visual Studio

Page 25: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

15

Visual Studio une en un mismo entorno diseñadores visuales para

interfaces de usuario nativas y Web, diseñadores de esquemas y recursos,

editores de código específicos para múltiples lenguajes, así como los

compiladores y utilidades necesarias para generar aplicaciones a partir de

todos esos elementos. (Charte & Serrano Pérez, 2002)

IV.1.3 Lenguaje de programación C#

El lenguaje de programación C# se creó como un lenguaje orientado a

objetos que recoge las características más avanzadas de Java, así como las

más potentes de C++. Esto permitirá acceder con C# a todos los servicios que

brinde la plataforma .NET, al igual que permitirá crear código, así como

acceder a las interfaces de programación de las aplicaciones existentes.

(Bueno Martín & Cambronero Sánchez, 2003)

La sintaxis y estructuración de C# es similar a la de C++, ya que

Microsoft pretende con esto facilitar la migración de los programadores en C y

C++ al nuevo lenguaje. Así mismo C# ofrece también la sencillez y

productividad propias de Visual Basic. (Bueno Martín & Cambronero Sánchez, 2003)

IV.1.4 Algoritmos genéticos

IV.1.4.1 Historia de los algoritmos genéticos

Los algoritmos genéticos (AG) fueron descubiertos y formalizados

teóricamente por John Holland en 1975. Su aplicación principal es en la

solución de problemas en la búsqueda y optimización y están basados en los

métodos de evolución biológica: selección natural, reproducción y mutación.

Desde sus inicios han sido usados en problemas reales tales como:

optimización y control de tuberías de gas, diseño de redes de comunicación,

diseño de armaduras metálicas, etc. (P Flores, 2005)

IV.1.4.2 ¿Qué son los algoritmos genéticos?

Page 26: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

16

Expuesto concisamente, un algoritmo genético (o AG para abreviar) es

una técnica de programación que imita a la evolución biológica como estrategia

para resolver problemas. Dado un problema específico a resolver, la entrada

del AG es un conjunto de soluciones potenciales a ese problema, codificadas

de alguna manera, y una métrica llamada función 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 evalúa cada candidata de acuerdo con la función de

aptitud. En un acervo de candidatas generadas aleatoriamente, por supuesto,

la mayoría no funcionarán en absoluto, y serán eliminadas. Sin embargo, por

puro azar, unas pocas pueden ser prometedoras, pueden mostrar actividad,

aunque sólo sea actividad débil e imperfecta, hacia la solución del problema.

(Marczyk, 2004)

Estas candidatas prometedoras se conservan y se les permite

reproducirse. Se realizan múltiples 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 generación,

formando un nuevo acervo de soluciones candidatas, y son sometidas a una

ronda de evaluación de aptitud. Las candidatas que han empeorado o no han

mejorado con los cambios en su código son eliminadas de nuevo; pero, de

nuevo, por puro azar, las variaciones aleatorias introducidas en la población

pueden haber mejorado a algunos individuos, convirtiéndolos en mejores

soluciones del problema, más completas o más eficientes. De nuevo, se

seleccionan y copian estos individuos vencedores hacia la siguiente generación

con cambios aleatorios, y el proceso se repite. Las expectativas son que la

aptitud media de la población 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)

Se presenta en la figura 2 el algoritmo básico, para la construcción del

algoritmo genético.

Page 27: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

17

Figura 2 Pseudocódigo básico de los algoritmos genéticos.

IV.1.5 Métodos de selección

Un algoritmo genético puede utilizar muchas técnicas diferentes para

seleccionar a los individuos que deben copiarse hacia la siguiente generación,

pero abajo se listan algunos de los más comunes. Algunos de estos métodos

son mutuamente exclusivos, pero otros pueden utilizarse en combinación, algo

que se hace a menudo. (Marczyk, 2004)

Selección por torneo: se elige una muestra de individuos de la

población aleatoriamente, y los miembros de cada muestra

compiten entre ellos. Sólo se eligen a 2 individuos de cada

muestra para la reproducción. (Marczyk, 2004)

En la figura 3 se presenta la selección por torneo, que consiste en tomar

una muestra de la población, evaluar a los individuos y elegir el que tenga

mayor optimización.

Figura 3 Selección por torneo.

Selección elitista: se garantiza la selección de los miembros más

aptos de cada generación. (La mayoría 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

Page 28: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

18

siguiente generación en caso de que no surja nada mejor).

(Marczyk, 2004)

Selección proporcional a la aptitud: los individuos más aptos

tienen más probabilidad de ser seleccionados, pero no la certeza.

(Marczyk, 2004)

Selección por rueda de ruleta: una forma de selección

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 sección de la ruleta, pero los más 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

sección en la que se pare la ruleta). (Marczyk, 2004)

Selección jerárquica: los individuos atraviesan múltiples rondas de

selección en cada generación. Las evaluaciones de los primeros

niveles son más rápidas y menos discriminatorias, mientras que

los que sobreviven hasta niveles más altos son evaluados más

rigurosamente. La ventaja de este método es que reduce el

tiempo total de cálculo al utilizar una evaluación más rápida y

menos selectiva para eliminar a la mayoría de los individuos que

se muestran poco o nada prometedores, y sometiendo a una

evaluación de aptitud más rigurosa y computacionalmente más

costosa sólo a los que sobreviven a esta prueba inicial. (Marczyk,

2004)

IV.1.6 Operadores genéticos

IV.1.6.1 Mutación

Page 29: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

19

Una vez que la selección ha elegido a los individuos aptos, éstos deben

ser alterados aleatoriamente con la esperanza de mejorar su aptitud para la

siguiente generación. Existen dos estrategias básicas para llevar esto a cabo.

La primera y más sencilla se llama mutación. Al igual que una mutación en los

seres vivos cambia un gen por otro, una mutación en un algoritmo genético

también causa pequeñas alteraciones en puntos concretos del código de un

individuo. Abajo se listan algunos de los métodos de mutación más comunes.

(Marczyk, 2004)

Mutación de bit: existe una única probabilidad de que se produzca

una mutación de algún bit. De producirse, el algoritmo toma

aleatoriamente un bit, y lo invierte. (Marczyk, 2004)

Mutación multibit: cada bit tiene una probabilidad de mutarse o no,

que es calculada en cada pasada del operador de mutación

multibit. (Marczyk, 2004)

Figura 4 Mutación multibit.

Mutación de gen: igual que la mutación 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)

Page 30: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

20

Figura 5 Diagrama: Función de Mutación

Mutación multigen: igual que la mutación 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 mutación es la que se

produce implícitamente en nuestra implementación de cruce.

(Marczyk, 2004)

Mutación de intercambio: existe una probabilidad de que se

produzca una mutación. De producirse, toma dos bits/genes

aleatoriamente y los intercambia. (Marczyk, 2004)

Mutación de barajado: existe una probabilidad de que se

produzca una mutación. 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

código, produciendo una descendencia artificial cuyos individuos son

combinaciones de sus padres. Este proceso pretende simular el proceso

análogo de la recombinación que se da en los cromosomas durante la

reproducción sexual. Se enlistan abajo las formas comunes de cruzamiento:

(Viteri, 2010)

Page 31: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

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 código anterior a ese punto y el

otro individuo contribuye todo su código a partir de ese punto para

producir una descendencia. (Viteri, 2010)

Figura 6 Diagrama: Función de Cruza

Cruce básico: 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 básico, sólo que estableciendo más

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 población para la

siguiente generación, normalmente sustituyéndolo por el peor. Hay estudios

que indican que un algoritmo con selección elitista asegura la convergencia del

Algoritmo genético (AG) hacia un óptimo global. (Rakauer, 2002)

Page 32: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

22

IV.1.8 Función de evaluación

Durante la evaluación, se decodifica el gen, convirtiéndose en una serie

de parámetros de un problema, se halla la solución del problema a partir de

esos parámetros, y se le da una puntuación a esa solución en función de lo

cerca que esté de la mejor solución. A esta puntuación 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 población de la siguiente generación:

Asignar un valor en base al número de errores que tiene el

cromosoma.

En algunos casos, el fitness no es una sola cantidad, sino

diversos números, que tienen diferente consideración. Basta con

que el fitness forme un orden parcial, es decir, que se puedan

comparar dos individuos y decir cuál de ellos es mejor. Esto suele

suceder cuando se necesitan optimizar varios objetivos.

IV.1.8.1 Definición de restricciones

Son las que establecen las reglas de funcionamiento y definen la calidad

de la solución o el resultado obtenido. Aquella solución que satisfaga de mejor

manera todas las restricciones es la mejor solución.

Las restricciones se pueden clasificar en fuertes y débiles de acuerdo

con el peso sobre la calidad de la solución. En este caso tenemos las

siguientes:

Fuertes: Aquellas que son de obligatorio cumplimiento para validar la

solución obtenida.

Débiles: aquellas que mejoran la calidad de la solución, pero no son de

obligatorio cumplimiento.

Page 33: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

23

V HIPÓTESIS

Existe una solución óptima para el problema de asignación de horarios y

salones de la Universidad Tecnológica de la Huasteca Hidalguense,

construyendo un sistema que genere los horarios mediante la metodología de

los algoritmos genéticos.

La solución deseada se plantea en términos de medidas de desempeño.

El objetivo de la investigación destaca que la solución propuesta debe ser

viable (debe ser ágil y óptima); la solución se plantea en términos 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 diseñar un sistema de información que mediante un algoritmo

de optimización pueda resolver la asignación de salones y horarios de clases

universitarias, basado principalmente en algoritmos genéticos, que obtenga los

mejores valores de función objetivo. Las soluciones pueden lograrse en un

tiempo no superior a 2 horas proporcionando información práctica para la

gestión.

Page 34: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

24

VI DESARROLLO DEL PROYECTO

VI.1 Metodología

En el sentido más estricto, la metodología es el instrumento para obtener

información sobre la realidad, es el vehículo para recorrer el camino del método

científico, el saber sobre el camino para llegar a algo. Es un conjunto de

saberes, de técnicas y aproximaciones que tienen su vigencia ortopédica, su

sentido de ayuda. (Lerma, 2003)

Los algoritmos genéticos son una metodología de búsqueda de

soluciones, usa individuos, cada individuo representa una solución al problema

planteado. (Lerma, 2003)

La información 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

(solución a un problema) y contiene toda la información genética de la especie.

La suma de los individuos constituye la población que tiene como componentes

los padres de donde serán obtenidos los hijos por medio de los cruces, la

selección 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 población, lo cual

exige que se establezcan los criterios de selección que harán que las

generaciones posteriores cumplan los criterios establecidos por las

restricciones definidas anteriormente. (Lerma, 2003)

La implementación del fitness o proceso de selección garantiza que de

cada generación de individuos se escojan los mejores representantes para

tratar de preservar la información genética más valiosa y así producir mejores

Page 35: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

25

hijos. Se entiende por fitness la función de aptitud, que es el parámetro que

evalúa una solución y permite que el algoritmo genético 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 periódicamente un fenómeno de cambio genético al azar por medio

de la mutación. Esta consiste en cambiar de forma aleatoria la información

contenida en un gen, generando un cambio en el individuo que al pasar por el

fitness podría beneficiar la búsqueda de las características ideales de la

solución. (Lerma, 2003)

Los algoritmos genéticos usan un ciclo evolutivo, ofreciendo en cada

generación una mejor solución para el problema. En la figura 7 se muestra una

figura que representa la metodología que usan los algoritmos genéticos:

Figura 7 Algoritmo genético

VI.2 Desarrollo

Para la generación de los horarios, se necesita la siguiente lista de

datos:

Las materias que se impartirán en la semana y el número de

horas asignadas. (Ver anexo D)

Page 36: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

26

Una lista de los docentes que impartirán las clases. (Ver anexo E)

Los cuatrimestres activos para la generación del horario.

Los salones en que se impartirán las clases.

Un catálogo de las horas que conforman el horario.

El número de días 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 darán las clases.

Las asignaturas que tendrán horarios estáticos.

Es obligatorio también hacer las asignaciones correspondientes, para la

administración de los horarios. A continuación se presenta una lista de las

asignaciones que deben existir para la gestión de los horarios:

La asignatura debe tener uno o más docentes asignados para dar

las clases (asignación llamada docente-asignatura). (Ver anexo F)

Los grupos deben tener un maestro en especifico que les imparta

cierta asignatura, es por esto que la asignación docente-

asignatura es asignada a un grupo. (Ver anexo G)

Las asignaturas tienen uno o más salones en las que se pueden

impartir las clases. (Ver anexo H)

Existen asignaturas con horas estáticas, estas deben tener

asignadas las horas y días en que se ofrecerán las clases. (Ver

anexo I)

En la tabla 2 se presenta un ejemplo de las asignaciones que se

necesitan para poder generar la planeación 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 impartirán las clases.

Page 37: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

clvG rupo G rupo As ignatura Horas Docente As ignatura G rado T urno

13 ADIS E ÑO G R ÁF IC O 6

Hermes S alazar C asanova

AR E A DE MUL T IME DIA Y C O ME R C IO E L E C T R Ó NIC O 3ª Matutino

13 AS IS T E MAS O P E R AT IVO S 5

J ose de jesus gonzales torres

AR E A DE MUL T IME DIA Y C O ME R C IO 3ª Matutino

13 A Mercadotecnia 4J uan C arlos Martinez Magos

AR E A DE MUL T IME DIA Y C O ME R C IO 3ª Matutino

13 AIDIO MA E X T R ANJ E R O III 4 Ingles

AR E A DE MUL T IME DIA Y C O ME R C IO 3ª Matutino

13 AADMINIS T R AC IÓN DE L A 3

Y ucels Anai del C armen Morales

AR E A DE MUL T IME DIA Y C O ME R C IO 3ª Matutino

13 AMO DE L ADO DE P R O C E S O S 3

Heidi del carmen morales

AR E A DE MUL T IME DIA Y C O ME R C IO 3ª Matutino

13 A T aller de inf 3G adiel R amos Hernandez

AR E A DE MUL T IME DIA Y C O ME R C IO 3ª Matutino

13 A INT E G R ADO R A I 2R afael martinez C asanova

AR E A DE MUL T IME DIA Y C O ME R C IO 3ª Matutino

13 AF O R MAC IÓ N S O C IO C UL T UR A 2

C P . Maryol T orres R amírez

AR E A DE MUL T IME DIA Y C O ME R C IO 3ª Matutino

13 A T UT O R IAS 2C arlos Andres R odriguez Arguelles

AR E A DE MUL T IME DIA Y C O ME R C IO 3ª Matutino

T abla de planeacion del grupo A

27

As ignatura S alones Docente G rupos

Mercadotecnia G 1, B 1, L ab 1Heidi del carmen morales 3-A, 3-B

Mercadotecnia G 1, B 1, L ab 1R afael martinez C asanova 3-C , 3-D

S is temas operativos L ab 7

G adiel R amos Hernandez 3-C , 3-D

DIS E ÑO G R ÁF IC O L ab 2, B 1, L ab 1

R afael martinez C asanova 3-C , 3-D

IDIO MA E X T R ANJ E R O III L ab 4, L ab2, L ab 1Anahi 3-A, 3-BADMINIS T R ACIÓ N DE L A F UNC IÓ N L ab 8

Y ucels Anai del C armen Morales 3-A, 3-B

Vis ta de las as ignaciones realizadas para el S IG HMAG

Tabla 2. Asignación de salones, grupos, asignaturas, docentes.

Posteriormente de que se hayan realizado las asignaciones se puede

obtener la planeación de cada grupo. En la tabla 3 se muestran las asignaturas

que se les impartirán al grupo, los docentes que impartirán la asignatura, y el

tipo de hora que se le asignará.

Tabla 3. Planeación de un grupo.

Page 38: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

G rupo As ignatura Aula Día HoraA T UT O R IAS Audiovisual L unes 1A T UT O R IAS Audiovisual L unes 2

As ignación de horas estáticas para el grupo A, con as ignatura T utorías

28

En la tabla 4 se muestra la asignación de horas estáticas para el grupo

A, que tendrá 2 clases de tutorías el día lunes en la sala audiovisual, en la

primera y segunda hora.

Tabla 4. Asignación de horas estáticas

VI.2.1 Inicialización.

La concepción del gen se realiza por la combinación de las variables

involucradas en el problema como son aulas, horas y días. Se crea el gen

guardándolo en un arreglo (Conjunto de valores de un mismo tipo), donde la

información se encuentra codificada por números de la siguiente manera:

Donde a cada variable se le asigna un identificador. La figura 8 presenta un

ejemplo que se decodificaría de la siguiente manera; la clase se tomaría en el

salón “G4” el día “Martes”, de “9:30 a 10:30”.

Page 39: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

clvG rupo G rupo As ignatura Horas Docente As ignatura G rado T urno

13 ADIS E ÑO G R ÁF IC O 6

Hermes S alazar C asanova

AR E A DE MUL T IME DIA Y C O ME R C IO E L E C T R Ó NIC O 3ª Matutino

13 AS IS T E MAS O P E R AT IVO S 5

J ose de jesus gonzales torres

AR E A DE MUL T IME DIA Y C O ME R C IO 3ª Matutino

13 A Mercadotecnia 4J uan C arlos Martinez Magos

AR E A DE MUL T IME DIA Y C O ME R C IO 3ª Matutino

13 AIDIO MA E X T R ANJ E R O III 4 Ingles

AR E A DE MUL T IME DIA Y C O ME R C IO 3ª Matutino

13 AADMINIS T R AC IÓN DE L A 3

Y ucels Anai del C armen Morales

AR E A DE MUL T IME DIA Y C O ME R C IO 3ª Matutino

13 AMO DE L ADO DE P R O C E S O S 3

Heidi del carmen morales

AR E A DE MUL T IME DIA Y C O ME R C IO 3ª Matutino

13 A T aller de inf 3G adiel R amos Hernandez

AR E A DE MUL T IME DIA Y C O ME R C IO 3ª Matutino

13 A INT E G R ADO R A I 2R afael martinez C asanova

AR E A DE MUL T IME DIA Y C O ME R C IO 3ª Matutino

13 AF O R MAC IÓ N S O C IO C UL T UR A 2

C P . Maryol T orres R amírez

AR E A DE MUL T IME DIA Y C O ME R C IO 3ª Matutino

13 A T UT O R IAS 2C arlos Andres R odriguez Arguelles

AR E A DE MUL T IME DIA Y C O ME R C IO 3ª Matutino

T abla de planeacion del grupo A

29

Figura 8 Constitución del GEN

VI.2.2 Generación del cromosoma

Luego de hacer la construcción 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 tamaño del mismo dependerá del número de

materias y grupos, se muestra una tabla con la planeación de un grupo (Ver

tabla 5).

Tabla 5. Planeación.

Para crear el cromosoma se toma primeramente el primer registro

en la tabla de planeaciones que en este caso es DISEÑO

GRAFICO (Ver tabla 5).

A continuación se obtendrá un aula que se haya asignado a la

asignatura de DISEÑO GRAFICO (en la figura 2 se pueden

observar que salones fueron asignados a la asignatura DISEÑO

GRAFICO) en este caso seleccionaremos aleatoriamente el aula

“LAB 2” que tiene como clave el numero 2.

Posteriormente se obtendrá el día y la hora aleatoriamente,

supóngase que para el día se obtiene el 2 y para la hora el 1

entonces el gen iniciaría con los valores: 2, 2,1.

Page 40: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

30

Este proceso se repite por cada fila de la tabla de planeación.

Entonces para la asignatura de diseño grafico el proceso se repetirá 6

veces, se muestra una figura de como se inicializaría el cromosoma (Ver figura

9).

Figura 9 Inicialización del cromosoma.

VI.2.3 Población

A partir del cromosoma construido y siguiendo con las especificaciones

de los AG, el siguiente paso es la creación de la población, definida como un

conjunto de individuos, cada uno con un cromosoma independiente. Como se

contempló en los parámetros iníciales, consta de N número de individuos.

El proceso de la generación de la población inicia de la misma manera

que la generación del cromosoma, solo que en esta fase se crean varios

cromosomas de manera aleatoria, la población se guarda temporalmente en

una arreglo bidimensional de N numero de espacios, el arreglo contiene todos

los individuos. (Ver figura 10)

Figura 10 Población.

Page 41: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

31

VI.2.4 Evaluación

Cada individuo se evaluará por medio del fitnness (sistema de selección

o entrenamiento) para establecer cuál es la mejor opción de horario. Cada

individuo tiene asignado un valor de optimización, 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 optimización.

La función de evaluación en el SIGHMAG, recibe un individuo y lo evalúa

para conocer cuál es su valor de optimización.

VI.2.4.1 Tipos de error

Posteriormente en la función de evaluación se buscan errores, cada

error resta un puntaje a la optimización.

VI.2.4.1.1 Choques entre materias

Regla 1: evalúa que ningún Gen se repita, es decir si tenemos el gen

con Aula igual a 1, día 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

optimización.

En la figura 11 el gen con valores 1, 1, 1 se repite en otra posición del

arreglo ocasionando un error.

Figura 11 Choques en el individuo.

Page 42: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

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 número 1 y el gen

número 4, tienen el día y la hora igual, pero, el aula es distinta entonces al

decodificar el individuo, el grupo A tendría dos clases al mismo tiempo en

“AULAS” distintas. Este error resta 3 puntos al valor de optimización.

Figura 12 Choques en grupos.

En la figura 13 se muestra como quedaría 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 optimización del

individuo. Un bloque de hora se forma cuando una asignatura debe tener dos

clases el mismo día, aula y horas seguidas, los errores surgen cuando no se

forma el bloque de hora correctamente, se enlistan los tipos de error de bloque:

Page 43: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

33

La hora no es consecutiva: Este tipo de error quitara 2 puntos al valor de

optimización 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 día no es el correcto: Este tipo de error quitara 2 puntos al valor de

optimización del individuo. Este tipo de error es parecido al de las horas

consecutivas, el día de clase no es el mismo, la forma correcta seria que

en los dos genes el día sea el mismo. (Ver figura 15)

Figura 15 Error de día.

El aula no es la correcta: Este tipo de error quitara 2 puntos al valor de

optimización 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.

Page 44: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

34

VI.2.4.2 Restricciones que se deben cumplir al generar cada

horario:

Las restricciones se pueden clasificar en fuertes y débiles de acuerdo

con el peso sobre la calidad de la solución. En este caso tenemos las

siguientes:

Fuertes: Aquellas que son de obligatorio cumplimiento para validar la

solución obtenida.

o Un profesor no puede estar en dos aulas diferentes el mismo día

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 salón en

específico.

o Existen asignaturas que tienen un día, salón y horario específico.

o Cada grupo tiene un profesor, que le impartirá cierta asignatura.

Débiles: aquellas que mejoran la calidad de la solución, pero no son de

obligatorio cumplimiento.

o Un profesor no puede excederse en el número de horas

programadas.

o Todos los profesores deben tener carga académica.

o En ningún caso se puede unir más de dos horas seguidas de la

misma asignatura en un mismo día.

VI.2.5 Selección de padres

El método de selección elegido para el algoritmo genético del SIGHMAG

es; selección por torneo. Durante la etapa de selección de padres es preciso

Page 45: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

35

mencionar que se toma una muestra de N número de individuos de manera

aleatoria, una vez realizado este pasó, se comienzan a evaluar todos los

individuos de la muestra mediante la función de evaluación o fitness explicada

anteriormente, una vez que toda la muestra ya ha sido evaluada, se eligen a

los dos individuos con mayor valor de optimización, estos serán los nuevos

padres, en la imagen inferior se aprecia una muestra de la población que ha

sido evaluada, y de ella se han elegido a 2 padres. (Ver imagen 17)

Figura 17 Selección de 2 padres por torneo.

VI.2.6 Padres

Los padres son 2 individuos que fueron elegidos durante el proceso de

selección, estos serán los padres que se ocuparan para la cruza. Durante la

selección se eligen muchos padres que mediante la recombinación crearan

nuevos individuos. (Ver figura 17)

VI.2.7 Recombinación

El siguiente paso en la metodología es la recombinación 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 generación, 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 demás 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)

Page 46: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

36

Figura 18 Representación de cruza de 2 cromosomas de la población y 2 hijos como resultado.

VI.2.8 Mutación

Una vez que se tiene la población temporal (individuos de la nueva

generación) se realiza el proceso de mutación en un porcentaje deseado por el

usuario. La mutación se realiza en los errores del cromosoma y en posiciones

aleatorias del individuo. El proceso de mutación se desarrolla de la siguiente

manera; se toma uno de los individuos aleatoriamente, se comienza a evaluar

con la función de evaluación, cuando la función de evaluación encuentre un

error en cualquier parte del individuo; comenzara a mutar ese gen, para ello se

debe conocer la posición 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 día para ello se elegirá entre los días

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 Mutación.

Page 47: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

37

VI.2.9 Hijos

Los hijos son los individuos que fueron creados a partir de la cruza.

Formaran parte de la nueva población, y remplazaran a la generación anterior.

(Ver figura 20)

Figura 20 Mutación.

VI.2.10 Elitismo

Una vez realizadas las operaciones genéticas se realiza la evaluación de

la población temporal, posteriormente se aplica el elitismo en un porcentaje

determinado por el usuario. La función de elitismo conserva a los mejores

individuos de la generación anterior para pasarlas a la nueva población creada.

Se desarrolla de la siguiente forma; en la figura 21 (ver figura 21), se muestra

una generación anterior y una nueva generación. La función de elitismo

evaluara toda la generación anterior con la función de evaluación, buscara el

individuo con mejor optimización y se guardara en un arreglo, posteriormente

se evalúa la nueva generación con la función de evaluación, se busca al

individuo con menor valor de optimización, una vez encontrado, se remplazará

el peor individuo por el mejor individuo de la generación anterior.

Page 48: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

38

Figura 21 Elitismo.

VI.2. Terminación.

Al terminar todas las generaciones, se elige el mejor individuo de la

última generación, este se decodificará y con él se generarán los horarios.

En la figura 22 se tiene como primer gen 2, 2, 1 este gen se decodificaría

de la siguiente manera, el aula será el establecido por el identificador, el día

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

quedaría el gen después de decodificar.

Figura 22 Terminación.

VI.2. Diseño del algoritmo genético del SIGHMAG

Inicia población (i)

Evalúa población (i)

Elitismo (x)

Hacer Mientras

Page 49: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

39

Hacer Mientras llena población

Toma muestra (c)=población (i)

Evalúa muestra (c)

Selecciona Padre1= Muestra (Mayor posición)

Selecciona Padre2=Muestra (Mayor posición)

Hijo1=cruza (Padre1, Padre2)

Hijo2=cruza (Padre2, Padre1)

Población Temporal (i)=Hijo1

Población Temporal (i+1)=Hijo2

Fin Mientras

Mientras cumple porcentaje de mutación

Población-Temporal (aleatoria)=Mutar Aula-Día-Hora (p)

Fin mientras

Población =Población-Temporal

Hacer mientras cumple-porcentaje-elitismo

Población (aleatoria) = mejores(x)

Fin mientras

Obtiene_mejor_individuo(poblacion)

Mientras (Generaciones o individuo-optimo)

Se genera una población de tamaño T según el usuario lo establezca en

la interfaz (Ver Anexo B), posteriormente se evalúa la población inicial para

obtener los mejores individuos de la primera población. Una vez teniendo los

datos necesarios se toma una muestra de la población inicial del tamaño 10 y

se evalúa cada una de ellas hasta terminar la evaluación de la muestra. La

evaluación determina el fitness de cada individuo y mediante este valor se

seleccionan los 2 mejores mismos que serán los padres seleccionados para

poder realizar el cruce de éstos y obtener a los dos nuevos hijos que pasarán a

la siguiente generación.

El siguiente proceso del algoritmo corresponde al porcentaje de

mutación de la nueva población, definido por el usuario en la interfaz (Ver

Anexo B), seleccionando de la nueva población la posición aleatoria y obtener

Page 50: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

40

al individuo, posteriormente se sustituyen los valores de Hora y Día en cada

gen de este cromosoma. Concluyendo el porcentaje de mutación deseado, se

realiza el elitismo en la nueva población generada, pasando los datos de los

mejores cromosomas de la generación anterior.

Realizado todo este proceso, el algoritmo genético evalúa cada

generación de la misma manera hasta llegar al límite de generaciones. Al final

se toma al mejor de cada generación 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.

Page 51: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

Poblacion Mutacion Elitismo Errores100 3 1 3200 3 1 2,8300 3 1 3,1400 3 1 2,8500 3 1 3,1

Grafica en busca de la mejor población

100 200 300 400

41

VII RESULTADOS

Al terminar el sistema generador de horarios, se desarrollaron pruebas

para encontrar que tamaño de población era el optimo, también se hicieron

pruebas para encontrar que porcentaje de mutación y elitismo eran los

adecuados para le generación de los horarios.

VII.1.1Pruebas de tamaño de población

Se desarrollaron pruebas al SIGHMAG para conocer qué cantidad de

población era es la mejor opción 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 tamaño óptimo de población es difícil, ya que el

algoritmo se comporta de maneras impredecibles.

Tabla 6. Pruebas de tamaño población.

En la figura 21 se observa el resultado de las pruebas, los peores

resultados se encuentran en las pruebas con tamaño de población 300 y 500,

las mejores pruebas se encuentran en las pruebas con tamaño de población

200 y 400. Es difícil diferir entre que tamaño de población elegir pues los

resultados son algo incongruentes, porque el comportamiento del algoritmo es

impredecible. También se puede observar que el rango de error entre todas las

pruebas está entre 2.8 y 3.1, un rango mínimo.

Page 52: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

Poblacion Mutacion Elitismo Errores200 6 3 4,3200 9 3 3,3200 12 3 2,9200 15 3 5,4200 18 3 5,7200 21 3 6200 24 3 6,2

42

Figura 23 Gráfica de las pruebas de tamaño de población.

VII.1.2Pruebas de mutación

Una vez que se tuvo la cantidad de población optima para la generación

de los horarios, se desarrollaron pruebas al SIGHMAG para conocer qué

porcentaje de mutación era el mejor para poder realizar los horarios, se

desarrollaron 50 pruebas, divididas de 10 en 10, se hicieron 10 pruebas con

población mutación 6, 10 pruebas con mutación 9 y así sucesivamente con un

rango de 3. (Ver tabla 7)

Tabla 7. Pruebas de

mutación.

Page 53: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

Poblacion Mutacion Elitismo Errores200 12 3 4,3200 12 6 3,3200 12 9 2,9200 12 12 5,4200 12 15 5,7200 12 18 6200 12 21 6,2

43

Figura 24 Gráfica de las pruebas de mutación.

En la grafica de la figura 22 se puede observar que el menor número de

errores se encuentra en el porcentaje mutación de 12

VII.1.3Pruebas de elitismo.

Se desarrollaron las pruebas con el mejor porcentaje de mutación y de

población, con un valor de elitismo de 3, 6, 9, 12, 15, 18, 21. (Ver tabla 8)

Tabla 8. Pruebas de elitismo.

Figura 25 Gráfica de las pruebas de elitismo.

La grafica de la figura 23 demuestra que variar la mutación 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 optimización de los

individuos no tienda a disminuir.

Page 54: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

44

VIII CONCLUSIONES

La generación de horarios es una tarea difícil en cualquier institución

educativa y puede ser optimizada por la utilización de un programa de

computación basado en algoritmos genéticos.

Las pruebas de implementación permiten concluir que la utilización de

este modelo de cromosoma, llevado a un sistema de software, posibilita la

realización del horario de forma automatizada.

Las pruebas demuestran que los valores más aptos para asignar al

algoritmo genético, son los siguientes, para la población se encontraron

mejores resultado con un valor de 200, para la mutación un porcentaje del 12%

y para el elitismo se encontró que no ayuda mucho al algoritmo genético, solo

lo ayuda para que no tienda a disminuir el porcentaje de optimización de los

individuos, pero, si se desea contar con esta función, se aconseja que se le

asigne un valor del 3%.

El usar una mutación selectiva ayuda mucho al algoritmo, lo hace más

rápido porque no muta todo el individuo. Una mutación del tipo selectiva ayuda

a que los genes que ya están 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 optimización, debido a que siempre

se conserva al mejor individuo.

El tener muchas restricciones durante la generación de horarios hace

que algoritmo pierda rendimiento, esto se puede mejorar con un equipo de

cómputo que tenga un hardware de alto rendimiento.

Page 55: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

45

VIII.1 Recomendaciones y trabajos futuros

El SIGHMAG generó los horarios de manera óptima, sin embargo le

faltan las siguientes restricciones:

Creación de bloques

Que el profesor no tenga más de una materia al mismo día y hora.

El asignar un docente a un grupo no es recomendable, sería

mejor que el algoritmo los asigne.

Falto desarrollar las interfaces para:

Hacer dinámico los horarios de recesos.

Determinar los turnos matutino y vespertino de manera grafica.

Asignar los horarios estáticos por grupo.

Exportar los horarios a Excel con el estándar de los horarios de

TIC

Se recomienda hacer pruebas con la selección de tipo jerárquica, ya que

este tipo de selección ocupa menos recursos al principio de las generaciones.

Y ocupa más recursos al finalizar las generaciones es decir cuando el rango de

errores es mínimo.

Page 56: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

46

IX REFERENCIAS BIBLIOGRÁFICAS

Page 57: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

1

X ANEXOS

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

Page 58: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

2

Anexo B. Ventana de Asignación del Tamaño de Población, muestra,

Porcentaje de Mutación y Porcentaje de Elitismo para la Generación de

Horarios.

Anexo C. Resultados Obtenidos después de Terminar las Generaciones

Definidas o Resultado Obtenidos de los horarios de TIC.

Page 59: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

3

Anexo D. Interfaz grafica de registro de materias.

Page 60: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

4

Anexo E. Registro de docentes.

Page 61: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

5

Anexo F. Interfaz de asignaciones entre docentes y asignaturas.

Page 62: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

6

Anexo G. Interfaz de asignaciones entre grupos y profesores.

Page 63: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

7

Anexo H. Asignación de salones a una asignatura

Page 64: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

8

Anexo I. Asignación de salones a una asignatura

Page 65: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

9

Page 66: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

10

Anexo J. Protocolo de estadía.

Page 67: Memoria - Jesus Ignacio Talon Portes - (TIC) UTHH Sistema Gestor de Horarios Mediante Algoritmos Geneticos

11

Anexo K. Calendarización del proyecto de estadía.