A Heuristic Approach to Course Scheduling Problem

5 downloads 41521 Views 249KB Size Report
Department of Computer Science ... we have taken a scheduled list of courses and the teachers ... their particular rules and regulations, the basic problem has.
A Heuristic Approach to Course Scheduling Problem D Karmaker, M R Islam, H Rahman, A Bhowmik and M N Imteaj Computer Vision Lab Department of Computer Science American International University-Bangladesh {d.karmaker, riyan, hafizur,abhijit}@aiub.edu and [email protected]

Abstract—Today the number of students in every educational institution increased a lot. As a result more courses are to be offered by the institutions and employ more teachers as well. Day by day due the increase of the courses and course teachers the assigning of teachers to respective courses has become time worthy and difficult. This raises a problem in the educational sector. Till now a lot of researches have been carried out to find reasonable algorithms for efficient automated processes. In this paper we tried to solve the problem of assigning teachers to respective courses. The problem arises when a timetable is to be prepared without overlapping the class timings. We have developed an algorithm for automated system based on searching and sorting. Moreover the process will advance with two separate lists of teachers and course. As an additional constraint we have considered the preferred course for each teacher. The final output will be a complete time table. The algorithm was designed on the basis of a simulation with a set of teachers and class schedules of a University. The simulation produced solutions that can be favorably compared with the solutions proposed by the experts. Keywords— Course Scheduling, Timetabling Problem, Greedy Algorithm, Heuristics.

I. INTRODUCTION The timetabling problem is a very common problem that is faced by the educational institutes now a day. Vast researches have been carried out to find a reasonable solution to this problem. The problem has diverse types of scheduling problems like as examination and course timetabling problems [1]. The course scheduling problem can be further divided into five sub-problems: (i) teacher assignment, (ii) class-teacher timetabling, (iii) course scheduling, (iv) students scheduling [23] and (v) classroom assignment. Here we considered only two problems: teacher assignment and class-teacher timetabling as we are concerned about the rules and regulations of a particular educational institution. The course scheduling and classroom assignment is considered to be done and the student scheduling will be done by the students at their own.

Many research papers have been published to solve particular sub-problems like, by Al-Yakoob and Sherali, the teacher assignment problem has been solved before solving the course scheduling problem [2][3]. In this paper

we have taken a scheduled list of courses and the teachers list to develop the algorithm to assign each teacher with a couple of courses. We have managed the procedure by considering the general load of teachers for their courses and the assignment was done mostly based on their preferred courses. Although the scheduling problems can vary extensively in different institutions depending on their particular rules and regulations, the basic problem has been considered to design the proposed algorithm. The later parts of this paper is structured as follows: Section II consists of the discussion on relevant works done earlier. Section III describes the problem which is important for the description of how the algorithm is implemented. Then, Section IV describes the proposed algorithm based on sorting and searching, used to achieve the desired solution described in Section III. Section V gives the theoretical results obtained and the corresponding comments and Section VI provides the conclusion of the paper.

II. RELATED WORKS Earlier a good number of algorithms have already been proposed to solve the timetabling problems including heuristics [4][5], graph coloring algorithms [6][7] and integer programming approaches [2][3][8]. Over the last few years, metaheuristics have proven to be highly useful for approximately solving timetabling problems in practice. Simulated Annealing [9][10][11] and Tabu Search [12][13][14][15] are examples of metaheuristics applied to the timetabling problem. Different researchers instead of applying one single heuristic approach combine a number of different heuristics to formulate one single algorithm [16]. Several diverse classifications of hybrid metaheuristics are demonstrated by Blumi et al. [17], Puchinger and Raidl [18] and Talbi [19]. There are also some more research works on describing applications of hybrid metaheuristics in the scheduling algorithms. For example: the hybrid multi-objective evolutionary algorithm proposed by Cote et al. [20]. Latest researches that use heuristic approaches to solve the scheduling problem are stated here, Chiarandini et al. treated the problem by means of an algorithm based on a

framework consisting of the successivve application of construction heuristics, variable neighborrhood descent and

Simulating Annealing [21]. Rahou ul et al. constructed a

F Fig 1: The Course Scheduling Problem hybrid of two metaheuristics, Genetic Alggorithm and Tabu Search, to solve the timetabling problem of the University mediene (USTHB) of Science and Technology Houari Boum [22]. But in this paper we have designed the whole algorithm based on one heuristic that is the preferred courses of the teachers to assign theem to respective courses. III. PROBLEM DESCRIPTIION The basic scheduling problem onlly considers the following situation: each course can onlyy be taught by one teacher and conducted only once a week.. The problem we are handling to solve with our algorithm m in this paper has several constraints: • Some courses are divided into a nuumber of sections based on capacity of the classroom ms and number of students eligible for the course. • One or more teachers can be assiigned to different sections of any specific course. • The classes of the courses vary in duration. The Laboratory classes will have morre hours than the theory classes. The details of the scheduling problem m can be described as follows: a number of courses and couurse sections have to be allocated to teachers based on thee teacher’s course preferences. These allocations would be further scheduled into time periods based on the regular free time of the teachers. We have considered the sectionns differently not the courses at all. The illustration is show wn in the Fig. 1.

Each teacher should be assigned to a ccertain number of courses that can allow his best preparatioon for the classes. This will be done on the basis of a presscribed maximum class load for a teacher. Moreover, if all the teachers are me more courses given with their maximum load and som remain to be assigned to the teachers, som me of the teachers

T overload will be will be assigned to more classes. This assigned keeping a limit. If further this t limit is fulfilled by the courses and more courses remaain, it reflects the fact that more teachers are needed to be assigned for the given y handled that each of number of courses. It will be strictly the courses will be given to only onee teacher at a time. The time tabling will be done in a so orting order that will maintain the reasonable gap betweeen two classes for the teachers. Moreover, all the courses that t will be taught by a single teacher should be spread evenly e throughout the week. This is will be helpful for the teachers as they can have good preparation for the lecturres and simultaneously conduct same classes per day. LGORITHM IV. THE PROPOSED AL The proposed algorithm is design ned on the basis of one heuristic: course preferences of the teachers. t Sections will be assigned to the teachers according g to their preferences if there is any preferred course else the sections will be T algorithm basically assigned to the teachers randomly. The consists of two operations: he basis of their start 1) Sorting the sections on th time, i.e. if and arre two sections of a particular course or differen nt course in the sorted list, the start time of will w be earlier than or . same as the start time of for 2) Assigning each of the teachers to the sections of their preferred courses maaintaining their overall load for the lectures according to the policy of the particular institution. After completing the two steps iff any more sections are left unassigned, those will be extractted. This indicates that the number of teachers present for the t required number of sections is not sufficient. So the second step can be oad for the teachers or repeated by increasing the lecture lo

adding new teachers to the teachers’ list. The considered The second operation for assigning the classes to teachers will be conducted on the basis of the following conditions: i) if the respective course of a section is in the preference list of the teacher, ii) if the teacher has a free time slot for the section and iii) if the lecture load of the teacher is not fulfilled. Mostly, the classes for a course are divided on one or more weekdays. If any section is assigned to a teacher, all the other instances of that section on other days will be excluded and added to the schedule of the teacher. The pseudo code of the proposed algorithm: CourseScheduler() 1. define maxLoad 2. foreach teacher t: 3. load[t] = 0; 4. sort sectionList by start time; 5. classify the sections by weekdays 6. foreach day d: 7. foreach section s: 8. foreach teacher t: 9. if preferred course and free time slot and load[t] < maxLoad: 10. assign s to t; 11. if s in other days: 12. remove s; 13. goto 7; 14. if s is unassigned: 15. foreach teacher t: 16. if free time slot and load[t] < maxLoad: 17. assign s to t; 18. if s in other days: 19. remove s; 20. goto 7; 21. mark s as unassigned; 22. return scheduled and unassigned sections The overall process is described below: At first all of the sections of various courses will be sorted on the basis of the start time. After that, the sections will be divided according to the scheduled day for the lectures. This will be done to ensure that the courses will be sequentially assigned to the teachers and the division into days will reduce the computation time as a section has its scheduled class on different days of the week. If for any day it is assigned it will be removed from other days too. Since the courses will be sorted, it is expected that the output solution will be an efficient one. After that, for each course at first there will be a search if the section of the course is preferred by any of the teachers or not. If the course is preferred, the course will be assigned to the teacher provided he is free that time and his load for the teaching hour does not exceed. Otherwise, another search will be done on the teacher list to get a free slot for that course i. e.

approach provides the teachers reasonable class timings. the section will be assigned randomly. If any free slot is found in any teacher’s time stamp, the course will be assigned. Even after the second iteration the course remains un-assigned; it will be extracted and this indicates that the number of teachers is not sufficient for the number of sections under consideration. So, the whole process has to be repeated again with increasing load for the teachers or new teachers are to be assigned. The proposed algorithm will generate a schedule where teachers will be assigned for courses on the basis of their maximum load for the sections of the courses and a list of unassigned sections. After that, manually the unassigned courses can be assigned to the teachers by increasing their maximum load or employing new teachers if the time schedules of the teachers are not favorable. Moreover, it can be done automatically with this algorithm by increasing the limit of maximum load. By running this process once more the unassigned courses can be assigned to the teachers. Even after that, if any unassigned course is left, those can be manually assigned.

V. PERFORMANCE ANALYSIS If total number of sections in Section List is 0 , 1 , 2 , 3 , . .. , 1 , total number of teachers in Teacher List is 0 , 1 , 2 , 3 , … , 1 and number of days is denoted by then for worst case time complexity can be denoted as, . . 2. . . . .

Here the number of days can be different for different academic institutions. Some institutes consider 5 days as working day or 6 days. As perspective, the data set is not that huge that we consider our time complexity as temptation matter. It is ignorable in accordance with our main objective to set the gap duration between two classes for each teacher is the minimum. VI. CONCLUSION The main motivation for this work is to reduce the human effort to solve the teacher assignment to respective courses. A new sort and search based algorithm is proposed to solve the problem. Simulative experiments show that the proposed algorithm is able to produce good quality solutions within reasonable computation time when compared to previous research works. A possible future research area can be developed from this work. This algorithm is basically developed based on genuine searching and sorting algorithms but using more time and memory efficient algorithms can be brought up using more established algorithms such as, maximum flow algorithm, IDA* search algorithm etc. It is also possible

extending this algorithm to solve other time tabling [12] problems. REFERENCES [1]

[2]

[3]

[4] [5]

[6]

[7]

[8]

[9]

[10]

[11]

M. W. Carter and G. Laporte, “Recent developments in practical course timetabling,” in Practice and Theory of Automated Timetabling II. Springer, 1998, pp. 3–19. S. M. Al-Yakoob and H. D. Sherali, “Mathematical programming models and algorithms for a class–faculty assignment problem,” European Journal of Operational Research, vol. 173, no. 2, pp. 488–507, 2006. S. M. Al-Yakoob and H. D. Sherali, “A mixed-integer programming approach to a class timetabling problem: A case study with gender policies and traffic considerations,” European Journal of Operational Research, vol. 180, no. 3, pp. 1028–1044, 2007. J. Aubin and J. A. Ferland, “A large scale timetabling problem,” Computers & Operations Research, vol. 16, no. 1, pp. 67–77, 1989. M. Caramia, P. DellOlmo, and G. F. Italiano, “New algorithms for examination timetabling,” in Algorithm Engineering. Springer, 2001, pp. 230–241. E. K. Burke, J. H. Kingston, and P. A. Pepper, A standard data format for timetabling instances. Springer, 1998. E. Burke and M. Carter, Practice and Theory of Automated Timetabling II: Second International Conference, PATAT’97, Toronto, Canada, August 20-22, 1997, Selected Papers. Springer, 1998, vol. 2. S. Daskalaki, T. Birbas, and E. Housos, “An integer programming formulation for a case study in university timetabling,” European Journal of Operational Research, vol. 153, no. 1, pp. 117–135, 2004. D. Abramson, “Constructing school timetables using simulated annealing: sequential and parallel algorithms,” Management Science, vol. 37, no. 1, pp. 98–113, 1991. M. A. S. Elmohamed, P. Coddington, and G. Fox, “A comparison of annealing techniques for academic course scheduling,” in Practice and Theory of Automated Timetabling II. Springer, 1998, pp. 92–112. R. Bai, E. K. Burke, G. Kendall, and B. McCollum, “A simulated annealing hyper-heuristic for university course timetabling,” in Proceedings of 6th International Conference on the Practice and Theory of Automated Timetabling. Citeseer, 2006, pp. 345–350.

[13]

[14]

[15]

[16] [17]

[18]

[19] [20]

[21]

[22]

[23]

E. K. Burke, G. Kendall, and E. Soubeiga, “A tabu-search hyperheuristic for timetabling and rostering,” Journal of Heuristics, vol. 9, no. 6, pp. 451–470, 2003. D. Costa, “A tabu search algorithm for computing an operational timetable,” European Journal of Operational Research, vol. 76, no. 1, pp. 98–110, 1994. R. Alvarez-Valdes, E. Crespo, and J. M. Tamarit, “Design and implementation of a course scheduling system using Tabu Search,” European Journal of Operational Research, vol. 137, no. 3, pp. 512–523, 2002. C. A. White, E. Nano, D.-H. Nguyen-Ngoc, and G. M. White, “An evaluation of certain heuristic optimization algorithms in scheduling medical doctors and medical students,” in Practice and Theory of Automated Timetabling VI. Springer, 2007, pp. 105– 115. G. R. Raidl, “A unified view on hybrid metaheuristics,” in Hybrid Metaheuristics. Springer, 2006, pp. 1–12. C. Blumi, A. Roli, and E. Alba, “1 An Introduction to Metaheuristic Techniques,” Parallel Metaheuristics: A New Class of Algorithms, vol. 47, p. 1, 2005. J. Puchinger and G. R. Raidl, “Combining metaheuristics and exact algorithms in combinatorial optimization: A survey and classification,” in Artificial intelligence and knowledge engineering applications: a bioinspired approach. Springer, 2005, pp. 41–53. E.-G. Talbi, “A taxonomy of hybrid metaheuristics,” Journal of heuristics, vol. 8, no. 5, pp. 541–564, 2002. P. Cotˆ e, T. Wong, and R. Sabourin, “A hybrid multi-objective evolutionary algorithm for the uncapacitated exam proximity problem,” in Practice and Theory of Automated Timetabling V. Springer, 2005, pp. 294–312. M. Chiarandini, M. Birattari, K. Socha, and O. Rossi-Doria, “An effective hybrid algorithm for university course timetabling,” Journal of Scheduling, vol. 9, no. 5, pp. 403–432, 2006. M. Rahoual and R. Saad, “Solving timetabling problems by hybridizing genetic algorithms and tabu search,” in Proceedings of the 6th international conference on the practice and theory of automated timetabling(PATAT06). Citeseer, 2006, pp. 467–472. S Ahmed, S I Ahmed, M Rahman, “Application of Dynamic Approach to AIUB Course Scheduling Problem”, AIUB Journal of Science and Engineering (AJSE), vol. 12, no. 1, pp. 117-124, 2013.