Obligatorio no significa lo mismo que preferible
Esta diferencia decide si el motor puede negociar una mejora o debe descartar un horario. Conviene acordarla antes de introducir reglas.
Restricción dura: condición de validez
Un profesor no puede impartir dos sesiones distintas a la vez. Un aula no puede alojar dos actividades incompatibles en la misma franja. Una indisponibilidad contractual puede impedir asignar una sesión aunque dejarla ahí redujera muchos huecos.
Si dos condiciones duras se contradicen, no hay un horario válido para ese modelo. Esto no significa que el centro sea imposible de organizar: quizá una entrada sea errónea o una condición se haya formulado con más rigidez de la necesaria.
Preferencia: objetivo de mejora
Reducir huecos o evitar la última hora pueden tratarse como objetivos con peso. El motor busca mejorarlos sin incumplir lo obligatorio; no promete cumplir todos ni encontrar siempre el óptimo antes del límite de tiempo.
Un bloqueo fija una sesión y reduce las opciones restantes. Una sesión doble exige consecutividad, no solo dos horas semanales. Una banda sincroniza actividades. Revisa el significado de cada regla con el equipo antes de pedir al agente que la configure: el lenguaje natural también puede ser ambiguo.