Assignment Helper.
Optimization Algorithms 2 Semesters

๐Ÿ—“๏ธ Exam Timetable Optimizer โ€” GA vs Simulated Annealing vs CP-SAT

Every semester, someone gets three papers in one day. Exam scheduling is a classic NP-hard problem โ€” which makes it perfect FYP material: no giant dataset needed, pure algorithm comparison, and results your own faculty can actually use.

1The Pitch โ€” Product + Research in One

๐Ÿ› ๏ธ What you build (the demo)

A web tool: upload courses, student enrollments, and rooms as CSV โ†’ generate a clash-free exam timetable with room allocation โ†’ interactive calendar view with conflict highlighting and manual overrides.

๐Ÿ”ฌ What you research (the grade)

Three fundamentally different optimization paradigms solve the same instances: evolutionary (GA), local search (SA), and exact constraint programming (CP-SAT) โ€” who wins on quality, speed, and scale?

2Problem Statement & Objectives

Pernyataan masalah: Faculty exam timetables are drafted manually or with rigid legacy tools; clashes, back-to-back papers, and room overflows are found late, and there is no measure of how "good" a released timetable actually is.

3Benchmark Design โ€” the 3 Experiments

ExperimentSetupWhat it proves
Eksperimen 1
Real faculty instance
All 3 solvers on one real (or realistic) faculty dataset: ~50 courses, ~1,500 students, ~15 rooms. Head-to-head on the practical case โ€” the result your faculty cares about.
Eksperimen 2
Scalability sweep
Synthetic instances at 25 / 50 / 100 / 200 courses, fixed constraint density. How each paradigm scales โ€” where the exact solver stops being feasible and heuristics take over.
Eksperimen 3
Constraint-density stress
Fixed size, increasing soft constraints (spacing preferences, room capacity tightness). Solution-quality behavior under pressure; convergence curves per solver.

๐Ÿ“ฆ Dataset plan

One anonymized real enrollment dataset from your faculty (or reconstructed from public course lists) + a documented synthetic instance generator (parameters: courses, students, enrollment distribution, rooms). The generator itself is a methodology contribution and makes results reproducible.

4Evaluation Metrics

MetricWhy it matters here
Hard-constraint violationsClashes and room overflows must be zero โ€” feasibility rate per solver per instance.
Soft-constraint penalty scoreThe quality number: back-to-back exams, spread over the exam period, room utilization.
Runtime to best solutionSeconds vs minutes vs hours โ€” plotted against instance size from Eksperimen 2.
Convergence curvesQuality-over-time plots showing how GA and SA improve vs CP-SAT's exact search.

5Report Mapping (Bab 1โ€“5)

ChapterWhat goes in it (from this package)
Bab 1 โ€” PengenalanProblem statement, objectives, scope (exam timetabling only, 3 solvers), constraints list, Gantt chart.
Bab 2 โ€” Sorotan KesusasteraanComparison tables: timetabling approaches across studies, metaheuristics vs exact methods, university timetabling benchmarks (e.g., Toronto/ITC datasets).
Bab 3 โ€” MetodologiFormal problem model (hard/soft constraints), solver configurations, synthetic instance generator design, tool architecture (CSV โ†’ solver โ†’ calendar UI).
Bab 4 โ€” Pembangunan & PengujianThe 3 experiments, feasibility/penalty/runtime tables, convergence plots, timetable UI screenshots.
Bab 5 โ€” Dapatan KajianPer-size solver recommendation, limitations (single objective weighting, invigilator scheduling excluded), future work (multi-objective, lecture timetabling).

6Tech Stack

PythonGoogle OR-ToolsDEAP (GA) Flask / FastAPIFullCalendar.jsPandas

๐Ÿ”Ž Related works โ€” Perplexity API placeholder

Live literature search (educational timetabling and metaheuristic comparison papers, 2020โ€“2026) will be generated here via the Perplexity API once the subscription is active.

โณ Generate Literature Review (coming soon)

โ† Back to all FYP ideas ยท Assignment Helper