

Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
promlems with assigning students/lecturers to classes and time-slots
Typology: Study Guides, Projects, Research
1 / 3
This page cannot be seen from the preview
Don't miss anything!


Faculty of Computer Science and Information Technology Universiti Malaysia Sarawak Sarawak, Malaysia Email:∗[email protected], †[email protected], ‡[email protected]
Abstract—This paper studies university course timetabling problem in a case study related to faculty management system, which is concerned with assigning students/lecturers to classes and time-slots. In order to increase flexibility choices of timeslot for “repeaters”, the problem has become more tight in scheduling. A two-stage heuristic approach is presented, where the initial stage groups the courses that are able to conduct simultaneously. The second stage then assigns the weekly timeslots for each group of courses, followed by venue for each course. Computational results are presented for the proposed solution using real data. It shows that the proposed solution is effective to handle the faculty course timetabling.
Keywords—automated timetabling; two-stage heuristic
Course timetabling is well known as NP-complete [1] and has been studied extensively over the past decades [2], [3] and [4]. However, it is “ambitious” to develop a fully automated timetabling mechanism to meet the needs of all concerned. Eventually, the timetabling process requires a lot of manual effort.
In Universiti Malaysia Sarawak (UNIMAS), course timetabling is managed by two parties: faculty management and Centre of Applied Learning and Multimedia (CALM). Each faculty owns a number of lecture/tutorial rooms, while CALM manages four Centres of Teaching Facilities (CTF). Every CTF consists of one lecture hall (LH) with capacity of 540 students and six seminar rooms (SR) with capacity of 150 students. In the beginning of the timetabling setup, CALM will pre-assign each faculty a number of slots at CTFs based on past experience, to accommodate courses with large number of students. Together with the pre-assigned rooms allocation from CALM and own faculty’s facilities, the responsibility of constructing faculty course timetable falls on each faculty management. This is mainly because each faculty has different preference or request from lecturers.
Previously, Faculty of Computer Science and Information Technology (FCSIT) course timetabling was handled by two experience planners. The planning process was overwhelmed with abundance of constraints and time consuming to even find a feasible solution. This paper presents a real solution to this faculty course timetabling by using a two-stage heuristic method.
In this timetabling problem, we consider a set of offered courses, C = {C 1 , C 2 ,... , Cn} will be enrolled by a set of students (including lecturers), S = {S 1 , S 2 ,... , Su}. Each course i has a list of potential students and lecturers. Let define the set of potential students and lecturers as PC = {PC 1 , PC 2 ,... , PCn }, where PCi ⊂ S and Ci ∈ C.
A two-stage heuristic is proposed to solve this course timetabling case study. This is due to its simplicity to cope with different hard and soft constraints in two stages.
A. Stage I (Course Grouping)
All the courses will be divided into a few groups based on the following constraints:
The main idea of course grouping is to cluster several courses into one group so that these courses can have lecture concurrently during the same timeslot in different venues by different lecturers and students. The task of this stage is to reduce the problem size, from n courses to m groups where n > m. Let define a set of group, G = {G 1 , G 2 ,... , Gm} where Gi 6 = ∅ and G 1 ∩ G 2 ∩... ∩ Gm = C. The course grouping algorithm is shown as follow:
Step 1 Calculate each course’s pairing ability, Yi with other courses
Algorithm 1 Calculate pairing ability n = number of courses for i = 1 to n do Yi = 0 for j = 1 to n do if (PCi ∩ PCj = ∅) then Xij = 1 else Xij = 0 end if Yi = Yi + Xij end for end for
Step 2 Course with minimum pairing ability, Yk, Ck ∈ C is added into a new group, Gm with group number m. Then add courses in Gm. This step is repeats until all courses been assigned for a group.
Algorithm 2 Assign courses into groups m = 1 while (all assign[C] = false) do k = index of minimum Y INSERT Ck ∈ Gm for j = 1 to n do if (Xkj = 1) then for every course i in Gm do if (every Xij = 1) then if (fulfil total venues capacity) then INSERT Cj ∈ Gm assign[Cj ] = true end if end if end for end if end for assign[Ck] = true m = m+ 1 end while
B. Stage II (Timeslot Allocation)
This stage takes into account time-related constraints:
Due to the limited availability of bigger venues given by CALM, a pre-processing algorithm is conducted. First, let us define a set of timeslot types, Q = {Q 1 , Q 2 ,... , Q 5 } (as in TABLE I), and a set of timeslot throughout a 5-day week (11 timeslot per day), Vi,j = {V 1 , 1 , V 1 , 2 ,... , V 5 , 11 }. For each Vi,j is assigned a timeslot type, Qi ∈ Q based on its venues availability. Meanwhile, each Gk ∈ G is also assigned a timeslot type, Qi ∈ Q based on its need.
TABLE I. TYPE OF TIMESLOT
Timeslot types, Q Number of room available LH SR Q 1 1 2 Q 2 1 1 Q 3 1 0 Q 4 0 2 Q 5 0 1
In this stage, each of the group Gk ∈ G from previ- ous stage is assigned a timeslot. A new timeslot set T = {T 1 , 1 , T 1 , 2 ,... , T 5 , 11 } is proposed to update the timeslot allo- cation for each Gk ∈ G. Besides matching the group venue’s need and timeslot ability, we consider the even distribution of the lecture of students.
Algorithm 3 Timeslot Allocation for k = 1 to m do i = day with least lecture hours for the most junior course in Gm for j = 1 to 11 do if (Vi,j = Gk) then UPDATE timeslot for Gk, Ti,j = k end if end for end for
Some groups with all small size courses do not need any big lecture room. These groups have not been labelled with any type and thus unallocated. They will be allocated into empty timeslots which are not occupied by any venue of CTF.
FCSIT had roughly 600 students at the semester 1 of academic year 2011/2012, taking five different programmes. The faculty owns ten tutorial rooms, TR (with capacity of 30 students) and one lecture theatre, MMT (with capacity of 120 students). On top of that, the faculty was given one lecture hall, LH and two seminar rooms, SR at CTF for certain timeslots. The venue availability is illustrated in TABLE II. In that semester, 49 courses were offered and conducted by 46 academics. The data was studied to evaluate the performance of proposed heuristic.
TABLE II. SUMMARY ON VENUE
Management Team Venue
Number of Room Available
Student Capacity
Available Timeslot
CALM LHSR^1 540 Limited 2 150 FCSIT MMTTR 1 120 All the time 10 30
The heuristic experiment was coded in C# and all the ex- periments were carried out on a Toshiba i5 2.6GHz computer. All experimental tests can be computed in less than 2 minutes. While the manual course timetable planning took two to three weeks.
The grouping stage has successfully clustered 49 courses into 16 groups with minimum two and maximum five courses per group. The result shows that the grouping algorithm is able to average the courses into 16 groups; i.e. and the mod of statistic is also 3 (refer to TABLE III). The total number of the groups, 16 groups is the minimum number that the algorithm can generate. There are sufficient timeslots (48 hours weekly) to allocate 16 groups of courses. If the number of groups generated is large, it might not be able to get a feasible solution unless more timeslots available (night time or Saturday).