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
[email protected],
2
[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 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
[email protected]
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.