Graph-Coloring for Course Scheduling – A Comparative Analysis based on Course Selection order Ammar Elhassan Ph.D. College of Computer Engineering & Science Prince Mohammad bin Fahd University Al-Khobar, Saudi Arabia aelhassan@pmu.edu.sa Abstract. In this paper, the graph-coloring algorithm for scheduling courses to time-room slots is implemented using a 3- way approach that varies the selection order of courses to serve. The results are then contrasted and compared for completeness and time-efficiency. The approach utilizes Conflict Matrices that are used as input for the coloring algorithm in order to produce colored groups of compatible courses. The different sorting styles are analyzed to select the optimum approach include standard (alphabetical) such that the course with least conflicts is selected first, by Conflict_Weight and by Conflict_Weight Descending such that the course with most conflicts is selected first. Keywords: Course Conflict, Instructor Conflict, Graph Coloring Conflict Matrix, Conflict Weight. I. INTRODUCTION Scheduling algorithms for courses or exams have been the subject of much research including surveys of various techniques and algorithms [3, 4, 11], AbdulRahman et.al proposed an exam-time tabling (ETA) algorithm in an open credit system [12]. Computer applications have also been developed as implementations of some of the research theories [5]. This interest is due, in part, to the significance of schedule automation and the potential man-hours a successful theory and application can save. Exam time table generation is considered an NP-Hard problem; meaning that no algorithm has been developed to solve it in reasonable (polynomial) amount of time [1, 2]. There are many approaches to this common problem; mostly based on graph coloring [6, 7, 8] or on Genetic Approaches [9]. Asham et al [10] propose a solution to the exam timetable problem that utilizes a hybrid approach based on Graph Coloring and Genetic algorithms wherein these two approaches are studied and compared to a new (hybrid) algorithm. The hybrid algorithm fared better than the genetic algorithm in terms of time-to-process performance and better than the graph coloring algorithm in terms of fitness performance. What is proposed in this paper is also a hybrid methodology wherein the Conflict_Matrix which forms the pool of courses to schedule may be interrogated according to Conflict-Weight or Alphabetical course title or randomly, the resulting course sets are then schedules in one of several approaches within the Sequential Graph Coloring (SGC) (greedy algorithm) once by grabbing the courses from the list of unscheduled courses in alphabetical order, and then by using the conflict_weight of a course as an indexer, in both descending and ascending order. The performance of the three approaches, is compared and contrasted. All algorithms are implemented using C# Loops and Microsoft Visual Studio Recordset/Dataset filtering functionality for increased efficiency in conjunction with Oracle as the main database. The results are then compared and contrasted in terms of both time-to-process and fitness performance. General Algorithm Requirements Any new algorithm that is sought in this work needs to eventually solve the exam scheduling problem within the following parameters: o Courses which enroll the same set of students cannot be scheduled for the same timeslot; this is the definition of a standard course conflict . o Maximum number of exams per day per student should not exceed a certain number, this is set to two. o Two or more courses taught by the same instructor cannot be scheduled for the same timeslot. This is instructor conflict . Instructors must be available at the times their courses are scheduled. o If two or more courses require a specific room/hall, these cannot be scheduled for the same timeslot, this is room conflict . No classroom sharing. i.e., two or more courses scheduled for the same timeslot cannot be assigned the same classroom. o Each course must be scheduled for exactly one timeslot and one room, to remain constant throughout the scheduling period.