Project title: Developing methods for the class scheduling problem
Dr. Cen Li
For students, putting together a class schedule that satisfies all the constraints, such as time and day preference, pre-requisite requirements, graduation timing, course offering pattern, etc. is difficult. Similarly, putting together a teaching schedule for the faculty that satisfies all the constraints, like classroom assignments, lecture and lab grouping, time/day preference, etc. is not easy.
Theses are examples of a broader group of problems, called constraint satisfaction problems. Approaches developed in the Artificial Intelligence and Genetic Programming fields for this type of problems involve heuristic function based searching. While backtracking search, a form of depth-first search, is typically used, many different heuristic functions can be developed such as the minimum remaining values and degree heuristics and the least constraining-value heuristics.
This project investigates the various heuristic functions (and representations) as they are applied to the class scheduling problems.
Programming requirements: C++ or any scripting language