Detectar y resolver los conflictos (durante la generación)
Omniscol detecta los conflictos de forma continua durante la preparación de un horario y en cada posicionamiento manual. El diagnóstico distingue los conflictos bloqueantes de las restricciones no respetadas y de los avisos que exigen una decisión, y codifica esta gravedad mediante un color — en las franjas horarias candidatas y en las listas de selección cuando coloca una sesión, y en cada línea del panel de diagnóstico. La generación automática es un cálculo aparte (el algoritmo de generación coloca bajo restricciones, o deja una sesión sin colocar): su diagnóstico se trata en Diagnosticar una generación que falla.
Lo que verifica el diagnóstico
- Ocupación (doble reserva) — un profesor, una clase, un grupo, un estudiante, un aula o un recurso no puede servir a dos sesiones que se solapan, salvo modelización explícita (grupos compatibles, particiones, aulas grandes).
- Disponibilidad y restricciones horarias — periodo declarado indisponible, o restricción horaria no respetada (profesor, clase, grupo, aula, asignatura, sitio), graduada según la prioridad de la restricción. Una ventana de fechas impuesta, en cambio, siempre es bloqueante.
- Aforo y servicio — sobreaforo de un aula, recurso solicitado en demasiadas unidades, aula inadecuada (aforo, especialización, sitio), u horas de servicio de un profesor superadas.
- Desbordamiento de cuadrícula — las horas de sesión a colocar superan, o se aproximan, al número de franjas horarias abiertas de la cuadrícula, para un profesor o para una clase entera.
- Lugares y desplazamientos — tiempo de trayecto insuficiente entre dos sitios para un profesor o una clase, o dos asignaturas declaradas incompatibles colocadas al mismo tiempo.
- Calendario — sesión colocada sobre una ausencia (profesor o clase), un día cerrado / vacaciones, o un evento incompatible.
- Modelización — alineación rota (grupos alineados sin sesión común), número de sesiones distinto entre grupos de una misma partición o de una misma alineación, profesor o aula ausente, o configuración incompleta (sitio, cuadrícula, parámetro necesario antes de la generación).
Niveles de gravedad
La misma escala de gravedad — verde, amarillo, naranja, rojo — colorea varios puntos de la edición.
En las franjas horarias candidatas, cuando posiciona una sesión (véase Posicionamiento manual). Y en cada opción de las listas de selección: cuando elige un profesor, un aula, un recurso, un grupo o los participantes de una sesión, cada entrada lleva un icono de calendario coloreado según su nivel en la franja horaria de destino — verde si la entidad está libre, rojo si está ocupada — con el detalle al pasar el ratón. Solo una indisponibilidad roja (ocupado, periodo cerrado) impide la elección; un aula demasiado pequeña o mal especializada sigue siendo seleccionable, con aviso.
| Color | Significado |
|---|---|
| verde | ningún conflicto — la entidad está libre (o un recurso permanece por debajo de su límite) |
| amarillo | molestia leve, no bloqueante (restricción horaria de prioridad media, ausencia enteramente sustituida, aula correcta pero no ideal) |
| naranja | restricción fuerte (restricción horaria de prioridad alta, aula llena hasta el 110 % de su aforo, horas de servicio hasta el 110 %, trayecto entre sitios demasiado corto, asignaturas incompatibles, día cerrado) |
| rojo | conflicto bloqueante (doble reserva, restricción horaria obligatoria o ventana de fechas impuesta, aula por encima del 110 % de su aforo, ausencia no cubierta, alineación rota) |
En el panel de diagnóstico. Cada problema listado lleva un nivel, retomado por el filtro. El panel agrupa el naranja y el amarillo bajo un único nivel «importante», y añade un nivel «consejo» para las informaciones no bloqueantes:
| Nivel | Sentido | Colores de franja horaria correspondientes |
|---|---|---|
| rojo | Conflicto bloqueante | rojo |
| amarillo | Restricción no respetada / Aviso | naranja + amarillo |
| azul | Consejo / Límite cercano | presión de cuadrícula, particiones |
Cuando la opción Bloqueo de opciones en conflicto (restricciones fuertes) está activa, Omniscol impide las elecciones que crearían una restricción fuerte; en caso contrario, la alerta permanece visible para que el administrador decida.
Desbordamiento y presión de cuadrícula
Omniscol compara permanentemente las horas de sesión a colocar con el número de franjas horarias abiertas de la cuadrícula — para cada profesor (por clase y por sitio) y para cada clase entera. El mensaje indica los dos valores, por ejemplo «18 h / 16 h». Tres niveles, según el llenado:
| Nivel | Llenado | Lectura |
|---|---|---|
| azul — presión | cuadrícula llena al 90–100 % | los límites se alcanzarán pronto; la colocación ya está tensa |
| naranja — desbordamiento leve | 100–110 % (horas > franjas hasta el 110 %) | un horario válido será probablemente imposible |
| rojo — desbordamiento fuerte | más allá del 110 % | un horario válido será casi con certeza imposible |
Este cálculo solo se ejecuta si al menos un sitio está configurado, y no señala nada mientras la cuadrícula permanezca por debajo del 90 %. Mide las horas requeridas frente a las franjas horarias disponibles — no confundir con el exceso de horas de servicio de un profesor (horas impartidas frente a horas contractuales), que comparte los mismos colores pero sigue siendo una detección distinta.
Todas las detecciones
| Detección | Familia de filtro | Nivel |
|---|---|---|
| Profesor, clase o grupo ya ocupado | Conflictos | rojo |
| Aula ya ocupada | Conflictos | rojo |
| Alineación rota (grupos alineados sin sesión común) | Conflictos | rojo (naranja si solo difiere el aula o el recurso) |
| Restricción horaria no respetada (profesor, clase, grupo, aula, asignatura, sitio) | Restricciones horarias | obligatoria → rojo, alta → naranja, media → amarillo (ventana de fechas → siempre rojo) |
| Sobreaforo de un aula | Aforo | naranja hasta el 110 % del aforo, rojo por encima |
| Recurso en exceso | Aforo | naranja |
| Aula inadecuada (aforo, especialización, sitio) | Aforo | amarillo — forzable |
| Horas de servicio de un profesor superadas | Aforo | naranja hasta el 110 %, rojo por encima |
| Desbordamiento / presión de cuadrícula | Desbordamiento de cuadrícula | azul → naranja → rojo (véase arriba) |
| Tiempo de trayecto insuficiente entre sitios (profesor, clase) | Distancia | naranja |
| Asignaturas incompatibles al mismo tiempo | Compatibilidad | naranja |
| Ninguna aula disponible entre las aulas autorizadas | Aula ausente | amarillo (rojo si no hay ninguna) |
| Profesor ausente (sesión sin profesor asignado) | Profesor ausente | amarillo |
| Aula ausente (sesión colocada sin aula requerida) | Aula ausente | amarillo |
| Número de sesiones distinto entre grupos de una partición | Particiones | azul (indicativo) |
| Número de sesiones distinto entre grupos alineados | Alineaciones | rojo (configuración bloqueante) |
| Profesor ausente en su sesión | Ausencias | no cubierto → rojo, sustituido → amarillo, parcial (codocencia) → naranja |
| Clase ausente | Ausencias | rojo |
| Sesión en un día cerrado / vacaciones | Calendario | naranja (a veces forzado a rojo) |
| Configuración incompleta (sitio, cuadrícula, parámetro) | — | bloqueante antes de la generación |
Navegar desde una alerta
Cada línea del panel es cliqueable: la lupa lleva directamente a la sesión, al grupo o a la clase afectada — la forma más rápida de aislar el contexto de un conflicto. Para un conflicto de grupos (partición, alineación), el icono solo conserva los grupos relacionados, lo que hace resaltar la restricción cuando el diagnóstico en bruto no basta.
Filtrar el diagnóstico
El botón Filtros de diagnóstico (triángulo de alerta, en la parte superior del panel) abre un menú para conservar solo las alertas útiles al análisis en curso. Su icono pasa a naranja mientras un filtro permanece activo. Ahí se ajusta:
- Niveles — mostrar u ocultar el rojo (bloqueante), el amarillo (importante / a verificar), el azul (consejo / límite cercano).
- Entidades — clases, profesores, aulas, recursos, grupos, y los tipos de eventos de calendario (eventos, vacaciones, ausencias).
- Niveles de clase, campus, sitios — restringir a un perímetro. El campus aísla una entidad organizativa (implantación, facultad, polo); el sitio se refiere al lugar físico.
- Motivos — activar o desactivar cada familia de detección: restricciones horarias, conflictos, aforo, distancia, profesor ausente, aula ausente, compatibilidad, particiones, alineaciones.
- Intervalo (horario de calendario) — limitar a las próximas semanas o meses, y ocultar el pasado.
- Comportamiento — Bloqueo de opciones en conflicto (restricciones fuertes) impide activamente las colocaciones que crearían un conflicto fuerte.
- Restablecer — volver a mostrar todo.
Un filtro no resuelve un conflicto: solo oculta lo que no ayuda al análisis en curso.
Resolver un conflicto
Las correcciones más frecuentes son:
- desplazar una sesión;
- cambiar de profesor, aula o recurso;
- ajustar una restricción demasiado fuerte;
- corregir una indisponibilidad o una ausencia introducida por error;
- crear o corregir los grupos, particiones o alineaciones;
- añadir un aula compatible, un aforo o una especialización;
- bloquear una sesión que debe permanecer fija antes de relanzar una generación.
Si la generación no encuentra una solución completa, puede devolver un horario parcial: las sesiones sin posicionar permanecen en la barra de notas adhesivas de las sesiones a colocar. Corrija los diagnósticos prioritarios, y después relance o posicione manualmente los casos restantes.
Casos que exigen una decisión
Algunas señales corresponden a una decisión de gestión más que a un error de entrada. Ejemplos:
- examen con un aula principal y un aula de tiempo adicional;
- aforo declarado superior a las plazas introducidas cuando el centro sabe que una parte de los inscritos no estará presente;
- aula anexa no modelizada en Omniscol.
En estos casos, es preferible modelizar la situación explícitamente cuando es posible: multiaulas, grupos adaptados, aforo corregido o evento separado. Dejar una alerta voluntaria debe seguir siendo una decisión conocida por el equipo, no un ruido permanente.
Procedimiento
- Abra el diagnóstico del horario.
- Filtre si es necesario por nivel, campus, sitio, entidad o tipo de problema.
- Trate primero los conflictos bloqueantes.
- Abra el detalle del problema para identificar las sesiones y recursos implicados.
- Corrija la sesión, la restricción o la modelización.
- Relance el diagnóstico o la generación para comprobar que el problema ha desaparecido.