ARTÍCULO ORIGINAL
Doi: 10.17230/ingciencia.12.23.3
Modelo lineal para la programación de clases en una institución educativa
A Mathematical Programming Model for High School Timetabling Problem
Juan Camilo Marín Ángel1 y Pablo Andrés Maya Duque 2
1 Universidad de Antioquia, Medellín, Colombia, juan.marin@udea.edu.co
2 Universidad de Antioquia, Medellín, Colombia, pablo.maya@udea.edu.co
Recepción: 15-08-2015 | Aceptación: 15-11-2015 | En línea: 15-02-2016
MSC:90C90
Resumen
El presente trabajo presenta un modelo de programación matemática que permite la obtención de un horario académico en instituciones de educación primaria y secundaria de diferente tamaño, cantidades de grupos y materias, considerando restricciones que frecuentemente debe enfrentar quien esta encargado del proceso de planeación. El objetivo del modelo propuesto se diferencia de aquellos encontrados en la literatura referida a este tema, ya que propende la creación de horarios maximizando la cantidad de bloques por materias, es decir asignaciones de dos horas seguidas de la misma clase, lo que favorece el proceso de aprendizaje, beneficia la agenda de los profesores al disminuir tiempos ociosos entre clases, y favorece los costos y acuerdos contractuales con la institución. El modelo es aplicado al caso particular de una institución educativa obteniendo resultados que mejoran considerablemente la calidad de la programación de clases respecto a la que actualmente está en uso. Adicionalmente, se desarrollan experimentos computacionales con instancias de mayor tamaño para validar el comportamiento del modelo, obteniendo resultados promisorios.
Palabras clave: programación entera; problema de asignación de horarios; complejidad computacional.
Abstract
This paper presents a mathematical programing model that supports the design of timetables of classes in primary and secondary educational institutions, allowing the decision maker to take into account the constraints and variables that are commonly associated to this problem. Our model differs from most of those in the literature as the objective function aims at maximizing the number of blocks, two consecutive hours of lecture devoted to the same subject, which favors the learning process, optimizes teachers' agendas by reducing idle times and reduces cost and contractual difficulties. The model is validated using a real instance of a middle size institution for which the current timetable is considerably improved. Additionally, computational experiments with larger instances were carried on in order to test the capacity of the model for which promising results were obtained.
Key words: integer programming; timetabling problem; computational complexity.
1 Introducción
La organización de horarios es un proceso que se realiza en diferentes organizaciones entre las cuales están los hospitales, centros de transporte, colegios, entre otros [1]. Este proceso de configuración y optimización del recurso docente debe realizarse periódicamente en las instituciones según la rotación en el personal, la demanda, o políticas empresariales, por lo cual es un problema conocido al interior de las empresas. No obstante, el tratamiento matemático y la complejidad de este problema lo ubica, para la mayoría de autores, entre aquellos de mayor complejidad en la programación entera NP [2]. Es por ello que la mayoría de las instituciones optan por resolver la situación asignando los horarios de forma manual, y asumiendo el costo de las distribuciones no eficientes con las cuales trabajan; o en su lugar, elaborando una nueva distribución de horarios cuya base es la distribución establecida en el periodo inmediatamente anterior, y realizando en ésta la menor cantidad de modificaciones posibles hasta cumplir las nuevas restricciones. Esta última metodología mencionada es ampliamente utilizada por las instituciones educativas colombianas tales como las universidades [3] y los colegios. En particular, para las instituciones educativas de primaria y secundaria, el problema de asignación de horarios podría resumirse de forma sencilla como la asignación de cada clase a ciertos grupos y espacios, durante algunos intervalos de tiempo, de modo que ninguna clase o grupo se vean involucrados en más de un evento simultáneamente o en un evento ya asignado [4].
Esta situación es la base de la problemática resuelta en el presente trabajo. Para exponer el trabajo realizado, se explicará el caso de estudio dando cuenta de sus particularidades y condiciones necesarias para la comprensión del problema a tratar, posteriormente se describe el modelo matemático propuesto y se ilustra el procedimiento para la generación de las instancias usadas en la validación del modelo. Se presentan después los resultados computacionales al ejecutar el modelo matemático sobre las instancias generadas, y por último se señalan conclusiones y futuras líneas de investigación identificadas a partir de los resultados obtenidos.
2 Descripción del caso de estudio
En este artículo se describe el caso particular de la programación de clases en una institución educativa, la cual por motivos de confidencialidad se denominará en lo subsiguiente como EDUCA. Con el fin de describir el problema de estudio, se definen los conceptos involucrados en el desarrollo de la programación. Los estudiantes se encuentran clasificados por grados entendidos éstos cómo el nivel o grado escolar en la escala establecida por el sistema educativo Colombiano, en este caso los grados van desde sexto hasta once. En cada grado es posible tener múltiples grupos, entendiéndose como grupo un conjunto de estudiantes que cursan el mismo grado y para los cuales las materias enseñadas y sus respectivos requisitos serán los mismos. Así por ejemplo, dependiendo de la demanda es posible tener dos o tres grupos del grado sexto.
Se entiende por materia aquella área del conocimiento que estará a cargo de un docente y que se debe dictar a los alumnos de ciertos grupos a lo largo de cada año escolar, según los lineamientos del Ministerio de educación o de EDUCA. De esta forma, en los casos en los cuales la misma materia sea dictada por diferentes profesores, asignados a distintos grupos, se crearán para esa asignatura tantas materias como profesores la dicten, y dado que cada profesor está asignado a ciertos grupos de forma exclusiva, se cumplirá que en los grupos donde un docente no dicte la materia a su cargo, los requerimientos de esa materia serán iguales a cero; de la misma forma, en los grupos donde un docente imparta su clase, se tendrán requerimientos distintos de cero para esa materia. De manera específica, si el área de español está a cargo de dos profesores, en el modelo se asume que hay dos materias español, diferenciando cada una según los grupos a los cuales sea dictada, y los requerimientos de cada materia español serán distintos de cero únicamente para aquellos grupos donde sea asignada.
A partir de estas ideas, se considera que en el modelo no hay distinción entre los elementos profesor y materia, y toda la modelación se basa en el establecimiento o cumplimiento de las condiciones para cada materia, las cuales se relacionan directamente con su respectivo profesor.
Para el caso estudiado, se hace necesario asignar el horario de materias que corresponde a cada uno de seis grupos de estudiantes, los cuales corresponden en este caso a un grupo por grado de escolaridad básica - media. La metodología utilizada tradicionalmente por el ente encargado se basa en el ensayo manual y aleatorio de diferentes configuraciones que permitan cumplir con los requisitos mínimos del plantel. Por ello, la realización de tal procedimiento es demandante en tiempo y los resultados obtenidos no siempre cumplen con las condiciones ideales para alumnos y docentes.
Conociendo la problemática planteada, en este trabajo se presenta un modelo matemático que asigna las materias a los grupos en las horas más adecuadas para la institución al tiempo que se satisfagan todas las restricciones asociadas a las políticas de la institución y las particularidades de los docentes obteniendo la mejor programación posible en un tiempo mucho menor. De acuerdo con esto, se desea asignar el horario para cada una de las materias en los diferentes grupos que forman la institución.
En EDUCA se dictan las clases de lunes a viernes distribuyendo la jornada en siete horas académicas equivalentes en duración para todos los grupos, y distribuidas a lo largo de la jornada de la misma manera, facilitando que todos los grupos tengan clases de forma simultánea, al igual que los periodos de descanso o de cambio de materia. En total, se dictan veintitrés materias y cada una de ellas debe dictarse una cantidad exacta de horas por grupo, conforme a los lineamientos del Ministerio de educación de Colombia y a las políticas de la institución educativa. Lo anterior hace que el cumplimiento del tipo de materia y sus horas por grupo sean de carácter obligatorio.
Por otro lado, para mejorar la distribución de las horas y la dinámica del aprendizaje, la institución ha determinado que ninguna materia debe ser dictada en el mismo grupo más de dos horas diarias, y que la programación más adecuada para el horario semanal es aquella que contenga la mayor cantidad de bloques posibles, y que cumpla simultáneamente con todos los requisitos establecidos para las materias y docentes. Se considera como un bloque la asignación de dos horas consecutivas de la misma materia en el mismo grupo. Por otro lado, EDUCA es una institución con planta docente pequeña y como consecuencia, es común que un profesor dicte varias materias distintas, lo cual implica que esas materias no puedan ser asignadas en la misma hora académica en ningún grupo. Así mismo, cada docente tiene ciertas horas y días de disponibilidad de acuerdo a sus condiciones de contratación, por lo cual es necesario asignar a cada uno de los profesores las materias respectivas en sus horarios laborales para garantizar la presencia del profesor en la institución. La Tabla 1 muestra un ejemplo de cómo estaría constituida una programación factible de clases para el día lunes.
La configuración horaria que se muestra en la Tabla 1 representa un horario real usado por la institución EDUCA. Si bien es claro que es una distribución funcional, se pueden identificar en ella algunas falencias que deberían ser corregidas. En primer lugar, se evidencian ocasiones en las cuales un grupo recibe la misma clase dos veces en el mismo día, pero las horas de tales clases están separas hasta por cinco horas académicas; es el caso de la materia matemáticas en sexto los días lunes, o de español en once los días viernes. Estos espacios entre materias disminuyen la eficiencia de cada clase y perturba la dinámica de aprendizaje de los alumnos al mezclar materias con poca relación en un mismo día de clases. Ligado a este hecho, se encuentra otro aspecto poco deseable evidenciado en la materia de español para once los días martes. Ese día en particular, el docente de esa asignatura la dictará en la primera hora académica y deberá esperar hasta la sexta hora para volverlo hacer, pero en el tiempo medio de las clases el docente no tiene otros grupos asignados, por lo cual se forma un tiempo muerto que debe ser pagado por la institución si el docente permanece allí.
Por otro lado, e igualmente importante, es el hecho de que algunos días los alumnos de un grupo pueden tener hasta seis materias distintas, véase sexto los días martes, lo que es incómodo para los estudiantes por la poca continuidad de cada asignatura y la disminución en la retentiva, dada la mezcla de temas distintos entre materias durante el mismo día. Finalmente, el horario mostrado en la Tabla 1 ha sido realizado manualmente por un equipo de dos y tres individuos durante la semana previa al ingreso de estudiantes, y fue cambiado durante las siguientes dos semanas para reparar los conflictos existentes.
Estos hechos revelan las falencias más importantes del sistema actual utilizado por EDUCA en la organización de horarios, dan cuenta de los problemas que pretende resolver el modelo propuesto, y son representativos de la realidad en la organización de horarios de las instituciones educativas de primaria y secundaria en Colombia. A continuación se realiza la revisión de la literatura que evalúa qué herramientas se han aplicado a estos u otros problemas, y con ello presente, se explica el modelo propuesto en este proyecto.
3 Revisión de la literatura
El conjunto de problemas de programación horaria, conocidos también en habla hispana como calendarización, se caracterizan por la necesidad de asignar ciertos recursos a determinados bloques de tiempo, considerando el cumplimiento de algunos requisitos. Este conjunto de problemas hacen parte de la rama conocida globalmente como Timetabling y es bien sabido que este problema varía significativamente según el país en el que sea aplicado, pero que en general es difícil de resolver [5]. La solución a este tipo de situaciones se ha buscado desde diferentes puntos de vista desde hace varias décadas, y como parte inicial de la comprensión de estos problemas se han establecido distintas definiciones que dan cuenta de sus principales características. Según Lu y Hao, el Timetabling es 'asignar un número de eventos, cada uno con ciertas características, a un número limitado de recursos sujeto a restricciones' [6]; así mismo se define el Timetabling como un caso particular de 'la asignación, sujeta a restricciones, de un grupo de recursos a objetos ubicados en tiempo [...] de tal forma que satisfagan un conjunto de objetivos deseados' [1]. Estas definiciones generales permiten entender que la organización de horarios se aplica a una gran cantidad de contextos que abarcan la educación, la industria, el deporte, la salud, entre otros, y por tanto el interés en encontrar la mejor forma de hacerlo sobrepasa los fines académicos de las ciencias. Además, en este tipo de problemas es común encontrar restricciones de obligatorio cumplimento, así como condiciones que pueden ser quebrantadas sin que la solución pierda factibilidad ni validez [7]; a estas restricciones se les conoce como duras y blandas respectivamente.
En particular, se han establecido diferentes modelos según el caso de estudio, por ejemplo, la asignación de rutas de los conductores de bus, trenes o aviones, así como sus horarios de salidas y llegadas [8]. Por otro lado se han elaborado modelos aplicados a la programación de horarios de trabajo y descanso para enfermeras en el área de la salud, considerando restricciones con prohibiciones de tiempos o cantidad de horas laboradas; y en lo referido a la educación se han establecido modelos que buscan la optimización en la asignación de clases, salones o exámenes bajo algún criterio de interés particular para la institución donde se aplique el modelo propuesto. El Timetabling educativo se ha estudiado en gran medida para las universidades, pero siguen existiendo gran cantidad de variables y sub contextos que hacen de éste un espacio para la investigación [1]. Por ello, las investigaciones recientes han generado gran cantidad de alternativas de solución entre las que se rescatan metodologías meta heurísticas y aproximaciones que usan Teoría de grafos, Búsqueda Tabú, Algoritmos genéticos, Simulated Annealing [9],[10] u otras aproximaciones para mejorar las soluciones obtenidas en cada problema de Timetabling. Entre estas alternativas, se encuentra la heurística Adaptative Large Neighborhood Search (ALNS), la cual fue desarrollada para resolver el problema VRP en 2006, pero se ha modificado para su uso en la programación de proyectos, de ventanas de tiempo u otros [11].
Esta metodología ha evolucionado en los últimos años para generar mejores soluciones al problema del Timetabling; prueba de ello son trabajos realizados meses más tarde en Dinamarca, en los cuales se utilizó el sistema Lectio, un software Danés que es usado por el 95 % de las escuelas de este país para realizar la programación de sus horarios. El trabajo realizado con este software se basó nuevamente en la heurística ALNS, considerando problemas de Timetabling con franjas de cinco días a la semana, de cuatro a ocho horas diarias de clase. En las instancias utilizadas se tomaron elementos como estudiantes, profesores, clases, salones y horas de clase, por lo cual el objetivo era asignar entre sí todos estos elementos para cumplir con las restricciones establecidas. Además se introdujo un gran avance y novedad en la formulación de horarios al incluir el concepto de cadenas de eventos, las cuales se refieren a clases que se asignan en ventanas de tiempo particulares condicionadas desde antes de la solución del modelo. En cuanto a los objetivos del modelo, fue de particular interés maximizar los días libres para los profesores, maximizar las clases asignadas a cada salón, minimizar el número de salones que se asignan a una misma clase, entre otros [12]. Los avances logrados por Sørensen y Stidsen con esta metodología fueron significativos, aunque aún eran incapaces de resolver algunas instancias evaluadas.
Ahora bien, aunque debe reconocerse en las cadenas de eventos un gran avance en la formulación matemática que considera la agrupación de ciertas clases, es necesario tener en cuenta que estas consideraciones son adecuadas en el modelo de educación Danés, en el cual existen materias electivas que pueden ser modeladas como cadenas de eventos de varias materias en la misma ventana de tiempo, o secuencias de tres o cuatro horas de las mismas clases; sin embargo esta estructura educativa no es común en el modelo educativo Colombiano.
Continuando con la búsqueda de mejores métodos de solución, Kristiansen et al propusieron el uso de un método combinado Mixed Integer Programming (MIP) ante la notoria escasez de propuestas de métodos exactos y la abundancia de aproximaciones heurísticas que no permitían evaluar la optimalidad de las soluciones. Su propuesta resolvió muchas instancias permitiendo evaluar el óptimo global o en su defecto generar una solución factible en la mayoría de los casos. La estrategia de solución consideró el uso de la metodología Lexicográfica con programación multi-objetivo, estableciendo en ésta prioridades con algunas restricciones de tipo débil. El modelo usado consideraba tiempos, grupo de tiempos, recursos, eventos y sub-eventos, grupos de eventos y restricciones como elementos, y pretendía cumplir con la asignación de recursos según las necesidades de cada evento y disponibilidad de tiempos [5]. Este estudio dio paso a los métodos exactos como alternativas de solución a los problemas de Timetabling aplicados a la educación escolar básica y media, sin embargo reveló que aún había mucho camino por explorar.
Finalmente, uno de los trabajos más representativos en el área de interés, fue el trabajo de Kristiansen et al publicado en 2013 en el cual se soluciona un problema de Timetabling usando la programación entera. El problema analizado en esa ocasión es una caso particular de Timetabling conocido como Consultation Timetabling Problem, en el cual se asignan reuniones entre estudiantes y profesores según una de dos modalidades: reuniones/asesorías con profesores dos veces al año para evaluar el rendimiento de los alumnos, o asesorías en el último año de escolaridad para la ejecución de un proyecto de grado propio del modelo educativo Danés. Si bien este problema es parecido en su esencia al Timetabling clásico, las restricciones a considerar así como los conjuntos y función objetivo son muy diferentes, lo que marca grandes diferencias en la formulación matemática. Este problema es típico del modelo educativo Danés y, aunque es muy útil en ese país, no aplica para el modelo educativo Colombiano. El problema fue resuelto usando el sistema Lectio ya mencionado y los avances en MIP y ALNS que ellos plantearon en los estudios previos [13].
De esta forma, se evidencia que los avances más importantes en el marco del School Timetabling se llevaron a cabo enmarcados en el sistema educativo Danés dado el amplio desarrollo que se ha dado en este país para su planeación escolar. Los modelos evaluados con cada método han considerado como elementos fundamentales los cursos, alumnos, profesores, eventos entre otros, siendo la mayor innovación el planteamiento de cadenas de eventos que permite agrupar algunas clases en ventanas de tiempo determinadas; por lo cual se evidencia que faltan modelos con una cantidad reducida de elementos que permitan obtener la planeación de horarios bajo una estructura más sencilla. Por otro lado, ha sido evidente que la mayoría de las metodologías implementadas obedecen a métodos heurísticos que han sido satisfactorios en algunas instancias evaluadas, pero que siguen marcando la necesidad de buscar otras alternativas que ofrezcan mejores soluciones. Ante esta situación autores como Kristiansen se han planteado la necesidad de explorar el campo de los métodos exactos que faciliten evidencias de optimalidad o soluciones factibles útiles para las instituciones, sin embargo, tales avances no han sido evidentes hasta la fecha.
De este modo, se identifica la necesidad de explorar un método con pocos elementos, que permita asignar horarios en una institución de educación básica y media, favoreciendo una estructura matemática sencilla.
En lo relacionado con la función objetivo se requiere que genere nuevas ventajas a la formulación, y simplifique los elementos necesarios en el modelo matemático así como las condiciones establecidas en las restricciones; además se busca un modelo apto para ser aplicado en el sistema educativo colombiano. Esta carencia en el estudio del Timetabling es la que pretende ser resuelta en el presente trabajo.
4 Metodología
4.1 Descripción del modelo matemático
Con el fin de dar solución al problema de programación descrito, se propone un modelo de programación matemática. Para ello, se definen los conjuntos como el conjunto de días de clase, como las horas de clase en cada día, los grupos existentes en la institución y las materias que deben ser dictadas.
El parámetro Tlk representa la cantidad de horas obligatorias que se deben asignar de la materia l en el grupo k, y las matrices I e IH, denominadas Matriz de Incompatibilidades entre materias y Matriz de Incompatibilidades horarias respectivamente, contienen la información de las materias que son dictadas por el mismo profesor y que por eso no pueden ser asignadas simultáneamente, así como las horas a las cuales cada materia puede o no ser dictada, de acuerdo con las condiciones particulares del docente asociado a cada materia.
La decisión a tomar consiste en qué materia dictar en cierto grupo cada hora. Por ello se definen las siguientes variables de decisión
Definición de variables A y B
Nótese que es un marcador de bloque, de modo que si vale 1 entonces el día i a las horas j y (j+1) se asignará la materia l en el grupo k. Por su parte, A ij kl tomará el valor de 1 para cada materia l asignada en el día, hora, y grupo especificado.
Basados en todo lo anterior, el modelo que representa la situación problema está dado por:
La función objetivo 1 maximiza la cantidad de bloques que se puedan formar durante la semana. Las restricciones 2 a 4 permiten que se asigne una materia en cierta hora sin necesidad de que sea un bloque, pero asegura que si dos horas consecutivas en el mismo grupo tienen la misma materia entonces el marcador tome el valor de 1. Por otro lado, las expresiones 5 y 6 implican que la cantidad de horas asignadas de una materia en un grupo durante la semana sea igual a la cantidad exigida Tlk, y además, que cada materia no se dicte más de dos horas en el mismo grupo durante un día. Es necesario también que en cada instante de tiempo una materia se asigne a un único grupo, de la misma forma que a un grupo sólo se le debe asignar una única materia en cada momento, estas condiciones son expresadas en las restricciones 7 y 8. Sucede además, que algunas materias no pueden asignarse en el mismo instante aún si fuese en diferentes grupos ya que son dictadas por el mismo sujeto, lo cual se condiciona en la expresión 9, mientras que la restricción 10 asegura que las materias se asignen únicamente en las horas que no presenten incompatibilidad con la disponibilidad del docente encargado de dictar esa materia. Por último, la expresión 11 indica que el marcador de bloques para la hora 7 debe valer cero ya que por ser la última hora no puede tomar otro valor.
El modelo descrito se ha elaborado con restricciones y componentes matemáticos que lo hacen versátil para ser aplicado a instancias propias de instituciones educativas de educación básica y media. Para evidenciarlo, considérese en primer lugar la función objetivo. En este caso se están maximizando la cantidad total de bloques académicos para cada materia y grupo, lo cual es novedoso si se considera que los avances en este campo han buscado disminuir tiempos muertos, inconformidades con recursos u otros objetivos mencionados previamente, mas no se han elaborado objetivos que mejoren la eficiencia de las clases mediante la agrupación de materias en forma de bloques. Como se mencionó en la revisión bibliográfica, Sørensen et al propuso la agrupación de eventos para la asignación de materias electivas, lo cual podría compararse con la elaboración de bloques en el modelo lineal, no obstante las Cadenas de eventos de Sørensen no eran parte de la función objetivo y no son aplicables al contexto de la educación colombiana dado que aquellas fueron planteadas para la asignación de eventos o clases en el mismo intervalo de tiempo para el mismo grupo, algo que no es propio del modelo educativo estudiado. Además, la motivación para construir esta función radica en el hecho de que al maximizar la cantidad de bloques se crea una configuración que facilita la dinámica de enseñanza al permitir clases continuas en cada grupo; este beneficio implícito en una función objetivo de estructura tan sencilla no es característico de los estudios adelantados en este campo. Sumado a esto, otra ventaja única de la función objetivo descrita es que se disminuye en muchos casos los tiempos muertos que deben esperar los docentes entre una clase y otra, algo que afecta el cronograma de actividades de cada profesor de cátedra y los costos de la institución. Estos aspectos han sido considerados a partir de la dinámica real del sistema educativo colombiano, en el cual se deben considerar estos asuntos para la adecuada organización de los horarios escolares. En este sentido, el problema real que se aborda más adelante es representativo del modelo educativo colombiano e ilustra todas estas características. De esta forma, la búsqueda de la mayor cantidad de bloques posibles genera diferentes ventajas en la configuración global, sin necesidad de crear restricciones explícitas para cada aspecto mencionado
Por otro lado, las matrices de incompatibilidades I e IH permiten que ante los cambios en cantidades de grupos, profesores y restricciones de tiempos, el modelo siga siendo funcional y no requiera cambios en su estructura. Para ello debe considerarse que en este modelo no es necesaria la distinción entre profesor y materia, puesto que las restricciones asociadas a cada docente son asignadas, mediante las matrices I e IH, a las materias que éste imparte. De esta forma, las horas en las cuales un profesor no puede dictar clase serán interpretadas como las horas en las cuales las materias dictadas por él no podrán asignarse, y así mismo, las materias enseñadas por el mismo docente, tendrán entre sí indicadores de incompatibilidad que no les permiten ser dictadas simultáneamente. Como consecuencia, la variación en la cantidad de profesores no afectará la estructura del modelo, en su lugar requerirá la actualización de las matrices en cuestión de tal modo que se ingresen las restricciones necesarias a las materias correspondientes
Considérese entonces la situación en la que se organice el horario con algunos nuevos docentes. Cada docente tendrá asociado sus materias respectivas, así como las restricciones de horarios que cada uno considere. Para el modelo propuesto será necesario ingresar tan sólo 1 o 0 en cada matriz en las entradas correspondientes a las materias de cada profesor, sin necesidad de cambiar la estructura matemática. Estos valores numéricos darán cuenta de las horas en las cuales se podrán o no dictar las clases de cada materia de acuerdo con las condiciones del docente encargado, además indican si un docente tiene a su cargo varias materias impidiendo que éstas se asignen simultáneamente. Lo anterior se traduce en establecer restricciones de horas para los nuevos docentes y de simultaneidad para las materias dictadas por el mismo sujeto. Independientemente de la cantidad de profesores que haya en la institución, así como de sus condiciones, las matrices tendrán órdenes asociados con las materias y horas académicas, lo que permitirá ingresar allí la información mencionada sin necesidad de cambiar el modelo original.
Ahora bien, en los casos en los cuales la cantidad de grupos aumente, y por tanto lo hagan las materias dictadas en el colegio, será necesario establecer conjuntos de grupos con ciertas similitudes en las materias dictadas. La desagregación por grupos propuesta no sería adecuada si fuese necesario asignar aulas de clase a cada grupo según la materia que se vaya a dictar, ya que sería necesario considerar la ubicación de cada grupo para la asignación de los siguientes y evitar asignaciones múltiples en el mismo espacio y tiempo; sin embargo, para los casos de educación básica y media de los colegios, se cumple que cada grupo tiene asignado un espacio físico de clase independientemente de la materia a tomar, lo cual hace posible asignar materias a conjuntos de grupos, sin necesidad de tomar la totalidad de cada colegio. En estos casos, será necesario considerar que a los profesores que tengan clases en conjuntos de grupos diferentes, deberán ingresárseles restricciones en la matriz IH que establezcan la disponibilidad horaria para cada conjunto; no obstante este fenómeno se puede disminuir si los conjuntos formados son creados con grupos de grado de escolaridad similar, ya que es común que los profesores de cada área sean exclusivos de grados cercanos entre sí, en otras palabras, es muy probable que el profesor de la asignatura A en grupos de grados superiores no imparta clases en los grados inferiores y viceversa, por lo cual los conjuntos con grandes diferencias en sus grados de escolaridad serán usualmente independientes entre sí, facilitando la implementación del modelo en conjuntos de grupos para el mismo colegio.
La cantidad de grupos en cada conjunto no requiere un valor exacto e incluso puede diferir entre conjuntos, sin embargo en este caso se recomiendan conjuntos entre 6 y 40 grupos de grados similares de escolaridad. Más adelante, en la validación del modelo, se explicará la razón para tal recomendación. La desagregación mencionada de los grupos permitirá que a cada conjunto se le organice el horario con sus respectivas materias, respetando las restricciones que cada materia (profesor) haya considerado. De esta forma, el modelo propuesto es funcional para los casos en los cuales se tenga una gran cantidad de grupos y materias, lo que da más versatilidad al modelo y permite su aplicación en un gran número de instituciones educativas de primaria y secundaria. En estos casos además, no es relevante la cantidad de profesores ni sus condiciones, ya que ambas características son asignadas para las materias y absorbidas en las matrices I e IH respetando las condiciones que cada sujeto haya establecido.
4.2 Experimentos computacionales
Al evaluar los parámetros que determinan el modelo planteado, se observa que las restricciones más relevantes del problema están todas determinadas por la cantidad de materias y las restricciones de horarios asociadas a éstas. Para evidenciarlo, es necesario considerar que los profesores no pueden dictar una cantidad indeterminada de horas académicas, y que por ello es necesario contratar personal nuevo cuando el existente no pueda tomar alguna clase demandada. Como consecuencia, a medida que aumenten los grupos en la institución se incrementará la necesidad de clases por ser dictadas, pero ante los límites de contratación de los profesores, es necesario contratar más personal docente, lo que genera nuevas materias que van a suplir la demanda de cada grupo.
De esta forma, puede verse el producto Materias - Grupos como una medida de la cantidad de horas que el colegio debe brindar a sus alumnos, en otras palabras es la necesidad que el colegio debe suplir. Actualmente, EDUCA tiene 23 materias y 6 grupos, un grupo por cada grado de escolaridad; y teniendo en cuenta que algunos grupos tienen requerimientos de varias materias iguales a cero dado que éstas no son dictadas en ese grupo particular, se puede establecer que la institución debe suplir como máximo 138 solicitudes de materias para los grupos que tiene; sin embargo este valor cambia con cada grupo adicional que el colegio pueda tener, ya que cada grupo implicaría suplir la demanda de las materias a las que tiene derecho incrementando las solicitudes al colegio.
Para tener una idea de los límites reales a establecer en este aspecto se ha considerado el hecho de que los profesores de cátedra dictan máximo 30 horas académicas en una institución de educación básica y media, de modo que a cada profesor se le podría asignar un máximo de 30 grupos a su cargo. Por otro lado, dado que la secundaria está conformada por seis grados de escolaridad, y que mínimo podrían haber un grupo por grado, un colegio está conformado mínimo por seis grupos. De acuerdo con esto se establecen para este trabajo los casos en los cuales se tienen 6 grupos como cantidad mínima posible, 20 grupos como valor medio y 40 grupos como máxima cantidad de grupos por colegio. Estos tres valores permitirán generar programaciones a colegios de diferentes tamaños, como se verá más adelante.
Ahora bien, para establecer el número de materias que se necesitan de acuerdo a la cantidad de grupos se ha tomado por supuesto una relación lineal de proporcionalidad en el factor Materias/Grupos, cuyo valor de referencia es el correspondiente a las condiciones actuales del colegio EDUCA, en el cual la razón Materias/Grupos=3,83, indicando que habrán aproximadamente cuatro veces más materias que grupos en la institución y por tanto será necesario ajustar la cantidad de materias cada vez que aumenten los grupos. Este supuesto no representa necesariamente la realidad de todos los colegios de secundaria del país pues depende de condiciones presupuestales de cada institución, sin embargo brinda una herramienta que permite asignar materias de forma objetiva a cada situación posible, y de allí evaluar escenarios probables. Con este factor se calculó la cantidad de materias que deben tener cada institución de acuerdo a los grupos que albergue.
Por otro lado, los horarios académicos más comunes en la educación colombiana contemplan jornadas que van normalmente de 7 a 12 horas académicas, en los cuales el mayor porcentaje de clases se dicta en jornadas de máximo 10 horas académicas. Por ello se considerarán los casos donde se tienen 7, 9 y 10 horas diarias de clase, donde cada hora académica tiene una duración de 45 a 55 minutos, según lo establecido por la institución
Bajo estos supuestos, los valores de algunos de los parámetros a evaluar se resumen en la Tabla 2
Con esto definido, es necesario establecer la cantidad de horas que se dictarán en cada grupo por materia. Este factor determinará los requisitos a cumplir por el colegio en cada caso. Para ello, debe considerarse que a pesar de cumplir un núcleo común a las indicaciones del Ministerio de Educación Nacional de Colombia, cada colegio puede generar variaciones en las intensidades horarias dependiendo de la duración de las horas académicas y del enfoque de la institución, por ello se ha decidido aleatorizar tal asignación teniendo como mínimo semanal 0 horas por materia en cada grupo y un máximo 6. Estos valores se han tomado de acuerdo a las características más comunes de la intensidad horaria en la educación colombiana, y de forma tal que el total de horas semanales no sobrepasen las horas académicas totales por semana, según el caso particular.
Ahora se explicará la generación de las incompatibilidades entre cada materia y los horarios en los cuales pueden ser dictadas, esto es la matriz IH. Se ha observado en la institución EDUCA, que en la actualidad, cada materia tiene en promedio 13,8 incompatibilidades horarias establecidas como condición a respetar en el colegio, es decir esa es la cantidad de horas en las cuales no se puede dictar una materia a lo largo de la semana; de acuerdo a ésta relación, y asumiéndola como representativa de los casos reales, será necesario elaborar para cada instancia un conjunto de incompatibilidades que asigne a cada materia las horas en las cuales podrá ser o no dictada, de acuerdo a la relación existente en EDUCA. Sin embargo, debido a que esas condiciones dependen de los docentes de cada institución, será necesario generar tales horas de manera aleatoria. A lo anterior, se añade el hecho de que algunos profesores dictan a lo sumo dos materias en la misma institución, por lo cual, en la matriz I algunas materias asociadas al mismo docente tendrán una incompatibilidad entre sí, y debido a esto dichas materias tendrán las mismas restricciones horarias en la matriz IH por estar asociadas al mismo docente.
La Tabla 3 resume la cantidad de condiciones a tener en cuenta para cada caso de interés:
5 Resultados
A continuación se muestran los resultados obtenidos con el modelo propuesto para el caso de estudio y las instancias elaboradas. Una vez construidas las instancias explicadas anteriormente y evaluadas las condiciones reales y simuladas, se aplicó el modelo propuesto para establecer la mejor configuración posible según el contexto de cada uno. Los resultados obtenidos se muestran en la Tabla 4.
El modelo se resolvió mediante el entorno MOSEL como lenguaje de modelación y programación, y cada instancia se resolvió en el Software FICO Xpress 7.8. De acuerdo con las variables modificadas para la creación de cada escenario, la Tabla 4 muestra la cantidad de grupos y las horas académicas de cada escenario, además se muestran los valores de la cota superior para la mejor solución posible reportada por el optimizador y los valores FO indican la cantidad de bloques presentes con la mejor configuración obtenida en cada escenario; también se muestran el GAP respectivo en cada solución y el tiempo que tomó llegar a ella. Por último, los valores de cada variable arrojados por el optimizador utilizado fueron procesados en el Software Microsoft Excel 2010, en el cual se utilizaron Macros para transformar los valores binarios de cada variable en los Días, Grupo, Hora y Materia correspondiente, obteniendo el horario final de cada una de las instancias.
5.1 Caso aplicado
El caso que actualmente enfrenta EDUCA se caracteriza por la necesidad de programar las materias de cada uno de seis grupos en cinco días escolares, distribuidos cada uno en siete horas académicas, de tal modo que la programación cumpla con los requisitos establecidos por la planta docente y la institución. La solución que actualmente está en práctica es construida de forma manual, y se basa principalmente en las configuraciones de los horarios de años pasados, como consecuencia, algunos profesores deben acomodarse a esta configuración y eso les genera incompatibilidades entre los horarios de la institución y el de sus otros compromisos, o pasan en el colegio más tiempo del que les solicita el contrato; además se observan secciones de la programación aplicada que deberían ser mejoradas por su efecto negativo en los profesores o en los alumnos, tales como pérdidas de tiempo o dificultades en la atención y cumplimiento de las clases.
Ahora bien, la solución obtenida por el modelo propuesto cumple todos los requerimientos establecidos, e incluso aquellos adicionados durante la implementación del modelo, y que no habían sido tenidos en cuenta antes por EDUCA. En particular con las condiciones existentes al momento de la implementación, se obtuvo una solución que permite programar las materias para cada grupo logrando 80 bloques, y cumpliendo todas las condiciones establecidas por los agentes involucrados, lo cual representa un mejora del 100 % dado que la cantidad de bloques establecidos en la configuración anterior era de 40. Además se ha observado un efecto positivo en la eficiencia de los tiempos de clase, y en la percepción de los docentes ante la nueva programación horaria. Las medidas sobre estos últimos beneficios han sido cualitativas y no se reportan indicadores numéricos en el presente trabajo. Ahora bien, se observa en la programación obtenida para EDUCA que no se ha alcanzado el valor óptimo a pesar de ser uno de los casos con mayor tiempo de solución. Este hecho tiene sentido pues en este escenario hay sólo siete horas académicas y por ello la ventana de tiempo es muy estrecha, dificultando la búsqueda de soluciones factibles y haciendo más difícil el hallazgo de la configuración óptima. En cuanto a la funcionalidad y aplicabilidad del modelo, se considera el hecho de que la programación de horarios se realiza una vez al año durante los días previos al inicio de las actividades educativas; para ello se disponen de entre 5 y 15 días para realizar la programación de las clases, la cual, además, no interrumpe otras actividades de planeación y preparación en la institución. Así pues, al observar los tiempos de solución obtenidos, se puede notar que éstos son aptos para la aplicación en la jornada laboral educativa y no están en ordenes de magnitud que dificulten la ejecución del modelo para resolver los problemas de asignación de horarios durante las jornadas de preparación convencionales.
5.2 Pruebas de instancias y límites del modelo
En lo que se refiere a las otras configuraciones de materias y grupos, en la Tabla 4, presentada anteriormente, se muestra los resultados obtenidos para las instancias de 7, 20 y 40 grupos con 7, 9 y 10 horas cada una, en las cuales el modelo elaborado obtuvo configuraciones que presentaban la máxima cantidad de bloques posibles, lo cual se evidencia con el valor de GAP obtenido del 0 %. Además, es importante tener en cuenta que los tiempos de solución son bastante cortos al estar en el orden de los 5 a 6 minutos, facilitando la solución de cualquier instancia similar y reconfigurando las programaciones de clase sin forzar a largas esperas en el colegio donde se aplique. Por otro lado, la instancia de 20 grupos es de gran importancia debido a que la implementación del modelo en otros colegios se llevaría a cabo con instancias similares a ésta. Sería incluso posible elaborar horarios en colegios con cantidades de grupos incluso mayores ya que para ello se formarían conjuntos de 20 grupos o valores cercanos que tengan materias y grado de escolaridad común, con ellos se implementaría el modelo. Este proceso, descrito en la 4.1, permitiría elaborar los horarios de todos los grupos, independientemente del grado de escolaridad y de la cantidad total de alumnos que haya en el colegio. Los escenarios elaborados con 40 grupos tienen espacios solución de mayor tamaño, y la programación de horarios en casos similares, es un reto de mayor complejidad si se hace manualmente. Los resultados acá obtenidos, son prometedores en el sentido de que generan programaciones con gran cantidad de bloques y en los casos de 9 y 10 horas académicas, se acercan bastante al valor óptimo. Así pues, sabiendo que es poco práctico para un colegio realizar planeaciones de tantos grupos de forma manual dada la complejidad que implica, se observa que el modelo propuesto es capaz de resolver escenarios de tal tamaño en tiempos aceptables y además, se logran cantidades de bloques muy altas en comparación con las obtenidas de forma manual. Finalmente, se debe tener en cuenta que con un docente de cátedra se hace la contratación en términos de tiempo, por ello las instituciones deben enfrentar otro criterio de orden en los horarios según el cual un docente debe tener la menor cantidad de espacios vacíos entre sus clases el mismo día, de forma que su permanencia en la institución sea más eficiente. Cuando esto no se cumple, los docentes solicitan a la institución el pago de las horas en las cuales ellos tienen que permanecer en la institución, ya que con esa obligación no pueden hacer otras actividades. Esta condición podría implementarse como una restricción débil en el modelo actual que oriente la búsqueda hacia soluciones con una cantidad baja de horas no asignadas entre las materias de un mismo docente; sin embargo, aunque el modelo propuesto no establece tal restricción originalmente, se ha encontrado que las configuraciones obtenidas disminuyen esas brechas entre las clases de un mismo docente, y que en el caso aplicado a EDUCA, los docentes han aceptado la distribución resultante pues les permite tener más dominio del tiempo y sus actividades personales. Así pues, ese resultado secundario da valor agregado al modelo lineal y brinda otra ventaja en su implementación. En cuanto al tiempo computacional, la mayoría de los escenarios se ha resuelto en menos de una hora, y sólo un par de casos se acercan a las 6 horas de solución. Este aspecto permite utilizar el modelo propuesto durante el año o en cualquier ocasión que fuese necesario debido a cambios de docentes o de condiciones horarias, sin detener el funcionamiento de la institución.
6 Conclusiones
Se ha elaborado un modelo lineal general que permite realizar configuraciones de horarios académicos, maximizando la cantidad de bloques totales. Este modelo tiene estructura versátil y puede ser aplicado a problemas de naturaleza similar a la expuesta en este trabajo, y de diferente o igual tamaño. Además, las distintas soluciones encontradas, se han alcanzado en escalas de tiempo muy pequeñas de acuerdo a la naturaleza del problema, por lo cual el modelo lineal es aplicable a la dinámica de planeación horaria en colegios antes y durante el año académico, facilitando la organización de las clases.
La matriz de incompatibilidad entre materias es un factor fundamental en el modelo dado que es el conjunto de restricciones que más influye en la factibilidad de las soluciones, por lo cual los datos allí ingresados deben verificarse en cada caso, de manera que permitan la creación de configuraciones factibles. Para ello se debe verificar que las horas disponibles de cierto docente sean mayores o iguales a la cantidad de horas que debe dictar. Este proceso se hace al momento de ingresar los datos y no se ha puesto en el modelo por razones de practicidad y eficiencia.
Ante los casos en los que la cantidad de grupos o materias sea muy grande se ha sugerido la división de esa totalidad en conjuntos de grupos con grado de escolaridad similar. El tamaño de estos conjuntos puede variar entre sí, no obstante por practicidad en el manejo de datos, se recomiendan valores cercanos a 20 grupos por conjunto. Esta estrategia permite que el modelo sea aplicado a colegios en los cuales hayan más de 40 grupos, sin perder efectividad en los resultados obtenidos.
La unificación de los elementos profesores y materias propone una gran ayuda en la modelación y es novedad en los estudios relacionados con el tema. Esta estrategia aporta a la robustez del modelo, a la versatilidad en el tratamiento de restricciones horarias o entre materias.
La función objetivo busca maximizar los bloques de las materias del horario, no obstante se han encontrado ventajas implícitas a ésta tales como la disminución de tiempos muertos entre clases para un mismo docente, el potencial incremento en la eficiencia de las clases por una mejor configuración, y el mejoramiento en la calidad de estudio de los alumnos propiciado por la disminución en los cambios de clases con temas poco relacionados.
Las instancias en las que es más difícil la asignación son las correspondientes a 6 horas académicas; a partir de allí, se ha evidenciado que el modelo es mucho más eficiente. A pesar de ello, en cualquiera de los casos evaluados, los tiempos de solución son adecuados para que el modelo sea implementado en la realidad, dada la dinámica de la asignación de horarios en los colegios.
Al momento de mejorar los resultados obtenidos en las instancias evaluadas, se ha considerado el uso de técnicas meta heurísticas que exploren más ramificaciones posibles del problema y mejorar las soluciones de estos escenarios, no obstante este esfuerzo computacional sería muy alto para ganar pocos bloques o unidades en la función objetivo, por lo cual se considera que las soluciones obtenidas satisfacen las necesidades del problema y son aplicables a sus respectivos casos.
Agradecimientos
Los autores agradecen al grupo de investigación INCAS de la Universidad de Antioquia por el continuo apoyo durante el desarrollo de este trabajo y los conocimientos que aportaron en su realización. Así mismo se agradece a la institución educativa, identificada en este artículo como EDUCA, en la cual se realizó el trabajo aplicado, por toda la información brindada y la confianza puesta en los autores. Las sugerencias de aquellos que conocieron el proyecto y brindaron su aporte, también son apreciadas y valoradas
Referencias
[1] M. G. C. y Erwin Pardo Quiroga y Roberto Salas Ruiz, ''Problema del school timetabling y algoritmos genéticos: una revisión,'' Vínculos, vol. 10, no. 2, pp. 259–276, 2014. [Online]. Available: http://revistas.udistrital.edu.co/ojs/index.php/vinculos/article/view/6478 48, 53, 54
[2] G. M. Bejarano Nicho, ''Planificación de horarios del personal de cirugía de un hospital del estado aplicando algoritmos genéticos (time tabling problem),'' Pontificia Universidad Católica del Perú, Lima, Tech. Rep., 2010. 48
[3] P. A. Maya Duque, V. Gutiérrez Gutiérrez, K. J. Pinto Bohorquez, J. I. Arango Rúa, and T. Rúa, ''Diseño y validación de un modelo matemático de apoyo a la toma de decisiones en el proceso de asignación de aulas,'' Universidad de Antioquia, Medellín, Tech. Rep., 2008. 49
[4] G. H. Fonseca and H. G. Santos, ''Variable neighborhood search based algorithms for high school timetabling,'' Computers & Operations Research, vol. 52, Part B, pp. 203 – 208, 2014, recent advances in Variable neighborhood search. [Online]. Available: http://dx.doi.org/10.1016/j.cor.2013.11.012 49
[5] S. Kristiansen, M. Sørensen, and T. R. Stidsen, ''Integer programming for the generalized high school timetabling problem,'' Journal of Scheduling, vol. 18, no. 4, pp. 377–392, 2014. [Online]. Available: http://dx.doi.org/10.1007/s10951-014-0405-x 53, 55
[6] Z. Lü and J.-K. Hao, ''Adaptive tabu search for course timetabling,'' European Journal of Operational Research, vol. 200, no. 1, pp. 235 – 244, 2010. [Online]. Available: http://dx.doi.org/10.1016/j.ejor.2008.12.007 53
[7] I. V. Katsaragakis, I. X. Tassopoulos, and G. N. Beligiannis, ''A comparative study of modern heuristics on the school timetabling problem,'' Algorithms, vol. 8, no. 3, pp. 723–742, 2015. [Online]. Available: http://dx.doi.org/10.3390/a8030723 53
[8] R. Leone, P. Festa, and E. Marchitto, ''A bus driver scheduling problem: a new mathematical model and a grasp approximate solution,'' Journal of Heuristics, vol. 17, no. 4, pp. 441–466, 2010. [Online]. Available: http://dx.doi.org/10.1007/s10732-010-9141-3 53
[9] E. Burke and M. Carter, Practice and Theory of Automated Timetabling II: Second International Conference, PATAT'97, Toronto, Canada, August 20 - 22, 1997, Selected Papers, ser. Lecture Notes in Computer Science. Springer, 1998, no. 2. [Online]. Available: https://books.google.com.co/books?id=IONmzsoRTQUC 54
[10] M. Sørensen, S. Kristiansen, and T. R. Stidsen, ''International timetabling competition 2011: An adaptive large neighborhood search algorithm,'' in 9th International Conference on the Practice and Theory of Automated Timetabling (PATAT 2012), 2012, pp. 489–492. 54
[11] M. Sørensen, S. Kristiansen, and T. R. Stidsen, ''International timetabling competition 2011: An adaptive large neighborhood search algorithm,'' Technical University of Denmark, Denmark, Tech. Rep., 2012. 54
[12] M. Sørensen and T. Stidsen, High School Timetabling: Modeling and solving a large number of cases in Denmark. Proceedings of the Ninth International Conference on the Practice and Theory of Automated Timetabling (PATAT 2012), 2012, pp. 359–364. 54
[13] S. Kristiansen, M. Sørensen, M. B. Herold, and T. R. Stidsen, ''The consultation timetabling problem at danish high schools,'' Journal of Heuristics, vol. 19, no. 3, pp. 465–495, 2013. [Online]. Available: http://dx.doi.org/10.1007/s10732-013-9219-9 55