Repository navigation
🧩 Constraint Solving POTD:Problem of the Day: Examination Scheduling #65305
Closed
Replies: 1 comment
|
This discussion has been marked as outdated by Constraint Solving — Problem of the Day. A newer discussion is available at Discussion #65572. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Problem Statement
Examination Scheduling is the task of assigning examinations to time slots and rooms while satisfying a complex set of constraints.
Concrete Instance
Consider a university with:
Constraints:
Goal: Assign each course to a (slot, room) pair such that:
Input/Output Specification
Input:
Output:
Why It Matters
Educational Institutions: Universities and schools must schedule thousands of exams annually while respecting student timetables and resource limits. A poor schedule forces students to take exams back-to-back or creates long gaps, hurting student performance.
Certification Bodies: Large-scale exam providers (SAT, GRE, IELTS) deploy exams across multiple centers with complex room and proctor availability constraints. Efficient scheduling reduces operational costs and candidate inconvenience.
Corporate Training: Companies scheduling competency assessments across multiple centers and time zones face similar constraints at smaller scale.
Modeling Approaches
Approach 1: Constraint Programming (CP)
Paradigm: Declarative constraint model with global constraints and propagation.
Decision Variables:
Constraints:
Strengths:
Weaknesses:
Approach 2: Mixed-Integer Programming (MIP)
Paradigm: Integer linear optimization with binary and continuous variables.
Decision Variables:
Constraints:
Strengths:
Weaknesses:
Example Model (Pseudo-code)
A simplified MiniZinc model:
Key Techniques
1. Graph Coloring and Conflict Analysis
Model the problem as a conflict graph where exams are nodes and edges represent students taking both. This transforms the core conflict constraint into a vertex coloring problem. Use clique detection to identify highly constrained exam clusters and solve them first.
2. Symmetry Breaking
Room assignments often have symmetries (two rooms of similar capacity are interchangeable). Use symmetry-breaking constraints:
3. Decomposition and Large Neighborhood Search
Split the problem into phases:
This two-phase approach scales better than monolithic solving.
Challenge Corner
Question: Suppose some exams are soft conflicts (e.g., students prefer not to take two exams in the same slot, but it's allowed with a penalty). How would you model this?
Extension: Real universities have sequential constraints: "Course C's exam cannot be before Course B's exam" (prerequisites, or coordination with lecture schedules). How would you incorporate precedence constraints?
Symmetry Puzzle: Can you express the exam scheduling problem using only a single global constraint? (Hint: think of it as a multi-dimensional bin packing variant.)
References
Burke, E. K., & Petrovic, S. (2002). "Recent Research Directions in Automated Timetabling." European Journal of Operational Research, 140(2), 266–280.
A comprehensive survey of exam and lecture timetabling problems and solution approaches.
Rossi, F., van Beek, P., & Walsh, T. (Eds.). (2006). Handbook of Constraint Programming. Elsevier.
Chapter 7 covers constraint programming for scheduling problems, including timetabling.
Qu, R., Burke, E. K., & McCollum, B. (2009). "Adaptive Automated Construction of Hybrid Heuristics for Exam Timetabling and Course Timetabling Problems." European Journal of Operational Research, 198(2), 555–571.
Modern hybrid approaches combining metaheuristics with constraint-based reasoning.
International Timetabling Competition (ITC). (www.itc2019.org/redacted)
Benchmarks and open instances for examination and course timetabling problems.
All reactions