0% found this document useful (0 votes)
177 views73 pages

Report PDF

This document summarizes a project report on developing a system to automatically generate timetables using permutation and decision making. A team of 4 students submitted the report to Savitribai Phule Pune University to fulfill requirements for a Bachelor of Engineering degree in Computer Engineering. The report includes an introduction to the problem, literature review, software and system requirements, system design diagrams, and project plan. The proposed system aims to generate timetables without overlapping teaching hours by applying Shannon information gain theory, data permutation techniques, and decision making processes.

Uploaded by

amit poddar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
177 views73 pages

Report PDF

This document summarizes a project report on developing a system to automatically generate timetables using permutation and decision making. A team of 4 students submitted the report to Savitribai Phule Pune University to fulfill requirements for a Bachelor of Engineering degree in Computer Engineering. The report includes an introduction to the problem, literature review, software and system requirements, system design diagrams, and project plan. The proposed system aims to generate timetables without overlapping teaching hours by applying Shannon information gain theory, data permutation techniques, and decision making processes.

Uploaded by

amit poddar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 73

A

PROJECT REPORT ON

“Automatic Timetable Generation Using


Permutation and Decision Making”

SUBMITTED TO THE SAVITRIBAI PHULE PUNE UNIVERSITY, PUNE IN


THE PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE
AWARD OF THE DEGREE
OF

BACHELOR OF ENGINEERING
(COMPUTER ENGINEERING)

SUBMITTED BY

Amit Kumar B150244208


Anuradha Singh B150244211
Harshveen Khanduja B150244286
Apoorva Vibhute B150244382

Under the guidance of

Prof. Rachna Somkunwar

DEPARTMENT OF COMPUTER ENGINEERING

DR. D. Y. PATIL INSTITUTE OF TECHNOLOGY, PIMPRI, PUNE 411018

SAVITRIBAI PHULE PUNE UNIVERSITY [2018 - 2019]


CERTIFICATE
This is to certify that Project Entitled
“Automatic Timetable Generation Using Permutation and
Decision Making”
Submitted By
Amit Kumar B150244208
Anuradha Singh B150244211
Harshveen Khanduja B150244286
Apoorva Vibhute B150244382

is a bonafide student of this institute and the work has been carried out by him/her
under the supervision of Prof. Rachna Somkunwar and it is approved for the partial
fulfillment of the requirement of Savitribai Phule Pune University, for the award
of the degree of Bachelor of Engineering (Computer Engineering)

Prof. Rachna Somkunwar Dr. Pramod Patil


Project Guide, H.O.D,
Department of Computer Department of Computer
Engineering Engineering

Dr. S.N Mali


Principal,
Dr.D.Y. Patil Institute of Technology Pune -18

Place: DIT, Pune.


Date: 02/06/2018
ACKNOWLEDGEMENT

It gives me great pleasure and satisfaction in presenting this prelimnary report


on “Automatic Timetable Generation Using Permutation and Decision Making”.

I am thankful to and fortunate enough to get constant encouragement, sup-


port and guidance from all Teaching staffs of [Computer Dept] which helped us in
successfully completing our project work. Also, I would like to extend our sincere
esteems to all staff in laboratory for their timely support.

I have furthermore to thank Computer Department HOD Dr. Pramod Patil


and Guide Prof. Rachna Somkunwar to encourage me to go ahead and for
continuous guidance. I would also like to thank my project team members who
showed immense patience and understanding throughout the project.

I would like to thank all those, who have directly or indirectly helped me for the
completion of the work during this project.

Amit Kumar
Anuradha Singh
Harshveen Khanduja
Apoorva Vibhute
B.E. Computer
Abstract

— Assigning timetable for all the faculty to finish the syllabus in time is
always a tough task. This is mainly because of the problem of assignments of the
subjects to the faculties in a given stipulated time. The reason behind this is,
every teacher is loaded with a certain amount of workload hours every day, and in
some scenarios this workload is being distributed in shifts. So for managing time,
according to each of the staff’s requirements while creating the Timetable is really
a cumbersome task. The major hurdle that is facing in this task is overlapping
of the teaching hours. So a very few existing software tools are there in online
which are eventually creates automatic time table based on the input of the staff
load. But all of them are very costly or they never reveal their characteristics
to the before buying. So to introduce a powerful and cost effective method of
generating the time table for the input details like number of allocated hours for
theory and a number of allocated hours for lab for a given teaching staff is the
much needed thing in the research. So this proposed system puts forwards an idea
of using the Shannon Information gain theory and Data permutation technique
for the synchronous data allocation process. And this idea is catalyzed by decision
making process which eventually yields a good Timetable without overlapping of
the scheduled time.
Automatic Timetable Generation Using Permutation and Decision Making

TABLE OF CONTENTS
LIST OF ABBREVIATIONS I
LIST OF FIGURES II
LIST OF TABLES III

SR TITLE PAGE
NO. NO.

1 INTRODUCTION 1
1.1 MOTIVATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 PROBLEM DEFINITION . . . . . . . . . . . . . . . . . . . . . . . 3

2 LITERATURE SURVEY 4

3 SOFTWARE REQUIREMENTS AND SPECIFICATION 8


3.1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1.1 Project Scope . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1.2 User Classes and Characteristics . . . . . . . . . . . . . . . . 9
3.1.3 Assumption and Dependencies . . . . . . . . . . . . . . . . . 9
3.2 FUNCTIONAL REQUIREMENTS . . . . . . . . . . . . . . . . . . 10
3.2.1 Entropy Analysis . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.2 Permutation . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.3 Decision Making . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3 EXTERNAL INTERFACE REQUIREMENTS . . . . . . . . . . . . 11
3.3.1 User Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3.2 Hardware Interfaces . . . . . . . . . . . . . . . . . . . . . . . 12
3.3.3 Software Interfaces . . . . . . . . . . . . . . . . . . . . . . . 12
3.3.4 Communication Interfaces . . . . . . . . . . . . . . . . . . . 12
3.4 NONFUNCTIONAL REQUIREMENTS . . . . . . . . . . . . . . . 12
3.4.1 Performance Requirements . . . . . . . . . . . . . . . . . . . 12
3.4.2 Safety Requirements . . . . . . . . . . . . . . . . . . . . . . 13
3.4.3 Security Requirements . . . . . . . . . . . . . . . . . . . . . 13
3.4.4 Software Quality Attributes . . . . . . . . . . . . . . . . . . 13
3.5 SYSTEM REQUIREMENTS . . . . . . . . . . . . . . . . . . . . . 13
3.5.1 Database Requirements . . . . . . . . . . . . . . . . . . . . . 13
3.5.2 Software Requirements(Platform Choice) . . . . . . . . . . . 14
3.5.3 Hardware Requirements . . . . . . . . . . . . . . . . . . . . 14
3.6 ANALYSIS MODELS . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.7 SYSTEM IMPLEMENTATION PLAN . . . . . . . . . . . . . . . . 16

4 SYSTEM DESIGN 17
4.1 SYSTEM ARCHITECTURE . . . . . . . . . . . . . . . . . . . . . 17
4.2 DATA FLOW DIAGRAM . . . . . . . . . . . . . . . . . . . . . . . 18
4.2.1 DFD Level 0 . . . . . . . . . . . . . . . . . . . . . . . . . . 18

“DIT, Department of Computer Engineering 2018-19” i


4.2.2 DFD Level 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2.3 DFD Level 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.3 ENTITY RELATIONSHIP DIAGRAMS . . . . . . . . . . . . . . . 21
4.4 UML DIAGRAMS . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.4.1 Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . . 22
4.4.2 Activity Diagram . . . . . . . . . . . . . . . . . . . . . . . . 22
4.4.3 Sequence Diagram . . . . . . . . . . . . . . . . . . . . . . . 23
4.4.4 Package Diagram . . . . . . . . . . . . . . . . . . . . . . . . 24
4.4.5 Component Diagram . . . . . . . . . . . . . . . . . . . . . . 25
4.4.6 Deployment Diagram . . . . . . . . . . . . . . . . . . . . . . 26
4.4.7 State Transition Diagram . . . . . . . . . . . . . . . . . . . 27

5 Project Plan 28
5.1 Project Estimates . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.1.1 Reconciled Estimates . . . . . . . . . . . . . . . . . . . . . . 28
5.2 Project Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.2.1 Operating Environment . . . . . . . . . . . . . . . . . . . . 29
5.2.2 Software Requirement . . . . . . . . . . . . . . . . . . . . . 30
5.2.3 Hardware Requirement . . . . . . . . . . . . . . . . . . . . . 30
5.3 Risk Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.3.1 Risk Identification . . . . . . . . . . . . . . . . . . . . . . . 30
5.3.2 Risk Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.3.3 Overview of Risk Mitigation, Monitoring and Management . 33
5.4 Project Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.4.1 Project Task Set . . . . . . . . . . . . . . . . . . . . . . . . 34
5.4.2 Task Network . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.4.3 Timeline Chart . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.5 Team Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.5.1 Team Structure . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.5.2 Management Reporting and Communication . . . . . . . . . 36

6 OTHER SPECIFICATION 37
6.1 ADVANTAGES . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.2 LIMITATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.3 APPLICATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

7 IMPLEMENTATION 38
7.1 Implementation Detail . . . . . . . . . . . . . . . . . . . . . . . . . 38
7.2 Implemented Project Snap Shot . . . . . . . . . . . . . . . . . . . . 42
7.3 Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.3.1 Performance Testing . . . . . . . . . . . . . . . . . . . . . . 48
7.3.2 System Testing . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.3.3 Recovery Testing . . . . . . . . . . . . . . . . . . . . . . . . 48
7.3.4 Security Testing . . . . . . . . . . . . . . . . . . . . . . . . . 49
7.3.5 Integration Testing . . . . . . . . . . . . . . . . . . . . . . . 49
7.4 Test Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
8 RESULT AND DISCUSSION 51
8.1 Results and Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

9 CONCLUSION and FUTURE WORK 54


9.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
9.2 Future Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Appendix A APPENDIX 55
A.1 PROBLEM STATEMENT . . . . . . . . . . . . . . . . . . . . . . . 55
A.2 FEASIBILITY ASSESSMENT . . . . . . . . . . . . . . . . . . . . 55
A.2.1 Economic Feasibility . . . . . . . . . . . . . . . . . . . . . . 55
A.2.2 Deployment Feasibility . . . . . . . . . . . . . . . . . . . . 55
A.3 NP HARD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
A.3.1 Computations, Decisions and Languages . . . . . . . . . . . 56
A.3.2 The Class P . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
A.3.3 The Class NP . . . . . . . . . . . . . . . . . . . . . . . . . . 57
A.3.4 P versus NP . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
A.3.5 NP Complete . . . . . . . . . . . . . . . . . . . . . . . . . . 58
A.4 MATHEMATICAL MODEL . . . . . . . . . . . . . . . . . . . . . . 59

Appendix B APPENDIX 62

Appendix C APPENDIX 64
Automatic Timetable Generation Using Permutation and Decision Making

List of Figures

4.1 System diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17


4.2 DFD Level 0 Diagram . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.3 DFD Level 1 Diagram . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.4 DFD Level 2 Diagram . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.5 E-R Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.6 Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.7 Activity Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.8 Sequence Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.9 Package Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.10 Component Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.11 Deployment Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.12 State Transition Diagram . . . . . . . . . . . . . . . . . . . . . . . 27

7.1 The Overview of the proposed methodology . . . . . . . . . . . . . 38


7.2 Mainframe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
7.3 Admin Operation Frame . . . . . . . . . . . . . . . . . . . . . . . . 43
7.4 Admin Edit Profile Frame . . . . . . . . . . . . . . . . . . . . . . . 44
7.5 Staff Adding Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
7.6 Staff Details Updating frame . . . . . . . . . . . . . . . . . . . . . . 46
7.7 Viewing All Staff Details . . . . . . . . . . . . . . . . . . . . . . . . 47
7.8 Generated Time Table . . . . . . . . . . . . . . . . . . . . . . . . . 48

8.1 Evaluation of MAE . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

A.1 NP Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

“DIT, Department of Computer Engineering 2018-19” iv


Automatic Timetable Generation Using Permutation and Decision Making

List of Tables

3.1 Hardware Requirements . . . . . . . . . . . . . . . . . . . . . . . . 14

5.1 Estimation in KLOC . . . . . . . . . . . . . . . . . . . . . . . . . . 28


5.2 Risk Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.3 Risk Probability Definition . . . . . . . . . . . . . . . . . . . . . . . 32
5.4 Risk Impact Definition . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.5 Risk Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.6 Risk Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.7 Major Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

7.1 Test Cases For Admin Operations . . . . . . . . . . . . . . . . . . 49


7.2 Test Cases For Electronic Time Table . . . . . . . . . . . . . . . . 50

8.1 : Measurement Data for MAE . . . . . . . . . . . . . . . . . . . . 52

“DIT, Department of Computer Engineering 2018-19” v


Automatic Timetable Generation Using Permutation and Decision Making

1 INTRODUCTION

Timetable Generation is one of the oldest problems faced by academicians and


managers of a company. It is essential to optimize the assignment of jobs to the
machines, jobs to the workers and classes to the teachers so as to minimize and
reduce conflicts and to be able to tread the path of least resistance. The problem
of timetabling is not new and has influenced the researchers since time immemorial.

To achieve optimum timetable, even nowadays, the predominant technique is


doing it manually. The assignment of tasks and other jobs manually introduces
a lot of discrepancies in the process and it is more prone to the introduction of
human error in the process. there has been a lot of research in this area but noth-
ing concrete has been presented by the authors of those publications to reduce the
burden as many universities and colleges employ manual timetabling.

This paper utilizes various techniques for solving the creation of a timetable.
The technique proposed in this paper utilizes, Entropy estimation, Shannon In-
formation Gain with the help of Genetic algorithm and Hungarian task allocation
to achieve an innovative solution to this problem.

Entropy is a term used in physics as the measure of randomness. Randomness


is explained in a very elaborate fashion in the laws of physics. In the beginning of
time and our universe itself, all the matter in the universe was collected together
in one point just before the big bang happened. At the moment when all the
matter was concentrated in a point, the entropy was 0, that would mean very
little information can be used to describe the information it contained.

But right after the big bang, the entropy of the universe increased, that is the

“DIT, Department of Computer Engineering 2018-19” 1


Automatic Timetable Generation Using Permutation and Decision Making

information required to describe the system with the plethora of stars and galaxies
that are in this universe. The entropy of the universe is ever increasing and will
keep increasing continuously.

Entropy estimation in computer science is defined as the measure of messi-


ness or randomness in a given set of data. This is usually accompanied by some
amount of information gain as the randomness adds quite a lot of information by
increasing its entropy. The entropy used here is Shannon Information Gain. It is
a widely used mechanism for the classification of data.

Shannon Information Gain is one of the most commonly used algorithms for
the classification of data for the Data Mining procedure. The Shannon Informa-
tion gain is very similar to the concept of Entropy, which is a compelling measure
of disorderliness or the messiness of data. Classification algorithms have a very
distinct job to perform, that is splitting the data into smaller subsets. This is done
with the idea that the messiness will reduce with the further division. Therefore,
the Shannon Entropy has one central goal, that is the goal of any classification
algorithm, to reduce the entropy of the whole data.

1.1 MOTIVATION
Assigning timetable for all the faculty to finish the syllabus in time is always a
tough task. This is mainly because of the problem of assignments of the sub-
jects to the faculties based on the students requirements and interests. Usually
preparation of the timetable process never considers the opinions of the students
regarding the faculties. Many attributes regarding the faculties always matters
in maintaining the level of teaching quality like faculty knowledge, vocabulary,
and commitment towards the subject. Problem solving, efficiency in teaching and
many more.

“DIT, Department of Computer Engineering 2018-19” 2


Automatic Timetable Generation Using Permutation and Decision Making

1.2 PROBLEM DEFINITION


To enhance the process of automatic time table preparation proposed method-
ology put forwarding an idea of automatic timetable generation based on many
parameters of faculties using permutation along with the decision making.

“DIT, Department of Computer Engineering 2018-19” 3


Automatic Timetable Generation Using Permutation and Decision Making

2 LITERATURE SURVEY

Y. Rehman [1] explores the realm of education by isolating the most common
problems found in laboratory teaching in engineering universities, which impact
the overall understanding of a student. The authors performed an experiment for
the assessment of the instructors as the academic growth of a student is highly
dependent on the effectiveness of the instructor. The authors, therefore, observed
the results that prove that it is indeed true. The researchers also proposed a
model for a timetable that can segregate the resources efficiently and achieve lab
parallelization.

R. Badoni [2] states that the UCTP or University Course Timetabling Problem
is widely used for scheduling and allocating various rooms according to the stu-
dent’s needs and is maximized to achieve high efficiency. Sometimes, there have
been some inconsistencies that have crept into the scheduling process and that
has led to a decrease in the efficiency of the system. Therefore, the authors have
proposed the addition of the ACO or Ant Colony Optimisation algorithm to the
system which eliminates all the drawbacks in the system.

J. Zhong [3] expresses that the problem of railway timetable scheduling is one
of the most basic problems faced by the railway industry. As the railways are
needed for maintaining the quality of the service for the transport system, it is
imperative to solve the problem of the railway timetable scheduling efficiently.
Therefore, the authors have attempted to solve the problem by introducing the
enhanced Differential Evolution algorithm or the DE algorithm. this algorithm
eliminates all the inconsistencies of the previous PRTS versions and reduces the
wait time for the passengers drastically.

“DIT, Department of Computer Engineering 2018-19” 4


Automatic Timetable Generation Using Permutation and Decision Making

S. Ribic [4] introduces Integer Linear programming as avery popular tech-


nique for the construction of school and university timetables. As most of the
timetabling software is usually designed for use in making timetables for the uni-
versity, as that is a lot more complicated than thegeneration of timetables for the
school. The timetables are varied in nature and differ from school to school and
country to country; therefore, it is difficult to achieve a generalized constraint for
each and ever implementation. Therefore, the authors have proposed a timetabling
algorithm based on integer linear programming that meets all the constraints in
different school timetabling systems.

S. Limanto [5] explains that the examination of a thesis is one of the most im-
portant aspects of graduation. There are extensive techniques for the examination
of a thesis which starts from the organization of the examination timetable, which
is still being according to the traditional standard scheduling techniques. Due to
techniques being very old and dated, they are not as efficient and fast. There-
fore, to ameliorate this effect and incorporate all the constraints, the authors have
implemented a web-based system that utilizes the genetic algorithm for increased
efficiency in the timetabling process.

X. Yang [6] states that the UTCP or the University Course Timetabling Prob-
lem is a complicated problem that relies on the organization of the time-slots of
the lecturers and the classrooms and laboratories to get an efficient combination of
them to flow accurately. The area of UTCP has been a hot topic for r3esearchers
for a long time and a lot of solutions were suggested on this problem. There has
been an increased amount of interest in solving this problem as it can be utilized
for different applications outside of the university and be applied to solve some
practical problems.

M. Almeida [7] expresses that the process of generation of an academic timetable


is one of the most difficult of tasks in the area of scholarly planning. This is due to

“DIT, Department of Computer Engineering 2018-19” 5


Automatic Timetable Generation Using Permutation and Decision Making

the fact that it requires a lot of time and resources to also allocate and cannot be
done if the professors are busy with the workload. Most of the time timetabling
technique has largely been done manually which is a very time and resource in-
tensive approach. As most of the techniques that have been proposed rely on
optimization techniques, but the authors believe this problem could be solved by
using heuristics and achieve a better output.

S. Awang [8] stresses the importance of the generation of a timetable as it


is one the most widely used methods for the organization of an event or a day.
For a university, there are a lot of constraints and a lot of data that needs to be
considered for the formulation of a timetable. The method of reliable generation
of a timetable is one of the most demanding tasks at it requires a lot of time
and resources. Therefore, the authors have presented an innovative technique for
the generation of the timetable by utilizing random selection and heuristic. This
combination is one of the most reliable and fast techniques for the generation of
the timetable.

Y. Ting-Hong [9] investigates the urgency of the timetabling for the purpose
of course planning, as it is very complicated to generate a working model of the
timetable. There are a lot of requirements that need to be fulfilled before plan-
ning a course timetable. The authors developed a technique that can calculate the
urgency of a particular timetable in the course planning. As the urgency of the
timetable task is calculated, it can be used to find the urgency function of space
and time. All of these predicted values are then adjusted to the specific college
through an analytic hierarchy process. This generated a generalized form that can
be used on any application or college.

F. Guo [10] introduces an innovative technique for the process of generating


timetable with the help of reinforcement learning. The authors have stated that
there are various problems that are faced by a person creating the timetable for the
first time. To eliminate various difficulties that are faced when altering timetable

“DIT, Department of Computer Engineering 2018-19” 6


Automatic Timetable Generation Using Permutation and Decision Making

scheduling action vector and timetable eigenvector, the researchers have utilized
a Naı̈ve Bayesian classification algorithm for mining the historical data efficiently.
The proposed system can generate and schedule timetables very efficiently in com-
parison with the conventional approach.

P. Kaewchanid [11] presents a unique technique for the teaching assistant


scheduling problem with the introduction of the constraint-based approach. This
is one of the classical approaches used when generating a timetable manually.
The authors have also implemented an EDF (Earliest Deadline First) and cluster
method to group the resources and to schedule the task with the shortest deadline
first. This leads to a lot of bottlenecks and problems and the authors have im-
plemented the constraints to eliminate the problems and perform the timetabling
efficiently and faster in comparison with other conventional techniques.

“DIT, Department of Computer Engineering 2018-19” 7


Automatic Timetable Generation Using Permutation and Decision Making

3 SOFTWARE
REQUIREMENTS AND
SPECIFICATION

3.1 INTRODUCTION
This Software Requirements Specification provides a complete description of all
the functions and constraints of the “Automatic Timetable Generation Us-
ing Permutation and Decision Making”. The document describes the issues
related to the system and what actions are to be performed by the development
team in order to come up with a better solution.

The basic idea of this project comes from the fact that assigning timetable for
all the faculty to finish the syllabus in time is always a tough task. This is mainly
because of the problem of assignments of the subjects to the faculties based on the
students requirements and interests. Usually preparation of the timetable process
never considers the opinions of the students regarding the faculties

3.1.1 Project Scope

The scope of this project includes project developer assisted by project guide. The
scope thus far has been the completion of the basic interfaces that will be used to
build the system. The database which is been using in the deployment is given
necessary permission by the admin. The constraints felt thus far by the devel-
oper have only been our weekly story cards, the end-to-end side of the interface,

“DIT, Department of Computer Engineering 2018-19” 8


Automatic Timetable Generation Using Permutation and Decision Making

and time to time brushing on methodology of implementation which schedule the


completion of the project in March 2019.

The major scope of this project is as follows

• Easy User interface

• Successful Time Table Generation

3.1.2 User Classes and Characteristics

This project is for the end users who are willing to use electronic time table in
educational field. This is having following characteristics:

• Feed Required data to the system

• Generate Time Table

3.1.3 Assumption and Dependencies

Following are the assumptions:

i. SPECIFIED FIELD OF ATTRIBUTES ARE CONSIDERED AS THE IN-


PUT.

ii. System works on local host.

Dependencies can be:

• System Speed

• IDE Capacity

“DIT, Department of Computer Engineering 2018-19” 9


Automatic Timetable Generation Using Permutation and Decision Making

3.2 FUNCTIONAL REQUIREMENTS


(a) System should analyze Given input in proper way

(b) System should secure the input data properly in database by giving proper
security for the data

(c) System should send Generate the time table so that within the stipulated
time all the subjects can be finished successfully

3.2.1 Entropy Analysis

Description and Priority

• Input-Attributes and Linear clusters

• Priority –High

Stimulus/Response Sequences

• Stimulus: Gain values

• Response sequence: : Gain factors

Functional Requirements

• Entropy factors.

3.2.2 Permutation

Description and Priority

• Input-Staff Name and Load

• Priority –High

“DIT, Department of Computer Engineering 2018-19” 10


Automatic Timetable Generation Using Permutation and Decision Making

Stimulus/Response Sequences

• Stimulus: Existence of Staff Name in the Same time slot

• Response sequence: Allocation of the Staff

Functional Requirements

• Load Manipulation

3.2.3 Decision Making

Description and Priority

• Input-Best fitted generation selection

• Priority –High

Stimulus/Response Sequences

• Stimulus: IF THEN Rules

• Response sequence: Generation optimization

Functional Requirements

• Decision vector.

3.3 EXTERNAL INTERFACE REQUIREMENTS

3.3.1 User Interfaces

Our system interacts with user on the following occasions:

1. By the Admin while feeding data to the system.

2. By the Admin while viewing results.

“DIT, Department of Computer Engineering 2018-19” 11


Automatic Timetable Generation Using Permutation and Decision Making

3.3.2 Hardware Interfaces

Not applicable in our standalone scenario.

3.3.3 Software Interfaces

• Our system interacts with the MYSQL database server software while performing
the different operations.

3.3.4 Communication Interfaces

Our system’s different modules are communicating with one another on the fol-
lowing scenarios

i. From Data Preprocessing to Entropy Analysis module

ii. From Entropy Analysis module to Preprocessing module

iii. From Preprocessing module to Parallel Data Allocation Module

iv. From Parallel Data Allocation Module to Decision Making Module

v. From Decision Making to Time Table Scheduling module

3.4 NONFUNCTIONAL REQUIREMENTS

3.4.1 Performance Requirements

High Speed:

System should process requested time table generation in good speed. Then
system must wait for process completion.

“DIT, Department of Computer Engineering 2018-19” 12


Automatic Timetable Generation Using Permutation and Decision Making

Accuracy:
System should correctly execute process, display the result accurately. System
output should be in user required format. That means all the intermediate steps
need to be display properly.

3.4.2 Safety Requirements

The system need to be properly converted into executable file format so that the
source code of the system will preserved from any kind of intrusions.

3.4.3 Security Requirements

• Database need to be given proper permissions.

• System need to be secure with proper user credentials.

3.4.4 Software Quality Attributes

• Number of functionality provided

• System should be reliable

• System provides way for time table generation

• Survivability of the system should be good

• System performs each function accurately.

• System is extensible.

3.5 SYSTEM REQUIREMENTS

3.5.1 Database Requirements

MYSQL 5.5

“DIT, Department of Computer Engineering 2018-19” 13


Automatic Timetable Generation Using Permutation and Decision Making

3.5.2 Software Requirements(Platform Choice)

1) Platform: JAVA

2) Technology : JDK 1.8 and Above

3) IDE: Netbeans 8.2,

3.5.3 Hardware Requirements

1 systems of following minimum configuration

Sr. No. Parameter Minimum Requirement Justification


1 Processor 2.2 GHz Dual Core Required
2 Hard Disk 201 GB None
3 RAM 2 GB None
4 Monitor Keyboard UPS

Table 3.1: Hardware Requirements

“DIT, Department of Computer Engineering 2018-19” 14


Automatic Timetable Generation Using Permutation and Decision Making

3.6 ANALYSIS MODELS


This product is designed using water fall model which follows the following steps
to solve the issues

“DIT, Department of Computer Engineering 2018-19” 15


Automatic Timetable Generation Using Permutation and Decision Making

3.7 SYSTEM IMPLEMENTATION PLAN

“DIT, Department of Computer Engineering 2018-19” 16


Automatic Timetable Generation Using Permutation and Decision Making

4 SYSTEM DESIGN

4.1 SYSTEM ARCHITECTURE

Figure 4.1: System diagram

“DIT, Department of Computer Engineering 2018-19” 17


Automatic Timetable Generation Using Permutation and Decision Making

4.2 DATA FLOW DIAGRAM

4.2.1 DFD Level 0

Figure 4.2: DFD Level 0 Diagram

“DIT, Department of Computer Engineering 2018-19” 18


Automatic Timetable Generation Using Permutation and Decision Making

4.2.2 DFD Level 1

Figure 4.3: DFD Level 1 Diagram

“DIT, Department of Computer Engineering 2018-19” 19


Automatic Timetable Generation Using Permutation and Decision Making

4.2.3 DFD Level 2

Figure 4.4: DFD Level 2 Diagram

“DIT, Department of Computer Engineering 2018-19” 20


Automatic Timetable Generation Using Permutation and Decision Making

4.3 ENTITY RELATIONSHIP DIAGRAMS

Figure 4.5: E-R Diagram

“DIT, Department of Computer Engineering 2018-19” 21


Automatic Timetable Generation Using Permutation and Decision Making

4.4 UML DIAGRAMS

4.4.1 Use Case Diagram

Figure 4.6: Use Case Diagram

4.4.2 Activity Diagram

Figure 4.7: Activity Diagram

“DIT, Department of Computer Engineering 2018-19” 22


Automatic Timetable Generation Using Permutation and Decision Making

4.4.3 Sequence Diagram

Figure 4.8: Sequence Diagram

“DIT, Department of Computer Engineering 2018-19” 23


Automatic Timetable Generation Using Permutation and Decision Making

4.4.4 Package Diagram

Figure 4.9: Package Diagram

“DIT, Department of Computer Engineering 2018-19” 24


Automatic Timetable Generation Using Permutation and Decision Making

4.4.5 Component Diagram

Figure 4.10: Component Diagram

“DIT, Department of Computer Engineering 2018-19” 25


Automatic Timetable Generation Using Permutation and Decision Making

4.4.6 Deployment Diagram

Figure 4.11: Deployment Diagram

“DIT, Department of Computer Engineering 2018-19” 26


Automatic Timetable Generation Using Permutation and Decision Making

4.4.7 State Transition Diagram

Figure 4.12: State Transition Diagram

“DIT, Department of Computer Engineering 2018-19” 27


Automatic Timetable Generation Using Permutation and Decision Making

5 PROJECT PLAN

5.1 Project Estimates

5.1.1 Reconciled Estimates

Time Estimation of KLOC

The no of lines required for implementation of various modules can be estimated


as follows:

Function Estimated KLOC


Admin Registration 0.2
Admin Login 0.3
Preprocessing 0.55
Entropy Analysis 0.88
Permutations 0.4
Parallel Data Allocation 0.25
Decision Making 0.25
Time Table Created 0.25

Table 5.1: Estimation in KLOC

Thus the total number of lines required is approximately 3.08 KLOC Efforts:

E = 3.2 * (3.08) 1.02

E = 3.2 * ( 3.15)

“DIT, Department of Computer Engineering 2018-19” 28


Automatic Timetable Generation Using Permutation and Decision Making

E = 10.08

Development Time for Implementation and Testing

D = E/N

D = 10.08/1 = 10.08 month

D=Development Time for Project.

Number of Persons: Four person is required.

Cost Estimate

This cost can be calculated with the standard pay roll in India assigned to the
fresher software developer according to industry standard. So let we take some
amount as X per hour for developmentv.

So cost can be calculated as below.

Number of minimum hours per developer for a month = 10

So Total number of hours = 10 *10*4 ⇒ 400 Hours

So, Total cost can be said as 400XRs.

5.2 Project Resources

5.2.1 Operating Environment

Our System Supports

“DIT, Department of Computer Engineering 2018-19” 29


Automatic Timetable Generation Using Permutation and Decision Making

1) Windows Xp,Windows 7, Windows 8

2) Ubuntu

5.2.2 Software Requirement

1. Platform: JAVA

2. Technology : JDK 1.8 and Above

3. IDE: NetBeans 8.2

4. Database : MySQL 5.5

5.2.3 Hardware Requirement

Hardware must be-

1 system of following minimum configuration

1. Processor: Dual Core of 2.2 GHZ

2. Hard Disc: 100 GB

3. RAM : 2GB

5.3 Risk Management

5.3.1 Risk Identification

Answers to following questionnaire revealed some risks.

1. Have top software and customer managers formally committed to support


the project?

“DIT, Department of Computer Engineering 2018-19” 30


Automatic Timetable Generation Using Permutation and Decision Making

Answer : Yes

2. Are end-users enthusiastically committed to the project and the system/product


to be built?

Answer : Yes

3. Are requirements fully understood by the software engineering team and its
customers?

Answer : Yes

4. Have customers been involved fully in the definition of requirements?

Answer : Yes

5. Do end-users have realistic expectations?

Answer : Yes they can cross verify generated time table.

6. Does the software engineering team have the right mix of skills?

Answer : Yes

7. Are project requirements stable?

Answer : No , they can be change depend on the usage. As of now we are


hosting in LAN so they are stable for LAN

8. Is the number of people on the project team adequate to do the job?

“DIT, Department of Computer Engineering 2018-19” 31


Automatic Timetable Generation Using Permutation and Decision Making

Answer : Yes

9. Do all customer/user constituencies agree on the importance of the project


and on the requirements for the system product to be built?

Answer : Yes

5.3.2 Risk Analysis

ID Risk De- Probability Impact on Impact on Impact on


scription Schedule Quality Overall
1 Other Low Low Low Low
Users
2 Over DB Medium Medium Medium Medium
Size

Table 5.2: Risk Table

Probability Value Description


High Probability of occur- >75%
rence is
Medium Probability of occur- 26-75%
rence is
Low Probability of occur- <25%
rence is

Table 5.3: Risk Probability Definition

“DIT, Department of Computer Engineering 2018-19” 32


Automatic Timetable Generation Using Permutation and Decision Making

Impact Value Description


Very High >10% Schedule impact or
Unacceptable quality
High 5-10% Schedule impact or
Some parts of the
project have low qual-
ity
Medium <5% Schedule impact or
Barely noticeable
degradation in quality
Low Impact on sched-
ule or Quality can be
incorporated

Table 5.4: Risk Impact Definition

5.3.3 Overview of Risk Mitigation, Monitoring and Man-


agement

Following are the details for each risk.

Risk ID 1
Risk Description Over Users
Category Server Capacity
Source SRS
Probability LOW
Impact High
Response System Can Stop Re-
sponding
Strategy Can Count the num-
ber of Users and Rise
Alert
Risk Status Not Yet Occurred

Table 5.5: Risk Monitoring

“DIT, Department of Computer Engineering 2018-19” 33


Automatic Timetable Generation Using Permutation and Decision Making

Risk ID 2
Risk Description Over DB Size
Category User Manual
Source SRS
Probability Medium
Impact High
Response Server Can Stop Re-
sponding
Strategy Can Fix the DV Size
Threshold and rise the
alert
Risk Status Not Yet Occurred

Table 5.6: Risk Management

5.4 Project Schedule

5.4.1 Project Task Set

Major Tasks in the Project stages are:

Sr. No. Tasks Description


1 GUI Creation Proper GUI Designing
using JSP and Swing
Frame Work
2 Preprocesing Entropy Analysis
3 Permutation Parallel Data Descrip-
tion
4 Decision Making Time Table Generated

Table 5.7: Major Task

“DIT, Department of Computer Engineering 2018-19” 34


Automatic Timetable Generation Using Permutation and Decision Making

5.4.2 Task Network

5.4.3 Timeline Chart

“DIT, Department of Computer Engineering 2018-19” 35


Automatic Timetable Generation Using Permutation and Decision Making

5.5 Team Organization


The manner in which staff is organized and the mechanisms for reporting are
noted.

5.5.1 Team Structure

The team structure for the project is identified. Roles are defined.

5.5.2 Management Reporting and Communication

Mechanisms for progress reporting and inter/intra team communication are iden-
tified as per assessment sheet and lab time table.

“DIT, Department of Computer Engineering 2018-19” 36


Automatic Timetable Generation Using Permutation and Decision Making

6 OTHER SPECIFICATION

6.1 ADVANTAGES
1. Fast and proper time table generation.

2. Update the time table in with upgraded details.

3. Due Shortest time scheduler classes will finish in style within the stipulated
time.

6.2 LIMITATIONS
1. Working for some specific format of input.

2. Scheduling for single class

6.3 APPLICATION
1. Schools and Colleges

2. Other Educational Institutes

“DIT, Department of Computer Engineering 2018-19” 37


Automatic Timetable Generation Using Permutation and Decision Making

7 IMPLEMENTATION

7.1 Implementation Detail

Figure 7.1: The Overview of the proposed methodology

The proposed methodology for the automatic timetable generation overview is


depicted in the figure 1. The steps that involve in making of timetable is broadly
narrated in the below mentioned steps.

Step 1: Data Collection and Preprocessing - This is the primitive step of the
proposed model where an Administrator of an Engineering college who is in charge
of handling the automatic timetable creation software feed all the details of the

“DIT, Department of Computer Engineering 2018-19” 38


Automatic Timetable Generation Using Permutation and Decision Making

staff into the system. The details are including the Staff Complete name, Staff
name abbreviation, Staff handling theory subject name, Theory subject abbrevi-
ation, subject load per week in hours, practical subject name. practical subject
abbreviation, practical subject load per week, Semester and the Division.

Here the proposed model is designed to generate the timetable for 3 Even
semesters for the Computer science department. That includes the semesters like
4th, 6th and 8th with two Divisions A and B. Once admin enters all the data into
the system, then all the input data is properly validated and stored in the database.

Here proposed model is designed for considering a constraint of 7 working hours


a day and five days a week. Where 5 hours for theory and 2 hours for practical
is assigned for the day. So after feeding all the staff details to the system, the
Administrator will ready to generate the Timetable automatically. In this process
of automatic generation of the timetable initially all the details of the staff from
the database is fetched and stored in a double dimension list. And then this list
is subject to create the timetable.

Step 2: Entropy Analysis - Here in this process each and every staff from the
database is listed for the separate list for Theory time table generation and practi-
cal time table generation to merge both in the end. For this purpose a double list
is created which contains the columns like semester, division, Staff abbreviation
and theory load. And another list with the practical details.

Once this detail is being collected in the list, then the unique staff name is
collected in a list by subjecting all the name to hash set function. Then each of
the unique staff is counted for his name in all the semester for both the divisions.
So in this process total 6 classes are there like 4A,4B,6A,6B,8A and 8B.

So a count is estimated for a staff for all this 6 classes to evaluate the infor-
mation gain value which will be in the range of 0 to 1 as shown in the equation

“DIT, Department of Computer Engineering 2018-19” 39


Automatic Timetable Generation Using Permutation and Decision Making

1. Then all the staffs are labeled with this information gain value to sort them
in descending order using the Bubble sort technique. So the staff who is having
highest gain value holds the top position and this indicates that, the staff is having
theory or practical load in almost all the classes. So the proposed model gives first
priority to schedule his class timings which generating the timetable.

IG = − PT log PT − N
T
log N
T
——————–(1)

Where

P= Frequency of the staff in all classes


T= Total number of classes that is 6.
N= T-P
IG = Information Gain values

Step 3: Permutation, Parallel Data Allocation and Decision making - This is


the core step of the proposed model where a timetable is generated automatically.
This process is started by creating 6 5 X 5 string data matrices each for one class.
Here 5 X 5 indicates five theory hours for a day, for 5 working days from Monday
to Friday. And this all the String matrices are stored in the list.
Here in the process a matrix is considered for the size 5 X 5 for each of the class
simultaneously. Then a staff abbreviation is considered along with his theory load.
Then the staff is trying to allocate in that position of the matrix by simultaneously
checking his abbreviation name in the same position in all other classes matrices.
If the staff is present in that position or time slot, then another staff is selected
to repeat the same thing to find a staff who is not at all allocated in that position
of the matrices for any the class. Then a place will be found for a staff for the
given position, then that staff is placed in that time slot and then his/ her count
for the work load will be reduced by a unit. This will be repeated for all the staff
till the complete matrices are filled with unique staffs that eventfully indicated
the time slot.

“DIT, Department of Computer Engineering 2018-19” 40


Automatic Timetable Generation Using Permutation and Decision Making

In the similar way a another set of matrices is created for the practical subjects
and then both are merged to form a desired format of the Timetable. This contains
the subject name in abbreviated form, Staff name in abbreviated form and class
name. Which is eventually free from any of overlapping issues. This process is
depicted in the algorithm 1.

“DIT, Department of Computer Engineering 2018-19” 41


Automatic Timetable Generation Using Permutation and Decision Making

7.2 Implemented Project Snap Shot


In this Frame Admin Enter their user name and password and Login In the System.

Figure 7.2: Mainframe

“DIT, Department of Computer Engineering 2018-19” 42


Automatic Timetable Generation Using Permutation and Decision Making

From This Frame Admin Operate All The Operations.

Figure 7.3: Admin Operation Frame

“DIT, Department of Computer Engineering 2018-19” 43


Automatic Timetable Generation Using Permutation and Decision Making

From This Frame Admin Update Profile Information.

Figure 7.4: Admin Edit Profile Frame

“DIT, Department of Computer Engineering 2018-19” 44


Automatic Timetable Generation Using Permutation and Decision Making

From This Frame admin add all the staff details like Staff Complete name, Staff
name abbreviation, Staff handling theory subject name, Theory subject abbrevi-
ation, subject load per week in hours, practical subject name. practical subject
abbreviation, practical subject load per week, Semester and the Division.

Figure 7.5: Staff Adding Frame

“DIT, Department of Computer Engineering 2018-19” 45


Automatic Timetable Generation Using Permutation and Decision Making

Staff Update Their Information Using This Frame

Figure 7.6: Staff Details Updating frame

“DIT, Department of Computer Engineering 2018-19” 46


Automatic Timetable Generation Using Permutation and Decision Making

This Frame is Used To View Staff Details

Figure 7.7: Viewing All Staff Details

“DIT, Department of Computer Engineering 2018-19” 47


Automatic Timetable Generation Using Permutation and Decision Making

Generated Tile Table is Viewed From This Frame

Figure 7.8: Generated Time Table

7.3 Testing

7.3.1 Performance Testing

Checked by identifying performance with the number of input Java classes , So


that it provides the proper output with respect to the Source Code Refactoring.

7.3.2 System Testing

Checked the steadiness of the time of the system by using System.currentmilliseconds


() function with respect to the number of input Java classes.

7.3.3 Recovery Testing

Our system can be recovered in span of 1 hour after crashing. Within one hour
we can install all the softwares and deploy our system to work as in the past.

“DIT, Department of Computer Engineering 2018-19” 48


Automatic Timetable Generation Using Permutation and Decision Making

7.3.4 Security Testing

Stress Testing

System is well equipped to stand against the break down points of maximum of
100 classes, After that the memory overflow exception may arise.

Unit Testing

All the modules are independently handled developed and ran to get proper output
and finally they are integrated to get the whole output.

Black Box Testing

Compatibility analysis is done to by passing the output of one module to another


and checking for estimated output of source code refactoring.

7.3.5 Integration Testing

When all the individual modules are integrated our system yields proper result of
source code refactoring that is cross examined for the desired output.

7.4 Test Cases

Test ID TEST CASE USER INPUT PASS CRITE-


RIA
A Login Login By Admin System takes the System checks
User name and for User name
password of Ad- and password
min to authenticate
Admin..
A Update Admin Can Up- Changes in User- A Admin infor-
date Its Own In- name or pass- mation should
formation word be saved suc-
cessfully in the
database.

Table 7.1: Test Cases For Admin Operations

“DIT, Department of Computer Engineering 2018-19” 49


Automatic Timetable Generation Using Permutation and Decision Making

Test ID TEST CASE USER INPUT PASS CRITE-


RIA
A Staff Entering Staff Name, name Data should
details abbreviation, be saved suc-
subject ,subject cessfully in the
abbreviations, database.
Theory Load,
Practical Load
A Staff Edit Admin can Up- Updated in- Staff informa-
date Staff Infor- formation of tion should be
mation staff updated suc-
cessfully in the
database.
A Creates Time Stored Staff De- Time Table is
CreateTimeTable Table tails stored success-
fully and it
should be shown
correctly to user

Table 7.2: Test Cases For Electronic Time Table

“DIT, Department of Computer Engineering 2018-19” 50


Automatic Timetable Generation Using Permutation and Decision Making

8 RESULT AND DISCUSSION

8.1 Results and Graphs


The methodology for the creation of enhanced electronic lecture time-table sched-
uler has been coded in Java programming language on a NetBeans 8.0 Integrated
Development Environment. The database capabilities have been handled by a
MySQL database server. The machine on which the proposed technique has been
implemented runs on Windows Operating System and is powered by a Core i5
Central Processing Unit and 6GB of Physical Memory. To successfully evaluate
the effectiveness and accuracy of the proposed system, various experiments are
conducted.

One of the most widely used techniques for the valuation of error is the Mean
Absolute Error or (MAE). This technique is capable of evaluating the margin of
error in terms of percentage and provides an effective and robust technique for the
evaluation of performance for the presented technique. The MAE parameter has
been utilized due to the fact that the parameters in this technique are continuous
entities which is a similar phenomenon.

The percentage error is evaluated in this technique of Mean Absolute Error


for the number of accurate timetables generated. The Mean Absolute Error is
evaluated on the absolute difference betweenan actual number of trails and the
number of accurate timetables generated through the Equation given below.

( n
P
i=1 |xi−yi|)
M AE = n

“DIT, Department of Computer Engineering 2018-19” 51


Automatic Timetable Generation Using Permutation and Decision Making

Where,
xi - Number of Actual Trials Conducted.
yi - Number of Accurate Timetables Generated.
n- Number of Experiments Conducted.

Experiment No of No. of Difference


No Trials Accurate (xi-yi)
Conducted Time
(xi) Table
Generated
(yi)
1 10 9 1
2 10 10 0
3 10 10 0
4 10 10 0
5 10 9 1
6 10 10 0
7 10 9 1
8 10 10 0
9 10 10 0
10 10 10 0
MAE 0.03

Table 8.1: : Measurement Data for MAE

Figure 8.1: Evaluation of MAE

“DIT, Department of Computer Engineering 2018-19” 52


Automatic Timetable Generation Using Permutation and Decision Making

Table 7.1 above discloses some important aspects about the calculation done
in this process which is eventually utilized to generate the Mean Absolute Error.
There were 10 Experiments done in total, with each experiment containing 10
trials. The resultant values have been plotted onto a graph depicting the process
given in figure 7.2 above. The Mean absolute error estimated for this technique is
0.03, which is exceptionally low. Which is a good sign for the proposed technique.

“DIT, Department of Computer Engineering 2018-19” 53


Automatic Timetable Generation Using Permutation and Decision Making

9 CONCLUSION AND
FUTURE WORK

9.1 Conclusion
The person who is in charge of timetable creation through a manual work in ed-
ucational organization knows the complexity of this task. As mentioned earlier,
there are very few costlier softwares are available in the market to generate the
timetable automatically. This proposed model generates the time table for the
computer department of a Engineering college for the semesters 4th,6th and 8th
with two divisions namely A and B.
Here proposed model uses the Shannon information theory to estimate the impor-
tance of a staff based on his distribution of the classes in all the divisions. Then
by using the permutation and parallel data allocation through decision making
efficient timetable is generated for all the divisions of all the semesters without
any overlapping issues. The performance of the model is evaluated using the
Mean absolute Error which yields a better result of around 0.03, which is eventu-
ally represented the error rate, which is in turn is very low and indicates better
performance of the system.

9.2 Future Scope


In the future this system can be enhanced to work on user defined time slots with
more possibilities of timetable generation.

“DIT, Department of Computer Engineering 2018-19” 54


Automatic Timetable Generation Using Permutation and Decision Making

A APPENDIX

A.1 PROBLEM STATEMENT


To enhance the process of automatic time table preparation proposed method-
ology put forwarding an idea of automatic timetable generation based on many
parameters of faculties using Hungarian task allocation technique along with the
genetic algorithm.

A.2 FEASIBILITY ASSESSMENT

A.2.1 Economic Feasibility

The proposed model is developed using open source IDE and Database Server like
Netbeans and Mysql. And again the proposed model is not using any licensed
tools or API to develop the model so the while developing the project there is no
need of investments of funds.

A.2.2 Deployment Feasibility

Installation manual of software can be provide to the end user with all easily avail-
able open source development kit. And it takes less than an hour of time to do
all the setup for even a untrained person.

“DIT, Department of Computer Engineering 2018-19” 55


Automatic Timetable Generation Using Permutation and Decision Making

A.3 NP HARD

Figure A.1: NP Diagram

A.3.1 Computations, Decisions and Languages

The most common resource to analyze software is time and number of execution
steps, this is generally computed in termsof n. We will use an informal model of
a computer and analgorithm. All the definitions can be made precise by using a
model of a computer suchas a Turing machine.

While we are interested in the difficulty of a computation, we will focus our


hardness resultson the difficulty of yes -no questions. These results immediately
generalize to questionsabout general computations. It is also possible to state def-
initions in terms of languages,where a language is defined as a set of strings: the
language associated with a question isthe set of all strings representing questions
for which the answer is Yes.

“DIT, Department of Computer Engineering 2018-19” 56


Automatic Timetable Generation Using Permutation and Decision Making

A.3.2 The Class P

The collection of all problems (Algorithms or methods that we are using in our
project) that can be solved in polynomial time is called P. That is, a decision
question is in P if there exists an exponent k and an algorithm for the question
that runs in time O(nk ) where n is the length of the input.

P roughly captures the class of practically solvable problems. Or at least that


is the conventional wisdom. Something that runs in time 2n requires double the
time if one adds one character to the input. Something that runs in polynomial
time does not suffer from this problem.

A.3.3 The Class NP

The collection of all problems that can be solved in polynomial time using non
determinism is called NP. That is, a decision question is in NP if there exists an
exponent k and an non deterministic algorithm for the question that for all hints
runs in time O(nk ) where n is the length of the input.

A.3.4 P versus NP

It would seem that P and NP might be different sets. In fact, probably the most
important Unsolved problems in Mathematics and Computer Science today is:

Conjecture. P 6= NP

If the conjecture is true, then many problems for which we would like efficient
algorithms do not have them. This would be sad. If the conjecture is false, then
much of cryptographic under threat. Which would be sad.

“DIT, Department of Computer Engineering 2018-19” 57


Automatic Timetable Generation Using Permutation and Decision Making

A.3.5 NP Complete

While we cannot determine whether P = NP or not, we can, however, identify


problems that are the hardest in NP. These are called the NP-complete problems.
They have the property that if there is a polynomial-time algorithm for any one
of them then there is a polynomial-time algorithm for every problem in NP.

Definition

A decision problem S is defined to be NP-complete if

a) It is in NP; and

b) For all A in NP it holds that A≤PS.

Note that this means that

• If S in NP-complete and S in P, then P=NP.

• If S is NP-complete and T in NP and S≤PT, then T is NP-complete.

Example

We can state this even in simpler form, like as shown below:

Let us consider a module Hm (Hungarian ) in our system called S,

Then If Hm is set to change in time T

0
Hm (changed module) will be the changed module

“DIT, Department of Computer Engineering 2018-19” 58


Automatic Timetable Generation Using Permutation and Decision Making

0
If (Hm ∈ S)≤ T

Then system is considered as NP Complete. Our System unconditionally sat-


isfies this problem, So we can conclude our system as NP Complete.

A.4 MATHEMATICAL MODEL


(A) SET THEORY

(A) Set Theory

1. S= {} be as system for Time Table Scheduling System

2. Identify Input as F={ F1 , F2 , F3 . . . ..Fn }

Where F=Feedback

S={VF n }
3. Identify TS as Output i.e. Time Table Generation

S= { FL , TS }

4. Identify Process P

S= { FL , P, TS }

P={ EA , P, DM }
Where EA = Entropy Analysis

P = Permutation

“DIT, Department of Computer Engineering 2018-19” 59


Automatic Timetable Generation Using Permutation and Decision Making

DM = Decision Making

5. S={ F L , EA , P, DM , TS }

(B) SET DESCRIPTION:

1. Entropy Analysis

Set EA :

EA =Distribution Factor

EA =Factor count

EA =Shannon Information Gain

EA =Gain Analysis

2. Permutation

Set P:

P0 =Query Time Estimation

P1 =Thread Allocation

P2 =Permutation Time estimation

P3 = Minimum Time Emulator

“DIT, Department of Computer Engineering 2018-19” 60


Automatic Timetable Generation Using Permutation and Decision Making

3. Decision Making

Set DM :

DM 0 =Protocol Setting

DM 1 =Gain Factor Analysis

DM 2 =IF-then Rules

DM 3 =Decision Analysis

(B) Representation of Sets and its operation

1. Union Representation:-

A. Set EA ={ EA0 , EA1 , EA2 , EA3 }

Set P={ P0 , P1 , P2 , P3 }

Set { EA U P }={ EA0 , EA1 , EA2 , EA3 ,P0 , P1 , P2 , P3 }

B. Set DM ={ DM 0 , DM 1 , DM 2 , DM 3 }

Set { EA U P U DM } = { EA0 , EA1 , EA2 , EA3 ,P0 , P1 , P2 , P3 ,DM 0 , DM 1 , DM 2 ,


DM 3 }

“DIT, Department of Computer Engineering 2018-19” 61


Automatic Timetable Generation Using Permutation and Decision Making

B APPENDIX

REFERANCES

[1] Yawar Rehman, Ghous Bakhsh Narejo, and Shoaib Zaidi, “An Experiment
for TestingEfficiency of EffectiveTeaching Model and Comprehensive Use ofLim-
ited Resources”, IEEE International Conference on Teaching, Assessment, and
Learning for Engineering (TALE) 2012.

[2] R. Badoni and D. Gupta, “A New Algorithm Based On Students Groupings


For University Course Timetabling Problem”, RAECS UIET Panjab University
Chandigarh, December 2015.

[3] J. Zhong, M. Shen, J. Zhang, H. Shu-Hung, Y. Shi and Y. Li, “A Differ-


ential Evolution Algorithm With DualPopulations for Solving Periodic Railway-
Timetable Scheduling Problem”, IEEE Transactions On Evolutionary Computa-
tion, Vol. 17, No. 4, August 2013.

[4] Samir Ribi c, Razija Turcinho zi c, AmelaMuratovi c-Ribi c, “Modelling


Constraints in School Timetablingusing Integer Linear Programming”, Interna-
tional Conference on Information, Communication and Automation (ICAT), 2015.

[5] S. Limanto, N. Benarkah, and T. Adelia, “Thesis Examination Timetabling


using Genetic Algorithm”, International Electronics Symposium on Knowledge
Creation and Intelligent Computing, 2016.

[6] Xiao Fei Yang, MasriAyob, MohdZakree Ahmad Nazri, “An Investigation

“DIT, Department of Computer Engineering 2018-19” 62


Automatic Timetable Generation Using Permutation and Decision Making

of Timetable Satisfaction Factors for A Practical University Course Timetabling


Problem”, International Conference on Electrical Engineering and Informatics
(ICEEI), 2017.

[7] Maria Weslane Sousa Almeida, Jo˜ao Paulo Souza Medeiros, and Patrıcia
Rufino Oliveira, “Solving the Academic Timetable Problem Thinkingon Student
Needs”, IEEE 14th International Conference on Machine Learning and Applica-
tions, 2015.

[8] Suryanti Awang, Mohamad Fairol, Marzuki Khalid andRubiyahYusof, “Gen-


erating University Timetable by using a Combination of Heuristic and Random
Selection”, IEEE International Conference on Computer Science and Information
Technology, 2009.

[9] Yang Ting-Hong, Dan Qi1, Shen Xiao-Na, Zhao Jingand Xie Li, “The
Urgency Of Timetable Task In Course Timetable Planning”, The 2010 Interna-
tional Conference on Apperceiving Computing and Intelligence Analysis Proceed-
ing, 2010.

[10] F. Guo and H. Song, “Research and Application of Data-Mining Technique


in Timetable Scheduling”, 2nd International Conference on Computer Engineer-
ing and Technology, 2010.

[11] P. Kaewchanid, P. Wangmaeteekul, “Solving a Teaching Assistant Timetabling


using Constraint-Based Approach”, International Conference on Computational
Intelligence and Applications, 2016.

“DIT, Department of Computer Engineering 2018-19” 63


Automatic Timetable Generation Using Permutation and Decision Making

C APPENDIX

Plagiarism Report

“DIT, Department of Computer Engineering 2018-19” 64

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy