modelo para la programacion academica de la...

52
MODELO PARA LA PROGRAMACION ACADEMICA DE LA FACULTAD DE INGENIERIA, UNIVERSIDAD NACIONAL DE COLOMBIA, SEDE BOGOTA Pedro David Gutiérrez Quijano Tesis de Maestría Universidad Nacional de Colombia Facultad de Ingeniería, Departamento de Ingeniería de Sistemas e Industrial Bogotá, Colombia 2016

Upload: others

Post on 30-Apr-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

MODELO PARA LA PROGRAMACION ACADEMICA DE LA FACULTAD DE INGENIERIA, UNIVERSIDAD NACIONAL DE

COLOMBIA, SEDE BOGOTA

Pedro David Gutiérrez Quijano

Tesis de Maestría

Universidad Nacional de Colombia Facultad de Ingeniería, Departamento de Ingeniería de Sistemas e Industrial

Bogotá, Colombia 2016

MODELO PARA LA PROGRAMACION ACADEMICA DE LA FACULTAD DE INGENIERIA, UNIVERSIDAD NACIONAL DE

COLOMBIA, SEDE BOGOTA

Pedro David Gutiérrez Quijano

Tesis presentada como requisito parcial para optar al título de: Magíster en Ingeniería - Ingeniería Industrial

Director:

M.Sc. Luis Gerardo Astaiza Amado

Línea de Investigación

Investigación de Operación

Universidad Nacional de Colombia Facultad de Ingeniería

Bogotá, Colombia 2016

V

Este trabajo está dedicado a Dios, por fortalecer mi corazón, iluminar mi mente y por haber puesto en mi camino a aquellas personas que han sido mi soporte y compañía durante este ciclo de estudio. A mi familia, que es el motor de mi vida, a mis amigos, profesores y a todos aquellos que contribuyeron a la culminación exitosa de este trabajo de tesis. La vida está llena de ciclos, inicios y finales que no son más que retos y experiencias que alimentan nuestra experiencia personal de vida. Este documento se convierte en la prueba fidedigna de la culminación exitosa de un grandioso ciclo de la vida que me lleno de increíbles experiencias personales y profesionales, agradezco a Dios por haberme permitido completar este ciclo y espero con gran expectativa los siguientes ciclos que han de venir.

VI

VII

Agradecimientos

Agradezco a mi familia por su apoyo incondicional, a mi director de tesis el ingeniero Luis Gerardo Astaiza Amado que, con su experiencia, paciencia y compromiso guio y realimento mi proceso de aprendizaje hacia la construcción de este trabajo, al profesor Wilson Adarme, a los integrantes del grupo SEPRO, al ingeniero Jairo Ramiro Barrera Velandia, a la División de Registro y a todos y cada uno de los que contribuyeron en la realización de este trabajo.

VIII

Contenido

Contenido IX

Lista de figuras X

Lista de tablas XI

1. Introduccion ................................................................................................................................................................ 1

1.1 Introducción .............................................................................................................................................................................. 1

1.2 Identificación del problema ................................................................................................................................................ 2

1.3 Objetivo de la investigación ................................................................................................................................................ 3

1.3.1. Objetivos específicos .................................................................................................................................................... 3

1.4 Acerca del documento ........................................................................................................................................................... 4

2. Estado del arte ............................................................................................................................................................ 5

2.1 Programación de horarios de clase ................................................................................................................................. 5

2.2 Revisión Literaria .................................................................................................................................................................... 6

2.3 Modelos básicos para la programación de cursos ..................................................................................................... 9

2.3.1. Algoritmos básicos aplicados al problema de programación de horarios ......................................... 10

3. Modelo de optimizacion ........................................................................................................................................ 16

3.1 El problema de investigación .......................................................................................................................................... 16

3.1.1. El contexto ..................................................................................................................................................................... 16

3.1.2. EL proceso de programación ................................................................................................................................. 16

3.1.3. Panorama actual.......................................................................................................................................................... 17

3.2 Descripción del modelo de optimización ................................................................................................................... 25

3.2.1. La propuesta ................................................................................................................................................................. 25

3.2.2. Los sistemas de información y su importancia en el mundo actual ..................................................... 25

3.2.3. El Sistema de Información para La programación Académica (SIPA) ................................................. 27

3.2.4. Avance de la implementación ................................................................................................................................ 28

4. Generador de programacion ............................................................................................................................... 30

4.1 La elección del método ....................................................................................................................................................... 30

IX

4.2 El algoritmo ............................................................................................................................................................................. 30

4.2.1. Resultados experimentales .................................................................................................................................... 34

5. Conclusiones .............................................................................................................................................................. 36

6. Bibliografía ................................................................................................................................................................ 38

X

Lista de figuras

Figure 3.2-1: Modelo de 4 bloques elementales para describir un sistema de información ............................ 26

Figure 3.2-2: Arquitectura general del Sistema de Información para la Programación Académica ............. 27

Figure 3.2-3: Screenshot de la vista de infraestructura universitaria del SIPA ...................................................... 28

Figure 4.2-1: Diagrama de flujo del algoritmo ...................................................................................................................... 31

XI

Lista de tablas

Tabla 3.1-1: Resumen general de uso de recursos facultad de ingeniería, semestre 2015-II .......................... 20

Tabla 3.1-2: Resumen general uso del tiempo facultad de ingeniería, semestre 2015-II .................................. 21

Tabla 3.1-3: Programación académica, pregrado - semestre 2015-II ........................................................................ 22

Tabla 3.1-4: Programación académica, postgrado - semestre 2015-II ...................................................................... 23

Tabla 3.1-5: Programación académica, pregrado y postgrado - semestre 2015-II .............................................. 24

Tabla 4.2-1: Descripción de los datos de prueba ................................................................................................................. 34

Tabla 4.2-2: Duración del algoritmo para diferentes valores de TT ........................................................................... 34

Tabla 4.2-3: Comparación del algoritmo con el estado del arte ................................................................................... 35

1

Capítulo 1

Introduccion

1.1 Introducción

Las instituciones educativas en el proceso de formación semestre a semestre proponen una serie de

asignaturas o eventos que deben ser impartidos a los estudiantes adscritos a ellas, cada asignatura

requiere de una infraestructura, un profesor u profesores y medios educativos específicos. Por lo tanto, las

instituciones de educación deben contar con recursos en infraestructura y personal docente suficientes,

que le permita impartir una educación de alta calidad a sus estudiantes; no obstante, la asignación de esos

recursos debería ser lo suficientemente planificada y estudiada, a fin que no se presente escasez o

sobreoferta de ellos, pues ocasionaría, en el primer caso deterioro en la calidad de la educación y en el

segundo, deterioro en las finanzas de la institución. Por otra parte, como reflejan comportamientos

históricos de la demanda de educación superior en Colombia no es una sorpresa, el crecimiento contante

durante la última década, en la demanda de cupos universitarios en instituciones de educación superior

en especiales en universidades públicas (1), esto exige de cuantiosas inversiones en infraestructura y

personal docente. Estas inversiones en muchos de los casos podrían diferirse en el tiempo si la institución

cuenta con herramientas adecuadas que le permita planificar el uso adecuado de sus recursos, entre los

que están la infraestructura física, la planta docente y medios educativos de soporte. Respecto a la primera,

se deberá contar con una adecuada dotación de salones, laboratorios, oficinas y auditorios que permitan

desarrollar las labores académicas con un adecuado grado de satisfacción, sin embargo, no basta con tener

una planta física adecuadamente dotada, su asignación deberá ser muy bien planificada a fin de establecer

un uso eficiente.

Al inicio de cada período académico los encargados de la planeación académica conocen con cierto grado

de precisión las asignaturas a las que los estudiantes desean asistir, la tarea que les queda es distribuirlas

dentro de su planta física en su totalidad, de modo que los interesados reciban las materias que solicitaron.

El modelo plantea un conjunto de restricciones que pueden ser clasificadas como duras o de obligatorio

cumplimiento y un conjunto de restricciones blandas cuyo cumplimiento es optativo. De ser satisfechas

2016 Universidad Nacional de Colombia, Sede Bogotá

2

estas restricciones, se dice que la propuesta planteada es factible y en estas condiciones se podrían iniciar

las labores académicas. Sin embargo, usualmente se desea que la comunicad académica, profesores y

estudiantes, desarrollen sus actividades de forma cómoda; para ello se plantean las restricciones

denominadas blandas, que no son de obligatorio cumplimiento y, por el contrario, miden el grado de

satisfacción por parte de la comunidad académica. Este problema combinatorial es clasificado como del

tipo no lineal entero mixto y es de difícil solución. Clasificado como NP completo de tamaño arbitrario,

existen variedad de enfoques para resolver este tipo de problemas, enfoques como: aproximación,

probabilístico, basados en restricciones, solución a casos particulares, algoritmos genéticos, algoritmos

heurísticos o meta-heurísticos, entre otros.

Dada la complejidad del problema, grupos de investigadores alrededor del mundo se han dado a la tarea

generar metodologías capaces de resolver este problema en casos específicos, tratando de mejorar los

resultados expuestos por otros equipos en cuanto a calidad y tiempo requerido para encontrar la solución;

cabe destacar que aún no se ha encontrado una solución global que aplique a cada caso, así que el problema

sigue sin resolverse por completo.

Una gran variedad de métodos se ha descrito en la literatura para resolver el problema, incluso probados

con casos reales. Estos métodos se dividen en cuatro tipos: métodos secuenciales (2; 3), métodos de

clusterización (4) , métodos basados en restricciones (5), y los métodos meta-heurísticos (6; 7; 8), estos

últimos cuentan con un gran desarrollo desde la últimas dos décadas, gracias a técnicas como recocido

simulado, búsqueda Tabú, algoritmos genéticos, métodos híbridos, entre otros. Otra característica

importante encontrada en los trabajos publicados, es el enfoque del desarrollo que han alcanzado. Se

pueden dividir en dos tipos: los modelos matemáticos y los heurísticos, es decir, los que tienen una base

matemática (9; 10) o se apoyan en ella, y los que utilizan métodos algorítmicos. En la literatura

especializada ambos enfoques tienen tanto adeptos como detractores. Una de las ventajas del método

matemático es que permite mencionarlo como el más riguroso y exacto, pero con la desventaja de su difícil

formulación matemática sumada a la gran cantidad de recursos computacionales que requiere. En cambio,

los heurísticos representan una facilidad para la puesta en marcha en el computador y en la confección

algorítmica; sin embargo, la principal desventaja es el poco énfasis que le da al modelo matemático aun

cuando este haya sido planteado desde el inicio del problema, lo cual impide el desarrollo de una aplicación

general.

1.2 Identificación del problema

Desde la perspectiva de la investigación de operaciones, este tipo de problemas se enmarcan dentro del

área conocida como Timetabling o programación horaria y se asocian a la labor de organizar una secuencia

de eventos en un período de tiempo determinado, satisfaciendo un conjunto de restricciones. Dentro de

estos problemas existe una rama específica, llamada Class Scheduling, que estudia problemas relacionados

con la programación horaria para entidades educativas, dentro de este contexto, existen tres tipos de

problemas (10):

Examinación Timetabling: programación de horarios de evaluaciones y exámenes.

School Course Timetabling: programación de horarios de clases para colegios.

2016 Universidad Nacional de Colombia, Sede Bogotá

3

University Course Timetabling: programación ón de horarios de clases para instituciones de

educaciónón superior.

El problema que nos ocupa en esta ocasión y al que dedicaremos este trabajo se relaciona con el problema de University Course Timetabling. La Facultad de Ingeniería de la Universidad Nacional y en general la todas las facultades de la universidad actualmente deben resolver el problema de generar la programación horaria de sus cursos y la asignación de salones de clase de manera óptima y eficiente. Esta programación debe satisfacer una serie de requerimientos impuestos por políticas propias de cada facultad. Actualmente, el proceso de programación se realiza de forma manual, demorando aproximadamente un mes desde la definición de las asignaturas hasta la final asignación a un salón en un bloque horario especifico. Cabe destacar que, la programación obtenida de esta manera no está libre de errores, detectándose en algunos casos ciertas ineficiencias e incumplimientos de los requerimientos básicos para el correcto funcionamiento de la institución educativa.

En consecuencia, una buena programación horaria genera una serie de beneficios para los principales actores que conviven en la institución, entre estos es posible mencionar por ejemplo: eliminar topes de horarios entre cursos del mismo semestre, respetar la disponibilidad de horarios de los profesores, respetar la capacidad de los salones de clase e incorporar condiciones deseables, como por ejemplo: favorecer las clases en bloque horarios específicos, optimizar el uso del tiempo que los estudiantes permaneces en la universidad ,minimizar la utilización de salones especiales, distribución proporcional de las asignaturas a lo largo de la semana favoreciendo el tiempo promedio que los estudiantes permanecen en la universidad y en ultimas mejorando la calidad de vida de los miembros de la comunidad académica, etc…

1.3 Objetivo de la investigación

El objetivo de esta investigación es en proponer un modelo de optimación para la programación académica

de los programas curriculares de pregrado adscritos a la facultad de ingeniería de la Universidad Nacional

de Colombia, sede Bogotá.

1.3.1. Objetivos específicos

1. Establecer los requerimientos y restricciones del sistema de programación académica mediante la

caracterización de los recursos humanos, físicos y curriculares de la facultad de ingeniería de la

Universidad Nacional de Colombia, sede Bogotá.

2. Analizar las tendencias en la solución del problema de University Course Timetabling, con el fin de

definir una técnica de solución al problema propuesto.

3. Diseñar un modelo de optimización para el sistema de asignación de programación académica de

la facultad de ingeniería de la universidad nacional de Colombia, sede Bogotá.

2016 Universidad Nacional de Colombia, Sede Bogotá

4

4. Evaluar el modelo mediante un prototipo en ambiente computacional en función de los

indicadores de desempeño del sistema.

1.4 Acerca del documento

Este documento está organizado de la siguiente forma. En el siguiente capítulo se presenta una breve

revisión del estado del arte en lo relacionado con el problema University Course Timetabling y la variedad

de enfoques para resolver este problema, esta revisión está organizada y clasificada por algoritmo de

solución. En el capítulo tres, el modelo de optimización propuesto para resolver el problema de asignación

de salones en la Facultad de Ingeniería de la Universidad Nacional de Colombia es presentado, se da una

explicación detallada del mismo de las partes que lo componen y se presenta una breve revisión acerca del

estado de implementación del mismo. El capítulo cuatro presenta resultados experimentales del algoritmo

de asignación diseñado, parte esencial del modelo de optimización propuesto.

Finalmente, en el capítulo cinco concluye el documento, las conclusiones y futuras investigaciones son

presentadas.

5

Capítulo 2

Estado del arte

2.1 Programación de horarios de clase

El problema de programar horarios y asignar salones de clase no es nuevo, por décadas este problema ha

sido sujeto de intensas investigaciones por tanto existe gran cantidad de literatura en el campo de

investigación de operaciones al respecto (11; 12; 13; 14; 15), esta clase de problema es un caso particular

de un conjunto más general de problemas conocidos como Scheduling o problemas de programación (16),

en términos generales scheduling puede describirse como la asignación de eventos o tareas a diferentes

recursos en bloques horarios con el objetivo de minimizar el costo total del conjunto de recursos usados

(17). Ejemplos de este tipo de problemas se pueden encontrar en diferentes ámbitos: programación de

transportes, ruteo de vehículos, programación de personal, programación de hospitales, programación de

máquinas, etc. Así, el termino scheduling cubre todos los aspectos de la actividad de asignar recursos y al

mismo tiempo satisfacer algunos objetivos predeterminados. Sin embargo, debido a la enorme cantidad

de problemas al respecto, se hace necesario clasificar el problema de programación en actividades

especializadas, como Timetabling, término que hace referencia a la asignación de recursos a objetos

ubicados en espacio-tiempo, sujeto a restricciones para satisfacer un conjunto deseable de posibles

objetivos (17). Class Timetabling y Exam Timetabling son ejemplos de este tipo de problemas donde todas

las restricciones duras deben ser satisfechas para generar una solución válida. En particular el problema

que nos atañe se conoce como University Class Timetabling.

Muchos enfoques se han propuesto para resolver diferente variedad de problemas de timetable. Un rango

de problemas que van desde la construcción de horarios de exámenes de fin de periodo, hasta horarios

semestrales o anuales para colegios y universidades. Como una primera aproximación, las actividades de

programación académica se llevaban a cabo manualmente, típicamente se construía una programación

semestral y esta permeancia estática con solo pequeños cambios necesarios para refinar la programación

cada semestre o año; muchas universidades en el país por no decir todas lo hacen de esta manera incluida

en ese grupo está la Universidad Nacional de Colombia. Sin embargo, la naturaleza de la educación ha

cambiado considerablemente durante los últimos años, de la misma forma los requerimientos de la

programación académica se han complicado mucho más, tanto que la aproximación manual está dejando

2016 Universidad Nacional de Colombia, Sede Bogotá

6

de ser eficiente. Consecuentemente la necesidad por automatizar el proceso está creciendo por lo que el

desarrollo de un sistema de generación de programación académica que genera soluciones validas es

esencial. Como resultado, durante las últimas tres décadas, gran cantidad de artículos sobre

automatización para timetable han sido publicados. Sin embargo, pocas han sido las implementaciones y

menos las implementaciones exitosas. (18).

2.2 Revisión Literaria

Las primeras técnicas utilizadas en la solución de problemas de horarios se basaron en una simulación con

enfoque humano en la resolución del problema. Estas incluyen técnicas basadas en el incremento sucesivo

denominadas heurísticas directas. Estas técnicas se basan en la idea de crear un calendario parcial

mediante la programación de los cursos con más restricciones primero y luego extender esta a los demás

esta solución parcial curso por curso hasta que todos los cursos estuvieran programados (14). En el

siguiente los investigadores comenzaron a aplican técnicas generales como número entero y

programación lineal, coloreado de grafos y flujo de red para resolver el problema de programación. Por lo

tanto, los dos primeros trabajos publicados en la construcción de calendario usando estas técnicas

generales se atribuyen generalmente a Kuhn (19) y Haynes (20). Kuhn adopta un enfoque matemático, en

contraste con el papel de Haynes, que se concentra, en los aspectos más prácticos del problema y presenta

la programación de eventos para una conferencia. El interés en los generadores de soluciones de

programación aumentó drásticamente en la década de 1960, debido principalmente a la disponibilidad de

los ordenadores para llevar a cabo el "cálculo de números" requerido por los algoritmos desarrollados.

Fue en estos papeles que se discutió el primer uso de técnicas de pre análisis. Por ejemplo, Appleby, Blake

y Newman en 1960 (21) y Lewis en 1961 (22) usaron una técnica de pre análisis primitivo que involucra

argumentos de conteo heurísticos.

El primer enfoque no heurístico fue desarrollado por Gotlieb en 1963 (23) y presentado en el Congreso de

Munich IFIP, Gotlieb discutía sobre el ahora famoso proceso de reducción de la matriz de disponibilidad.

Este fue sin duda el primer documento sobre el enfoque de partición del conjunto y se vio reforzada por

Berghuis, Van der Heiden y Becker en 1964 (24), donde se introdujo el concepto de clases o maestros

virtuales para obtener el problema bipartito clásico. Csima en 1965 (25) incluye este problema básico en

un problema estocástico doble que usa seudo-clases. Además de esto, Csima y Gotlieb en 1964 también

tratan el problema de generar horarios como un problema de asignación de tres dimensiones,

considerando la estrecha relación entre el problema y el problema de la coloración de vértices. Este fue el

primer trabajo que considerar la relación especial ya conocida entre los diversos problemas de

programación. Con la ayuda del enfoque Gotlieb en 1963, ambos Becker en 1964 (26) y Baraclough en

1965 (27), simularon sus respectivas implementaciones con los cálculos a “mano". Normalmente estos

documentos se basan en un enfoque heurístico. Debido a este trabajo muchos otros trabajos siguieron el

que problema discutido, sin embargo, tenía muy pocos nuevos aportes.

Alrededor de la década de los años 60 algunos intentos de limitar el problema general considerando casos

ejemplo comenzaron a ser publicados. Un ejemplo de esto es el trabajo presentado por Lawrie en 1969

(28), desarrolló un modelo para el problema de horario escolar mediante el uso de un enfoque de

programación lineal entera. Durante la década de 1970 varios autores adoptaron el uso de enfoques

heurísticos para abordar el problema. Por ejemplo, Junginger en 1972 (29), proporcionó una reducción

del problema aplicándolo a un problema de transporte de tres dimensiones. Este intento teórico orientado

2016 Universidad Nacional de Colombia, Sede Bogotá

7

a la planificación a largo plazo, en términos de la utilización de una matriz de iteración de Boole, extendió

el concepto de las descripciones y relaciones integrales dobles utilizadas anteriormente.

Schmidt y Strohlein en 1973 (30) publicaron la primera bibliografía comentada en la literatura de

investigación programación de horarios, incluyendo más de 200 trabajos publicados anteriormente.

Predijeron que la generación de horarios por ordenador estaría fuertemente influenciada por los

dispositivos a la mano, y como la programación de horarios pasaría de manipulación remota en grandes

centros de cálculo a micro centros informáticos de propiedad de las escuelas y directamente a cargo de los

profesores en sus escritorios. Las principales técnicas generales que parecían haber sido frecuente en las

décadas de 1970 y 1980 tienen sus raíces en la inteligencia artificial y se basan en algoritmos soportados

por recocido simulado, búsqueda tabú y métodos de algoritmos genéticos. Trabajos en la literatura

describen típicamente una implementación de software sustancial y esto es apoyado por la presentación

de resultados de la aplicación del método en uno o más casos (14).

De Werra en 1985 (31) enumera los diversos problemas relacionados con la generación de horarios de

una manera formal y proporciona diferentes formulaciones en un intento por resolverlos. También

describió los enfoques considerados más importantes en ese momento, haciendo hincapié en la teoría de

grafos. Carter en 1986 (32) analizó una encuesta, que discute las aplicaciones reales de los horarios en

varias universidades. También dio detalles de una guía tutorial para los profesionales de la elección y el

diseño de un algoritmo para sus propias instituciones.

En 1986 Junginger, describió el trabajo de investigación realizado en Alemania para resolver el problema

programación de horarios en colegios y los enfoques subyacentes que estaban basados en heurísticas. En

particular, describió los diferentes productos de software implementado, y su uso real en diversas

instituciones. Corne en 1994 (33) presentó un estudio de la aplicación de algoritmos genéticos al problema

de generación de horarios, discutió las perspectivas futuras de tales enfoques y compararon los resultados

obtenidos con respecto a otros enfoques. Aunque hubo artículos publicados en los 90, utilizando técnicas

basadas en inteligencia artificial superiores, un nuevo enfoque apareció, también enraizada en Inteligencia

Artificial, que ha ganado prominencia en nuestro tiempo llamada Programación con satisfacción de

restricciones (CSP).

Abramson en 1991 (34) utilizó recocido simulado como una técnica de optimización. La posibilidad de

añadir componentes de costos fue discutida en un intento de incluir las más complejas restricciones en la

programación de horarios para colegios. También describe la forma como el componente de costo permite

a un componente ser más importante que otro. El implementó este en un sistema informático paralelo y

demostró que la velocidad del algoritmo de optimización como resultado. Cooper y Kingston en 1993 (35)

describen un programa informático que resolvió un problema dentro de un gran y altamente restringido

colegio sin simplificaciones. Un lenguaje de especificación de calendario, se estableció que ayudó a evitar

muchas limitaciones de una manera uniforme. Tsang, Mills, Williams, Ford, y Borrett en 1999 (36) discuten

la importancia de las técnicas de satisfacción de restricciones en la solución del problema generación de

horarios y proporciona una breve introducción a este campo. (14) proporcionó un estudio de las diferentes

técnicas utilizadas en la generación de horarios. técnicas de satisfacción de restricciones se incluyeron

como una importante adición a las herramientas que se utilizan en la solución del problema.

En las últimas décadas los temas relacionados con el problema de generación de horarios de clase se

concentraron principalmente en la línea de investigación de operaciones. Las técnicas utilizadas han sido

de naturaleza matemática, siendo los dos más comunes de programación lineal (LP) y de programación

2016 Universidad Nacional de Colombia, Sede Bogotá

8

entera (IP). En la década actual, la contribución de la inteligencia artificial ha proporcionado heurísticas

modernas prometedoras, como algoritmos genéticos, recocido simulado y Búsqueda Tabú (14).

Los Algoritmos Genéticos (AG) son una clase de algoritmos de búsqueda estocásticos que imitan la

selección natural mediante el uso de una versión computacional de la supervivencia del más apto (37). Es

un método de resolución de problemas que utiliza la genética como modelo para la resolución de

problemas, la aplicación de reproducción, de cruce, y la mutación de estos pseudo-organismos para que

puedan pasar los rasgos beneficiosos y de supervivencia de mejora a las nuevas generaciones (38). De una

manera similar, el recocido simulado (SA) se ha descrito como "un método de optimización aleatorio, que

acepta deterioros de la función objetivo con una probabilidad en función de un parámetro de control,

basado en una analogía física" (39). SA se ha demostrado que es una buena técnica para resolver

problemas de optimización combinatoria complejos. Debido a su propia naturaleza del muestreo a través

de todo el espacio de búsqueda, SA puede ser extensivo en uso de recursos computacionales, como

intentos de acelerar los algoritmos de recocido se han usado sistemas multiprocesador de memoria

compartida. Por el contrario, Búsqueda Tabú (TS) es una técnica meta-heurística que guía a un

procedimiento de búsqueda heurística local para explorar el espacio de soluciones más allá de optimalizad

local." Un meta-heurística se refiere a una estrategia principal que guía y modifica otras heurísticas para

producir una solución que va más allá de los que normalmente se generan en una búsqueda de

optimización local" (40). Debido a que es la "reducción" del espacio de búsqueda de un TS normalmente

genera una solución mucho más rápido que un método SA. Otra contribución de la Inteligencia Artificial

en la década de 1990 ha visto la luz, se trata de un nuevo enfoque para resolver los problemas de horarios

llamadas técnicas de satisfacción de restricciones.

Las técnicas de satisfacción de restricciones han demostrado ser un método de investigación productiva

para los investigadores en las áreas de inteligencia artificial, investigación de operaciones y programación

lógica. Poco a poco, un marco teórico llamado el problema de satisfacción de restricciones (CSP) ha

evolucionado (41). El proceso de satisfacción de restricciones involucra valores hallazgo para las variables

en el marco del problema, sujeto a restricciones en las combinaciones aceptables de valores. Como en

algunos casos es imposible resolver el problema completamente, un subconjunto del problema se resuelve

que se llama satisfacción de restricciones parcial. CSP se resuelven mediante diferentes versiones de

backtracking, que intentan mejorar la eficiencia de la búsqueda. El enfoque CSP permite una mayor

flexibilidad en la formulación del problema, que es ampliamente reconocido como un tema crucial en la

generación de horarios con éxito. En la mayoría de los casos es difícil de definir las limitaciones del

problema, ya que son claras y requieren muchos refinamientos. Este nivel de flexibilidad permite que los

sistemas CSP puedan ser aplicados a nivel práctico. Además, debido a la naturaleza misma de las

definiciones de CSP, los problemas de los intervalos de tiempo irregulares se pueden acomodar fácilmente.

En muchos trabajos revisados de la última década, se describen implementaciones de software

sustanciales. Además, esta se apoya en la presentación de resultados de la aplicación del método en uno o

más casos de prueba. Los resultados obtenidos se miden contra los resultados manuales, pero por

desgracia, la falta de una definición común de los diversos problemas y los puntos de referencia

ampliamente aceptados impide la comparación de los algoritmos entre sí. La complejidad computacional

de los sistemas propuestos se determina solamente a través de tiempo de cálculo. Sin embargo, es difícil

establecer comparaciones como hardware varía de un caso a otro. Además, parece que hay una diferencia

sustancial entre la discusión teórica y la implementación del software para probar los casos en contraste

con la obtención de los horarios eficaces y realistas que se pueden utilizar en las operaciones diarias. Por

otra parte, la aplicación práctica se encuentra limitada por sucesos que no están previstos en la teoría,

2016 Universidad Nacional de Colombia, Sede Bogotá

9

pero en la práctica es común encontrarlos. Algunos de los principales problemas que se producen se

enumeran a continuación:

Los estudiantes tienden a cambiar su matrícula con bastante frecuencia, incluso hasta la quinta

semana del semestre, lo que puede requerir la regeneración del calendario con la esperanza de

encontrar una solución factible.

La disponibilidad de profesores, que generalmente tienen que hacer malabarismos entre dos o

más puestos de trabajo, puede proporcionar una complejidad adicional al problema de calendario,

incluso después de que se ha generado.

La mayoría de las técnicas utilizadas para generar horarios asumen que los bloques horarios son

de igual longitud, sin embargo, en la realidad hay una serie de cursos que no se ajustan a ese marco

de tiempo, por lo tanto, normalmente una porción de la asignación se hace de forma manual. Esta

acción reduce la eficiencia de la aplicación de generadores de horarios automático.

La mayoría de los algoritmos no permiten una ordenación temporal de las franjas horarias de

enseñanza para el mismo curso. Lo que puede conducir a insatisfacción con el sistema

automatizado de generación de horarios.

Por lo tanto, con el objetivo de generar un horario que sea practico y efectivo, es necesario ser lo

suficientemente flexible como para superar los problemas que se listaron anteriormente.

2.3 Modelos básicos para la programación de cursos

En su forma más simple, la programación de horarios consiste en asignar un bloque horario y salón de

clase a cada asignatura que se desea programar, considerando que existe una serie de requerimientos y

restricciones que deben cumplirse para permitir el normal funcionamiento de las instituciones

universitarias y algunas otras que no son de obligatorio cumplimiento, pero de ser posibles es deseable

que se cumplan. Dada la naturaleza combinatoria del problema, su solución no es nada trivial, por lo que

enfoques manuales basados en la prueba y error son ineficientes en escenarios caracterizados por una

enorme cantidad de cursos y salones de clase. Por ejemplo, (17) muestra que cuando se impone la

condición que los cursos deben mantener el mismo salón de clase para todas las sesiones, el problema se

transforma en NP-Complejo.

Uno de las perspectivas de solución más frecuentemente utilizadas para modelar el problema se basa en

modelos de programación lineal. En este sentido, (31) es uno de los primeros trabajos seminales de esta

área, el cual muestra una serie de modelos de optimización lineal que han servido de inspiración para una

serie de aplicaciones. Cabe destacar que además de los métodos exactos, se han propuesto diversos

enfoques heurísticos para resolver el problema de programación de horarios. Este tipo de enfoque busca

aproximar la solución óptima del problema mediante diferentes procedimientos. Los enfoques de solución

basados en heurísticas pueden ser divididos en 4 tipos (42), así:

1) Métodos Secuenciales: este tipo de métodos asignan cada curso en un bloque horario válido de

manera secuencial, tal que, en el mismo bloque, no existan conflictos horarios con otros cursos

que deban ser inscritos por un mismo grupo de estudiantes. Este tipo de enfoque generalmente se

formula como un problema de grafos, en donde los cursos son representados como vértices y los

conflictos horarios son representados mediante los arcos. Por ejemplo, si algunos estudiantes

tienen que asistir a dos eventos se incluye un arco entre los nodos que representa este conflicto.

2016 Universidad Nacional de Colombia, Sede Bogotá

10

Por tanto, la construcción de un calendario libre de conflictos puede ser modelado como un

problema de coloración de grafos. Cada período de tiempo en el horario corresponde a un color

en el problema de coloración de grafos y los vértices de un gráfico son de coloreados de tal manera

que no hay dos vértices adyacentes con el mismo color. Esta idea fue extendida por (42), quienes

presentan una meta-heurística que resuelve el problema de grafos utilizando la técnica Tabú

Search.

2) Métodos de Clúster: En este tipo de método se contemplan dos etapas secuenciales. En una primera

etapa particionan el conjunto de cursos en grupos que satisfacen las restricciones duras del

problema y, en una segunda etapa, se programan los cursos en los diferentes bloques horarios

tratando de satisfacer las restricciones blandas. Cabe destacar que una debilidad de este tipo de

enfoque es que los grupos de cursos se forman y fijan al comienzo del procedimiento lo que puede

provocar que la programación horaria sea de baja calidad.

3) Métodos basados en restricciones: En este tipo de enfoque, el problema se modela como un

conjunto de variables (eventos) y los valores (recursos como salones, periodos, docentes) tienen

que ser asignados para satisfacer una serie de restricciones. Por lo general una serie de reglas es

definen para la asignación de recursos a eventos. Cuando hay una regla que es aplicable a la

solución parcial actual se realiza un retroceso hasta que se encuentre una solución que satisfaga

todas las restricciones

4) Meta-Heurísticas: las meta-heurísticas han sido ampliamente utilizadas para resolver problemas

de programación horaria de cursos. Entre los principales desarrollos se puede mencionar, por

ejemplo: Recocido simulado, búsqueda Tabú, algoritmos genéticos, redes neuronales artificiales,

colonia de hormigas y, algunos enfoques híbridos que mezclan dos meta-heurísticas particulares.

En general, las meta-heurísticas comienzan con una o más soluciones factibles iniciales del

problema y, luego mediante diferentes estrategias de búsqueda, tratan de mejorar la calidad de la

solución evitando caer en mínimos locales. Las meta-heurísticas pueden encontrar soluciones de

buena calidad, sin embargo, a menudo tienen un considerable costo computacional y no permiten

saber qué tan lejos se encuentra de la solución óptima del problema.

2.3.1. Algoritmos básicos aplicados al problema de programación de horarios

Actualmente existe una gran variedad de algoritmos para abordar el problema de programar horarios de

clase. A continuación, se presenta una revisión general de estos algoritmos, En aras de la brevedad solo se

presentan los algoritmos fundamentales, nos los enfoques híbridos, (más detalles de este tipo de

algoritmos encuentran presentan (43; 44)). Las principales técnicas de solución encontradas en la

literatura son:

2.3.1.1. Programación Lineal

Las técnicas de programación lineal, fueron las primeras técnicas aplicadas al problema de definición

horarios, fueron desarrollas desde un planteamiento fundamentalmente matemático. La programación

matemática es aplicable a la clase de problemas caracterizados por un gran número de variables que se

cruzan dentro de los límites impuestos por un conjunto de condiciones de restricción (43). La

2016 Universidad Nacional de Colombia, Sede Bogotá

11

"programación" palabra significa en este contexto es sinónimo de planificación. Este esquema de la

programación se desarrolló durante la Segunda Guerra Mundial en relación con la búsqueda de estrategias

óptimas para llevar a cabo el esfuerzo de guerra y se utiliza después en los campos de la industria, el

comercio y los servicios gubernamentales. La programación lineal (LP) es el subconjunto dentro de la

programación matemática se ocupa de la asignación eficiente de los recursos limitados a actividades

conocidas, con el objetivo de alcanzar el objetivo deseado, tal como maximizar los beneficios o minimizar

los costos (43). Por otra parte, la Programación Entera (IP) se refiere a la solución de los problemas de

programación matemática en la que parte o la totalidad de las variables puede asumir sólo valores enteros.

Aunque los métodos de LP son muy valiosos en la formulación y resolución de problemas relacionados

con el uso eficiente de los recursos limitados, no se limitan solamente a estos.

La construcción de un modelo de programación lineal implica tres etapas sucesivas: En la primera etapa

se identifican las variables de decisión desconocidas o independientes. En la segunda etapa se identifican

las limitaciones y la formulación de estas limitaciones como ecuaciones lineales. Por último, en la etapa

tres, se identifica la función objetivo, como una función lineal de las variables de decisión.

Por ejemplo (14) presenta una formulación del problema de generación de horarios en términos de

programación lineal, así:

Hay 𝑞 asignaturas, representadas como 𝑆1 … . . 𝑆𝑞 y cada asignatura 𝑆𝑖 está compuesta de 𝑛𝑖 cursos. Por

otro lado, hay 𝑟 planes de estudio representados como 𝐾1 … . . 𝐾𝑟 , en el cual cada plan de estudios está

definido como un grupo de asignaturas que tienen estudiantes comunes. Esto significa que la asignatura

𝐾𝑖 debe ser programada en diferentes periodos de tiempo. Si el número de cursos en un periodo de tiempo

es 𝑝 y 𝑀𝑘 es el máximo número de cursos que pueden ser programados en el periodo de tiempo del curso

es 𝑘 , donde 𝑘 es el número de salones disponible en un periodo de tiempo, entonces la formulación del

problema de programación de horarios en términos de programación lineal es la siguiente:

𝐸𝑛𝑐𝑢𝑒𝑛𝑡𝑟𝑒

𝑦𝑖𝑘 (𝑖 = 1 … 𝑞 ; 𝑘 = 1 … 𝑝)

𝑇𝑎𝑙 𝑞𝑢𝑒:

∑ 𝑦𝑖𝑘 = 𝑘𝑖 (𝑖 = 1 … 𝑞)

𝑝

𝑘=1

(1)

∑ 𝑦𝑖𝑘 ≤ 𝑀𝑘 (𝑘 = 1 … 𝑝)

𝑝

𝑘=1

(2)

∑ 𝑦𝑖𝑘 ≤ 1 (𝑙 = 1 … 𝑟; 𝑘 = 1 … 𝑝)

𝑞

𝑖∈𝑘𝑙

(3)

𝑦𝑖𝑘 ∈ {0,1} (𝑖 = 1 … . 𝑞; 𝑘 = 1 … 𝑝) (4)

Donde 𝑦𝑖𝑘 = 1 es interpretado como si un curso de una asignatura 𝑆1 es programado en el periodo de

tiempo del curso 𝑘, y 𝑦𝑖𝑘 = 0 de otra forma.

2016 Universidad Nacional de Colombia, Sede Bogotá

12

El conjunto de limitaciones de (1), impone que cada asignatura está compuesta por el numero correcto de

cursos. El conjunto de limitaciones de (2), fuerza a que cada periodo de tiempo no tenga mas cursos que

salones. El conjunto de limitaciones de (3), previene conflictos entre cursos que son programados en el

mismo periodo de tiempo.

En 1970, la programación entera(IP), fue catalogada como menos eficiente que la programación linear (LP)

para resolver problemas de optimización, pero todavía es considerada buena técnica de solución.

2.3.1.2. Satisfacción de restricciones

El método de satisfacción de restricciones ha demostrado ser un área de investigación muy productiva

para los investigadores en las áreas de inteligencia artificial, investigación operativa, y la programación

lógica (45). Más recientemente un método teórico llamado Programación de Satisfacción de Restricciones

(CSP) ha evolucionado y se ha definido. El proceso de satisfacción de restricciones involucra valores

hallazgo de variables del problema sujetas a restricciones sobre las combinaciones aceptables de valores.

La satisfacción de todas las restricciones a veces puede dar lugar a conflictos. En estos casos las

restricciones tienen que ser priorizados de manera que las limitaciones más importantes son satisfechas

en primer lugar. Por otra parte, la satisfacción de algunas limitaciones también podría dar lugar a

conflictos con el objetivo establecido. Por lo tanto, en algunos casos es imposible resolver el problema por

completo y por lo tanto un subconjunto del problema se resuelve que se llama satisfacción de restricciones

parcial (45).

Los problemas de satisfacción de restricciones (CSP) involucran un conjunto de variables del problema,

un dominio de los valores posibles para cada variable y un conjunto de restricciones que especifican qué

combinaciones de valores son aceptables (41). Una solución, especifica una asignación de un valor a cada

variable que no viola ninguna de las restricciones (45). Un gran número de problemas en Inteligencia

Artificial (AI) y otras áreas de la informática se puede ver como casos especiales de CSP. Algunos ejemplos

son la visión artificial, programación de horarios, razonamiento temporal, problemas de grafos, la

planificación de los experimentos genéticos, diseño de circuitos, diseño y fabricación de máquinas.

Un problema de satisfacción de restricciones para la programación académica puede ser resuelto

parcialmente usando algoritmos de búsqueda que buscan mejores soluciones factibles y con la

comprobación de avance y propagación de restricciones. Una solución a CSP implica la asignación de

valores de los dominios de todas las variables tales que todas las restricciones son satisfechas. Una

solución al problema usando CSP la describe (46) ,así:

Cada plan de estudios presenta varias materias por semestre y cada asignatura tiene un numero especifico

de horas por semana. Cada lección se puede definir como las horas de reunión entre profesores y

estudiantes en un momento determina y en un lugar específico. Cada lección tiene una duración de un

periodo especifico de tiempo. Así, el problema de programación de horarios puede ser descrito, definido

como una asignación de tiempo 𝑡𝑗 , 1 ≤ 𝑗 ≤ 𝑚 y un salón 𝑟𝑘 , 1 ≤ 𝑘 ≤ 𝑝 a una lección 𝑠(𝑖) , 1 ≤ 𝑖 ≤ 𝑛

impartida por un profesor 𝐿(𝑆(𝑖)) tal que todas las restricciones 𝐶(𝑆(𝑖)) sean satisfechas. 𝐿(𝑆(𝑖)) y

𝐶(𝑆(𝑖)) son docentes y limitaciones de la lección respectivamente, mientras que 𝑚, 𝑝, 𝑛 son variables

infinitas. Así el problema general de programación de horarios de clase se puede representar como, un

conjunto de variables finita 𝑋1 … . . 𝑋𝑛, por cada variable 𝑋𝑖 un conjunto de dominios 𝐷1 … . . 𝐷𝑛 contienen

posibles valores de 𝑋𝑖. Un finito conjunto de limitaciones, 𝐶1 … . . 𝐶𝑞 representa la relación entre variables.

2016 Universidad Nacional de Colombia, Sede Bogotá

13

Una solución a la CSP implica asignar valores de los dominios de todas las variables tales que todas las

restricciones sean satisfechas. En términos de CSP, un problema de horarios se puede formular mediante

la representación de un intervalo de tiempo y una sala de una clase como variables del CSP, los intervalos

de tiempo disponibles y las habitaciones como los valores de CSP, mientras que las restricciones son las

diversas relaciones entre lecciones. Por lo tanto, el modelo CSP para los problemas de horarios se puede

formular al decidir las variables, los valores y limitaciones. CSP es una herramienta de toma de decisiones

que satisface todas las limitaciones y sus principales ventajas son las siguientes:

1) Propagación de restricciones reduce el espacio de búsqueda y toma menos tiempo buscar

2) Los requerimientos de memoria son pequeños ya que el espacio de búsqueda es reducido.

3) Todos los recursos disponibles son representados en la forma de limitación y desde el usuario

preferencias y requerimientos pueden ser fácilmente satisfechos.

2.3.1.3. Algoritmos generitos y evolutivos

Los algoritmos evolutivos (EA) son una clase de búsqueda y optimización de algoritmos probabilísticos

directos, recogidos a partir del modelo de la evolución orgánica. Un algoritmo genético (GA) es un tipo de

EA y está considerada como el EA más ampliamente conocido en los últimos tiempos. GA es una clase de

algoritmo estocástico de búsqueda basado en la evolución biológica que imita la selección natural

mediante el uso de una versión automatizada de la "supervivencia del más apto" análoga a la estrategia de

búsqueda. Se trata de utilizar el método de optimización que utiliza la genética, aplica las reglas de

reproducción, cruce y mutación a pseudo-organismos de modo que estos puedan pasar rasgos

beneficiosos y de supervivencia de mejora a las nuevas (generación.

Una visión abstracta de la solución del problema usando GA puede ser ilustrada como sigue (47):

genere una población inicial, G(t=0)

evalué la función de aptitud f[G(0)]

t = 0

repita

t = t + 1

genere G(t) usando G(t-1)

evalué f[G(t)]

hasta que se encuentre una solución aceptable o la población converja

fin

La representación del problema de programación de horarios en GA es un problema muy específico. El

siguiente es un esquema de la representación del problema presentado por (48):

3 7 0 11 5 0 5 1 0 9 9 1

Asignatura 0 Asignatura 1 Asignatura 2…… Asignatura i

a b c

Donde a es el índice del salón, b es el índice del día y c es el índice de la sesión. La combinación de salón,

día y sesión determina donde la asignatura es programada.

Se afirma que GA tiene mayor capacidad que cualquier otro método de búsqueda y que tiene mejores

resultados posibles. Algunas aplicaciones donde el GA se ha utilizado con éxito son circuitos analógicos,

lógica difusa, y redes neuronales.

2016 Universidad Nacional de Colombia, Sede Bogotá

14

2.3.1.4. Recosido simulado

El recocido simulado (SA) es una técnica de optimización de búsqueda local aleatoria, utilizada para

encontrar soluciones a los problemas de optimización. SA es muy intensivo en recursos y uno de sus

puntos en contra es su requisito de utilizar una gran cantidad de tiempo de cálculo para la obtención de

una solución óptima. Como tal, algunos intentos de acelerar los algoritmos de recocido se han basado en

sistemas multiprocesador de memoria compartida, y paralelización para ciertos problemas en sistemas

multiprocesador de memoria distribuida.

La aplicación del problema programación de horarios de clase usando SA es un procedimiento

relativamente sencillo. Los átomos son reemplazados por elementos y la energía del sistema se sustituye

por los costes horarios. se hace una asignación inicial en la que los elementos se colocan en un período

elegido al azar. El costo inicial y la temperatura inicial se calculan. El costo se utiliza para reflejar la calidad

del horario y la temperatura se utiliza para controlar la probabilidad de un aumento en el costo. En cada

iteración se escoge un período al azar, llamado desde el período y un elemento seleccionado al azar de ese

período. Otro período se elige al azar, llamado el período. El cambio en el costo se calcula entonces a partir

de estos dos componentes (34). Un ejemplo de este proceso con SA lo presento (34) , el objetivo es

disminuir el costo de una solución:

Calcule una temperatura inicial

Mientras (costo<>0) y el horario no este congelado repita

Seleccione una tupla Tn (clase, salón, periodo)

Seleccione un nuevo valor para Periodo llamado Periodo’

Evalué el costo de remover esa tupla del Periodo

Evalué el costo de insertar esa tupla en el Periodo’

Calcule el costo del cambio

Si el costo ≤ 0 o el costo del cambio es aceptable a esa temperatura, entonces

acepte el cambio y actualice el costo

Calcule la nueva temperatura

fin

2.3.1.5. Búsqueda Tabú

La búsqueda Tabú es una técnica meta-heurística que guía a un procedimiento de búsqueda heurística

local para explorar el espacio de soluciones más allá de optimalidad local (49). Formalmente, un meta-

heurística se define como una estrategia principal que guía y modifica otras heurísticas para producir

soluciones más allá de los que normalmente se generan en una búsqueda de la optimización local en

problemas de optimización (40). Los procedimientos meta-heurísticos han mejorado enormemente

debido a los avances en los últimos años, sobre todo debido a los desarrollos de nuevas implementaciones

de TS que son más eficaces en la solución de problemas difíciles, de lo que se considera posible (49).

El diseño y desarrollo inicial en el TS comenzaron a finales de 1960 y principios de 1970. Glover produjo

la actual forma de TS en su documento "Caminos de futuro de la programación entera y enlaces a la

Inteligencia Artificial". La investigación actual indica que TS ha convertido en un enfoque de optimización

bien establecido que se está extendiendo rápidamente en varios campos nuevos (40).TS ayuda a resolver

problemas en un área amplia de campos, tales como la planificación de recursos, las telecomunicaciones,

análisis financiero, la programación de horarios, la planificación del espacio, la distribución de energía, la

ingeniería molecular, la logística, la clasificación de patrones, fabricación flexible, gestión de residuos, la

exploración minera, biomédica, y decenas de otros problemas (40).

2016 Universidad Nacional de Colombia, Sede Bogotá

15

El método TS fue motivado en parte por la observación del comportamiento humano que parece operar

con un elemento de azar que lleva a un comportamiento inconsistente dado circunstancias similares. El

método TS funciona de esta manera con la excepción de que temas nuevos no se eligen al azar. En cambio,

el TS procede de acuerdo con la suposición de que no hay ningún punto en la aceptación de una nueva

solución de (mala) a menos que sea para evitar un camino ya investigado. Esto asegura que las nuevas

regiones del espacio de la solución de un problema se investigarán con el objetivo de evitar los mínimos

locales y que en última instancia debe conducir a la solución deseada. (50).

TS comienza por la búsqueda de un mínimo local. Para evitar volver sobre los pasos utilizados, el método

registra los movimientos recientes en una o más listas tabú. La intención original de las listas no era

impedir un movimiento anterior, sino más bien asegurarse de que no se invirtieron movimientos. Las listas

tabú son de naturaleza histórica y forman el núcleo de la memoria de búsqueda tabú. El papel de la

memoria puede cambiar a medida que avanza el algoritmo. En la inicialización el objetivo es hacer una

amplia exploración del espacio de soluciones, conocida como la "diversificación", pero a medida que se

identifican lugares candidatos la búsqueda se centra más para producir soluciones óptimas locales en un

proceso de "intensificación". En muchos casos, las diferencias entre las distintas implementaciones del

método de Tabú tienen que ver con el tamaño, la variabilidad y capacidad de adaptación de la memoria

Tabú a un dominio de problema particular.

Hertz en 1991 (51), un algoritmo general de la búsqueda Tabú, a continuación, se describe:

Inicio

S:= solución inicial en X

nbiter := 0 {current iteration}

bestiter := 0 {iteration when the best solution has been found}

bestsol := s {best solution}

inicialice la función de aspiración A

Mientras ( f(s)> f* ) y (nbiter-bestiter<nbmax) repita

nbiter := nbiter +1

genere un conjunto V* de soluciones s en n(s) tal que A(f(s))>= f(s)

seleccione una solucion s* minimizando f sobre V*

actualice la función de aspiración A y la lista tabu T

Si f(s*) < f(bestsol) entonces

bestsol := s*

bestiter := nbiter

s:= s*

fin

TS se basa en conceptos que unen los campos de la inteligencia artificial y la optimización. Además de

recocido simulado (SA) y Algoritmos Genéticos (GA), TS se evaluó en el informe ampliamente referenciado

por el Comité para la próxima década de Investigación de Operaciones por ser "extremadamente

prometedor" para el tratamiento futuro de aplicaciones prácticas (40).

16

Capítulo 3

Modelo de optimizacion

3.1 El problema de investigación

3.1.1. El contexto

Como demuestran estudios previos la actividad académica de la Facultad de Ingeniería durante la última

década ha experimentado un crecimiento considerable y parece mantenerse esa tendencia: (19) presenta

y analiza una revisión histórica de la evolución de indicadores relacionados, con estudiantes, actividad

académica, planta docente, numero de admitidos, etc. (22) presenta un modelo matemático sobre el

tránsito de los estudiantes a través su plan de estudios y se analiza el impacto que esto tiene sobre la

actividad académica de la facultad de ingeniería. Este incremento impacta directamente, sobre el proceso

de programación académica, incrementado su complejidad.

Por otra parte, a pesar que la demanda de cupos está en aumento la planta física y la planta docente

permanecen inmutables al tiempo. En este panorama es urgente encontrar una solución que a corto plazo

nos permita sostener el sistema y que nos dé la posibilidad de postergar inversiones en infraestructura y

personal docente a mediano y largo plazo.

3.1.2. EL proceso de programación

Históricamente el proceso de programación de cursos y asignación de salones es realizado manualmente

basado en ensayo y error. La facultad cuenta con un grupo de personas responsables de la programación

académica, por lo general existe una persona por departamento, el proceso es lento y tedioso con tiempos

de ejecución de alrededor de 4 semanas. El tiempo de ejecución es definido como el tiempo necesario para

programar el total de las asignaturas de un semestre académico, en términos generales se puede dividir

en las siguientes tres etapas:

Recolección de data necesaria, lo cual requiere en promedio 1 semana.

2016 Universidad Nacional de Colombia, Sede Bogotá

17

Construcción de horarios y generación de reportes, lo cual requiere en promedio de 1 a dos

semanas.

Validación del horario programado con directivos de la facultad, lo cual requiere en promedio 1

semana.

A grandes rasgos el proceso de construcción de horarios consiste en tomar una plantilla base de semestres

anteriores y refinarla de modo que se ajuste al periodo académico siguiente, sin embargo, el proceso no es

susceptible de errores, de hecho, no es poco frecuente que dos asignaturas se solapen en el mismo espacio-

tiempo ya sea por falta de sinergia entre diferentes programadores o por un error humano de un solo

programador. También existen casos de programación de cursos en espacios no disponibles o inexistentes.

Estos problemas afectan negativamente a la facultad y generalizan una percepción de desorganización que

dañan la imagen de la institución. Por otra parte, estos conflictos generados por mala programación

incrementan los costos operacionales ya que es necesario hacer una reprogramación.

3.1.3. Panorama actual

Según los últimos datos reportados por la Dirección Nacional de Admisiones (19), la Dirección Nacional

de Personal (20), datos obtenidos directamente de la División de Registro y trabajos de campo realizados

durante esta investigación (21), la Facultad de Ingeniera de la Universidad Nacional de Colombia, sede

Bogotá cuenta con 26 programas curriculares: 10 programas de pregrado y 16 programas de postgrado,

los cuales están soportados por una planta docente de 373 profesores que representan un 14.36% de la

planta docente de toda la sede y una planta física de 150 aulas de clase y 45 Laboratorios. Por otra parte,

para el periodo académico 2015-II, se ofrecieron 492 asignaturas para suplir una demanda de 7758

estudiantes de pregrado y postgrado.

Las tablas 3.1-1 y 3.1-2 muestra en forma agregada una visión de la programación académica de la facultad

de ingeniería para el periodo académico 2015-II, en la Tabla 3.1-1 se presenta una perspectiva global desde

el punto de vista del uso de recursos, basados en la información que nos brinda esta tabla podemos deducir

las siguientes conclusiones:

Los programas de pregrado representan cerca del 80% de la carga académica soportada por la

facultad de ingeniería durante el periodo académico 2015-II.

El plan de estudios de ingeniería química fue el más demandado durante periodo académico

2015-II.

Existe una relación proporcional entre el número de asignaturas ofertadas y el número de

recursos utilizados para suplir esa demanda, aunque no es una relación lineal.

En términos de utilización de recursos los programas de Ingeniería Civil e Ingeniería Industrial

son los que representan la mayor carga para el sistema.

Existe una relación proporcional entre el número de estudiantes que mantiene un plan de estudios

y la carga que representa para el sistema en términos de utilización de recursos.

2016 Universidad Nacional de Colombia, Sede Bogotá

18

La relación de reusó de personal docente de 2.3 (859:373) relación que se obtiene al comprar el

número total de docentes necesarios para dictar las asignaturas ofrecidas con el número total de

docentes con los que cuenta la facultad, es decir, en promedio cada profesor está dictando 2

asignaturas al semestre para suplir la demanda.

La relación de reusó de salones de clase de 3.8 (749:195) relación que se obtiene al comparar el

número total de salones necesarios para dictar las asignaturas ofrecidas con el número de salones

con los que cuenta la facultad, en otras palabras, en promedio cada salón de clase se utiliza para

dictar 4 asignaturas al semestre.

En la Tabla 3.1-2 se presenta una perspectiva global en relación al uso de del tiempo en la facultad de

ingeniera durante el periodo académico 2015-II, al respecto es importante resaltar algunas conclusiones:

Los programas de pregrado tienen una carga académica dos a tres veces mayor respecto a los

estudiantes de postgrado, en promedio un estudiante de pregrado recibe 3.3 horas de clase

semanal mientas que un estudiante de postgrado recibe solo 1.7 horas semanales de clase, en

promedio un estudiante de la facultad de ingeniería recibe 2.3 horas de clase, esos promedios

pueden verse afectados por cerca de 2000 estudiantes de pregrado y postgrado que inscribieron

la asignatura trabajo de grado, los se tomaron en cuenta para sacar el promedio.

Los estudiantes de ingeniería mecatrónica son los que reciben en promedio más horas de clase a

la semana.

En promedio una asignatura de la facultad de ingeniera ocupa 30.8 horas de clase a la semana, esto

considerando que cada asignatura está dividida en varios grupos.

En promedio un salón de clase en la facultad de ingeniería se usa 20.5 horas a la semana.

Las tablas 3.1-3, 3.1-4 y 3.1-5 presentan mapas de calor la programación académica agregada de la facultad

de ingeniería para una semana cualquiera del semestre académico 2015-II, la tabla 3.1-3 presenta la

programación únicamente de los programas de pregrado y la tabla 3.1-4 presenta únicamente la

programación académica de los programas de postgrado, la tabla 3.1-5 presenta la programación

académica completa que incluye los programas de pregrado y postgrado, con bases en estos mapas de

calor podemos llegar a las siguientes conclusiones:

En relación al número de asignaturas en un periodo de tiempo y el número de inscritos en ese

mismo periodo de tiempo se observa una relación directamente proporcional en todos los casos,

es decir a medida que aumenta el número de asignaturas aumenta el número de estudiantes

inscritos en un periodo de tiempo en particular.

El impacto de la programación académica de posgrado sobre la programación de toda la facultad

es menor, de hecho, se observa casi el mismo mapa de calor cuando se compara la programación

general con la programación únicamente de pregrado, este hecho ya lo anticipábamos

anteriormente y es muy importante ya que conocer esto no indica donde debemos centrar nuestra

atención.

Comparando la programación académica de postgrado y la de pregrado, se observa claramente

que la programación de postgrado tiene una mejor distribución de carga a lo largo de la semana,

2016 Universidad Nacional de Colombia, Sede Bogotá

19

sin embargo, se observa una sobrecarga en la franja de 7:00AM a 9:00AM en contraste se observa

que en la tarde en especial el viernes la carga del sistema es casi nula.

Respecto a la programación de posgrado

El número de inscritos incrementa a medida que aumenta los días de la semana de modo que el

lunes es el día de más concurrencia de estudiantes de postgrado a la facultad de ingeniería.

En promedia al día se dictan 24 cursos de postgrado y 227 estudiantes de postgrado concurren a

la facultad.

Respecto a la programación de pregrado

A lo largo del día existe una distribución irregular de la carga, pasando de estar sobrecargado en

la franja de 7:00AM a 9:00AM y paulatinamente a lo larga del día ir reduciendo la carga.

Desde el día viernes en la tarde hasta el sábado competo la carga es mínima.

A lo largo de la semana, los días martes, miércoles y jueves son los que más estudiantes concurren

a la facultad por tanto son los días que más estresan el sistema.

En promedio cada día concurren a la facultad 8140 estudiantes de pregrado para recibir clase en

263 asignaturas.

En resumen, con base a la programación académica de 2015-I, podemos concluir que:

La distribución de carga académica no es la más adecuada, se observan distribuciones de carga

irregulares que pueden ser corregidos con una mejor planeación de la programación académica.

Asumiendo que la disponibilidad diaria de un salón de clase es de 16 horas, desde las 6:00AM

hasta las 1:00PM y de 2:00PM a 10:00PM, y que la semana académica es de 6 días, se puede llegar

a la conclusión que la disponibilidad horaria de un salón de clase es de 96 horas a la semana. Y

conociendo que en promedio un salón de clase de la facultad de ingeniería es utilizado 30.8 horas

semanales, podemos encontrar una relación de eficiencia promedio del uso de los salones, así:

𝑈𝑠𝑜𝑆𝑎𝑙𝑜𝑛 = 𝑢𝑠𝑜 [ℎ]

𝑑𝑖𝑠𝑝𝑜𝑛𝑖𝑏𝑖𝑙𝑖𝑑𝑎𝑑 [ℎ]=

30.8

6 𝑑𝑖𝑎 ∗ 16ℎ

𝑑𝑖𝑎

= 32.08%

Esto quiere decir que un salón promedio en la facultad de ingeniería se usa solo un 32.8% del

tiempo disponible para su uso. A groso modo lo que refleja esta cifra es que hay un potencial de

uso de salones de más del 50% que no se está aprovechando.

2016 Universidad Nacional de Colombia, Sede Bogotá

20

Código Plan de Estudios No

Estudiantes No

Asignaturas

Número de Recursos Utilizados Relación de Utilización

No Docentes No Salones % Docentes % Salones

2879 INGENIERIA DE SISTEMAS 777 37 85 68 22.8% 34.9%

2542 INGENIERIA CIVIL 1164 42 92 83 24.7% 42.6%

2547 INGENIERIA MECANICA 771 37 87 74 23.3% 37.9%

2541 INGENIERIA AGRICOLA 415 31 43 42 11.5% 21.5%

2546 INGENIERIA INDUSTRIAL 492 28 48 42 12.9% 21.5%

2549 INGENIERIA QUIMICA 1166 36 92 83 24.7% 42.6%

2544 INGENIERIA ELECTRICA 615 36 63 68 16.9% 34.9%

2548 INGENIERIA MECATRONICA 486 20 47 30 12.6% 15.4%

2545 INGENIERIA ELECTRONICA 556 30 49 51 13.1% 26.2%

2505 INGENIERIA AGRONOMICA 648 52 81 70 21.7% 35.9%

2708 MAESTRIA EN INGENIERIA INDUSTRIAL 60 12 11 9 2.9% 4.6%

2562 MAESTRIA EN INGENIERIA AMBIENTAL 40 10 6 8 1.6% 4.1%

2704 MAESTRIA EN INGENIERIA QUIMICA 46 9 6 6 1.6% 3.1%

2709 MAESTRIA EN INGENIERIA MECANICA 60 10 20 7 5.4% 3.6%

2707 MAESTRIA EN TELECOMUNICACIONES 41 11 8 7 2.1% 3.6%

2706 MAESTRIA EN TRANSPORTE 23 5 10 8 2.7% 4.1%

2705 MAESTRIA EN RECURSOS HIDRAULICOS 51 11 17 22 4.6% 11.3%

2701 MAESTRIA EN INGENIERIA AGRICOLA 13 7 7 7 1.9% 3.6%

2703 MAESTRIA EN INGENIERIA ELECTRICA 50 11 18 11 4.8% 5.6%

2756 MAESTRIA EN INGENIERIA BIOMEDICA 22 6 9 9 2.4% 4.6%

2702 MAESTRIA EN INGENIERIA DE SISTEMAS 84 9 10 11 2.7% 5.6%

2865 MAESTRIA EN INGENIERIA ELECTRONICA 18 6 3 4 0.8% 2.1%

2698 MAESTRIA EN AUTO. INDUSTRIAL 58 16 21 11 5.6% 5.6%

2699 MAESTRIA EN ESTRUCTURAS 38 6 6 6 1.6% 3.1%

2700 MAESTRIA EN GEOTECNIA 64 14 20 12 5.4% 6.2%

Total 7758 492 859 749 230.3% 384.1%

Tabla 3.1-1: Resumen general de uso de recursos facultad de ingeniería, semestre 2015-II

2016 Universidad Nacional de Colombia, Sede Bogotá

21

Código Plan de Estudios No

Estudiantes No

Asignaturas No

Salones No Horas de

clase

Promedio semanal de horas de clase

Estudiante Asignatura Salón

2879 INGENIERIA DE SISTEMAS 777 37 68 2042 2.6 55.2 30.0

2542 INGENIERIA CIVIL 1164 42 83 2467 2.1 58.7 29.7

2547 INGENIERIA MECANICA 771 37 74 2338 3.0 63.2 31.6

2541 INGENIERIA AGRICOLA 415 31 42 1912 4.6 61.7 45.5

2546 INGENIERIA INDUSTRIAL 492 28 42 1817 3.7 64.9 43.3

2549 INGENIERIA QUIMICA 1166 36 83 2711 2.3 75.3 32.7

2544 INGENIERIA ELECTRICA 615 36 68 2244 3.6 62.3 33.0

2548 INGENIERIA MECATRONICA 486 20 30 2269 4.7 113.5 75.6

2545 INGENIERIA ELECTRONICA 556 30 51 2230 4.0 74.3 43.7

2505 INGENIERIA AGRONOMICA 648 52 70 1587 2.4 30.5 22.7

2708 MAESTRIA EN INGENIERIA INDUSTRIAL 60 12 9 123 2.1 10.3 13.7

2562 MAESTRIA EN INGENIERIA AMBIENTAL 40 10 8 57 1.4 5.7 7.1

2704 MAESTRIA EN INGENIERIA QUIMICA 46 9 6 99 2.2 11.0 16.5

2709 MAESTRIA EN INGENIERIA MECANICA 60 10 7 119 2.0 11.9 17.0

2707 MAESTRIA EN TELECOMUNICACIONES 41 11 7 83 2.0 7.5 11.9

2706 MAESTRIA EN TRANSPORTE 23 5 8 38 1.7 7.6 4.8

2705 MAESTRIA EN RECURSOS HIDRAULICOS 51 11 22 33 0.6 3.0 1.5

2701 MAESTRIA EN INGENIERIA AGRICOLA 13 7 7 44 3.4 6.3 6.3

2703 MAESTRIA EN INGENIERIA ELECTRICA 50 11 11 54 1.1 4.9 4.9

2756 MAESTRIA EN INGENIERIA BIOMEDICA 22 6 9 55 2.5 9.2 6.1

2702 MAESTRIA EN INGENIERIA DE SISTEMAS 84 9 11 121 1.4 13.4 11.0

2865 MAESTRIA EN INGENIERIA ELECTRONICA 18 6 4 29 1.6 4.8 7.3

2698 MAESTRIA EN AUTO. INDUSTRIAL 58 16 11 78 1.3 4.9 7.1

2699 MAESTRIA EN ESTRUCTURAS 38 6 6 43 1.1 7.2 7.2

2700 MAESTRIA EN GEOTECNIA 64 14 12 40 0.6 2.9 3.3

Total 7758 492 749 22633 2.3 30.8 20.5

Tabla 3.1-2: Resumen general uso del tiempo facultad de ingeniería, semestre 2015-II

2016 Universidad Nacional de Colombia, Sede Bogotá

22

Hora Cursos Inscritos Total

Lunes Martes Miércoles Jueves Viernes Sábado Lunes Martes Miércoles Jueves Viernes Sábado Cursos Inscritos

6:00 3 4 4 4 4 17 29 75 75 75 75 30 36 359

7:00 65 89 97 90 86 16 2,110 2,964 3,030 2,956 2,814 298 443 14,172

8:00 63 87 94 87 79 26 2,083 2,921 2,978 2,899 2,663 523 436 14,067

9:00 82 106 118 109 97 25 2,464 3,222 3,493 3,355 3,007 1,082 537 16,623

10:00 79 105 119 107 98 24 2,351 3,175 3,546 3,280 2,941 1,134 532 16,427

11:00 45 96 93 90 78 13 1,305 3,088 3,020 2,987 2,431 903 415 13,734

12:00 41 92 92 87 79 5 1,206 3,041 2,932 2,973 2,466 244 396 12,862

13:00 5 8 7 5 3 3 94 181 188 80 268 44 31 855

14:00 88 107 89 90 6 7 2,629 3,047 2,593 2,703 199 49 387 11,220

15:00 89 105 90 88 5 7 2,667 2,997 2,524 2,654 194 53 384 11,089

16:00 59 77 67 71 3 7 2,304 2,177 2,186 2,158 3 54 284 8,882

17:00 54 62 57 62 3 4 1,916 2,153 2,146 1,979 4 15 242 8,213

18:00 35 34 32 35 4 4 1,091 1,420 1,132 1,226 41 7 144 4,917

19:00 34 33 31 35 4 4 1,050 1,326 970 1,194 41 9 141 4,590

20:00 6 5 3 7 5 1 15 67 26 81 46 4 27 239

21:00 5 2 2 5 5 1 12 6 4 7 46 12 20 87

22:00 2 2 1 1 1 1 2 6 3 1 3 26 8 41

Promedio 44 60 59 57 33 10 1,372 1,874 1,814 1,800 1,014 264 263 8,140

Total 755 1,014 996 973 560 165 23,328 31,866 30,846 30,608 17,242 4,487 4,463 138,377

Tabla 3.1-3: Programación académica, pregrado - semestre 2015-II

2016 Universidad Nacional de Colombia, Sede Bogotá

23

Hora Cursos Inscritos Total

Lunes Martes Miércoles Jueves Viernes Sábado Lunes Martes Miércoles Jueves Viernes Sábado Cursos Inscritos

6:00 1 3 2 3 2 1 5 15 10 16 10 2 12 58

7:00 15 9 13 9 15 2 189 97 119 119 117 18 63 659

8:00 15 7 12 7 13 4 168 87 111 109 107 47 58 629

9:00 8 8 6 11 6 2 66 74 54 98 80 38 41 410

10:00 4 8 6 10 6 1 22 73 54 86 80 40 35 355

11:00 4 5 7 6 4 3 45 15 68 39 44 38 29 249

12:00 3 4 6 5 3 2 34 13 55 40 30 14 23 186

13:00 0 0 0 0 0 3 2 0 0 2 0 20 3 24

14:00 7 3 0 3 1 2 60 17 2 12 7 3 16 101

15:00 7 3 0 3 0 0 60 17 2 12 1 0 13 92

16:00 11 5 3 5 0 3 89 41 20 33 1 21 27 205

17:00 9 4 3 5 0 2 79 34 20 35 0 16 23 184

18:00 7 5 4 5 1 1 110 53 68 60 13 1 23 305

19:00 5 5 4 5 1 2 86 50 68 58 12 41 22 315

20:00 2 0 0 0 1 0 32 3 2 11 13 0 3 61

21:00 0 0 0 0 1 0 0 3 0 0 13 0 1 16

22:00 0 0 0 0 0 1 0 0 0 0 0 2 1 2

Promedio 6 4 4 5 3 2 62 35 38 43 31 18 23 227

Total 98 69 66 77 54 29 1,047 592 653 730 528 301 393 3,851

Tabla 3.1-4: Programación académica, postgrado - semestre 2015-II

2016 Universidad Nacional de Colombia, Sede Bogotá

24

Hora Cursos Inscritos Total

Lunes Martes Miércoles Jueves Viernes Sábado Lunes Martes Miércoles Jueves Viernes Sábado Cursos Inscritos

6:00 4 7 6 7 6 18 34 90 85 91 85 32 48 417

7:00 80 98 110 99 101 18 2,299 3,061 3,149 3,075 2,931 316 506 14,831

8:00 78 94 106 94 92 30 2,251 3,008 3,089 3,008 2,770 570 494 14,696

9:00 90 114 124 120 103 27 2,530 3,296 3,547 3,453 3,087 1,120 578 17,033

10:00 83 113 125 117 104 25 2,373 3,248 3,600 3,366 3,021 1,174 567 16,782

11:00 49 101 100 96 82 16 1,350 3,103 3,088 3,026 2,475 941 444 13,983

12:00 44 96 98 92 82 7 1,240 3,054 2,987 3,013 2,496 258 419 13,048

13:00 5 8 7 5 3 6 96 181 188 82 268 64 34 879

14:00 95 110 89 93 7 9 2,689 3,064 2,595 2,715 206 52 403 11,321

15:00 96 108 90 91 5 7 2,727 3,014 2,526 2,666 195 53 397 11,181

16:00 70 82 70 76 3 10 2,393 2,218 2,206 2,191 4 75 311 9,087

17:00 63 66 60 67 3 6 1,995 2,187 2,166 2,014 4 31 265 8,397

18:00 42 39 36 40 5 5 1,201 1,473 1,200 1,286 54 8 167 5,222

19:00 39 38 35 40 5 6 1,136 1,376 1,038 1,252 53 50 163 4,905

20:00 8 5 3 7 6 1 47 70 28 92 59 4 30 300

21:00 5 2 2 5 6 1 12 9 4 7 59 12 21 103

22:00 2 2 1 1 1 2 2 6 3 1 3 28 9 43

Promedio 50 64 62 62 36 11 1,434 1,909 1,853 1,843 1,045 282 286 8,366

Total 853 1,083 1,062 1,050 614 194 24,375 32,458 31,499 31,338 17,770 4,788 4,856 142,228

Tabla 3.1-5: Programación académica, pregrado y postgrado - semestre 2015-II

2016 Universidad Nacional de Colombia, Sede Bogotá

25

3.2 Descripción del modelo de optimización

3.2.1. La propuesta

Dada la naturaleza combinatoria del problema y su complejidad computacional, la cual es categorizada

como NP-Compleja, el enfoque basado en la solución manual de ensayo y error es considerado

naturalmente ineficiente en escenarios con gran número de cursos y salones de clase, como es el caso de

la facultad de ingeniería de la Universidad Nacional de Colombia. Por otra parte la optimización del

enfoque manual no es una tarea menos compleja, en aplicaciones en el mundo real, los métodos usados

deben estar direccionados no solo a la complejidad computacional sino también a una serie de factores

involucrados que varían en el tiempo, así como: las preferencias horarias del instructor, los prerrequisitos

del curso, la creación de nuevos cursos o nuevos programas académicos, la disponibilidad de los salones

de clase, la propia estructura del curso, etc. son temas que no se pueden dejar de lado cuando se está

pensando en una optimización aplicada a un caso real.

En este sentido no es sufriente con disponer un sistema computacional lo suficientemente avanzado para

entregar soluciones validas, es necesario complementarlo con un sistema de gestión de la información que

nos permita mantener actualizada los datos fuente para la generación de la programación académica y que

involucre en el proceso a todos los implicados en el procesos de programación académica que van desde

los encargados de la programación académica pasando por los directivos, hasta los profesores y

estudiantes y en general toda la comunica académica.

En respuesta a lo anterior esta tesis propone como modelo de optimización el Sistema Información para la

Programación Académica o SIPA por sus siglas en español. Como su nombre indica, SIPA es un sistema de

información, cuyo objetivo es optimizar el proceso de programación de asignaturas y asignación de

salones de clase, paralelamente busaca reducir costos operacionales en tiempo, personal y esfuerzo

necesarios para la generación de la programación académica semestre a semestre. El modelo propuesto

pretende centralizar toda la información necesaria para generar la programación académica, (relacionada

con salones, profesores, estudiantes, planes de estudio, políticas internas, pronósticos de demanda,

histórico de demanda, etc.), manteniendo un histórico de esta información que sirva para dos finalidades

especialmente: la primera es usar esta base de información para la generación de los horarios de clase y

en segunda instancia pero no menos importante que sirva de apoyo a nivel gerencial para toma de

decisiones.

3.2.2. Los sistemas de información y su importancia en el mundo actual

Durante los últimos años los sistemas de información (SI) constituyen una de las principales herramientas

de soporte y de competitividad de las organizaciones. En entornos cada vez más complejos gobernados

por la incertidumbre y el crecimiento exponencial de la demanda, donde la eficiencia en los procesos es de

vital importancia, Los sistemas de información han llegado para ayudarnos a adaptarnos a estos entornos

cambiantes. Si hasta ahora considerábamos como recursos básicos la tierra, el trabajo y el capital, ahora la

información aparece como otro insumo fundamental a valorar en las organizaciones.

Es extensa la documentación sobre organizaciones que han logrado ventajas competitivas basadas en las

tecnologías y sistemas de información. Incluso algunos sectores han visto modificada su estructura básica

2016 Universidad Nacional de Colombia, Sede Bogotá

26

como resultado de la introducción de los SI. El sistema financiero, por ejemplo, ha sufrido grandes cambios

asociados con estas tecnologías: la proliferación de nuevos productos, como el Cash Management Account,

nuevos canales como los ATM y, en general, nuevas formas de competir en el sector. Los sistemas de

reservas como el Sabre de American Airlines o el Apollo de United Airlines han modificado de forma

sustancial las barreras de entrada en el sector de líneas aéreas. Igualmente, la introducción del sistema

ASAP por parte de American Hospital Supply (actualmente Baxter Travenol) ha representado una

verdadera revolución en el sistema de pedidos de suministros hospitalarios. En estos sectores, como en

otros, los SI no solamente han sido una fuente de ventajas competitivas, sino que se han transformado en

una necesidad estratégica imprescindible para operar en los mismos. (23).

A la hora de definir un sistema de información existe un amplio abanico amplio de definiciones. Tal vez la

más precisa sea la propuesta por (23), en la cual un sistema de información se define como: “conjunto

formal de procesos que, operando sobre una colección de datos estructurada de acuerdo a las necesidades de

la organización, recopila, elabora y distribuyen selectivamente la información necesaria para la operación

de dicha organización y para las actividades de dirección y control correspondientes, apoyando, al menos en

parte, los procesos de toma de decisiones necesarios para desempeñar funciones de la organización de

acuerdo con su estrategia”.

El mayor beneficio de los sistemas de información es su capacidad para proporcionar a un usuario la

información necesaria para hacer cualquier tarea de manera efectiva y eficiente. Las bases de datos y

registros informáticos en papel proporcionan datos, pero los sistemas de información proporcionan los

datos adecuados acerca de las tareas de cada usuario en el formato que mejor se adapte al mismo. Los

sistemas de información pueden presentar los datos en tiempo real o históricos, según sea necesario, y se

adaptan a nuevas necesidades de información.

Todo sistema de información utiliza como materia prima los datos, los cuales almacena, procesa y

transforma para obtener como resultado final información, la cual será suministrada a los diferentes

usuarios del sistema, existiendo además un proceso de retroalimentación o “feedback”, en la cual se debe

valorar si la información obtenida se adecua a lo esperado, en la Figura 3.2-1 se presenta el modelo de 4

bloques que describe a groso modo un sistema de información(24).

Figure 3.2-1: Modelo de 4 bloques elementales para describir un sistema de información

2016 Universidad Nacional de Colombia, Sede Bogotá

27

3.2.3. El Sistema de Información para La programación Académica (SIPA)

De acuerdo a la clasificación definida por (25), SIPA es un sistema de información del tipo sistema de

soporte de toma de decisiones (DSS). Construido sobre un ambiente web, el sistema utiliza un modelo de

búsqueda local para generar soluciones de programación optimas basadas en una serie de restricciones.

Desde el punto de vista de su arquitectura, SIPA está compuesto por cinco módulos principales, los cuales

están representados en la figura 3.2-2. El primero es el módulo de interface de usuario, el cual es un

mecanismo de interacción entre el usuario y el sistema, donde el usuario puede chequear y ajustar los

parámetros del sistema y las opciones para administrar el mismo. A través de la interface, el usuario puede

definir los planes de estudio, especificar las características de los cursos en términos de recursos en

infraestructura y personal docente, también es posible especificar las restricciones.

Figure 3.2-2: Arquitectura general del Sistema de Información para la Programación Académica

El módulo de gestión de usuarios está encargado de administrar usuarios roles y permisos y dependiendo

de esto habilitar o deshabilitar características del módulo de interfaz de usuario, de modo que cada usuario

tenga la información necesaria para desempeñar su rol.

En tercer lugar, está el módulo de compilación de información, el cual se encarga de captar, filtrar,

transformar y almacenar la información necesaria para generar la programación académica. Algunos

ejemplos de data son: la disponibilidad de tiempo de los profesores, el tipo de salón, la disponibilidad de

los salones, los programas académicos, las características del curso, etc. Este módulo también está

2016 Universidad Nacional de Colombia, Sede Bogotá

28

encargado de mantener los registros históricos de la programación en semestres anteriores. Este módulo

tiene conexión directa con el SIA (Sistema de Información Académica), de forma que existe una

retroalimentación directa entre los dos sistemas. El sistema cuenta con varios filtros que rápidamente

descartar soluciones no factibles de modo que se reduzca el tiempo computacional necesario para

encontrar una solución.

El cuarto modulo, es el generador de programación, como su nombre lo sugiere este módulo tiene la tarea

de generar soluciones válidas de programación académica, baso en la oferta de cursos, disponibilidad de

recursos y las restricciones configuradas en el sistema. La comunicación entre este módulo y el SIA, es muy

importante ya que habilita una publicación automática de la programación académica.

Finalmente, el quinto módulo, el módulo de reportes está encargado de generar reportes a pedido,

reportes que van desde reportes gerenciales para toma de decisión de alto nivel(eficiencia en el uso de los

recursos, condiciones de los salones de clase, promedio de uso de los salones de clase, numero de salones

disponible en un periodo de tiempo, etc.), reportes históricos, hasta reporte de bajo nivel relacionados con

indicadores para evaluar la programación que ha sido generada por el sistema, así como valor de la función

objetivo, numero de variables y restricciones, tiempos computacionales para generar solución.

3.2.4. Avance de la implementación

La iniciativa SIPA ha sido bien recibida por la comunidad académica, desde su concepción hace cerca de

año y medio ha tenido el apoyo de la Dirección Académica y la División de Registro de la Universidad

Nacional de Colombia.

Figure 3.2-3: Screenshot de la vista de infraestructura universitaria del SIPA

2016 Universidad Nacional de Colombia, Sede Bogotá

29

Actualmente se encuentra en el proceso de implementación y puesta en producción, a la fecha se han

implementado tres de los cinco módulos que componen el sistema: el módulo de interfaz de usuario, el

modulo compilación de información y el generador de programación. El módulo de interfaz de usuario y

el módulo de compilación de información se encuentran en fase de preproducción en un servidor de

dedicado en la división de registro, por otra parte, el módulo de generación de programación actualmente

se encuentra en fase de pruebas. Se espera en para el próximo año tener el sistema complemente

implementado y puesto en producción a disposición de la comunidad académica en general.

La figura 3.2-3 es una impresión de pantalla de la vista de infraestructura universitaria del SIPA, esta vista

da la opción al usuario de consultar información relacionada con cada uno de los salones de Universidad

Nacional de Colombia, la siguiente es una lista de información que se puede consultar para cada uno de los

salones:

Nombre y código del salón.

Nombre y código del edificio donde está ubicada el salón.

Horario semanal del salón.

Imágenes del salón.

Ubicación del salón dentro del campus universitario.

Recursos de infraestructura con los que cuenta el salón y el edificio.

Indicadores de eficiencia del uso del salón y del edificio en relación con el número de horas que se

utiliza el salón a la semana.

Indicador de eficiencia en el uso del salón y del edificio para cada uno de los días de la semana.

30

Capítulo 4

Generador de programacion

Uno de los componentes centrales del SIPA es el modulo generador de programación, como se describió

anteriormente el objetivo de este componente es generar automáticamente una solución de la

programación académica del semestre, la solución por supuesto tiene que ser válida y debe durar el menor

tiempo posible y debe ser consistente con los lineamientos propuestos.

4.1 La elección del método

El problema en cuestión ha atraído la atención de cientos de investigadores en los últimos 30 años, existen

cientos si no miles de aproximaciones al problema, la elección del método de solución no es una tarea fácil,

la mayoría de los investigadores coinciden en no tener conceso hasta el momento a la hora de responder

a las preguntas: ¿Cual es mejor método de solución? o ¿Cual método es mejor que otro?, en general los

artículos publicados (26; 10; 13; 3; 8; 15; 4; 18), basan su elección, en preferencias del autor, mejor

adaptación al contexto universitario, o por tendencias predominantes en el momento.

En los últimos años, el problema de la programación de horarios en universidades ha sido resuelto usando

meta-heurísticas procedimientos que han demostrado ser muy útiles en otros problemas relacionados y

métodos secuenciales. (26) y (27) usaron Recocido Simulado, (2) aplicaron algoritmos de programación

lineal, (29; 30; 31; 32; 33) utilizaron Búsqueda Tabú. Los problemas propuestos por (33; 29) se asemejan

mucho a nuestro problema y considerando que ellos tuvieron éxito implementando el algoritmo en

problemas del mundo real, búsqueda Tabú fue el algoritmo seleccionado para el prototipo propuesto en

esta tesis. Es importante notar que búsqueda Tabú es una de las meta-heurísticas más populares por su

éxito en cuanto a implementaciones prácticas en el mundo real se refiere.

4.2 El algoritmo

El algoritmo que se describirá a continuación usa como principal método de optimización, el algoritmo

estándar de búsqueda tabú (34), con algunas modificaciones. En la figura 4.2-1 se observa diagrama de

flujo del algoritmo.

2016 Universidad Nacional de Colombia, Sede Bogotá

31

Figure 4.2-1: Diagrama de flujo del algoritmo

El proceso iterativo se dividió en dos fases, a continuación, se describen las fases que componen el

algoritmo:

a) Fase 1: Construir una solución inicial

En esta fase los cursos no asignados son divididos en bloques, bloques que son asignados a pares

binarios de espacio-temporales (periodos de tiempo-salón de clase). El proceso de asignación se

hace utilizando un algoritmo voraz. Ya que el numero combinaciones disponibles de periodos de

tiempo, salones de clase y cursos para todas las asignaturas es muy grande es proceso se dividió

en dos fases:

1) Fase 1.1: Cursos no asignados se dividen en bloques y son asignados a periodos de tiempo

1) Cada curso 𝐶𝑖 está compuesto por un número 𝑛 de bloques horarios que se puede

representar como 𝐶𝑖 = {𝐵𝑖1, 𝐵𝑖2, … . }

2) Con cada curso dividido en bloques 𝐵𝑖𝑗 , obtenemos una lista de bloques horarios

a ser asignada, esta asignación puede ser de diferentes formas de manera que

obtenemos una lista de asignación de periodos 𝐿𝑖𝑗 .

3) Seleccione un curso 𝐴𝑖− el cual tenga el menor número de formas de asignación

de periodos.

2016 Universidad Nacional de Colombia, Sede Bogotá

32

4) De todas las listas 𝐿𝑖𝑗 del curso 𝐶𝑖− , seleccione una forma de asignación del

periodo 𝑙𝑖𝑗𝑘 que influencia otros cursos lo menos posible. Es decir, que si el curso

𝐶𝑖 es dividido en bloques 𝐵𝑖𝑗 y es asignado a una forma de asignación del periodo

𝑙𝑖𝑗𝑘, el decremento del número total de formas de asignación del periodo del curso

𝐶𝑖 es el más pequeño.

5) Asigne el curso 𝐴𝑖− a la forma de asignación del periodo 𝐵𝑖𝑗 . Si todas las listas 𝐿𝑖𝑗

del curso 𝐴𝑖− están vacías, la forma de asignación de los bloques 𝐵𝑖𝑗 se realiza

aleatoriamente.

6) Actualice la información, remueva el curso 𝐴𝑖− y todas sus listas de asignación.

7) Si no quedan cursos por considerar continúe a la Fase 1.2, de lo contrario regrese

al primer paso de esta fase.

2) Fase 1.2: Cursos no asignados son asignados a salones

En esta etapa, los salones son asignados a los cursos usando el algoritmo voraz. El proceso

de asignación de salones es muy similar al proceso de asignación a periodos de tiempo de

la Fase 1.1

1) Para cada curso 𝐶𝑖, existe una lista de formas de asignación de salones, 𝑆𝑖.

2) Seleccione el curso 𝐶𝑖− el cuál tiene el número más pequeño de formas de

asignación de salones.

3) Selecciones la forma de asignación de salones 𝑠𝑖𝑗 de la lista 𝑆𝑖 del curso 𝐶𝑖 que

menos influencia tenga sobre otros cursos. Esto significa que si el curso 𝐶𝑖 es

asignado usando la forma de asignación 𝑠𝑖𝑗, la reducción en el número total de

formas de asignación de salones que cursos con cursos con solapamiento en el

tiempo con el 𝐶𝑖 sea el menor.

4) Asigne el curso 𝐶𝑖− a los salones de la forma de asignación del salón 𝑆𝑖.

5) Actualice la información de otros cursos

6) SI todos los cursos están asignados en salones continúe a la Fase 2, de lo contrario

regrese al primer paso de esta fase.

b) Fase 2: Aplicar el algoritmo de búsqueda Tabu para mejorar la solución inicial

En esta fase se aplica el algoritmo de búsqueda Tabu partiendo de la solución inicial configurada

en la fase 1, la principal clase de movimientos usados son movimientos individuales, sin embargo,

otro tipo de movimiento es usado cuando un numero consecutivo de movimientos improductivos

(un movimiento improductivo es un movimiento que no cambie la mejor solución encontrada)

suceda. A continuación, se describen los tipos de movimientos disponibles:

Movimiento Individual: Un movimiento individual requiere cuatro componentes: un curso

𝐶𝑖 , un bloque horario 𝑏 a mover del curso 𝐶𝑖 , un nuevo bloque de tiempo 𝑡 donde se

moverá 𝐵𝑖𝑗 cuando el movimiento sea concluido, y un nuevo salón 𝑠 . Es importante

destacar que solo se están considerando 𝐹𝑀.𝑖𝑛𝑑𝑖𝑣𝑖𝑑𝑢𝑎𝑙(𝑔𝑝𝑟𝑒) un subconjunto de los

vecindarios 𝑉𝑀.𝑖𝑛𝑑𝑖𝑣𝑖𝑑𝑢𝑎𝑙(𝑔𝑝𝑟𝑒𝑠) de la solución actual 𝑔𝑝𝑟𝑒𝑠 , para obtener

𝐹𝑀.𝑖𝑛𝑑𝑖𝑣𝑖𝑑𝑢𝑎𝑙(𝑔𝑝𝑟𝑒) se deben seguir los siguientes pasos:

1) Por cada bloque 𝐵𝑖𝑗 de cada curso 𝐶𝑖, revise todos los bloques de tiempo 𝑡 donde

el bloque 𝐵𝑖𝑗 pueda moverse sin violar las restricciones duras.

2016 Universidad Nacional de Colombia, Sede Bogotá

33

2) Seleccione un salón 𝑠 que esté disponible para el periodo de tiempo 𝑡 y sea lo

suficientemente espacioso para contener a todos los estudiantes del curso 𝐶𝑖, si el

salón 𝑠 existe, aplique el movimiento (𝐶𝑖 , 𝑏, 𝑡, 𝑠 ), solo si este movimiento no es

Tabu.

3) Inserte este movimiento en 𝐹𝑀.𝑖𝑛𝑑𝑖𝑣𝑖𝑑𝑢𝑎𝑙(𝑔𝑝𝑟𝑒)

Intercambio: en algunos casos un movimiento individual no mejora la actual solución y el

proceso de búsqueda se ve estancado, en esos casos un movimiento intercambio puede

ayudar a superar el inconveniente. Un movimiento de intercambio requiere 5

componentes: dos cursos 𝐶𝑖 y 𝐶𝑗 , dos bloques horarios 𝑏𝑖 y 𝑏𝑗 (el tamaño de 𝑏𝑖 debe ser

mayor o igual que el de 𝑏𝑗) y un número entero de forma de intercambio 𝑚. Si el tamaño

de 𝑏𝑖 es igual a el tamaño de 𝑏𝑗 , el valor de la forma de intercambio es siempre 1 (𝑚 = 1),

de lo contrario el valor de la forma intercambio está en un rango de 1 a 4 (𝑚 = [1,4]). Si 𝑡𝑖

y 𝑡𝑗 son los actuales bloques de tiempo de 𝑏𝑖 y 𝑏𝑗 respectivamente y 𝑡𝑖∗ , 𝑡𝑗

∗ los nuevos

bloques de tiempo luego de intercambio, los nuevos bloques de intercambio para cada

valor de intercambio, así:

𝑚 = 1 → 𝑡𝑖∗ = 𝑡𝑗 ; 𝑡𝑗

∗ = 𝑡𝑖

𝑚 = 2 → 𝑡𝑖∗ = 𝑡𝑗 − 1 ; 𝑡𝑗

∗ = 𝑡𝑖

𝑚 = 3 → 𝑡𝑖∗ = 𝑡𝑗 − 1 ; 𝑡𝑗

∗ = 𝑡𝑖 + 1

𝑚 = 4 → 𝑡𝑖∗ = 𝑡𝑗 ; 𝑡𝑗

∗ = 𝑡𝑖

Cuando el movimiento de intercambio es realizado, los movimientos individuales no son

considerados.

1) Lista Tabu

Se definió una lista Tabu para los movimientos individuales que contiene tres componentes: a

curso 𝐶𝑖 , un bloque horario 𝑏𝑖 y un viejo bloque de tiempo 𝑡𝑖 asignado a 𝑡𝑖 . Cuando un

movimiento es aplicado a la solución actual. Esta información es añadida a la lista Tabu y

existirá allí, por un numero 𝑇𝑛 de iteraciones. Un movimiento es tabú su curso, su bloque

horario y su nuevo periodo de tiempo están en la lista Tabu. Cada iteración, 𝑇𝑛 es calculado

aleatoriamente seleccionado en un rango de [0.25𝑇𝑏, 0.5𝑇𝑏] donde 𝑇𝑏 es la raíz cuadrada del

número de cursos.

2) Criterio de aspiración

El criterio de aspiración es el mismo usado en la mayoría de los artículos. Una solución vecina

𝑔𝑣 satisface el criterio de aspiración si y solo si 𝑓(𝑔𝑣) < 𝑓(𝑔𝑚𝑒𝑗𝑜𝑟). Siendo 𝑔𝑚𝑒𝑗𝑜𝑟 es la mejor

solución encontrada.

3) Criterio de parada

El proceso de búsqueda termina cuando suceda alguno de los siguientes casos:

Se supere el número máximo de iteraciones, configurado en 5000.

2016 Universidad Nacional de Colombia, Sede Bogotá

34

La mejor solución encontrada satisfaga todas las restricciones.

Se supere el número máximo de movimientos improductivos, configurado en 800.

4.2.1. Resultados experimentales

El algoritmo se implementado en Java. El computador usado para la prueba fue un equipo portátil ASUS

modelo N551, el cual cuenta con las siguientes especificaciones: Core i7 2.60GHz, 16GB de RAM y sistema

operativo Windows 10. Para propósitos experimentales se utilizó el conjunto de datos propuesto por (35),

donde se incluyen los siguientes conjuntos de datos de prueba:

Nombre Universidad Año

sta-f-83 St. Andrews High school 1983

ear-f-83 Earl Haig Collegiate 1983

lse-f-91 London School of Economics 1991

tre-s-92 Trent University 1992

ute-s-92 University of Toronto, Engineering 1992

yor-s-92 York Mills Collegiate 1992

hec-s-92 Ecole des Hautes Etudes Commerciales 1992

car-f-92 Carleton University 1992

kfu-s-93 King Fahd University 1993

Tabla 4.2-1: Descripción de los datos de prueba

Los siguientes resultados fueron obtenidos, para diferentes valores de TT. Los mejores resultados en cada

caso están resaltados en negrilla, como se puede observar el valor de TT que mejor se adapta al algoritmo

es TT5, sin embargo, TT4 ha obtenido el mejor resultado para lse-f-91, mientras que TT3 obtiene el

mejor resultado para ear-f-83, ute-s-92, yor-s-92:

Fuente TT2 (s) TT3 (s) TT4 (s) TT5 (s)

sta-f-83 159.234 160.448 159.558 158.658

ear-f-83 41.170 36.999 38.729 38.574

lse-f-91 20.072 24.643 19.441 21.914

tre-s-92 9.694 10.315 12.661 12.044

ute-s-92 29.547 28.891 30.902 29.538

yor-s-92 46.173 39.898 45.243 42.994

hec-s-92 14.378 13.836 12.544 11.298

car-f-92 40.827 44.018 44.322 38.580

Tabla 4.2-2: Duración del algoritmo para diferentes valores de TT

Los resultados obtenidos dan pie a ser comparados con trabajos hechos por otros investigadores, a pesar

que el objetivo de esta tesis no es obtener el algoritmo más eficiente de la literatura, sino tener un

algoritmo lo suficiente mente bueno para reducir el tiempo necesario para realizar la programación de

Facultad de Ingeniería de la Universidad Nacional de Colombia, vale la pena ver que tan bueno es el

algoritmo implementado en este trabajo con respecto al estado del arte en el tema. Para esto se recolecto

resultados de dos de los algoritmos más eficientes en términos de tiempo que se pueden encontrar en la

literatura. Los aportes que se analizaron fueron los aportes de T. Stuzle, 2002 (36) y Di Gaspero 2002.

2016 Universidad Nacional de Colombia, Sede Bogotá

35

Fuente Autor T. Stuzle Di Gaspero

sta-f-83 158.658 158.100 157.400

ear-f-83 38.574 40.500 39.400

lse-f-91 21.914 13.200 12.600

tre-s-92 12.044 9.300 -

ute-s-92 29.538 27.800 -

yor-s-92 42.994 38.900 39.700

hec-s-92 11.298 10.800 10.900

car-f-92 38.580 - -

Tabla 4.2-3: Comparación del algoritmo con el estado del arte

Como se observa en la tabla anterior los resultados obtenidos son competitivos con los resultados que

otros autores ha logrado, sin embargo, hay que tener en cuenta que los ambientes computacionales en los

que cada autor ejecuto las pruebas no son equivalentes.

36

Capítulo 5

Conclusiones

En esta tesis se examinó el problema programación de horarios para instituciones universitarias. Se inició

con una discusión en la terminología y el tamaño del área de investigación. Se hizo una detallada

descripción de los términos relacionados para evitar confusiones. Se presentó una visión general de la

totalidad de la literatura. Se realizó un recuento histórico detallado de la literatura existente. Se

resumieron los principales algoritmos de solución que han resistido la prueba del tiempo. El uso de las

técnicas de solución importantes de la literatura se clasificó, esto con el fin de tener una visión global del

problema que permitiera generar un punto de vista personal para abordar el problema propuesta en este

trabajo.

Con base en la información recolectada durante este trabajo se logró caracterizar de los recursos humanos,

físicos y curriculares de la facultad de ingeniería de la Universidad Nacional de Colombia, sede Bogotá y se

hizo un análisis sobre el estado actual de proceso de programación para el periodo 2015-II.

A partir de esta revisión del estado del arte se presentó la propuesta de un sistema de información para

optimizar el proceso de generación de horarios en la facultad de ingeniería de la Universidad Nacional de

Colombia. Se habló sobre el estado de implementación del sistema y las proyecciones, se puso de relieve,

la idea que el sistema no sólo sirve a la actividad de investigación, sino también para mejorar funciones

administrativas transaccionales en el mundo real. Una evaluación inicial por un número de partes

interesadas, aunque necesariamente se llevó a cabo de una manera puramente exploratoria arrojo una

opinión positiva.

Se implementó un prototipo inicial del módulo de generación de programación basado en búsqueda Tabu,

que dio buenos resultados en términos de tiempos comparados con otras implementaciones similares, sin

embargo, es necesario continuar la investigación sobre formas mejorar el prototipo para considerar

ciertas limitaciones que se encuentran en problemas prácticos.

Se requiere un conjunto más completo de métricas para facilitar más plenamente la comparación objetiva

de las implementaciones alternativas. Teniendo en cuenta la revisión de la literatura presentada en el

capítulo 2, la ausencia de puntos de referencia ha sido un defecto importante en el esfuerzo de

2016 Universidad Nacional de Colombia, Sede Bogotá

37

investigación acumulada. El objetivo de cualquier prueba futura, sería la de proporcionar un medio

objetivo por el cual se pueden hacer comparaciones con diferentes implementaciones. una prueba de este

tipo requeriría una base de datos realista, disponible a través de un medio apropiado como la Web. La

prueba requiere que el conjunto de datos que se pueda descargar y utilizar libremente por cualquier

implementación. Un archivo de leerme tendría que estar preparado para describir las limitaciones que

existen como la información en la base de datos. Las implementaciones tienen que generar su solución

óptima dentro de los marcos de tiempo de un minuto, una hora y un día de tiempo de procesamiento. Esto

permitiría demostrar su eficacia mediante la generación de soluciones de alta calidad en cortos, medianos

y largos períodos de tiempo. También es importante destacar que los ambientes de prueba deben ser

iguales para poder hacer una comparación directa de los resultados.

Por su propia naturaleza, la elección del conjunto de datos de prueba es discutible. Una razón apropiada

debería ser presentada para la selección de tablas que se utilizan para hacer la prueba del algoritmo.

La implementación completa el SIPA, su puesta en producción, posterior análisis y comparación con otros

sistemas similares, es sin duda una tarea que queda pendiente para trabajos futuros.

Se sugiere que futuros esfuerzos de investigación profundicen en los enfoques híbridos, CSP y generadores

de soluciones estocásticos.

Un trabajo futuro muy interesante seria poder establecer un función objetivo dinámica que pueda ser

manipulada por los usuarios finales del sistema de información, de forma que se pudieran satisfacer los

requisitos institucionales individuales, de forma una sola implementación podría ser utilizada en múltiples

instituciones.

38

Bibliografía

1. La Educación Superior en Colombia: Situación Actual y Análisis de Eficiencia. Banco de la Repuclica de

Colombia. 2014, pp. 10-24.

2. Akif, B., Cihan, A. Integer Programming Approach to a University Timetabling Problem. Hacettepe

Journal of Mathematics and Statistics. 2008, pp. Vol 37, pp. 41 -45.

3. Birbas., S. Daskalaki and T. Efficient solutions for a university timetabling. European Journal of

Operational Research. 2005, pp. 106-120.

4. Carter, M. W. , Laporte G. Recent developments in practical examination. 2012, pp. pp. 3–21.

5. Guid, D. Strnad and N. A multi-agent system for university timetabling. Applied Artificial Intelligence.

pp. 137-153.

6. E. Burke, B. McCollum, A. Meisels, S. Petrovic, and R. Qu. A graphbased hyper-heuristic for educational

timetabling problems. 2007, pp. 177–192.

7. Katja, S., Stefan H. Application of a real-world university-course timetabling model solved by integer .

2007, pp. Vol. 29, pp. 783-803.

8. P. Pongcharoen, W. Promtet, P. Yenradee, and C. Hicks. Stochastic optimisation timetabling tool for

university course scheduling. . International Journal of Production Economics. 2008, pp. 903-918.

9. N. Boland, B. Hughes, L. Merlot, and P. Stuckey. New integer linear programming approaches for course

timetabling. Computers and Operations. 2008, pp. 209–233.

10. Using Integer Programming to solve the School Timetabling Problem at Chin-Min Institute of

Technology. Journal of American Academy of Business. 2008, pp. Vol.13, pp. 279-286.

11. Werra, Dominique. The combinatorics of timetabling. European Journal of Operational Research.

1998, pp. pp. 151–162.

12. Werra, Dominique de. An introduction to timetabling. European Journal of Operational Research.

1997, pp. 151-162.

13. Lu, Zhipeng and Hao, Jin-Kao. Adaptive abu Search for course timetabling. European Journal of

Operational Research. 2010, pp. 235 - 244.

14. Schaerf, A. Local search techniques for high-school timetabling problems. IEEE Transactions on

Systems. 1999, Vol. 29, 4, pp. 368-377.

2016 Universidad Nacional de Colombia, Sede Bogotá

39

15. Desing and implement of course scheduling system using Tabu Search. European Journal of

Operational Research. 2002, Vol. 137, 3, pp. 512–523.

16. Leung, Joseph. Handbook of Scheduling: Algorithms, Models, and Performance Analysis. New York : s.n.,

2004.

17. Scheduling, timetabling and rostering-a special relationship? A, Wren. 1996.

18. Examination timetables and tabu search with longer-term memory,. B.S. Xie, G.M. White. 2001, pp. 85-

103.

19. The Hungarian method for the assignment problem. HW, Kuhn. 1955.

20. The conference scheduling problem. Haynes JG. s.l. : Operations research society of America 16th

annual meeting Pasadena California., 1959.

21. Techniques for producing school timetables on a computer and their application to other scheduling

problems. Appleby, J. S. , Blake, D. V. , Newman, E. A. s.l. : The computer journal., 1961.

22. Lewis, Rhydian. A survey of metaheuristics-based techniques for university timetabling. OR Spectrum.

2008, Vol. 30, 1, pp. 167-190.

23. The construction of class-teacher timetables. C, Gotlieb. 1963.

24. The preparation of school timetables by Electronic Computer BIT. Berghuis, Van De Heiden. 1964.

25. Investigations on a Time-Table Problem. Ph. D. thesis. Csima. 1965.

26. Human Capital: A Theoretical and Empirical Analysis. Becker. 1964.

27. The application of digital computer to the construction of timetables. Baraclough. 1965.

28. An integer linear programming model of a school timetabling problem. Lawrie. 1969.

29. Graphentheorie in Plunungs- und Tourenproblemen. Junginger. 1972.

30. Timetable construction -- an annotated bibliography. Schmidt, Strohlein. 1973.

31. An Introduction to Timetabling. Werra, De. 1985.

32. Carter, M. W. A survey of practical applications of examination timetabling algorithms. Operations

Research. 1986, Vol. 34, pp. 192-202.

33. Fast practical evolutionary timetabling Evolutionary Computing. Corne, Ross. 1994.

34. Constructing School Timetables Using Simulated Annealing: Sequential and Parallel Algorithms.

Abramson. 1991.

35. The solution of real instances of the timetabling problem. Cooper, Kingston. 1993.

36. A computer aided constraint programming system. Tsang, Mills,Williams, Ford. 1999.

2016 Universidad Nacional de Colombia, Sede Bogotá

40

37. Genetic Algorithms and Fuzzy Logic Systems. Soft Computing Perspectives. Sanchez, Shibata, Zadeh.

1997.

38. Practical Handbook of Genetic Algorithms: Applications. Chambers. 1995.

39. On Simulated Thermodynamics. In: Applied Simulated Annealing. Rodrigues, Anjo. 1993.

40. Tabu Search. Glover, Laguna. 1997.

41. Consistency techniques for numeric CSPs. Lhomme. 1993.

42. Burke, Edmund Kieran and Petrovic, Sanja. Recent research directions in automated timetabling.

European Journal of Operational Research. 2002, Vol. 140, 2, pp. 266-280.

43. Building university timetables using constraint logic programming. Gueret, Jussien. 1996.

44. Course and teacher scheduling in Hellenic high schools. Birbas, Daskalaki, Housos. 1997.

45. Partial Constraint Satisfaction. Freuder. 1994.

46. University timetabling by constraint-based reasoning: a case study. Deris, Omatu, Ohta. 1997.

47. Genetic Algorithms. Buckles, Petry. 1992.

48. An evolutionary approach to constraintbased. Sharma, Chandra. 1999.

49. Tabu Search, United of America. F. Glover, M. Laguna. 1997.

50. A Tabu-Based Memetic Approach for Examination Timetabling Problems. Salwani Abdullah, Hamza

Turabieh. 2009.

51. Tabu search for large scale timetabling problems. A, Hertz. 1991, pp. 39-47.

52. Oficina Nacional de Planeacion. Evolución de algunos indicadores de la Facultad de Ingeniería. 2013.

19.

53. Duarte, Oscar. Un modelo del tránsito de los estudiantes a través del plan de estudios. Bogota : s.n.,

2013.

54. Dirección Nacional de Personal. Estadísticas Docentes Universidad Nacional de Colombia. 2014.

55. Grupo SEPRO. Lineamientos para la programacion Academica. Bogota : s.n., 2015.

56. Sistemas de Informacion y la Organizacion, Ventajas o desventajas competitivas? Rafael Andreu, Joan E.

Ricart,Josep Valor. 1991.

57. Whitten, Barlow. J. Bentley. Análisis y diseño de sistemas de información. 1996.

58. Model management and solvers for decision support. T.P. Liang, C.C. Lee, and E. Turban. 2008, Vol. 1,

pp. 231-258.

59. Comparison of metaheuristic algorithms for examination timetabling problem. Azimi, Zahra Naji. 204.

2016 Universidad Nacional de Colombia, Sede Bogotá

41

60. Multi-objective university examination scheduling. Thompson J., Dowsland K. 2005.

61. Timetabling university examinations. D., Johnson. 2000.

62. Exam scheduling by Tabu Search. D., Clark. 1998.

63. Using Tabu search with multi-neighborhood structures to solve University Course Timetable UKM case

study (faculty of engineering). Hassan Younis Al, Masri Ayob. 2011.

64. Automating a Real-World University Timetabling Problem with Tabu Search Algorithm. Nguyen, Khang.

2015.

65. Examination Timetabling: Algorithmic Strategies and Applications. Michael W. Carter, Gilbert Laporte,

Sau Yan Lee. 3, 1996, Vol. 47, pp. 373 - 383.

66. Empirical analysis of tabu search for the lexicographic optimization of the examination timetabling

problem. T. Stuzle, L. Paquete. 2002, pp. 404-407.

67. Zhang., G. White and J. Generating complete university timetables by combining tabu search with

constraint logic. 209.

68. White, G. M. ,Chain P. W. Towards the construction of optimal examination. 2005, pp. pp. 219–229.

69. Beyrouthy, Camille, et al. University space planning and space type profiles. Journal of Scheduling.

2010, Vol. 13, 1, pp. 363–374.

70. Burke, Edmund K. and Marecek, Jakub. A branch and cut procedure for the udine course timetabling

problem. Annals of Operations Research. 2012, Vol. 194, pp. 71-87.

71. A comparison of the performance of different metaheuristics on the timetabling problem. Olivia Rossi-

Doria, Michael Sampels, Mauro Birattari, Marco Chiarandini,Marco Dorigo. 2002, Vol. 2740, pp. 329-351.

72. The School Time Table. C, Lewis. s.l. : Cambridge University Press., 1961.

73. Recent research directions in automated timetabling. Burke, Petrovic. 2002.