Advanced Dynamic Course Scheduler
1. Problem Definition & Data Entry
Rooms (Amfis)
| Room Name | Capacity | Action |
|---|
Courses List
Paste Excel/Sheets data below (Format: Name | Year | Type | Instructor | Students)
| Course Name | Year (Sem) | Type (C/E) | Instructor | Nr of Students | Action |
|---|
Instructor Preferences (1=Worst, 5=Best)
Paste Excel/Sheets data below to auto-fill the matrix.
| Instructor |
|---|
2. Optimization Engine
StatusAwaiting Data
Hard ConstraintsN/A
Instructor Pref ScoreN/A
1. Sets and Indices
- I: Set of all courses, i ∈ {101, 103, ..., 409}
- T: Set of all time slots, t ∈ {1, 2, ..., 10} (5 days × 2 slots)
- K: Set of rooms (Amfis), k ∈ {1, 2, 3}
- S: Set of semesters (Dönem), s ∈ {1, 2, 3, 4}
- J: Set of instructors (Hocalar)
2. Parameters
- Ni: Number of students enrolled in course i
- Ck: Capacity of room k
- Pit: The preference score (1 to 5) of the instructor teaching course i for time slot t
3. Decision Variables
Xikt = 1 if course i is scheduled in room k at time slot t, 0 otherwise.
4. Objective Function
Maximize Z = ∑i∈I ∑k∈K ∑t∈T ( Pit × Xikt )
5. Constraints
- Assignment Completeness: ∑k∈K ∑t∈T Xikt = 1 ∀ i ∈ I
- Room Capacity: Ni × Xikt ≤ Ck ∀ i, k, t
- Room Conflict: ∑i∈I Xikt ≤ 1 ∀ k, t
- Instructor Conflict: ∑i∈Ij ∑k∈K Xikt ≤ 1 ∀ j, t
- Semester Conflict: ∑i∈Is ∑k∈K Xikt ≤ 1 ∀ s, t
- Binary: Xikt ∈ {0, 1} ∀ i, k, t
About the Advanced Dynamic Course Scheduler
This web application is a complete, self-contained Operations Research tool designed to solve the NP-Hard University Course Timetabling Problem entirely within your browser.
Key Features:
- Dynamic Problem Definition: Users can completely customize the environment. You can define specific active days, the number of slots per day, physical rooms with specific capacities, and a list of available instructors.
- Excel/Google Sheets Integration: Instead of manually typing data, you can seamlessly paste tabular data (TSV) directly from spreadsheet software into both the Course List and the Instructor Preference Matrix. The system automatically parses and assigns the inputs.
- Hard & Soft Constraints: The engine rigorously enforces Hard Constraints (preventing double-booking rooms, preventing instructor schedule clashes, ensuring students from the same semester aren't double-booked, and respecting room capacities). It then optimizes Soft Constraints (maximizing the instructors' 1-to-5 preference scores for specific time slots).
- Constructive Heuristics:
- Saturation Degree (SD): Dynamically prioritizes courses with the fewest remaining valid slots.
- Largest Degree (LD): Prioritizes courses with the highest number of potential conflicts.
- Largest Enrollment (LE): A greedy approach prioritizing courses with the most students.
- Improvement Metaheuristics: Advanced optimization algorithms iteratively tweak the initial baseline to maximize instructor satisfaction without breaking hard constraints:
- Simulated Annealing (SA): Uses a thermodynamic cooling schedule to probabilistically escape local optima.
- Late Acceptance Hill Climbing (LAHC): Employs a delay memory array to accept temporarily worse moves, ensuring deeper space exploration.
- Tabu Search (TS): Maintains a short-term memory of recent moves to avoid cycling back to previously explored schedules.
- Genetic Algorithm (GA): An evolutionary approach utilizing population sorting, elitism, and heavy mutational breeding to produce superior offspring schedules.
- Ant Colony Optimization (ACO): Simulates pheromone-depositing agents that build schedules iteratively, balancing historical success paths against heuristic preference values.
- Real-Time Parameter Control: When an improvement heuristic is selected, its mathematical parameters (Cooling Rate, Tabu Tenure, Population Size, Evaporation Rate, etc.) are dynamically revealed, allowing for precise algorithmic tuning.
- Interactive Data Visualization: Generates real-time optimization trajectory charts using Chart.js to visualize the algorithmic convergence and penalty cost reduction over thousands of iterations.