La Pontificia Universidad Católica de Chile necesitaba formar los grupos de proyecto de dos cursos masivos -- Desafíos de la Ingeniería y Sustentabilidad --, respetando las preferencias de tema de cada estudiante, la capacidad de cada grupo y reglas de balance entre grupos. Cada semestre el equipo académico armaba los grupos a mano, un proceso que tomaba varios días y no garantizaba una buena distribución de preferencias ni de cupos.
Construimos MATE: una herramienta que modela el problema como un programa lineal entero mixto (MIP) y entrega una asignación completa en minutos, con una interfaz donde el equipo académico puede revisar el resultado y volver a correrlo si cambian los parámetros.
El desafío no era solo formular el problema, sino resolverlo a la escala real de estos cursos: cientos de estudiantes por semestre, con restricciones de cupo, sección y balance de atributos entre grupos. Un solver genérico, sin ayuda, podía tardar horas o no converger a una solución.
Para que fuera resoluble a esa escala, trabajamos en tres frentes: heurísticas propias que generan una solución inicial (warm start) para que el solver parta cerca del óptimo en vez de desde cero; una formulación matemática que elimina las simetrías del problema -- grupos y estudiantes que el modelo trataría como intercambiables sin necesidad -- para reducir drásticamente el espacio de búsqueda; y CP-SAT (Google OR-Tools) como motor de resolución.
El resultado es un modelo que el equipo académico puede correr por su cuenta cada semestre -- probar otra cantidad de grupos, otra regla de balance -- sin depender de nosotros para cada iteración.
El equipo académico de Ingeniería UC dejó de armar a mano los grupos de Desafíos de la Ingeniería y Sustentabilidad. Hoy corren el modelo, revisan la asignación propuesta y pueden ajustar reglas y volver a resolver, semestre a semestre, sin depender de nosotros para cada iteración.
Generan una solución inicial cercana al óptimo para que el solver converja mucho más rápido que partiendo desde cero.
Eliminamos del modelo los grupos y estudiantes que serían intercambiables entre sí, reduciendo drásticamente el espacio de búsqueda.
El equipo corre el modelo, revisa la asignación resultante y ajusta parámetros por su cuenta, cada semestre.