Wise Timetable

Conceptos

Cómo funciona realmente la generación automática

Sin marketing. Qué hace el motor, por qué el problema es difícil y por qué la calidad de sus restricciones importa más que la astucia del algoritmo.

El problema, expuesto con claridad

Tiene un conjunto de sesiones de enseñanza. Cada una necesita una franja horaria, un aula y un docente. Algunos recursos son compartidos, algunas sesiones no deben solaparse y una larga lista de reglas limita qué combinaciones son legales. Encuentre una asignación que no rompa ninguna regla dura y viole el menor número posible de preferencias.

Es un problema de satisfacción de restricciones, y la programación universitaria es un caso difícil muy estudiado. El número de asignaciones posibles crece de forma explosiva con el número de sesiones: la búsqueda exhaustiva no es simplemente lenta, es astronómicamente inviable incluso para una facultad modesta.

Por eso ningún sistema práctico busca de forma exhaustiva. Usan heurísticas — estrategias informadas para decidir qué colocar a continuación y qué hacer cuando se atascan — para encontrar una buena solución rápido y no una demostrablemente óptima eventualmente.

Qué hace realmente el motor

  • Ordenar. Decidir qué sesiones colocar primero. Las sesiones muy restringidas — una cohorte grande que necesita un laboratorio concreto con un técnico cualificado — suelen colocarse pronto, porque colocarlas al final significa deshacer todo lo demás.
  • Colocar. Asignar una sesión a una combinación legal de franja, aula y docente que no viole ninguna restricción dura.
  • Retroceder. Deshacer decisiones anteriores cuando una sesión se queda sin ninguna colocación legal. Aquí se va la mayor parte del tiempo de ejecución.
  • Puntuar. Evaluar en qué medida la solución parcial actual satisface las preferencias blandas, para que la búsqueda pueda preferir mejores regiones del espacio.
  • Mejorar. Una vez que existe una solución legal completa, hacer cambios locales que mejoren la puntuación sin romper nada.

Por qué sus restricciones importan más que el algoritmo

Esta es la parte que los proveedores menos quieren decir. Con un conjunto de restricciones bien especificado, la mayoría de los motores competentes producen resultados comparables. Con uno mal especificado, ningún motor produce nada útil.

El fallo más común no es algorítmico. Es un conjunto de restricciones donde las preferencias se han declarado inviolables, de modo que no existe ninguna solución legal y el motor informa correctamente de un gran número de sesiones imposibles de colocar. El segundo más común son los datos de entrada obsoletos o erróneos — capacidades de aula que nadie ha comprobado desde una reforma, disponibilidad recogida hace seis semanas.

Por eso la pregunta útil para un proveedor no es «qué algoritmo usan» sino «cómo me ayudan a acertar con las restricciones y la disponibilidad».

Cómo es lo bueno en la práctica

Un sistema utilizable genera lo bastante rápido como para que regenerar sea rutina y no un trabajo nocturno — Wise Timetable regenera incluso horarios grandes en menos de un minuto, lo que significa que usted experimenta en lugar de comprometerse con una sola ejecución.

Informa de lo que no pudo colocar, y por qué, en lugar de romper en silencio una regla para producir algo que parezca terminado. Respeta las sesiones que usted ha bloqueado, de modo que el trabajo automático y el manual puedan mezclarse. Y produce varias variantes para que pueda comparar en lugar de aceptar.

Vea la generación automática en Wise Timetable.

¿Quiere verlo funcionando?

Reserve una presentación en línea de 45 minutos y la recorreremos con el propio problema de programación de su institución.