Horarios óptimos para la enseñanza

Un horario más adecuado desde un punto de vista pedagógico puede mejorar la calidad de la enseñanza. Ciertamente, un buen horario podrá incrementar el rendimiento de los alumnos, conseguir un mayor aprovechamiento de las aulas, y en todo caso aumentar la satisfacción del profesorado desarrollando su trabajo.  Sin embargo, los criterios que se utilicen para elaborar los horarios no siempre son evidentes y, ni mucho menos, estos se podrán aplicar por encima de las necesidades organizativas que existan en cada centro.

En los centros educativos habitualmente se intentan establecer unos u otros criterios para elaborar los horarios, adoptando normas que sirvan para alcanzar determinados objetivos. Pero en la práctica estas normas se aplicarán solamente dentro de lo posible. Es decir, se procuran observar a la vez que racionalmente se compaginan con las necesidades organizativas. Por ejemplo, una consideración pedagógica podría ser que la educación física se imparta a la última hora de la mañana, pero si solo hay un profesor para esta asignatura evidentemente esto no será posible. Evitar que todas las sesiones semanales de una misma asignatura coincidan a las primeras o las últimas horas o después del recreo, también se verán condicionadas por la disponibilidad del profesorado.

Otros criterios no colisionan de forma tan clara con limitaciones organizativas, pero sin duda, se verán condicionados. Las directrices pedagógicas atribuibles al horario del profesorado como equilibrar su carga lectiva o evitar demasiadas sesiones lectivas seguidas, puede chocar con el criterio de procurar un horario lo más compacto posible. Es decir, los criterios atribuibles al horario del profesorado no solo se deberán balancear entre sí, sino que deberán hacerlo también con el resto de las preferencias y dentro de las limitaciones organizativas que existan. Igualmente, debe tenerse en cuenta que un uso idóneo de las aulas desde el punto de vista pedagógico, se deberá acomodar a su disponibilidad real.

Es necesaria una reflexión para discernir qué criterios se aplican en cada centro de enseñanza y con qué prioridad. Pero una vez que se sabe lo que se busca y en qué medida, lo realmente significativo es encontrarlo en la práctica. Es decir, encontrar soluciones que satisfagan un compromiso óptimo; aquellas que cumpliendo los requisitos académicos y organizativos observen en todo lo posible las pautas y las preferencias establecidas. Entonces, la cuestión realmente es: ¿Existe una herramienta que permita modelar el peso de determinados criterios con el fin de que se ajusten de forma flexible y óptima a la organización académica?

La respuesta es sí, existe una herramienta ideada con este fin y muy eficaz en su utilidad práctica. Con el generador de horarios para centros de enseñanza no solo es posible modelar distintos criterios otorgándoles un peso, sino que también se pueden ajustar las distintas preferencias de forma particular sobre los elementos que conforman el horario. Los mejores resultados se conseguirán aportando flexibilidad a las condiciones de orden estricto. Las soluciones que ofrece el motor de horarios son óptimas. Podemos afirmar que GHC no solo ofrece con gran eficacia las necesarias soluciones académicas y organizativas, sino que además estas observarán en lo posible las pautas y preferencias establecidas en cada centro de enseñanza.

Cómo recopilar la información para generar su horario

La elaboración de horarios es una tarea que involucra a un gran número de personas, desde el jefe de estudios, a los jefes de departamento y resto de profesores del centro. Diversa información ha de ser recopilada: las asignaturas que impartirá cada docente a cada grupo de alumnos, las horas en que puede o prefiere impartir su carga docente, o el aula donde se desea desarrollar la misma.

En tiempos de pandemia covid-19 las herramientas online evitan la celebración de reuniones presenciales, facilitando su organización, a la vez que favorecen el distanciamiento social y la prevención de contagios. Por ello, encontrar una herramienta que permita recopilar de forma online toda la información necesaria para la obtención de unos horarios válidos y óptimos es de vital importancia. Pero, ¿cuáles son las principales funcionalidades que deben cubrir estas herramientas?

  • Permitir dividir el trabajo en departamentos. La inserción de estos datos se debe poder realizar online y en paralelo, dotando así de independencia a cada departamento, y agilizando la recapitulación de toda la información.
  • Definir el profesor que impartirá cada materia. Cada centro tiene unos criterios para decidir la asignación de los docentes a cada materia y curso. El software elegido debe permitir asociar a cada profesor las sesiones que impartirá cumpliendo dichos criterios.
  • Recoger la disponibilidad horaria de cada profesor. Un profesor puede tener reducción de jornada, que impartir docencia en otro centro, o preferir tener libre una parte de su horario. Poder definir los tramos en que está disponible y las preferencias Captar todas estas restricciones y preferencias es crucial para obtener un buen horario.
  • Recabar otras preferencias sobre el profesorado. Poder recoger las preferencias del profesorado permitirá conocer sus necesidades, y así obtener un buen horario que las satisfaga. Saber qué profesores quieren ser tutores o realizar guardias y de que tipo, aumentará la satisfacción el personal docente con el horario.
  • Indicar detalles sobre las sesiones. Realizar online este proceso no debe lastrar la calidad del mismo. Por ello, indicar el aula donde se debe o se prefiere impartir una sesión, o sugerir la distribución semanal de las horas de clase de cada asignatura es necesario durante la inserción de datos.

El módulo Captadesideratas de Peñalara, no sólo cubre todas estas funcionalidades, sino que va más allá. Si se desea, permite a cada jefe de departamento ocuparse de la creación de las sesiones lectivas de su departamento, para liberar de este cometido al jefe de estudios, y agilizar y repartir el trabajo entre más personas. Además, este módulo web está totalmente integrado con GHC, tanto para publicar el horario y que los jefes de departamento trabajen con ello, como para recoger después los datos que estos han introducido. Gracias a ello, podremos conseguir mejores horarios y ahorrar tiempo.

Puede encontrar información sobre ello en estos vídeotutoriales, o acudir al a web de Peñalara para ver más información, o apuntarse a cualquiera de las demos que realizamos semanalmente.

Los criterios pedagógicos en los horarios

Cada centro de enseñanza puede establecer pautas que sirvan de guía para realizar sus horarios. No siempre se expresan formalmente, pero es frecuente que exista algún documento en el que se describen las directivas que deban seguirse, de acuerdo con los objetivos del centro. En otros casos será la dirección o la jefatura de estudios quienes los establezcan durante su elaboración.

Algunos de estos criterios acerca de las sesiones lectivas podrían ser:

  • Evitar que todas las sesiones semanales de una determinada asignatura coincidan:
    • A las primeras horas, a las últimas o después del recreo.
    • En días consecutivos.
    • A la misma hora del día.
  • Evitar cambios de aula a los alumnos o los profesores, o seguir determinadas preferencias para la asignación de aulas, talleres, gimnasios, etc.
  • Procurar que determinadas asignaturas se impartan a las primeras horas o, por el contrario, que otras sean más adecuadas para impartirse a las últimas. Es decir, establecer qué asignaturas se impartirán en determinadas franjas horarias.
  • Evitar que una asignatura acabe un día a última hora y empiece al día siguiente a primera hora.

Otros criterios pedagógicos atribuibles al horario del profesorado serían:

  • Equilibrar la carga lectiva o la ocupación diaria.
  • Evitar más de un determinado número de horas de clase seguidas, la ocupación antes o después de las guardias de recreo, etc. con el fin de disponer de intervalos de descanso.
  • Procurar que los horarios al profesorado sean compactos, etc.

Tanto si existen estas directivas formalizadas como si no existen, se hace necesario reflexionar sobre su necesidad y el peso que se las otorgue en cada centro en particular. Una vez que sabemos lo que buscamos y en qué medida, deberíamos ser capaces de encontrar, en la práctica, un horario que satisfaga un compromiso óptimo, que cumpliendo los requisitos académicos observe en lo posible los criterios pedagógicos.

La cuestión por lo tanto es, ¿pueden modelarse los criterios pedagógicos que se busquen con el fin de que se ajusten de forma óptima al horario académico necesario, en la medida de los posible?

La respuesta es que sí. Con GHC cada centro de enseñanza podrá modelar sus propios criterios pedagógicos, otorgándoles un peso y ajustando preferencias flexibles sobre los distintos elementos que conforman el horario. Las soluciones que aportará el motor de GHC resultarán ser una solución óptima según los criterios y preferencias que se establezcan en cada caso.

Para conseguir los mejores resultados es necesario procurar suficiente flexibilidad en las posibles soluciones. Si se prodigan condiciones estrictas, estas pueden dificultar la observación de los criterios al optimizar el resultado. Por ejemplo, si un criterio pedagógico determina que unos grupos de alumnos deben cursar preferiblemente Educación Física a última hora de la jornada, pero por otra parte, o bien el gimnasio o los profesores que la imparten tienen esas horas prohibidas en el programa, el criterio pedagógico resultará imposible de satisfacer.

Por este motivo, se hace necesario en primer lugar, determinar las condiciones estrictas que se impondrán a las soluciones. Como premisa podemos indicar que no se deben imponer más condiciones estrictas que aquellas que resulten realmente justificadas, so pena de restringir la necesaria flexibilidad para observar los criterios pedagógicos. Es importante permitir que el proceso de optimización pueda conseguir la mejor solución.

Resumiendo, podemos afirmar que GHC observará los criterios pedagógicos que en cada centro de enseñanza se ponderen y lo hará de forma óptima, aprovechando la flexibilidad que exista en las soluciones. Para encontrar los mejores horarios es preferible aprovechar esta capacidad, evitando imponer más condiciones estrictas que aquellas que sean realmente necesarias.

Integración con otras aplicaciones

El intercambio de datos entre distintas aplicaciones informáticas puede parecer algo relativamente sencillo que se consigue sin más, pero esto en general, no es cierto. En primer lugar los programas usan identificativos que normalmente no son compatibles. Por ejemplo, usando el DNI como clave para identificar a personas, podríamos establecer una correspondencia entre sus datos en las distintas aplicaciones. Pero si las claves no son las mismas, por ejemplo, si cada aplicación genera sus propios códigos como ocurre con frecuencia, la correspondencia se hace imposible sin un arduo y prolijo trabajo manual. Otro motivo evidente es que las relaciones entre los datos y sus estructuras internas también son propias de cada aplicación.

Para integrar los datos entre distintas aplicaciones se hace necesaria la existencia de interfaces bien diseñadas y documentadas, a través de las cuales se puedan exponer los datos y  comunicarse los programas. No hay otro modo. Pero esta condición, si bien es necesaria, no es suficiente. Además de una interfaz, debe ser posible establecer una correspondencia entre los códigos que se usen en una y otra aplicación para identificar sus elementos de información.

Si ponemos por caso una aplicación que realiza una petición de servicio a otra, la primera debe facilitar sus claves para que luego pueda interpretar el resultado una vez resuelto. Es decir, si una aplicación pide que se le resuelva una tarea, a través de la interfaz común debe aportar, además de la información propia de la petición, las claves necesarias para entender el resultado que reciba. Concretándolo más con un ejemplo, supongamos una aplicación que solicita a otra un servicio para resolver un horario académico. En este caso el horario resuelto debería expresarse usando claves para que la aplicación que lo pide lo reconozca. De este modo podrá identificar en la solución a los profesores, materias, etc. El acuerdo de formatos y de claves entre las dos aplicaciones debe ser preciso para que funcione y ambas partes deben de colaborar necesariamente en ello.

Existen algunas aplicaciones que exponen sus propias interfaces de intercambio sin que sean del todo operativas, con deficiencias de diseño que impiden que la carga del resultado pueda recibirse correctamente. Se hace por lo tanto necesaria la implementación de interfaces abiertas bien definidas y documentadas para la comunicación entre aplicaciones. De hecho existen organismos de estandarización que las establecen. En su defecto se podrían adoptar como estándares las interfaces abiertas asociadas a productos consolidados que se publiquen con este fin.

Peñalara Software ha hecho público el formato interno de almacenamiento de GHC para usarlo como interface de intercambio. El formato XML-GHC es completo. Todo aquello que se configura con el planificador, así como los resultados que genera GHC, puede expresarse con este modelo.

Además, junto al desarrollo de un nuevo motor de horarios que esperamos ofrecer próximamente como servicio remoto, disponemos de interfaces abiertas JSON que podrán consultarse a través del repositorio público GitHub y que están asociadas a librerías de desarrollo también disponibles, en este caso, en Apache Maven. Con este proyecto intentamos ofrecer servicios para la generación los horarios al ecosistema de aplicaciones de gestión académica, y así facilitar en última instancia el trabajo a los usuarios.

¿Es posible determinar la existencia de condiciones que impidan los resultados?

Podemos afirmar felizmente que disponemos de un motor capaz de encontrar de forma eficaz los horarios más exigentes. Pero como saben ustedes, para optimizar los horarios primero es necesario encontrar resultados completos. Desgraciadamente, al trabajar con la planificación del horario habrán experimentado que se introducen condiciones imposibles de cumplir. Ahora quizá la cuestión más controvertida en la utilización del generador de horarios sea cómo determinar, de forma previa al uso del motor, si hay condiciones imposibles. ¿Se puede saber qué condiciones impiden los horarios completos?

El motor es el componente que en última instancia debe encontrar la solución por lo que no siempre es posible saber a priori si existen condiciones imposibles de satisfacer. Y esto es estrictamente cierto; hay condiciones imposibles de cumplir que son muy difíciles de analizar. Sin embargo, sí es posible determinar muchas de las condiciones imposibles; casi todas las que se introducen inadvertidamente impidiendo los resultados completos. 

El motor de GHC encaja resultados muy rápidamente. Esto es un hecho. Si el motor no encuentra resultados de forma rápida y se obstina en dejar sin encajar alguna sesión en repetidos intentos, la mayor parte de las veces es debido a que hay alguna condición que lo impide y que se debe depurar. Otras veces, al motor le cuesta un poco más de tiempo y esfuerzo encontrar una solución completa si éstas son más singulares. ¿Debemos esperar? Y si sospechamos que existen alguna condición imposible, ¿cuál es?

Disponemos de dos procesos que nos pueden ayudar a comprobar de forma previa al uso del motor si existen condiciones imposibles de cumplir: la validación de la configuración del planificador y el analizador de conjuntos mínimos imposibles de encajar.

El proceso de validación examina algunas de las causas más comunes que puedan impedir los resultados completos. Por ejemplo, que se han asignado más horas a un grupo de alumnos de las que caben en su marco horario o que se han prefijado diferentes sesiones a la misma hora con el mismos profesor.

Por otra parte, el analizador de conflictos intenta solucionar por separado los horarios de cada profesor, de cada grupo de alumnos, etc. De forma que, si no puede solucionar alguno de estos subconjuntos, lo reducirá a un mínimo de sesiones imposibles de encajar. Si el analizador encuentra un conjunto mínimo de sesiones que no encajan, será más fácil ver qué ocurre, es decir, qué condiciones interfieren entre sí dentro de este reducido número de sesiones.

Aunque no es lo más común, como ya hemos indicado, puede haber horarios para los que el motor no encuentra solución que aparentemente no encierran conflictos. Efectivamente, existen horarios sin errores de validación y para los que el analizador no encuentra conflictos, que sin embargo contienen condiciones que impiden las soluciones. Para estos caso disponemos de una tercera herramienta que nos puede ayudar en gran medida:  el depurador de condiciones imposibles. El depurador de condiciones permite lanzar el motor y también el analizador, sin unas u otras de las condiciones estrictas inicialmente configuradas. El depurador de condiciones es muy útil para lanzar pruebas flexibilizando las condiciones estrictas y así saber cuáles impiden las soluciones.

Existen otras estrategias de depuración, cómo intentar asignar directamente desde el editor las sesiones que no se han podido encajar para ver qué mensajes aparecen o comprobar en el resultado incompleto dónde quedan los huecos en el horario de los grupos, por si el problema es alguna reunión o la existencia de un exceso de posiciones prohibidas a los profesores, coincidentes a la misma hora.

No queremos dejar de afirmar que la labor de hacer los horarios académicos es lo suficientemente compleja como para que, además de contar con las mejores herramientas, sea necesaria la pericia de quien las use. No deje de pedirnos toda la ayuda que necesite. En todo caso, el mérito de hacer los mejores horarios siempre será el suyo.

¿Es posible el horario perfecto?

Encajar los horarios semanales de un centro de enseñanza medianamente grande o complejo no es una tarea fácil. Esto lo saben muy bien quienes se han enfrentado a este problema en alguna ocasión y, en mayor medida, quienes tienen la responsabilidad de hacerlo cada año; hay que resolver un auténtico rompecabezas. Pero si es difícil encontrar una solución que satisfaga los requisitos mínimos, encontrar la mejor solución parece una tarea imposible. Y precisamente esta es la cuestión que planteamos: ¿Es posible hacer horarios perfectos?

En puridad, y por desgracia, debemos decir que el horario perfecto es imposible y existen varias razones para afirmarlo. La primera y más evidente es que cualquier modelo para expresar lo que se busca tendrá imperfecciones. Efectivamente, el modelo matemático a través del cual se calcula una función de peso que permita obtener el horario óptimo y su aplicación a los elementos que comprende el horario: alumnos, profesores, sesiones lectivas, etc., será siempre una aproximación a la realidad que, en el mejor caso, se estimará de forma precisa correspondiéndose con lo que se busca.

La segunda razón, y esta no es tan evidente, es que el conjunto de soluciones es tan elevado que la búsqueda exhaustiva es imposible, incluso para el ordenador más rápido del mudo.

¿Recuerdan la paradoja de la leyenda del inventor del ajedrez?

Cuenta la leyenda que un rey persa a quien gustó el juego del ajedrez, mandó llamar a su inventor para recompensarle por su ingenio. De forma imprudente el rey le dijo que pidiese lo que quisiese y el inventor le contestó: me conformo con 1 grano de trigo por la primera casilla del tablero, 2 por la segunda, 4 por la tercera, 8 por la cuarta y así hasta la casilla 64 del tablero. Es decir la suma de la serie 1+2+4+8… hasta completar 64 términos en progresión geométrica. El rey se pensó que lo que estaba pidiendo era una minucia y mandó preparar el premio solicitado pero haciendo los cálculos se dieron cuenta de que era imposible cumplir la orden, pues la suma de los granos de las 64 casillas era nada menos que la cantidad de 36.893.488.147.419.103.231 granos. Si en cada Kilogramo de trigo caben aproximadamente unos 25.000 granos, entonces el resultado sería de unas 1.475.739.525.896 toneladas. Si el carguero más grande puede alojar hasta 186.000 toneladas netas, harían falta alrededor de 8 millones de enormes cargueros para transportar todo el trigo. Más de 1000 veces la producción mundial anual de trigo.

Caballeros templarios jugando al ajedrez

Con el problema de hacer horarios académicos también se da esta paradoja; parece que sería relativamente fácil probar todas las posibles soluciones con una computadora pero, de hecho, es imposible. La cuestión es que el número de combinaciones crece exponencialmente y harían falta años de cálculo, incluso con la más potente computadora, para recorrerlas todas. Los procesos que resuelven este rompecabezas se estudian a través de una disciplina matemática y computacional que trata de dar la mejor solución posible, en tiempos razonables, a problemas excesivamente complejos.

El Generador de Horarios para Centros de enseñanza GHC de Peñalara utiliza un software de horarios capaz de encontrar soluciones y hacerlas óptimas de forma extraordinariamente eficaz en lapsos de tiempo suficientemente cortos aún en los supuestos más complicados. La buena noticia es que este tipo de problemas intratables mediante procesos de búsqueda exhaustiva se consiguen resolver en gran medida utilizando algoritmos inteligentes. Podemos afirmar, finalmente, con gran satisfacción y también alivio para quienes tienen la responsabilidad de hacer los horarios cada curso, que los horarios ‘perfectos’, en la práctica, que son posibles.