Paso 7 — Generación automática
Una vez creadas las sesiones, usted las coloca en la cuadrícula. Construir un horario es en la práctica un ciclo, no un gesto único:
- se colocan algunas sesiones a mano — para fijar elementos inamovibles o bloquear restricciones fuertes (intervenciones con fecha, exámenes, ajustes);
- se genera (todo o una parte) para que el algoritmo coloque el resto bajo restricciones;
- se ajusta al margen — corregir un caso particular, mover una sesión, cambiar de idea;
- y esto puede repetirse: se regenera sobre la marcha (sesiones añadidas, o — en modo calendario — por intervalos de fechas, por lotes de clases o de campus).
También se puede hacer todo 100 % a mano, sin el algoritmo de generación. El posicionamiento manual (colocar, mover, bloquear, una a una o por lotes) tiene su página dedicada: Posicionamiento manual. Para el flujo de conjunto, consulte Visión general del módulo.
Esta página cubre la generación automática.
Disponibilidad
Disponible en los horarios semanales, cíclicos y de calendario. En modo calendario, las sesiones se colocan en fechas reales y las opciones pueden limitar el rango de fechas a generar.
Preparación
Antes de hacer clic en Generar un horario:
- despliegue la pestaña Generación (con el título Verificación en un horario de calendario) para verificar las estadísticas globales,
- corrija las alertas críticas (rojas) — bloquean la generación,
- revise las advertencias (naranjas) — no bloquean, pero señalan un riesgo (disponibilidad demasiado restrictiva, capacidad al límite, etc.).
La pantalla indica además:
- número de sesiones creadas frente a sesiones colocadas,
- volúmenes horarios introducidos frente al servicio horario de los profesores,
- grupos asignados a al menos un curso (para detectar los grupos olvidados o sin utilizar).
Lanzamiento
Haga clic en Generar un horario. Omniscol lanza un entorno de cálculo dedicado y paralelizado. La duración depende del tamaño del horario, del número de restricciones y de las opciones elegidas. No hay ninguna cola que gestionar del lado de la escuela; la inicialización toma a menudo alrededor de una decena de segundos antes de que el cálculo comience realmente.
El cálculo está limitado a veinte minutos, pero en la práctica queda muy por encima de lo necesario: un horario de unos 200 cursos responde a menudo en una veintena de segundos — el algoritmo es casi instantáneo, es sobre todo el arranque de la máquina lo que pesa — y unos 600 cursos en un minuto aproximadamente. Para una institución muy grande que se aproximara a este límite, el equipo de Omniscol puede aumentar la potencia de la máquina de cálculo, bajo petición.
Opciones de generación
De forma predeterminada, la generación coloca todas las sesiones creadas y sin posicionar. También puede mover sesiones ya posicionadas si esto mejora el horario. Las sesiones bloqueadas conservan su posición.
El menú de opciones permite en particular:
- gestionar las aulas con tres opciones: asignación optimizada de forma predeterminada, únicamente verificación, o ignorar por completo las aulas;
- seleccionar solamente ciertas clases o ciertas asignaturas;
- restringir un horario de calendario a una ventana de fechas objetivo;
- ignorar las aulas ya asignadas o los posicionamientos actuales;
- asignar únicamente las aulas sin recalcular todo el posicionamiento;
- lanzar una generación rápida sin optimización;
- autorizar el posicionamiento flexible en las subfranjas de la cuadrícula horaria cuando el horario utiliza subfranjas.
Los parámetros avanzados de optimización permiten además reducir los huecos, evitar dos sesiones de la misma asignatura el mismo día, distribuir las sesiones, fijar mínimos o máximos de horas, o elegir el número de días de presencia de los profesores. Los usos varían según los países: en Francia, algunas instituciones buscan reducir el número de días de presencia de los profesores; en otros contextos, se puede al contrario preferir distribuir estos días, por ejemplo para organizar otras tareas en la sede.
Opciones específicas del modo calendario
En modo calendario, las opciones avanzadas pueden limitar la generación a una ventana de fechas objetivo más corta que el rango total del horario. Es útil para generar solamente una parte del año: prueba sobre un mes, construcción progresiva de un semestre, o retoma de un periodo ya preparado.
La otra opción importante es la compactación de las jornadas para las clases. De forma predeterminada, la generación automática busca más bien un equilibrio sobre los días disponibles; si genera solamente una parte de las sesiones del año, este comportamiento puede repartir artificialmente las sesiones. La compactación permite solicitar un agrupamiento:
- al inicio de la ventana;
- al final de la ventana;
- sin preferencia de inicio o de fin, pero manteniendo las jornadas lo más compactas posible.
Cómo trabaja la generación
Comprender la lógica de la generación automática ayuda a anticipar lo que colocará, lo que sacrificará, y cómo orientarla. Persigue dos objetivos, en este orden:
- Hacer que todo entre — la prioridad absoluta: posicionar todas las sesiones respetando las restricciones duras.
- Optimizar la calidad — una vez que todo entra, reducir los huecos, suavizar las jornadas, atender las preferencias.
Parte de un estado limpio (las sesiones bloqueadas conservan su lugar, las demás se recolocan) y coloca desde la sesión más difícil a la más fácil. La dificultad reside sobre todo en la estrechez de las restricciones: un curso cuyo profesor solo está disponible una tarde por semana, o un bloque de cuatro horas que hay que encajar de una sola pieza, pasa a la cabeza. A igual dificultad, alterna las asignaturas y trata las más raras antes que las más comunes, para repartir equitativamente las posibilidades de cada una.
Cuando no todo entra: el sacrificio
Si el horario está demasiado restringido para encajarlo todo, la generación no renuncia: elige el conjunto más pequeño de sesiones que dejar de lado para que el resto quepa, y luego optimiza este horario parcial. Las sesiones sacrificadas permanecen en la barra de notas por colocar. Como el orden ha priorizado lo más difícil y lo más raro, son más bien sesiones fáciles y numerosas las que ceden: la 5.ª hora de una asignatura de gran volumen antes que la única hora de una asignatura rara.
Usted conserva el control sobre estos arbitrajes: bloquee las sesiones que nunca deben moverse — colocadas de forma prioritaria, no se sacrifican — y relaje la sobrerrestricción (franjas horarias abiertas, disponibilidad) allí donde sea posible, para que el conjunto quepa.
Restricciones duras y restricciones blandas
No todas las restricciones tienen el mismo valor:
- Duras — nunca infringidas: la ocupación (un profesor, una clase, un grupo, un aula o un recurso no sirve dos veces en el mismo momento), las franjas marcadas como Indisponible (en negro) en un profesor, una clase, un aula, una asignatura o un grupo, la ausencia de aula o de recurso libre en la franja horaria, los días cerrados, las posiciones bloqueadas y las alineaciones.
- Blandas — todo lo demás, que la generación automática puede infringir a costa de una penalización para conseguir encajarlo todo: las franjas marcadas como No permitido (en rojo — a evitar, no prohibidas) y las preferencias de optimización (compacidad, dispersión, agrupamiento por día…). Una restricción de prioridad alta pesa más que una de prioridad baja, pero ninguna es bloqueante. La generación automática intenta también flexibilizaciones puntuales (posicionamiento en las subfranjas de la cuadrícula…) cuando es el precio a pagar para no sacrificar ninguna sesión.
Verificar sin optimizar
La opción de generación rápida (sin optimización) lanza una pasada aligerada que responde sobre todo a una pregunta: ¿entra todo? Útil para probar la viabilidad de una configuración antes de invertir el tiempo de una optimización completa.
Resultado
- Banner verde: generación exitosa. Las sesiones del perímetro solicitado han podido posicionarse y el resultado puede inspeccionarse.
- Banner rojo: no se ha encontrado ninguna solución completa. El mejor horario calculado sigue siendo visualizable y las sesiones sin posicionar aparecen en la barra de notas para su diagnóstico.
Consulte Diagnosticar una generación que falla.
Consolidar o copiar
Tras una generación exitosa, Omniscol propone dos opciones:
- Consolidar en el horario en curso (el posicionamiento reemplaza el existente).
- Crear una copia (el horario actual permanece intacto, el resultado optimizado se convierte en un nuevo horario).
Si prevé volver a generar más tarde (porque construye de forma incremental, por ejemplo), no consolide: de lo contrario, las sesiones ya posicionadas serían puntos de partida para la nueva generación.
Bloquear una sesión antes de relanzar una generación
En una sesión ya posicionada, utilice el candado de posición para bloquearla. La próxima generación no la moverá, pero ajustará las demás sesiones a su alrededor. Práctico para fijar las sesiones «inamovibles» (intervenciones externas fijadas, exámenes con fecha, ajustes manuales…). Detalles completos en Bloquear una sesión: bloqueo en masa, efectos sobre el diagnóstico (rojo → naranja), comportamiento del algoritmo.
Exportar un horario en JSON
El botón exporta únicamente el horario actual en formato JSON. No es la exportación completa de la cuenta documentada en Importación y exportación.
Casos típicos:
- conservar un registro de un borrador o de un escenario antes de eliminarlo;
- archivar un estado intermedio antes de una reorganización importante;
- transmitir este horario concreto al equipo de Omniscol en el marco del soporte.
Como en la exportación completa de la cuenta de escuela en JSON, la reinyección no es un uso estándar de acceso libre del lado de la escuela.
Y a continuación
Etapa final: Publicar (activar) un horario.
Procedimiento
Lanzar una generación automática
-
La generación automática posiciona las sesiones en la cuadrícula respetando decenas de restricciones (disponibilidad, capacidades, alineaciones, especializaciones, alternancias). Disponible en horarios semanal, cíclico y de calendario.
-
Verifique la pestaña Generación. Las estadísticas globales aparecen allí: sesiones creadas frente a posicionadas, volúmenes horarios introducidos frente al servicio de los profesores, alertas críticas (rojas — bloquean), advertencias (naranjas — avisan sin bloquear).
-
Corrija las alertas rojas antes de lanzar. Mientras queden, la generación no puede iniciarse — salvo que se fuerce mediante el menú «más opciones», pero no es recomendable. Las naranjas deben arbitrarse, pero no impiden la generación.
-
Ajuste las opciones de generación si es necesario: aulas a asignar, verificar únicamente o ignorar; clases o asignaturas específicas; generación rápida sin optimización; ignorar las aulas ya asignadas o las posiciones actuales. En modo calendario, las opciones avanzadas permiten además restringir la ventana de fechas generada y compactar las sesiones al inicio del periodo, al final del periodo o sin preferencia.
-
Haga clic en Generar un horario. El procesamiento se ejecuta en segundo plano; la pantalla indica el estado de la generación y permite inspeccionar el resultado cuando está disponible.
-
Guarde cuando la puntuación le convenga. El horario está posicionado. Etapa siguiente: revise los posibles conflictos, ajuste a mano los casos particulares (consulte Posicionamiento manual), y luego publique.
-
Y a continuación: Publicar (activar) un horario.