01 Automated Timetabling System For University Course
01 Automated Timetabling System For University Course
Thadomal Shahani Engineering College, Thadomal Shahani Engineering College, University of Mumbai,
University of Mumbai, University of Mumbai, [email protected]
Maharashtra, India
K.Y. Rajput
Mani Roja Edinburgh Electronics and Telecommunication,
Electronics and Telecommunication, Thadomal Shahani Engineering College,
Thadomal Shahani Engineering College, University of Mumbai
University of Mumbai Maharashtra, India
Maharashtra, India
[email protected]
Abstract— Generating timetable for university with many These constraints can be viewed from student’s, faculty’s and
branches, different years, and multiple batches is a tiresome job. resource’s perspective.
It takes a lot of time and is required for every semester that is of
six months. Thus, a lot of time and manpower is taken up by this x Studentÿÿs point of view ̢ ĀAll my lectures must
process. In some cases, the manual process of creating timetables schedule in different time-slots to avoid clashes!ā“I
is too cumbersome. Creating temporary timetables when a want adequate time gaps between lectures so that my
faculty is on leave is impractical. In this paper, we have created time will not be wasted!’’
an algorithm to generate timetables which can save a lot of time
and pressure on the person doing this job manually. A software- x Facultyÿs point of view ̢ ĀI cannot teach more
based approach is better, as a computer can process data and than one lesson during any time slot! ā “Teaching
churn out results at a much higher rate with greater accuracy. continuously more than 2 hours is exhausting for
Also, it can be coded and optimized as per requirements set by me!’’
different universities and the base code will remain the same.
x Resourceÿs perspective ̢ Two or more lectures,
Keywords— Automated Timetabling, timetable, soft constraints, tutorial or practical cannot occupy the same
hard constraints, optimization, python, TKinter toolbox, CSV Classroom/ laboratory in a common slot.
(comma separated values) file.
The development of the algorithm to generate conflict-free,
I. INTRODUCTION optimized timetable automatically in less time for large
“Timetabling is one of the common scheduling problems, university courses exemplified in this paper by using data of
which can be described as the allocation of resources for tasks Electronics and Telecommunication (EXTC) department of
under predened constraints so that it maximizes the Thadomal Shahani Engineering College (TSEC), University of
possibility of allocation or minimizes the violation of Mumbai.
constraints” [1]. Due to the non-proportionality between a II. LITERATURE REVIEW
rapid increase in the number of students enrolled, university
courses and accessible resources, the complexity of the The problem of class teacher timetabling was first studied
problem has become multifold. “This problem is described as a by Gotlieb in 1962. [3] Since then several algorithms have
Non-Polynomial-hard combinatorial optimization problem been introduced to solve the problem. The earliest solution
having no specific solution” [2]. proposed was based on sequential methods that deal with
timetabling problems as a graph problem. [4] Later, several
Currently, in most of the institutes, this time-consuming researchers applied the Evolutionary Algorithm (EA) and
most complex problem is tackled manually by a single person Genetic Algorithm (GA) approach to find a feasible and
or a group of related people with the only goal of producing optimized solution for highly constrained systems [5]. Meta-
feasible timetables. This may lead to unnecessary wastage of heuristic methods [6], tabu search, cluster methods, simulated
faculties and concerned members precious time due to lack of annealing, scatter search methods, fuzzy logic [7] are some
optimization in the generation of timetable. One cannot deny other approaches [8] used by the intelligent methods [9] such
the human errors which will introduce conflicts such as as Swarm intelligence, [10] Artificial Neural Networks and
overlapping of resources, double booking of time-slots, etc. hybrid approach. However, all of these methods took help of
To generate conflict-free and optimized timetable, adequate foundational algorithms which are highly sensitive, even a
constraints need to be considered. These constraints are often small change results in different group level behaviour. Also,
classified as either hard or soft in nature. Fulfilling just hard the user interface was not involved, which made deployment
constraints will create a feasible solution but satisfying harder.
maximum soft constraint would give an optimized solution.
Authorized licensed use limited to: California State University Fresno. Downloaded on June 26,2021 at 14:30:50 UTC from IEEE Xplore. Restrictions apply.
Mohamed Abdelfattah and Ahmed Shawish published a from VII semester onwards. These options are the
paper on ‘Automated Academic Schedule Builder for same for different departments.
University’ which “the genetic algorithm to produce an optimal
timetable for each faculty within a university. The proposed x Fixing lecture in fixed timeslot: Time slots and
application produced a nearly optimal timetable”. The fitness rooms of some lectures are fixed. No other class
function designed here is generic in nature to fit in any should be taken at that time.
environment, hence require some manual modification in the x Interdepartmental courses: Students are allowed to
end to satisfy all the requirements. The more complex take some courses which are taught by other
environment will take more time to produce results using departments.
genetic algorithm approach.” [11]
x Practical and tutorial: Every subject has either 2
Another research paper on ‘automated college timetable hours of practical or 1 hour of tutorial every week.
generator’ was published by Adithya R Pai, Ashwitha S,
Raksha Shetty, Prof. Geethalaxmi in 2018. “In this paper, x Contact Hours: Every subject has a fixed number of
researchers have first approached the problem with Genetic contact hours to complete within a week.
Algorithm and further compared it with a Genetic Artificial
x Faculty Load: Each faculty must have a total load of
Immune Network (GAIN). Results showed that GAIN is able
14 – 16 hours in a week.
to reach the optimal feasible solution faster than that of GA”.
[12] Use of genetic algorithms and GAIN makes it The timetabling problem includes different constraints,
computationally expensive. these are classified into hard constraints and soft constraints.
The goal is to satisfy all hard constraints and to minimize the
In IIT Kanpur, Dilip Datta, Kalyanmoy Deb and Carlos M.
violation of the soft constraints.
Fonseca came up with the solution for a very complex system
of their institute. In this work, “The potentiality of IV. PROPOSED SOLUTION
Evolutionary Algorithms (EAs) has been exploited to schedule
the even-semester classes of the institute. Using a multi- The ‘Automated Timetabling System for University
objective EA-based university class timetable optimizer, a Course’ is split into three modules, Input module, Operational
number of trade-off solutions, in terms of multiple objectives, module and Display module.
were obtained very easily”. [13] However, this approach is x Input Module: The fundamental data regarding
restricted to their institution. branch, semester, time slots, subject, faculty,
classroom/laboratories, practical and electives;
III. PROBLEM STATEMENT
required for creating timetables are entered, stored
The general timetable problem can be expressed as, a and updated in this module.
multidimensional [14] assignment problem, in which available
time slots are allocated to lectures and assign them several x Operational Module: The automated timetables for
resources (faculty, students and classrooms/laboratories) such students, faculties and classrooms/laboratories are
that no clashes occur with optimum usage of time. The generated using the input data and proposed
cumbersome timetabling problem is repeated twice a year in algorithm.
every academic institute. The complexity of the timetabling x Display Module: Generated studentÿs, facultyÿs
problem of EXTC department of TSEC institute depends on
and respective classrooms ÿ / laboratories ÿ
the following aspects which are taken into consideration in the
paper: timetables are displayed in this module through the
graphical user interface (GUI).
x Semester pattern: The whole engineering course is
divided into eight semesters (even and odd) of six
months. In the first half of the academic year, students
complete odd semesters, in the next half even
semesters.
x Dividing into batches: Due to a large population of
students and limitations of resources, each batch is
divided into multiple batches according to number
students in a class for practical and tutorial courses.
x Multiple faculties: Single-subject can be taught by
more than one faculty.
Fig. 1. System Architecture.
x Departmental level elective subjects: Courses
according to their interests from V semester onwards. A. Graphical User Interface (GUI)
These options are distinct for different departments. For user-friendly access to the system's input module and
x Institutional level electives: Students are given display module, interactive interfaces are built. These GUIs are
options to choose courses according to their interests created using Tkinter toolbox.
329
Authorized licensed use limited to: California State University Fresno. Downloaded on June 26,2021 at 14:30:50 UTC from IEEE Xplore. Restrictions apply.
B. Access to Modules x Some classes need to be held consecutively. For
x Input Module: The authorized faculty of the example, a four-hour-long practical.
department has access to the input module to D. Input Module
preserve the integrity and authorization of the
information. Access is given after verifying Login The option 'Enter Details' will direct the user to an input
Id and Password. module after validating login ID and password. The following
details are taken from the user and stored into CSV files. The
x Operational Module: Access is given to only the details are entered in the input module as shown in Fig. 2.
software developing team.
x Display Module: Every student and faculty can
access.
C. Constraints
Constraints are the rules that should be followed by an
operational module to create conflict-free, flexible and
optimized timetables.
1) Hard Constraints: These are the set of rules that must
be realized to construct a conflict-free timetable. The
following hard constraints are taken into
consideration.
x Students must not have two lectures/practical at the
same time.
x All batches should be allotted practical if falling
between two lectures.
x There should not be a free slot other than a working
break.
x Faculty should not be given two different classes at Fig. 2. Input Module
the same time.
1) Branch Details: Branch name for which the timetables
x Each faculty has their minimum and maximum limit
of weekly working hours. should be generated is selected.
2) Working Days: Select all the working days of the week.
x Rooms and laboratories should not be double-booked 3) Time-Slots Detail: The start and end time of working
in the same time-slot. slots and break slots in a day are entered.
x Weekly load of every subject should meet the 4) Subject Details: The name of each subject with a
university subject requirement. semester in which it is taught, it's weekly theory, practical and
tutorial load, classroom and laboratory details are provided.
x Each lecture/practical must be assigned to 5) Faculty Details: Faculty name, subject which he/she is
its appropriate room.
going to teach, total theory, practical and tutorial load shared
x Elective lectures in the same time slot must be allotted by him/her is given. These faculty details are entered multiple
to different rooms. times if he/she teaches multiple subjects.
2) Soft Constraints: Conditions those are optional but 6) Elective Details: The name of elective subjects, the
advocated to achieve more enhanced timetable for the semester in which they are taught with their theory load,
faculty and students. practical load, classroom and laboratories details are provided.
The type of elective (departmental level/institutional level) is
x All parameters are customized by the user. entered.
x No two tutorials in one day so students can prepare 7) Special Case Input: Interdepartmental
properly. subjects/practical, institutional level electives, two-hour-long
tutorial, etc. such as exceptional cases or any new changes to
x Faculty should not have consecutive lectures in a day.
the system can be added manually to maintain the flexibility
x Lectures should be scheduled in one building or at of software. The fixed time-slot with faculty and
one location on campus to minimize delays and avoid classroom/lab details are provided in such cases. The special
exhaustion for students and faculties. case inputs are shown in Fig. 3.
330
Authorized licensed use limited to: California State University Fresno. Downloaded on June 26,2021 at 14:30:50 UTC from IEEE Xplore. Restrictions apply.
Fig. 3. Special Case Input
E. Operational Module
1) Initialization: An empty timetable for each faculty,
classroom, laboratory and students are initialized. The inputs
are fetched from the input module in the required format.
2) Special Case Allocation: First, the special case inputs
are allocated as fixed slots according to the flowchart in Fig 4.
3) Removing Extra Slots: To satisfy the hard constraint
there shouldn't be free slot between two working slots except
for breaks', delete the extra available slots. Extra slots are
removed according to the flowchart in Fig. 5.
331
Authorized licensed use limited to: California State University Fresno. Downloaded on June 26,2021 at 14:30:50 UTC from IEEE Xplore. Restrictions apply.
Fig. 5. Removing of the Extra Slots.
5. Allot the electives subject to the slot and update 5) Practical Allocation: Practical slots are allocated
the respective changes into faculty and class according to the flowchart in Fig. 7.
timetable. 1. Choose random two consecutive time-slots.
6. Decrease the respective subject load and faculty 2. Check for slot’s availability. If available go to step
load by 1 hour. 3 else step 1.
7. Repeat the steps 1 to 6 until all elective theory 3. Choose a batch.
hours become zero.
4. Choose random practical subject whose workload
8. Finish. is non-zero.
5. Check for faculty and lab availability from faculty
and lab timetable. If available proceed to step 6,
else step 4.
6. Repeat step 3-5 for every batch.
332
Authorized licensed use limited to: California State University Fresno. Downloaded on June 26,2021 at 14:30:50 UTC from IEEE Xplore. Restrictions apply.
7. If all batches are allotted to distinct practical 6) Theory Lectures Allocation: Theory lectures are
subjects, go to step 8, else step 1. allocated according to the following algorithm.
8. Allot the practical slot in student, faculty and lab 1. Choose random slot from student timetable.
timetable. 2. Check for time-slot’s availability. If available go to
9. Decrease the respective practical and faculty step 3 else go to step 1.
workload by 2 hours. 3. Select a random subject from theory subject list
10. Repeat the steps 1 to 9 until all the practical whose workload is non-zero.
subjects are allotted. 4. Check for faculty and classrooms availability from
11. Finish. faculty and classroom timetable. If available proceed
to step 5, else step 1.
5. Allot the subject and update the respective changes
into faculty and class timetable.
6. Decrease the respective subject’s theory load and
faculty load by 1 hour.
7. Repeat the steps 1 to 6 until all elective theory hours
become zero.
8. Finish.
7) Tutorial Allocation: Tutorial slots are allocated
according to the following alorithm.
1. Choose a random marginal slot.
2. Check for time-slot’s availability. If available go to
step 3 else go to step 1.
3. Select a random tutorial subject from whose workload
is non-zero.
4. Check for faculty and classrooms availability. If
available proceed to step 5, else step 1.
5. Allot the tutorial to the slot and update the respective
changes into faculty and class timetable.
6. Decrease the respective subject’s tutorial load and
faculty load by 1 hour.
7. Repeat the steps 1 to 6 until all elective theory hours
become zero.
8. Finish.
8) Operational Module Flowchart: Operational Module
works according to the following algorithm.
1. After fetching the required details from the input
module. If special case input is not empty allot them
first. If not, go to step 2.
2. Remove all the extra slots.
3. If there are elective subjects in the curriculum, allot
them next. If not, go to step 4.
4. If there are practical subjects in curriculum, allot them
in 2-hours slots for every batch. If not, go to step
5. Next, allot all the theory subjects.
6. If there are tutorials in the curriculum, allot them next.
7. Repeat the whole algorithm until all subjects are
allotted.
333
Authorized licensed use limited to: California State University Fresno. Downloaded on June 26,2021 at 14:30:50 UTC from IEEE Xplore. Restrictions apply.
V. RESULTS This research work can be extended to be utilized by
The proposed algorithm was programmed using python 3, different colleges/universities and even places where the same
uses Tkinter as a Graphic User Interface (GUI) and the type of timetabling is required. The program can be hooked up
algorithm was tested for timetable generation of Electronics with college’s/university’s mobile app and/or website, thus
and Telecommunication department. The GUI is user friendly making the data more accessible and notifying the concerned
and simplified; it contains a help section to guide you through students/professors, if there is a change in a timetable. Letting
the application. The algorithm after implementation leads to the students and faculties control some soft constraints of
the generation of a timetable for a class of students (Fig 8), timetable, like duration of a lecture, or the starting time for the
faculties (Fig 9), classrooms and laboratories. It also addresses day. The most interesting future direction in the development
all hard constraints such as different laboratories for all the of this algorithm lies in an automatic adaption of timetable if
batches and availability of faculties. any lecture gets cancelled or any faculty is on long leave.
334
Authorized licensed use limited to: California State University Fresno. Downloaded on June 26,2021 at 14:30:50 UTC from IEEE Xplore. Restrictions apply.