Búsqueda automática de cambios sobre el horario

Es muy frecuente que, una vez entregados los horarios, sea necesario hacer algún cambio debido a la aparición de nuevos requisitos. Muchos de vosotros nos habéis pedido un proceso de búsqueda automática de las mejores soluciones cuando hay cambios sobre los horarios. Por supuesto, los mejores resultados se encontrarán planificando las restricciones y buscando una nueva solución desde el principio, pero esto a veces no es posible si los horarios son ya efectivos.

Desde el editor se pueden crear o modificar las sesiones lectivas añadiendo refuerzos, desdobles, etc. El editor de GHC es una herramienta muy flexible y con el proceso de recombinación de soluciones se incrementa su potencia notablemente.

Este proceso permite modificar como sea necesario el horario de determinados profesores o grupos de alumnos encontrando las mejores alternativas, a la vez que impide que se altere el resto de los horarios. También permite modificar las posiciones prohibidas en las plantillas particulares de unos u otros elementos de modo que las soluciones que se encuentren se adaptarán a los nuevos requisitos.

Gracias a esta nueva funcionalidad del editor de GHC, podrás buscar de forma automática y asistida las combinaciones que cumplan con los nuevos requerimientos que surjan sobre soluciones previamente adoptadas.

Los 10 problemas más habituales al hacer horarios de Secundaria, Bachillerato y FP

La Formación Profesional es una opción cada vez más elegida por los estudiantes. Disponer del mejor horario académico para su desarrollo en el aula nos permite ofrecer las mejores condiciones para el aprendizaje de estas enseñanzas.

Los ciclos de FP se pueden impartir conjuntamente en Institutos de Enseñanza Secundaria o en Centros Integrados. Existe una cierta independencia tanto entre los horarios de los ciclos formativos correspondientes a cada especialidad como con los horarios de otros estudios que puedan impartirse en el mismo centro de enseñanza. Esto ocurre porque normalmente comparten pocos profesores o aulas. Pero el hecho de que haya cierta compartición hace que, aunque la configuración del horario pueda ser independiente, la resolución tiene que ser coordinada.

Dadas las características de las enseñanzas de FP, los problemas a los que nos enfrentamos para hacer los horarios son, en ciertos aspectos, diferentes que los que existen en primaria. Pero es habitual que los horarios se hagan junto a los de secundaria y bachillerato. A continuación, se recogen los 10 problemas más habituales al hacer los horarios de estas enseñanzas:

  1. Aulas específicas, laboratorios o talleres: la concurrencia de varios grupos de alumnos en el uso de las aulas específicas y su máximo aprovechamiento es un factor clave para elaborar los horarios.
  2. Módulos o asignaturas con elevada carga horaria: los módulos profesionales pueden tener una elevada carga semanal. Definir de manera estricta el número de horas diarias puede imposibilitar la obtención del horario. Es necesario definir una cierta flexibilidad en su distribución semanal.
  3. Distintos horarios a lo largo del curso: las materias que se imparten a lo largo del curso pueden mantenerse o variar para determinados periodos: trimestres, semestres, etc.
  4. Sesiones con una duración fraccionada: en algunos casos las sesiones no tienen una duración entera. Por ejemplo, puede ser que semanalmente se impartan 6 horas y media. Esto dificulta la colocación de las sesiones para evitar los huecos en los horarios.
  5. Asignaturas o módulos con varios profesores: son varias las formas en que varios profesores pueden colaborar para impartir una sesión. En algunos casos se puede necesitar que dos profesores estén a la vez en el aula. En otros, que se repartan unas u otras horas durante la semana. Y hay casos en que cada uno imparte la asignatura durante una parte del curso.
  6. Un mismo módulo o asignatura requiere del uso de distintas aulas: un determinado módulo puede necesitar unos días un aula para las clases teóricas y otros días un taller o laboratorio para las clases prácticas, o tener simultáneamente disponibles ambos espacios.
  7. Se imparten a la vez en la misma aula dos materias diferentes: grupos de distintos ciclos se pueden juntar para cursar el mismo temario, aunque la materia correspondiente tenga distinto nombre en su plan académico.
  8. Límites para la ocupación diaria y semanal del profesorado: no todos los profesores tienen disponibilidad plena, por lo que los horarios deben respetar el número de horas diarias, tanto lectivas como totales, que imparte el profesor. También es posible que el número de horas de permanencia (diaria o semanal) sea también un requisito.
  9. Módulos Profesionales y Unidades Formativas: en cada ciclo se imparten módulos que pueden estar compuestos por UFs. Dependiendo de cómo trabajemos en el centro y con el gestor académico, la configuración del horario se debe realizar basada en los módulos o a las UFs.
  10. La asignación del profesorado se organiza desde los departamentos y especialidades: aunque existen asignaturas comunes a todos ciclos (como Formación y Orientación Laboral), lo normal es que docentes y ciclos estén agrupados por especialidades. La asignación del profesorado a las distintas asignaturas depende de cada uno de ellos, y se realiza de manera independiente.

Para obtener un horario óptimo que contemple estas dificultades se hace necesaria una herramienta que automatice el proceso. El Generador de horarios para centros de enseñanza GHC permite configurar el horario teniendo en cuenta todas las cuestiones propias de la FP. Obtendremos una solución automáticamente que cumple los requisitos y optimiza las preferencias según nuestros criterios, reduciendo drásticamente el tiempo en conseguir la solución y mejorando la calidad de la misma. GHC, además, ofrece herramientas auxiliares para facilitar la labor de la gestión del día a día del horario.

Durante las próximas semanas iremos publicando sucesivas entradas en el blog, donde indicaremos cómo poder resolver cada uno de estos problemas en GHC. Deja en los comentarios tu opinión acerca de estos problemas u otros que hayas tenido al hacer tus horarios de estas enseñanzas.

Cómo generar un buen horario en primaria

Quien nunca se ha enfrentado a la elaboración del horario en un colegio de primaria puede pensar que es una tarea sencilla, pero quienes los hacen cada año saben de la complejidad que puede tener cuadrar todas las asignaturas con sus diferentes distribuciones semanales, considerando la duración de los periodos, asignando las aulas específicas y consiguiendo que encaje el horario de los especialistas.

Como siempre, la experiencia es un grado y cuantos más horarios se han hecho utilizando una herramienta informática, mejor se conoce cómo abordarlo. Queremos mostrar una metodología para generar buenos horarios de primaria. Por supuesto, cada centro tiene sus características, por lo que en cada caso usted extraerá aquello que pueda aprovechar en su propio centro de enseñanza de lo que aquí se expone.

Existen diferencias entre los horarios de primaria y los de otras enseñanzas. La educación primaria tiene características particulares, algunas de estas son:

  • La existencia de tutores y especialistas con distintos perfiles.
  • Diferencia entre elegir tutores o cotutores.
  • Duración variable de los tramos y sesiones de 30 y 45 minutos.
  • Coincidencia de los recreos de todos los grupos.
  • Posibilidad de bilingüismo.
  • Variaciones de la carga horaria por comunidad o por centro.

A continuación, mostraremos una metodología basada en nuestra experiencia ayudando a numerosos colegios durante los últimos años.

Análisis previo de los datos

En primer lugar, y antes de empezar a generar el horario, hay dos aspectos a tener en cuenta: la carga horaria del profesorado y sus perfiles.

Por ejemplo, la carga horaria de cada profesor podría ser de 30 horas semanales, de las cuales, 25 son con alumnos y las otras 5 de otras actividades. De las 25 horas con alumnos, 22,5 horas son lectivas y 2,5 horas pertenecen a la vigilancia de los recreos. Además, suele ser habitual que la repartición entre los días sea equitativa, y que cada uno tenga 4,5 horas lectivas, y media hora de recreo. Pero la carga horaria de las asignaturas no es la misma todos los días de la semana.

Además, cada comunidad autónoma define las materias que corresponden al currículo de cada curso con su carga horaria y cada centro tiene cierta autonomía para realizar modificaciones. Puede ofrecer otras materias, como una segunda lengua extranjera, dos lenguas cooficiales, tecnología y robótica, o realizar alguna modificación en la carga horaria de las asignaturas.

Otro factor es el perfil de los docentes con los que se cuenta. Todos los profesores de primaria pueden ser tutores, e impartir matemáticas, lengua, naturales, etc. Pero solamente los especialistas imparten educación física, música, inglés o religión, para lo que tienen una determinada competencia. Así, según sea el número y perfil de los especialistas de los que se disponga, variarán las posibles asignaciones del profesorado a las distintas materias.

Por otra parte, también es necesario conocer las restricciones que tienen los docentes, como una posible reducción de jornada por distintos motivos. Algunos de los profesores podrían ser itinerantes o estar dando clase en otros centros educativos, teniendo solamente disponibles unos determinados días o a unas determinadas horas.

Definir el marco horario

Una vez realizado el análisis previo de los datos se debe definir el marco horario o rejilla horaria, en el que se impartirán las sesiones. Suponiendo un marco con la misma carga lectiva de 4,5 horas cada día de la semana, tres posibles opciones para definir los tramos horarios son:

  1. 4 tramos de 1 hora, y 1 tramo de ½ hora.
  2. 3 tramos de 1 hora, y 2 tramos de ¾ de hora.
  3. 6 tramos de ¾ de hora.

En todo caso siempre podría partir algún tramo de una hora en dos contiguos de media hora.

Estas distribuciones podrían ser las mismas todos los días, o establecer distintas divisiones cada día de la semana. Otra opción es definir distintos marcos horarios, los cuales podrían solaparse, para unos u otros grupos de alumnos, con recreos a las mismas o distintas horas.

Usando GHC dispone de todas estas opciones. Utilizando periodos de duración ½, ¾ o 1 hora, puede configurar horarios de forma flexible. Las sesiones lectivas que se tengan que colocar en el horario podrán hacerlo en tramos contiguos que completen su duración. Así, una sesión de una hora podrá utilizar dos periodos contiguos de media hora, pero una sesión de ½ hora solo podrá situarse en periodo de media hora, no pudiendo hacerlo en tramos de una hora si estos no se han dividido.

La dificultad estriba en definir un marco que posibilite acomodar la duración de las sesiones de cada grupo de alumnos, de cada profesor y en cada aula. Esto frecuentemente suponer la mayor dificultad. Por ejemplo, si el tiempo semanal de religión para cada grupo es de ¾, y en el horario hay solamente, supongamos, cinco tramos de ¾, resulta imposible asignar más de cinco sesiones de ¾ a un determinado profesor de religión.

Se hace necesario configurar un horario general según la conveniencia de cada colegio, teniendo en cuenta que los horarios sean posibles, por lo que a veces se hace necesaria cierta flexibilidad en la distribución semanal de cada asignatura, como veremos a continuación. 

Creación de las sesiones lectivas

Una vez definido un marco horario, que en todo caso podría modificarse si fuese necesario, llega el momento de crear las sesiones impartidas a los alumnos. Es útil crearlas en distintas fases. Esto nos permitirá ir descubriendo qué condiciones pueden causar problemas para cuadrar el horario. La idea es empezar por las sesiones más difíciles de colocar, y después continuar con el resto.

Así, recomendamos colocar las sesiones en las tres siguientes fases:

  1. Sesiones de especialistas.
  2. Sesiones del profesorado fuera de su grupo/tutor.
  3. Sesiones del tutor en su grupo/tutor.

Primero tendremos en cuenta las sesiones de los especialistas. El motivo es que impartir clase a distintos grupos de alumnos dificulta las soluciones. Por el mismo motivo, los profesores tutores que también imparten clase a otros grupos son más difíciles de encajar. Por último, añadimos las sesiones de los profesores que solamente imparten clase al grupo del que son tutores, lo cual es inmediato. Por ejemplo, en el caso de tener cotutores en dos grupos A y B del mismo curso, se deberían tener en cuenta las sesiones de ambos a la vez, pues estarían fuertemente relacionadas.

Permitir una distribución semanal flexible de cada asignatura

GHC permite definir para cada asignatura una carga semanal total que podrá distribuirse de forma flexible en sesiones de distinta duración, acotando un máximo y un mínimo diario. Esto aporta gran flexibilidad a las soluciones. Por ejemplo, si existen tramos contiguos en el horario de ¾ y ½, para una asignatura de 5 horas semanal y una duración máxima diaria de 1,5 (representado por &) y mínima de 1, las posibles alternativas serían:

  • &-&-1-1
  • &-(1 ¼) -(1 ¼)-1
  • (1 ¼) -(1 ¼) -(1 ¼) -(1 ¼)
  • 1-1-1-1-1

Existe a veces una posible flexibilidad curricular que necesitaríamos aprovechar para que se puedan cuadrar los horarios. Por ejemplo:

  • Hay pequeñas variaciones que las comunidades permiten entre el número de horas de las sesiones. Esto nos posibilita, por ejemplo, traspasar 15 minutos de una asignatura a otra, liberando así tramos en los que colocar sesiones del profesor, y permitiendo que exista una solución.
  • Jugar con la distribución que se hace con la repartición de las horas de Educación Artística entre Música y Plática. En los planes curriculares se suele definir el total de la suma de ambas, pero no es necesario que tengan la misma duración. Dependiendo de las sesiones que tenga el especialista de música, nos puede interesar darle una duración u otra en cada grupo.

Creación de sesiones no lectivas

Estas actividades no se realizan directamente con alumnos, pero son igualmente importantes en el horario. Por ejemplo, las vigilancias que se realizan en el patio durante el recreo, las tareas de dirección o las guardias para asegurar que siempre haya algún profesor disponible para cubrir las ausencias.

Otras actividades del profesorado en los horarios de primaria son los periodos de permanencia en el centro. Este tipo de sesiones engloba, entre otros, a las reuniones de ciclos, reuniones con pares, o la comisión de coordinación pedagógica (CCP).

Utilizar GHC

GHC permite no solo automatizar la obtención del horario sino disfrutar además de otras ventajas:

  • Intercambio con gestores académicos: GHC intercambia con todos los gestores académicos públicos de las distintas comunidades, además de otras plataformas de gestión. Gracias a ello, podemos descargar los elementos necesarios para generar nuestro horario evitando hacerlo manualmente. Pero lo más importante es que descargando estos datos del gestor académico podremos transferirle la solución al horario, una vez resuelto, de forma que la integre.
  • Automatización de búsqueda de soluciones: Con solo indicar la configuración y restricciones del horario, GHC se encargará de buscar automáticamente una solución. Esto ahorra días de trabajo buscando soluciones válidas, y evita la incertidumbre de saber si existen posibles soluciones.
  • Detección de errores y condiciones imposibles: GHC incluye un validador que nos avisará de los errores y condiciones imposibles que hayamos definido. También incluye herramientas para identificar las condiciones que impiden la obtención de una solución.
  • Rápido ajuste a modificaciones: Un cambio al inicio del curso, una reducción de jornada, un error en el número de horas de una asignatura. Son muchas las causas sobrevenidas que puede invalidar una solución haciendo inútil todo el trabajo realizado. Con GHC, es cuestión de minutos hacer ese cambio, y generar automáticamente una nueva solución, si existe, que cumpla los requisitos.
  • Optimización de la solución: ¿Qué es un buen horario? ¿Aquel que compacta el horario de los docentes, minimiza los cambios de aula de grupos, ajusta horarios de profesores que comparten vehículo para venir al centro? Son muchos los factores a considerar. Además, existen otros factores de índole pedagógica definidos por la Administración o el Consejo Escolar de cada centro. Por suerte, en GHC podemos ponderar estos factores. El programa buscará entre todas las posibles combinaciones la óptima de acuerdo con sus propios criterios.
  • GHC Web y Móvil App: Más allá de la generación del horario la suscripción a Peñalara ofrece utilidades online para la gestión del día a día del centro en asuntos referentes al horario.
    • Visor de horarios por perfiles: Tanto el centro como los profesores y alumnos tendrán disponible en cualquier navegador o en su dispositivo móvil el acceso a su horario.
    • Gestor de ausencias y sustituciones: Este módulo permite a los docentes informarnos si se van a ausentar y gestionar las sustituciones.

Para terminar, solamente recordarle que, junto a la solución informática, recibirán toda la ayuda y el asesoramiento del equipo de Peñalara que necesiten.

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.