Timetabling through a deductive database: a case study
Data & Knowledge Engineering
Integer programming vs. expert systems: an experimental comparison
Communications of the ACM
Restricted coloring models for timetabling
Proceedings of an international symposium on Graphs and combinatorics
SlotManager: a microcomputer-based decision support system for university timetabling
Decision Support Systems
Timetable planning using the constraint-based reasoning
Computers and Operations Research
High Performance Cluster Computing: Architectures and Systems
High Performance Cluster Computing: Architectures and Systems
RAPS: A Rule-Based Language for Specifying Resource Allocation and Time-Tabling Problems
IEEE Transactions on Knowledge and Data Engineering
Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers (2nd Edition)
Comparisons of genetic algorithms for timetabling problems
Systems and Computers in Japan
ISPDC '05 Proceedings of the The 4th International Symposium on Parallel and Distributed Computing
Journal of Experimental Algorithmics (JEA)
A knowledge engineering approach to knowledge management
Information Sciences: an International Journal
IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews
Local search techniques for large high school timetabling problems
IEEE Transactions on Systems, Man, and Cybernetics, Part A: Systems and Humans
Hi-index | 12.05 |
Course timetabling is a complex task that cannot be achieved using only a few general principles. This work integrates expert systems and constraint programming to generate a novel artificial intelligence approach for a course timetabling system. This approach can be easily reformulated and customized to sup-port requirement changes. Furthermore, the difference between hard and soft constraints can be also addressed easily. However, achieving a feasible timetable is very time consuming because the inference engine is CLIPS-based. Notably, CLIPS is a rule-based language that relies on the repeated matching of facts with rules to generate conclusions. To overcome the problem, this work parallelizes the execution of the timetabling system in emerging cluster systems. However, scheduling courses in parallel without solving assignment conflicts is difficult. To conquer the inherent serialization of the inference of course timetabling, courses are scheduled one by one and the schedule for one course is parallelized. This work utilizes the inference process for scheduling one course that behaves similar to the nested if-then-else structure. The rules for the inference process of scheduling one course are partitioned into multiple rule clusters, where each rule cluster is inferred by a slave process. After receiving all feasible solutions generated by slave processes, the master decides which solution to adopt for a current course according to rule priorities. However, improper division of rules can result in a false conclusion or runtime errors. To ensure that a correct timetable is obtained, two possible problems caused by improper rule division are identified. Three partitioning guidelines are then used to cope with these problems. For implementation, this work applied a novel programming model that transmits facts in C and infers rules in CLIPS. Experimental results demonstrate that the proposed parallel timetabling system achieves superlinear speedup when running in a cluster system. The proposed method also helps parallelize CLIPS-based expert systems that have similar inference behavior to that in the course timetabling system.