Context
The start of the 2020 school year sees the completion of the new baccalauréat, an ambitious reform launched in 2018 that redesigns not only the exam itself, but also the entire three-year lycée course. From September 2019, the appearance of particularly complex timetables in première classes – both general and technological – has highlighted the tension between school time and space. However, it would be simplistic to attribute this complexity exclusively to the reform: it is also the result of the multiplicity of option wishes and the diversity of student profiles, to which are naturally added the imperatives of teaching human resources.
Issues
The aim of this project is to provide an intelligent, automated response to this twofold problem:
- Dynamic generation of groups
Based on the options and time slots requested by each pupil, the tool automatically builds the optimum groups (or “groups”), guaranteeing that each pupil can follow all the lessons chosen.
- Minimize conflicts and comply with HR constraints
By integrating teachers’ availability and regulatory obligations, the scheduling engine minimizes overlapping schedules and complies with course load, preparation and supervision rules.
Achievements
In this project, we first modeled the key business entities (students, teachers, time slots, rooms, options, etc.), translating each element of the school into objects that can be manipulated by the algorithm. We then formalized the set of constraints in two forms:
- Hard constraints, failure to respect which renders any proposed timetable invalid (e.g.: a teacher cannot be in two places at once).
- Soft constraints, which do not induce strict failure, but serve to weight and improve the quality of solutions (time preferences, equity of distribution, etc.).
To solve this complex scheduling problem, we used the Timefold solver, renowned for its efficiency on large-scale schedules, and adapted its heuristics to our specific business requirements. Finally, we set up an industrial pipeline that integrates directly with the existing application platform: from request ingestion to automatic schedule generation, via version management and continuous monitoring, guaranteeing smooth production start-up and simplified maintenance.