ZeroClash is a course schedule resolver built to help university students design conflict-free class routines using the Constraint Satisfaction Problem (CSP) algorithm. Through this project students can check or plan how they can enroll in their desired courses without clashing with each other and maintain time and classes seamlessly.
- ✔️ Automatic Clash Resolution: Finds all valid, non-overlapping section combinations using CSP backtracking.
- ✔️ Preference:
- Prioritize 2+ off-days.
- Avoid early 8:00 AM classes.
- Minimize long idle gaps between lectures.
- ✔️ Custom Course & Section Entry: Add new courses, update time slots, or remove existing offerings dynamically.
- ✔️ Scored Routine Ranking: Routines are evaluated and sorted based on custom preference scores.
ZeroClash maps routine planning directly into a formal Constraint Satisfaction Model:
-
Variables (
$X$ ): Selected target courses (e.g.,Data Structure & Algorithm,MAT120). -
Domains (
$D$ ): Available sections and schedules for each respective course. -
Hard Constraints: No two assigned sections can have overlapping day and time intervals:
$$\text{Overlap Condition: } \max(\text{start}_1, \text{start}_2) < \min(\text{end}_1, \text{end}_2)$$ - Soft Constraints (Optimization): Evaluates preference scores (+ points for off-days, - points for early classes or long gaps) to rank generated schedules.