A Heuristic Approach to Course Scheduling Problem
Transcription
A Heuristic Approach to Course Scheduling Problem
1 A Heuristic Approach to Course Scheduling Problem Debjyoti Karmaker 1 , Mir Riyanul Islam 2 , Md. Nabid Imteaj 3 Department of Computer Science, American International University - Bangladesh Banani, Dhaka-1213, Bangladesh 1 d.karmaker@aiub.edu, 2 mirriyan41@gmail.com, 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 rise 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. I NTRODUCTION HE 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 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. T 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 3 nabid.imteaj@live.com 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. R ELATED W ORKS ARLIER a good number of algorithms have already been proposed to solve the timetabling problems, including heuristics [4][5], graph colouring 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. E 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 successive application of construction heuristics, variable neighborhood descent and Simulating Annealing [21]. Rahoul et al. constructed a hybrid of two metaheuristics, Genetic Algorithm and Tabu Search, to solve the timetabling problem of the University of Science and Technology Houari Boumediene (USTHB) [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 them to respective courses. 2 Fig. 1: The Course Scheduling Problem III. P ROBLEM D ESCRIPTION HE basic scheduling problem only considers the following situation: each course can only be taught by one teacher and conducted only once a week. The problem we are handling to solve with our algorithm in this paper has several constraints: • Some courses are divided into a number of sections based on capacity of the classrooms and number of students eligible for the course. • One or more teachers can be assigned to different sections of any specific course. • The classes of the courses vary in duration. The Laboratory classes will have more hours than the theory classes. The details of the scheduling problem can be described as follows: a number of courses and course sections have to be allocated to teachers based on the teachers course preferences. These allocations would be further scheduled into time periods based on the regular free time of the teachers. We have considered the sections differently not the courses at all. The illustration is shown in the Fig. 1. T Each teacher should be assigned to a certain number of courses that can allow his best preparation for the classes. This will be done on the basis of a prescribed maximum class load for a teacher. Moreover, if all the teachers are given with their maximum load and some more courses remain to be assigned to the teachers, some of the teachers will be assigned to more classes. This overload will be assigned keeping a limit. If further this limit is fulfilled by the courses and more courses remain, it reflects the fact that more teachers are needed to be assigned for the given number of courses. It will be strictly handled that each of the courses will be given to only one teacher at a time. The time tabling will be done in a sorting order that will maintain the reasonable gap between two classes for the teachers. Moreover, all the courses that will be taught by a single teacher should be spread evenly throughout the week. This is will be helpful for the teachers as they can have good preparation for the lectures and simultaneously conduct same classes per day. IV. T HE P ROPOSED A LGORITHM HE proposed algorithm is designed on the basis of one heuristic: course preferences of the teachers. Sections will be assigned to the teachers according to their preferences if there is any else the sections will be assigned to the teachers randomly. The algorithm basically consists of two operations: 1) Sorting the sections on the basis of their start time, i. e. if si and sj are two sections of a particular course or different course in the sorted list, the start time of si will be earlier than or same as the start time of sj for i < j. 2) Assigning each of the teachers to the sections of their preferred courses maintaining their overall load for the lectures according to the policy of the particular institution. After completing the two steps if any more sections are left unassigned, those will be extracted. This indicates that the number of teachers present for the required number of sections is not sufficient. So the second step can be repeated by increasing the lecture load for the teachers or adding new teachers to the teachers’ list. The considered approach provides the teachers a reasonable class timings. T 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 is divided on one or more weekdays. If any section is assigned to 3 a teacher, all the other instances of that section on other days will be excluded and added to the schedule of the teacher. 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. the section will be assigned randomly. If any free slot is found in any teachers 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 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 schedule and unassigned sections 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. P ERFORMANCE A NALYSIS F total number of sections in Section List is s (0, 1, 2, 3, , s− 1) and total number of teachers in Teacher List is t (0, 1, 2, 3, , t − 1) then for worst case time complexity can be denoted as, I s ( t ≈ 2 s t ≈ s t + t ) 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. C ONCLUSION HE 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. T 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 problems. R EFERENCES [1] 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. [2] 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. [3] ——, “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. [4] J. Aubin and J. A. Ferland, “A large scale timetabling problem,” Computers & Operations Research, vol. 16, no. 1, pp. 67–77, 1989. [5] M. Caramia, P. DellOlmo, and G. F. Italiano, “New algorithms for examination timetabling,” in Algorithm Engineering. Springer, 2001, pp. 230–241. [6] E. K. Burke, J. H. Kingston, and P. A. Pepper, A standard data format for timetabling instances. Springer, 1998. 4 [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] 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. 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. Cˆot´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.
Similar documents
Best Practice Management Software for Wellness Professionals
Better is complete nutrition management software for wellness professionals. Here, better is the best software for health records & nutrition management, meal planning. Visit today & sign up for free! For More Info: http://practicebetter.io/
More information