Multi-objective course scheduling system - Gagno, Patricia Angela M. (2006)
Course scheduling is a problem familiar to any educational institution. It involves assigning each course to be taught to an appropriate time slot, room, and instructor, while satisfying a given set of constraints and considerations. Its vast problem search space and highly-constrained nature makes course scheduling a challenging NP-complete problem. In general, most schools still implement the manual scheduling of courses, which aside from exhausting valuable resources such as time, labor and paper, does not guarantee an optimal solution. Most solutions proposed for the scheduling problem are priority-based systems which simply automate the human routine in scheduling. Our project aims to challenge the status quo and implement an intuitive network-based course scheduling system, calibrated by AI techniques. At is core is the Non-dominated Sorting Genetic Algorithm II (NSGA2), a multi-objective evolutionary algorithm. Although NSGA2 applications are still scarce, it has shown promising results in scheduling and engineering problems. The strength of NSGA2, aside from being fast and elitist, is its ability to discern the fitness of a solution over an assortment of objectives, instead of using a singular solution, it is able to rank and generate a set of Pareto-optimal solutions, giving the user the best possible alternatives. The project's NSGA2 scheduling engine evaluates candidate solutions using 3 main objectives: (1) system compliance. (2) instructor-centric strength, and (3) student-centric strength.