INTRODUCTION 1.1 General Introduction HEURISTIC SEARCH In computer science , artificial intelligence , and mathematical optimization , a heuristic is a technique designed for solving a problem more quickly when classic methods are too slow, or for finding an approximate solution when classic methods fail to find any exact solution. This is achieved by trading optimality, completeness, accuracy , or precision for speed. The objective of a heuristic is to produce quickly enough a solution that is good enough for solving the problem at hand. This solution may not be the best of all the actual solutions to this problem, or it may simply approximate the exact solution. But it is still valuable because finding it does not require a prohibitively long time. Heuristics may produce results by themselves, or they may be used in conjunction with optimization algorithms to improve their efficiency (e.g., they may be used to generate good seed values). All of the search methods in the preceding section are uninformed in that they did not take into account the goal. They do not use any information about where they are trying to get to unless they happen to stumble on a goal. One form of heuristic information about which nodes seem the most promising is a heuristic function h(n), which takes a node n and returns a non-negative real number that is an estimate of the path cost from node n to a goal node. 1
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
INTRODUCTION
11 General Introduction
HEURISTIC SEARCH
In computer science artificial intelligence and mathematical optimization a heuristic is a technique
designed for solving a problem more quickly when classic methods are too slow or for finding an
approximate solution when classic methods fail to find any exact solution This is achieved by
trading optimality completeness accuracy or precision for speed
The objective of a heuristic is to produce quickly enough a solution that is good enough for solving
the problem at hand This solution may not be the best of all the actual solutions to this problem or
it may simply approximate the exact solution But it is still valuable because finding it does not
require a prohibitively long time
Heuristics may produce results by themselves or they may be used in conjunction with optimiza-
tion algorithms to improve their efficiency (eg they may be used to generate good seed values)
All of the search methods in the preceding section are uninformed in that they did not take into ac-
count the goal They do not use any information about where they are trying to get to unless they
happen to stumble on a goal One form of heuristic information about which nodes seem the most
promising is a heuristic function h(n) which takes a node n and returns a non-negative real number
that is an estimate of the path cost from node n to a goal node The function h(n) is an underesti-
mate if h(n) is less than or equal to the actual cost of a lowest-cost path from node n to a goal
Results about NP-hardness in theoretical computer science make heuristics the only viable op -
tion for a variety of complex optimization problems that need to be routinely solved in real-world
applications
The trade-off criteria for deciding whether to use a heuristic for solving a given problem include the
following
Optimality When several solutions exist for a given problem does the heuristic guarantee
that the best solution will be found Do we actually need the best one
Completeness When several solutions exist for a given problem can the heuristic find them
all Do we actually need all solutions Many heuristics are only meant to find one solution
1
Accuracy and precision Can the heuristic provide a confidence interval for the purported
solution Is the error bar on the solution unreasonably large
Execution time Is this the best known heuristic for solving this type of problem Some
heuristics converge faster than others Some heuristics are only marginally quicker than clas-
sic methods
HEURISTIC SEARCH ALGORITHM VS CLASSICAL METHOD
ldquoResults about NP-hardness in theoretical computer science make heuristics the only viable option
for a variety of complex optimization problems that need to be routinely solved in real-world appli-
cationsrdquo
Hence we can see that classical method just cant help to solve NP hard problems and since time-ta-
ble scheduling is an NP hard problem we have to opt for heuristic search algorithm
ADVANTAGE OVER CLASSICAL SEARCH
Heuristic evaluations are easy to use fast and as cheap as you want it Plus since each observed us-
ability problem is explained with reference to an established usability principle it is fairly easy to
generate fixes It is a good method for finding both major and minor problems in a user interface
Heuristic evaluations can be employed early in the design life cycle to find usability problems This
makes them considerably easier and cheaper to fix then than if the problems were to be discovered
in later phases of the design or not at all Therefore heuristic evaluations stand a better chance of
actually being used in practical design situations
It requires a certain level of knowledge and experience to apply the heuristics effectively These us-
ability experts are sometimes hard and expensive to come by especially if they need to have do-
main expertise If the evaluators are not part of the development t team they may not be aware of
technical limitations on the design or why certain design decisions were made Differences between
development team and evaluators may arise which can impede communication and correction of
the problems identified during the evaluation Heuristic evaluations are loosely structured and there-
fore run the risk of finding one-time low-priority problems These problems may not be important
to correct Finally heuristic evaluations does not allow a way to assess the quality of redesigns
Backtracking is one of methods for the problem which has a combination of solutions of a large but
2
still limited number Its important feature is solution space generated in the search while
implementing Its shortcoming is the bigger
time complexity Therefore we should use it with caution It is best used in combination with other
algorithms
Execution timeexecution time of heuristic search is very less then blind or classical searches
DIFFERENT TYPES OF HEURISTIC SEARCHES
1)
GENETIC ALGORITHM
In the computer science field of artificial intelligence a genetic algorithm (GA) is a search heuristic
that mimics the process of natural selection This heuristic (also sometimes called a meta heuristic)
is routinely used to generate useful solutions to optimization and search problems[1] Genetic
algorithms belong to the larger class of evolutionary algorithms (EA) which generate solutions to
optimization problems using techniques inspired by natural evolution such as inheritance mutation
selection and crossover
Initialization of genetic algorithm
population The population size depends on the nature of the problem but typically contains several
hundreds or thousands of possible solutions Traditionally the population is generated randomly
allowing the entire range Initially many individual solutions are (usually) randomly generated to
form an initial of possible solutions (the search space) Occasionally the solutions may be seeded
in areas where optimal solutions are likely to be found
Selection
During each successive generation a proportion of the existing population is selected to breed a
new generation Individual solutions are selected through a fitness-based process where fitter solu-
tions (as measured by a fitness function) are typically more likely to be selected Certain selection
methods rate the fitness of each solution and preferentially select the best solutions Other methods
rate only a random sample of the population as the former process may be very time-consuming
The fitness function is defined over the genetic representation and measures the quality of the rep-
resented solution The fitness function is always problem dependent For instance in the knapsack
problem one wants to maximize the total value of objects that can be put in a knapsack of some
fixed capacity A representation of a solution might be an array of bits where each bit represents a
different object and the value of the bit (0 or 1) represents whether or not the object is in the knap-
3
sack Not every such representation is valid as the size of objects may exceed the capacity of the
knapsack The fitness of the solution is the sum of values of all objects in the knapsack if the repre-
sentation is valid or 0 otherwise
In some problems it is hard or even impossible to define the fitness expression in these cases a
simulation may be used to determine the fitness function value of a phenotype (eg computational
fluid dynamics is used to determine the air resistance of a vehicle whose shape is encoded as the
phenotype) or even interactive genetic algorithms are used
Genetic operators
The next step is to generate a second generation population of solutions from those selected through
genetic operators crossover (also called recombination) andor mutation
For each new solution to be produced a pair of parent solutions is selected for breeding from the
pool selected previously By producing a child solution using the above methods of crossover and
mutation a new solution is created which typically shares many of the characteristics of its par-
ents New parents are selected for each new child and the process continues until a new population
of solutions of appropriate size is generated Although reproduction methods that are based on the
use of two parents are more biology inspired some research suggests that more than two par-
ents generate higher quality chromosomes
These processes ultimately result in the next generation population of chromosomes that is different
from the initial generation Generally the average fitness will have increased by this procedure for
the population since only the best organisms from the first generation are selected for breeding
along with a small proportion of less fit solutions These less fit solutions ensure genetic diversity
within the genetic pool of the parents and therefore ensure the genetic diversity of the subsequent
generation of children
Opinion is divided over the importance of crossover versus mutation There are many references in
Fogel (2006) that support the importance of mutation-based search
Although crossover and mutation are known as the main genetic operators it is possible to use other
operators such as regrouping colonization-extinction or migration in genetic algorithms[5]
It is worth tuning parameters such as the mutation probability crossover probability and population
size to find reasonable settings for the problem class being worked on A very small mutation rate
may lead to genetic drift (which is non-ergodic in nature) A recombination rate that is too high may
4
lead to premature convergence of the genetic algorithm A mutation rate that is too high may lead to
loss of good solutions unless there is elitist selection There are theoretical but not yet practical up-
per and lower bounds for these parameters that can help guide selection through experiments (see
Tutorials)
Mutation is a genetic operator used to maintain genetic diversity from one generation of a
population of genetic algorithm chromosomes to the next It is analogous to biological mutation
Mutation alters one or more gene values in a chromosome from its initial state In mutation the
solution may change entirely from the previous solution Hence GA can come to better solution by
using mutation Mutation occurs during evolution according to a user-definable mutation
probability This probability should be set low If it is set too high the search will turn into a
primitive random search
The classic example of a mutation operator involves a probability that an arbitrary bit in a genetic
sequence will be changed from its original state A common method of implementing the mutation
operator involves generating a random variable for each bit in a sequence This random variable
tells whether or not a particular bit will be modified This mutation procedure based on the
biological point mutation is called single point mutation Other types are inversion and floating
point mutation When the gene encoding is restrictive as in permutation problems mutations are
swaps inversions and scrambles
The purpose of mutation in GAs is preserving and introducing diversity Mutation should allow the
algorithm to avoid local minima by preventing the population of chromosomes from becoming too
similar to each other thus slowing or even stopping evolution This reasoning also explains the fact
that most GA systems avoid only taking the fittest of the population in generating the next but rather
a random (or semi-random) selection with a weighting toward those that are fitter[1]
For different genome types different mutation types are suitable
Bit string mutation
The mutation of bit strings ensue through bit flips at random positions
Example
1 0 1 0 0 1 0
1 0 1 0 1 1 0
5
CROSSOVER
In genetic algorithms crossover is a genetic operator used to vary the programming of a chromo-
some or chromosomes from one generation to the next It is analogous to reproduction and
biological crossover upon which genetic algorithms are based Cross over is a process of taking
more than one parent solutions and producing a child solution from them There are methods for se-
lection of the chromosomes Those are also given below
Termination
This generational process is repeated until a termination condition has been reached Common ter-
minating conditions are
A solution is found that satisfies minimum criteria
Fixed number of generations reached
Allocated budget (computation timemoney) reached
The highest ranking solutions fitness is reaching or has reached a plateau such that success-
ive iterations no longer produce better results
Manual inspection
Combinations of the above
2)
TABU SEARCH
Tabu search created by Fred W Glover in 1986 and formalized in 1989 is a metaheuristic search
method employing local search methods used for mathematical optimization
6
Local (neighborhood) searches take a potential solution to a problem and check its immediate
neighbors (that is solutions that are similar except for one or two minor details) in the hope of
finding an improved solution Local search methods have a tendency to become stuck in suboptimal
regions or on plateaus where many solutions are equally fit
Tabu search enhances the performance of these techniques by using memory structures that describe
the visited solutions or user-provided sets of rules[2] If a potential solution has been previously
visited within a certain short-term period or if it has violated a rule it is marked as tabu
(forbidden) so that the algorithm does not consider that possibility repeatedly
Tabu search (TS) is a metaheuristic algorithm that can be used for solving combinatorial
optimization problems (problems where an optimal ordering and selection of options is desired)
The memory structures used in tabu search can roughly be divided into three categories[5]
bull Short-term The list of solutions recently considered If a potential solution appears on the tabu
list it cannot be revisited until it reaches an expiration point
bull Intermediate-term Intensification rules intended to bias the search towards promising areas of the
search space
bull Long-term Diversification rules that drive the search into new regions (ie regarding resets when
the search becomes stuck in a plateau or a suboptimal dead-end)
Short-term intermediate-term and long-term memories can overlap in practice Within these
categories memory can further be differentiated by measures such as frequency and impact of
changes made One example of an intermediate-term memory structure is one that prohibits or
encourages solutions that contain certain attributes (eg solutions which include undesirable or
desirable values for certain variables) or a memory structure that prevents or induces certain moves
(eg based on frequency memory applied to solutions sharing features in common with unattractive
or attractive solutions found in the past) In short-term memory selected attributes in solutions
recently visited are labeled tabu-active Solutions that contain tabu-active elements are banned
Aspiration criteria are employed that override a solutions tabu state thereby including the
otherwise-excluded solution in the allowed set (provided the solution is ldquogood enoughrdquo according to
a measure of quality or diversity) A simple and commonly used aspiration criterion is to allow
solutions which are better than the currently-known best solution
Short-term memory alone may be enough to achieve solution superior to those found by
conventional local search methods but intermediate and long-term structures are often necessary
7
for solving harder problems[6] Tabu search is often benchmarked against other metaheuristic
methods - such as Simulated annealing genetic algorithms Ant colony optimization algorithms
Reactive search optimization Guided Local Search or greedy randomized adaptive search In
addition tabu search is sometimes combined with other metaheuristics to create hybrid methods
The most common tabu search hybrid arises by joining TS with Scatter Search[7][8] a class of
population-based procedures which has roots in common with tabu search and is often employed in
solving large non-linear optimization problems
Tabu list solution that have been visited recently and cannot be visited in near future until
expiration
Aspiration list
Conditions at which tabu list members will be considered usually ie
If penalty of tabued solution is less than current best
Candidate list
All the top quality solutions are kept here and the best is chosen as current best
If solution in candidate list is chosen as current that entry is tabued so in next few steps it wonrsquot be
considered
NOTE we have to choose from candidate list even if it is worse than current solution
12 Problem Statement
We are going to use genetic algorithm to solve university time table scheduling problem Timetable
scheduling is an NP hard problem Many different ways and algorithm were used like backtracking
dynamic programing brute force etc but all these methods were really inefficient as well as quality
of the solution was mediocre Through already published research papers we can conclude heuristic
search algorithms are way more time efficient and give better quality of the solution there are many
heuristic algorithms like simulated annealing tabu search genetic algorithm which can be useful to
achieve a good quality solution but using a combination of these algorithm was apparently more
useful
Here our approach is focused on Genetic Algorithm but use of other algorithms (heuristic or non-
heuristic ) is there wherever its proved to be better
Following is the problem statement for creating a University timetable
8
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
Now we have three variables namely
Students (batches)
Teachers
Subjects
Following are the assumptions before we make Batch-Subject-Teacher combinations
One teacher only teaches 1 class
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
This is the main array (char final)
SNO Batch Teacher subject
1 B1 T1 S2
2 B2 T2 S2
3 B4 T3 S1
25
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
9
75
Following are the errors and scope for further analysis of the allocation
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Now we have allocated a unique integer to every batch ndashsubject ndashteacher combination and we will
try to allocate those integers to an 3-D array
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms10
We will try to allocate each integer to 1 of the slots here
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exceeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In students time table we have to try to reduce the number of breaks during a day so that
they have more time for self-study at home
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 class
not more than timemax2 class for teacher and student
less breaks for teachers
FITNESS FUNCTION
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
11
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
2) This implies
3 hours ndash penalty of 9
2hours - penalty of 4
For each break of n hours of student penalty is (n)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 30
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
AIM
Our aim is to find the best time tables having the following qualities
Follow all the hard constrain
Making optimal use of the resources
Best fitness function
14) Approach to problem in terms of technology platform to be used
As we are using genetic algorithm to generate time-table which consist of three methods namely
crossover mutation and calculating fitness functions Genetic algorithm instead of focusing on one
most optimal solution it focus on many different sub-optimal solution that results in high need of
computation and memory
So for this project due to high computation needs we are using C++ since it is most optimum in
terms of computation
INPUT AND STORAGE
Name of the teachers subjects and batches is taken as input
All these values will be stored in different text files We chose to store it in text file instead of data-
base because of the computational advantage And no sensitive data is needed to be stored
Storing data into the data structure from text file12
Data is read from the text file and stored in the arrays
From thatrdquo array finalrdquo is created
Input of the values of ldquoarray finalrdquo into the 3-D array
Two different algorithms are used one is the the basic random algorithm
Other one is the new algorithm called (ldquoarrow systemrdquo)
These two different algorithms are compared and analysed
Improvement of the basic solution
Two different ways are there to do that
Crossover
Mutation
Deciding the best solution to apply the crossover and mutation
Roulette Wheel Selection
Rank Selection
Tournament selection
Fitness Function
It is the measure ldquoHow good the solution is rdquo
Time-table of every teacher and batch is stored in different arrays
Fitness function defined above is applied
15)Support for Novelty significance of problem
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is done manually so to help big organisation for there such important task it is important to design a proper algorithm so that a lot of time can be saved
different ways that can be combined for solving the problem
modified genetic algorithm
coperative genetic algorithm13
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Simulated annealing
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
Intented audience
Airport management staff Railway management staff Universities Schools Organisation working on time based projects
16 Give tabular comparison of other existing approaches solution to the problem framed
1)Genetic Algorithms vs TabuSearch in Timetable Scheduling
GA provide diverse values of solution
tabu search is faster
GA reaches to global maximaTabu reaches to local naxima
mutation increases the diversitySaving the best solution is helpful
14
3)Timetable Scheduling Using Particle Swarm Optimization
Proved to be better then traditional GA
Converges faster
not compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY TIMETABLE SCHEDULING PROBLEM
Modified genetic algorithm(mga) two sets of chromosomes are made(solu-
tions) 3 chromosomes from set1 are taken They are allowed crossover with all the
chromosomes os set2 This reduce the candidate solution Hence decresce the calculations
Cooperative genetic algorithm Two spicies of chromosomes ( solutions)
are made Three solutions are chosen from each
spicies They are allowed to crossover Calculation decrese But diversity also de-
creases
5)University Time Table Scheduling using Genetic Artificial Immune Network
memetic algorithm GAIN greatly coutperforms GAvery promising algorithm for solving the time tabling problemConverges fasterreaches global maxima
6)Algorithms of Time table Problem Application andPerformance Evaluation in Course SchedulingSystem
GA provide diverse values of solution
GA reaches to global maxima
mutation increases the diversity
Saving the best solution is helpful
all the steps are same but instead of mutation sometimes tabu search is performed
7)An Algorithm to Automatically Generate Schedule forSchool Lectures Using a Heuristic Approach
extension to constraint propagation
some pre constrains can save a lot of computationfitness fuction is improved
8)A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHM
Timetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
The objective of the work is to create a model used to generate the acceptable schedule using 15
probabilistic operators
10)Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Multi Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set
2) Background Study
21) Literature Survey
1)
Genetic Algorithms vs Tabu
Search in Timetable Scheduling
S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application Group
E amp C Dept China Steel Corp Taiwan ROC
IEEE1999
to find the optimum solution throught genetic algorithm through genetic algorithm and tabu
searchboth of them can beat searching like back tracking hands downin this research paper tabu
search performed better than genetic algorithm Still since this was the first paper to tackle
scheduling problem through heuristic search so this have great importance in this major project
2)
Solving Timetable Scheduling Problem
Using Genetic Algorithms
Branimir Sigl Marin Golub Vedran Mornar
Faculty of Electrical Engineering and Computing University of Zagreb
Unska 3 I0000 Zagreb Croatia
IEEE-2003
This paper uses genetic algorithm to solve the time table scheduling problem using 3-d array of
16
day tim and classesand uses crossover and mutation process to optimisethis paper also make huge
improvement over genetic algorithm as shown abovemain difference between this and the above
research paper is the improvement that they did on genetic algorithmstating
The first step of the improved crossover operator simply copies equal genes from parents to the
child individual No additional conflicts can be added through copying those equal values Different
parentrsquos genes are specially marked and delegated for further processing In the second step the
crossover operator checks the list of equations for each marked gene in child individual and counts
the number of potential conflicts generated for both parentrsquos choices The gene from a parent that
generates fewer conflicts is chosen so no additional conflicts are generated in addition to the
conflicts caused by the parents
3)
Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu UniversityJiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University
Here this algorithm chooses 10 -20 random solutions and call them lolal maximarsquosand out of those
20 solutions whichever is the best is called global maxima each of those 20 solutions are changed
by changing 2-3 of their positions that are chosen randomly to find better solutions out of those 20
solutions their best solutions are found and out of them the best is chosen to be global in this way
algorithm have power to come out of local maximarsquos
as compare to genetic algorithm(traditional)algorithm performed better but in this paper it is not
compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVE
UNIVERSITY TIMETABLE SCHEDULING PROBLEM
Sehraneh Ghaemi Mohammad Taghi Vakili Ali Aghagolzadeh
Ghaemi Mvakil Aghagol tabrizuacir
Faculty of Electrical amp Computer Engineering
University Of Tabriz
IEEE-200717
Modified genetic algorithm(mga)
two sets of chromosomes are made(solutions)
3 chromosomes from set1 are taken
They are allowed crossover with all the chromosomes os set2
This reduce the candidate solution
Hence decresce the calculations
Cooperative genetic algorithm
Two spicies of chromosomes ( solutions) are made
Three solutions are chosen from each spicies
They are allowed to crossover
Calculation decrese
But diversity also decreases
This type of chromosome representation needs less number of bits for each gene Therefore
algorithm needs shorter time for running The obtained results show that SX operator in upper
mutation rates and UX and MUX operator in lower mutation rates perform well and MUX operator
is better than others By varying mutation rate during algorithm running better results are achieved
Also Tournament selection operates better than Rank Weighting selection The MGA and CGA
methods with population size less than GA yield better results and accelerate the algorithm Note
that the unsatisfied constraints number with CGA method is less than MGA method
5)
University Time Table Scheduling using Genetic Artificial Immune Network
Antariksha Bhaduri
IEEE-2009
Scheduling is one of the important tasks encountered in real life situations Various scheduling
problems are present like personnel scheduling production
scheduling education time table scheduling etc Educational time table scheduling is a difficult task
because of the many constraints that are needed to be satisfied in order to get a feasible solution
Education time table scheduling problem is known to be NP Hard Hence evolutionary techniques
have been used to solve the time table scheduling problem Methodologies like Genetic Algorithms
(GAs) Evolutionary Algorithms (EAs) etc have been used with mixed success In this paper we
have reviewed the problem of educational time table scheduling and solving it with Genetic
Algorithm We have further solved the problem with a memetic hybrid algorithm Genetic Artificial 18
Immune Network (GAIN) and compare the result with that obtained from GA Results show that
GAIN is able to reach the optimal feasible solution fasterthan that of GA
In this paper we discussed in detail the educational time tabling problem which is basically a
scheduling problem The problem is known to be NP hard and is of very high importance to
educational institutes We discussed in brief the various methods used in solving the time tabling
problem A detailed overview has been provided for previous works for solving this problem with
links to such works with more emphasis on solving the problem using evolutionary algorithms
Then the problem is structured and a chromosomenetwork cell design with genetic operators used
is provided for solving it Finally we solved the problem using Genetic Algorithm and a hybrid
memetic algorithm GAIN and the results are compared Results showed that the memetic
algorithm GAIN greatly coutperforms GA and hence proved to be a very promising algorithm for
solving the time tabling problem
6)
Algorithms of Time table Problem Application and
Performance Evaluation in Course Scheduling
System
Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1
Shandong Polytechnic University Jinan China
E-mail dyfspueducn qbspueducn gwsspueducn
wqzspueducn
Lan Wang Center Hospital Shandong Luneng Group Co Ltd Jinan China
E-mail qiufengdong163com
IEEE-2011
Summary
Tabu search algorithm can accept inferior solutions in the search process the new solution is not
randomly generated in the current field but selected the best solution which the best solution of
probability is more than other solutions Then the search can escape from local optimal solution
and turn to other areas increasing the probability of global optimum solution for local search We
use tabu search to replace the mutation operator The tabu search can get better
individual solutions and be out of local optimum The tabu search is applied to the local search it
can greatly avoid the phenomenon of over-mature for genetic algorithms but it is also unwise to use
tabu search frequently it waste running time In fact we can call the tabu search to replace the
mutation operation in appropriate time So basically all the steps are same but instead of
mutation sometimes tabu search is performed Genetic search algorithm has been validated in the 19
test and achieved good results Genetic search algorithm is a more practical method convergence is
fast and time distributes uniform But in practice conditions may not be terminated the purpose is
to provide different possible solutions in order for users to choose However if the constraint
conditions are too harsh there may be no feasible solution in such case human intervention is
necessary Course scheduling problem is a multidisciplinary hard problems this article attempt
genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and
parameter settings needed to be improved and explored the effect on the algorithm need be
improved in further
7)
An Algorithm to Automatically Generate Schedule for
School Lectures Using a Heuristic Approach
Anirudha Nanda Manisha P Pai and Abhijeet Gole
SUMMARY
In this paper authors have tried to avoid random selection by there point of view
It decreases an overhead of computation when we apply all the proper condition while mapping
teachers with time-room
And if they see any clash the lecture already mapped with that time slot is sent to clash data if that
lecture is not present in output data slot that is if the teacher of that lecture is no available ata that
time
The intention of the algorithm to generate a time-table schedule automatically is satisfied The
algorithm incorporates a number of techniques aimed to improve the efficiency of the search
operation It also addresses the important hard constraint of clashes between the availability of
teachers The non-rigid soft constraints ie optimization objectives for the search operation are also
effectively handled Given the generality of the algorithm operation it can further be adapted to
more specific scenarios eg University examination scheduling and further be enhanced to create
railway time tables Thus through the process of automation of the time-table problem many an-
hours of creating an effective timetable have been reduced eventually The most interesting future
direction in the development of the algorithm lies in its extension to constraint propagation When
there is a value assigned to a variable such assignment can be propagated to unassigned variables to
prohibit all values which come into conflict with the current assignments The information about
such prohibited value
20
8) A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHMSANDEEP SINGH RAWAT and LAKSHMI RAJAMANIYear-2010Journal of Theoretical and Applied Information Technology
SUMMARYThis paper deals with the implementation of a computer program which employs Genetic Algorithms (GAs) in the quest for an optimal class timetable generator The program is written in Java and incorporates a repair strategy for faster evolution This paper also explains an example usage of Genetic Algorithms (GAs) for finding optimal solutions to the problem of Class Timetable It is seen that the GA could be improved by the further incorporation of repair strategies and is readily scalable to the complete timetabling problem The system at present does not take care of other constraints like unavailability of lecturers small size of rooms and time required by the lecturer to move from one class timetable is used at the dept
WHATrsquoS NEWBreeding TimetablesTimetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables A child timetable is bred by performing unity order based crossover on the parents This means that each parent has an equal chance of providing each gene
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
Bharkha Narang Ambika and Rashmi Bansal
Year-2013International Conference on Emerging Trends in Engineering and Management
SUMMARY
This document proposes an optimized technique to automate time table generation system Time table generation system involves various challenging constraints of resources including faculties rooms time slots etc The roposed technique filters out the best of active rules andGenetic algorithm to generate the optimized solution Genetic Algorithm and Active Rules together form a complete sphere for developing a system which needs to satisfy various constraints Active Rules provide ldquoevent-condition-actionrdquo model for the implementation of any rule based system In genetic algorithm every individual are characterized by a fitnessfunction After analysis if there is higher fitness then it means better solution and then after based on their fitness parents are selected to reproduce offspring for a new generation where fitter individuals have more chance to reproduce The objective of the work is to create a model used to generate the acceptable schedule using probabilistic operators
21
10) Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Year -2009
DrGRADHAMANI NIJUPJOSEPH
International Journal of Recent Trends in Engineering
SUMMARYMulti Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set A set of techniques discussed here can be used to enhance searching and retrieving information from an existing fuzzy Knowledge Base (KB) The proposed genetic algorithm tries to be capable of generating solutions from both crisp and fuzzy valued data The search algorithm transforms vague and uncertain data represented as fuzzy sets for accurate solution generation Procedures are proposed which learns from the different available knowledge base for its application on uncertain data In this paper a repeat crossover Genetic Algorithm is formulated for its usage on uncertain data represented as fuzzy sets and it can be implemented for many real world applications
31 Overall description of the project
311 INTRODUCTION
3111)PURPOSE
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only
required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
22
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is
done manually so to help big organisation for there such important task it is important to design a
proper algorithm so that a lot of time can be saved
512) DEFINATION
Timetable Scheduling Problems are particularly challenging for Artificial Intelligence and
Operations Research techniques They are problems of time-based planning and combinatorial
optimization that tend to be solved with a cooperation of search and heuristics which usually lead
to satisfactory but sub-optimal solutions There are many kinds of timetable scheduling problems in
the daily life such as examination lecture transportation timetables In general there are several
common difficulties in these kinds of problems
There exists no deterministic polynomial time algorithm they are computationally NP com-
plete problems
It is very difficult to design effective heuristics Advanced search techniques using various
heuristics to prune the search space will not be guaranteed to find an optimal solution
A general algorithmic approach to a problem may turn out to be inapplicable certain spe-
cial constraints are often required in a particular instance of that problem
Real world timetable scheduling problems often involve constraints that cannot be pre-
cisely represented or even stated
In a timetable-scheduling problem events for example exam subjects must be slotted to certain
times which satisfy several of constraints
Knowledge-based and OR-based approaches to solving such problems are hard to develop are often
slow and can be inflexible because the architecture itself was based on specific assumptions about
23
the nature of the problem Constraint satisfaction techniques have been used to solve hard
constraints however it is more difficult to handle soft constraints such as preferences Most often
people still resort to handcrafted solutions starting from an easier solution and making a sequence of
modifications to cater for changed requirements This typically leads to suboptimal solutions that
bring significant organizational or financial penalties [ 13 developed a Genetic Algorithm (GA)
based timetable system
which has been successfully used by a university
3113) SCOPE
modification of the genetic algorithm by
modified genetic algorithm
coperative genetic algorithm
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
24
3114) OVERVIEW
In the last few years colleges and universities around the world are expanding enrollment in order
to develop more high-quality personnel various countries educational reform is also thorough
unceasingly The essence of course scheduling question is the curriculum the teacher and the
student should be assigned in the appropriate time section to the appropriate classroom It is a multi-
objective scheduling problem which involve more factors and known as the Time table Problem in
operations research (Time table Problem1063384 called TTP) Automated Course Scheduling algorithm
TTP was proved to be NP-complete problem as early as in the 70s The computing time is
exponential increase and integration time and space as dual constraints From classroom (space)
point of view it is similar to the binpacking problem But increased many restraints in the time So it
is a more complex problem than the bin-packing problem We can establish theoretical profundity
from this thesis At present in mathematics did not have an general algorithm to be able to solve the
NP complete problem well Solving the NP complete problem only to be able to depend on the
approximate method many scholars have conducted the research regarding this
3115 Contact informationSRS team members
Vibhanshu wadhwa ( enrol 10503854)
Mrsaurabh k raina (mentor)
312Overall Description
3121) Product perspective
Provide a good algorithm to our audience so that they can generate a helpful time table with
least wastage of their time and recourses
To generate a time table scheduler we have to use heuristic search
Till date most helpful heuristic search has been ldquogenetic algorithmrdquo
We will first define the problem
25
All their constrains soft as well as hard
Our aim is to find a solution which satisfy all the hard constrains for sure and as many soft
constrain as it can in accepatable time and space
Appling heuristic search like genetic algorithm or improved algorihms over genetic al-
gorithm as we have seen earliar
Compare the algorithms
Since it is an NPhard problem and no fully efficient algorithm can be found
As we have learned from the research papers that by using best combination of algorithm
like genetic algorithm(crossover and mutation)
tabu search particle swarm etc
3222 Product functions
Product have many functionalities and wide area for use
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
Efficiently generates timetables so vast number of resources can be utilised
3123)user characteristics
INPUT AND STORAGE program will take all the input from the user and will save it in its
database for all the future computation
26
CREATING RANDOM SOLUTIONS using the above input programby using the appro-
priate algorithm will generate some random solutions
CALCULATING FITTNESS FUNCTION by using the already decided penality program
will calculate the fitness functions of the solutions and will sort them in increasing
APPLYING GENETIC ALGORITHM THROGH MUTATION them by using fitness score
program will apply genetic algorithm or its improved version to create best possible solution
in minimum possible time
SECURITY program will delete all the information of the organisation after creating time-
table and will never upload it publically
EFFICIENCY Program will try to take minimum time and resources
USER-FRIENDLY INTERFACE no knowledge about the software will be required to use
it very straight design
MULTIPLE SOLUTIONS More than 1 acceptable solution will be providedso that organ-
isation can choose out of many solution which one suits them best
Operating environment
27
3124) Designimplementation constraints
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
28
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
Accuracy and precision Can the heuristic provide a confidence interval for the purported
solution Is the error bar on the solution unreasonably large
Execution time Is this the best known heuristic for solving this type of problem Some
heuristics converge faster than others Some heuristics are only marginally quicker than clas-
sic methods
HEURISTIC SEARCH ALGORITHM VS CLASSICAL METHOD
ldquoResults about NP-hardness in theoretical computer science make heuristics the only viable option
for a variety of complex optimization problems that need to be routinely solved in real-world appli-
cationsrdquo
Hence we can see that classical method just cant help to solve NP hard problems and since time-ta-
ble scheduling is an NP hard problem we have to opt for heuristic search algorithm
ADVANTAGE OVER CLASSICAL SEARCH
Heuristic evaluations are easy to use fast and as cheap as you want it Plus since each observed us-
ability problem is explained with reference to an established usability principle it is fairly easy to
generate fixes It is a good method for finding both major and minor problems in a user interface
Heuristic evaluations can be employed early in the design life cycle to find usability problems This
makes them considerably easier and cheaper to fix then than if the problems were to be discovered
in later phases of the design or not at all Therefore heuristic evaluations stand a better chance of
actually being used in practical design situations
It requires a certain level of knowledge and experience to apply the heuristics effectively These us-
ability experts are sometimes hard and expensive to come by especially if they need to have do-
main expertise If the evaluators are not part of the development t team they may not be aware of
technical limitations on the design or why certain design decisions were made Differences between
development team and evaluators may arise which can impede communication and correction of
the problems identified during the evaluation Heuristic evaluations are loosely structured and there-
fore run the risk of finding one-time low-priority problems These problems may not be important
to correct Finally heuristic evaluations does not allow a way to assess the quality of redesigns
Backtracking is one of methods for the problem which has a combination of solutions of a large but
2
still limited number Its important feature is solution space generated in the search while
implementing Its shortcoming is the bigger
time complexity Therefore we should use it with caution It is best used in combination with other
algorithms
Execution timeexecution time of heuristic search is very less then blind or classical searches
DIFFERENT TYPES OF HEURISTIC SEARCHES
1)
GENETIC ALGORITHM
In the computer science field of artificial intelligence a genetic algorithm (GA) is a search heuristic
that mimics the process of natural selection This heuristic (also sometimes called a meta heuristic)
is routinely used to generate useful solutions to optimization and search problems[1] Genetic
algorithms belong to the larger class of evolutionary algorithms (EA) which generate solutions to
optimization problems using techniques inspired by natural evolution such as inheritance mutation
selection and crossover
Initialization of genetic algorithm
population The population size depends on the nature of the problem but typically contains several
hundreds or thousands of possible solutions Traditionally the population is generated randomly
allowing the entire range Initially many individual solutions are (usually) randomly generated to
form an initial of possible solutions (the search space) Occasionally the solutions may be seeded
in areas where optimal solutions are likely to be found
Selection
During each successive generation a proportion of the existing population is selected to breed a
new generation Individual solutions are selected through a fitness-based process where fitter solu-
tions (as measured by a fitness function) are typically more likely to be selected Certain selection
methods rate the fitness of each solution and preferentially select the best solutions Other methods
rate only a random sample of the population as the former process may be very time-consuming
The fitness function is defined over the genetic representation and measures the quality of the rep-
resented solution The fitness function is always problem dependent For instance in the knapsack
problem one wants to maximize the total value of objects that can be put in a knapsack of some
fixed capacity A representation of a solution might be an array of bits where each bit represents a
different object and the value of the bit (0 or 1) represents whether or not the object is in the knap-
3
sack Not every such representation is valid as the size of objects may exceed the capacity of the
knapsack The fitness of the solution is the sum of values of all objects in the knapsack if the repre-
sentation is valid or 0 otherwise
In some problems it is hard or even impossible to define the fitness expression in these cases a
simulation may be used to determine the fitness function value of a phenotype (eg computational
fluid dynamics is used to determine the air resistance of a vehicle whose shape is encoded as the
phenotype) or even interactive genetic algorithms are used
Genetic operators
The next step is to generate a second generation population of solutions from those selected through
genetic operators crossover (also called recombination) andor mutation
For each new solution to be produced a pair of parent solutions is selected for breeding from the
pool selected previously By producing a child solution using the above methods of crossover and
mutation a new solution is created which typically shares many of the characteristics of its par-
ents New parents are selected for each new child and the process continues until a new population
of solutions of appropriate size is generated Although reproduction methods that are based on the
use of two parents are more biology inspired some research suggests that more than two par-
ents generate higher quality chromosomes
These processes ultimately result in the next generation population of chromosomes that is different
from the initial generation Generally the average fitness will have increased by this procedure for
the population since only the best organisms from the first generation are selected for breeding
along with a small proportion of less fit solutions These less fit solutions ensure genetic diversity
within the genetic pool of the parents and therefore ensure the genetic diversity of the subsequent
generation of children
Opinion is divided over the importance of crossover versus mutation There are many references in
Fogel (2006) that support the importance of mutation-based search
Although crossover and mutation are known as the main genetic operators it is possible to use other
operators such as regrouping colonization-extinction or migration in genetic algorithms[5]
It is worth tuning parameters such as the mutation probability crossover probability and population
size to find reasonable settings for the problem class being worked on A very small mutation rate
may lead to genetic drift (which is non-ergodic in nature) A recombination rate that is too high may
4
lead to premature convergence of the genetic algorithm A mutation rate that is too high may lead to
loss of good solutions unless there is elitist selection There are theoretical but not yet practical up-
per and lower bounds for these parameters that can help guide selection through experiments (see
Tutorials)
Mutation is a genetic operator used to maintain genetic diversity from one generation of a
population of genetic algorithm chromosomes to the next It is analogous to biological mutation
Mutation alters one or more gene values in a chromosome from its initial state In mutation the
solution may change entirely from the previous solution Hence GA can come to better solution by
using mutation Mutation occurs during evolution according to a user-definable mutation
probability This probability should be set low If it is set too high the search will turn into a
primitive random search
The classic example of a mutation operator involves a probability that an arbitrary bit in a genetic
sequence will be changed from its original state A common method of implementing the mutation
operator involves generating a random variable for each bit in a sequence This random variable
tells whether or not a particular bit will be modified This mutation procedure based on the
biological point mutation is called single point mutation Other types are inversion and floating
point mutation When the gene encoding is restrictive as in permutation problems mutations are
swaps inversions and scrambles
The purpose of mutation in GAs is preserving and introducing diversity Mutation should allow the
algorithm to avoid local minima by preventing the population of chromosomes from becoming too
similar to each other thus slowing or even stopping evolution This reasoning also explains the fact
that most GA systems avoid only taking the fittest of the population in generating the next but rather
a random (or semi-random) selection with a weighting toward those that are fitter[1]
For different genome types different mutation types are suitable
Bit string mutation
The mutation of bit strings ensue through bit flips at random positions
Example
1 0 1 0 0 1 0
1 0 1 0 1 1 0
5
CROSSOVER
In genetic algorithms crossover is a genetic operator used to vary the programming of a chromo-
some or chromosomes from one generation to the next It is analogous to reproduction and
biological crossover upon which genetic algorithms are based Cross over is a process of taking
more than one parent solutions and producing a child solution from them There are methods for se-
lection of the chromosomes Those are also given below
Termination
This generational process is repeated until a termination condition has been reached Common ter-
minating conditions are
A solution is found that satisfies minimum criteria
Fixed number of generations reached
Allocated budget (computation timemoney) reached
The highest ranking solutions fitness is reaching or has reached a plateau such that success-
ive iterations no longer produce better results
Manual inspection
Combinations of the above
2)
TABU SEARCH
Tabu search created by Fred W Glover in 1986 and formalized in 1989 is a metaheuristic search
method employing local search methods used for mathematical optimization
6
Local (neighborhood) searches take a potential solution to a problem and check its immediate
neighbors (that is solutions that are similar except for one or two minor details) in the hope of
finding an improved solution Local search methods have a tendency to become stuck in suboptimal
regions or on plateaus where many solutions are equally fit
Tabu search enhances the performance of these techniques by using memory structures that describe
the visited solutions or user-provided sets of rules[2] If a potential solution has been previously
visited within a certain short-term period or if it has violated a rule it is marked as tabu
(forbidden) so that the algorithm does not consider that possibility repeatedly
Tabu search (TS) is a metaheuristic algorithm that can be used for solving combinatorial
optimization problems (problems where an optimal ordering and selection of options is desired)
The memory structures used in tabu search can roughly be divided into three categories[5]
bull Short-term The list of solutions recently considered If a potential solution appears on the tabu
list it cannot be revisited until it reaches an expiration point
bull Intermediate-term Intensification rules intended to bias the search towards promising areas of the
search space
bull Long-term Diversification rules that drive the search into new regions (ie regarding resets when
the search becomes stuck in a plateau or a suboptimal dead-end)
Short-term intermediate-term and long-term memories can overlap in practice Within these
categories memory can further be differentiated by measures such as frequency and impact of
changes made One example of an intermediate-term memory structure is one that prohibits or
encourages solutions that contain certain attributes (eg solutions which include undesirable or
desirable values for certain variables) or a memory structure that prevents or induces certain moves
(eg based on frequency memory applied to solutions sharing features in common with unattractive
or attractive solutions found in the past) In short-term memory selected attributes in solutions
recently visited are labeled tabu-active Solutions that contain tabu-active elements are banned
Aspiration criteria are employed that override a solutions tabu state thereby including the
otherwise-excluded solution in the allowed set (provided the solution is ldquogood enoughrdquo according to
a measure of quality or diversity) A simple and commonly used aspiration criterion is to allow
solutions which are better than the currently-known best solution
Short-term memory alone may be enough to achieve solution superior to those found by
conventional local search methods but intermediate and long-term structures are often necessary
7
for solving harder problems[6] Tabu search is often benchmarked against other metaheuristic
methods - such as Simulated annealing genetic algorithms Ant colony optimization algorithms
Reactive search optimization Guided Local Search or greedy randomized adaptive search In
addition tabu search is sometimes combined with other metaheuristics to create hybrid methods
The most common tabu search hybrid arises by joining TS with Scatter Search[7][8] a class of
population-based procedures which has roots in common with tabu search and is often employed in
solving large non-linear optimization problems
Tabu list solution that have been visited recently and cannot be visited in near future until
expiration
Aspiration list
Conditions at which tabu list members will be considered usually ie
If penalty of tabued solution is less than current best
Candidate list
All the top quality solutions are kept here and the best is chosen as current best
If solution in candidate list is chosen as current that entry is tabued so in next few steps it wonrsquot be
considered
NOTE we have to choose from candidate list even if it is worse than current solution
12 Problem Statement
We are going to use genetic algorithm to solve university time table scheduling problem Timetable
scheduling is an NP hard problem Many different ways and algorithm were used like backtracking
dynamic programing brute force etc but all these methods were really inefficient as well as quality
of the solution was mediocre Through already published research papers we can conclude heuristic
search algorithms are way more time efficient and give better quality of the solution there are many
heuristic algorithms like simulated annealing tabu search genetic algorithm which can be useful to
achieve a good quality solution but using a combination of these algorithm was apparently more
useful
Here our approach is focused on Genetic Algorithm but use of other algorithms (heuristic or non-
heuristic ) is there wherever its proved to be better
Following is the problem statement for creating a University timetable
8
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
Now we have three variables namely
Students (batches)
Teachers
Subjects
Following are the assumptions before we make Batch-Subject-Teacher combinations
One teacher only teaches 1 class
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
This is the main array (char final)
SNO Batch Teacher subject
1 B1 T1 S2
2 B2 T2 S2
3 B4 T3 S1
25
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
9
75
Following are the errors and scope for further analysis of the allocation
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Now we have allocated a unique integer to every batch ndashsubject ndashteacher combination and we will
try to allocate those integers to an 3-D array
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms10
We will try to allocate each integer to 1 of the slots here
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exceeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In students time table we have to try to reduce the number of breaks during a day so that
they have more time for self-study at home
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 class
not more than timemax2 class for teacher and student
less breaks for teachers
FITNESS FUNCTION
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
11
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
2) This implies
3 hours ndash penalty of 9
2hours - penalty of 4
For each break of n hours of student penalty is (n)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 30
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
AIM
Our aim is to find the best time tables having the following qualities
Follow all the hard constrain
Making optimal use of the resources
Best fitness function
14) Approach to problem in terms of technology platform to be used
As we are using genetic algorithm to generate time-table which consist of three methods namely
crossover mutation and calculating fitness functions Genetic algorithm instead of focusing on one
most optimal solution it focus on many different sub-optimal solution that results in high need of
computation and memory
So for this project due to high computation needs we are using C++ since it is most optimum in
terms of computation
INPUT AND STORAGE
Name of the teachers subjects and batches is taken as input
All these values will be stored in different text files We chose to store it in text file instead of data-
base because of the computational advantage And no sensitive data is needed to be stored
Storing data into the data structure from text file12
Data is read from the text file and stored in the arrays
From thatrdquo array finalrdquo is created
Input of the values of ldquoarray finalrdquo into the 3-D array
Two different algorithms are used one is the the basic random algorithm
Other one is the new algorithm called (ldquoarrow systemrdquo)
These two different algorithms are compared and analysed
Improvement of the basic solution
Two different ways are there to do that
Crossover
Mutation
Deciding the best solution to apply the crossover and mutation
Roulette Wheel Selection
Rank Selection
Tournament selection
Fitness Function
It is the measure ldquoHow good the solution is rdquo
Time-table of every teacher and batch is stored in different arrays
Fitness function defined above is applied
15)Support for Novelty significance of problem
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is done manually so to help big organisation for there such important task it is important to design a proper algorithm so that a lot of time can be saved
different ways that can be combined for solving the problem
modified genetic algorithm
coperative genetic algorithm13
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Simulated annealing
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
Intented audience
Airport management staff Railway management staff Universities Schools Organisation working on time based projects
16 Give tabular comparison of other existing approaches solution to the problem framed
1)Genetic Algorithms vs TabuSearch in Timetable Scheduling
GA provide diverse values of solution
tabu search is faster
GA reaches to global maximaTabu reaches to local naxima
mutation increases the diversitySaving the best solution is helpful
14
3)Timetable Scheduling Using Particle Swarm Optimization
Proved to be better then traditional GA
Converges faster
not compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY TIMETABLE SCHEDULING PROBLEM
Modified genetic algorithm(mga) two sets of chromosomes are made(solu-
tions) 3 chromosomes from set1 are taken They are allowed crossover with all the
chromosomes os set2 This reduce the candidate solution Hence decresce the calculations
Cooperative genetic algorithm Two spicies of chromosomes ( solutions)
are made Three solutions are chosen from each
spicies They are allowed to crossover Calculation decrese But diversity also de-
creases
5)University Time Table Scheduling using Genetic Artificial Immune Network
memetic algorithm GAIN greatly coutperforms GAvery promising algorithm for solving the time tabling problemConverges fasterreaches global maxima
6)Algorithms of Time table Problem Application andPerformance Evaluation in Course SchedulingSystem
GA provide diverse values of solution
GA reaches to global maxima
mutation increases the diversity
Saving the best solution is helpful
all the steps are same but instead of mutation sometimes tabu search is performed
7)An Algorithm to Automatically Generate Schedule forSchool Lectures Using a Heuristic Approach
extension to constraint propagation
some pre constrains can save a lot of computationfitness fuction is improved
8)A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHM
Timetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
The objective of the work is to create a model used to generate the acceptable schedule using 15
probabilistic operators
10)Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Multi Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set
2) Background Study
21) Literature Survey
1)
Genetic Algorithms vs Tabu
Search in Timetable Scheduling
S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application Group
E amp C Dept China Steel Corp Taiwan ROC
IEEE1999
to find the optimum solution throught genetic algorithm through genetic algorithm and tabu
searchboth of them can beat searching like back tracking hands downin this research paper tabu
search performed better than genetic algorithm Still since this was the first paper to tackle
scheduling problem through heuristic search so this have great importance in this major project
2)
Solving Timetable Scheduling Problem
Using Genetic Algorithms
Branimir Sigl Marin Golub Vedran Mornar
Faculty of Electrical Engineering and Computing University of Zagreb
Unska 3 I0000 Zagreb Croatia
IEEE-2003
This paper uses genetic algorithm to solve the time table scheduling problem using 3-d array of
16
day tim and classesand uses crossover and mutation process to optimisethis paper also make huge
improvement over genetic algorithm as shown abovemain difference between this and the above
research paper is the improvement that they did on genetic algorithmstating
The first step of the improved crossover operator simply copies equal genes from parents to the
child individual No additional conflicts can be added through copying those equal values Different
parentrsquos genes are specially marked and delegated for further processing In the second step the
crossover operator checks the list of equations for each marked gene in child individual and counts
the number of potential conflicts generated for both parentrsquos choices The gene from a parent that
generates fewer conflicts is chosen so no additional conflicts are generated in addition to the
conflicts caused by the parents
3)
Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu UniversityJiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University
Here this algorithm chooses 10 -20 random solutions and call them lolal maximarsquosand out of those
20 solutions whichever is the best is called global maxima each of those 20 solutions are changed
by changing 2-3 of their positions that are chosen randomly to find better solutions out of those 20
solutions their best solutions are found and out of them the best is chosen to be global in this way
algorithm have power to come out of local maximarsquos
as compare to genetic algorithm(traditional)algorithm performed better but in this paper it is not
compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVE
UNIVERSITY TIMETABLE SCHEDULING PROBLEM
Sehraneh Ghaemi Mohammad Taghi Vakili Ali Aghagolzadeh
Ghaemi Mvakil Aghagol tabrizuacir
Faculty of Electrical amp Computer Engineering
University Of Tabriz
IEEE-200717
Modified genetic algorithm(mga)
two sets of chromosomes are made(solutions)
3 chromosomes from set1 are taken
They are allowed crossover with all the chromosomes os set2
This reduce the candidate solution
Hence decresce the calculations
Cooperative genetic algorithm
Two spicies of chromosomes ( solutions) are made
Three solutions are chosen from each spicies
They are allowed to crossover
Calculation decrese
But diversity also decreases
This type of chromosome representation needs less number of bits for each gene Therefore
algorithm needs shorter time for running The obtained results show that SX operator in upper
mutation rates and UX and MUX operator in lower mutation rates perform well and MUX operator
is better than others By varying mutation rate during algorithm running better results are achieved
Also Tournament selection operates better than Rank Weighting selection The MGA and CGA
methods with population size less than GA yield better results and accelerate the algorithm Note
that the unsatisfied constraints number with CGA method is less than MGA method
5)
University Time Table Scheduling using Genetic Artificial Immune Network
Antariksha Bhaduri
IEEE-2009
Scheduling is one of the important tasks encountered in real life situations Various scheduling
problems are present like personnel scheduling production
scheduling education time table scheduling etc Educational time table scheduling is a difficult task
because of the many constraints that are needed to be satisfied in order to get a feasible solution
Education time table scheduling problem is known to be NP Hard Hence evolutionary techniques
have been used to solve the time table scheduling problem Methodologies like Genetic Algorithms
(GAs) Evolutionary Algorithms (EAs) etc have been used with mixed success In this paper we
have reviewed the problem of educational time table scheduling and solving it with Genetic
Algorithm We have further solved the problem with a memetic hybrid algorithm Genetic Artificial 18
Immune Network (GAIN) and compare the result with that obtained from GA Results show that
GAIN is able to reach the optimal feasible solution fasterthan that of GA
In this paper we discussed in detail the educational time tabling problem which is basically a
scheduling problem The problem is known to be NP hard and is of very high importance to
educational institutes We discussed in brief the various methods used in solving the time tabling
problem A detailed overview has been provided for previous works for solving this problem with
links to such works with more emphasis on solving the problem using evolutionary algorithms
Then the problem is structured and a chromosomenetwork cell design with genetic operators used
is provided for solving it Finally we solved the problem using Genetic Algorithm and a hybrid
memetic algorithm GAIN and the results are compared Results showed that the memetic
algorithm GAIN greatly coutperforms GA and hence proved to be a very promising algorithm for
solving the time tabling problem
6)
Algorithms of Time table Problem Application and
Performance Evaluation in Course Scheduling
System
Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1
Shandong Polytechnic University Jinan China
E-mail dyfspueducn qbspueducn gwsspueducn
wqzspueducn
Lan Wang Center Hospital Shandong Luneng Group Co Ltd Jinan China
E-mail qiufengdong163com
IEEE-2011
Summary
Tabu search algorithm can accept inferior solutions in the search process the new solution is not
randomly generated in the current field but selected the best solution which the best solution of
probability is more than other solutions Then the search can escape from local optimal solution
and turn to other areas increasing the probability of global optimum solution for local search We
use tabu search to replace the mutation operator The tabu search can get better
individual solutions and be out of local optimum The tabu search is applied to the local search it
can greatly avoid the phenomenon of over-mature for genetic algorithms but it is also unwise to use
tabu search frequently it waste running time In fact we can call the tabu search to replace the
mutation operation in appropriate time So basically all the steps are same but instead of
mutation sometimes tabu search is performed Genetic search algorithm has been validated in the 19
test and achieved good results Genetic search algorithm is a more practical method convergence is
fast and time distributes uniform But in practice conditions may not be terminated the purpose is
to provide different possible solutions in order for users to choose However if the constraint
conditions are too harsh there may be no feasible solution in such case human intervention is
necessary Course scheduling problem is a multidisciplinary hard problems this article attempt
genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and
parameter settings needed to be improved and explored the effect on the algorithm need be
improved in further
7)
An Algorithm to Automatically Generate Schedule for
School Lectures Using a Heuristic Approach
Anirudha Nanda Manisha P Pai and Abhijeet Gole
SUMMARY
In this paper authors have tried to avoid random selection by there point of view
It decreases an overhead of computation when we apply all the proper condition while mapping
teachers with time-room
And if they see any clash the lecture already mapped with that time slot is sent to clash data if that
lecture is not present in output data slot that is if the teacher of that lecture is no available ata that
time
The intention of the algorithm to generate a time-table schedule automatically is satisfied The
algorithm incorporates a number of techniques aimed to improve the efficiency of the search
operation It also addresses the important hard constraint of clashes between the availability of
teachers The non-rigid soft constraints ie optimization objectives for the search operation are also
effectively handled Given the generality of the algorithm operation it can further be adapted to
more specific scenarios eg University examination scheduling and further be enhanced to create
railway time tables Thus through the process of automation of the time-table problem many an-
hours of creating an effective timetable have been reduced eventually The most interesting future
direction in the development of the algorithm lies in its extension to constraint propagation When
there is a value assigned to a variable such assignment can be propagated to unassigned variables to
prohibit all values which come into conflict with the current assignments The information about
such prohibited value
20
8) A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHMSANDEEP SINGH RAWAT and LAKSHMI RAJAMANIYear-2010Journal of Theoretical and Applied Information Technology
SUMMARYThis paper deals with the implementation of a computer program which employs Genetic Algorithms (GAs) in the quest for an optimal class timetable generator The program is written in Java and incorporates a repair strategy for faster evolution This paper also explains an example usage of Genetic Algorithms (GAs) for finding optimal solutions to the problem of Class Timetable It is seen that the GA could be improved by the further incorporation of repair strategies and is readily scalable to the complete timetabling problem The system at present does not take care of other constraints like unavailability of lecturers small size of rooms and time required by the lecturer to move from one class timetable is used at the dept
WHATrsquoS NEWBreeding TimetablesTimetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables A child timetable is bred by performing unity order based crossover on the parents This means that each parent has an equal chance of providing each gene
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
Bharkha Narang Ambika and Rashmi Bansal
Year-2013International Conference on Emerging Trends in Engineering and Management
SUMMARY
This document proposes an optimized technique to automate time table generation system Time table generation system involves various challenging constraints of resources including faculties rooms time slots etc The roposed technique filters out the best of active rules andGenetic algorithm to generate the optimized solution Genetic Algorithm and Active Rules together form a complete sphere for developing a system which needs to satisfy various constraints Active Rules provide ldquoevent-condition-actionrdquo model for the implementation of any rule based system In genetic algorithm every individual are characterized by a fitnessfunction After analysis if there is higher fitness then it means better solution and then after based on their fitness parents are selected to reproduce offspring for a new generation where fitter individuals have more chance to reproduce The objective of the work is to create a model used to generate the acceptable schedule using probabilistic operators
21
10) Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Year -2009
DrGRADHAMANI NIJUPJOSEPH
International Journal of Recent Trends in Engineering
SUMMARYMulti Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set A set of techniques discussed here can be used to enhance searching and retrieving information from an existing fuzzy Knowledge Base (KB) The proposed genetic algorithm tries to be capable of generating solutions from both crisp and fuzzy valued data The search algorithm transforms vague and uncertain data represented as fuzzy sets for accurate solution generation Procedures are proposed which learns from the different available knowledge base for its application on uncertain data In this paper a repeat crossover Genetic Algorithm is formulated for its usage on uncertain data represented as fuzzy sets and it can be implemented for many real world applications
31 Overall description of the project
311 INTRODUCTION
3111)PURPOSE
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only
required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
22
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is
done manually so to help big organisation for there such important task it is important to design a
proper algorithm so that a lot of time can be saved
512) DEFINATION
Timetable Scheduling Problems are particularly challenging for Artificial Intelligence and
Operations Research techniques They are problems of time-based planning and combinatorial
optimization that tend to be solved with a cooperation of search and heuristics which usually lead
to satisfactory but sub-optimal solutions There are many kinds of timetable scheduling problems in
the daily life such as examination lecture transportation timetables In general there are several
common difficulties in these kinds of problems
There exists no deterministic polynomial time algorithm they are computationally NP com-
plete problems
It is very difficult to design effective heuristics Advanced search techniques using various
heuristics to prune the search space will not be guaranteed to find an optimal solution
A general algorithmic approach to a problem may turn out to be inapplicable certain spe-
cial constraints are often required in a particular instance of that problem
Real world timetable scheduling problems often involve constraints that cannot be pre-
cisely represented or even stated
In a timetable-scheduling problem events for example exam subjects must be slotted to certain
times which satisfy several of constraints
Knowledge-based and OR-based approaches to solving such problems are hard to develop are often
slow and can be inflexible because the architecture itself was based on specific assumptions about
23
the nature of the problem Constraint satisfaction techniques have been used to solve hard
constraints however it is more difficult to handle soft constraints such as preferences Most often
people still resort to handcrafted solutions starting from an easier solution and making a sequence of
modifications to cater for changed requirements This typically leads to suboptimal solutions that
bring significant organizational or financial penalties [ 13 developed a Genetic Algorithm (GA)
based timetable system
which has been successfully used by a university
3113) SCOPE
modification of the genetic algorithm by
modified genetic algorithm
coperative genetic algorithm
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
24
3114) OVERVIEW
In the last few years colleges and universities around the world are expanding enrollment in order
to develop more high-quality personnel various countries educational reform is also thorough
unceasingly The essence of course scheduling question is the curriculum the teacher and the
student should be assigned in the appropriate time section to the appropriate classroom It is a multi-
objective scheduling problem which involve more factors and known as the Time table Problem in
operations research (Time table Problem1063384 called TTP) Automated Course Scheduling algorithm
TTP was proved to be NP-complete problem as early as in the 70s The computing time is
exponential increase and integration time and space as dual constraints From classroom (space)
point of view it is similar to the binpacking problem But increased many restraints in the time So it
is a more complex problem than the bin-packing problem We can establish theoretical profundity
from this thesis At present in mathematics did not have an general algorithm to be able to solve the
NP complete problem well Solving the NP complete problem only to be able to depend on the
approximate method many scholars have conducted the research regarding this
3115 Contact informationSRS team members
Vibhanshu wadhwa ( enrol 10503854)
Mrsaurabh k raina (mentor)
312Overall Description
3121) Product perspective
Provide a good algorithm to our audience so that they can generate a helpful time table with
least wastage of their time and recourses
To generate a time table scheduler we have to use heuristic search
Till date most helpful heuristic search has been ldquogenetic algorithmrdquo
We will first define the problem
25
All their constrains soft as well as hard
Our aim is to find a solution which satisfy all the hard constrains for sure and as many soft
constrain as it can in accepatable time and space
Appling heuristic search like genetic algorithm or improved algorihms over genetic al-
gorithm as we have seen earliar
Compare the algorithms
Since it is an NPhard problem and no fully efficient algorithm can be found
As we have learned from the research papers that by using best combination of algorithm
like genetic algorithm(crossover and mutation)
tabu search particle swarm etc
3222 Product functions
Product have many functionalities and wide area for use
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
Efficiently generates timetables so vast number of resources can be utilised
3123)user characteristics
INPUT AND STORAGE program will take all the input from the user and will save it in its
database for all the future computation
26
CREATING RANDOM SOLUTIONS using the above input programby using the appro-
priate algorithm will generate some random solutions
CALCULATING FITTNESS FUNCTION by using the already decided penality program
will calculate the fitness functions of the solutions and will sort them in increasing
APPLYING GENETIC ALGORITHM THROGH MUTATION them by using fitness score
program will apply genetic algorithm or its improved version to create best possible solution
in minimum possible time
SECURITY program will delete all the information of the organisation after creating time-
table and will never upload it publically
EFFICIENCY Program will try to take minimum time and resources
USER-FRIENDLY INTERFACE no knowledge about the software will be required to use
it very straight design
MULTIPLE SOLUTIONS More than 1 acceptable solution will be providedso that organ-
isation can choose out of many solution which one suits them best
Operating environment
27
3124) Designimplementation constraints
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
28
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
still limited number Its important feature is solution space generated in the search while
implementing Its shortcoming is the bigger
time complexity Therefore we should use it with caution It is best used in combination with other
algorithms
Execution timeexecution time of heuristic search is very less then blind or classical searches
DIFFERENT TYPES OF HEURISTIC SEARCHES
1)
GENETIC ALGORITHM
In the computer science field of artificial intelligence a genetic algorithm (GA) is a search heuristic
that mimics the process of natural selection This heuristic (also sometimes called a meta heuristic)
is routinely used to generate useful solutions to optimization and search problems[1] Genetic
algorithms belong to the larger class of evolutionary algorithms (EA) which generate solutions to
optimization problems using techniques inspired by natural evolution such as inheritance mutation
selection and crossover
Initialization of genetic algorithm
population The population size depends on the nature of the problem but typically contains several
hundreds or thousands of possible solutions Traditionally the population is generated randomly
allowing the entire range Initially many individual solutions are (usually) randomly generated to
form an initial of possible solutions (the search space) Occasionally the solutions may be seeded
in areas where optimal solutions are likely to be found
Selection
During each successive generation a proportion of the existing population is selected to breed a
new generation Individual solutions are selected through a fitness-based process where fitter solu-
tions (as measured by a fitness function) are typically more likely to be selected Certain selection
methods rate the fitness of each solution and preferentially select the best solutions Other methods
rate only a random sample of the population as the former process may be very time-consuming
The fitness function is defined over the genetic representation and measures the quality of the rep-
resented solution The fitness function is always problem dependent For instance in the knapsack
problem one wants to maximize the total value of objects that can be put in a knapsack of some
fixed capacity A representation of a solution might be an array of bits where each bit represents a
different object and the value of the bit (0 or 1) represents whether or not the object is in the knap-
3
sack Not every such representation is valid as the size of objects may exceed the capacity of the
knapsack The fitness of the solution is the sum of values of all objects in the knapsack if the repre-
sentation is valid or 0 otherwise
In some problems it is hard or even impossible to define the fitness expression in these cases a
simulation may be used to determine the fitness function value of a phenotype (eg computational
fluid dynamics is used to determine the air resistance of a vehicle whose shape is encoded as the
phenotype) or even interactive genetic algorithms are used
Genetic operators
The next step is to generate a second generation population of solutions from those selected through
genetic operators crossover (also called recombination) andor mutation
For each new solution to be produced a pair of parent solutions is selected for breeding from the
pool selected previously By producing a child solution using the above methods of crossover and
mutation a new solution is created which typically shares many of the characteristics of its par-
ents New parents are selected for each new child and the process continues until a new population
of solutions of appropriate size is generated Although reproduction methods that are based on the
use of two parents are more biology inspired some research suggests that more than two par-
ents generate higher quality chromosomes
These processes ultimately result in the next generation population of chromosomes that is different
from the initial generation Generally the average fitness will have increased by this procedure for
the population since only the best organisms from the first generation are selected for breeding
along with a small proportion of less fit solutions These less fit solutions ensure genetic diversity
within the genetic pool of the parents and therefore ensure the genetic diversity of the subsequent
generation of children
Opinion is divided over the importance of crossover versus mutation There are many references in
Fogel (2006) that support the importance of mutation-based search
Although crossover and mutation are known as the main genetic operators it is possible to use other
operators such as regrouping colonization-extinction or migration in genetic algorithms[5]
It is worth tuning parameters such as the mutation probability crossover probability and population
size to find reasonable settings for the problem class being worked on A very small mutation rate
may lead to genetic drift (which is non-ergodic in nature) A recombination rate that is too high may
4
lead to premature convergence of the genetic algorithm A mutation rate that is too high may lead to
loss of good solutions unless there is elitist selection There are theoretical but not yet practical up-
per and lower bounds for these parameters that can help guide selection through experiments (see
Tutorials)
Mutation is a genetic operator used to maintain genetic diversity from one generation of a
population of genetic algorithm chromosomes to the next It is analogous to biological mutation
Mutation alters one or more gene values in a chromosome from its initial state In mutation the
solution may change entirely from the previous solution Hence GA can come to better solution by
using mutation Mutation occurs during evolution according to a user-definable mutation
probability This probability should be set low If it is set too high the search will turn into a
primitive random search
The classic example of a mutation operator involves a probability that an arbitrary bit in a genetic
sequence will be changed from its original state A common method of implementing the mutation
operator involves generating a random variable for each bit in a sequence This random variable
tells whether or not a particular bit will be modified This mutation procedure based on the
biological point mutation is called single point mutation Other types are inversion and floating
point mutation When the gene encoding is restrictive as in permutation problems mutations are
swaps inversions and scrambles
The purpose of mutation in GAs is preserving and introducing diversity Mutation should allow the
algorithm to avoid local minima by preventing the population of chromosomes from becoming too
similar to each other thus slowing or even stopping evolution This reasoning also explains the fact
that most GA systems avoid only taking the fittest of the population in generating the next but rather
a random (or semi-random) selection with a weighting toward those that are fitter[1]
For different genome types different mutation types are suitable
Bit string mutation
The mutation of bit strings ensue through bit flips at random positions
Example
1 0 1 0 0 1 0
1 0 1 0 1 1 0
5
CROSSOVER
In genetic algorithms crossover is a genetic operator used to vary the programming of a chromo-
some or chromosomes from one generation to the next It is analogous to reproduction and
biological crossover upon which genetic algorithms are based Cross over is a process of taking
more than one parent solutions and producing a child solution from them There are methods for se-
lection of the chromosomes Those are also given below
Termination
This generational process is repeated until a termination condition has been reached Common ter-
minating conditions are
A solution is found that satisfies minimum criteria
Fixed number of generations reached
Allocated budget (computation timemoney) reached
The highest ranking solutions fitness is reaching or has reached a plateau such that success-
ive iterations no longer produce better results
Manual inspection
Combinations of the above
2)
TABU SEARCH
Tabu search created by Fred W Glover in 1986 and formalized in 1989 is a metaheuristic search
method employing local search methods used for mathematical optimization
6
Local (neighborhood) searches take a potential solution to a problem and check its immediate
neighbors (that is solutions that are similar except for one or two minor details) in the hope of
finding an improved solution Local search methods have a tendency to become stuck in suboptimal
regions or on plateaus where many solutions are equally fit
Tabu search enhances the performance of these techniques by using memory structures that describe
the visited solutions or user-provided sets of rules[2] If a potential solution has been previously
visited within a certain short-term period or if it has violated a rule it is marked as tabu
(forbidden) so that the algorithm does not consider that possibility repeatedly
Tabu search (TS) is a metaheuristic algorithm that can be used for solving combinatorial
optimization problems (problems where an optimal ordering and selection of options is desired)
The memory structures used in tabu search can roughly be divided into three categories[5]
bull Short-term The list of solutions recently considered If a potential solution appears on the tabu
list it cannot be revisited until it reaches an expiration point
bull Intermediate-term Intensification rules intended to bias the search towards promising areas of the
search space
bull Long-term Diversification rules that drive the search into new regions (ie regarding resets when
the search becomes stuck in a plateau or a suboptimal dead-end)
Short-term intermediate-term and long-term memories can overlap in practice Within these
categories memory can further be differentiated by measures such as frequency and impact of
changes made One example of an intermediate-term memory structure is one that prohibits or
encourages solutions that contain certain attributes (eg solutions which include undesirable or
desirable values for certain variables) or a memory structure that prevents or induces certain moves
(eg based on frequency memory applied to solutions sharing features in common with unattractive
or attractive solutions found in the past) In short-term memory selected attributes in solutions
recently visited are labeled tabu-active Solutions that contain tabu-active elements are banned
Aspiration criteria are employed that override a solutions tabu state thereby including the
otherwise-excluded solution in the allowed set (provided the solution is ldquogood enoughrdquo according to
a measure of quality or diversity) A simple and commonly used aspiration criterion is to allow
solutions which are better than the currently-known best solution
Short-term memory alone may be enough to achieve solution superior to those found by
conventional local search methods but intermediate and long-term structures are often necessary
7
for solving harder problems[6] Tabu search is often benchmarked against other metaheuristic
methods - such as Simulated annealing genetic algorithms Ant colony optimization algorithms
Reactive search optimization Guided Local Search or greedy randomized adaptive search In
addition tabu search is sometimes combined with other metaheuristics to create hybrid methods
The most common tabu search hybrid arises by joining TS with Scatter Search[7][8] a class of
population-based procedures which has roots in common with tabu search and is often employed in
solving large non-linear optimization problems
Tabu list solution that have been visited recently and cannot be visited in near future until
expiration
Aspiration list
Conditions at which tabu list members will be considered usually ie
If penalty of tabued solution is less than current best
Candidate list
All the top quality solutions are kept here and the best is chosen as current best
If solution in candidate list is chosen as current that entry is tabued so in next few steps it wonrsquot be
considered
NOTE we have to choose from candidate list even if it is worse than current solution
12 Problem Statement
We are going to use genetic algorithm to solve university time table scheduling problem Timetable
scheduling is an NP hard problem Many different ways and algorithm were used like backtracking
dynamic programing brute force etc but all these methods were really inefficient as well as quality
of the solution was mediocre Through already published research papers we can conclude heuristic
search algorithms are way more time efficient and give better quality of the solution there are many
heuristic algorithms like simulated annealing tabu search genetic algorithm which can be useful to
achieve a good quality solution but using a combination of these algorithm was apparently more
useful
Here our approach is focused on Genetic Algorithm but use of other algorithms (heuristic or non-
heuristic ) is there wherever its proved to be better
Following is the problem statement for creating a University timetable
8
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
Now we have three variables namely
Students (batches)
Teachers
Subjects
Following are the assumptions before we make Batch-Subject-Teacher combinations
One teacher only teaches 1 class
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
This is the main array (char final)
SNO Batch Teacher subject
1 B1 T1 S2
2 B2 T2 S2
3 B4 T3 S1
25
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
9
75
Following are the errors and scope for further analysis of the allocation
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Now we have allocated a unique integer to every batch ndashsubject ndashteacher combination and we will
try to allocate those integers to an 3-D array
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms10
We will try to allocate each integer to 1 of the slots here
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exceeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In students time table we have to try to reduce the number of breaks during a day so that
they have more time for self-study at home
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 class
not more than timemax2 class for teacher and student
less breaks for teachers
FITNESS FUNCTION
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
11
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
2) This implies
3 hours ndash penalty of 9
2hours - penalty of 4
For each break of n hours of student penalty is (n)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 30
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
AIM
Our aim is to find the best time tables having the following qualities
Follow all the hard constrain
Making optimal use of the resources
Best fitness function
14) Approach to problem in terms of technology platform to be used
As we are using genetic algorithm to generate time-table which consist of three methods namely
crossover mutation and calculating fitness functions Genetic algorithm instead of focusing on one
most optimal solution it focus on many different sub-optimal solution that results in high need of
computation and memory
So for this project due to high computation needs we are using C++ since it is most optimum in
terms of computation
INPUT AND STORAGE
Name of the teachers subjects and batches is taken as input
All these values will be stored in different text files We chose to store it in text file instead of data-
base because of the computational advantage And no sensitive data is needed to be stored
Storing data into the data structure from text file12
Data is read from the text file and stored in the arrays
From thatrdquo array finalrdquo is created
Input of the values of ldquoarray finalrdquo into the 3-D array
Two different algorithms are used one is the the basic random algorithm
Other one is the new algorithm called (ldquoarrow systemrdquo)
These two different algorithms are compared and analysed
Improvement of the basic solution
Two different ways are there to do that
Crossover
Mutation
Deciding the best solution to apply the crossover and mutation
Roulette Wheel Selection
Rank Selection
Tournament selection
Fitness Function
It is the measure ldquoHow good the solution is rdquo
Time-table of every teacher and batch is stored in different arrays
Fitness function defined above is applied
15)Support for Novelty significance of problem
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is done manually so to help big organisation for there such important task it is important to design a proper algorithm so that a lot of time can be saved
different ways that can be combined for solving the problem
modified genetic algorithm
coperative genetic algorithm13
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Simulated annealing
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
Intented audience
Airport management staff Railway management staff Universities Schools Organisation working on time based projects
16 Give tabular comparison of other existing approaches solution to the problem framed
1)Genetic Algorithms vs TabuSearch in Timetable Scheduling
GA provide diverse values of solution
tabu search is faster
GA reaches to global maximaTabu reaches to local naxima
mutation increases the diversitySaving the best solution is helpful
14
3)Timetable Scheduling Using Particle Swarm Optimization
Proved to be better then traditional GA
Converges faster
not compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY TIMETABLE SCHEDULING PROBLEM
Modified genetic algorithm(mga) two sets of chromosomes are made(solu-
tions) 3 chromosomes from set1 are taken They are allowed crossover with all the
chromosomes os set2 This reduce the candidate solution Hence decresce the calculations
Cooperative genetic algorithm Two spicies of chromosomes ( solutions)
are made Three solutions are chosen from each
spicies They are allowed to crossover Calculation decrese But diversity also de-
creases
5)University Time Table Scheduling using Genetic Artificial Immune Network
memetic algorithm GAIN greatly coutperforms GAvery promising algorithm for solving the time tabling problemConverges fasterreaches global maxima
6)Algorithms of Time table Problem Application andPerformance Evaluation in Course SchedulingSystem
GA provide diverse values of solution
GA reaches to global maxima
mutation increases the diversity
Saving the best solution is helpful
all the steps are same but instead of mutation sometimes tabu search is performed
7)An Algorithm to Automatically Generate Schedule forSchool Lectures Using a Heuristic Approach
extension to constraint propagation
some pre constrains can save a lot of computationfitness fuction is improved
8)A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHM
Timetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
The objective of the work is to create a model used to generate the acceptable schedule using 15
probabilistic operators
10)Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Multi Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set
2) Background Study
21) Literature Survey
1)
Genetic Algorithms vs Tabu
Search in Timetable Scheduling
S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application Group
E amp C Dept China Steel Corp Taiwan ROC
IEEE1999
to find the optimum solution throught genetic algorithm through genetic algorithm and tabu
searchboth of them can beat searching like back tracking hands downin this research paper tabu
search performed better than genetic algorithm Still since this was the first paper to tackle
scheduling problem through heuristic search so this have great importance in this major project
2)
Solving Timetable Scheduling Problem
Using Genetic Algorithms
Branimir Sigl Marin Golub Vedran Mornar
Faculty of Electrical Engineering and Computing University of Zagreb
Unska 3 I0000 Zagreb Croatia
IEEE-2003
This paper uses genetic algorithm to solve the time table scheduling problem using 3-d array of
16
day tim and classesand uses crossover and mutation process to optimisethis paper also make huge
improvement over genetic algorithm as shown abovemain difference between this and the above
research paper is the improvement that they did on genetic algorithmstating
The first step of the improved crossover operator simply copies equal genes from parents to the
child individual No additional conflicts can be added through copying those equal values Different
parentrsquos genes are specially marked and delegated for further processing In the second step the
crossover operator checks the list of equations for each marked gene in child individual and counts
the number of potential conflicts generated for both parentrsquos choices The gene from a parent that
generates fewer conflicts is chosen so no additional conflicts are generated in addition to the
conflicts caused by the parents
3)
Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu UniversityJiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University
Here this algorithm chooses 10 -20 random solutions and call them lolal maximarsquosand out of those
20 solutions whichever is the best is called global maxima each of those 20 solutions are changed
by changing 2-3 of their positions that are chosen randomly to find better solutions out of those 20
solutions their best solutions are found and out of them the best is chosen to be global in this way
algorithm have power to come out of local maximarsquos
as compare to genetic algorithm(traditional)algorithm performed better but in this paper it is not
compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVE
UNIVERSITY TIMETABLE SCHEDULING PROBLEM
Sehraneh Ghaemi Mohammad Taghi Vakili Ali Aghagolzadeh
Ghaemi Mvakil Aghagol tabrizuacir
Faculty of Electrical amp Computer Engineering
University Of Tabriz
IEEE-200717
Modified genetic algorithm(mga)
two sets of chromosomes are made(solutions)
3 chromosomes from set1 are taken
They are allowed crossover with all the chromosomes os set2
This reduce the candidate solution
Hence decresce the calculations
Cooperative genetic algorithm
Two spicies of chromosomes ( solutions) are made
Three solutions are chosen from each spicies
They are allowed to crossover
Calculation decrese
But diversity also decreases
This type of chromosome representation needs less number of bits for each gene Therefore
algorithm needs shorter time for running The obtained results show that SX operator in upper
mutation rates and UX and MUX operator in lower mutation rates perform well and MUX operator
is better than others By varying mutation rate during algorithm running better results are achieved
Also Tournament selection operates better than Rank Weighting selection The MGA and CGA
methods with population size less than GA yield better results and accelerate the algorithm Note
that the unsatisfied constraints number with CGA method is less than MGA method
5)
University Time Table Scheduling using Genetic Artificial Immune Network
Antariksha Bhaduri
IEEE-2009
Scheduling is one of the important tasks encountered in real life situations Various scheduling
problems are present like personnel scheduling production
scheduling education time table scheduling etc Educational time table scheduling is a difficult task
because of the many constraints that are needed to be satisfied in order to get a feasible solution
Education time table scheduling problem is known to be NP Hard Hence evolutionary techniques
have been used to solve the time table scheduling problem Methodologies like Genetic Algorithms
(GAs) Evolutionary Algorithms (EAs) etc have been used with mixed success In this paper we
have reviewed the problem of educational time table scheduling and solving it with Genetic
Algorithm We have further solved the problem with a memetic hybrid algorithm Genetic Artificial 18
Immune Network (GAIN) and compare the result with that obtained from GA Results show that
GAIN is able to reach the optimal feasible solution fasterthan that of GA
In this paper we discussed in detail the educational time tabling problem which is basically a
scheduling problem The problem is known to be NP hard and is of very high importance to
educational institutes We discussed in brief the various methods used in solving the time tabling
problem A detailed overview has been provided for previous works for solving this problem with
links to such works with more emphasis on solving the problem using evolutionary algorithms
Then the problem is structured and a chromosomenetwork cell design with genetic operators used
is provided for solving it Finally we solved the problem using Genetic Algorithm and a hybrid
memetic algorithm GAIN and the results are compared Results showed that the memetic
algorithm GAIN greatly coutperforms GA and hence proved to be a very promising algorithm for
solving the time tabling problem
6)
Algorithms of Time table Problem Application and
Performance Evaluation in Course Scheduling
System
Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1
Shandong Polytechnic University Jinan China
E-mail dyfspueducn qbspueducn gwsspueducn
wqzspueducn
Lan Wang Center Hospital Shandong Luneng Group Co Ltd Jinan China
E-mail qiufengdong163com
IEEE-2011
Summary
Tabu search algorithm can accept inferior solutions in the search process the new solution is not
randomly generated in the current field but selected the best solution which the best solution of
probability is more than other solutions Then the search can escape from local optimal solution
and turn to other areas increasing the probability of global optimum solution for local search We
use tabu search to replace the mutation operator The tabu search can get better
individual solutions and be out of local optimum The tabu search is applied to the local search it
can greatly avoid the phenomenon of over-mature for genetic algorithms but it is also unwise to use
tabu search frequently it waste running time In fact we can call the tabu search to replace the
mutation operation in appropriate time So basically all the steps are same but instead of
mutation sometimes tabu search is performed Genetic search algorithm has been validated in the 19
test and achieved good results Genetic search algorithm is a more practical method convergence is
fast and time distributes uniform But in practice conditions may not be terminated the purpose is
to provide different possible solutions in order for users to choose However if the constraint
conditions are too harsh there may be no feasible solution in such case human intervention is
necessary Course scheduling problem is a multidisciplinary hard problems this article attempt
genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and
parameter settings needed to be improved and explored the effect on the algorithm need be
improved in further
7)
An Algorithm to Automatically Generate Schedule for
School Lectures Using a Heuristic Approach
Anirudha Nanda Manisha P Pai and Abhijeet Gole
SUMMARY
In this paper authors have tried to avoid random selection by there point of view
It decreases an overhead of computation when we apply all the proper condition while mapping
teachers with time-room
And if they see any clash the lecture already mapped with that time slot is sent to clash data if that
lecture is not present in output data slot that is if the teacher of that lecture is no available ata that
time
The intention of the algorithm to generate a time-table schedule automatically is satisfied The
algorithm incorporates a number of techniques aimed to improve the efficiency of the search
operation It also addresses the important hard constraint of clashes between the availability of
teachers The non-rigid soft constraints ie optimization objectives for the search operation are also
effectively handled Given the generality of the algorithm operation it can further be adapted to
more specific scenarios eg University examination scheduling and further be enhanced to create
railway time tables Thus through the process of automation of the time-table problem many an-
hours of creating an effective timetable have been reduced eventually The most interesting future
direction in the development of the algorithm lies in its extension to constraint propagation When
there is a value assigned to a variable such assignment can be propagated to unassigned variables to
prohibit all values which come into conflict with the current assignments The information about
such prohibited value
20
8) A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHMSANDEEP SINGH RAWAT and LAKSHMI RAJAMANIYear-2010Journal of Theoretical and Applied Information Technology
SUMMARYThis paper deals with the implementation of a computer program which employs Genetic Algorithms (GAs) in the quest for an optimal class timetable generator The program is written in Java and incorporates a repair strategy for faster evolution This paper also explains an example usage of Genetic Algorithms (GAs) for finding optimal solutions to the problem of Class Timetable It is seen that the GA could be improved by the further incorporation of repair strategies and is readily scalable to the complete timetabling problem The system at present does not take care of other constraints like unavailability of lecturers small size of rooms and time required by the lecturer to move from one class timetable is used at the dept
WHATrsquoS NEWBreeding TimetablesTimetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables A child timetable is bred by performing unity order based crossover on the parents This means that each parent has an equal chance of providing each gene
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
Bharkha Narang Ambika and Rashmi Bansal
Year-2013International Conference on Emerging Trends in Engineering and Management
SUMMARY
This document proposes an optimized technique to automate time table generation system Time table generation system involves various challenging constraints of resources including faculties rooms time slots etc The roposed technique filters out the best of active rules andGenetic algorithm to generate the optimized solution Genetic Algorithm and Active Rules together form a complete sphere for developing a system which needs to satisfy various constraints Active Rules provide ldquoevent-condition-actionrdquo model for the implementation of any rule based system In genetic algorithm every individual are characterized by a fitnessfunction After analysis if there is higher fitness then it means better solution and then after based on their fitness parents are selected to reproduce offspring for a new generation where fitter individuals have more chance to reproduce The objective of the work is to create a model used to generate the acceptable schedule using probabilistic operators
21
10) Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Year -2009
DrGRADHAMANI NIJUPJOSEPH
International Journal of Recent Trends in Engineering
SUMMARYMulti Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set A set of techniques discussed here can be used to enhance searching and retrieving information from an existing fuzzy Knowledge Base (KB) The proposed genetic algorithm tries to be capable of generating solutions from both crisp and fuzzy valued data The search algorithm transforms vague and uncertain data represented as fuzzy sets for accurate solution generation Procedures are proposed which learns from the different available knowledge base for its application on uncertain data In this paper a repeat crossover Genetic Algorithm is formulated for its usage on uncertain data represented as fuzzy sets and it can be implemented for many real world applications
31 Overall description of the project
311 INTRODUCTION
3111)PURPOSE
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only
required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
22
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is
done manually so to help big organisation for there such important task it is important to design a
proper algorithm so that a lot of time can be saved
512) DEFINATION
Timetable Scheduling Problems are particularly challenging for Artificial Intelligence and
Operations Research techniques They are problems of time-based planning and combinatorial
optimization that tend to be solved with a cooperation of search and heuristics which usually lead
to satisfactory but sub-optimal solutions There are many kinds of timetable scheduling problems in
the daily life such as examination lecture transportation timetables In general there are several
common difficulties in these kinds of problems
There exists no deterministic polynomial time algorithm they are computationally NP com-
plete problems
It is very difficult to design effective heuristics Advanced search techniques using various
heuristics to prune the search space will not be guaranteed to find an optimal solution
A general algorithmic approach to a problem may turn out to be inapplicable certain spe-
cial constraints are often required in a particular instance of that problem
Real world timetable scheduling problems often involve constraints that cannot be pre-
cisely represented or even stated
In a timetable-scheduling problem events for example exam subjects must be slotted to certain
times which satisfy several of constraints
Knowledge-based and OR-based approaches to solving such problems are hard to develop are often
slow and can be inflexible because the architecture itself was based on specific assumptions about
23
the nature of the problem Constraint satisfaction techniques have been used to solve hard
constraints however it is more difficult to handle soft constraints such as preferences Most often
people still resort to handcrafted solutions starting from an easier solution and making a sequence of
modifications to cater for changed requirements This typically leads to suboptimal solutions that
bring significant organizational or financial penalties [ 13 developed a Genetic Algorithm (GA)
based timetable system
which has been successfully used by a university
3113) SCOPE
modification of the genetic algorithm by
modified genetic algorithm
coperative genetic algorithm
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
24
3114) OVERVIEW
In the last few years colleges and universities around the world are expanding enrollment in order
to develop more high-quality personnel various countries educational reform is also thorough
unceasingly The essence of course scheduling question is the curriculum the teacher and the
student should be assigned in the appropriate time section to the appropriate classroom It is a multi-
objective scheduling problem which involve more factors and known as the Time table Problem in
operations research (Time table Problem1063384 called TTP) Automated Course Scheduling algorithm
TTP was proved to be NP-complete problem as early as in the 70s The computing time is
exponential increase and integration time and space as dual constraints From classroom (space)
point of view it is similar to the binpacking problem But increased many restraints in the time So it
is a more complex problem than the bin-packing problem We can establish theoretical profundity
from this thesis At present in mathematics did not have an general algorithm to be able to solve the
NP complete problem well Solving the NP complete problem only to be able to depend on the
approximate method many scholars have conducted the research regarding this
3115 Contact informationSRS team members
Vibhanshu wadhwa ( enrol 10503854)
Mrsaurabh k raina (mentor)
312Overall Description
3121) Product perspective
Provide a good algorithm to our audience so that they can generate a helpful time table with
least wastage of their time and recourses
To generate a time table scheduler we have to use heuristic search
Till date most helpful heuristic search has been ldquogenetic algorithmrdquo
We will first define the problem
25
All their constrains soft as well as hard
Our aim is to find a solution which satisfy all the hard constrains for sure and as many soft
constrain as it can in accepatable time and space
Appling heuristic search like genetic algorithm or improved algorihms over genetic al-
gorithm as we have seen earliar
Compare the algorithms
Since it is an NPhard problem and no fully efficient algorithm can be found
As we have learned from the research papers that by using best combination of algorithm
like genetic algorithm(crossover and mutation)
tabu search particle swarm etc
3222 Product functions
Product have many functionalities and wide area for use
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
Efficiently generates timetables so vast number of resources can be utilised
3123)user characteristics
INPUT AND STORAGE program will take all the input from the user and will save it in its
database for all the future computation
26
CREATING RANDOM SOLUTIONS using the above input programby using the appro-
priate algorithm will generate some random solutions
CALCULATING FITTNESS FUNCTION by using the already decided penality program
will calculate the fitness functions of the solutions and will sort them in increasing
APPLYING GENETIC ALGORITHM THROGH MUTATION them by using fitness score
program will apply genetic algorithm or its improved version to create best possible solution
in minimum possible time
SECURITY program will delete all the information of the organisation after creating time-
table and will never upload it publically
EFFICIENCY Program will try to take minimum time and resources
USER-FRIENDLY INTERFACE no knowledge about the software will be required to use
it very straight design
MULTIPLE SOLUTIONS More than 1 acceptable solution will be providedso that organ-
isation can choose out of many solution which one suits them best
Operating environment
27
3124) Designimplementation constraints
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
28
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
sack Not every such representation is valid as the size of objects may exceed the capacity of the
knapsack The fitness of the solution is the sum of values of all objects in the knapsack if the repre-
sentation is valid or 0 otherwise
In some problems it is hard or even impossible to define the fitness expression in these cases a
simulation may be used to determine the fitness function value of a phenotype (eg computational
fluid dynamics is used to determine the air resistance of a vehicle whose shape is encoded as the
phenotype) or even interactive genetic algorithms are used
Genetic operators
The next step is to generate a second generation population of solutions from those selected through
genetic operators crossover (also called recombination) andor mutation
For each new solution to be produced a pair of parent solutions is selected for breeding from the
pool selected previously By producing a child solution using the above methods of crossover and
mutation a new solution is created which typically shares many of the characteristics of its par-
ents New parents are selected for each new child and the process continues until a new population
of solutions of appropriate size is generated Although reproduction methods that are based on the
use of two parents are more biology inspired some research suggests that more than two par-
ents generate higher quality chromosomes
These processes ultimately result in the next generation population of chromosomes that is different
from the initial generation Generally the average fitness will have increased by this procedure for
the population since only the best organisms from the first generation are selected for breeding
along with a small proportion of less fit solutions These less fit solutions ensure genetic diversity
within the genetic pool of the parents and therefore ensure the genetic diversity of the subsequent
generation of children
Opinion is divided over the importance of crossover versus mutation There are many references in
Fogel (2006) that support the importance of mutation-based search
Although crossover and mutation are known as the main genetic operators it is possible to use other
operators such as regrouping colonization-extinction or migration in genetic algorithms[5]
It is worth tuning parameters such as the mutation probability crossover probability and population
size to find reasonable settings for the problem class being worked on A very small mutation rate
may lead to genetic drift (which is non-ergodic in nature) A recombination rate that is too high may
4
lead to premature convergence of the genetic algorithm A mutation rate that is too high may lead to
loss of good solutions unless there is elitist selection There are theoretical but not yet practical up-
per and lower bounds for these parameters that can help guide selection through experiments (see
Tutorials)
Mutation is a genetic operator used to maintain genetic diversity from one generation of a
population of genetic algorithm chromosomes to the next It is analogous to biological mutation
Mutation alters one or more gene values in a chromosome from its initial state In mutation the
solution may change entirely from the previous solution Hence GA can come to better solution by
using mutation Mutation occurs during evolution according to a user-definable mutation
probability This probability should be set low If it is set too high the search will turn into a
primitive random search
The classic example of a mutation operator involves a probability that an arbitrary bit in a genetic
sequence will be changed from its original state A common method of implementing the mutation
operator involves generating a random variable for each bit in a sequence This random variable
tells whether or not a particular bit will be modified This mutation procedure based on the
biological point mutation is called single point mutation Other types are inversion and floating
point mutation When the gene encoding is restrictive as in permutation problems mutations are
swaps inversions and scrambles
The purpose of mutation in GAs is preserving and introducing diversity Mutation should allow the
algorithm to avoid local minima by preventing the population of chromosomes from becoming too
similar to each other thus slowing or even stopping evolution This reasoning also explains the fact
that most GA systems avoid only taking the fittest of the population in generating the next but rather
a random (or semi-random) selection with a weighting toward those that are fitter[1]
For different genome types different mutation types are suitable
Bit string mutation
The mutation of bit strings ensue through bit flips at random positions
Example
1 0 1 0 0 1 0
1 0 1 0 1 1 0
5
CROSSOVER
In genetic algorithms crossover is a genetic operator used to vary the programming of a chromo-
some or chromosomes from one generation to the next It is analogous to reproduction and
biological crossover upon which genetic algorithms are based Cross over is a process of taking
more than one parent solutions and producing a child solution from them There are methods for se-
lection of the chromosomes Those are also given below
Termination
This generational process is repeated until a termination condition has been reached Common ter-
minating conditions are
A solution is found that satisfies minimum criteria
Fixed number of generations reached
Allocated budget (computation timemoney) reached
The highest ranking solutions fitness is reaching or has reached a plateau such that success-
ive iterations no longer produce better results
Manual inspection
Combinations of the above
2)
TABU SEARCH
Tabu search created by Fred W Glover in 1986 and formalized in 1989 is a metaheuristic search
method employing local search methods used for mathematical optimization
6
Local (neighborhood) searches take a potential solution to a problem and check its immediate
neighbors (that is solutions that are similar except for one or two minor details) in the hope of
finding an improved solution Local search methods have a tendency to become stuck in suboptimal
regions or on plateaus where many solutions are equally fit
Tabu search enhances the performance of these techniques by using memory structures that describe
the visited solutions or user-provided sets of rules[2] If a potential solution has been previously
visited within a certain short-term period or if it has violated a rule it is marked as tabu
(forbidden) so that the algorithm does not consider that possibility repeatedly
Tabu search (TS) is a metaheuristic algorithm that can be used for solving combinatorial
optimization problems (problems where an optimal ordering and selection of options is desired)
The memory structures used in tabu search can roughly be divided into three categories[5]
bull Short-term The list of solutions recently considered If a potential solution appears on the tabu
list it cannot be revisited until it reaches an expiration point
bull Intermediate-term Intensification rules intended to bias the search towards promising areas of the
search space
bull Long-term Diversification rules that drive the search into new regions (ie regarding resets when
the search becomes stuck in a plateau or a suboptimal dead-end)
Short-term intermediate-term and long-term memories can overlap in practice Within these
categories memory can further be differentiated by measures such as frequency and impact of
changes made One example of an intermediate-term memory structure is one that prohibits or
encourages solutions that contain certain attributes (eg solutions which include undesirable or
desirable values for certain variables) or a memory structure that prevents or induces certain moves
(eg based on frequency memory applied to solutions sharing features in common with unattractive
or attractive solutions found in the past) In short-term memory selected attributes in solutions
recently visited are labeled tabu-active Solutions that contain tabu-active elements are banned
Aspiration criteria are employed that override a solutions tabu state thereby including the
otherwise-excluded solution in the allowed set (provided the solution is ldquogood enoughrdquo according to
a measure of quality or diversity) A simple and commonly used aspiration criterion is to allow
solutions which are better than the currently-known best solution
Short-term memory alone may be enough to achieve solution superior to those found by
conventional local search methods but intermediate and long-term structures are often necessary
7
for solving harder problems[6] Tabu search is often benchmarked against other metaheuristic
methods - such as Simulated annealing genetic algorithms Ant colony optimization algorithms
Reactive search optimization Guided Local Search or greedy randomized adaptive search In
addition tabu search is sometimes combined with other metaheuristics to create hybrid methods
The most common tabu search hybrid arises by joining TS with Scatter Search[7][8] a class of
population-based procedures which has roots in common with tabu search and is often employed in
solving large non-linear optimization problems
Tabu list solution that have been visited recently and cannot be visited in near future until
expiration
Aspiration list
Conditions at which tabu list members will be considered usually ie
If penalty of tabued solution is less than current best
Candidate list
All the top quality solutions are kept here and the best is chosen as current best
If solution in candidate list is chosen as current that entry is tabued so in next few steps it wonrsquot be
considered
NOTE we have to choose from candidate list even if it is worse than current solution
12 Problem Statement
We are going to use genetic algorithm to solve university time table scheduling problem Timetable
scheduling is an NP hard problem Many different ways and algorithm were used like backtracking
dynamic programing brute force etc but all these methods were really inefficient as well as quality
of the solution was mediocre Through already published research papers we can conclude heuristic
search algorithms are way more time efficient and give better quality of the solution there are many
heuristic algorithms like simulated annealing tabu search genetic algorithm which can be useful to
achieve a good quality solution but using a combination of these algorithm was apparently more
useful
Here our approach is focused on Genetic Algorithm but use of other algorithms (heuristic or non-
heuristic ) is there wherever its proved to be better
Following is the problem statement for creating a University timetable
8
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
Now we have three variables namely
Students (batches)
Teachers
Subjects
Following are the assumptions before we make Batch-Subject-Teacher combinations
One teacher only teaches 1 class
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
This is the main array (char final)
SNO Batch Teacher subject
1 B1 T1 S2
2 B2 T2 S2
3 B4 T3 S1
25
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
9
75
Following are the errors and scope for further analysis of the allocation
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Now we have allocated a unique integer to every batch ndashsubject ndashteacher combination and we will
try to allocate those integers to an 3-D array
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms10
We will try to allocate each integer to 1 of the slots here
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exceeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In students time table we have to try to reduce the number of breaks during a day so that
they have more time for self-study at home
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 class
not more than timemax2 class for teacher and student
less breaks for teachers
FITNESS FUNCTION
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
11
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
2) This implies
3 hours ndash penalty of 9
2hours - penalty of 4
For each break of n hours of student penalty is (n)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 30
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
AIM
Our aim is to find the best time tables having the following qualities
Follow all the hard constrain
Making optimal use of the resources
Best fitness function
14) Approach to problem in terms of technology platform to be used
As we are using genetic algorithm to generate time-table which consist of three methods namely
crossover mutation and calculating fitness functions Genetic algorithm instead of focusing on one
most optimal solution it focus on many different sub-optimal solution that results in high need of
computation and memory
So for this project due to high computation needs we are using C++ since it is most optimum in
terms of computation
INPUT AND STORAGE
Name of the teachers subjects and batches is taken as input
All these values will be stored in different text files We chose to store it in text file instead of data-
base because of the computational advantage And no sensitive data is needed to be stored
Storing data into the data structure from text file12
Data is read from the text file and stored in the arrays
From thatrdquo array finalrdquo is created
Input of the values of ldquoarray finalrdquo into the 3-D array
Two different algorithms are used one is the the basic random algorithm
Other one is the new algorithm called (ldquoarrow systemrdquo)
These two different algorithms are compared and analysed
Improvement of the basic solution
Two different ways are there to do that
Crossover
Mutation
Deciding the best solution to apply the crossover and mutation
Roulette Wheel Selection
Rank Selection
Tournament selection
Fitness Function
It is the measure ldquoHow good the solution is rdquo
Time-table of every teacher and batch is stored in different arrays
Fitness function defined above is applied
15)Support for Novelty significance of problem
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is done manually so to help big organisation for there such important task it is important to design a proper algorithm so that a lot of time can be saved
different ways that can be combined for solving the problem
modified genetic algorithm
coperative genetic algorithm13
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Simulated annealing
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
Intented audience
Airport management staff Railway management staff Universities Schools Organisation working on time based projects
16 Give tabular comparison of other existing approaches solution to the problem framed
1)Genetic Algorithms vs TabuSearch in Timetable Scheduling
GA provide diverse values of solution
tabu search is faster
GA reaches to global maximaTabu reaches to local naxima
mutation increases the diversitySaving the best solution is helpful
14
3)Timetable Scheduling Using Particle Swarm Optimization
Proved to be better then traditional GA
Converges faster
not compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY TIMETABLE SCHEDULING PROBLEM
Modified genetic algorithm(mga) two sets of chromosomes are made(solu-
tions) 3 chromosomes from set1 are taken They are allowed crossover with all the
chromosomes os set2 This reduce the candidate solution Hence decresce the calculations
Cooperative genetic algorithm Two spicies of chromosomes ( solutions)
are made Three solutions are chosen from each
spicies They are allowed to crossover Calculation decrese But diversity also de-
creases
5)University Time Table Scheduling using Genetic Artificial Immune Network
memetic algorithm GAIN greatly coutperforms GAvery promising algorithm for solving the time tabling problemConverges fasterreaches global maxima
6)Algorithms of Time table Problem Application andPerformance Evaluation in Course SchedulingSystem
GA provide diverse values of solution
GA reaches to global maxima
mutation increases the diversity
Saving the best solution is helpful
all the steps are same but instead of mutation sometimes tabu search is performed
7)An Algorithm to Automatically Generate Schedule forSchool Lectures Using a Heuristic Approach
extension to constraint propagation
some pre constrains can save a lot of computationfitness fuction is improved
8)A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHM
Timetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
The objective of the work is to create a model used to generate the acceptable schedule using 15
probabilistic operators
10)Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Multi Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set
2) Background Study
21) Literature Survey
1)
Genetic Algorithms vs Tabu
Search in Timetable Scheduling
S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application Group
E amp C Dept China Steel Corp Taiwan ROC
IEEE1999
to find the optimum solution throught genetic algorithm through genetic algorithm and tabu
searchboth of them can beat searching like back tracking hands downin this research paper tabu
search performed better than genetic algorithm Still since this was the first paper to tackle
scheduling problem through heuristic search so this have great importance in this major project
2)
Solving Timetable Scheduling Problem
Using Genetic Algorithms
Branimir Sigl Marin Golub Vedran Mornar
Faculty of Electrical Engineering and Computing University of Zagreb
Unska 3 I0000 Zagreb Croatia
IEEE-2003
This paper uses genetic algorithm to solve the time table scheduling problem using 3-d array of
16
day tim and classesand uses crossover and mutation process to optimisethis paper also make huge
improvement over genetic algorithm as shown abovemain difference between this and the above
research paper is the improvement that they did on genetic algorithmstating
The first step of the improved crossover operator simply copies equal genes from parents to the
child individual No additional conflicts can be added through copying those equal values Different
parentrsquos genes are specially marked and delegated for further processing In the second step the
crossover operator checks the list of equations for each marked gene in child individual and counts
the number of potential conflicts generated for both parentrsquos choices The gene from a parent that
generates fewer conflicts is chosen so no additional conflicts are generated in addition to the
conflicts caused by the parents
3)
Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu UniversityJiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University
Here this algorithm chooses 10 -20 random solutions and call them lolal maximarsquosand out of those
20 solutions whichever is the best is called global maxima each of those 20 solutions are changed
by changing 2-3 of their positions that are chosen randomly to find better solutions out of those 20
solutions their best solutions are found and out of them the best is chosen to be global in this way
algorithm have power to come out of local maximarsquos
as compare to genetic algorithm(traditional)algorithm performed better but in this paper it is not
compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVE
UNIVERSITY TIMETABLE SCHEDULING PROBLEM
Sehraneh Ghaemi Mohammad Taghi Vakili Ali Aghagolzadeh
Ghaemi Mvakil Aghagol tabrizuacir
Faculty of Electrical amp Computer Engineering
University Of Tabriz
IEEE-200717
Modified genetic algorithm(mga)
two sets of chromosomes are made(solutions)
3 chromosomes from set1 are taken
They are allowed crossover with all the chromosomes os set2
This reduce the candidate solution
Hence decresce the calculations
Cooperative genetic algorithm
Two spicies of chromosomes ( solutions) are made
Three solutions are chosen from each spicies
They are allowed to crossover
Calculation decrese
But diversity also decreases
This type of chromosome representation needs less number of bits for each gene Therefore
algorithm needs shorter time for running The obtained results show that SX operator in upper
mutation rates and UX and MUX operator in lower mutation rates perform well and MUX operator
is better than others By varying mutation rate during algorithm running better results are achieved
Also Tournament selection operates better than Rank Weighting selection The MGA and CGA
methods with population size less than GA yield better results and accelerate the algorithm Note
that the unsatisfied constraints number with CGA method is less than MGA method
5)
University Time Table Scheduling using Genetic Artificial Immune Network
Antariksha Bhaduri
IEEE-2009
Scheduling is one of the important tasks encountered in real life situations Various scheduling
problems are present like personnel scheduling production
scheduling education time table scheduling etc Educational time table scheduling is a difficult task
because of the many constraints that are needed to be satisfied in order to get a feasible solution
Education time table scheduling problem is known to be NP Hard Hence evolutionary techniques
have been used to solve the time table scheduling problem Methodologies like Genetic Algorithms
(GAs) Evolutionary Algorithms (EAs) etc have been used with mixed success In this paper we
have reviewed the problem of educational time table scheduling and solving it with Genetic
Algorithm We have further solved the problem with a memetic hybrid algorithm Genetic Artificial 18
Immune Network (GAIN) and compare the result with that obtained from GA Results show that
GAIN is able to reach the optimal feasible solution fasterthan that of GA
In this paper we discussed in detail the educational time tabling problem which is basically a
scheduling problem The problem is known to be NP hard and is of very high importance to
educational institutes We discussed in brief the various methods used in solving the time tabling
problem A detailed overview has been provided for previous works for solving this problem with
links to such works with more emphasis on solving the problem using evolutionary algorithms
Then the problem is structured and a chromosomenetwork cell design with genetic operators used
is provided for solving it Finally we solved the problem using Genetic Algorithm and a hybrid
memetic algorithm GAIN and the results are compared Results showed that the memetic
algorithm GAIN greatly coutperforms GA and hence proved to be a very promising algorithm for
solving the time tabling problem
6)
Algorithms of Time table Problem Application and
Performance Evaluation in Course Scheduling
System
Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1
Shandong Polytechnic University Jinan China
E-mail dyfspueducn qbspueducn gwsspueducn
wqzspueducn
Lan Wang Center Hospital Shandong Luneng Group Co Ltd Jinan China
E-mail qiufengdong163com
IEEE-2011
Summary
Tabu search algorithm can accept inferior solutions in the search process the new solution is not
randomly generated in the current field but selected the best solution which the best solution of
probability is more than other solutions Then the search can escape from local optimal solution
and turn to other areas increasing the probability of global optimum solution for local search We
use tabu search to replace the mutation operator The tabu search can get better
individual solutions and be out of local optimum The tabu search is applied to the local search it
can greatly avoid the phenomenon of over-mature for genetic algorithms but it is also unwise to use
tabu search frequently it waste running time In fact we can call the tabu search to replace the
mutation operation in appropriate time So basically all the steps are same but instead of
mutation sometimes tabu search is performed Genetic search algorithm has been validated in the 19
test and achieved good results Genetic search algorithm is a more practical method convergence is
fast and time distributes uniform But in practice conditions may not be terminated the purpose is
to provide different possible solutions in order for users to choose However if the constraint
conditions are too harsh there may be no feasible solution in such case human intervention is
necessary Course scheduling problem is a multidisciplinary hard problems this article attempt
genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and
parameter settings needed to be improved and explored the effect on the algorithm need be
improved in further
7)
An Algorithm to Automatically Generate Schedule for
School Lectures Using a Heuristic Approach
Anirudha Nanda Manisha P Pai and Abhijeet Gole
SUMMARY
In this paper authors have tried to avoid random selection by there point of view
It decreases an overhead of computation when we apply all the proper condition while mapping
teachers with time-room
And if they see any clash the lecture already mapped with that time slot is sent to clash data if that
lecture is not present in output data slot that is if the teacher of that lecture is no available ata that
time
The intention of the algorithm to generate a time-table schedule automatically is satisfied The
algorithm incorporates a number of techniques aimed to improve the efficiency of the search
operation It also addresses the important hard constraint of clashes between the availability of
teachers The non-rigid soft constraints ie optimization objectives for the search operation are also
effectively handled Given the generality of the algorithm operation it can further be adapted to
more specific scenarios eg University examination scheduling and further be enhanced to create
railway time tables Thus through the process of automation of the time-table problem many an-
hours of creating an effective timetable have been reduced eventually The most interesting future
direction in the development of the algorithm lies in its extension to constraint propagation When
there is a value assigned to a variable such assignment can be propagated to unassigned variables to
prohibit all values which come into conflict with the current assignments The information about
such prohibited value
20
8) A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHMSANDEEP SINGH RAWAT and LAKSHMI RAJAMANIYear-2010Journal of Theoretical and Applied Information Technology
SUMMARYThis paper deals with the implementation of a computer program which employs Genetic Algorithms (GAs) in the quest for an optimal class timetable generator The program is written in Java and incorporates a repair strategy for faster evolution This paper also explains an example usage of Genetic Algorithms (GAs) for finding optimal solutions to the problem of Class Timetable It is seen that the GA could be improved by the further incorporation of repair strategies and is readily scalable to the complete timetabling problem The system at present does not take care of other constraints like unavailability of lecturers small size of rooms and time required by the lecturer to move from one class timetable is used at the dept
WHATrsquoS NEWBreeding TimetablesTimetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables A child timetable is bred by performing unity order based crossover on the parents This means that each parent has an equal chance of providing each gene
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
Bharkha Narang Ambika and Rashmi Bansal
Year-2013International Conference on Emerging Trends in Engineering and Management
SUMMARY
This document proposes an optimized technique to automate time table generation system Time table generation system involves various challenging constraints of resources including faculties rooms time slots etc The roposed technique filters out the best of active rules andGenetic algorithm to generate the optimized solution Genetic Algorithm and Active Rules together form a complete sphere for developing a system which needs to satisfy various constraints Active Rules provide ldquoevent-condition-actionrdquo model for the implementation of any rule based system In genetic algorithm every individual are characterized by a fitnessfunction After analysis if there is higher fitness then it means better solution and then after based on their fitness parents are selected to reproduce offspring for a new generation where fitter individuals have more chance to reproduce The objective of the work is to create a model used to generate the acceptable schedule using probabilistic operators
21
10) Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Year -2009
DrGRADHAMANI NIJUPJOSEPH
International Journal of Recent Trends in Engineering
SUMMARYMulti Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set A set of techniques discussed here can be used to enhance searching and retrieving information from an existing fuzzy Knowledge Base (KB) The proposed genetic algorithm tries to be capable of generating solutions from both crisp and fuzzy valued data The search algorithm transforms vague and uncertain data represented as fuzzy sets for accurate solution generation Procedures are proposed which learns from the different available knowledge base for its application on uncertain data In this paper a repeat crossover Genetic Algorithm is formulated for its usage on uncertain data represented as fuzzy sets and it can be implemented for many real world applications
31 Overall description of the project
311 INTRODUCTION
3111)PURPOSE
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only
required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
22
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is
done manually so to help big organisation for there such important task it is important to design a
proper algorithm so that a lot of time can be saved
512) DEFINATION
Timetable Scheduling Problems are particularly challenging for Artificial Intelligence and
Operations Research techniques They are problems of time-based planning and combinatorial
optimization that tend to be solved with a cooperation of search and heuristics which usually lead
to satisfactory but sub-optimal solutions There are many kinds of timetable scheduling problems in
the daily life such as examination lecture transportation timetables In general there are several
common difficulties in these kinds of problems
There exists no deterministic polynomial time algorithm they are computationally NP com-
plete problems
It is very difficult to design effective heuristics Advanced search techniques using various
heuristics to prune the search space will not be guaranteed to find an optimal solution
A general algorithmic approach to a problem may turn out to be inapplicable certain spe-
cial constraints are often required in a particular instance of that problem
Real world timetable scheduling problems often involve constraints that cannot be pre-
cisely represented or even stated
In a timetable-scheduling problem events for example exam subjects must be slotted to certain
times which satisfy several of constraints
Knowledge-based and OR-based approaches to solving such problems are hard to develop are often
slow and can be inflexible because the architecture itself was based on specific assumptions about
23
the nature of the problem Constraint satisfaction techniques have been used to solve hard
constraints however it is more difficult to handle soft constraints such as preferences Most often
people still resort to handcrafted solutions starting from an easier solution and making a sequence of
modifications to cater for changed requirements This typically leads to suboptimal solutions that
bring significant organizational or financial penalties [ 13 developed a Genetic Algorithm (GA)
based timetable system
which has been successfully used by a university
3113) SCOPE
modification of the genetic algorithm by
modified genetic algorithm
coperative genetic algorithm
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
24
3114) OVERVIEW
In the last few years colleges and universities around the world are expanding enrollment in order
to develop more high-quality personnel various countries educational reform is also thorough
unceasingly The essence of course scheduling question is the curriculum the teacher and the
student should be assigned in the appropriate time section to the appropriate classroom It is a multi-
objective scheduling problem which involve more factors and known as the Time table Problem in
operations research (Time table Problem1063384 called TTP) Automated Course Scheduling algorithm
TTP was proved to be NP-complete problem as early as in the 70s The computing time is
exponential increase and integration time and space as dual constraints From classroom (space)
point of view it is similar to the binpacking problem But increased many restraints in the time So it
is a more complex problem than the bin-packing problem We can establish theoretical profundity
from this thesis At present in mathematics did not have an general algorithm to be able to solve the
NP complete problem well Solving the NP complete problem only to be able to depend on the
approximate method many scholars have conducted the research regarding this
3115 Contact informationSRS team members
Vibhanshu wadhwa ( enrol 10503854)
Mrsaurabh k raina (mentor)
312Overall Description
3121) Product perspective
Provide a good algorithm to our audience so that they can generate a helpful time table with
least wastage of their time and recourses
To generate a time table scheduler we have to use heuristic search
Till date most helpful heuristic search has been ldquogenetic algorithmrdquo
We will first define the problem
25
All their constrains soft as well as hard
Our aim is to find a solution which satisfy all the hard constrains for sure and as many soft
constrain as it can in accepatable time and space
Appling heuristic search like genetic algorithm or improved algorihms over genetic al-
gorithm as we have seen earliar
Compare the algorithms
Since it is an NPhard problem and no fully efficient algorithm can be found
As we have learned from the research papers that by using best combination of algorithm
like genetic algorithm(crossover and mutation)
tabu search particle swarm etc
3222 Product functions
Product have many functionalities and wide area for use
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
Efficiently generates timetables so vast number of resources can be utilised
3123)user characteristics
INPUT AND STORAGE program will take all the input from the user and will save it in its
database for all the future computation
26
CREATING RANDOM SOLUTIONS using the above input programby using the appro-
priate algorithm will generate some random solutions
CALCULATING FITTNESS FUNCTION by using the already decided penality program
will calculate the fitness functions of the solutions and will sort them in increasing
APPLYING GENETIC ALGORITHM THROGH MUTATION them by using fitness score
program will apply genetic algorithm or its improved version to create best possible solution
in minimum possible time
SECURITY program will delete all the information of the organisation after creating time-
table and will never upload it publically
EFFICIENCY Program will try to take minimum time and resources
USER-FRIENDLY INTERFACE no knowledge about the software will be required to use
it very straight design
MULTIPLE SOLUTIONS More than 1 acceptable solution will be providedso that organ-
isation can choose out of many solution which one suits them best
Operating environment
27
3124) Designimplementation constraints
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
28
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
lead to premature convergence of the genetic algorithm A mutation rate that is too high may lead to
loss of good solutions unless there is elitist selection There are theoretical but not yet practical up-
per and lower bounds for these parameters that can help guide selection through experiments (see
Tutorials)
Mutation is a genetic operator used to maintain genetic diversity from one generation of a
population of genetic algorithm chromosomes to the next It is analogous to biological mutation
Mutation alters one or more gene values in a chromosome from its initial state In mutation the
solution may change entirely from the previous solution Hence GA can come to better solution by
using mutation Mutation occurs during evolution according to a user-definable mutation
probability This probability should be set low If it is set too high the search will turn into a
primitive random search
The classic example of a mutation operator involves a probability that an arbitrary bit in a genetic
sequence will be changed from its original state A common method of implementing the mutation
operator involves generating a random variable for each bit in a sequence This random variable
tells whether or not a particular bit will be modified This mutation procedure based on the
biological point mutation is called single point mutation Other types are inversion and floating
point mutation When the gene encoding is restrictive as in permutation problems mutations are
swaps inversions and scrambles
The purpose of mutation in GAs is preserving and introducing diversity Mutation should allow the
algorithm to avoid local minima by preventing the population of chromosomes from becoming too
similar to each other thus slowing or even stopping evolution This reasoning also explains the fact
that most GA systems avoid only taking the fittest of the population in generating the next but rather
a random (or semi-random) selection with a weighting toward those that are fitter[1]
For different genome types different mutation types are suitable
Bit string mutation
The mutation of bit strings ensue through bit flips at random positions
Example
1 0 1 0 0 1 0
1 0 1 0 1 1 0
5
CROSSOVER
In genetic algorithms crossover is a genetic operator used to vary the programming of a chromo-
some or chromosomes from one generation to the next It is analogous to reproduction and
biological crossover upon which genetic algorithms are based Cross over is a process of taking
more than one parent solutions and producing a child solution from them There are methods for se-
lection of the chromosomes Those are also given below
Termination
This generational process is repeated until a termination condition has been reached Common ter-
minating conditions are
A solution is found that satisfies minimum criteria
Fixed number of generations reached
Allocated budget (computation timemoney) reached
The highest ranking solutions fitness is reaching or has reached a plateau such that success-
ive iterations no longer produce better results
Manual inspection
Combinations of the above
2)
TABU SEARCH
Tabu search created by Fred W Glover in 1986 and formalized in 1989 is a metaheuristic search
method employing local search methods used for mathematical optimization
6
Local (neighborhood) searches take a potential solution to a problem and check its immediate
neighbors (that is solutions that are similar except for one or two minor details) in the hope of
finding an improved solution Local search methods have a tendency to become stuck in suboptimal
regions or on plateaus where many solutions are equally fit
Tabu search enhances the performance of these techniques by using memory structures that describe
the visited solutions or user-provided sets of rules[2] If a potential solution has been previously
visited within a certain short-term period or if it has violated a rule it is marked as tabu
(forbidden) so that the algorithm does not consider that possibility repeatedly
Tabu search (TS) is a metaheuristic algorithm that can be used for solving combinatorial
optimization problems (problems where an optimal ordering and selection of options is desired)
The memory structures used in tabu search can roughly be divided into three categories[5]
bull Short-term The list of solutions recently considered If a potential solution appears on the tabu
list it cannot be revisited until it reaches an expiration point
bull Intermediate-term Intensification rules intended to bias the search towards promising areas of the
search space
bull Long-term Diversification rules that drive the search into new regions (ie regarding resets when
the search becomes stuck in a plateau or a suboptimal dead-end)
Short-term intermediate-term and long-term memories can overlap in practice Within these
categories memory can further be differentiated by measures such as frequency and impact of
changes made One example of an intermediate-term memory structure is one that prohibits or
encourages solutions that contain certain attributes (eg solutions which include undesirable or
desirable values for certain variables) or a memory structure that prevents or induces certain moves
(eg based on frequency memory applied to solutions sharing features in common with unattractive
or attractive solutions found in the past) In short-term memory selected attributes in solutions
recently visited are labeled tabu-active Solutions that contain tabu-active elements are banned
Aspiration criteria are employed that override a solutions tabu state thereby including the
otherwise-excluded solution in the allowed set (provided the solution is ldquogood enoughrdquo according to
a measure of quality or diversity) A simple and commonly used aspiration criterion is to allow
solutions which are better than the currently-known best solution
Short-term memory alone may be enough to achieve solution superior to those found by
conventional local search methods but intermediate and long-term structures are often necessary
7
for solving harder problems[6] Tabu search is often benchmarked against other metaheuristic
methods - such as Simulated annealing genetic algorithms Ant colony optimization algorithms
Reactive search optimization Guided Local Search or greedy randomized adaptive search In
addition tabu search is sometimes combined with other metaheuristics to create hybrid methods
The most common tabu search hybrid arises by joining TS with Scatter Search[7][8] a class of
population-based procedures which has roots in common with tabu search and is often employed in
solving large non-linear optimization problems
Tabu list solution that have been visited recently and cannot be visited in near future until
expiration
Aspiration list
Conditions at which tabu list members will be considered usually ie
If penalty of tabued solution is less than current best
Candidate list
All the top quality solutions are kept here and the best is chosen as current best
If solution in candidate list is chosen as current that entry is tabued so in next few steps it wonrsquot be
considered
NOTE we have to choose from candidate list even if it is worse than current solution
12 Problem Statement
We are going to use genetic algorithm to solve university time table scheduling problem Timetable
scheduling is an NP hard problem Many different ways and algorithm were used like backtracking
dynamic programing brute force etc but all these methods were really inefficient as well as quality
of the solution was mediocre Through already published research papers we can conclude heuristic
search algorithms are way more time efficient and give better quality of the solution there are many
heuristic algorithms like simulated annealing tabu search genetic algorithm which can be useful to
achieve a good quality solution but using a combination of these algorithm was apparently more
useful
Here our approach is focused on Genetic Algorithm but use of other algorithms (heuristic or non-
heuristic ) is there wherever its proved to be better
Following is the problem statement for creating a University timetable
8
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
Now we have three variables namely
Students (batches)
Teachers
Subjects
Following are the assumptions before we make Batch-Subject-Teacher combinations
One teacher only teaches 1 class
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
This is the main array (char final)
SNO Batch Teacher subject
1 B1 T1 S2
2 B2 T2 S2
3 B4 T3 S1
25
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
9
75
Following are the errors and scope for further analysis of the allocation
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Now we have allocated a unique integer to every batch ndashsubject ndashteacher combination and we will
try to allocate those integers to an 3-D array
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms10
We will try to allocate each integer to 1 of the slots here
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exceeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In students time table we have to try to reduce the number of breaks during a day so that
they have more time for self-study at home
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 class
not more than timemax2 class for teacher and student
less breaks for teachers
FITNESS FUNCTION
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
11
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
2) This implies
3 hours ndash penalty of 9
2hours - penalty of 4
For each break of n hours of student penalty is (n)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 30
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
AIM
Our aim is to find the best time tables having the following qualities
Follow all the hard constrain
Making optimal use of the resources
Best fitness function
14) Approach to problem in terms of technology platform to be used
As we are using genetic algorithm to generate time-table which consist of three methods namely
crossover mutation and calculating fitness functions Genetic algorithm instead of focusing on one
most optimal solution it focus on many different sub-optimal solution that results in high need of
computation and memory
So for this project due to high computation needs we are using C++ since it is most optimum in
terms of computation
INPUT AND STORAGE
Name of the teachers subjects and batches is taken as input
All these values will be stored in different text files We chose to store it in text file instead of data-
base because of the computational advantage And no sensitive data is needed to be stored
Storing data into the data structure from text file12
Data is read from the text file and stored in the arrays
From thatrdquo array finalrdquo is created
Input of the values of ldquoarray finalrdquo into the 3-D array
Two different algorithms are used one is the the basic random algorithm
Other one is the new algorithm called (ldquoarrow systemrdquo)
These two different algorithms are compared and analysed
Improvement of the basic solution
Two different ways are there to do that
Crossover
Mutation
Deciding the best solution to apply the crossover and mutation
Roulette Wheel Selection
Rank Selection
Tournament selection
Fitness Function
It is the measure ldquoHow good the solution is rdquo
Time-table of every teacher and batch is stored in different arrays
Fitness function defined above is applied
15)Support for Novelty significance of problem
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is done manually so to help big organisation for there such important task it is important to design a proper algorithm so that a lot of time can be saved
different ways that can be combined for solving the problem
modified genetic algorithm
coperative genetic algorithm13
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Simulated annealing
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
Intented audience
Airport management staff Railway management staff Universities Schools Organisation working on time based projects
16 Give tabular comparison of other existing approaches solution to the problem framed
1)Genetic Algorithms vs TabuSearch in Timetable Scheduling
GA provide diverse values of solution
tabu search is faster
GA reaches to global maximaTabu reaches to local naxima
mutation increases the diversitySaving the best solution is helpful
14
3)Timetable Scheduling Using Particle Swarm Optimization
Proved to be better then traditional GA
Converges faster
not compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY TIMETABLE SCHEDULING PROBLEM
Modified genetic algorithm(mga) two sets of chromosomes are made(solu-
tions) 3 chromosomes from set1 are taken They are allowed crossover with all the
chromosomes os set2 This reduce the candidate solution Hence decresce the calculations
Cooperative genetic algorithm Two spicies of chromosomes ( solutions)
are made Three solutions are chosen from each
spicies They are allowed to crossover Calculation decrese But diversity also de-
creases
5)University Time Table Scheduling using Genetic Artificial Immune Network
memetic algorithm GAIN greatly coutperforms GAvery promising algorithm for solving the time tabling problemConverges fasterreaches global maxima
6)Algorithms of Time table Problem Application andPerformance Evaluation in Course SchedulingSystem
GA provide diverse values of solution
GA reaches to global maxima
mutation increases the diversity
Saving the best solution is helpful
all the steps are same but instead of mutation sometimes tabu search is performed
7)An Algorithm to Automatically Generate Schedule forSchool Lectures Using a Heuristic Approach
extension to constraint propagation
some pre constrains can save a lot of computationfitness fuction is improved
8)A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHM
Timetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
The objective of the work is to create a model used to generate the acceptable schedule using 15
probabilistic operators
10)Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Multi Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set
2) Background Study
21) Literature Survey
1)
Genetic Algorithms vs Tabu
Search in Timetable Scheduling
S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application Group
E amp C Dept China Steel Corp Taiwan ROC
IEEE1999
to find the optimum solution throught genetic algorithm through genetic algorithm and tabu
searchboth of them can beat searching like back tracking hands downin this research paper tabu
search performed better than genetic algorithm Still since this was the first paper to tackle
scheduling problem through heuristic search so this have great importance in this major project
2)
Solving Timetable Scheduling Problem
Using Genetic Algorithms
Branimir Sigl Marin Golub Vedran Mornar
Faculty of Electrical Engineering and Computing University of Zagreb
Unska 3 I0000 Zagreb Croatia
IEEE-2003
This paper uses genetic algorithm to solve the time table scheduling problem using 3-d array of
16
day tim and classesand uses crossover and mutation process to optimisethis paper also make huge
improvement over genetic algorithm as shown abovemain difference between this and the above
research paper is the improvement that they did on genetic algorithmstating
The first step of the improved crossover operator simply copies equal genes from parents to the
child individual No additional conflicts can be added through copying those equal values Different
parentrsquos genes are specially marked and delegated for further processing In the second step the
crossover operator checks the list of equations for each marked gene in child individual and counts
the number of potential conflicts generated for both parentrsquos choices The gene from a parent that
generates fewer conflicts is chosen so no additional conflicts are generated in addition to the
conflicts caused by the parents
3)
Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu UniversityJiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University
Here this algorithm chooses 10 -20 random solutions and call them lolal maximarsquosand out of those
20 solutions whichever is the best is called global maxima each of those 20 solutions are changed
by changing 2-3 of their positions that are chosen randomly to find better solutions out of those 20
solutions their best solutions are found and out of them the best is chosen to be global in this way
algorithm have power to come out of local maximarsquos
as compare to genetic algorithm(traditional)algorithm performed better but in this paper it is not
compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVE
UNIVERSITY TIMETABLE SCHEDULING PROBLEM
Sehraneh Ghaemi Mohammad Taghi Vakili Ali Aghagolzadeh
Ghaemi Mvakil Aghagol tabrizuacir
Faculty of Electrical amp Computer Engineering
University Of Tabriz
IEEE-200717
Modified genetic algorithm(mga)
two sets of chromosomes are made(solutions)
3 chromosomes from set1 are taken
They are allowed crossover with all the chromosomes os set2
This reduce the candidate solution
Hence decresce the calculations
Cooperative genetic algorithm
Two spicies of chromosomes ( solutions) are made
Three solutions are chosen from each spicies
They are allowed to crossover
Calculation decrese
But diversity also decreases
This type of chromosome representation needs less number of bits for each gene Therefore
algorithm needs shorter time for running The obtained results show that SX operator in upper
mutation rates and UX and MUX operator in lower mutation rates perform well and MUX operator
is better than others By varying mutation rate during algorithm running better results are achieved
Also Tournament selection operates better than Rank Weighting selection The MGA and CGA
methods with population size less than GA yield better results and accelerate the algorithm Note
that the unsatisfied constraints number with CGA method is less than MGA method
5)
University Time Table Scheduling using Genetic Artificial Immune Network
Antariksha Bhaduri
IEEE-2009
Scheduling is one of the important tasks encountered in real life situations Various scheduling
problems are present like personnel scheduling production
scheduling education time table scheduling etc Educational time table scheduling is a difficult task
because of the many constraints that are needed to be satisfied in order to get a feasible solution
Education time table scheduling problem is known to be NP Hard Hence evolutionary techniques
have been used to solve the time table scheduling problem Methodologies like Genetic Algorithms
(GAs) Evolutionary Algorithms (EAs) etc have been used with mixed success In this paper we
have reviewed the problem of educational time table scheduling and solving it with Genetic
Algorithm We have further solved the problem with a memetic hybrid algorithm Genetic Artificial 18
Immune Network (GAIN) and compare the result with that obtained from GA Results show that
GAIN is able to reach the optimal feasible solution fasterthan that of GA
In this paper we discussed in detail the educational time tabling problem which is basically a
scheduling problem The problem is known to be NP hard and is of very high importance to
educational institutes We discussed in brief the various methods used in solving the time tabling
problem A detailed overview has been provided for previous works for solving this problem with
links to such works with more emphasis on solving the problem using evolutionary algorithms
Then the problem is structured and a chromosomenetwork cell design with genetic operators used
is provided for solving it Finally we solved the problem using Genetic Algorithm and a hybrid
memetic algorithm GAIN and the results are compared Results showed that the memetic
algorithm GAIN greatly coutperforms GA and hence proved to be a very promising algorithm for
solving the time tabling problem
6)
Algorithms of Time table Problem Application and
Performance Evaluation in Course Scheduling
System
Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1
Shandong Polytechnic University Jinan China
E-mail dyfspueducn qbspueducn gwsspueducn
wqzspueducn
Lan Wang Center Hospital Shandong Luneng Group Co Ltd Jinan China
E-mail qiufengdong163com
IEEE-2011
Summary
Tabu search algorithm can accept inferior solutions in the search process the new solution is not
randomly generated in the current field but selected the best solution which the best solution of
probability is more than other solutions Then the search can escape from local optimal solution
and turn to other areas increasing the probability of global optimum solution for local search We
use tabu search to replace the mutation operator The tabu search can get better
individual solutions and be out of local optimum The tabu search is applied to the local search it
can greatly avoid the phenomenon of over-mature for genetic algorithms but it is also unwise to use
tabu search frequently it waste running time In fact we can call the tabu search to replace the
mutation operation in appropriate time So basically all the steps are same but instead of
mutation sometimes tabu search is performed Genetic search algorithm has been validated in the 19
test and achieved good results Genetic search algorithm is a more practical method convergence is
fast and time distributes uniform But in practice conditions may not be terminated the purpose is
to provide different possible solutions in order for users to choose However if the constraint
conditions are too harsh there may be no feasible solution in such case human intervention is
necessary Course scheduling problem is a multidisciplinary hard problems this article attempt
genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and
parameter settings needed to be improved and explored the effect on the algorithm need be
improved in further
7)
An Algorithm to Automatically Generate Schedule for
School Lectures Using a Heuristic Approach
Anirudha Nanda Manisha P Pai and Abhijeet Gole
SUMMARY
In this paper authors have tried to avoid random selection by there point of view
It decreases an overhead of computation when we apply all the proper condition while mapping
teachers with time-room
And if they see any clash the lecture already mapped with that time slot is sent to clash data if that
lecture is not present in output data slot that is if the teacher of that lecture is no available ata that
time
The intention of the algorithm to generate a time-table schedule automatically is satisfied The
algorithm incorporates a number of techniques aimed to improve the efficiency of the search
operation It also addresses the important hard constraint of clashes between the availability of
teachers The non-rigid soft constraints ie optimization objectives for the search operation are also
effectively handled Given the generality of the algorithm operation it can further be adapted to
more specific scenarios eg University examination scheduling and further be enhanced to create
railway time tables Thus through the process of automation of the time-table problem many an-
hours of creating an effective timetable have been reduced eventually The most interesting future
direction in the development of the algorithm lies in its extension to constraint propagation When
there is a value assigned to a variable such assignment can be propagated to unassigned variables to
prohibit all values which come into conflict with the current assignments The information about
such prohibited value
20
8) A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHMSANDEEP SINGH RAWAT and LAKSHMI RAJAMANIYear-2010Journal of Theoretical and Applied Information Technology
SUMMARYThis paper deals with the implementation of a computer program which employs Genetic Algorithms (GAs) in the quest for an optimal class timetable generator The program is written in Java and incorporates a repair strategy for faster evolution This paper also explains an example usage of Genetic Algorithms (GAs) for finding optimal solutions to the problem of Class Timetable It is seen that the GA could be improved by the further incorporation of repair strategies and is readily scalable to the complete timetabling problem The system at present does not take care of other constraints like unavailability of lecturers small size of rooms and time required by the lecturer to move from one class timetable is used at the dept
WHATrsquoS NEWBreeding TimetablesTimetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables A child timetable is bred by performing unity order based crossover on the parents This means that each parent has an equal chance of providing each gene
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
Bharkha Narang Ambika and Rashmi Bansal
Year-2013International Conference on Emerging Trends in Engineering and Management
SUMMARY
This document proposes an optimized technique to automate time table generation system Time table generation system involves various challenging constraints of resources including faculties rooms time slots etc The roposed technique filters out the best of active rules andGenetic algorithm to generate the optimized solution Genetic Algorithm and Active Rules together form a complete sphere for developing a system which needs to satisfy various constraints Active Rules provide ldquoevent-condition-actionrdquo model for the implementation of any rule based system In genetic algorithm every individual are characterized by a fitnessfunction After analysis if there is higher fitness then it means better solution and then after based on their fitness parents are selected to reproduce offspring for a new generation where fitter individuals have more chance to reproduce The objective of the work is to create a model used to generate the acceptable schedule using probabilistic operators
21
10) Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Year -2009
DrGRADHAMANI NIJUPJOSEPH
International Journal of Recent Trends in Engineering
SUMMARYMulti Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set A set of techniques discussed here can be used to enhance searching and retrieving information from an existing fuzzy Knowledge Base (KB) The proposed genetic algorithm tries to be capable of generating solutions from both crisp and fuzzy valued data The search algorithm transforms vague and uncertain data represented as fuzzy sets for accurate solution generation Procedures are proposed which learns from the different available knowledge base for its application on uncertain data In this paper a repeat crossover Genetic Algorithm is formulated for its usage on uncertain data represented as fuzzy sets and it can be implemented for many real world applications
31 Overall description of the project
311 INTRODUCTION
3111)PURPOSE
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only
required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
22
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is
done manually so to help big organisation for there such important task it is important to design a
proper algorithm so that a lot of time can be saved
512) DEFINATION
Timetable Scheduling Problems are particularly challenging for Artificial Intelligence and
Operations Research techniques They are problems of time-based planning and combinatorial
optimization that tend to be solved with a cooperation of search and heuristics which usually lead
to satisfactory but sub-optimal solutions There are many kinds of timetable scheduling problems in
the daily life such as examination lecture transportation timetables In general there are several
common difficulties in these kinds of problems
There exists no deterministic polynomial time algorithm they are computationally NP com-
plete problems
It is very difficult to design effective heuristics Advanced search techniques using various
heuristics to prune the search space will not be guaranteed to find an optimal solution
A general algorithmic approach to a problem may turn out to be inapplicable certain spe-
cial constraints are often required in a particular instance of that problem
Real world timetable scheduling problems often involve constraints that cannot be pre-
cisely represented or even stated
In a timetable-scheduling problem events for example exam subjects must be slotted to certain
times which satisfy several of constraints
Knowledge-based and OR-based approaches to solving such problems are hard to develop are often
slow and can be inflexible because the architecture itself was based on specific assumptions about
23
the nature of the problem Constraint satisfaction techniques have been used to solve hard
constraints however it is more difficult to handle soft constraints such as preferences Most often
people still resort to handcrafted solutions starting from an easier solution and making a sequence of
modifications to cater for changed requirements This typically leads to suboptimal solutions that
bring significant organizational or financial penalties [ 13 developed a Genetic Algorithm (GA)
based timetable system
which has been successfully used by a university
3113) SCOPE
modification of the genetic algorithm by
modified genetic algorithm
coperative genetic algorithm
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
24
3114) OVERVIEW
In the last few years colleges and universities around the world are expanding enrollment in order
to develop more high-quality personnel various countries educational reform is also thorough
unceasingly The essence of course scheduling question is the curriculum the teacher and the
student should be assigned in the appropriate time section to the appropriate classroom It is a multi-
objective scheduling problem which involve more factors and known as the Time table Problem in
operations research (Time table Problem1063384 called TTP) Automated Course Scheduling algorithm
TTP was proved to be NP-complete problem as early as in the 70s The computing time is
exponential increase and integration time and space as dual constraints From classroom (space)
point of view it is similar to the binpacking problem But increased many restraints in the time So it
is a more complex problem than the bin-packing problem We can establish theoretical profundity
from this thesis At present in mathematics did not have an general algorithm to be able to solve the
NP complete problem well Solving the NP complete problem only to be able to depend on the
approximate method many scholars have conducted the research regarding this
3115 Contact informationSRS team members
Vibhanshu wadhwa ( enrol 10503854)
Mrsaurabh k raina (mentor)
312Overall Description
3121) Product perspective
Provide a good algorithm to our audience so that they can generate a helpful time table with
least wastage of their time and recourses
To generate a time table scheduler we have to use heuristic search
Till date most helpful heuristic search has been ldquogenetic algorithmrdquo
We will first define the problem
25
All their constrains soft as well as hard
Our aim is to find a solution which satisfy all the hard constrains for sure and as many soft
constrain as it can in accepatable time and space
Appling heuristic search like genetic algorithm or improved algorihms over genetic al-
gorithm as we have seen earliar
Compare the algorithms
Since it is an NPhard problem and no fully efficient algorithm can be found
As we have learned from the research papers that by using best combination of algorithm
like genetic algorithm(crossover and mutation)
tabu search particle swarm etc
3222 Product functions
Product have many functionalities and wide area for use
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
Efficiently generates timetables so vast number of resources can be utilised
3123)user characteristics
INPUT AND STORAGE program will take all the input from the user and will save it in its
database for all the future computation
26
CREATING RANDOM SOLUTIONS using the above input programby using the appro-
priate algorithm will generate some random solutions
CALCULATING FITTNESS FUNCTION by using the already decided penality program
will calculate the fitness functions of the solutions and will sort them in increasing
APPLYING GENETIC ALGORITHM THROGH MUTATION them by using fitness score
program will apply genetic algorithm or its improved version to create best possible solution
in minimum possible time
SECURITY program will delete all the information of the organisation after creating time-
table and will never upload it publically
EFFICIENCY Program will try to take minimum time and resources
USER-FRIENDLY INTERFACE no knowledge about the software will be required to use
it very straight design
MULTIPLE SOLUTIONS More than 1 acceptable solution will be providedso that organ-
isation can choose out of many solution which one suits them best
Operating environment
27
3124) Designimplementation constraints
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
28
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
CROSSOVER
In genetic algorithms crossover is a genetic operator used to vary the programming of a chromo-
some or chromosomes from one generation to the next It is analogous to reproduction and
biological crossover upon which genetic algorithms are based Cross over is a process of taking
more than one parent solutions and producing a child solution from them There are methods for se-
lection of the chromosomes Those are also given below
Termination
This generational process is repeated until a termination condition has been reached Common ter-
minating conditions are
A solution is found that satisfies minimum criteria
Fixed number of generations reached
Allocated budget (computation timemoney) reached
The highest ranking solutions fitness is reaching or has reached a plateau such that success-
ive iterations no longer produce better results
Manual inspection
Combinations of the above
2)
TABU SEARCH
Tabu search created by Fred W Glover in 1986 and formalized in 1989 is a metaheuristic search
method employing local search methods used for mathematical optimization
6
Local (neighborhood) searches take a potential solution to a problem and check its immediate
neighbors (that is solutions that are similar except for one or two minor details) in the hope of
finding an improved solution Local search methods have a tendency to become stuck in suboptimal
regions or on plateaus where many solutions are equally fit
Tabu search enhances the performance of these techniques by using memory structures that describe
the visited solutions or user-provided sets of rules[2] If a potential solution has been previously
visited within a certain short-term period or if it has violated a rule it is marked as tabu
(forbidden) so that the algorithm does not consider that possibility repeatedly
Tabu search (TS) is a metaheuristic algorithm that can be used for solving combinatorial
optimization problems (problems where an optimal ordering and selection of options is desired)
The memory structures used in tabu search can roughly be divided into three categories[5]
bull Short-term The list of solutions recently considered If a potential solution appears on the tabu
list it cannot be revisited until it reaches an expiration point
bull Intermediate-term Intensification rules intended to bias the search towards promising areas of the
search space
bull Long-term Diversification rules that drive the search into new regions (ie regarding resets when
the search becomes stuck in a plateau or a suboptimal dead-end)
Short-term intermediate-term and long-term memories can overlap in practice Within these
categories memory can further be differentiated by measures such as frequency and impact of
changes made One example of an intermediate-term memory structure is one that prohibits or
encourages solutions that contain certain attributes (eg solutions which include undesirable or
desirable values for certain variables) or a memory structure that prevents or induces certain moves
(eg based on frequency memory applied to solutions sharing features in common with unattractive
or attractive solutions found in the past) In short-term memory selected attributes in solutions
recently visited are labeled tabu-active Solutions that contain tabu-active elements are banned
Aspiration criteria are employed that override a solutions tabu state thereby including the
otherwise-excluded solution in the allowed set (provided the solution is ldquogood enoughrdquo according to
a measure of quality or diversity) A simple and commonly used aspiration criterion is to allow
solutions which are better than the currently-known best solution
Short-term memory alone may be enough to achieve solution superior to those found by
conventional local search methods but intermediate and long-term structures are often necessary
7
for solving harder problems[6] Tabu search is often benchmarked against other metaheuristic
methods - such as Simulated annealing genetic algorithms Ant colony optimization algorithms
Reactive search optimization Guided Local Search or greedy randomized adaptive search In
addition tabu search is sometimes combined with other metaheuristics to create hybrid methods
The most common tabu search hybrid arises by joining TS with Scatter Search[7][8] a class of
population-based procedures which has roots in common with tabu search and is often employed in
solving large non-linear optimization problems
Tabu list solution that have been visited recently and cannot be visited in near future until
expiration
Aspiration list
Conditions at which tabu list members will be considered usually ie
If penalty of tabued solution is less than current best
Candidate list
All the top quality solutions are kept here and the best is chosen as current best
If solution in candidate list is chosen as current that entry is tabued so in next few steps it wonrsquot be
considered
NOTE we have to choose from candidate list even if it is worse than current solution
12 Problem Statement
We are going to use genetic algorithm to solve university time table scheduling problem Timetable
scheduling is an NP hard problem Many different ways and algorithm were used like backtracking
dynamic programing brute force etc but all these methods were really inefficient as well as quality
of the solution was mediocre Through already published research papers we can conclude heuristic
search algorithms are way more time efficient and give better quality of the solution there are many
heuristic algorithms like simulated annealing tabu search genetic algorithm which can be useful to
achieve a good quality solution but using a combination of these algorithm was apparently more
useful
Here our approach is focused on Genetic Algorithm but use of other algorithms (heuristic or non-
heuristic ) is there wherever its proved to be better
Following is the problem statement for creating a University timetable
8
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
Now we have three variables namely
Students (batches)
Teachers
Subjects
Following are the assumptions before we make Batch-Subject-Teacher combinations
One teacher only teaches 1 class
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
This is the main array (char final)
SNO Batch Teacher subject
1 B1 T1 S2
2 B2 T2 S2
3 B4 T3 S1
25
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
9
75
Following are the errors and scope for further analysis of the allocation
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Now we have allocated a unique integer to every batch ndashsubject ndashteacher combination and we will
try to allocate those integers to an 3-D array
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms10
We will try to allocate each integer to 1 of the slots here
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exceeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In students time table we have to try to reduce the number of breaks during a day so that
they have more time for self-study at home
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 class
not more than timemax2 class for teacher and student
less breaks for teachers
FITNESS FUNCTION
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
11
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
2) This implies
3 hours ndash penalty of 9
2hours - penalty of 4
For each break of n hours of student penalty is (n)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 30
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
AIM
Our aim is to find the best time tables having the following qualities
Follow all the hard constrain
Making optimal use of the resources
Best fitness function
14) Approach to problem in terms of technology platform to be used
As we are using genetic algorithm to generate time-table which consist of three methods namely
crossover mutation and calculating fitness functions Genetic algorithm instead of focusing on one
most optimal solution it focus on many different sub-optimal solution that results in high need of
computation and memory
So for this project due to high computation needs we are using C++ since it is most optimum in
terms of computation
INPUT AND STORAGE
Name of the teachers subjects and batches is taken as input
All these values will be stored in different text files We chose to store it in text file instead of data-
base because of the computational advantage And no sensitive data is needed to be stored
Storing data into the data structure from text file12
Data is read from the text file and stored in the arrays
From thatrdquo array finalrdquo is created
Input of the values of ldquoarray finalrdquo into the 3-D array
Two different algorithms are used one is the the basic random algorithm
Other one is the new algorithm called (ldquoarrow systemrdquo)
These two different algorithms are compared and analysed
Improvement of the basic solution
Two different ways are there to do that
Crossover
Mutation
Deciding the best solution to apply the crossover and mutation
Roulette Wheel Selection
Rank Selection
Tournament selection
Fitness Function
It is the measure ldquoHow good the solution is rdquo
Time-table of every teacher and batch is stored in different arrays
Fitness function defined above is applied
15)Support for Novelty significance of problem
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is done manually so to help big organisation for there such important task it is important to design a proper algorithm so that a lot of time can be saved
different ways that can be combined for solving the problem
modified genetic algorithm
coperative genetic algorithm13
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Simulated annealing
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
Intented audience
Airport management staff Railway management staff Universities Schools Organisation working on time based projects
16 Give tabular comparison of other existing approaches solution to the problem framed
1)Genetic Algorithms vs TabuSearch in Timetable Scheduling
GA provide diverse values of solution
tabu search is faster
GA reaches to global maximaTabu reaches to local naxima
mutation increases the diversitySaving the best solution is helpful
14
3)Timetable Scheduling Using Particle Swarm Optimization
Proved to be better then traditional GA
Converges faster
not compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY TIMETABLE SCHEDULING PROBLEM
Modified genetic algorithm(mga) two sets of chromosomes are made(solu-
tions) 3 chromosomes from set1 are taken They are allowed crossover with all the
chromosomes os set2 This reduce the candidate solution Hence decresce the calculations
Cooperative genetic algorithm Two spicies of chromosomes ( solutions)
are made Three solutions are chosen from each
spicies They are allowed to crossover Calculation decrese But diversity also de-
creases
5)University Time Table Scheduling using Genetic Artificial Immune Network
memetic algorithm GAIN greatly coutperforms GAvery promising algorithm for solving the time tabling problemConverges fasterreaches global maxima
6)Algorithms of Time table Problem Application andPerformance Evaluation in Course SchedulingSystem
GA provide diverse values of solution
GA reaches to global maxima
mutation increases the diversity
Saving the best solution is helpful
all the steps are same but instead of mutation sometimes tabu search is performed
7)An Algorithm to Automatically Generate Schedule forSchool Lectures Using a Heuristic Approach
extension to constraint propagation
some pre constrains can save a lot of computationfitness fuction is improved
8)A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHM
Timetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
The objective of the work is to create a model used to generate the acceptable schedule using 15
probabilistic operators
10)Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Multi Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set
2) Background Study
21) Literature Survey
1)
Genetic Algorithms vs Tabu
Search in Timetable Scheduling
S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application Group
E amp C Dept China Steel Corp Taiwan ROC
IEEE1999
to find the optimum solution throught genetic algorithm through genetic algorithm and tabu
searchboth of them can beat searching like back tracking hands downin this research paper tabu
search performed better than genetic algorithm Still since this was the first paper to tackle
scheduling problem through heuristic search so this have great importance in this major project
2)
Solving Timetable Scheduling Problem
Using Genetic Algorithms
Branimir Sigl Marin Golub Vedran Mornar
Faculty of Electrical Engineering and Computing University of Zagreb
Unska 3 I0000 Zagreb Croatia
IEEE-2003
This paper uses genetic algorithm to solve the time table scheduling problem using 3-d array of
16
day tim and classesand uses crossover and mutation process to optimisethis paper also make huge
improvement over genetic algorithm as shown abovemain difference between this and the above
research paper is the improvement that they did on genetic algorithmstating
The first step of the improved crossover operator simply copies equal genes from parents to the
child individual No additional conflicts can be added through copying those equal values Different
parentrsquos genes are specially marked and delegated for further processing In the second step the
crossover operator checks the list of equations for each marked gene in child individual and counts
the number of potential conflicts generated for both parentrsquos choices The gene from a parent that
generates fewer conflicts is chosen so no additional conflicts are generated in addition to the
conflicts caused by the parents
3)
Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu UniversityJiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University
Here this algorithm chooses 10 -20 random solutions and call them lolal maximarsquosand out of those
20 solutions whichever is the best is called global maxima each of those 20 solutions are changed
by changing 2-3 of their positions that are chosen randomly to find better solutions out of those 20
solutions their best solutions are found and out of them the best is chosen to be global in this way
algorithm have power to come out of local maximarsquos
as compare to genetic algorithm(traditional)algorithm performed better but in this paper it is not
compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVE
UNIVERSITY TIMETABLE SCHEDULING PROBLEM
Sehraneh Ghaemi Mohammad Taghi Vakili Ali Aghagolzadeh
Ghaemi Mvakil Aghagol tabrizuacir
Faculty of Electrical amp Computer Engineering
University Of Tabriz
IEEE-200717
Modified genetic algorithm(mga)
two sets of chromosomes are made(solutions)
3 chromosomes from set1 are taken
They are allowed crossover with all the chromosomes os set2
This reduce the candidate solution
Hence decresce the calculations
Cooperative genetic algorithm
Two spicies of chromosomes ( solutions) are made
Three solutions are chosen from each spicies
They are allowed to crossover
Calculation decrese
But diversity also decreases
This type of chromosome representation needs less number of bits for each gene Therefore
algorithm needs shorter time for running The obtained results show that SX operator in upper
mutation rates and UX and MUX operator in lower mutation rates perform well and MUX operator
is better than others By varying mutation rate during algorithm running better results are achieved
Also Tournament selection operates better than Rank Weighting selection The MGA and CGA
methods with population size less than GA yield better results and accelerate the algorithm Note
that the unsatisfied constraints number with CGA method is less than MGA method
5)
University Time Table Scheduling using Genetic Artificial Immune Network
Antariksha Bhaduri
IEEE-2009
Scheduling is one of the important tasks encountered in real life situations Various scheduling
problems are present like personnel scheduling production
scheduling education time table scheduling etc Educational time table scheduling is a difficult task
because of the many constraints that are needed to be satisfied in order to get a feasible solution
Education time table scheduling problem is known to be NP Hard Hence evolutionary techniques
have been used to solve the time table scheduling problem Methodologies like Genetic Algorithms
(GAs) Evolutionary Algorithms (EAs) etc have been used with mixed success In this paper we
have reviewed the problem of educational time table scheduling and solving it with Genetic
Algorithm We have further solved the problem with a memetic hybrid algorithm Genetic Artificial 18
Immune Network (GAIN) and compare the result with that obtained from GA Results show that
GAIN is able to reach the optimal feasible solution fasterthan that of GA
In this paper we discussed in detail the educational time tabling problem which is basically a
scheduling problem The problem is known to be NP hard and is of very high importance to
educational institutes We discussed in brief the various methods used in solving the time tabling
problem A detailed overview has been provided for previous works for solving this problem with
links to such works with more emphasis on solving the problem using evolutionary algorithms
Then the problem is structured and a chromosomenetwork cell design with genetic operators used
is provided for solving it Finally we solved the problem using Genetic Algorithm and a hybrid
memetic algorithm GAIN and the results are compared Results showed that the memetic
algorithm GAIN greatly coutperforms GA and hence proved to be a very promising algorithm for
solving the time tabling problem
6)
Algorithms of Time table Problem Application and
Performance Evaluation in Course Scheduling
System
Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1
Shandong Polytechnic University Jinan China
E-mail dyfspueducn qbspueducn gwsspueducn
wqzspueducn
Lan Wang Center Hospital Shandong Luneng Group Co Ltd Jinan China
E-mail qiufengdong163com
IEEE-2011
Summary
Tabu search algorithm can accept inferior solutions in the search process the new solution is not
randomly generated in the current field but selected the best solution which the best solution of
probability is more than other solutions Then the search can escape from local optimal solution
and turn to other areas increasing the probability of global optimum solution for local search We
use tabu search to replace the mutation operator The tabu search can get better
individual solutions and be out of local optimum The tabu search is applied to the local search it
can greatly avoid the phenomenon of over-mature for genetic algorithms but it is also unwise to use
tabu search frequently it waste running time In fact we can call the tabu search to replace the
mutation operation in appropriate time So basically all the steps are same but instead of
mutation sometimes tabu search is performed Genetic search algorithm has been validated in the 19
test and achieved good results Genetic search algorithm is a more practical method convergence is
fast and time distributes uniform But in practice conditions may not be terminated the purpose is
to provide different possible solutions in order for users to choose However if the constraint
conditions are too harsh there may be no feasible solution in such case human intervention is
necessary Course scheduling problem is a multidisciplinary hard problems this article attempt
genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and
parameter settings needed to be improved and explored the effect on the algorithm need be
improved in further
7)
An Algorithm to Automatically Generate Schedule for
School Lectures Using a Heuristic Approach
Anirudha Nanda Manisha P Pai and Abhijeet Gole
SUMMARY
In this paper authors have tried to avoid random selection by there point of view
It decreases an overhead of computation when we apply all the proper condition while mapping
teachers with time-room
And if they see any clash the lecture already mapped with that time slot is sent to clash data if that
lecture is not present in output data slot that is if the teacher of that lecture is no available ata that
time
The intention of the algorithm to generate a time-table schedule automatically is satisfied The
algorithm incorporates a number of techniques aimed to improve the efficiency of the search
operation It also addresses the important hard constraint of clashes between the availability of
teachers The non-rigid soft constraints ie optimization objectives for the search operation are also
effectively handled Given the generality of the algorithm operation it can further be adapted to
more specific scenarios eg University examination scheduling and further be enhanced to create
railway time tables Thus through the process of automation of the time-table problem many an-
hours of creating an effective timetable have been reduced eventually The most interesting future
direction in the development of the algorithm lies in its extension to constraint propagation When
there is a value assigned to a variable such assignment can be propagated to unassigned variables to
prohibit all values which come into conflict with the current assignments The information about
such prohibited value
20
8) A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHMSANDEEP SINGH RAWAT and LAKSHMI RAJAMANIYear-2010Journal of Theoretical and Applied Information Technology
SUMMARYThis paper deals with the implementation of a computer program which employs Genetic Algorithms (GAs) in the quest for an optimal class timetable generator The program is written in Java and incorporates a repair strategy for faster evolution This paper also explains an example usage of Genetic Algorithms (GAs) for finding optimal solutions to the problem of Class Timetable It is seen that the GA could be improved by the further incorporation of repair strategies and is readily scalable to the complete timetabling problem The system at present does not take care of other constraints like unavailability of lecturers small size of rooms and time required by the lecturer to move from one class timetable is used at the dept
WHATrsquoS NEWBreeding TimetablesTimetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables A child timetable is bred by performing unity order based crossover on the parents This means that each parent has an equal chance of providing each gene
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
Bharkha Narang Ambika and Rashmi Bansal
Year-2013International Conference on Emerging Trends in Engineering and Management
SUMMARY
This document proposes an optimized technique to automate time table generation system Time table generation system involves various challenging constraints of resources including faculties rooms time slots etc The roposed technique filters out the best of active rules andGenetic algorithm to generate the optimized solution Genetic Algorithm and Active Rules together form a complete sphere for developing a system which needs to satisfy various constraints Active Rules provide ldquoevent-condition-actionrdquo model for the implementation of any rule based system In genetic algorithm every individual are characterized by a fitnessfunction After analysis if there is higher fitness then it means better solution and then after based on their fitness parents are selected to reproduce offspring for a new generation where fitter individuals have more chance to reproduce The objective of the work is to create a model used to generate the acceptable schedule using probabilistic operators
21
10) Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Year -2009
DrGRADHAMANI NIJUPJOSEPH
International Journal of Recent Trends in Engineering
SUMMARYMulti Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set A set of techniques discussed here can be used to enhance searching and retrieving information from an existing fuzzy Knowledge Base (KB) The proposed genetic algorithm tries to be capable of generating solutions from both crisp and fuzzy valued data The search algorithm transforms vague and uncertain data represented as fuzzy sets for accurate solution generation Procedures are proposed which learns from the different available knowledge base for its application on uncertain data In this paper a repeat crossover Genetic Algorithm is formulated for its usage on uncertain data represented as fuzzy sets and it can be implemented for many real world applications
31 Overall description of the project
311 INTRODUCTION
3111)PURPOSE
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only
required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
22
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is
done manually so to help big organisation for there such important task it is important to design a
proper algorithm so that a lot of time can be saved
512) DEFINATION
Timetable Scheduling Problems are particularly challenging for Artificial Intelligence and
Operations Research techniques They are problems of time-based planning and combinatorial
optimization that tend to be solved with a cooperation of search and heuristics which usually lead
to satisfactory but sub-optimal solutions There are many kinds of timetable scheduling problems in
the daily life such as examination lecture transportation timetables In general there are several
common difficulties in these kinds of problems
There exists no deterministic polynomial time algorithm they are computationally NP com-
plete problems
It is very difficult to design effective heuristics Advanced search techniques using various
heuristics to prune the search space will not be guaranteed to find an optimal solution
A general algorithmic approach to a problem may turn out to be inapplicable certain spe-
cial constraints are often required in a particular instance of that problem
Real world timetable scheduling problems often involve constraints that cannot be pre-
cisely represented or even stated
In a timetable-scheduling problem events for example exam subjects must be slotted to certain
times which satisfy several of constraints
Knowledge-based and OR-based approaches to solving such problems are hard to develop are often
slow and can be inflexible because the architecture itself was based on specific assumptions about
23
the nature of the problem Constraint satisfaction techniques have been used to solve hard
constraints however it is more difficult to handle soft constraints such as preferences Most often
people still resort to handcrafted solutions starting from an easier solution and making a sequence of
modifications to cater for changed requirements This typically leads to suboptimal solutions that
bring significant organizational or financial penalties [ 13 developed a Genetic Algorithm (GA)
based timetable system
which has been successfully used by a university
3113) SCOPE
modification of the genetic algorithm by
modified genetic algorithm
coperative genetic algorithm
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
24
3114) OVERVIEW
In the last few years colleges and universities around the world are expanding enrollment in order
to develop more high-quality personnel various countries educational reform is also thorough
unceasingly The essence of course scheduling question is the curriculum the teacher and the
student should be assigned in the appropriate time section to the appropriate classroom It is a multi-
objective scheduling problem which involve more factors and known as the Time table Problem in
operations research (Time table Problem1063384 called TTP) Automated Course Scheduling algorithm
TTP was proved to be NP-complete problem as early as in the 70s The computing time is
exponential increase and integration time and space as dual constraints From classroom (space)
point of view it is similar to the binpacking problem But increased many restraints in the time So it
is a more complex problem than the bin-packing problem We can establish theoretical profundity
from this thesis At present in mathematics did not have an general algorithm to be able to solve the
NP complete problem well Solving the NP complete problem only to be able to depend on the
approximate method many scholars have conducted the research regarding this
3115 Contact informationSRS team members
Vibhanshu wadhwa ( enrol 10503854)
Mrsaurabh k raina (mentor)
312Overall Description
3121) Product perspective
Provide a good algorithm to our audience so that they can generate a helpful time table with
least wastage of their time and recourses
To generate a time table scheduler we have to use heuristic search
Till date most helpful heuristic search has been ldquogenetic algorithmrdquo
We will first define the problem
25
All their constrains soft as well as hard
Our aim is to find a solution which satisfy all the hard constrains for sure and as many soft
constrain as it can in accepatable time and space
Appling heuristic search like genetic algorithm or improved algorihms over genetic al-
gorithm as we have seen earliar
Compare the algorithms
Since it is an NPhard problem and no fully efficient algorithm can be found
As we have learned from the research papers that by using best combination of algorithm
like genetic algorithm(crossover and mutation)
tabu search particle swarm etc
3222 Product functions
Product have many functionalities and wide area for use
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
Efficiently generates timetables so vast number of resources can be utilised
3123)user characteristics
INPUT AND STORAGE program will take all the input from the user and will save it in its
database for all the future computation
26
CREATING RANDOM SOLUTIONS using the above input programby using the appro-
priate algorithm will generate some random solutions
CALCULATING FITTNESS FUNCTION by using the already decided penality program
will calculate the fitness functions of the solutions and will sort them in increasing
APPLYING GENETIC ALGORITHM THROGH MUTATION them by using fitness score
program will apply genetic algorithm or its improved version to create best possible solution
in minimum possible time
SECURITY program will delete all the information of the organisation after creating time-
table and will never upload it publically
EFFICIENCY Program will try to take minimum time and resources
USER-FRIENDLY INTERFACE no knowledge about the software will be required to use
it very straight design
MULTIPLE SOLUTIONS More than 1 acceptable solution will be providedso that organ-
isation can choose out of many solution which one suits them best
Operating environment
27
3124) Designimplementation constraints
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
28
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
Local (neighborhood) searches take a potential solution to a problem and check its immediate
neighbors (that is solutions that are similar except for one or two minor details) in the hope of
finding an improved solution Local search methods have a tendency to become stuck in suboptimal
regions or on plateaus where many solutions are equally fit
Tabu search enhances the performance of these techniques by using memory structures that describe
the visited solutions or user-provided sets of rules[2] If a potential solution has been previously
visited within a certain short-term period or if it has violated a rule it is marked as tabu
(forbidden) so that the algorithm does not consider that possibility repeatedly
Tabu search (TS) is a metaheuristic algorithm that can be used for solving combinatorial
optimization problems (problems where an optimal ordering and selection of options is desired)
The memory structures used in tabu search can roughly be divided into three categories[5]
bull Short-term The list of solutions recently considered If a potential solution appears on the tabu
list it cannot be revisited until it reaches an expiration point
bull Intermediate-term Intensification rules intended to bias the search towards promising areas of the
search space
bull Long-term Diversification rules that drive the search into new regions (ie regarding resets when
the search becomes stuck in a plateau or a suboptimal dead-end)
Short-term intermediate-term and long-term memories can overlap in practice Within these
categories memory can further be differentiated by measures such as frequency and impact of
changes made One example of an intermediate-term memory structure is one that prohibits or
encourages solutions that contain certain attributes (eg solutions which include undesirable or
desirable values for certain variables) or a memory structure that prevents or induces certain moves
(eg based on frequency memory applied to solutions sharing features in common with unattractive
or attractive solutions found in the past) In short-term memory selected attributes in solutions
recently visited are labeled tabu-active Solutions that contain tabu-active elements are banned
Aspiration criteria are employed that override a solutions tabu state thereby including the
otherwise-excluded solution in the allowed set (provided the solution is ldquogood enoughrdquo according to
a measure of quality or diversity) A simple and commonly used aspiration criterion is to allow
solutions which are better than the currently-known best solution
Short-term memory alone may be enough to achieve solution superior to those found by
conventional local search methods but intermediate and long-term structures are often necessary
7
for solving harder problems[6] Tabu search is often benchmarked against other metaheuristic
methods - such as Simulated annealing genetic algorithms Ant colony optimization algorithms
Reactive search optimization Guided Local Search or greedy randomized adaptive search In
addition tabu search is sometimes combined with other metaheuristics to create hybrid methods
The most common tabu search hybrid arises by joining TS with Scatter Search[7][8] a class of
population-based procedures which has roots in common with tabu search and is often employed in
solving large non-linear optimization problems
Tabu list solution that have been visited recently and cannot be visited in near future until
expiration
Aspiration list
Conditions at which tabu list members will be considered usually ie
If penalty of tabued solution is less than current best
Candidate list
All the top quality solutions are kept here and the best is chosen as current best
If solution in candidate list is chosen as current that entry is tabued so in next few steps it wonrsquot be
considered
NOTE we have to choose from candidate list even if it is worse than current solution
12 Problem Statement
We are going to use genetic algorithm to solve university time table scheduling problem Timetable
scheduling is an NP hard problem Many different ways and algorithm were used like backtracking
dynamic programing brute force etc but all these methods were really inefficient as well as quality
of the solution was mediocre Through already published research papers we can conclude heuristic
search algorithms are way more time efficient and give better quality of the solution there are many
heuristic algorithms like simulated annealing tabu search genetic algorithm which can be useful to
achieve a good quality solution but using a combination of these algorithm was apparently more
useful
Here our approach is focused on Genetic Algorithm but use of other algorithms (heuristic or non-
heuristic ) is there wherever its proved to be better
Following is the problem statement for creating a University timetable
8
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
Now we have three variables namely
Students (batches)
Teachers
Subjects
Following are the assumptions before we make Batch-Subject-Teacher combinations
One teacher only teaches 1 class
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
This is the main array (char final)
SNO Batch Teacher subject
1 B1 T1 S2
2 B2 T2 S2
3 B4 T3 S1
25
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
9
75
Following are the errors and scope for further analysis of the allocation
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Now we have allocated a unique integer to every batch ndashsubject ndashteacher combination and we will
try to allocate those integers to an 3-D array
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms10
We will try to allocate each integer to 1 of the slots here
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exceeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In students time table we have to try to reduce the number of breaks during a day so that
they have more time for self-study at home
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 class
not more than timemax2 class for teacher and student
less breaks for teachers
FITNESS FUNCTION
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
11
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
2) This implies
3 hours ndash penalty of 9
2hours - penalty of 4
For each break of n hours of student penalty is (n)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 30
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
AIM
Our aim is to find the best time tables having the following qualities
Follow all the hard constrain
Making optimal use of the resources
Best fitness function
14) Approach to problem in terms of technology platform to be used
As we are using genetic algorithm to generate time-table which consist of three methods namely
crossover mutation and calculating fitness functions Genetic algorithm instead of focusing on one
most optimal solution it focus on many different sub-optimal solution that results in high need of
computation and memory
So for this project due to high computation needs we are using C++ since it is most optimum in
terms of computation
INPUT AND STORAGE
Name of the teachers subjects and batches is taken as input
All these values will be stored in different text files We chose to store it in text file instead of data-
base because of the computational advantage And no sensitive data is needed to be stored
Storing data into the data structure from text file12
Data is read from the text file and stored in the arrays
From thatrdquo array finalrdquo is created
Input of the values of ldquoarray finalrdquo into the 3-D array
Two different algorithms are used one is the the basic random algorithm
Other one is the new algorithm called (ldquoarrow systemrdquo)
These two different algorithms are compared and analysed
Improvement of the basic solution
Two different ways are there to do that
Crossover
Mutation
Deciding the best solution to apply the crossover and mutation
Roulette Wheel Selection
Rank Selection
Tournament selection
Fitness Function
It is the measure ldquoHow good the solution is rdquo
Time-table of every teacher and batch is stored in different arrays
Fitness function defined above is applied
15)Support for Novelty significance of problem
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is done manually so to help big organisation for there such important task it is important to design a proper algorithm so that a lot of time can be saved
different ways that can be combined for solving the problem
modified genetic algorithm
coperative genetic algorithm13
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Simulated annealing
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
Intented audience
Airport management staff Railway management staff Universities Schools Organisation working on time based projects
16 Give tabular comparison of other existing approaches solution to the problem framed
1)Genetic Algorithms vs TabuSearch in Timetable Scheduling
GA provide diverse values of solution
tabu search is faster
GA reaches to global maximaTabu reaches to local naxima
mutation increases the diversitySaving the best solution is helpful
14
3)Timetable Scheduling Using Particle Swarm Optimization
Proved to be better then traditional GA
Converges faster
not compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY TIMETABLE SCHEDULING PROBLEM
Modified genetic algorithm(mga) two sets of chromosomes are made(solu-
tions) 3 chromosomes from set1 are taken They are allowed crossover with all the
chromosomes os set2 This reduce the candidate solution Hence decresce the calculations
Cooperative genetic algorithm Two spicies of chromosomes ( solutions)
are made Three solutions are chosen from each
spicies They are allowed to crossover Calculation decrese But diversity also de-
creases
5)University Time Table Scheduling using Genetic Artificial Immune Network
memetic algorithm GAIN greatly coutperforms GAvery promising algorithm for solving the time tabling problemConverges fasterreaches global maxima
6)Algorithms of Time table Problem Application andPerformance Evaluation in Course SchedulingSystem
GA provide diverse values of solution
GA reaches to global maxima
mutation increases the diversity
Saving the best solution is helpful
all the steps are same but instead of mutation sometimes tabu search is performed
7)An Algorithm to Automatically Generate Schedule forSchool Lectures Using a Heuristic Approach
extension to constraint propagation
some pre constrains can save a lot of computationfitness fuction is improved
8)A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHM
Timetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
The objective of the work is to create a model used to generate the acceptable schedule using 15
probabilistic operators
10)Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Multi Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set
2) Background Study
21) Literature Survey
1)
Genetic Algorithms vs Tabu
Search in Timetable Scheduling
S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application Group
E amp C Dept China Steel Corp Taiwan ROC
IEEE1999
to find the optimum solution throught genetic algorithm through genetic algorithm and tabu
searchboth of them can beat searching like back tracking hands downin this research paper tabu
search performed better than genetic algorithm Still since this was the first paper to tackle
scheduling problem through heuristic search so this have great importance in this major project
2)
Solving Timetable Scheduling Problem
Using Genetic Algorithms
Branimir Sigl Marin Golub Vedran Mornar
Faculty of Electrical Engineering and Computing University of Zagreb
Unska 3 I0000 Zagreb Croatia
IEEE-2003
This paper uses genetic algorithm to solve the time table scheduling problem using 3-d array of
16
day tim and classesand uses crossover and mutation process to optimisethis paper also make huge
improvement over genetic algorithm as shown abovemain difference between this and the above
research paper is the improvement that they did on genetic algorithmstating
The first step of the improved crossover operator simply copies equal genes from parents to the
child individual No additional conflicts can be added through copying those equal values Different
parentrsquos genes are specially marked and delegated for further processing In the second step the
crossover operator checks the list of equations for each marked gene in child individual and counts
the number of potential conflicts generated for both parentrsquos choices The gene from a parent that
generates fewer conflicts is chosen so no additional conflicts are generated in addition to the
conflicts caused by the parents
3)
Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu UniversityJiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University
Here this algorithm chooses 10 -20 random solutions and call them lolal maximarsquosand out of those
20 solutions whichever is the best is called global maxima each of those 20 solutions are changed
by changing 2-3 of their positions that are chosen randomly to find better solutions out of those 20
solutions their best solutions are found and out of them the best is chosen to be global in this way
algorithm have power to come out of local maximarsquos
as compare to genetic algorithm(traditional)algorithm performed better but in this paper it is not
compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVE
UNIVERSITY TIMETABLE SCHEDULING PROBLEM
Sehraneh Ghaemi Mohammad Taghi Vakili Ali Aghagolzadeh
Ghaemi Mvakil Aghagol tabrizuacir
Faculty of Electrical amp Computer Engineering
University Of Tabriz
IEEE-200717
Modified genetic algorithm(mga)
two sets of chromosomes are made(solutions)
3 chromosomes from set1 are taken
They are allowed crossover with all the chromosomes os set2
This reduce the candidate solution
Hence decresce the calculations
Cooperative genetic algorithm
Two spicies of chromosomes ( solutions) are made
Three solutions are chosen from each spicies
They are allowed to crossover
Calculation decrese
But diversity also decreases
This type of chromosome representation needs less number of bits for each gene Therefore
algorithm needs shorter time for running The obtained results show that SX operator in upper
mutation rates and UX and MUX operator in lower mutation rates perform well and MUX operator
is better than others By varying mutation rate during algorithm running better results are achieved
Also Tournament selection operates better than Rank Weighting selection The MGA and CGA
methods with population size less than GA yield better results and accelerate the algorithm Note
that the unsatisfied constraints number with CGA method is less than MGA method
5)
University Time Table Scheduling using Genetic Artificial Immune Network
Antariksha Bhaduri
IEEE-2009
Scheduling is one of the important tasks encountered in real life situations Various scheduling
problems are present like personnel scheduling production
scheduling education time table scheduling etc Educational time table scheduling is a difficult task
because of the many constraints that are needed to be satisfied in order to get a feasible solution
Education time table scheduling problem is known to be NP Hard Hence evolutionary techniques
have been used to solve the time table scheduling problem Methodologies like Genetic Algorithms
(GAs) Evolutionary Algorithms (EAs) etc have been used with mixed success In this paper we
have reviewed the problem of educational time table scheduling and solving it with Genetic
Algorithm We have further solved the problem with a memetic hybrid algorithm Genetic Artificial 18
Immune Network (GAIN) and compare the result with that obtained from GA Results show that
GAIN is able to reach the optimal feasible solution fasterthan that of GA
In this paper we discussed in detail the educational time tabling problem which is basically a
scheduling problem The problem is known to be NP hard and is of very high importance to
educational institutes We discussed in brief the various methods used in solving the time tabling
problem A detailed overview has been provided for previous works for solving this problem with
links to such works with more emphasis on solving the problem using evolutionary algorithms
Then the problem is structured and a chromosomenetwork cell design with genetic operators used
is provided for solving it Finally we solved the problem using Genetic Algorithm and a hybrid
memetic algorithm GAIN and the results are compared Results showed that the memetic
algorithm GAIN greatly coutperforms GA and hence proved to be a very promising algorithm for
solving the time tabling problem
6)
Algorithms of Time table Problem Application and
Performance Evaluation in Course Scheduling
System
Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1
Shandong Polytechnic University Jinan China
E-mail dyfspueducn qbspueducn gwsspueducn
wqzspueducn
Lan Wang Center Hospital Shandong Luneng Group Co Ltd Jinan China
E-mail qiufengdong163com
IEEE-2011
Summary
Tabu search algorithm can accept inferior solutions in the search process the new solution is not
randomly generated in the current field but selected the best solution which the best solution of
probability is more than other solutions Then the search can escape from local optimal solution
and turn to other areas increasing the probability of global optimum solution for local search We
use tabu search to replace the mutation operator The tabu search can get better
individual solutions and be out of local optimum The tabu search is applied to the local search it
can greatly avoid the phenomenon of over-mature for genetic algorithms but it is also unwise to use
tabu search frequently it waste running time In fact we can call the tabu search to replace the
mutation operation in appropriate time So basically all the steps are same but instead of
mutation sometimes tabu search is performed Genetic search algorithm has been validated in the 19
test and achieved good results Genetic search algorithm is a more practical method convergence is
fast and time distributes uniform But in practice conditions may not be terminated the purpose is
to provide different possible solutions in order for users to choose However if the constraint
conditions are too harsh there may be no feasible solution in such case human intervention is
necessary Course scheduling problem is a multidisciplinary hard problems this article attempt
genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and
parameter settings needed to be improved and explored the effect on the algorithm need be
improved in further
7)
An Algorithm to Automatically Generate Schedule for
School Lectures Using a Heuristic Approach
Anirudha Nanda Manisha P Pai and Abhijeet Gole
SUMMARY
In this paper authors have tried to avoid random selection by there point of view
It decreases an overhead of computation when we apply all the proper condition while mapping
teachers with time-room
And if they see any clash the lecture already mapped with that time slot is sent to clash data if that
lecture is not present in output data slot that is if the teacher of that lecture is no available ata that
time
The intention of the algorithm to generate a time-table schedule automatically is satisfied The
algorithm incorporates a number of techniques aimed to improve the efficiency of the search
operation It also addresses the important hard constraint of clashes between the availability of
teachers The non-rigid soft constraints ie optimization objectives for the search operation are also
effectively handled Given the generality of the algorithm operation it can further be adapted to
more specific scenarios eg University examination scheduling and further be enhanced to create
railway time tables Thus through the process of automation of the time-table problem many an-
hours of creating an effective timetable have been reduced eventually The most interesting future
direction in the development of the algorithm lies in its extension to constraint propagation When
there is a value assigned to a variable such assignment can be propagated to unassigned variables to
prohibit all values which come into conflict with the current assignments The information about
such prohibited value
20
8) A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHMSANDEEP SINGH RAWAT and LAKSHMI RAJAMANIYear-2010Journal of Theoretical and Applied Information Technology
SUMMARYThis paper deals with the implementation of a computer program which employs Genetic Algorithms (GAs) in the quest for an optimal class timetable generator The program is written in Java and incorporates a repair strategy for faster evolution This paper also explains an example usage of Genetic Algorithms (GAs) for finding optimal solutions to the problem of Class Timetable It is seen that the GA could be improved by the further incorporation of repair strategies and is readily scalable to the complete timetabling problem The system at present does not take care of other constraints like unavailability of lecturers small size of rooms and time required by the lecturer to move from one class timetable is used at the dept
WHATrsquoS NEWBreeding TimetablesTimetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables A child timetable is bred by performing unity order based crossover on the parents This means that each parent has an equal chance of providing each gene
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
Bharkha Narang Ambika and Rashmi Bansal
Year-2013International Conference on Emerging Trends in Engineering and Management
SUMMARY
This document proposes an optimized technique to automate time table generation system Time table generation system involves various challenging constraints of resources including faculties rooms time slots etc The roposed technique filters out the best of active rules andGenetic algorithm to generate the optimized solution Genetic Algorithm and Active Rules together form a complete sphere for developing a system which needs to satisfy various constraints Active Rules provide ldquoevent-condition-actionrdquo model for the implementation of any rule based system In genetic algorithm every individual are characterized by a fitnessfunction After analysis if there is higher fitness then it means better solution and then after based on their fitness parents are selected to reproduce offspring for a new generation where fitter individuals have more chance to reproduce The objective of the work is to create a model used to generate the acceptable schedule using probabilistic operators
21
10) Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Year -2009
DrGRADHAMANI NIJUPJOSEPH
International Journal of Recent Trends in Engineering
SUMMARYMulti Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set A set of techniques discussed here can be used to enhance searching and retrieving information from an existing fuzzy Knowledge Base (KB) The proposed genetic algorithm tries to be capable of generating solutions from both crisp and fuzzy valued data The search algorithm transforms vague and uncertain data represented as fuzzy sets for accurate solution generation Procedures are proposed which learns from the different available knowledge base for its application on uncertain data In this paper a repeat crossover Genetic Algorithm is formulated for its usage on uncertain data represented as fuzzy sets and it can be implemented for many real world applications
31 Overall description of the project
311 INTRODUCTION
3111)PURPOSE
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only
required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
22
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is
done manually so to help big organisation for there such important task it is important to design a
proper algorithm so that a lot of time can be saved
512) DEFINATION
Timetable Scheduling Problems are particularly challenging for Artificial Intelligence and
Operations Research techniques They are problems of time-based planning and combinatorial
optimization that tend to be solved with a cooperation of search and heuristics which usually lead
to satisfactory but sub-optimal solutions There are many kinds of timetable scheduling problems in
the daily life such as examination lecture transportation timetables In general there are several
common difficulties in these kinds of problems
There exists no deterministic polynomial time algorithm they are computationally NP com-
plete problems
It is very difficult to design effective heuristics Advanced search techniques using various
heuristics to prune the search space will not be guaranteed to find an optimal solution
A general algorithmic approach to a problem may turn out to be inapplicable certain spe-
cial constraints are often required in a particular instance of that problem
Real world timetable scheduling problems often involve constraints that cannot be pre-
cisely represented or even stated
In a timetable-scheduling problem events for example exam subjects must be slotted to certain
times which satisfy several of constraints
Knowledge-based and OR-based approaches to solving such problems are hard to develop are often
slow and can be inflexible because the architecture itself was based on specific assumptions about
23
the nature of the problem Constraint satisfaction techniques have been used to solve hard
constraints however it is more difficult to handle soft constraints such as preferences Most often
people still resort to handcrafted solutions starting from an easier solution and making a sequence of
modifications to cater for changed requirements This typically leads to suboptimal solutions that
bring significant organizational or financial penalties [ 13 developed a Genetic Algorithm (GA)
based timetable system
which has been successfully used by a university
3113) SCOPE
modification of the genetic algorithm by
modified genetic algorithm
coperative genetic algorithm
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
24
3114) OVERVIEW
In the last few years colleges and universities around the world are expanding enrollment in order
to develop more high-quality personnel various countries educational reform is also thorough
unceasingly The essence of course scheduling question is the curriculum the teacher and the
student should be assigned in the appropriate time section to the appropriate classroom It is a multi-
objective scheduling problem which involve more factors and known as the Time table Problem in
operations research (Time table Problem1063384 called TTP) Automated Course Scheduling algorithm
TTP was proved to be NP-complete problem as early as in the 70s The computing time is
exponential increase and integration time and space as dual constraints From classroom (space)
point of view it is similar to the binpacking problem But increased many restraints in the time So it
is a more complex problem than the bin-packing problem We can establish theoretical profundity
from this thesis At present in mathematics did not have an general algorithm to be able to solve the
NP complete problem well Solving the NP complete problem only to be able to depend on the
approximate method many scholars have conducted the research regarding this
3115 Contact informationSRS team members
Vibhanshu wadhwa ( enrol 10503854)
Mrsaurabh k raina (mentor)
312Overall Description
3121) Product perspective
Provide a good algorithm to our audience so that they can generate a helpful time table with
least wastage of their time and recourses
To generate a time table scheduler we have to use heuristic search
Till date most helpful heuristic search has been ldquogenetic algorithmrdquo
We will first define the problem
25
All their constrains soft as well as hard
Our aim is to find a solution which satisfy all the hard constrains for sure and as many soft
constrain as it can in accepatable time and space
Appling heuristic search like genetic algorithm or improved algorihms over genetic al-
gorithm as we have seen earliar
Compare the algorithms
Since it is an NPhard problem and no fully efficient algorithm can be found
As we have learned from the research papers that by using best combination of algorithm
like genetic algorithm(crossover and mutation)
tabu search particle swarm etc
3222 Product functions
Product have many functionalities and wide area for use
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
Efficiently generates timetables so vast number of resources can be utilised
3123)user characteristics
INPUT AND STORAGE program will take all the input from the user and will save it in its
database for all the future computation
26
CREATING RANDOM SOLUTIONS using the above input programby using the appro-
priate algorithm will generate some random solutions
CALCULATING FITTNESS FUNCTION by using the already decided penality program
will calculate the fitness functions of the solutions and will sort them in increasing
APPLYING GENETIC ALGORITHM THROGH MUTATION them by using fitness score
program will apply genetic algorithm or its improved version to create best possible solution
in minimum possible time
SECURITY program will delete all the information of the organisation after creating time-
table and will never upload it publically
EFFICIENCY Program will try to take minimum time and resources
USER-FRIENDLY INTERFACE no knowledge about the software will be required to use
it very straight design
MULTIPLE SOLUTIONS More than 1 acceptable solution will be providedso that organ-
isation can choose out of many solution which one suits them best
Operating environment
27
3124) Designimplementation constraints
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
28
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
for solving harder problems[6] Tabu search is often benchmarked against other metaheuristic
methods - such as Simulated annealing genetic algorithms Ant colony optimization algorithms
Reactive search optimization Guided Local Search or greedy randomized adaptive search In
addition tabu search is sometimes combined with other metaheuristics to create hybrid methods
The most common tabu search hybrid arises by joining TS with Scatter Search[7][8] a class of
population-based procedures which has roots in common with tabu search and is often employed in
solving large non-linear optimization problems
Tabu list solution that have been visited recently and cannot be visited in near future until
expiration
Aspiration list
Conditions at which tabu list members will be considered usually ie
If penalty of tabued solution is less than current best
Candidate list
All the top quality solutions are kept here and the best is chosen as current best
If solution in candidate list is chosen as current that entry is tabued so in next few steps it wonrsquot be
considered
NOTE we have to choose from candidate list even if it is worse than current solution
12 Problem Statement
We are going to use genetic algorithm to solve university time table scheduling problem Timetable
scheduling is an NP hard problem Many different ways and algorithm were used like backtracking
dynamic programing brute force etc but all these methods were really inefficient as well as quality
of the solution was mediocre Through already published research papers we can conclude heuristic
search algorithms are way more time efficient and give better quality of the solution there are many
heuristic algorithms like simulated annealing tabu search genetic algorithm which can be useful to
achieve a good quality solution but using a combination of these algorithm was apparently more
useful
Here our approach is focused on Genetic Algorithm but use of other algorithms (heuristic or non-
heuristic ) is there wherever its proved to be better
Following is the problem statement for creating a University timetable
8
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
Now we have three variables namely
Students (batches)
Teachers
Subjects
Following are the assumptions before we make Batch-Subject-Teacher combinations
One teacher only teaches 1 class
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
This is the main array (char final)
SNO Batch Teacher subject
1 B1 T1 S2
2 B2 T2 S2
3 B4 T3 S1
25
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
9
75
Following are the errors and scope for further analysis of the allocation
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Now we have allocated a unique integer to every batch ndashsubject ndashteacher combination and we will
try to allocate those integers to an 3-D array
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms10
We will try to allocate each integer to 1 of the slots here
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exceeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In students time table we have to try to reduce the number of breaks during a day so that
they have more time for self-study at home
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 class
not more than timemax2 class for teacher and student
less breaks for teachers
FITNESS FUNCTION
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
11
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
2) This implies
3 hours ndash penalty of 9
2hours - penalty of 4
For each break of n hours of student penalty is (n)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 30
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
AIM
Our aim is to find the best time tables having the following qualities
Follow all the hard constrain
Making optimal use of the resources
Best fitness function
14) Approach to problem in terms of technology platform to be used
As we are using genetic algorithm to generate time-table which consist of three methods namely
crossover mutation and calculating fitness functions Genetic algorithm instead of focusing on one
most optimal solution it focus on many different sub-optimal solution that results in high need of
computation and memory
So for this project due to high computation needs we are using C++ since it is most optimum in
terms of computation
INPUT AND STORAGE
Name of the teachers subjects and batches is taken as input
All these values will be stored in different text files We chose to store it in text file instead of data-
base because of the computational advantage And no sensitive data is needed to be stored
Storing data into the data structure from text file12
Data is read from the text file and stored in the arrays
From thatrdquo array finalrdquo is created
Input of the values of ldquoarray finalrdquo into the 3-D array
Two different algorithms are used one is the the basic random algorithm
Other one is the new algorithm called (ldquoarrow systemrdquo)
These two different algorithms are compared and analysed
Improvement of the basic solution
Two different ways are there to do that
Crossover
Mutation
Deciding the best solution to apply the crossover and mutation
Roulette Wheel Selection
Rank Selection
Tournament selection
Fitness Function
It is the measure ldquoHow good the solution is rdquo
Time-table of every teacher and batch is stored in different arrays
Fitness function defined above is applied
15)Support for Novelty significance of problem
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is done manually so to help big organisation for there such important task it is important to design a proper algorithm so that a lot of time can be saved
different ways that can be combined for solving the problem
modified genetic algorithm
coperative genetic algorithm13
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Simulated annealing
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
Intented audience
Airport management staff Railway management staff Universities Schools Organisation working on time based projects
16 Give tabular comparison of other existing approaches solution to the problem framed
1)Genetic Algorithms vs TabuSearch in Timetable Scheduling
GA provide diverse values of solution
tabu search is faster
GA reaches to global maximaTabu reaches to local naxima
mutation increases the diversitySaving the best solution is helpful
14
3)Timetable Scheduling Using Particle Swarm Optimization
Proved to be better then traditional GA
Converges faster
not compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY TIMETABLE SCHEDULING PROBLEM
Modified genetic algorithm(mga) two sets of chromosomes are made(solu-
tions) 3 chromosomes from set1 are taken They are allowed crossover with all the
chromosomes os set2 This reduce the candidate solution Hence decresce the calculations
Cooperative genetic algorithm Two spicies of chromosomes ( solutions)
are made Three solutions are chosen from each
spicies They are allowed to crossover Calculation decrese But diversity also de-
creases
5)University Time Table Scheduling using Genetic Artificial Immune Network
memetic algorithm GAIN greatly coutperforms GAvery promising algorithm for solving the time tabling problemConverges fasterreaches global maxima
6)Algorithms of Time table Problem Application andPerformance Evaluation in Course SchedulingSystem
GA provide diverse values of solution
GA reaches to global maxima
mutation increases the diversity
Saving the best solution is helpful
all the steps are same but instead of mutation sometimes tabu search is performed
7)An Algorithm to Automatically Generate Schedule forSchool Lectures Using a Heuristic Approach
extension to constraint propagation
some pre constrains can save a lot of computationfitness fuction is improved
8)A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHM
Timetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
The objective of the work is to create a model used to generate the acceptable schedule using 15
probabilistic operators
10)Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Multi Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set
2) Background Study
21) Literature Survey
1)
Genetic Algorithms vs Tabu
Search in Timetable Scheduling
S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application Group
E amp C Dept China Steel Corp Taiwan ROC
IEEE1999
to find the optimum solution throught genetic algorithm through genetic algorithm and tabu
searchboth of them can beat searching like back tracking hands downin this research paper tabu
search performed better than genetic algorithm Still since this was the first paper to tackle
scheduling problem through heuristic search so this have great importance in this major project
2)
Solving Timetable Scheduling Problem
Using Genetic Algorithms
Branimir Sigl Marin Golub Vedran Mornar
Faculty of Electrical Engineering and Computing University of Zagreb
Unska 3 I0000 Zagreb Croatia
IEEE-2003
This paper uses genetic algorithm to solve the time table scheduling problem using 3-d array of
16
day tim and classesand uses crossover and mutation process to optimisethis paper also make huge
improvement over genetic algorithm as shown abovemain difference between this and the above
research paper is the improvement that they did on genetic algorithmstating
The first step of the improved crossover operator simply copies equal genes from parents to the
child individual No additional conflicts can be added through copying those equal values Different
parentrsquos genes are specially marked and delegated for further processing In the second step the
crossover operator checks the list of equations for each marked gene in child individual and counts
the number of potential conflicts generated for both parentrsquos choices The gene from a parent that
generates fewer conflicts is chosen so no additional conflicts are generated in addition to the
conflicts caused by the parents
3)
Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu UniversityJiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University
Here this algorithm chooses 10 -20 random solutions and call them lolal maximarsquosand out of those
20 solutions whichever is the best is called global maxima each of those 20 solutions are changed
by changing 2-3 of their positions that are chosen randomly to find better solutions out of those 20
solutions their best solutions are found and out of them the best is chosen to be global in this way
algorithm have power to come out of local maximarsquos
as compare to genetic algorithm(traditional)algorithm performed better but in this paper it is not
compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVE
UNIVERSITY TIMETABLE SCHEDULING PROBLEM
Sehraneh Ghaemi Mohammad Taghi Vakili Ali Aghagolzadeh
Ghaemi Mvakil Aghagol tabrizuacir
Faculty of Electrical amp Computer Engineering
University Of Tabriz
IEEE-200717
Modified genetic algorithm(mga)
two sets of chromosomes are made(solutions)
3 chromosomes from set1 are taken
They are allowed crossover with all the chromosomes os set2
This reduce the candidate solution
Hence decresce the calculations
Cooperative genetic algorithm
Two spicies of chromosomes ( solutions) are made
Three solutions are chosen from each spicies
They are allowed to crossover
Calculation decrese
But diversity also decreases
This type of chromosome representation needs less number of bits for each gene Therefore
algorithm needs shorter time for running The obtained results show that SX operator in upper
mutation rates and UX and MUX operator in lower mutation rates perform well and MUX operator
is better than others By varying mutation rate during algorithm running better results are achieved
Also Tournament selection operates better than Rank Weighting selection The MGA and CGA
methods with population size less than GA yield better results and accelerate the algorithm Note
that the unsatisfied constraints number with CGA method is less than MGA method
5)
University Time Table Scheduling using Genetic Artificial Immune Network
Antariksha Bhaduri
IEEE-2009
Scheduling is one of the important tasks encountered in real life situations Various scheduling
problems are present like personnel scheduling production
scheduling education time table scheduling etc Educational time table scheduling is a difficult task
because of the many constraints that are needed to be satisfied in order to get a feasible solution
Education time table scheduling problem is known to be NP Hard Hence evolutionary techniques
have been used to solve the time table scheduling problem Methodologies like Genetic Algorithms
(GAs) Evolutionary Algorithms (EAs) etc have been used with mixed success In this paper we
have reviewed the problem of educational time table scheduling and solving it with Genetic
Algorithm We have further solved the problem with a memetic hybrid algorithm Genetic Artificial 18
Immune Network (GAIN) and compare the result with that obtained from GA Results show that
GAIN is able to reach the optimal feasible solution fasterthan that of GA
In this paper we discussed in detail the educational time tabling problem which is basically a
scheduling problem The problem is known to be NP hard and is of very high importance to
educational institutes We discussed in brief the various methods used in solving the time tabling
problem A detailed overview has been provided for previous works for solving this problem with
links to such works with more emphasis on solving the problem using evolutionary algorithms
Then the problem is structured and a chromosomenetwork cell design with genetic operators used
is provided for solving it Finally we solved the problem using Genetic Algorithm and a hybrid
memetic algorithm GAIN and the results are compared Results showed that the memetic
algorithm GAIN greatly coutperforms GA and hence proved to be a very promising algorithm for
solving the time tabling problem
6)
Algorithms of Time table Problem Application and
Performance Evaluation in Course Scheduling
System
Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1
Shandong Polytechnic University Jinan China
E-mail dyfspueducn qbspueducn gwsspueducn
wqzspueducn
Lan Wang Center Hospital Shandong Luneng Group Co Ltd Jinan China
E-mail qiufengdong163com
IEEE-2011
Summary
Tabu search algorithm can accept inferior solutions in the search process the new solution is not
randomly generated in the current field but selected the best solution which the best solution of
probability is more than other solutions Then the search can escape from local optimal solution
and turn to other areas increasing the probability of global optimum solution for local search We
use tabu search to replace the mutation operator The tabu search can get better
individual solutions and be out of local optimum The tabu search is applied to the local search it
can greatly avoid the phenomenon of over-mature for genetic algorithms but it is also unwise to use
tabu search frequently it waste running time In fact we can call the tabu search to replace the
mutation operation in appropriate time So basically all the steps are same but instead of
mutation sometimes tabu search is performed Genetic search algorithm has been validated in the 19
test and achieved good results Genetic search algorithm is a more practical method convergence is
fast and time distributes uniform But in practice conditions may not be terminated the purpose is
to provide different possible solutions in order for users to choose However if the constraint
conditions are too harsh there may be no feasible solution in such case human intervention is
necessary Course scheduling problem is a multidisciplinary hard problems this article attempt
genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and
parameter settings needed to be improved and explored the effect on the algorithm need be
improved in further
7)
An Algorithm to Automatically Generate Schedule for
School Lectures Using a Heuristic Approach
Anirudha Nanda Manisha P Pai and Abhijeet Gole
SUMMARY
In this paper authors have tried to avoid random selection by there point of view
It decreases an overhead of computation when we apply all the proper condition while mapping
teachers with time-room
And if they see any clash the lecture already mapped with that time slot is sent to clash data if that
lecture is not present in output data slot that is if the teacher of that lecture is no available ata that
time
The intention of the algorithm to generate a time-table schedule automatically is satisfied The
algorithm incorporates a number of techniques aimed to improve the efficiency of the search
operation It also addresses the important hard constraint of clashes between the availability of
teachers The non-rigid soft constraints ie optimization objectives for the search operation are also
effectively handled Given the generality of the algorithm operation it can further be adapted to
more specific scenarios eg University examination scheduling and further be enhanced to create
railway time tables Thus through the process of automation of the time-table problem many an-
hours of creating an effective timetable have been reduced eventually The most interesting future
direction in the development of the algorithm lies in its extension to constraint propagation When
there is a value assigned to a variable such assignment can be propagated to unassigned variables to
prohibit all values which come into conflict with the current assignments The information about
such prohibited value
20
8) A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHMSANDEEP SINGH RAWAT and LAKSHMI RAJAMANIYear-2010Journal of Theoretical and Applied Information Technology
SUMMARYThis paper deals with the implementation of a computer program which employs Genetic Algorithms (GAs) in the quest for an optimal class timetable generator The program is written in Java and incorporates a repair strategy for faster evolution This paper also explains an example usage of Genetic Algorithms (GAs) for finding optimal solutions to the problem of Class Timetable It is seen that the GA could be improved by the further incorporation of repair strategies and is readily scalable to the complete timetabling problem The system at present does not take care of other constraints like unavailability of lecturers small size of rooms and time required by the lecturer to move from one class timetable is used at the dept
WHATrsquoS NEWBreeding TimetablesTimetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables A child timetable is bred by performing unity order based crossover on the parents This means that each parent has an equal chance of providing each gene
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
Bharkha Narang Ambika and Rashmi Bansal
Year-2013International Conference on Emerging Trends in Engineering and Management
SUMMARY
This document proposes an optimized technique to automate time table generation system Time table generation system involves various challenging constraints of resources including faculties rooms time slots etc The roposed technique filters out the best of active rules andGenetic algorithm to generate the optimized solution Genetic Algorithm and Active Rules together form a complete sphere for developing a system which needs to satisfy various constraints Active Rules provide ldquoevent-condition-actionrdquo model for the implementation of any rule based system In genetic algorithm every individual are characterized by a fitnessfunction After analysis if there is higher fitness then it means better solution and then after based on their fitness parents are selected to reproduce offspring for a new generation where fitter individuals have more chance to reproduce The objective of the work is to create a model used to generate the acceptable schedule using probabilistic operators
21
10) Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Year -2009
DrGRADHAMANI NIJUPJOSEPH
International Journal of Recent Trends in Engineering
SUMMARYMulti Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set A set of techniques discussed here can be used to enhance searching and retrieving information from an existing fuzzy Knowledge Base (KB) The proposed genetic algorithm tries to be capable of generating solutions from both crisp and fuzzy valued data The search algorithm transforms vague and uncertain data represented as fuzzy sets for accurate solution generation Procedures are proposed which learns from the different available knowledge base for its application on uncertain data In this paper a repeat crossover Genetic Algorithm is formulated for its usage on uncertain data represented as fuzzy sets and it can be implemented for many real world applications
31 Overall description of the project
311 INTRODUCTION
3111)PURPOSE
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only
required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
22
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is
done manually so to help big organisation for there such important task it is important to design a
proper algorithm so that a lot of time can be saved
512) DEFINATION
Timetable Scheduling Problems are particularly challenging for Artificial Intelligence and
Operations Research techniques They are problems of time-based planning and combinatorial
optimization that tend to be solved with a cooperation of search and heuristics which usually lead
to satisfactory but sub-optimal solutions There are many kinds of timetable scheduling problems in
the daily life such as examination lecture transportation timetables In general there are several
common difficulties in these kinds of problems
There exists no deterministic polynomial time algorithm they are computationally NP com-
plete problems
It is very difficult to design effective heuristics Advanced search techniques using various
heuristics to prune the search space will not be guaranteed to find an optimal solution
A general algorithmic approach to a problem may turn out to be inapplicable certain spe-
cial constraints are often required in a particular instance of that problem
Real world timetable scheduling problems often involve constraints that cannot be pre-
cisely represented or even stated
In a timetable-scheduling problem events for example exam subjects must be slotted to certain
times which satisfy several of constraints
Knowledge-based and OR-based approaches to solving such problems are hard to develop are often
slow and can be inflexible because the architecture itself was based on specific assumptions about
23
the nature of the problem Constraint satisfaction techniques have been used to solve hard
constraints however it is more difficult to handle soft constraints such as preferences Most often
people still resort to handcrafted solutions starting from an easier solution and making a sequence of
modifications to cater for changed requirements This typically leads to suboptimal solutions that
bring significant organizational or financial penalties [ 13 developed a Genetic Algorithm (GA)
based timetable system
which has been successfully used by a university
3113) SCOPE
modification of the genetic algorithm by
modified genetic algorithm
coperative genetic algorithm
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
24
3114) OVERVIEW
In the last few years colleges and universities around the world are expanding enrollment in order
to develop more high-quality personnel various countries educational reform is also thorough
unceasingly The essence of course scheduling question is the curriculum the teacher and the
student should be assigned in the appropriate time section to the appropriate classroom It is a multi-
objective scheduling problem which involve more factors and known as the Time table Problem in
operations research (Time table Problem1063384 called TTP) Automated Course Scheduling algorithm
TTP was proved to be NP-complete problem as early as in the 70s The computing time is
exponential increase and integration time and space as dual constraints From classroom (space)
point of view it is similar to the binpacking problem But increased many restraints in the time So it
is a more complex problem than the bin-packing problem We can establish theoretical profundity
from this thesis At present in mathematics did not have an general algorithm to be able to solve the
NP complete problem well Solving the NP complete problem only to be able to depend on the
approximate method many scholars have conducted the research regarding this
3115 Contact informationSRS team members
Vibhanshu wadhwa ( enrol 10503854)
Mrsaurabh k raina (mentor)
312Overall Description
3121) Product perspective
Provide a good algorithm to our audience so that they can generate a helpful time table with
least wastage of their time and recourses
To generate a time table scheduler we have to use heuristic search
Till date most helpful heuristic search has been ldquogenetic algorithmrdquo
We will first define the problem
25
All their constrains soft as well as hard
Our aim is to find a solution which satisfy all the hard constrains for sure and as many soft
constrain as it can in accepatable time and space
Appling heuristic search like genetic algorithm or improved algorihms over genetic al-
gorithm as we have seen earliar
Compare the algorithms
Since it is an NPhard problem and no fully efficient algorithm can be found
As we have learned from the research papers that by using best combination of algorithm
like genetic algorithm(crossover and mutation)
tabu search particle swarm etc
3222 Product functions
Product have many functionalities and wide area for use
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
Efficiently generates timetables so vast number of resources can be utilised
3123)user characteristics
INPUT AND STORAGE program will take all the input from the user and will save it in its
database for all the future computation
26
CREATING RANDOM SOLUTIONS using the above input programby using the appro-
priate algorithm will generate some random solutions
CALCULATING FITTNESS FUNCTION by using the already decided penality program
will calculate the fitness functions of the solutions and will sort them in increasing
APPLYING GENETIC ALGORITHM THROGH MUTATION them by using fitness score
program will apply genetic algorithm or its improved version to create best possible solution
in minimum possible time
SECURITY program will delete all the information of the organisation after creating time-
table and will never upload it publically
EFFICIENCY Program will try to take minimum time and resources
USER-FRIENDLY INTERFACE no knowledge about the software will be required to use
it very straight design
MULTIPLE SOLUTIONS More than 1 acceptable solution will be providedso that organ-
isation can choose out of many solution which one suits them best
Operating environment
27
3124) Designimplementation constraints
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
28
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
Now we have three variables namely
Students (batches)
Teachers
Subjects
Following are the assumptions before we make Batch-Subject-Teacher combinations
One teacher only teaches 1 class
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
This is the main array (char final)
SNO Batch Teacher subject
1 B1 T1 S2
2 B2 T2 S2
3 B4 T3 S1
25
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
helliphelliphelliphellip
9
75
Following are the errors and scope for further analysis of the allocation
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Now we have allocated a unique integer to every batch ndashsubject ndashteacher combination and we will
try to allocate those integers to an 3-D array
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms10
We will try to allocate each integer to 1 of the slots here
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exceeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In students time table we have to try to reduce the number of breaks during a day so that
they have more time for self-study at home
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 class
not more than timemax2 class for teacher and student
less breaks for teachers
FITNESS FUNCTION
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
11
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
2) This implies
3 hours ndash penalty of 9
2hours - penalty of 4
For each break of n hours of student penalty is (n)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 30
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
AIM
Our aim is to find the best time tables having the following qualities
Follow all the hard constrain
Making optimal use of the resources
Best fitness function
14) Approach to problem in terms of technology platform to be used
As we are using genetic algorithm to generate time-table which consist of three methods namely
crossover mutation and calculating fitness functions Genetic algorithm instead of focusing on one
most optimal solution it focus on many different sub-optimal solution that results in high need of
computation and memory
So for this project due to high computation needs we are using C++ since it is most optimum in
terms of computation
INPUT AND STORAGE
Name of the teachers subjects and batches is taken as input
All these values will be stored in different text files We chose to store it in text file instead of data-
base because of the computational advantage And no sensitive data is needed to be stored
Storing data into the data structure from text file12
Data is read from the text file and stored in the arrays
From thatrdquo array finalrdquo is created
Input of the values of ldquoarray finalrdquo into the 3-D array
Two different algorithms are used one is the the basic random algorithm
Other one is the new algorithm called (ldquoarrow systemrdquo)
These two different algorithms are compared and analysed
Improvement of the basic solution
Two different ways are there to do that
Crossover
Mutation
Deciding the best solution to apply the crossover and mutation
Roulette Wheel Selection
Rank Selection
Tournament selection
Fitness Function
It is the measure ldquoHow good the solution is rdquo
Time-table of every teacher and batch is stored in different arrays
Fitness function defined above is applied
15)Support for Novelty significance of problem
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is done manually so to help big organisation for there such important task it is important to design a proper algorithm so that a lot of time can be saved
different ways that can be combined for solving the problem
modified genetic algorithm
coperative genetic algorithm13
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Simulated annealing
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
Intented audience
Airport management staff Railway management staff Universities Schools Organisation working on time based projects
16 Give tabular comparison of other existing approaches solution to the problem framed
1)Genetic Algorithms vs TabuSearch in Timetable Scheduling
GA provide diverse values of solution
tabu search is faster
GA reaches to global maximaTabu reaches to local naxima
mutation increases the diversitySaving the best solution is helpful
14
3)Timetable Scheduling Using Particle Swarm Optimization
Proved to be better then traditional GA
Converges faster
not compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY TIMETABLE SCHEDULING PROBLEM
Modified genetic algorithm(mga) two sets of chromosomes are made(solu-
tions) 3 chromosomes from set1 are taken They are allowed crossover with all the
chromosomes os set2 This reduce the candidate solution Hence decresce the calculations
Cooperative genetic algorithm Two spicies of chromosomes ( solutions)
are made Three solutions are chosen from each
spicies They are allowed to crossover Calculation decrese But diversity also de-
creases
5)University Time Table Scheduling using Genetic Artificial Immune Network
memetic algorithm GAIN greatly coutperforms GAvery promising algorithm for solving the time tabling problemConverges fasterreaches global maxima
6)Algorithms of Time table Problem Application andPerformance Evaluation in Course SchedulingSystem
GA provide diverse values of solution
GA reaches to global maxima
mutation increases the diversity
Saving the best solution is helpful
all the steps are same but instead of mutation sometimes tabu search is performed
7)An Algorithm to Automatically Generate Schedule forSchool Lectures Using a Heuristic Approach
extension to constraint propagation
some pre constrains can save a lot of computationfitness fuction is improved
8)A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHM
Timetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
The objective of the work is to create a model used to generate the acceptable schedule using 15
probabilistic operators
10)Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Multi Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set
2) Background Study
21) Literature Survey
1)
Genetic Algorithms vs Tabu
Search in Timetable Scheduling
S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application Group
E amp C Dept China Steel Corp Taiwan ROC
IEEE1999
to find the optimum solution throught genetic algorithm through genetic algorithm and tabu
searchboth of them can beat searching like back tracking hands downin this research paper tabu
search performed better than genetic algorithm Still since this was the first paper to tackle
scheduling problem through heuristic search so this have great importance in this major project
2)
Solving Timetable Scheduling Problem
Using Genetic Algorithms
Branimir Sigl Marin Golub Vedran Mornar
Faculty of Electrical Engineering and Computing University of Zagreb
Unska 3 I0000 Zagreb Croatia
IEEE-2003
This paper uses genetic algorithm to solve the time table scheduling problem using 3-d array of
16
day tim and classesand uses crossover and mutation process to optimisethis paper also make huge
improvement over genetic algorithm as shown abovemain difference between this and the above
research paper is the improvement that they did on genetic algorithmstating
The first step of the improved crossover operator simply copies equal genes from parents to the
child individual No additional conflicts can be added through copying those equal values Different
parentrsquos genes are specially marked and delegated for further processing In the second step the
crossover operator checks the list of equations for each marked gene in child individual and counts
the number of potential conflicts generated for both parentrsquos choices The gene from a parent that
generates fewer conflicts is chosen so no additional conflicts are generated in addition to the
conflicts caused by the parents
3)
Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu UniversityJiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University
Here this algorithm chooses 10 -20 random solutions and call them lolal maximarsquosand out of those
20 solutions whichever is the best is called global maxima each of those 20 solutions are changed
by changing 2-3 of their positions that are chosen randomly to find better solutions out of those 20
solutions their best solutions are found and out of them the best is chosen to be global in this way
algorithm have power to come out of local maximarsquos
as compare to genetic algorithm(traditional)algorithm performed better but in this paper it is not
compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVE
UNIVERSITY TIMETABLE SCHEDULING PROBLEM
Sehraneh Ghaemi Mohammad Taghi Vakili Ali Aghagolzadeh
Ghaemi Mvakil Aghagol tabrizuacir
Faculty of Electrical amp Computer Engineering
University Of Tabriz
IEEE-200717
Modified genetic algorithm(mga)
two sets of chromosomes are made(solutions)
3 chromosomes from set1 are taken
They are allowed crossover with all the chromosomes os set2
This reduce the candidate solution
Hence decresce the calculations
Cooperative genetic algorithm
Two spicies of chromosomes ( solutions) are made
Three solutions are chosen from each spicies
They are allowed to crossover
Calculation decrese
But diversity also decreases
This type of chromosome representation needs less number of bits for each gene Therefore
algorithm needs shorter time for running The obtained results show that SX operator in upper
mutation rates and UX and MUX operator in lower mutation rates perform well and MUX operator
is better than others By varying mutation rate during algorithm running better results are achieved
Also Tournament selection operates better than Rank Weighting selection The MGA and CGA
methods with population size less than GA yield better results and accelerate the algorithm Note
that the unsatisfied constraints number with CGA method is less than MGA method
5)
University Time Table Scheduling using Genetic Artificial Immune Network
Antariksha Bhaduri
IEEE-2009
Scheduling is one of the important tasks encountered in real life situations Various scheduling
problems are present like personnel scheduling production
scheduling education time table scheduling etc Educational time table scheduling is a difficult task
because of the many constraints that are needed to be satisfied in order to get a feasible solution
Education time table scheduling problem is known to be NP Hard Hence evolutionary techniques
have been used to solve the time table scheduling problem Methodologies like Genetic Algorithms
(GAs) Evolutionary Algorithms (EAs) etc have been used with mixed success In this paper we
have reviewed the problem of educational time table scheduling and solving it with Genetic
Algorithm We have further solved the problem with a memetic hybrid algorithm Genetic Artificial 18
Immune Network (GAIN) and compare the result with that obtained from GA Results show that
GAIN is able to reach the optimal feasible solution fasterthan that of GA
In this paper we discussed in detail the educational time tabling problem which is basically a
scheduling problem The problem is known to be NP hard and is of very high importance to
educational institutes We discussed in brief the various methods used in solving the time tabling
problem A detailed overview has been provided for previous works for solving this problem with
links to such works with more emphasis on solving the problem using evolutionary algorithms
Then the problem is structured and a chromosomenetwork cell design with genetic operators used
is provided for solving it Finally we solved the problem using Genetic Algorithm and a hybrid
memetic algorithm GAIN and the results are compared Results showed that the memetic
algorithm GAIN greatly coutperforms GA and hence proved to be a very promising algorithm for
solving the time tabling problem
6)
Algorithms of Time table Problem Application and
Performance Evaluation in Course Scheduling
System
Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1
Shandong Polytechnic University Jinan China
E-mail dyfspueducn qbspueducn gwsspueducn
wqzspueducn
Lan Wang Center Hospital Shandong Luneng Group Co Ltd Jinan China
E-mail qiufengdong163com
IEEE-2011
Summary
Tabu search algorithm can accept inferior solutions in the search process the new solution is not
randomly generated in the current field but selected the best solution which the best solution of
probability is more than other solutions Then the search can escape from local optimal solution
and turn to other areas increasing the probability of global optimum solution for local search We
use tabu search to replace the mutation operator The tabu search can get better
individual solutions and be out of local optimum The tabu search is applied to the local search it
can greatly avoid the phenomenon of over-mature for genetic algorithms but it is also unwise to use
tabu search frequently it waste running time In fact we can call the tabu search to replace the
mutation operation in appropriate time So basically all the steps are same but instead of
mutation sometimes tabu search is performed Genetic search algorithm has been validated in the 19
test and achieved good results Genetic search algorithm is a more practical method convergence is
fast and time distributes uniform But in practice conditions may not be terminated the purpose is
to provide different possible solutions in order for users to choose However if the constraint
conditions are too harsh there may be no feasible solution in such case human intervention is
necessary Course scheduling problem is a multidisciplinary hard problems this article attempt
genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and
parameter settings needed to be improved and explored the effect on the algorithm need be
improved in further
7)
An Algorithm to Automatically Generate Schedule for
School Lectures Using a Heuristic Approach
Anirudha Nanda Manisha P Pai and Abhijeet Gole
SUMMARY
In this paper authors have tried to avoid random selection by there point of view
It decreases an overhead of computation when we apply all the proper condition while mapping
teachers with time-room
And if they see any clash the lecture already mapped with that time slot is sent to clash data if that
lecture is not present in output data slot that is if the teacher of that lecture is no available ata that
time
The intention of the algorithm to generate a time-table schedule automatically is satisfied The
algorithm incorporates a number of techniques aimed to improve the efficiency of the search
operation It also addresses the important hard constraint of clashes between the availability of
teachers The non-rigid soft constraints ie optimization objectives for the search operation are also
effectively handled Given the generality of the algorithm operation it can further be adapted to
more specific scenarios eg University examination scheduling and further be enhanced to create
railway time tables Thus through the process of automation of the time-table problem many an-
hours of creating an effective timetable have been reduced eventually The most interesting future
direction in the development of the algorithm lies in its extension to constraint propagation When
there is a value assigned to a variable such assignment can be propagated to unassigned variables to
prohibit all values which come into conflict with the current assignments The information about
such prohibited value
20
8) A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHMSANDEEP SINGH RAWAT and LAKSHMI RAJAMANIYear-2010Journal of Theoretical and Applied Information Technology
SUMMARYThis paper deals with the implementation of a computer program which employs Genetic Algorithms (GAs) in the quest for an optimal class timetable generator The program is written in Java and incorporates a repair strategy for faster evolution This paper also explains an example usage of Genetic Algorithms (GAs) for finding optimal solutions to the problem of Class Timetable It is seen that the GA could be improved by the further incorporation of repair strategies and is readily scalable to the complete timetabling problem The system at present does not take care of other constraints like unavailability of lecturers small size of rooms and time required by the lecturer to move from one class timetable is used at the dept
WHATrsquoS NEWBreeding TimetablesTimetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables A child timetable is bred by performing unity order based crossover on the parents This means that each parent has an equal chance of providing each gene
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
Bharkha Narang Ambika and Rashmi Bansal
Year-2013International Conference on Emerging Trends in Engineering and Management
SUMMARY
This document proposes an optimized technique to automate time table generation system Time table generation system involves various challenging constraints of resources including faculties rooms time slots etc The roposed technique filters out the best of active rules andGenetic algorithm to generate the optimized solution Genetic Algorithm and Active Rules together form a complete sphere for developing a system which needs to satisfy various constraints Active Rules provide ldquoevent-condition-actionrdquo model for the implementation of any rule based system In genetic algorithm every individual are characterized by a fitnessfunction After analysis if there is higher fitness then it means better solution and then after based on their fitness parents are selected to reproduce offspring for a new generation where fitter individuals have more chance to reproduce The objective of the work is to create a model used to generate the acceptable schedule using probabilistic operators
21
10) Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Year -2009
DrGRADHAMANI NIJUPJOSEPH
International Journal of Recent Trends in Engineering
SUMMARYMulti Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set A set of techniques discussed here can be used to enhance searching and retrieving information from an existing fuzzy Knowledge Base (KB) The proposed genetic algorithm tries to be capable of generating solutions from both crisp and fuzzy valued data The search algorithm transforms vague and uncertain data represented as fuzzy sets for accurate solution generation Procedures are proposed which learns from the different available knowledge base for its application on uncertain data In this paper a repeat crossover Genetic Algorithm is formulated for its usage on uncertain data represented as fuzzy sets and it can be implemented for many real world applications
31 Overall description of the project
311 INTRODUCTION
3111)PURPOSE
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only
required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
22
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is
done manually so to help big organisation for there such important task it is important to design a
proper algorithm so that a lot of time can be saved
512) DEFINATION
Timetable Scheduling Problems are particularly challenging for Artificial Intelligence and
Operations Research techniques They are problems of time-based planning and combinatorial
optimization that tend to be solved with a cooperation of search and heuristics which usually lead
to satisfactory but sub-optimal solutions There are many kinds of timetable scheduling problems in
the daily life such as examination lecture transportation timetables In general there are several
common difficulties in these kinds of problems
There exists no deterministic polynomial time algorithm they are computationally NP com-
plete problems
It is very difficult to design effective heuristics Advanced search techniques using various
heuristics to prune the search space will not be guaranteed to find an optimal solution
A general algorithmic approach to a problem may turn out to be inapplicable certain spe-
cial constraints are often required in a particular instance of that problem
Real world timetable scheduling problems often involve constraints that cannot be pre-
cisely represented or even stated
In a timetable-scheduling problem events for example exam subjects must be slotted to certain
times which satisfy several of constraints
Knowledge-based and OR-based approaches to solving such problems are hard to develop are often
slow and can be inflexible because the architecture itself was based on specific assumptions about
23
the nature of the problem Constraint satisfaction techniques have been used to solve hard
constraints however it is more difficult to handle soft constraints such as preferences Most often
people still resort to handcrafted solutions starting from an easier solution and making a sequence of
modifications to cater for changed requirements This typically leads to suboptimal solutions that
bring significant organizational or financial penalties [ 13 developed a Genetic Algorithm (GA)
based timetable system
which has been successfully used by a university
3113) SCOPE
modification of the genetic algorithm by
modified genetic algorithm
coperative genetic algorithm
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
24
3114) OVERVIEW
In the last few years colleges and universities around the world are expanding enrollment in order
to develop more high-quality personnel various countries educational reform is also thorough
unceasingly The essence of course scheduling question is the curriculum the teacher and the
student should be assigned in the appropriate time section to the appropriate classroom It is a multi-
objective scheduling problem which involve more factors and known as the Time table Problem in
operations research (Time table Problem1063384 called TTP) Automated Course Scheduling algorithm
TTP was proved to be NP-complete problem as early as in the 70s The computing time is
exponential increase and integration time and space as dual constraints From classroom (space)
point of view it is similar to the binpacking problem But increased many restraints in the time So it
is a more complex problem than the bin-packing problem We can establish theoretical profundity
from this thesis At present in mathematics did not have an general algorithm to be able to solve the
NP complete problem well Solving the NP complete problem only to be able to depend on the
approximate method many scholars have conducted the research regarding this
3115 Contact informationSRS team members
Vibhanshu wadhwa ( enrol 10503854)
Mrsaurabh k raina (mentor)
312Overall Description
3121) Product perspective
Provide a good algorithm to our audience so that they can generate a helpful time table with
least wastage of their time and recourses
To generate a time table scheduler we have to use heuristic search
Till date most helpful heuristic search has been ldquogenetic algorithmrdquo
We will first define the problem
25
All their constrains soft as well as hard
Our aim is to find a solution which satisfy all the hard constrains for sure and as many soft
constrain as it can in accepatable time and space
Appling heuristic search like genetic algorithm or improved algorihms over genetic al-
gorithm as we have seen earliar
Compare the algorithms
Since it is an NPhard problem and no fully efficient algorithm can be found
As we have learned from the research papers that by using best combination of algorithm
like genetic algorithm(crossover and mutation)
tabu search particle swarm etc
3222 Product functions
Product have many functionalities and wide area for use
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
Efficiently generates timetables so vast number of resources can be utilised
3123)user characteristics
INPUT AND STORAGE program will take all the input from the user and will save it in its
database for all the future computation
26
CREATING RANDOM SOLUTIONS using the above input programby using the appro-
priate algorithm will generate some random solutions
CALCULATING FITTNESS FUNCTION by using the already decided penality program
will calculate the fitness functions of the solutions and will sort them in increasing
APPLYING GENETIC ALGORITHM THROGH MUTATION them by using fitness score
program will apply genetic algorithm or its improved version to create best possible solution
in minimum possible time
SECURITY program will delete all the information of the organisation after creating time-
table and will never upload it publically
EFFICIENCY Program will try to take minimum time and resources
USER-FRIENDLY INTERFACE no knowledge about the software will be required to use
it very straight design
MULTIPLE SOLUTIONS More than 1 acceptable solution will be providedso that organ-
isation can choose out of many solution which one suits them best
Operating environment
27
3124) Designimplementation constraints
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
28
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
75
Following are the errors and scope for further analysis of the allocation
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Now we have allocated a unique integer to every batch ndashsubject ndashteacher combination and we will
try to allocate those integers to an 3-D array
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms10
We will try to allocate each integer to 1 of the slots here
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exceeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In students time table we have to try to reduce the number of breaks during a day so that
they have more time for self-study at home
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 class
not more than timemax2 class for teacher and student
less breaks for teachers
FITNESS FUNCTION
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
11
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
2) This implies
3 hours ndash penalty of 9
2hours - penalty of 4
For each break of n hours of student penalty is (n)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 30
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
AIM
Our aim is to find the best time tables having the following qualities
Follow all the hard constrain
Making optimal use of the resources
Best fitness function
14) Approach to problem in terms of technology platform to be used
As we are using genetic algorithm to generate time-table which consist of three methods namely
crossover mutation and calculating fitness functions Genetic algorithm instead of focusing on one
most optimal solution it focus on many different sub-optimal solution that results in high need of
computation and memory
So for this project due to high computation needs we are using C++ since it is most optimum in
terms of computation
INPUT AND STORAGE
Name of the teachers subjects and batches is taken as input
All these values will be stored in different text files We chose to store it in text file instead of data-
base because of the computational advantage And no sensitive data is needed to be stored
Storing data into the data structure from text file12
Data is read from the text file and stored in the arrays
From thatrdquo array finalrdquo is created
Input of the values of ldquoarray finalrdquo into the 3-D array
Two different algorithms are used one is the the basic random algorithm
Other one is the new algorithm called (ldquoarrow systemrdquo)
These two different algorithms are compared and analysed
Improvement of the basic solution
Two different ways are there to do that
Crossover
Mutation
Deciding the best solution to apply the crossover and mutation
Roulette Wheel Selection
Rank Selection
Tournament selection
Fitness Function
It is the measure ldquoHow good the solution is rdquo
Time-table of every teacher and batch is stored in different arrays
Fitness function defined above is applied
15)Support for Novelty significance of problem
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is done manually so to help big organisation for there such important task it is important to design a proper algorithm so that a lot of time can be saved
different ways that can be combined for solving the problem
modified genetic algorithm
coperative genetic algorithm13
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Simulated annealing
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
Intented audience
Airport management staff Railway management staff Universities Schools Organisation working on time based projects
16 Give tabular comparison of other existing approaches solution to the problem framed
1)Genetic Algorithms vs TabuSearch in Timetable Scheduling
GA provide diverse values of solution
tabu search is faster
GA reaches to global maximaTabu reaches to local naxima
mutation increases the diversitySaving the best solution is helpful
14
3)Timetable Scheduling Using Particle Swarm Optimization
Proved to be better then traditional GA
Converges faster
not compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY TIMETABLE SCHEDULING PROBLEM
Modified genetic algorithm(mga) two sets of chromosomes are made(solu-
tions) 3 chromosomes from set1 are taken They are allowed crossover with all the
chromosomes os set2 This reduce the candidate solution Hence decresce the calculations
Cooperative genetic algorithm Two spicies of chromosomes ( solutions)
are made Three solutions are chosen from each
spicies They are allowed to crossover Calculation decrese But diversity also de-
creases
5)University Time Table Scheduling using Genetic Artificial Immune Network
memetic algorithm GAIN greatly coutperforms GAvery promising algorithm for solving the time tabling problemConverges fasterreaches global maxima
6)Algorithms of Time table Problem Application andPerformance Evaluation in Course SchedulingSystem
GA provide diverse values of solution
GA reaches to global maxima
mutation increases the diversity
Saving the best solution is helpful
all the steps are same but instead of mutation sometimes tabu search is performed
7)An Algorithm to Automatically Generate Schedule forSchool Lectures Using a Heuristic Approach
extension to constraint propagation
some pre constrains can save a lot of computationfitness fuction is improved
8)A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHM
Timetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
The objective of the work is to create a model used to generate the acceptable schedule using 15
probabilistic operators
10)Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Multi Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set
2) Background Study
21) Literature Survey
1)
Genetic Algorithms vs Tabu
Search in Timetable Scheduling
S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application Group
E amp C Dept China Steel Corp Taiwan ROC
IEEE1999
to find the optimum solution throught genetic algorithm through genetic algorithm and tabu
searchboth of them can beat searching like back tracking hands downin this research paper tabu
search performed better than genetic algorithm Still since this was the first paper to tackle
scheduling problem through heuristic search so this have great importance in this major project
2)
Solving Timetable Scheduling Problem
Using Genetic Algorithms
Branimir Sigl Marin Golub Vedran Mornar
Faculty of Electrical Engineering and Computing University of Zagreb
Unska 3 I0000 Zagreb Croatia
IEEE-2003
This paper uses genetic algorithm to solve the time table scheduling problem using 3-d array of
16
day tim and classesand uses crossover and mutation process to optimisethis paper also make huge
improvement over genetic algorithm as shown abovemain difference between this and the above
research paper is the improvement that they did on genetic algorithmstating
The first step of the improved crossover operator simply copies equal genes from parents to the
child individual No additional conflicts can be added through copying those equal values Different
parentrsquos genes are specially marked and delegated for further processing In the second step the
crossover operator checks the list of equations for each marked gene in child individual and counts
the number of potential conflicts generated for both parentrsquos choices The gene from a parent that
generates fewer conflicts is chosen so no additional conflicts are generated in addition to the
conflicts caused by the parents
3)
Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu UniversityJiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University
Here this algorithm chooses 10 -20 random solutions and call them lolal maximarsquosand out of those
20 solutions whichever is the best is called global maxima each of those 20 solutions are changed
by changing 2-3 of their positions that are chosen randomly to find better solutions out of those 20
solutions their best solutions are found and out of them the best is chosen to be global in this way
algorithm have power to come out of local maximarsquos
as compare to genetic algorithm(traditional)algorithm performed better but in this paper it is not
compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVE
UNIVERSITY TIMETABLE SCHEDULING PROBLEM
Sehraneh Ghaemi Mohammad Taghi Vakili Ali Aghagolzadeh
Ghaemi Mvakil Aghagol tabrizuacir
Faculty of Electrical amp Computer Engineering
University Of Tabriz
IEEE-200717
Modified genetic algorithm(mga)
two sets of chromosomes are made(solutions)
3 chromosomes from set1 are taken
They are allowed crossover with all the chromosomes os set2
This reduce the candidate solution
Hence decresce the calculations
Cooperative genetic algorithm
Two spicies of chromosomes ( solutions) are made
Three solutions are chosen from each spicies
They are allowed to crossover
Calculation decrese
But diversity also decreases
This type of chromosome representation needs less number of bits for each gene Therefore
algorithm needs shorter time for running The obtained results show that SX operator in upper
mutation rates and UX and MUX operator in lower mutation rates perform well and MUX operator
is better than others By varying mutation rate during algorithm running better results are achieved
Also Tournament selection operates better than Rank Weighting selection The MGA and CGA
methods with population size less than GA yield better results and accelerate the algorithm Note
that the unsatisfied constraints number with CGA method is less than MGA method
5)
University Time Table Scheduling using Genetic Artificial Immune Network
Antariksha Bhaduri
IEEE-2009
Scheduling is one of the important tasks encountered in real life situations Various scheduling
problems are present like personnel scheduling production
scheduling education time table scheduling etc Educational time table scheduling is a difficult task
because of the many constraints that are needed to be satisfied in order to get a feasible solution
Education time table scheduling problem is known to be NP Hard Hence evolutionary techniques
have been used to solve the time table scheduling problem Methodologies like Genetic Algorithms
(GAs) Evolutionary Algorithms (EAs) etc have been used with mixed success In this paper we
have reviewed the problem of educational time table scheduling and solving it with Genetic
Algorithm We have further solved the problem with a memetic hybrid algorithm Genetic Artificial 18
Immune Network (GAIN) and compare the result with that obtained from GA Results show that
GAIN is able to reach the optimal feasible solution fasterthan that of GA
In this paper we discussed in detail the educational time tabling problem which is basically a
scheduling problem The problem is known to be NP hard and is of very high importance to
educational institutes We discussed in brief the various methods used in solving the time tabling
problem A detailed overview has been provided for previous works for solving this problem with
links to such works with more emphasis on solving the problem using evolutionary algorithms
Then the problem is structured and a chromosomenetwork cell design with genetic operators used
is provided for solving it Finally we solved the problem using Genetic Algorithm and a hybrid
memetic algorithm GAIN and the results are compared Results showed that the memetic
algorithm GAIN greatly coutperforms GA and hence proved to be a very promising algorithm for
solving the time tabling problem
6)
Algorithms of Time table Problem Application and
Performance Evaluation in Course Scheduling
System
Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1
Shandong Polytechnic University Jinan China
E-mail dyfspueducn qbspueducn gwsspueducn
wqzspueducn
Lan Wang Center Hospital Shandong Luneng Group Co Ltd Jinan China
E-mail qiufengdong163com
IEEE-2011
Summary
Tabu search algorithm can accept inferior solutions in the search process the new solution is not
randomly generated in the current field but selected the best solution which the best solution of
probability is more than other solutions Then the search can escape from local optimal solution
and turn to other areas increasing the probability of global optimum solution for local search We
use tabu search to replace the mutation operator The tabu search can get better
individual solutions and be out of local optimum The tabu search is applied to the local search it
can greatly avoid the phenomenon of over-mature for genetic algorithms but it is also unwise to use
tabu search frequently it waste running time In fact we can call the tabu search to replace the
mutation operation in appropriate time So basically all the steps are same but instead of
mutation sometimes tabu search is performed Genetic search algorithm has been validated in the 19
test and achieved good results Genetic search algorithm is a more practical method convergence is
fast and time distributes uniform But in practice conditions may not be terminated the purpose is
to provide different possible solutions in order for users to choose However if the constraint
conditions are too harsh there may be no feasible solution in such case human intervention is
necessary Course scheduling problem is a multidisciplinary hard problems this article attempt
genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and
parameter settings needed to be improved and explored the effect on the algorithm need be
improved in further
7)
An Algorithm to Automatically Generate Schedule for
School Lectures Using a Heuristic Approach
Anirudha Nanda Manisha P Pai and Abhijeet Gole
SUMMARY
In this paper authors have tried to avoid random selection by there point of view
It decreases an overhead of computation when we apply all the proper condition while mapping
teachers with time-room
And if they see any clash the lecture already mapped with that time slot is sent to clash data if that
lecture is not present in output data slot that is if the teacher of that lecture is no available ata that
time
The intention of the algorithm to generate a time-table schedule automatically is satisfied The
algorithm incorporates a number of techniques aimed to improve the efficiency of the search
operation It also addresses the important hard constraint of clashes between the availability of
teachers The non-rigid soft constraints ie optimization objectives for the search operation are also
effectively handled Given the generality of the algorithm operation it can further be adapted to
more specific scenarios eg University examination scheduling and further be enhanced to create
railway time tables Thus through the process of automation of the time-table problem many an-
hours of creating an effective timetable have been reduced eventually The most interesting future
direction in the development of the algorithm lies in its extension to constraint propagation When
there is a value assigned to a variable such assignment can be propagated to unassigned variables to
prohibit all values which come into conflict with the current assignments The information about
such prohibited value
20
8) A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHMSANDEEP SINGH RAWAT and LAKSHMI RAJAMANIYear-2010Journal of Theoretical and Applied Information Technology
SUMMARYThis paper deals with the implementation of a computer program which employs Genetic Algorithms (GAs) in the quest for an optimal class timetable generator The program is written in Java and incorporates a repair strategy for faster evolution This paper also explains an example usage of Genetic Algorithms (GAs) for finding optimal solutions to the problem of Class Timetable It is seen that the GA could be improved by the further incorporation of repair strategies and is readily scalable to the complete timetabling problem The system at present does not take care of other constraints like unavailability of lecturers small size of rooms and time required by the lecturer to move from one class timetable is used at the dept
WHATrsquoS NEWBreeding TimetablesTimetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables A child timetable is bred by performing unity order based crossover on the parents This means that each parent has an equal chance of providing each gene
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
Bharkha Narang Ambika and Rashmi Bansal
Year-2013International Conference on Emerging Trends in Engineering and Management
SUMMARY
This document proposes an optimized technique to automate time table generation system Time table generation system involves various challenging constraints of resources including faculties rooms time slots etc The roposed technique filters out the best of active rules andGenetic algorithm to generate the optimized solution Genetic Algorithm and Active Rules together form a complete sphere for developing a system which needs to satisfy various constraints Active Rules provide ldquoevent-condition-actionrdquo model for the implementation of any rule based system In genetic algorithm every individual are characterized by a fitnessfunction After analysis if there is higher fitness then it means better solution and then after based on their fitness parents are selected to reproduce offspring for a new generation where fitter individuals have more chance to reproduce The objective of the work is to create a model used to generate the acceptable schedule using probabilistic operators
21
10) Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Year -2009
DrGRADHAMANI NIJUPJOSEPH
International Journal of Recent Trends in Engineering
SUMMARYMulti Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set A set of techniques discussed here can be used to enhance searching and retrieving information from an existing fuzzy Knowledge Base (KB) The proposed genetic algorithm tries to be capable of generating solutions from both crisp and fuzzy valued data The search algorithm transforms vague and uncertain data represented as fuzzy sets for accurate solution generation Procedures are proposed which learns from the different available knowledge base for its application on uncertain data In this paper a repeat crossover Genetic Algorithm is formulated for its usage on uncertain data represented as fuzzy sets and it can be implemented for many real world applications
31 Overall description of the project
311 INTRODUCTION
3111)PURPOSE
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only
required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
22
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is
done manually so to help big organisation for there such important task it is important to design a
proper algorithm so that a lot of time can be saved
512) DEFINATION
Timetable Scheduling Problems are particularly challenging for Artificial Intelligence and
Operations Research techniques They are problems of time-based planning and combinatorial
optimization that tend to be solved with a cooperation of search and heuristics which usually lead
to satisfactory but sub-optimal solutions There are many kinds of timetable scheduling problems in
the daily life such as examination lecture transportation timetables In general there are several
common difficulties in these kinds of problems
There exists no deterministic polynomial time algorithm they are computationally NP com-
plete problems
It is very difficult to design effective heuristics Advanced search techniques using various
heuristics to prune the search space will not be guaranteed to find an optimal solution
A general algorithmic approach to a problem may turn out to be inapplicable certain spe-
cial constraints are often required in a particular instance of that problem
Real world timetable scheduling problems often involve constraints that cannot be pre-
cisely represented or even stated
In a timetable-scheduling problem events for example exam subjects must be slotted to certain
times which satisfy several of constraints
Knowledge-based and OR-based approaches to solving such problems are hard to develop are often
slow and can be inflexible because the architecture itself was based on specific assumptions about
23
the nature of the problem Constraint satisfaction techniques have been used to solve hard
constraints however it is more difficult to handle soft constraints such as preferences Most often
people still resort to handcrafted solutions starting from an easier solution and making a sequence of
modifications to cater for changed requirements This typically leads to suboptimal solutions that
bring significant organizational or financial penalties [ 13 developed a Genetic Algorithm (GA)
based timetable system
which has been successfully used by a university
3113) SCOPE
modification of the genetic algorithm by
modified genetic algorithm
coperative genetic algorithm
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
24
3114) OVERVIEW
In the last few years colleges and universities around the world are expanding enrollment in order
to develop more high-quality personnel various countries educational reform is also thorough
unceasingly The essence of course scheduling question is the curriculum the teacher and the
student should be assigned in the appropriate time section to the appropriate classroom It is a multi-
objective scheduling problem which involve more factors and known as the Time table Problem in
operations research (Time table Problem1063384 called TTP) Automated Course Scheduling algorithm
TTP was proved to be NP-complete problem as early as in the 70s The computing time is
exponential increase and integration time and space as dual constraints From classroom (space)
point of view it is similar to the binpacking problem But increased many restraints in the time So it
is a more complex problem than the bin-packing problem We can establish theoretical profundity
from this thesis At present in mathematics did not have an general algorithm to be able to solve the
NP complete problem well Solving the NP complete problem only to be able to depend on the
approximate method many scholars have conducted the research regarding this
3115 Contact informationSRS team members
Vibhanshu wadhwa ( enrol 10503854)
Mrsaurabh k raina (mentor)
312Overall Description
3121) Product perspective
Provide a good algorithm to our audience so that they can generate a helpful time table with
least wastage of their time and recourses
To generate a time table scheduler we have to use heuristic search
Till date most helpful heuristic search has been ldquogenetic algorithmrdquo
We will first define the problem
25
All their constrains soft as well as hard
Our aim is to find a solution which satisfy all the hard constrains for sure and as many soft
constrain as it can in accepatable time and space
Appling heuristic search like genetic algorithm or improved algorihms over genetic al-
gorithm as we have seen earliar
Compare the algorithms
Since it is an NPhard problem and no fully efficient algorithm can be found
As we have learned from the research papers that by using best combination of algorithm
like genetic algorithm(crossover and mutation)
tabu search particle swarm etc
3222 Product functions
Product have many functionalities and wide area for use
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
Efficiently generates timetables so vast number of resources can be utilised
3123)user characteristics
INPUT AND STORAGE program will take all the input from the user and will save it in its
database for all the future computation
26
CREATING RANDOM SOLUTIONS using the above input programby using the appro-
priate algorithm will generate some random solutions
CALCULATING FITTNESS FUNCTION by using the already decided penality program
will calculate the fitness functions of the solutions and will sort them in increasing
APPLYING GENETIC ALGORITHM THROGH MUTATION them by using fitness score
program will apply genetic algorithm or its improved version to create best possible solution
in minimum possible time
SECURITY program will delete all the information of the organisation after creating time-
table and will never upload it publically
EFFICIENCY Program will try to take minimum time and resources
USER-FRIENDLY INTERFACE no knowledge about the software will be required to use
it very straight design
MULTIPLE SOLUTIONS More than 1 acceptable solution will be providedso that organ-
isation can choose out of many solution which one suits them best
Operating environment
27
3124) Designimplementation constraints
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
28
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
We will try to allocate each integer to 1 of the slots here
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exceeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In students time table we have to try to reduce the number of breaks during a day so that
they have more time for self-study at home
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 class
not more than timemax2 class for teacher and student
less breaks for teachers
FITNESS FUNCTION
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
11
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
2) This implies
3 hours ndash penalty of 9
2hours - penalty of 4
For each break of n hours of student penalty is (n)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 30
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
AIM
Our aim is to find the best time tables having the following qualities
Follow all the hard constrain
Making optimal use of the resources
Best fitness function
14) Approach to problem in terms of technology platform to be used
As we are using genetic algorithm to generate time-table which consist of three methods namely
crossover mutation and calculating fitness functions Genetic algorithm instead of focusing on one
most optimal solution it focus on many different sub-optimal solution that results in high need of
computation and memory
So for this project due to high computation needs we are using C++ since it is most optimum in
terms of computation
INPUT AND STORAGE
Name of the teachers subjects and batches is taken as input
All these values will be stored in different text files We chose to store it in text file instead of data-
base because of the computational advantage And no sensitive data is needed to be stored
Storing data into the data structure from text file12
Data is read from the text file and stored in the arrays
From thatrdquo array finalrdquo is created
Input of the values of ldquoarray finalrdquo into the 3-D array
Two different algorithms are used one is the the basic random algorithm
Other one is the new algorithm called (ldquoarrow systemrdquo)
These two different algorithms are compared and analysed
Improvement of the basic solution
Two different ways are there to do that
Crossover
Mutation
Deciding the best solution to apply the crossover and mutation
Roulette Wheel Selection
Rank Selection
Tournament selection
Fitness Function
It is the measure ldquoHow good the solution is rdquo
Time-table of every teacher and batch is stored in different arrays
Fitness function defined above is applied
15)Support for Novelty significance of problem
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is done manually so to help big organisation for there such important task it is important to design a proper algorithm so that a lot of time can be saved
different ways that can be combined for solving the problem
modified genetic algorithm
coperative genetic algorithm13
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Simulated annealing
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
Intented audience
Airport management staff Railway management staff Universities Schools Organisation working on time based projects
16 Give tabular comparison of other existing approaches solution to the problem framed
1)Genetic Algorithms vs TabuSearch in Timetable Scheduling
GA provide diverse values of solution
tabu search is faster
GA reaches to global maximaTabu reaches to local naxima
mutation increases the diversitySaving the best solution is helpful
14
3)Timetable Scheduling Using Particle Swarm Optimization
Proved to be better then traditional GA
Converges faster
not compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY TIMETABLE SCHEDULING PROBLEM
Modified genetic algorithm(mga) two sets of chromosomes are made(solu-
tions) 3 chromosomes from set1 are taken They are allowed crossover with all the
chromosomes os set2 This reduce the candidate solution Hence decresce the calculations
Cooperative genetic algorithm Two spicies of chromosomes ( solutions)
are made Three solutions are chosen from each
spicies They are allowed to crossover Calculation decrese But diversity also de-
creases
5)University Time Table Scheduling using Genetic Artificial Immune Network
memetic algorithm GAIN greatly coutperforms GAvery promising algorithm for solving the time tabling problemConverges fasterreaches global maxima
6)Algorithms of Time table Problem Application andPerformance Evaluation in Course SchedulingSystem
GA provide diverse values of solution
GA reaches to global maxima
mutation increases the diversity
Saving the best solution is helpful
all the steps are same but instead of mutation sometimes tabu search is performed
7)An Algorithm to Automatically Generate Schedule forSchool Lectures Using a Heuristic Approach
extension to constraint propagation
some pre constrains can save a lot of computationfitness fuction is improved
8)A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHM
Timetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
The objective of the work is to create a model used to generate the acceptable schedule using 15
probabilistic operators
10)Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Multi Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set
2) Background Study
21) Literature Survey
1)
Genetic Algorithms vs Tabu
Search in Timetable Scheduling
S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application Group
E amp C Dept China Steel Corp Taiwan ROC
IEEE1999
to find the optimum solution throught genetic algorithm through genetic algorithm and tabu
searchboth of them can beat searching like back tracking hands downin this research paper tabu
search performed better than genetic algorithm Still since this was the first paper to tackle
scheduling problem through heuristic search so this have great importance in this major project
2)
Solving Timetable Scheduling Problem
Using Genetic Algorithms
Branimir Sigl Marin Golub Vedran Mornar
Faculty of Electrical Engineering and Computing University of Zagreb
Unska 3 I0000 Zagreb Croatia
IEEE-2003
This paper uses genetic algorithm to solve the time table scheduling problem using 3-d array of
16
day tim and classesand uses crossover and mutation process to optimisethis paper also make huge
improvement over genetic algorithm as shown abovemain difference between this and the above
research paper is the improvement that they did on genetic algorithmstating
The first step of the improved crossover operator simply copies equal genes from parents to the
child individual No additional conflicts can be added through copying those equal values Different
parentrsquos genes are specially marked and delegated for further processing In the second step the
crossover operator checks the list of equations for each marked gene in child individual and counts
the number of potential conflicts generated for both parentrsquos choices The gene from a parent that
generates fewer conflicts is chosen so no additional conflicts are generated in addition to the
conflicts caused by the parents
3)
Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu UniversityJiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University
Here this algorithm chooses 10 -20 random solutions and call them lolal maximarsquosand out of those
20 solutions whichever is the best is called global maxima each of those 20 solutions are changed
by changing 2-3 of their positions that are chosen randomly to find better solutions out of those 20
solutions their best solutions are found and out of them the best is chosen to be global in this way
algorithm have power to come out of local maximarsquos
as compare to genetic algorithm(traditional)algorithm performed better but in this paper it is not
compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVE
UNIVERSITY TIMETABLE SCHEDULING PROBLEM
Sehraneh Ghaemi Mohammad Taghi Vakili Ali Aghagolzadeh
Ghaemi Mvakil Aghagol tabrizuacir
Faculty of Electrical amp Computer Engineering
University Of Tabriz
IEEE-200717
Modified genetic algorithm(mga)
two sets of chromosomes are made(solutions)
3 chromosomes from set1 are taken
They are allowed crossover with all the chromosomes os set2
This reduce the candidate solution
Hence decresce the calculations
Cooperative genetic algorithm
Two spicies of chromosomes ( solutions) are made
Three solutions are chosen from each spicies
They are allowed to crossover
Calculation decrese
But diversity also decreases
This type of chromosome representation needs less number of bits for each gene Therefore
algorithm needs shorter time for running The obtained results show that SX operator in upper
mutation rates and UX and MUX operator in lower mutation rates perform well and MUX operator
is better than others By varying mutation rate during algorithm running better results are achieved
Also Tournament selection operates better than Rank Weighting selection The MGA and CGA
methods with population size less than GA yield better results and accelerate the algorithm Note
that the unsatisfied constraints number with CGA method is less than MGA method
5)
University Time Table Scheduling using Genetic Artificial Immune Network
Antariksha Bhaduri
IEEE-2009
Scheduling is one of the important tasks encountered in real life situations Various scheduling
problems are present like personnel scheduling production
scheduling education time table scheduling etc Educational time table scheduling is a difficult task
because of the many constraints that are needed to be satisfied in order to get a feasible solution
Education time table scheduling problem is known to be NP Hard Hence evolutionary techniques
have been used to solve the time table scheduling problem Methodologies like Genetic Algorithms
(GAs) Evolutionary Algorithms (EAs) etc have been used with mixed success In this paper we
have reviewed the problem of educational time table scheduling and solving it with Genetic
Algorithm We have further solved the problem with a memetic hybrid algorithm Genetic Artificial 18
Immune Network (GAIN) and compare the result with that obtained from GA Results show that
GAIN is able to reach the optimal feasible solution fasterthan that of GA
In this paper we discussed in detail the educational time tabling problem which is basically a
scheduling problem The problem is known to be NP hard and is of very high importance to
educational institutes We discussed in brief the various methods used in solving the time tabling
problem A detailed overview has been provided for previous works for solving this problem with
links to such works with more emphasis on solving the problem using evolutionary algorithms
Then the problem is structured and a chromosomenetwork cell design with genetic operators used
is provided for solving it Finally we solved the problem using Genetic Algorithm and a hybrid
memetic algorithm GAIN and the results are compared Results showed that the memetic
algorithm GAIN greatly coutperforms GA and hence proved to be a very promising algorithm for
solving the time tabling problem
6)
Algorithms of Time table Problem Application and
Performance Evaluation in Course Scheduling
System
Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1
Shandong Polytechnic University Jinan China
E-mail dyfspueducn qbspueducn gwsspueducn
wqzspueducn
Lan Wang Center Hospital Shandong Luneng Group Co Ltd Jinan China
E-mail qiufengdong163com
IEEE-2011
Summary
Tabu search algorithm can accept inferior solutions in the search process the new solution is not
randomly generated in the current field but selected the best solution which the best solution of
probability is more than other solutions Then the search can escape from local optimal solution
and turn to other areas increasing the probability of global optimum solution for local search We
use tabu search to replace the mutation operator The tabu search can get better
individual solutions and be out of local optimum The tabu search is applied to the local search it
can greatly avoid the phenomenon of over-mature for genetic algorithms but it is also unwise to use
tabu search frequently it waste running time In fact we can call the tabu search to replace the
mutation operation in appropriate time So basically all the steps are same but instead of
mutation sometimes tabu search is performed Genetic search algorithm has been validated in the 19
test and achieved good results Genetic search algorithm is a more practical method convergence is
fast and time distributes uniform But in practice conditions may not be terminated the purpose is
to provide different possible solutions in order for users to choose However if the constraint
conditions are too harsh there may be no feasible solution in such case human intervention is
necessary Course scheduling problem is a multidisciplinary hard problems this article attempt
genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and
parameter settings needed to be improved and explored the effect on the algorithm need be
improved in further
7)
An Algorithm to Automatically Generate Schedule for
School Lectures Using a Heuristic Approach
Anirudha Nanda Manisha P Pai and Abhijeet Gole
SUMMARY
In this paper authors have tried to avoid random selection by there point of view
It decreases an overhead of computation when we apply all the proper condition while mapping
teachers with time-room
And if they see any clash the lecture already mapped with that time slot is sent to clash data if that
lecture is not present in output data slot that is if the teacher of that lecture is no available ata that
time
The intention of the algorithm to generate a time-table schedule automatically is satisfied The
algorithm incorporates a number of techniques aimed to improve the efficiency of the search
operation It also addresses the important hard constraint of clashes between the availability of
teachers The non-rigid soft constraints ie optimization objectives for the search operation are also
effectively handled Given the generality of the algorithm operation it can further be adapted to
more specific scenarios eg University examination scheduling and further be enhanced to create
railway time tables Thus through the process of automation of the time-table problem many an-
hours of creating an effective timetable have been reduced eventually The most interesting future
direction in the development of the algorithm lies in its extension to constraint propagation When
there is a value assigned to a variable such assignment can be propagated to unassigned variables to
prohibit all values which come into conflict with the current assignments The information about
such prohibited value
20
8) A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHMSANDEEP SINGH RAWAT and LAKSHMI RAJAMANIYear-2010Journal of Theoretical and Applied Information Technology
SUMMARYThis paper deals with the implementation of a computer program which employs Genetic Algorithms (GAs) in the quest for an optimal class timetable generator The program is written in Java and incorporates a repair strategy for faster evolution This paper also explains an example usage of Genetic Algorithms (GAs) for finding optimal solutions to the problem of Class Timetable It is seen that the GA could be improved by the further incorporation of repair strategies and is readily scalable to the complete timetabling problem The system at present does not take care of other constraints like unavailability of lecturers small size of rooms and time required by the lecturer to move from one class timetable is used at the dept
WHATrsquoS NEWBreeding TimetablesTimetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables A child timetable is bred by performing unity order based crossover on the parents This means that each parent has an equal chance of providing each gene
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
Bharkha Narang Ambika and Rashmi Bansal
Year-2013International Conference on Emerging Trends in Engineering and Management
SUMMARY
This document proposes an optimized technique to automate time table generation system Time table generation system involves various challenging constraints of resources including faculties rooms time slots etc The roposed technique filters out the best of active rules andGenetic algorithm to generate the optimized solution Genetic Algorithm and Active Rules together form a complete sphere for developing a system which needs to satisfy various constraints Active Rules provide ldquoevent-condition-actionrdquo model for the implementation of any rule based system In genetic algorithm every individual are characterized by a fitnessfunction After analysis if there is higher fitness then it means better solution and then after based on their fitness parents are selected to reproduce offspring for a new generation where fitter individuals have more chance to reproduce The objective of the work is to create a model used to generate the acceptable schedule using probabilistic operators
21
10) Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Year -2009
DrGRADHAMANI NIJUPJOSEPH
International Journal of Recent Trends in Engineering
SUMMARYMulti Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set A set of techniques discussed here can be used to enhance searching and retrieving information from an existing fuzzy Knowledge Base (KB) The proposed genetic algorithm tries to be capable of generating solutions from both crisp and fuzzy valued data The search algorithm transforms vague and uncertain data represented as fuzzy sets for accurate solution generation Procedures are proposed which learns from the different available knowledge base for its application on uncertain data In this paper a repeat crossover Genetic Algorithm is formulated for its usage on uncertain data represented as fuzzy sets and it can be implemented for many real world applications
31 Overall description of the project
311 INTRODUCTION
3111)PURPOSE
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only
required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
22
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is
done manually so to help big organisation for there such important task it is important to design a
proper algorithm so that a lot of time can be saved
512) DEFINATION
Timetable Scheduling Problems are particularly challenging for Artificial Intelligence and
Operations Research techniques They are problems of time-based planning and combinatorial
optimization that tend to be solved with a cooperation of search and heuristics which usually lead
to satisfactory but sub-optimal solutions There are many kinds of timetable scheduling problems in
the daily life such as examination lecture transportation timetables In general there are several
common difficulties in these kinds of problems
There exists no deterministic polynomial time algorithm they are computationally NP com-
plete problems
It is very difficult to design effective heuristics Advanced search techniques using various
heuristics to prune the search space will not be guaranteed to find an optimal solution
A general algorithmic approach to a problem may turn out to be inapplicable certain spe-
cial constraints are often required in a particular instance of that problem
Real world timetable scheduling problems often involve constraints that cannot be pre-
cisely represented or even stated
In a timetable-scheduling problem events for example exam subjects must be slotted to certain
times which satisfy several of constraints
Knowledge-based and OR-based approaches to solving such problems are hard to develop are often
slow and can be inflexible because the architecture itself was based on specific assumptions about
23
the nature of the problem Constraint satisfaction techniques have been used to solve hard
constraints however it is more difficult to handle soft constraints such as preferences Most often
people still resort to handcrafted solutions starting from an easier solution and making a sequence of
modifications to cater for changed requirements This typically leads to suboptimal solutions that
bring significant organizational or financial penalties [ 13 developed a Genetic Algorithm (GA)
based timetable system
which has been successfully used by a university
3113) SCOPE
modification of the genetic algorithm by
modified genetic algorithm
coperative genetic algorithm
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
24
3114) OVERVIEW
In the last few years colleges and universities around the world are expanding enrollment in order
to develop more high-quality personnel various countries educational reform is also thorough
unceasingly The essence of course scheduling question is the curriculum the teacher and the
student should be assigned in the appropriate time section to the appropriate classroom It is a multi-
objective scheduling problem which involve more factors and known as the Time table Problem in
operations research (Time table Problem1063384 called TTP) Automated Course Scheduling algorithm
TTP was proved to be NP-complete problem as early as in the 70s The computing time is
exponential increase and integration time and space as dual constraints From classroom (space)
point of view it is similar to the binpacking problem But increased many restraints in the time So it
is a more complex problem than the bin-packing problem We can establish theoretical profundity
from this thesis At present in mathematics did not have an general algorithm to be able to solve the
NP complete problem well Solving the NP complete problem only to be able to depend on the
approximate method many scholars have conducted the research regarding this
3115 Contact informationSRS team members
Vibhanshu wadhwa ( enrol 10503854)
Mrsaurabh k raina (mentor)
312Overall Description
3121) Product perspective
Provide a good algorithm to our audience so that they can generate a helpful time table with
least wastage of their time and recourses
To generate a time table scheduler we have to use heuristic search
Till date most helpful heuristic search has been ldquogenetic algorithmrdquo
We will first define the problem
25
All their constrains soft as well as hard
Our aim is to find a solution which satisfy all the hard constrains for sure and as many soft
constrain as it can in accepatable time and space
Appling heuristic search like genetic algorithm or improved algorihms over genetic al-
gorithm as we have seen earliar
Compare the algorithms
Since it is an NPhard problem and no fully efficient algorithm can be found
As we have learned from the research papers that by using best combination of algorithm
like genetic algorithm(crossover and mutation)
tabu search particle swarm etc
3222 Product functions
Product have many functionalities and wide area for use
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
Efficiently generates timetables so vast number of resources can be utilised
3123)user characteristics
INPUT AND STORAGE program will take all the input from the user and will save it in its
database for all the future computation
26
CREATING RANDOM SOLUTIONS using the above input programby using the appro-
priate algorithm will generate some random solutions
CALCULATING FITTNESS FUNCTION by using the already decided penality program
will calculate the fitness functions of the solutions and will sort them in increasing
APPLYING GENETIC ALGORITHM THROGH MUTATION them by using fitness score
program will apply genetic algorithm or its improved version to create best possible solution
in minimum possible time
SECURITY program will delete all the information of the organisation after creating time-
table and will never upload it publically
EFFICIENCY Program will try to take minimum time and resources
USER-FRIENDLY INTERFACE no knowledge about the software will be required to use
it very straight design
MULTIPLE SOLUTIONS More than 1 acceptable solution will be providedso that organ-
isation can choose out of many solution which one suits them best
Operating environment
27
3124) Designimplementation constraints
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
28
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
2) This implies
3 hours ndash penalty of 9
2hours - penalty of 4
For each break of n hours of student penalty is (n)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 30
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
AIM
Our aim is to find the best time tables having the following qualities
Follow all the hard constrain
Making optimal use of the resources
Best fitness function
14) Approach to problem in terms of technology platform to be used
As we are using genetic algorithm to generate time-table which consist of three methods namely
crossover mutation and calculating fitness functions Genetic algorithm instead of focusing on one
most optimal solution it focus on many different sub-optimal solution that results in high need of
computation and memory
So for this project due to high computation needs we are using C++ since it is most optimum in
terms of computation
INPUT AND STORAGE
Name of the teachers subjects and batches is taken as input
All these values will be stored in different text files We chose to store it in text file instead of data-
base because of the computational advantage And no sensitive data is needed to be stored
Storing data into the data structure from text file12
Data is read from the text file and stored in the arrays
From thatrdquo array finalrdquo is created
Input of the values of ldquoarray finalrdquo into the 3-D array
Two different algorithms are used one is the the basic random algorithm
Other one is the new algorithm called (ldquoarrow systemrdquo)
These two different algorithms are compared and analysed
Improvement of the basic solution
Two different ways are there to do that
Crossover
Mutation
Deciding the best solution to apply the crossover and mutation
Roulette Wheel Selection
Rank Selection
Tournament selection
Fitness Function
It is the measure ldquoHow good the solution is rdquo
Time-table of every teacher and batch is stored in different arrays
Fitness function defined above is applied
15)Support for Novelty significance of problem
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is done manually so to help big organisation for there such important task it is important to design a proper algorithm so that a lot of time can be saved
different ways that can be combined for solving the problem
modified genetic algorithm
coperative genetic algorithm13
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Simulated annealing
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
Intented audience
Airport management staff Railway management staff Universities Schools Organisation working on time based projects
16 Give tabular comparison of other existing approaches solution to the problem framed
1)Genetic Algorithms vs TabuSearch in Timetable Scheduling
GA provide diverse values of solution
tabu search is faster
GA reaches to global maximaTabu reaches to local naxima
mutation increases the diversitySaving the best solution is helpful
14
3)Timetable Scheduling Using Particle Swarm Optimization
Proved to be better then traditional GA
Converges faster
not compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY TIMETABLE SCHEDULING PROBLEM
Modified genetic algorithm(mga) two sets of chromosomes are made(solu-
tions) 3 chromosomes from set1 are taken They are allowed crossover with all the
chromosomes os set2 This reduce the candidate solution Hence decresce the calculations
Cooperative genetic algorithm Two spicies of chromosomes ( solutions)
are made Three solutions are chosen from each
spicies They are allowed to crossover Calculation decrese But diversity also de-
creases
5)University Time Table Scheduling using Genetic Artificial Immune Network
memetic algorithm GAIN greatly coutperforms GAvery promising algorithm for solving the time tabling problemConverges fasterreaches global maxima
6)Algorithms of Time table Problem Application andPerformance Evaluation in Course SchedulingSystem
GA provide diverse values of solution
GA reaches to global maxima
mutation increases the diversity
Saving the best solution is helpful
all the steps are same but instead of mutation sometimes tabu search is performed
7)An Algorithm to Automatically Generate Schedule forSchool Lectures Using a Heuristic Approach
extension to constraint propagation
some pre constrains can save a lot of computationfitness fuction is improved
8)A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHM
Timetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
The objective of the work is to create a model used to generate the acceptable schedule using 15
probabilistic operators
10)Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Multi Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set
2) Background Study
21) Literature Survey
1)
Genetic Algorithms vs Tabu
Search in Timetable Scheduling
S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application Group
E amp C Dept China Steel Corp Taiwan ROC
IEEE1999
to find the optimum solution throught genetic algorithm through genetic algorithm and tabu
searchboth of them can beat searching like back tracking hands downin this research paper tabu
search performed better than genetic algorithm Still since this was the first paper to tackle
scheduling problem through heuristic search so this have great importance in this major project
2)
Solving Timetable Scheduling Problem
Using Genetic Algorithms
Branimir Sigl Marin Golub Vedran Mornar
Faculty of Electrical Engineering and Computing University of Zagreb
Unska 3 I0000 Zagreb Croatia
IEEE-2003
This paper uses genetic algorithm to solve the time table scheduling problem using 3-d array of
16
day tim and classesand uses crossover and mutation process to optimisethis paper also make huge
improvement over genetic algorithm as shown abovemain difference between this and the above
research paper is the improvement that they did on genetic algorithmstating
The first step of the improved crossover operator simply copies equal genes from parents to the
child individual No additional conflicts can be added through copying those equal values Different
parentrsquos genes are specially marked and delegated for further processing In the second step the
crossover operator checks the list of equations for each marked gene in child individual and counts
the number of potential conflicts generated for both parentrsquos choices The gene from a parent that
generates fewer conflicts is chosen so no additional conflicts are generated in addition to the
conflicts caused by the parents
3)
Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu UniversityJiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University
Here this algorithm chooses 10 -20 random solutions and call them lolal maximarsquosand out of those
20 solutions whichever is the best is called global maxima each of those 20 solutions are changed
by changing 2-3 of their positions that are chosen randomly to find better solutions out of those 20
solutions their best solutions are found and out of them the best is chosen to be global in this way
algorithm have power to come out of local maximarsquos
as compare to genetic algorithm(traditional)algorithm performed better but in this paper it is not
compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVE
UNIVERSITY TIMETABLE SCHEDULING PROBLEM
Sehraneh Ghaemi Mohammad Taghi Vakili Ali Aghagolzadeh
Ghaemi Mvakil Aghagol tabrizuacir
Faculty of Electrical amp Computer Engineering
University Of Tabriz
IEEE-200717
Modified genetic algorithm(mga)
two sets of chromosomes are made(solutions)
3 chromosomes from set1 are taken
They are allowed crossover with all the chromosomes os set2
This reduce the candidate solution
Hence decresce the calculations
Cooperative genetic algorithm
Two spicies of chromosomes ( solutions) are made
Three solutions are chosen from each spicies
They are allowed to crossover
Calculation decrese
But diversity also decreases
This type of chromosome representation needs less number of bits for each gene Therefore
algorithm needs shorter time for running The obtained results show that SX operator in upper
mutation rates and UX and MUX operator in lower mutation rates perform well and MUX operator
is better than others By varying mutation rate during algorithm running better results are achieved
Also Tournament selection operates better than Rank Weighting selection The MGA and CGA
methods with population size less than GA yield better results and accelerate the algorithm Note
that the unsatisfied constraints number with CGA method is less than MGA method
5)
University Time Table Scheduling using Genetic Artificial Immune Network
Antariksha Bhaduri
IEEE-2009
Scheduling is one of the important tasks encountered in real life situations Various scheduling
problems are present like personnel scheduling production
scheduling education time table scheduling etc Educational time table scheduling is a difficult task
because of the many constraints that are needed to be satisfied in order to get a feasible solution
Education time table scheduling problem is known to be NP Hard Hence evolutionary techniques
have been used to solve the time table scheduling problem Methodologies like Genetic Algorithms
(GAs) Evolutionary Algorithms (EAs) etc have been used with mixed success In this paper we
have reviewed the problem of educational time table scheduling and solving it with Genetic
Algorithm We have further solved the problem with a memetic hybrid algorithm Genetic Artificial 18
Immune Network (GAIN) and compare the result with that obtained from GA Results show that
GAIN is able to reach the optimal feasible solution fasterthan that of GA
In this paper we discussed in detail the educational time tabling problem which is basically a
scheduling problem The problem is known to be NP hard and is of very high importance to
educational institutes We discussed in brief the various methods used in solving the time tabling
problem A detailed overview has been provided for previous works for solving this problem with
links to such works with more emphasis on solving the problem using evolutionary algorithms
Then the problem is structured and a chromosomenetwork cell design with genetic operators used
is provided for solving it Finally we solved the problem using Genetic Algorithm and a hybrid
memetic algorithm GAIN and the results are compared Results showed that the memetic
algorithm GAIN greatly coutperforms GA and hence proved to be a very promising algorithm for
solving the time tabling problem
6)
Algorithms of Time table Problem Application and
Performance Evaluation in Course Scheduling
System
Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1
Shandong Polytechnic University Jinan China
E-mail dyfspueducn qbspueducn gwsspueducn
wqzspueducn
Lan Wang Center Hospital Shandong Luneng Group Co Ltd Jinan China
E-mail qiufengdong163com
IEEE-2011
Summary
Tabu search algorithm can accept inferior solutions in the search process the new solution is not
randomly generated in the current field but selected the best solution which the best solution of
probability is more than other solutions Then the search can escape from local optimal solution
and turn to other areas increasing the probability of global optimum solution for local search We
use tabu search to replace the mutation operator The tabu search can get better
individual solutions and be out of local optimum The tabu search is applied to the local search it
can greatly avoid the phenomenon of over-mature for genetic algorithms but it is also unwise to use
tabu search frequently it waste running time In fact we can call the tabu search to replace the
mutation operation in appropriate time So basically all the steps are same but instead of
mutation sometimes tabu search is performed Genetic search algorithm has been validated in the 19
test and achieved good results Genetic search algorithm is a more practical method convergence is
fast and time distributes uniform But in practice conditions may not be terminated the purpose is
to provide different possible solutions in order for users to choose However if the constraint
conditions are too harsh there may be no feasible solution in such case human intervention is
necessary Course scheduling problem is a multidisciplinary hard problems this article attempt
genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and
parameter settings needed to be improved and explored the effect on the algorithm need be
improved in further
7)
An Algorithm to Automatically Generate Schedule for
School Lectures Using a Heuristic Approach
Anirudha Nanda Manisha P Pai and Abhijeet Gole
SUMMARY
In this paper authors have tried to avoid random selection by there point of view
It decreases an overhead of computation when we apply all the proper condition while mapping
teachers with time-room
And if they see any clash the lecture already mapped with that time slot is sent to clash data if that
lecture is not present in output data slot that is if the teacher of that lecture is no available ata that
time
The intention of the algorithm to generate a time-table schedule automatically is satisfied The
algorithm incorporates a number of techniques aimed to improve the efficiency of the search
operation It also addresses the important hard constraint of clashes between the availability of
teachers The non-rigid soft constraints ie optimization objectives for the search operation are also
effectively handled Given the generality of the algorithm operation it can further be adapted to
more specific scenarios eg University examination scheduling and further be enhanced to create
railway time tables Thus through the process of automation of the time-table problem many an-
hours of creating an effective timetable have been reduced eventually The most interesting future
direction in the development of the algorithm lies in its extension to constraint propagation When
there is a value assigned to a variable such assignment can be propagated to unassigned variables to
prohibit all values which come into conflict with the current assignments The information about
such prohibited value
20
8) A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHMSANDEEP SINGH RAWAT and LAKSHMI RAJAMANIYear-2010Journal of Theoretical and Applied Information Technology
SUMMARYThis paper deals with the implementation of a computer program which employs Genetic Algorithms (GAs) in the quest for an optimal class timetable generator The program is written in Java and incorporates a repair strategy for faster evolution This paper also explains an example usage of Genetic Algorithms (GAs) for finding optimal solutions to the problem of Class Timetable It is seen that the GA could be improved by the further incorporation of repair strategies and is readily scalable to the complete timetabling problem The system at present does not take care of other constraints like unavailability of lecturers small size of rooms and time required by the lecturer to move from one class timetable is used at the dept
WHATrsquoS NEWBreeding TimetablesTimetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables A child timetable is bred by performing unity order based crossover on the parents This means that each parent has an equal chance of providing each gene
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
Bharkha Narang Ambika and Rashmi Bansal
Year-2013International Conference on Emerging Trends in Engineering and Management
SUMMARY
This document proposes an optimized technique to automate time table generation system Time table generation system involves various challenging constraints of resources including faculties rooms time slots etc The roposed technique filters out the best of active rules andGenetic algorithm to generate the optimized solution Genetic Algorithm and Active Rules together form a complete sphere for developing a system which needs to satisfy various constraints Active Rules provide ldquoevent-condition-actionrdquo model for the implementation of any rule based system In genetic algorithm every individual are characterized by a fitnessfunction After analysis if there is higher fitness then it means better solution and then after based on their fitness parents are selected to reproduce offspring for a new generation where fitter individuals have more chance to reproduce The objective of the work is to create a model used to generate the acceptable schedule using probabilistic operators
21
10) Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Year -2009
DrGRADHAMANI NIJUPJOSEPH
International Journal of Recent Trends in Engineering
SUMMARYMulti Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set A set of techniques discussed here can be used to enhance searching and retrieving information from an existing fuzzy Knowledge Base (KB) The proposed genetic algorithm tries to be capable of generating solutions from both crisp and fuzzy valued data The search algorithm transforms vague and uncertain data represented as fuzzy sets for accurate solution generation Procedures are proposed which learns from the different available knowledge base for its application on uncertain data In this paper a repeat crossover Genetic Algorithm is formulated for its usage on uncertain data represented as fuzzy sets and it can be implemented for many real world applications
31 Overall description of the project
311 INTRODUCTION
3111)PURPOSE
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only
required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
22
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is
done manually so to help big organisation for there such important task it is important to design a
proper algorithm so that a lot of time can be saved
512) DEFINATION
Timetable Scheduling Problems are particularly challenging for Artificial Intelligence and
Operations Research techniques They are problems of time-based planning and combinatorial
optimization that tend to be solved with a cooperation of search and heuristics which usually lead
to satisfactory but sub-optimal solutions There are many kinds of timetable scheduling problems in
the daily life such as examination lecture transportation timetables In general there are several
common difficulties in these kinds of problems
There exists no deterministic polynomial time algorithm they are computationally NP com-
plete problems
It is very difficult to design effective heuristics Advanced search techniques using various
heuristics to prune the search space will not be guaranteed to find an optimal solution
A general algorithmic approach to a problem may turn out to be inapplicable certain spe-
cial constraints are often required in a particular instance of that problem
Real world timetable scheduling problems often involve constraints that cannot be pre-
cisely represented or even stated
In a timetable-scheduling problem events for example exam subjects must be slotted to certain
times which satisfy several of constraints
Knowledge-based and OR-based approaches to solving such problems are hard to develop are often
slow and can be inflexible because the architecture itself was based on specific assumptions about
23
the nature of the problem Constraint satisfaction techniques have been used to solve hard
constraints however it is more difficult to handle soft constraints such as preferences Most often
people still resort to handcrafted solutions starting from an easier solution and making a sequence of
modifications to cater for changed requirements This typically leads to suboptimal solutions that
bring significant organizational or financial penalties [ 13 developed a Genetic Algorithm (GA)
based timetable system
which has been successfully used by a university
3113) SCOPE
modification of the genetic algorithm by
modified genetic algorithm
coperative genetic algorithm
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
24
3114) OVERVIEW
In the last few years colleges and universities around the world are expanding enrollment in order
to develop more high-quality personnel various countries educational reform is also thorough
unceasingly The essence of course scheduling question is the curriculum the teacher and the
student should be assigned in the appropriate time section to the appropriate classroom It is a multi-
objective scheduling problem which involve more factors and known as the Time table Problem in
operations research (Time table Problem1063384 called TTP) Automated Course Scheduling algorithm
TTP was proved to be NP-complete problem as early as in the 70s The computing time is
exponential increase and integration time and space as dual constraints From classroom (space)
point of view it is similar to the binpacking problem But increased many restraints in the time So it
is a more complex problem than the bin-packing problem We can establish theoretical profundity
from this thesis At present in mathematics did not have an general algorithm to be able to solve the
NP complete problem well Solving the NP complete problem only to be able to depend on the
approximate method many scholars have conducted the research regarding this
3115 Contact informationSRS team members
Vibhanshu wadhwa ( enrol 10503854)
Mrsaurabh k raina (mentor)
312Overall Description
3121) Product perspective
Provide a good algorithm to our audience so that they can generate a helpful time table with
least wastage of their time and recourses
To generate a time table scheduler we have to use heuristic search
Till date most helpful heuristic search has been ldquogenetic algorithmrdquo
We will first define the problem
25
All their constrains soft as well as hard
Our aim is to find a solution which satisfy all the hard constrains for sure and as many soft
constrain as it can in accepatable time and space
Appling heuristic search like genetic algorithm or improved algorihms over genetic al-
gorithm as we have seen earliar
Compare the algorithms
Since it is an NPhard problem and no fully efficient algorithm can be found
As we have learned from the research papers that by using best combination of algorithm
like genetic algorithm(crossover and mutation)
tabu search particle swarm etc
3222 Product functions
Product have many functionalities and wide area for use
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
Efficiently generates timetables so vast number of resources can be utilised
3123)user characteristics
INPUT AND STORAGE program will take all the input from the user and will save it in its
database for all the future computation
26
CREATING RANDOM SOLUTIONS using the above input programby using the appro-
priate algorithm will generate some random solutions
CALCULATING FITTNESS FUNCTION by using the already decided penality program
will calculate the fitness functions of the solutions and will sort them in increasing
APPLYING GENETIC ALGORITHM THROGH MUTATION them by using fitness score
program will apply genetic algorithm or its improved version to create best possible solution
in minimum possible time
SECURITY program will delete all the information of the organisation after creating time-
table and will never upload it publically
EFFICIENCY Program will try to take minimum time and resources
USER-FRIENDLY INTERFACE no knowledge about the software will be required to use
it very straight design
MULTIPLE SOLUTIONS More than 1 acceptable solution will be providedso that organ-
isation can choose out of many solution which one suits them best
Operating environment
27
3124) Designimplementation constraints
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
28
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
Data is read from the text file and stored in the arrays
From thatrdquo array finalrdquo is created
Input of the values of ldquoarray finalrdquo into the 3-D array
Two different algorithms are used one is the the basic random algorithm
Other one is the new algorithm called (ldquoarrow systemrdquo)
These two different algorithms are compared and analysed
Improvement of the basic solution
Two different ways are there to do that
Crossover
Mutation
Deciding the best solution to apply the crossover and mutation
Roulette Wheel Selection
Rank Selection
Tournament selection
Fitness Function
It is the measure ldquoHow good the solution is rdquo
Time-table of every teacher and batch is stored in different arrays
Fitness function defined above is applied
15)Support for Novelty significance of problem
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is done manually so to help big organisation for there such important task it is important to design a proper algorithm so that a lot of time can be saved
different ways that can be combined for solving the problem
modified genetic algorithm
coperative genetic algorithm13
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Simulated annealing
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
Intented audience
Airport management staff Railway management staff Universities Schools Organisation working on time based projects
16 Give tabular comparison of other existing approaches solution to the problem framed
1)Genetic Algorithms vs TabuSearch in Timetable Scheduling
GA provide diverse values of solution
tabu search is faster
GA reaches to global maximaTabu reaches to local naxima
mutation increases the diversitySaving the best solution is helpful
14
3)Timetable Scheduling Using Particle Swarm Optimization
Proved to be better then traditional GA
Converges faster
not compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY TIMETABLE SCHEDULING PROBLEM
Modified genetic algorithm(mga) two sets of chromosomes are made(solu-
tions) 3 chromosomes from set1 are taken They are allowed crossover with all the
chromosomes os set2 This reduce the candidate solution Hence decresce the calculations
Cooperative genetic algorithm Two spicies of chromosomes ( solutions)
are made Three solutions are chosen from each
spicies They are allowed to crossover Calculation decrese But diversity also de-
creases
5)University Time Table Scheduling using Genetic Artificial Immune Network
memetic algorithm GAIN greatly coutperforms GAvery promising algorithm for solving the time tabling problemConverges fasterreaches global maxima
6)Algorithms of Time table Problem Application andPerformance Evaluation in Course SchedulingSystem
GA provide diverse values of solution
GA reaches to global maxima
mutation increases the diversity
Saving the best solution is helpful
all the steps are same but instead of mutation sometimes tabu search is performed
7)An Algorithm to Automatically Generate Schedule forSchool Lectures Using a Heuristic Approach
extension to constraint propagation
some pre constrains can save a lot of computationfitness fuction is improved
8)A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHM
Timetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
The objective of the work is to create a model used to generate the acceptable schedule using 15
probabilistic operators
10)Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Multi Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set
2) Background Study
21) Literature Survey
1)
Genetic Algorithms vs Tabu
Search in Timetable Scheduling
S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application Group
E amp C Dept China Steel Corp Taiwan ROC
IEEE1999
to find the optimum solution throught genetic algorithm through genetic algorithm and tabu
searchboth of them can beat searching like back tracking hands downin this research paper tabu
search performed better than genetic algorithm Still since this was the first paper to tackle
scheduling problem through heuristic search so this have great importance in this major project
2)
Solving Timetable Scheduling Problem
Using Genetic Algorithms
Branimir Sigl Marin Golub Vedran Mornar
Faculty of Electrical Engineering and Computing University of Zagreb
Unska 3 I0000 Zagreb Croatia
IEEE-2003
This paper uses genetic algorithm to solve the time table scheduling problem using 3-d array of
16
day tim and classesand uses crossover and mutation process to optimisethis paper also make huge
improvement over genetic algorithm as shown abovemain difference between this and the above
research paper is the improvement that they did on genetic algorithmstating
The first step of the improved crossover operator simply copies equal genes from parents to the
child individual No additional conflicts can be added through copying those equal values Different
parentrsquos genes are specially marked and delegated for further processing In the second step the
crossover operator checks the list of equations for each marked gene in child individual and counts
the number of potential conflicts generated for both parentrsquos choices The gene from a parent that
generates fewer conflicts is chosen so no additional conflicts are generated in addition to the
conflicts caused by the parents
3)
Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu UniversityJiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University
Here this algorithm chooses 10 -20 random solutions and call them lolal maximarsquosand out of those
20 solutions whichever is the best is called global maxima each of those 20 solutions are changed
by changing 2-3 of their positions that are chosen randomly to find better solutions out of those 20
solutions their best solutions are found and out of them the best is chosen to be global in this way
algorithm have power to come out of local maximarsquos
as compare to genetic algorithm(traditional)algorithm performed better but in this paper it is not
compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVE
UNIVERSITY TIMETABLE SCHEDULING PROBLEM
Sehraneh Ghaemi Mohammad Taghi Vakili Ali Aghagolzadeh
Ghaemi Mvakil Aghagol tabrizuacir
Faculty of Electrical amp Computer Engineering
University Of Tabriz
IEEE-200717
Modified genetic algorithm(mga)
two sets of chromosomes are made(solutions)
3 chromosomes from set1 are taken
They are allowed crossover with all the chromosomes os set2
This reduce the candidate solution
Hence decresce the calculations
Cooperative genetic algorithm
Two spicies of chromosomes ( solutions) are made
Three solutions are chosen from each spicies
They are allowed to crossover
Calculation decrese
But diversity also decreases
This type of chromosome representation needs less number of bits for each gene Therefore
algorithm needs shorter time for running The obtained results show that SX operator in upper
mutation rates and UX and MUX operator in lower mutation rates perform well and MUX operator
is better than others By varying mutation rate during algorithm running better results are achieved
Also Tournament selection operates better than Rank Weighting selection The MGA and CGA
methods with population size less than GA yield better results and accelerate the algorithm Note
that the unsatisfied constraints number with CGA method is less than MGA method
5)
University Time Table Scheduling using Genetic Artificial Immune Network
Antariksha Bhaduri
IEEE-2009
Scheduling is one of the important tasks encountered in real life situations Various scheduling
problems are present like personnel scheduling production
scheduling education time table scheduling etc Educational time table scheduling is a difficult task
because of the many constraints that are needed to be satisfied in order to get a feasible solution
Education time table scheduling problem is known to be NP Hard Hence evolutionary techniques
have been used to solve the time table scheduling problem Methodologies like Genetic Algorithms
(GAs) Evolutionary Algorithms (EAs) etc have been used with mixed success In this paper we
have reviewed the problem of educational time table scheduling and solving it with Genetic
Algorithm We have further solved the problem with a memetic hybrid algorithm Genetic Artificial 18
Immune Network (GAIN) and compare the result with that obtained from GA Results show that
GAIN is able to reach the optimal feasible solution fasterthan that of GA
In this paper we discussed in detail the educational time tabling problem which is basically a
scheduling problem The problem is known to be NP hard and is of very high importance to
educational institutes We discussed in brief the various methods used in solving the time tabling
problem A detailed overview has been provided for previous works for solving this problem with
links to such works with more emphasis on solving the problem using evolutionary algorithms
Then the problem is structured and a chromosomenetwork cell design with genetic operators used
is provided for solving it Finally we solved the problem using Genetic Algorithm and a hybrid
memetic algorithm GAIN and the results are compared Results showed that the memetic
algorithm GAIN greatly coutperforms GA and hence proved to be a very promising algorithm for
solving the time tabling problem
6)
Algorithms of Time table Problem Application and
Performance Evaluation in Course Scheduling
System
Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1
Shandong Polytechnic University Jinan China
E-mail dyfspueducn qbspueducn gwsspueducn
wqzspueducn
Lan Wang Center Hospital Shandong Luneng Group Co Ltd Jinan China
E-mail qiufengdong163com
IEEE-2011
Summary
Tabu search algorithm can accept inferior solutions in the search process the new solution is not
randomly generated in the current field but selected the best solution which the best solution of
probability is more than other solutions Then the search can escape from local optimal solution
and turn to other areas increasing the probability of global optimum solution for local search We
use tabu search to replace the mutation operator The tabu search can get better
individual solutions and be out of local optimum The tabu search is applied to the local search it
can greatly avoid the phenomenon of over-mature for genetic algorithms but it is also unwise to use
tabu search frequently it waste running time In fact we can call the tabu search to replace the
mutation operation in appropriate time So basically all the steps are same but instead of
mutation sometimes tabu search is performed Genetic search algorithm has been validated in the 19
test and achieved good results Genetic search algorithm is a more practical method convergence is
fast and time distributes uniform But in practice conditions may not be terminated the purpose is
to provide different possible solutions in order for users to choose However if the constraint
conditions are too harsh there may be no feasible solution in such case human intervention is
necessary Course scheduling problem is a multidisciplinary hard problems this article attempt
genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and
parameter settings needed to be improved and explored the effect on the algorithm need be
improved in further
7)
An Algorithm to Automatically Generate Schedule for
School Lectures Using a Heuristic Approach
Anirudha Nanda Manisha P Pai and Abhijeet Gole
SUMMARY
In this paper authors have tried to avoid random selection by there point of view
It decreases an overhead of computation when we apply all the proper condition while mapping
teachers with time-room
And if they see any clash the lecture already mapped with that time slot is sent to clash data if that
lecture is not present in output data slot that is if the teacher of that lecture is no available ata that
time
The intention of the algorithm to generate a time-table schedule automatically is satisfied The
algorithm incorporates a number of techniques aimed to improve the efficiency of the search
operation It also addresses the important hard constraint of clashes between the availability of
teachers The non-rigid soft constraints ie optimization objectives for the search operation are also
effectively handled Given the generality of the algorithm operation it can further be adapted to
more specific scenarios eg University examination scheduling and further be enhanced to create
railway time tables Thus through the process of automation of the time-table problem many an-
hours of creating an effective timetable have been reduced eventually The most interesting future
direction in the development of the algorithm lies in its extension to constraint propagation When
there is a value assigned to a variable such assignment can be propagated to unassigned variables to
prohibit all values which come into conflict with the current assignments The information about
such prohibited value
20
8) A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHMSANDEEP SINGH RAWAT and LAKSHMI RAJAMANIYear-2010Journal of Theoretical and Applied Information Technology
SUMMARYThis paper deals with the implementation of a computer program which employs Genetic Algorithms (GAs) in the quest for an optimal class timetable generator The program is written in Java and incorporates a repair strategy for faster evolution This paper also explains an example usage of Genetic Algorithms (GAs) for finding optimal solutions to the problem of Class Timetable It is seen that the GA could be improved by the further incorporation of repair strategies and is readily scalable to the complete timetabling problem The system at present does not take care of other constraints like unavailability of lecturers small size of rooms and time required by the lecturer to move from one class timetable is used at the dept
WHATrsquoS NEWBreeding TimetablesTimetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables A child timetable is bred by performing unity order based crossover on the parents This means that each parent has an equal chance of providing each gene
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
Bharkha Narang Ambika and Rashmi Bansal
Year-2013International Conference on Emerging Trends in Engineering and Management
SUMMARY
This document proposes an optimized technique to automate time table generation system Time table generation system involves various challenging constraints of resources including faculties rooms time slots etc The roposed technique filters out the best of active rules andGenetic algorithm to generate the optimized solution Genetic Algorithm and Active Rules together form a complete sphere for developing a system which needs to satisfy various constraints Active Rules provide ldquoevent-condition-actionrdquo model for the implementation of any rule based system In genetic algorithm every individual are characterized by a fitnessfunction After analysis if there is higher fitness then it means better solution and then after based on their fitness parents are selected to reproduce offspring for a new generation where fitter individuals have more chance to reproduce The objective of the work is to create a model used to generate the acceptable schedule using probabilistic operators
21
10) Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Year -2009
DrGRADHAMANI NIJUPJOSEPH
International Journal of Recent Trends in Engineering
SUMMARYMulti Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set A set of techniques discussed here can be used to enhance searching and retrieving information from an existing fuzzy Knowledge Base (KB) The proposed genetic algorithm tries to be capable of generating solutions from both crisp and fuzzy valued data The search algorithm transforms vague and uncertain data represented as fuzzy sets for accurate solution generation Procedures are proposed which learns from the different available knowledge base for its application on uncertain data In this paper a repeat crossover Genetic Algorithm is formulated for its usage on uncertain data represented as fuzzy sets and it can be implemented for many real world applications
31 Overall description of the project
311 INTRODUCTION
3111)PURPOSE
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only
required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
22
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is
done manually so to help big organisation for there such important task it is important to design a
proper algorithm so that a lot of time can be saved
512) DEFINATION
Timetable Scheduling Problems are particularly challenging for Artificial Intelligence and
Operations Research techniques They are problems of time-based planning and combinatorial
optimization that tend to be solved with a cooperation of search and heuristics which usually lead
to satisfactory but sub-optimal solutions There are many kinds of timetable scheduling problems in
the daily life such as examination lecture transportation timetables In general there are several
common difficulties in these kinds of problems
There exists no deterministic polynomial time algorithm they are computationally NP com-
plete problems
It is very difficult to design effective heuristics Advanced search techniques using various
heuristics to prune the search space will not be guaranteed to find an optimal solution
A general algorithmic approach to a problem may turn out to be inapplicable certain spe-
cial constraints are often required in a particular instance of that problem
Real world timetable scheduling problems often involve constraints that cannot be pre-
cisely represented or even stated
In a timetable-scheduling problem events for example exam subjects must be slotted to certain
times which satisfy several of constraints
Knowledge-based and OR-based approaches to solving such problems are hard to develop are often
slow and can be inflexible because the architecture itself was based on specific assumptions about
23
the nature of the problem Constraint satisfaction techniques have been used to solve hard
constraints however it is more difficult to handle soft constraints such as preferences Most often
people still resort to handcrafted solutions starting from an easier solution and making a sequence of
modifications to cater for changed requirements This typically leads to suboptimal solutions that
bring significant organizational or financial penalties [ 13 developed a Genetic Algorithm (GA)
based timetable system
which has been successfully used by a university
3113) SCOPE
modification of the genetic algorithm by
modified genetic algorithm
coperative genetic algorithm
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
24
3114) OVERVIEW
In the last few years colleges and universities around the world are expanding enrollment in order
to develop more high-quality personnel various countries educational reform is also thorough
unceasingly The essence of course scheduling question is the curriculum the teacher and the
student should be assigned in the appropriate time section to the appropriate classroom It is a multi-
objective scheduling problem which involve more factors and known as the Time table Problem in
operations research (Time table Problem1063384 called TTP) Automated Course Scheduling algorithm
TTP was proved to be NP-complete problem as early as in the 70s The computing time is
exponential increase and integration time and space as dual constraints From classroom (space)
point of view it is similar to the binpacking problem But increased many restraints in the time So it
is a more complex problem than the bin-packing problem We can establish theoretical profundity
from this thesis At present in mathematics did not have an general algorithm to be able to solve the
NP complete problem well Solving the NP complete problem only to be able to depend on the
approximate method many scholars have conducted the research regarding this
3115 Contact informationSRS team members
Vibhanshu wadhwa ( enrol 10503854)
Mrsaurabh k raina (mentor)
312Overall Description
3121) Product perspective
Provide a good algorithm to our audience so that they can generate a helpful time table with
least wastage of their time and recourses
To generate a time table scheduler we have to use heuristic search
Till date most helpful heuristic search has been ldquogenetic algorithmrdquo
We will first define the problem
25
All their constrains soft as well as hard
Our aim is to find a solution which satisfy all the hard constrains for sure and as many soft
constrain as it can in accepatable time and space
Appling heuristic search like genetic algorithm or improved algorihms over genetic al-
gorithm as we have seen earliar
Compare the algorithms
Since it is an NPhard problem and no fully efficient algorithm can be found
As we have learned from the research papers that by using best combination of algorithm
like genetic algorithm(crossover and mutation)
tabu search particle swarm etc
3222 Product functions
Product have many functionalities and wide area for use
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
Efficiently generates timetables so vast number of resources can be utilised
3123)user characteristics
INPUT AND STORAGE program will take all the input from the user and will save it in its
database for all the future computation
26
CREATING RANDOM SOLUTIONS using the above input programby using the appro-
priate algorithm will generate some random solutions
CALCULATING FITTNESS FUNCTION by using the already decided penality program
will calculate the fitness functions of the solutions and will sort them in increasing
APPLYING GENETIC ALGORITHM THROGH MUTATION them by using fitness score
program will apply genetic algorithm or its improved version to create best possible solution
in minimum possible time
SECURITY program will delete all the information of the organisation after creating time-
table and will never upload it publically
EFFICIENCY Program will try to take minimum time and resources
USER-FRIENDLY INTERFACE no knowledge about the software will be required to use
it very straight design
MULTIPLE SOLUTIONS More than 1 acceptable solution will be providedso that organ-
isation can choose out of many solution which one suits them best
Operating environment
27
3124) Designimplementation constraints
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
28
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Simulated annealing
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
Intented audience
Airport management staff Railway management staff Universities Schools Organisation working on time based projects
16 Give tabular comparison of other existing approaches solution to the problem framed
1)Genetic Algorithms vs TabuSearch in Timetable Scheduling
GA provide diverse values of solution
tabu search is faster
GA reaches to global maximaTabu reaches to local naxima
mutation increases the diversitySaving the best solution is helpful
14
3)Timetable Scheduling Using Particle Swarm Optimization
Proved to be better then traditional GA
Converges faster
not compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY TIMETABLE SCHEDULING PROBLEM
Modified genetic algorithm(mga) two sets of chromosomes are made(solu-
tions) 3 chromosomes from set1 are taken They are allowed crossover with all the
chromosomes os set2 This reduce the candidate solution Hence decresce the calculations
Cooperative genetic algorithm Two spicies of chromosomes ( solutions)
are made Three solutions are chosen from each
spicies They are allowed to crossover Calculation decrese But diversity also de-
creases
5)University Time Table Scheduling using Genetic Artificial Immune Network
memetic algorithm GAIN greatly coutperforms GAvery promising algorithm for solving the time tabling problemConverges fasterreaches global maxima
6)Algorithms of Time table Problem Application andPerformance Evaluation in Course SchedulingSystem
GA provide diverse values of solution
GA reaches to global maxima
mutation increases the diversity
Saving the best solution is helpful
all the steps are same but instead of mutation sometimes tabu search is performed
7)An Algorithm to Automatically Generate Schedule forSchool Lectures Using a Heuristic Approach
extension to constraint propagation
some pre constrains can save a lot of computationfitness fuction is improved
8)A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHM
Timetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
The objective of the work is to create a model used to generate the acceptable schedule using 15
probabilistic operators
10)Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Multi Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set
2) Background Study
21) Literature Survey
1)
Genetic Algorithms vs Tabu
Search in Timetable Scheduling
S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application Group
E amp C Dept China Steel Corp Taiwan ROC
IEEE1999
to find the optimum solution throught genetic algorithm through genetic algorithm and tabu
searchboth of them can beat searching like back tracking hands downin this research paper tabu
search performed better than genetic algorithm Still since this was the first paper to tackle
scheduling problem through heuristic search so this have great importance in this major project
2)
Solving Timetable Scheduling Problem
Using Genetic Algorithms
Branimir Sigl Marin Golub Vedran Mornar
Faculty of Electrical Engineering and Computing University of Zagreb
Unska 3 I0000 Zagreb Croatia
IEEE-2003
This paper uses genetic algorithm to solve the time table scheduling problem using 3-d array of
16
day tim and classesand uses crossover and mutation process to optimisethis paper also make huge
improvement over genetic algorithm as shown abovemain difference between this and the above
research paper is the improvement that they did on genetic algorithmstating
The first step of the improved crossover operator simply copies equal genes from parents to the
child individual No additional conflicts can be added through copying those equal values Different
parentrsquos genes are specially marked and delegated for further processing In the second step the
crossover operator checks the list of equations for each marked gene in child individual and counts
the number of potential conflicts generated for both parentrsquos choices The gene from a parent that
generates fewer conflicts is chosen so no additional conflicts are generated in addition to the
conflicts caused by the parents
3)
Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu UniversityJiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University
Here this algorithm chooses 10 -20 random solutions and call them lolal maximarsquosand out of those
20 solutions whichever is the best is called global maxima each of those 20 solutions are changed
by changing 2-3 of their positions that are chosen randomly to find better solutions out of those 20
solutions their best solutions are found and out of them the best is chosen to be global in this way
algorithm have power to come out of local maximarsquos
as compare to genetic algorithm(traditional)algorithm performed better but in this paper it is not
compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVE
UNIVERSITY TIMETABLE SCHEDULING PROBLEM
Sehraneh Ghaemi Mohammad Taghi Vakili Ali Aghagolzadeh
Ghaemi Mvakil Aghagol tabrizuacir
Faculty of Electrical amp Computer Engineering
University Of Tabriz
IEEE-200717
Modified genetic algorithm(mga)
two sets of chromosomes are made(solutions)
3 chromosomes from set1 are taken
They are allowed crossover with all the chromosomes os set2
This reduce the candidate solution
Hence decresce the calculations
Cooperative genetic algorithm
Two spicies of chromosomes ( solutions) are made
Three solutions are chosen from each spicies
They are allowed to crossover
Calculation decrese
But diversity also decreases
This type of chromosome representation needs less number of bits for each gene Therefore
algorithm needs shorter time for running The obtained results show that SX operator in upper
mutation rates and UX and MUX operator in lower mutation rates perform well and MUX operator
is better than others By varying mutation rate during algorithm running better results are achieved
Also Tournament selection operates better than Rank Weighting selection The MGA and CGA
methods with population size less than GA yield better results and accelerate the algorithm Note
that the unsatisfied constraints number with CGA method is less than MGA method
5)
University Time Table Scheduling using Genetic Artificial Immune Network
Antariksha Bhaduri
IEEE-2009
Scheduling is one of the important tasks encountered in real life situations Various scheduling
problems are present like personnel scheduling production
scheduling education time table scheduling etc Educational time table scheduling is a difficult task
because of the many constraints that are needed to be satisfied in order to get a feasible solution
Education time table scheduling problem is known to be NP Hard Hence evolutionary techniques
have been used to solve the time table scheduling problem Methodologies like Genetic Algorithms
(GAs) Evolutionary Algorithms (EAs) etc have been used with mixed success In this paper we
have reviewed the problem of educational time table scheduling and solving it with Genetic
Algorithm We have further solved the problem with a memetic hybrid algorithm Genetic Artificial 18
Immune Network (GAIN) and compare the result with that obtained from GA Results show that
GAIN is able to reach the optimal feasible solution fasterthan that of GA
In this paper we discussed in detail the educational time tabling problem which is basically a
scheduling problem The problem is known to be NP hard and is of very high importance to
educational institutes We discussed in brief the various methods used in solving the time tabling
problem A detailed overview has been provided for previous works for solving this problem with
links to such works with more emphasis on solving the problem using evolutionary algorithms
Then the problem is structured and a chromosomenetwork cell design with genetic operators used
is provided for solving it Finally we solved the problem using Genetic Algorithm and a hybrid
memetic algorithm GAIN and the results are compared Results showed that the memetic
algorithm GAIN greatly coutperforms GA and hence proved to be a very promising algorithm for
solving the time tabling problem
6)
Algorithms of Time table Problem Application and
Performance Evaluation in Course Scheduling
System
Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1
Shandong Polytechnic University Jinan China
E-mail dyfspueducn qbspueducn gwsspueducn
wqzspueducn
Lan Wang Center Hospital Shandong Luneng Group Co Ltd Jinan China
E-mail qiufengdong163com
IEEE-2011
Summary
Tabu search algorithm can accept inferior solutions in the search process the new solution is not
randomly generated in the current field but selected the best solution which the best solution of
probability is more than other solutions Then the search can escape from local optimal solution
and turn to other areas increasing the probability of global optimum solution for local search We
use tabu search to replace the mutation operator The tabu search can get better
individual solutions and be out of local optimum The tabu search is applied to the local search it
can greatly avoid the phenomenon of over-mature for genetic algorithms but it is also unwise to use
tabu search frequently it waste running time In fact we can call the tabu search to replace the
mutation operation in appropriate time So basically all the steps are same but instead of
mutation sometimes tabu search is performed Genetic search algorithm has been validated in the 19
test and achieved good results Genetic search algorithm is a more practical method convergence is
fast and time distributes uniform But in practice conditions may not be terminated the purpose is
to provide different possible solutions in order for users to choose However if the constraint
conditions are too harsh there may be no feasible solution in such case human intervention is
necessary Course scheduling problem is a multidisciplinary hard problems this article attempt
genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and
parameter settings needed to be improved and explored the effect on the algorithm need be
improved in further
7)
An Algorithm to Automatically Generate Schedule for
School Lectures Using a Heuristic Approach
Anirudha Nanda Manisha P Pai and Abhijeet Gole
SUMMARY
In this paper authors have tried to avoid random selection by there point of view
It decreases an overhead of computation when we apply all the proper condition while mapping
teachers with time-room
And if they see any clash the lecture already mapped with that time slot is sent to clash data if that
lecture is not present in output data slot that is if the teacher of that lecture is no available ata that
time
The intention of the algorithm to generate a time-table schedule automatically is satisfied The
algorithm incorporates a number of techniques aimed to improve the efficiency of the search
operation It also addresses the important hard constraint of clashes between the availability of
teachers The non-rigid soft constraints ie optimization objectives for the search operation are also
effectively handled Given the generality of the algorithm operation it can further be adapted to
more specific scenarios eg University examination scheduling and further be enhanced to create
railway time tables Thus through the process of automation of the time-table problem many an-
hours of creating an effective timetable have been reduced eventually The most interesting future
direction in the development of the algorithm lies in its extension to constraint propagation When
there is a value assigned to a variable such assignment can be propagated to unassigned variables to
prohibit all values which come into conflict with the current assignments The information about
such prohibited value
20
8) A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHMSANDEEP SINGH RAWAT and LAKSHMI RAJAMANIYear-2010Journal of Theoretical and Applied Information Technology
SUMMARYThis paper deals with the implementation of a computer program which employs Genetic Algorithms (GAs) in the quest for an optimal class timetable generator The program is written in Java and incorporates a repair strategy for faster evolution This paper also explains an example usage of Genetic Algorithms (GAs) for finding optimal solutions to the problem of Class Timetable It is seen that the GA could be improved by the further incorporation of repair strategies and is readily scalable to the complete timetabling problem The system at present does not take care of other constraints like unavailability of lecturers small size of rooms and time required by the lecturer to move from one class timetable is used at the dept
WHATrsquoS NEWBreeding TimetablesTimetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables A child timetable is bred by performing unity order based crossover on the parents This means that each parent has an equal chance of providing each gene
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
Bharkha Narang Ambika and Rashmi Bansal
Year-2013International Conference on Emerging Trends in Engineering and Management
SUMMARY
This document proposes an optimized technique to automate time table generation system Time table generation system involves various challenging constraints of resources including faculties rooms time slots etc The roposed technique filters out the best of active rules andGenetic algorithm to generate the optimized solution Genetic Algorithm and Active Rules together form a complete sphere for developing a system which needs to satisfy various constraints Active Rules provide ldquoevent-condition-actionrdquo model for the implementation of any rule based system In genetic algorithm every individual are characterized by a fitnessfunction After analysis if there is higher fitness then it means better solution and then after based on their fitness parents are selected to reproduce offspring for a new generation where fitter individuals have more chance to reproduce The objective of the work is to create a model used to generate the acceptable schedule using probabilistic operators
21
10) Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Year -2009
DrGRADHAMANI NIJUPJOSEPH
International Journal of Recent Trends in Engineering
SUMMARYMulti Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set A set of techniques discussed here can be used to enhance searching and retrieving information from an existing fuzzy Knowledge Base (KB) The proposed genetic algorithm tries to be capable of generating solutions from both crisp and fuzzy valued data The search algorithm transforms vague and uncertain data represented as fuzzy sets for accurate solution generation Procedures are proposed which learns from the different available knowledge base for its application on uncertain data In this paper a repeat crossover Genetic Algorithm is formulated for its usage on uncertain data represented as fuzzy sets and it can be implemented for many real world applications
31 Overall description of the project
311 INTRODUCTION
3111)PURPOSE
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only
required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
22
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is
done manually so to help big organisation for there such important task it is important to design a
proper algorithm so that a lot of time can be saved
512) DEFINATION
Timetable Scheduling Problems are particularly challenging for Artificial Intelligence and
Operations Research techniques They are problems of time-based planning and combinatorial
optimization that tend to be solved with a cooperation of search and heuristics which usually lead
to satisfactory but sub-optimal solutions There are many kinds of timetable scheduling problems in
the daily life such as examination lecture transportation timetables In general there are several
common difficulties in these kinds of problems
There exists no deterministic polynomial time algorithm they are computationally NP com-
plete problems
It is very difficult to design effective heuristics Advanced search techniques using various
heuristics to prune the search space will not be guaranteed to find an optimal solution
A general algorithmic approach to a problem may turn out to be inapplicable certain spe-
cial constraints are often required in a particular instance of that problem
Real world timetable scheduling problems often involve constraints that cannot be pre-
cisely represented or even stated
In a timetable-scheduling problem events for example exam subjects must be slotted to certain
times which satisfy several of constraints
Knowledge-based and OR-based approaches to solving such problems are hard to develop are often
slow and can be inflexible because the architecture itself was based on specific assumptions about
23
the nature of the problem Constraint satisfaction techniques have been used to solve hard
constraints however it is more difficult to handle soft constraints such as preferences Most often
people still resort to handcrafted solutions starting from an easier solution and making a sequence of
modifications to cater for changed requirements This typically leads to suboptimal solutions that
bring significant organizational or financial penalties [ 13 developed a Genetic Algorithm (GA)
based timetable system
which has been successfully used by a university
3113) SCOPE
modification of the genetic algorithm by
modified genetic algorithm
coperative genetic algorithm
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
24
3114) OVERVIEW
In the last few years colleges and universities around the world are expanding enrollment in order
to develop more high-quality personnel various countries educational reform is also thorough
unceasingly The essence of course scheduling question is the curriculum the teacher and the
student should be assigned in the appropriate time section to the appropriate classroom It is a multi-
objective scheduling problem which involve more factors and known as the Time table Problem in
operations research (Time table Problem1063384 called TTP) Automated Course Scheduling algorithm
TTP was proved to be NP-complete problem as early as in the 70s The computing time is
exponential increase and integration time and space as dual constraints From classroom (space)
point of view it is similar to the binpacking problem But increased many restraints in the time So it
is a more complex problem than the bin-packing problem We can establish theoretical profundity
from this thesis At present in mathematics did not have an general algorithm to be able to solve the
NP complete problem well Solving the NP complete problem only to be able to depend on the
approximate method many scholars have conducted the research regarding this
3115 Contact informationSRS team members
Vibhanshu wadhwa ( enrol 10503854)
Mrsaurabh k raina (mentor)
312Overall Description
3121) Product perspective
Provide a good algorithm to our audience so that they can generate a helpful time table with
least wastage of their time and recourses
To generate a time table scheduler we have to use heuristic search
Till date most helpful heuristic search has been ldquogenetic algorithmrdquo
We will first define the problem
25
All their constrains soft as well as hard
Our aim is to find a solution which satisfy all the hard constrains for sure and as many soft
constrain as it can in accepatable time and space
Appling heuristic search like genetic algorithm or improved algorihms over genetic al-
gorithm as we have seen earliar
Compare the algorithms
Since it is an NPhard problem and no fully efficient algorithm can be found
As we have learned from the research papers that by using best combination of algorithm
like genetic algorithm(crossover and mutation)
tabu search particle swarm etc
3222 Product functions
Product have many functionalities and wide area for use
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
Efficiently generates timetables so vast number of resources can be utilised
3123)user characteristics
INPUT AND STORAGE program will take all the input from the user and will save it in its
database for all the future computation
26
CREATING RANDOM SOLUTIONS using the above input programby using the appro-
priate algorithm will generate some random solutions
CALCULATING FITTNESS FUNCTION by using the already decided penality program
will calculate the fitness functions of the solutions and will sort them in increasing
APPLYING GENETIC ALGORITHM THROGH MUTATION them by using fitness score
program will apply genetic algorithm or its improved version to create best possible solution
in minimum possible time
SECURITY program will delete all the information of the organisation after creating time-
table and will never upload it publically
EFFICIENCY Program will try to take minimum time and resources
USER-FRIENDLY INTERFACE no knowledge about the software will be required to use
it very straight design
MULTIPLE SOLUTIONS More than 1 acceptable solution will be providedso that organ-
isation can choose out of many solution which one suits them best
Operating environment
27
3124) Designimplementation constraints
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
28
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
3)Timetable Scheduling Using Particle Swarm Optimization
Proved to be better then traditional GA
Converges faster
not compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY TIMETABLE SCHEDULING PROBLEM
Modified genetic algorithm(mga) two sets of chromosomes are made(solu-
tions) 3 chromosomes from set1 are taken They are allowed crossover with all the
chromosomes os set2 This reduce the candidate solution Hence decresce the calculations
Cooperative genetic algorithm Two spicies of chromosomes ( solutions)
are made Three solutions are chosen from each
spicies They are allowed to crossover Calculation decrese But diversity also de-
creases
5)University Time Table Scheduling using Genetic Artificial Immune Network
memetic algorithm GAIN greatly coutperforms GAvery promising algorithm for solving the time tabling problemConverges fasterreaches global maxima
6)Algorithms of Time table Problem Application andPerformance Evaluation in Course SchedulingSystem
GA provide diverse values of solution
GA reaches to global maxima
mutation increases the diversity
Saving the best solution is helpful
all the steps are same but instead of mutation sometimes tabu search is performed
7)An Algorithm to Automatically Generate Schedule forSchool Lectures Using a Heuristic Approach
extension to constraint propagation
some pre constrains can save a lot of computationfitness fuction is improved
8)A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHM
Timetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
The objective of the work is to create a model used to generate the acceptable schedule using 15
probabilistic operators
10)Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Multi Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set
2) Background Study
21) Literature Survey
1)
Genetic Algorithms vs Tabu
Search in Timetable Scheduling
S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application Group
E amp C Dept China Steel Corp Taiwan ROC
IEEE1999
to find the optimum solution throught genetic algorithm through genetic algorithm and tabu
searchboth of them can beat searching like back tracking hands downin this research paper tabu
search performed better than genetic algorithm Still since this was the first paper to tackle
scheduling problem through heuristic search so this have great importance in this major project
2)
Solving Timetable Scheduling Problem
Using Genetic Algorithms
Branimir Sigl Marin Golub Vedran Mornar
Faculty of Electrical Engineering and Computing University of Zagreb
Unska 3 I0000 Zagreb Croatia
IEEE-2003
This paper uses genetic algorithm to solve the time table scheduling problem using 3-d array of
16
day tim and classesand uses crossover and mutation process to optimisethis paper also make huge
improvement over genetic algorithm as shown abovemain difference between this and the above
research paper is the improvement that they did on genetic algorithmstating
The first step of the improved crossover operator simply copies equal genes from parents to the
child individual No additional conflicts can be added through copying those equal values Different
parentrsquos genes are specially marked and delegated for further processing In the second step the
crossover operator checks the list of equations for each marked gene in child individual and counts
the number of potential conflicts generated for both parentrsquos choices The gene from a parent that
generates fewer conflicts is chosen so no additional conflicts are generated in addition to the
conflicts caused by the parents
3)
Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu UniversityJiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University
Here this algorithm chooses 10 -20 random solutions and call them lolal maximarsquosand out of those
20 solutions whichever is the best is called global maxima each of those 20 solutions are changed
by changing 2-3 of their positions that are chosen randomly to find better solutions out of those 20
solutions their best solutions are found and out of them the best is chosen to be global in this way
algorithm have power to come out of local maximarsquos
as compare to genetic algorithm(traditional)algorithm performed better but in this paper it is not
compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVE
UNIVERSITY TIMETABLE SCHEDULING PROBLEM
Sehraneh Ghaemi Mohammad Taghi Vakili Ali Aghagolzadeh
Ghaemi Mvakil Aghagol tabrizuacir
Faculty of Electrical amp Computer Engineering
University Of Tabriz
IEEE-200717
Modified genetic algorithm(mga)
two sets of chromosomes are made(solutions)
3 chromosomes from set1 are taken
They are allowed crossover with all the chromosomes os set2
This reduce the candidate solution
Hence decresce the calculations
Cooperative genetic algorithm
Two spicies of chromosomes ( solutions) are made
Three solutions are chosen from each spicies
They are allowed to crossover
Calculation decrese
But diversity also decreases
This type of chromosome representation needs less number of bits for each gene Therefore
algorithm needs shorter time for running The obtained results show that SX operator in upper
mutation rates and UX and MUX operator in lower mutation rates perform well and MUX operator
is better than others By varying mutation rate during algorithm running better results are achieved
Also Tournament selection operates better than Rank Weighting selection The MGA and CGA
methods with population size less than GA yield better results and accelerate the algorithm Note
that the unsatisfied constraints number with CGA method is less than MGA method
5)
University Time Table Scheduling using Genetic Artificial Immune Network
Antariksha Bhaduri
IEEE-2009
Scheduling is one of the important tasks encountered in real life situations Various scheduling
problems are present like personnel scheduling production
scheduling education time table scheduling etc Educational time table scheduling is a difficult task
because of the many constraints that are needed to be satisfied in order to get a feasible solution
Education time table scheduling problem is known to be NP Hard Hence evolutionary techniques
have been used to solve the time table scheduling problem Methodologies like Genetic Algorithms
(GAs) Evolutionary Algorithms (EAs) etc have been used with mixed success In this paper we
have reviewed the problem of educational time table scheduling and solving it with Genetic
Algorithm We have further solved the problem with a memetic hybrid algorithm Genetic Artificial 18
Immune Network (GAIN) and compare the result with that obtained from GA Results show that
GAIN is able to reach the optimal feasible solution fasterthan that of GA
In this paper we discussed in detail the educational time tabling problem which is basically a
scheduling problem The problem is known to be NP hard and is of very high importance to
educational institutes We discussed in brief the various methods used in solving the time tabling
problem A detailed overview has been provided for previous works for solving this problem with
links to such works with more emphasis on solving the problem using evolutionary algorithms
Then the problem is structured and a chromosomenetwork cell design with genetic operators used
is provided for solving it Finally we solved the problem using Genetic Algorithm and a hybrid
memetic algorithm GAIN and the results are compared Results showed that the memetic
algorithm GAIN greatly coutperforms GA and hence proved to be a very promising algorithm for
solving the time tabling problem
6)
Algorithms of Time table Problem Application and
Performance Evaluation in Course Scheduling
System
Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1
Shandong Polytechnic University Jinan China
E-mail dyfspueducn qbspueducn gwsspueducn
wqzspueducn
Lan Wang Center Hospital Shandong Luneng Group Co Ltd Jinan China
E-mail qiufengdong163com
IEEE-2011
Summary
Tabu search algorithm can accept inferior solutions in the search process the new solution is not
randomly generated in the current field but selected the best solution which the best solution of
probability is more than other solutions Then the search can escape from local optimal solution
and turn to other areas increasing the probability of global optimum solution for local search We
use tabu search to replace the mutation operator The tabu search can get better
individual solutions and be out of local optimum The tabu search is applied to the local search it
can greatly avoid the phenomenon of over-mature for genetic algorithms but it is also unwise to use
tabu search frequently it waste running time In fact we can call the tabu search to replace the
mutation operation in appropriate time So basically all the steps are same but instead of
mutation sometimes tabu search is performed Genetic search algorithm has been validated in the 19
test and achieved good results Genetic search algorithm is a more practical method convergence is
fast and time distributes uniform But in practice conditions may not be terminated the purpose is
to provide different possible solutions in order for users to choose However if the constraint
conditions are too harsh there may be no feasible solution in such case human intervention is
necessary Course scheduling problem is a multidisciplinary hard problems this article attempt
genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and
parameter settings needed to be improved and explored the effect on the algorithm need be
improved in further
7)
An Algorithm to Automatically Generate Schedule for
School Lectures Using a Heuristic Approach
Anirudha Nanda Manisha P Pai and Abhijeet Gole
SUMMARY
In this paper authors have tried to avoid random selection by there point of view
It decreases an overhead of computation when we apply all the proper condition while mapping
teachers with time-room
And if they see any clash the lecture already mapped with that time slot is sent to clash data if that
lecture is not present in output data slot that is if the teacher of that lecture is no available ata that
time
The intention of the algorithm to generate a time-table schedule automatically is satisfied The
algorithm incorporates a number of techniques aimed to improve the efficiency of the search
operation It also addresses the important hard constraint of clashes between the availability of
teachers The non-rigid soft constraints ie optimization objectives for the search operation are also
effectively handled Given the generality of the algorithm operation it can further be adapted to
more specific scenarios eg University examination scheduling and further be enhanced to create
railway time tables Thus through the process of automation of the time-table problem many an-
hours of creating an effective timetable have been reduced eventually The most interesting future
direction in the development of the algorithm lies in its extension to constraint propagation When
there is a value assigned to a variable such assignment can be propagated to unassigned variables to
prohibit all values which come into conflict with the current assignments The information about
such prohibited value
20
8) A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHMSANDEEP SINGH RAWAT and LAKSHMI RAJAMANIYear-2010Journal of Theoretical and Applied Information Technology
SUMMARYThis paper deals with the implementation of a computer program which employs Genetic Algorithms (GAs) in the quest for an optimal class timetable generator The program is written in Java and incorporates a repair strategy for faster evolution This paper also explains an example usage of Genetic Algorithms (GAs) for finding optimal solutions to the problem of Class Timetable It is seen that the GA could be improved by the further incorporation of repair strategies and is readily scalable to the complete timetabling problem The system at present does not take care of other constraints like unavailability of lecturers small size of rooms and time required by the lecturer to move from one class timetable is used at the dept
WHATrsquoS NEWBreeding TimetablesTimetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables A child timetable is bred by performing unity order based crossover on the parents This means that each parent has an equal chance of providing each gene
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
Bharkha Narang Ambika and Rashmi Bansal
Year-2013International Conference on Emerging Trends in Engineering and Management
SUMMARY
This document proposes an optimized technique to automate time table generation system Time table generation system involves various challenging constraints of resources including faculties rooms time slots etc The roposed technique filters out the best of active rules andGenetic algorithm to generate the optimized solution Genetic Algorithm and Active Rules together form a complete sphere for developing a system which needs to satisfy various constraints Active Rules provide ldquoevent-condition-actionrdquo model for the implementation of any rule based system In genetic algorithm every individual are characterized by a fitnessfunction After analysis if there is higher fitness then it means better solution and then after based on their fitness parents are selected to reproduce offspring for a new generation where fitter individuals have more chance to reproduce The objective of the work is to create a model used to generate the acceptable schedule using probabilistic operators
21
10) Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Year -2009
DrGRADHAMANI NIJUPJOSEPH
International Journal of Recent Trends in Engineering
SUMMARYMulti Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set A set of techniques discussed here can be used to enhance searching and retrieving information from an existing fuzzy Knowledge Base (KB) The proposed genetic algorithm tries to be capable of generating solutions from both crisp and fuzzy valued data The search algorithm transforms vague and uncertain data represented as fuzzy sets for accurate solution generation Procedures are proposed which learns from the different available knowledge base for its application on uncertain data In this paper a repeat crossover Genetic Algorithm is formulated for its usage on uncertain data represented as fuzzy sets and it can be implemented for many real world applications
31 Overall description of the project
311 INTRODUCTION
3111)PURPOSE
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only
required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
22
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is
done manually so to help big organisation for there such important task it is important to design a
proper algorithm so that a lot of time can be saved
512) DEFINATION
Timetable Scheduling Problems are particularly challenging for Artificial Intelligence and
Operations Research techniques They are problems of time-based planning and combinatorial
optimization that tend to be solved with a cooperation of search and heuristics which usually lead
to satisfactory but sub-optimal solutions There are many kinds of timetable scheduling problems in
the daily life such as examination lecture transportation timetables In general there are several
common difficulties in these kinds of problems
There exists no deterministic polynomial time algorithm they are computationally NP com-
plete problems
It is very difficult to design effective heuristics Advanced search techniques using various
heuristics to prune the search space will not be guaranteed to find an optimal solution
A general algorithmic approach to a problem may turn out to be inapplicable certain spe-
cial constraints are often required in a particular instance of that problem
Real world timetable scheduling problems often involve constraints that cannot be pre-
cisely represented or even stated
In a timetable-scheduling problem events for example exam subjects must be slotted to certain
times which satisfy several of constraints
Knowledge-based and OR-based approaches to solving such problems are hard to develop are often
slow and can be inflexible because the architecture itself was based on specific assumptions about
23
the nature of the problem Constraint satisfaction techniques have been used to solve hard
constraints however it is more difficult to handle soft constraints such as preferences Most often
people still resort to handcrafted solutions starting from an easier solution and making a sequence of
modifications to cater for changed requirements This typically leads to suboptimal solutions that
bring significant organizational or financial penalties [ 13 developed a Genetic Algorithm (GA)
based timetable system
which has been successfully used by a university
3113) SCOPE
modification of the genetic algorithm by
modified genetic algorithm
coperative genetic algorithm
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
24
3114) OVERVIEW
In the last few years colleges and universities around the world are expanding enrollment in order
to develop more high-quality personnel various countries educational reform is also thorough
unceasingly The essence of course scheduling question is the curriculum the teacher and the
student should be assigned in the appropriate time section to the appropriate classroom It is a multi-
objective scheduling problem which involve more factors and known as the Time table Problem in
operations research (Time table Problem1063384 called TTP) Automated Course Scheduling algorithm
TTP was proved to be NP-complete problem as early as in the 70s The computing time is
exponential increase and integration time and space as dual constraints From classroom (space)
point of view it is similar to the binpacking problem But increased many restraints in the time So it
is a more complex problem than the bin-packing problem We can establish theoretical profundity
from this thesis At present in mathematics did not have an general algorithm to be able to solve the
NP complete problem well Solving the NP complete problem only to be able to depend on the
approximate method many scholars have conducted the research regarding this
3115 Contact informationSRS team members
Vibhanshu wadhwa ( enrol 10503854)
Mrsaurabh k raina (mentor)
312Overall Description
3121) Product perspective
Provide a good algorithm to our audience so that they can generate a helpful time table with
least wastage of their time and recourses
To generate a time table scheduler we have to use heuristic search
Till date most helpful heuristic search has been ldquogenetic algorithmrdquo
We will first define the problem
25
All their constrains soft as well as hard
Our aim is to find a solution which satisfy all the hard constrains for sure and as many soft
constrain as it can in accepatable time and space
Appling heuristic search like genetic algorithm or improved algorihms over genetic al-
gorithm as we have seen earliar
Compare the algorithms
Since it is an NPhard problem and no fully efficient algorithm can be found
As we have learned from the research papers that by using best combination of algorithm
like genetic algorithm(crossover and mutation)
tabu search particle swarm etc
3222 Product functions
Product have many functionalities and wide area for use
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
Efficiently generates timetables so vast number of resources can be utilised
3123)user characteristics
INPUT AND STORAGE program will take all the input from the user and will save it in its
database for all the future computation
26
CREATING RANDOM SOLUTIONS using the above input programby using the appro-
priate algorithm will generate some random solutions
CALCULATING FITTNESS FUNCTION by using the already decided penality program
will calculate the fitness functions of the solutions and will sort them in increasing
APPLYING GENETIC ALGORITHM THROGH MUTATION them by using fitness score
program will apply genetic algorithm or its improved version to create best possible solution
in minimum possible time
SECURITY program will delete all the information of the organisation after creating time-
table and will never upload it publically
EFFICIENCY Program will try to take minimum time and resources
USER-FRIENDLY INTERFACE no knowledge about the software will be required to use
it very straight design
MULTIPLE SOLUTIONS More than 1 acceptable solution will be providedso that organ-
isation can choose out of many solution which one suits them best
Operating environment
27
3124) Designimplementation constraints
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
28
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
probabilistic operators
10)Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Multi Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set
2) Background Study
21) Literature Survey
1)
Genetic Algorithms vs Tabu
Search in Timetable Scheduling
S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application Group
E amp C Dept China Steel Corp Taiwan ROC
IEEE1999
to find the optimum solution throught genetic algorithm through genetic algorithm and tabu
searchboth of them can beat searching like back tracking hands downin this research paper tabu
search performed better than genetic algorithm Still since this was the first paper to tackle
scheduling problem through heuristic search so this have great importance in this major project
2)
Solving Timetable Scheduling Problem
Using Genetic Algorithms
Branimir Sigl Marin Golub Vedran Mornar
Faculty of Electrical Engineering and Computing University of Zagreb
Unska 3 I0000 Zagreb Croatia
IEEE-2003
This paper uses genetic algorithm to solve the time table scheduling problem using 3-d array of
16
day tim and classesand uses crossover and mutation process to optimisethis paper also make huge
improvement over genetic algorithm as shown abovemain difference between this and the above
research paper is the improvement that they did on genetic algorithmstating
The first step of the improved crossover operator simply copies equal genes from parents to the
child individual No additional conflicts can be added through copying those equal values Different
parentrsquos genes are specially marked and delegated for further processing In the second step the
crossover operator checks the list of equations for each marked gene in child individual and counts
the number of potential conflicts generated for both parentrsquos choices The gene from a parent that
generates fewer conflicts is chosen so no additional conflicts are generated in addition to the
conflicts caused by the parents
3)
Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu UniversityJiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University
Here this algorithm chooses 10 -20 random solutions and call them lolal maximarsquosand out of those
20 solutions whichever is the best is called global maxima each of those 20 solutions are changed
by changing 2-3 of their positions that are chosen randomly to find better solutions out of those 20
solutions their best solutions are found and out of them the best is chosen to be global in this way
algorithm have power to come out of local maximarsquos
as compare to genetic algorithm(traditional)algorithm performed better but in this paper it is not
compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVE
UNIVERSITY TIMETABLE SCHEDULING PROBLEM
Sehraneh Ghaemi Mohammad Taghi Vakili Ali Aghagolzadeh
Ghaemi Mvakil Aghagol tabrizuacir
Faculty of Electrical amp Computer Engineering
University Of Tabriz
IEEE-200717
Modified genetic algorithm(mga)
two sets of chromosomes are made(solutions)
3 chromosomes from set1 are taken
They are allowed crossover with all the chromosomes os set2
This reduce the candidate solution
Hence decresce the calculations
Cooperative genetic algorithm
Two spicies of chromosomes ( solutions) are made
Three solutions are chosen from each spicies
They are allowed to crossover
Calculation decrese
But diversity also decreases
This type of chromosome representation needs less number of bits for each gene Therefore
algorithm needs shorter time for running The obtained results show that SX operator in upper
mutation rates and UX and MUX operator in lower mutation rates perform well and MUX operator
is better than others By varying mutation rate during algorithm running better results are achieved
Also Tournament selection operates better than Rank Weighting selection The MGA and CGA
methods with population size less than GA yield better results and accelerate the algorithm Note
that the unsatisfied constraints number with CGA method is less than MGA method
5)
University Time Table Scheduling using Genetic Artificial Immune Network
Antariksha Bhaduri
IEEE-2009
Scheduling is one of the important tasks encountered in real life situations Various scheduling
problems are present like personnel scheduling production
scheduling education time table scheduling etc Educational time table scheduling is a difficult task
because of the many constraints that are needed to be satisfied in order to get a feasible solution
Education time table scheduling problem is known to be NP Hard Hence evolutionary techniques
have been used to solve the time table scheduling problem Methodologies like Genetic Algorithms
(GAs) Evolutionary Algorithms (EAs) etc have been used with mixed success In this paper we
have reviewed the problem of educational time table scheduling and solving it with Genetic
Algorithm We have further solved the problem with a memetic hybrid algorithm Genetic Artificial 18
Immune Network (GAIN) and compare the result with that obtained from GA Results show that
GAIN is able to reach the optimal feasible solution fasterthan that of GA
In this paper we discussed in detail the educational time tabling problem which is basically a
scheduling problem The problem is known to be NP hard and is of very high importance to
educational institutes We discussed in brief the various methods used in solving the time tabling
problem A detailed overview has been provided for previous works for solving this problem with
links to such works with more emphasis on solving the problem using evolutionary algorithms
Then the problem is structured and a chromosomenetwork cell design with genetic operators used
is provided for solving it Finally we solved the problem using Genetic Algorithm and a hybrid
memetic algorithm GAIN and the results are compared Results showed that the memetic
algorithm GAIN greatly coutperforms GA and hence proved to be a very promising algorithm for
solving the time tabling problem
6)
Algorithms of Time table Problem Application and
Performance Evaluation in Course Scheduling
System
Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1
Shandong Polytechnic University Jinan China
E-mail dyfspueducn qbspueducn gwsspueducn
wqzspueducn
Lan Wang Center Hospital Shandong Luneng Group Co Ltd Jinan China
E-mail qiufengdong163com
IEEE-2011
Summary
Tabu search algorithm can accept inferior solutions in the search process the new solution is not
randomly generated in the current field but selected the best solution which the best solution of
probability is more than other solutions Then the search can escape from local optimal solution
and turn to other areas increasing the probability of global optimum solution for local search We
use tabu search to replace the mutation operator The tabu search can get better
individual solutions and be out of local optimum The tabu search is applied to the local search it
can greatly avoid the phenomenon of over-mature for genetic algorithms but it is also unwise to use
tabu search frequently it waste running time In fact we can call the tabu search to replace the
mutation operation in appropriate time So basically all the steps are same but instead of
mutation sometimes tabu search is performed Genetic search algorithm has been validated in the 19
test and achieved good results Genetic search algorithm is a more practical method convergence is
fast and time distributes uniform But in practice conditions may not be terminated the purpose is
to provide different possible solutions in order for users to choose However if the constraint
conditions are too harsh there may be no feasible solution in such case human intervention is
necessary Course scheduling problem is a multidisciplinary hard problems this article attempt
genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and
parameter settings needed to be improved and explored the effect on the algorithm need be
improved in further
7)
An Algorithm to Automatically Generate Schedule for
School Lectures Using a Heuristic Approach
Anirudha Nanda Manisha P Pai and Abhijeet Gole
SUMMARY
In this paper authors have tried to avoid random selection by there point of view
It decreases an overhead of computation when we apply all the proper condition while mapping
teachers with time-room
And if they see any clash the lecture already mapped with that time slot is sent to clash data if that
lecture is not present in output data slot that is if the teacher of that lecture is no available ata that
time
The intention of the algorithm to generate a time-table schedule automatically is satisfied The
algorithm incorporates a number of techniques aimed to improve the efficiency of the search
operation It also addresses the important hard constraint of clashes between the availability of
teachers The non-rigid soft constraints ie optimization objectives for the search operation are also
effectively handled Given the generality of the algorithm operation it can further be adapted to
more specific scenarios eg University examination scheduling and further be enhanced to create
railway time tables Thus through the process of automation of the time-table problem many an-
hours of creating an effective timetable have been reduced eventually The most interesting future
direction in the development of the algorithm lies in its extension to constraint propagation When
there is a value assigned to a variable such assignment can be propagated to unassigned variables to
prohibit all values which come into conflict with the current assignments The information about
such prohibited value
20
8) A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHMSANDEEP SINGH RAWAT and LAKSHMI RAJAMANIYear-2010Journal of Theoretical and Applied Information Technology
SUMMARYThis paper deals with the implementation of a computer program which employs Genetic Algorithms (GAs) in the quest for an optimal class timetable generator The program is written in Java and incorporates a repair strategy for faster evolution This paper also explains an example usage of Genetic Algorithms (GAs) for finding optimal solutions to the problem of Class Timetable It is seen that the GA could be improved by the further incorporation of repair strategies and is readily scalable to the complete timetabling problem The system at present does not take care of other constraints like unavailability of lecturers small size of rooms and time required by the lecturer to move from one class timetable is used at the dept
WHATrsquoS NEWBreeding TimetablesTimetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables A child timetable is bred by performing unity order based crossover on the parents This means that each parent has an equal chance of providing each gene
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
Bharkha Narang Ambika and Rashmi Bansal
Year-2013International Conference on Emerging Trends in Engineering and Management
SUMMARY
This document proposes an optimized technique to automate time table generation system Time table generation system involves various challenging constraints of resources including faculties rooms time slots etc The roposed technique filters out the best of active rules andGenetic algorithm to generate the optimized solution Genetic Algorithm and Active Rules together form a complete sphere for developing a system which needs to satisfy various constraints Active Rules provide ldquoevent-condition-actionrdquo model for the implementation of any rule based system In genetic algorithm every individual are characterized by a fitnessfunction After analysis if there is higher fitness then it means better solution and then after based on their fitness parents are selected to reproduce offspring for a new generation where fitter individuals have more chance to reproduce The objective of the work is to create a model used to generate the acceptable schedule using probabilistic operators
21
10) Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Year -2009
DrGRADHAMANI NIJUPJOSEPH
International Journal of Recent Trends in Engineering
SUMMARYMulti Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set A set of techniques discussed here can be used to enhance searching and retrieving information from an existing fuzzy Knowledge Base (KB) The proposed genetic algorithm tries to be capable of generating solutions from both crisp and fuzzy valued data The search algorithm transforms vague and uncertain data represented as fuzzy sets for accurate solution generation Procedures are proposed which learns from the different available knowledge base for its application on uncertain data In this paper a repeat crossover Genetic Algorithm is formulated for its usage on uncertain data represented as fuzzy sets and it can be implemented for many real world applications
31 Overall description of the project
311 INTRODUCTION
3111)PURPOSE
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only
required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
22
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is
done manually so to help big organisation for there such important task it is important to design a
proper algorithm so that a lot of time can be saved
512) DEFINATION
Timetable Scheduling Problems are particularly challenging for Artificial Intelligence and
Operations Research techniques They are problems of time-based planning and combinatorial
optimization that tend to be solved with a cooperation of search and heuristics which usually lead
to satisfactory but sub-optimal solutions There are many kinds of timetable scheduling problems in
the daily life such as examination lecture transportation timetables In general there are several
common difficulties in these kinds of problems
There exists no deterministic polynomial time algorithm they are computationally NP com-
plete problems
It is very difficult to design effective heuristics Advanced search techniques using various
heuristics to prune the search space will not be guaranteed to find an optimal solution
A general algorithmic approach to a problem may turn out to be inapplicable certain spe-
cial constraints are often required in a particular instance of that problem
Real world timetable scheduling problems often involve constraints that cannot be pre-
cisely represented or even stated
In a timetable-scheduling problem events for example exam subjects must be slotted to certain
times which satisfy several of constraints
Knowledge-based and OR-based approaches to solving such problems are hard to develop are often
slow and can be inflexible because the architecture itself was based on specific assumptions about
23
the nature of the problem Constraint satisfaction techniques have been used to solve hard
constraints however it is more difficult to handle soft constraints such as preferences Most often
people still resort to handcrafted solutions starting from an easier solution and making a sequence of
modifications to cater for changed requirements This typically leads to suboptimal solutions that
bring significant organizational or financial penalties [ 13 developed a Genetic Algorithm (GA)
based timetable system
which has been successfully used by a university
3113) SCOPE
modification of the genetic algorithm by
modified genetic algorithm
coperative genetic algorithm
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
24
3114) OVERVIEW
In the last few years colleges and universities around the world are expanding enrollment in order
to develop more high-quality personnel various countries educational reform is also thorough
unceasingly The essence of course scheduling question is the curriculum the teacher and the
student should be assigned in the appropriate time section to the appropriate classroom It is a multi-
objective scheduling problem which involve more factors and known as the Time table Problem in
operations research (Time table Problem1063384 called TTP) Automated Course Scheduling algorithm
TTP was proved to be NP-complete problem as early as in the 70s The computing time is
exponential increase and integration time and space as dual constraints From classroom (space)
point of view it is similar to the binpacking problem But increased many restraints in the time So it
is a more complex problem than the bin-packing problem We can establish theoretical profundity
from this thesis At present in mathematics did not have an general algorithm to be able to solve the
NP complete problem well Solving the NP complete problem only to be able to depend on the
approximate method many scholars have conducted the research regarding this
3115 Contact informationSRS team members
Vibhanshu wadhwa ( enrol 10503854)
Mrsaurabh k raina (mentor)
312Overall Description
3121) Product perspective
Provide a good algorithm to our audience so that they can generate a helpful time table with
least wastage of their time and recourses
To generate a time table scheduler we have to use heuristic search
Till date most helpful heuristic search has been ldquogenetic algorithmrdquo
We will first define the problem
25
All their constrains soft as well as hard
Our aim is to find a solution which satisfy all the hard constrains for sure and as many soft
constrain as it can in accepatable time and space
Appling heuristic search like genetic algorithm or improved algorihms over genetic al-
gorithm as we have seen earliar
Compare the algorithms
Since it is an NPhard problem and no fully efficient algorithm can be found
As we have learned from the research papers that by using best combination of algorithm
like genetic algorithm(crossover and mutation)
tabu search particle swarm etc
3222 Product functions
Product have many functionalities and wide area for use
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
Efficiently generates timetables so vast number of resources can be utilised
3123)user characteristics
INPUT AND STORAGE program will take all the input from the user and will save it in its
database for all the future computation
26
CREATING RANDOM SOLUTIONS using the above input programby using the appro-
priate algorithm will generate some random solutions
CALCULATING FITTNESS FUNCTION by using the already decided penality program
will calculate the fitness functions of the solutions and will sort them in increasing
APPLYING GENETIC ALGORITHM THROGH MUTATION them by using fitness score
program will apply genetic algorithm or its improved version to create best possible solution
in minimum possible time
SECURITY program will delete all the information of the organisation after creating time-
table and will never upload it publically
EFFICIENCY Program will try to take minimum time and resources
USER-FRIENDLY INTERFACE no knowledge about the software will be required to use
it very straight design
MULTIPLE SOLUTIONS More than 1 acceptable solution will be providedso that organ-
isation can choose out of many solution which one suits them best
Operating environment
27
3124) Designimplementation constraints
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
28
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
day tim and classesand uses crossover and mutation process to optimisethis paper also make huge
improvement over genetic algorithm as shown abovemain difference between this and the above
research paper is the improvement that they did on genetic algorithmstating
The first step of the improved crossover operator simply copies equal genes from parents to the
child individual No additional conflicts can be added through copying those equal values Different
parentrsquos genes are specially marked and delegated for further processing In the second step the
crossover operator checks the list of equations for each marked gene in child individual and counts
the number of potential conflicts generated for both parentrsquos choices The gene from a parent that
generates fewer conflicts is chosen so no additional conflicts are generated in addition to the
conflicts caused by the parents
3)
Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu UniversityJiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University
Here this algorithm chooses 10 -20 random solutions and call them lolal maximarsquosand out of those
20 solutions whichever is the best is called global maxima each of those 20 solutions are changed
by changing 2-3 of their positions that are chosen randomly to find better solutions out of those 20
solutions their best solutions are found and out of them the best is chosen to be global in this way
algorithm have power to come out of local maximarsquos
as compare to genetic algorithm(traditional)algorithm performed better but in this paper it is not
compared with improved genetic algorithm
4)
USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVE
UNIVERSITY TIMETABLE SCHEDULING PROBLEM
Sehraneh Ghaemi Mohammad Taghi Vakili Ali Aghagolzadeh
Ghaemi Mvakil Aghagol tabrizuacir
Faculty of Electrical amp Computer Engineering
University Of Tabriz
IEEE-200717
Modified genetic algorithm(mga)
two sets of chromosomes are made(solutions)
3 chromosomes from set1 are taken
They are allowed crossover with all the chromosomes os set2
This reduce the candidate solution
Hence decresce the calculations
Cooperative genetic algorithm
Two spicies of chromosomes ( solutions) are made
Three solutions are chosen from each spicies
They are allowed to crossover
Calculation decrese
But diversity also decreases
This type of chromosome representation needs less number of bits for each gene Therefore
algorithm needs shorter time for running The obtained results show that SX operator in upper
mutation rates and UX and MUX operator in lower mutation rates perform well and MUX operator
is better than others By varying mutation rate during algorithm running better results are achieved
Also Tournament selection operates better than Rank Weighting selection The MGA and CGA
methods with population size less than GA yield better results and accelerate the algorithm Note
that the unsatisfied constraints number with CGA method is less than MGA method
5)
University Time Table Scheduling using Genetic Artificial Immune Network
Antariksha Bhaduri
IEEE-2009
Scheduling is one of the important tasks encountered in real life situations Various scheduling
problems are present like personnel scheduling production
scheduling education time table scheduling etc Educational time table scheduling is a difficult task
because of the many constraints that are needed to be satisfied in order to get a feasible solution
Education time table scheduling problem is known to be NP Hard Hence evolutionary techniques
have been used to solve the time table scheduling problem Methodologies like Genetic Algorithms
(GAs) Evolutionary Algorithms (EAs) etc have been used with mixed success In this paper we
have reviewed the problem of educational time table scheduling and solving it with Genetic
Algorithm We have further solved the problem with a memetic hybrid algorithm Genetic Artificial 18
Immune Network (GAIN) and compare the result with that obtained from GA Results show that
GAIN is able to reach the optimal feasible solution fasterthan that of GA
In this paper we discussed in detail the educational time tabling problem which is basically a
scheduling problem The problem is known to be NP hard and is of very high importance to
educational institutes We discussed in brief the various methods used in solving the time tabling
problem A detailed overview has been provided for previous works for solving this problem with
links to such works with more emphasis on solving the problem using evolutionary algorithms
Then the problem is structured and a chromosomenetwork cell design with genetic operators used
is provided for solving it Finally we solved the problem using Genetic Algorithm and a hybrid
memetic algorithm GAIN and the results are compared Results showed that the memetic
algorithm GAIN greatly coutperforms GA and hence proved to be a very promising algorithm for
solving the time tabling problem
6)
Algorithms of Time table Problem Application and
Performance Evaluation in Course Scheduling
System
Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1
Shandong Polytechnic University Jinan China
E-mail dyfspueducn qbspueducn gwsspueducn
wqzspueducn
Lan Wang Center Hospital Shandong Luneng Group Co Ltd Jinan China
E-mail qiufengdong163com
IEEE-2011
Summary
Tabu search algorithm can accept inferior solutions in the search process the new solution is not
randomly generated in the current field but selected the best solution which the best solution of
probability is more than other solutions Then the search can escape from local optimal solution
and turn to other areas increasing the probability of global optimum solution for local search We
use tabu search to replace the mutation operator The tabu search can get better
individual solutions and be out of local optimum The tabu search is applied to the local search it
can greatly avoid the phenomenon of over-mature for genetic algorithms but it is also unwise to use
tabu search frequently it waste running time In fact we can call the tabu search to replace the
mutation operation in appropriate time So basically all the steps are same but instead of
mutation sometimes tabu search is performed Genetic search algorithm has been validated in the 19
test and achieved good results Genetic search algorithm is a more practical method convergence is
fast and time distributes uniform But in practice conditions may not be terminated the purpose is
to provide different possible solutions in order for users to choose However if the constraint
conditions are too harsh there may be no feasible solution in such case human intervention is
necessary Course scheduling problem is a multidisciplinary hard problems this article attempt
genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and
parameter settings needed to be improved and explored the effect on the algorithm need be
improved in further
7)
An Algorithm to Automatically Generate Schedule for
School Lectures Using a Heuristic Approach
Anirudha Nanda Manisha P Pai and Abhijeet Gole
SUMMARY
In this paper authors have tried to avoid random selection by there point of view
It decreases an overhead of computation when we apply all the proper condition while mapping
teachers with time-room
And if they see any clash the lecture already mapped with that time slot is sent to clash data if that
lecture is not present in output data slot that is if the teacher of that lecture is no available ata that
time
The intention of the algorithm to generate a time-table schedule automatically is satisfied The
algorithm incorporates a number of techniques aimed to improve the efficiency of the search
operation It also addresses the important hard constraint of clashes between the availability of
teachers The non-rigid soft constraints ie optimization objectives for the search operation are also
effectively handled Given the generality of the algorithm operation it can further be adapted to
more specific scenarios eg University examination scheduling and further be enhanced to create
railway time tables Thus through the process of automation of the time-table problem many an-
hours of creating an effective timetable have been reduced eventually The most interesting future
direction in the development of the algorithm lies in its extension to constraint propagation When
there is a value assigned to a variable such assignment can be propagated to unassigned variables to
prohibit all values which come into conflict with the current assignments The information about
such prohibited value
20
8) A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHMSANDEEP SINGH RAWAT and LAKSHMI RAJAMANIYear-2010Journal of Theoretical and Applied Information Technology
SUMMARYThis paper deals with the implementation of a computer program which employs Genetic Algorithms (GAs) in the quest for an optimal class timetable generator The program is written in Java and incorporates a repair strategy for faster evolution This paper also explains an example usage of Genetic Algorithms (GAs) for finding optimal solutions to the problem of Class Timetable It is seen that the GA could be improved by the further incorporation of repair strategies and is readily scalable to the complete timetabling problem The system at present does not take care of other constraints like unavailability of lecturers small size of rooms and time required by the lecturer to move from one class timetable is used at the dept
WHATrsquoS NEWBreeding TimetablesTimetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables A child timetable is bred by performing unity order based crossover on the parents This means that each parent has an equal chance of providing each gene
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
Bharkha Narang Ambika and Rashmi Bansal
Year-2013International Conference on Emerging Trends in Engineering and Management
SUMMARY
This document proposes an optimized technique to automate time table generation system Time table generation system involves various challenging constraints of resources including faculties rooms time slots etc The roposed technique filters out the best of active rules andGenetic algorithm to generate the optimized solution Genetic Algorithm and Active Rules together form a complete sphere for developing a system which needs to satisfy various constraints Active Rules provide ldquoevent-condition-actionrdquo model for the implementation of any rule based system In genetic algorithm every individual are characterized by a fitnessfunction After analysis if there is higher fitness then it means better solution and then after based on their fitness parents are selected to reproduce offspring for a new generation where fitter individuals have more chance to reproduce The objective of the work is to create a model used to generate the acceptable schedule using probabilistic operators
21
10) Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Year -2009
DrGRADHAMANI NIJUPJOSEPH
International Journal of Recent Trends in Engineering
SUMMARYMulti Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set A set of techniques discussed here can be used to enhance searching and retrieving information from an existing fuzzy Knowledge Base (KB) The proposed genetic algorithm tries to be capable of generating solutions from both crisp and fuzzy valued data The search algorithm transforms vague and uncertain data represented as fuzzy sets for accurate solution generation Procedures are proposed which learns from the different available knowledge base for its application on uncertain data In this paper a repeat crossover Genetic Algorithm is formulated for its usage on uncertain data represented as fuzzy sets and it can be implemented for many real world applications
31 Overall description of the project
311 INTRODUCTION
3111)PURPOSE
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only
required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
22
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is
done manually so to help big organisation for there such important task it is important to design a
proper algorithm so that a lot of time can be saved
512) DEFINATION
Timetable Scheduling Problems are particularly challenging for Artificial Intelligence and
Operations Research techniques They are problems of time-based planning and combinatorial
optimization that tend to be solved with a cooperation of search and heuristics which usually lead
to satisfactory but sub-optimal solutions There are many kinds of timetable scheduling problems in
the daily life such as examination lecture transportation timetables In general there are several
common difficulties in these kinds of problems
There exists no deterministic polynomial time algorithm they are computationally NP com-
plete problems
It is very difficult to design effective heuristics Advanced search techniques using various
heuristics to prune the search space will not be guaranteed to find an optimal solution
A general algorithmic approach to a problem may turn out to be inapplicable certain spe-
cial constraints are often required in a particular instance of that problem
Real world timetable scheduling problems often involve constraints that cannot be pre-
cisely represented or even stated
In a timetable-scheduling problem events for example exam subjects must be slotted to certain
times which satisfy several of constraints
Knowledge-based and OR-based approaches to solving such problems are hard to develop are often
slow and can be inflexible because the architecture itself was based on specific assumptions about
23
the nature of the problem Constraint satisfaction techniques have been used to solve hard
constraints however it is more difficult to handle soft constraints such as preferences Most often
people still resort to handcrafted solutions starting from an easier solution and making a sequence of
modifications to cater for changed requirements This typically leads to suboptimal solutions that
bring significant organizational or financial penalties [ 13 developed a Genetic Algorithm (GA)
based timetable system
which has been successfully used by a university
3113) SCOPE
modification of the genetic algorithm by
modified genetic algorithm
coperative genetic algorithm
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
24
3114) OVERVIEW
In the last few years colleges and universities around the world are expanding enrollment in order
to develop more high-quality personnel various countries educational reform is also thorough
unceasingly The essence of course scheduling question is the curriculum the teacher and the
student should be assigned in the appropriate time section to the appropriate classroom It is a multi-
objective scheduling problem which involve more factors and known as the Time table Problem in
operations research (Time table Problem1063384 called TTP) Automated Course Scheduling algorithm
TTP was proved to be NP-complete problem as early as in the 70s The computing time is
exponential increase and integration time and space as dual constraints From classroom (space)
point of view it is similar to the binpacking problem But increased many restraints in the time So it
is a more complex problem than the bin-packing problem We can establish theoretical profundity
from this thesis At present in mathematics did not have an general algorithm to be able to solve the
NP complete problem well Solving the NP complete problem only to be able to depend on the
approximate method many scholars have conducted the research regarding this
3115 Contact informationSRS team members
Vibhanshu wadhwa ( enrol 10503854)
Mrsaurabh k raina (mentor)
312Overall Description
3121) Product perspective
Provide a good algorithm to our audience so that they can generate a helpful time table with
least wastage of their time and recourses
To generate a time table scheduler we have to use heuristic search
Till date most helpful heuristic search has been ldquogenetic algorithmrdquo
We will first define the problem
25
All their constrains soft as well as hard
Our aim is to find a solution which satisfy all the hard constrains for sure and as many soft
constrain as it can in accepatable time and space
Appling heuristic search like genetic algorithm or improved algorihms over genetic al-
gorithm as we have seen earliar
Compare the algorithms
Since it is an NPhard problem and no fully efficient algorithm can be found
As we have learned from the research papers that by using best combination of algorithm
like genetic algorithm(crossover and mutation)
tabu search particle swarm etc
3222 Product functions
Product have many functionalities and wide area for use
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
Efficiently generates timetables so vast number of resources can be utilised
3123)user characteristics
INPUT AND STORAGE program will take all the input from the user and will save it in its
database for all the future computation
26
CREATING RANDOM SOLUTIONS using the above input programby using the appro-
priate algorithm will generate some random solutions
CALCULATING FITTNESS FUNCTION by using the already decided penality program
will calculate the fitness functions of the solutions and will sort them in increasing
APPLYING GENETIC ALGORITHM THROGH MUTATION them by using fitness score
program will apply genetic algorithm or its improved version to create best possible solution
in minimum possible time
SECURITY program will delete all the information of the organisation after creating time-
table and will never upload it publically
EFFICIENCY Program will try to take minimum time and resources
USER-FRIENDLY INTERFACE no knowledge about the software will be required to use
it very straight design
MULTIPLE SOLUTIONS More than 1 acceptable solution will be providedso that organ-
isation can choose out of many solution which one suits them best
Operating environment
27
3124) Designimplementation constraints
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
28
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
Modified genetic algorithm(mga)
two sets of chromosomes are made(solutions)
3 chromosomes from set1 are taken
They are allowed crossover with all the chromosomes os set2
This reduce the candidate solution
Hence decresce the calculations
Cooperative genetic algorithm
Two spicies of chromosomes ( solutions) are made
Three solutions are chosen from each spicies
They are allowed to crossover
Calculation decrese
But diversity also decreases
This type of chromosome representation needs less number of bits for each gene Therefore
algorithm needs shorter time for running The obtained results show that SX operator in upper
mutation rates and UX and MUX operator in lower mutation rates perform well and MUX operator
is better than others By varying mutation rate during algorithm running better results are achieved
Also Tournament selection operates better than Rank Weighting selection The MGA and CGA
methods with population size less than GA yield better results and accelerate the algorithm Note
that the unsatisfied constraints number with CGA method is less than MGA method
5)
University Time Table Scheduling using Genetic Artificial Immune Network
Antariksha Bhaduri
IEEE-2009
Scheduling is one of the important tasks encountered in real life situations Various scheduling
problems are present like personnel scheduling production
scheduling education time table scheduling etc Educational time table scheduling is a difficult task
because of the many constraints that are needed to be satisfied in order to get a feasible solution
Education time table scheduling problem is known to be NP Hard Hence evolutionary techniques
have been used to solve the time table scheduling problem Methodologies like Genetic Algorithms
(GAs) Evolutionary Algorithms (EAs) etc have been used with mixed success In this paper we
have reviewed the problem of educational time table scheduling and solving it with Genetic
Algorithm We have further solved the problem with a memetic hybrid algorithm Genetic Artificial 18
Immune Network (GAIN) and compare the result with that obtained from GA Results show that
GAIN is able to reach the optimal feasible solution fasterthan that of GA
In this paper we discussed in detail the educational time tabling problem which is basically a
scheduling problem The problem is known to be NP hard and is of very high importance to
educational institutes We discussed in brief the various methods used in solving the time tabling
problem A detailed overview has been provided for previous works for solving this problem with
links to such works with more emphasis on solving the problem using evolutionary algorithms
Then the problem is structured and a chromosomenetwork cell design with genetic operators used
is provided for solving it Finally we solved the problem using Genetic Algorithm and a hybrid
memetic algorithm GAIN and the results are compared Results showed that the memetic
algorithm GAIN greatly coutperforms GA and hence proved to be a very promising algorithm for
solving the time tabling problem
6)
Algorithms of Time table Problem Application and
Performance Evaluation in Course Scheduling
System
Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1
Shandong Polytechnic University Jinan China
E-mail dyfspueducn qbspueducn gwsspueducn
wqzspueducn
Lan Wang Center Hospital Shandong Luneng Group Co Ltd Jinan China
E-mail qiufengdong163com
IEEE-2011
Summary
Tabu search algorithm can accept inferior solutions in the search process the new solution is not
randomly generated in the current field but selected the best solution which the best solution of
probability is more than other solutions Then the search can escape from local optimal solution
and turn to other areas increasing the probability of global optimum solution for local search We
use tabu search to replace the mutation operator The tabu search can get better
individual solutions and be out of local optimum The tabu search is applied to the local search it
can greatly avoid the phenomenon of over-mature for genetic algorithms but it is also unwise to use
tabu search frequently it waste running time In fact we can call the tabu search to replace the
mutation operation in appropriate time So basically all the steps are same but instead of
mutation sometimes tabu search is performed Genetic search algorithm has been validated in the 19
test and achieved good results Genetic search algorithm is a more practical method convergence is
fast and time distributes uniform But in practice conditions may not be terminated the purpose is
to provide different possible solutions in order for users to choose However if the constraint
conditions are too harsh there may be no feasible solution in such case human intervention is
necessary Course scheduling problem is a multidisciplinary hard problems this article attempt
genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and
parameter settings needed to be improved and explored the effect on the algorithm need be
improved in further
7)
An Algorithm to Automatically Generate Schedule for
School Lectures Using a Heuristic Approach
Anirudha Nanda Manisha P Pai and Abhijeet Gole
SUMMARY
In this paper authors have tried to avoid random selection by there point of view
It decreases an overhead of computation when we apply all the proper condition while mapping
teachers with time-room
And if they see any clash the lecture already mapped with that time slot is sent to clash data if that
lecture is not present in output data slot that is if the teacher of that lecture is no available ata that
time
The intention of the algorithm to generate a time-table schedule automatically is satisfied The
algorithm incorporates a number of techniques aimed to improve the efficiency of the search
operation It also addresses the important hard constraint of clashes between the availability of
teachers The non-rigid soft constraints ie optimization objectives for the search operation are also
effectively handled Given the generality of the algorithm operation it can further be adapted to
more specific scenarios eg University examination scheduling and further be enhanced to create
railway time tables Thus through the process of automation of the time-table problem many an-
hours of creating an effective timetable have been reduced eventually The most interesting future
direction in the development of the algorithm lies in its extension to constraint propagation When
there is a value assigned to a variable such assignment can be propagated to unassigned variables to
prohibit all values which come into conflict with the current assignments The information about
such prohibited value
20
8) A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHMSANDEEP SINGH RAWAT and LAKSHMI RAJAMANIYear-2010Journal of Theoretical and Applied Information Technology
SUMMARYThis paper deals with the implementation of a computer program which employs Genetic Algorithms (GAs) in the quest for an optimal class timetable generator The program is written in Java and incorporates a repair strategy for faster evolution This paper also explains an example usage of Genetic Algorithms (GAs) for finding optimal solutions to the problem of Class Timetable It is seen that the GA could be improved by the further incorporation of repair strategies and is readily scalable to the complete timetabling problem The system at present does not take care of other constraints like unavailability of lecturers small size of rooms and time required by the lecturer to move from one class timetable is used at the dept
WHATrsquoS NEWBreeding TimetablesTimetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables A child timetable is bred by performing unity order based crossover on the parents This means that each parent has an equal chance of providing each gene
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
Bharkha Narang Ambika and Rashmi Bansal
Year-2013International Conference on Emerging Trends in Engineering and Management
SUMMARY
This document proposes an optimized technique to automate time table generation system Time table generation system involves various challenging constraints of resources including faculties rooms time slots etc The roposed technique filters out the best of active rules andGenetic algorithm to generate the optimized solution Genetic Algorithm and Active Rules together form a complete sphere for developing a system which needs to satisfy various constraints Active Rules provide ldquoevent-condition-actionrdquo model for the implementation of any rule based system In genetic algorithm every individual are characterized by a fitnessfunction After analysis if there is higher fitness then it means better solution and then after based on their fitness parents are selected to reproduce offspring for a new generation where fitter individuals have more chance to reproduce The objective of the work is to create a model used to generate the acceptable schedule using probabilistic operators
21
10) Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Year -2009
DrGRADHAMANI NIJUPJOSEPH
International Journal of Recent Trends in Engineering
SUMMARYMulti Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set A set of techniques discussed here can be used to enhance searching and retrieving information from an existing fuzzy Knowledge Base (KB) The proposed genetic algorithm tries to be capable of generating solutions from both crisp and fuzzy valued data The search algorithm transforms vague and uncertain data represented as fuzzy sets for accurate solution generation Procedures are proposed which learns from the different available knowledge base for its application on uncertain data In this paper a repeat crossover Genetic Algorithm is formulated for its usage on uncertain data represented as fuzzy sets and it can be implemented for many real world applications
31 Overall description of the project
311 INTRODUCTION
3111)PURPOSE
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only
required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
22
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is
done manually so to help big organisation for there such important task it is important to design a
proper algorithm so that a lot of time can be saved
512) DEFINATION
Timetable Scheduling Problems are particularly challenging for Artificial Intelligence and
Operations Research techniques They are problems of time-based planning and combinatorial
optimization that tend to be solved with a cooperation of search and heuristics which usually lead
to satisfactory but sub-optimal solutions There are many kinds of timetable scheduling problems in
the daily life such as examination lecture transportation timetables In general there are several
common difficulties in these kinds of problems
There exists no deterministic polynomial time algorithm they are computationally NP com-
plete problems
It is very difficult to design effective heuristics Advanced search techniques using various
heuristics to prune the search space will not be guaranteed to find an optimal solution
A general algorithmic approach to a problem may turn out to be inapplicable certain spe-
cial constraints are often required in a particular instance of that problem
Real world timetable scheduling problems often involve constraints that cannot be pre-
cisely represented or even stated
In a timetable-scheduling problem events for example exam subjects must be slotted to certain
times which satisfy several of constraints
Knowledge-based and OR-based approaches to solving such problems are hard to develop are often
slow and can be inflexible because the architecture itself was based on specific assumptions about
23
the nature of the problem Constraint satisfaction techniques have been used to solve hard
constraints however it is more difficult to handle soft constraints such as preferences Most often
people still resort to handcrafted solutions starting from an easier solution and making a sequence of
modifications to cater for changed requirements This typically leads to suboptimal solutions that
bring significant organizational or financial penalties [ 13 developed a Genetic Algorithm (GA)
based timetable system
which has been successfully used by a university
3113) SCOPE
modification of the genetic algorithm by
modified genetic algorithm
coperative genetic algorithm
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
24
3114) OVERVIEW
In the last few years colleges and universities around the world are expanding enrollment in order
to develop more high-quality personnel various countries educational reform is also thorough
unceasingly The essence of course scheduling question is the curriculum the teacher and the
student should be assigned in the appropriate time section to the appropriate classroom It is a multi-
objective scheduling problem which involve more factors and known as the Time table Problem in
operations research (Time table Problem1063384 called TTP) Automated Course Scheduling algorithm
TTP was proved to be NP-complete problem as early as in the 70s The computing time is
exponential increase and integration time and space as dual constraints From classroom (space)
point of view it is similar to the binpacking problem But increased many restraints in the time So it
is a more complex problem than the bin-packing problem We can establish theoretical profundity
from this thesis At present in mathematics did not have an general algorithm to be able to solve the
NP complete problem well Solving the NP complete problem only to be able to depend on the
approximate method many scholars have conducted the research regarding this
3115 Contact informationSRS team members
Vibhanshu wadhwa ( enrol 10503854)
Mrsaurabh k raina (mentor)
312Overall Description
3121) Product perspective
Provide a good algorithm to our audience so that they can generate a helpful time table with
least wastage of their time and recourses
To generate a time table scheduler we have to use heuristic search
Till date most helpful heuristic search has been ldquogenetic algorithmrdquo
We will first define the problem
25
All their constrains soft as well as hard
Our aim is to find a solution which satisfy all the hard constrains for sure and as many soft
constrain as it can in accepatable time and space
Appling heuristic search like genetic algorithm or improved algorihms over genetic al-
gorithm as we have seen earliar
Compare the algorithms
Since it is an NPhard problem and no fully efficient algorithm can be found
As we have learned from the research papers that by using best combination of algorithm
like genetic algorithm(crossover and mutation)
tabu search particle swarm etc
3222 Product functions
Product have many functionalities and wide area for use
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
Efficiently generates timetables so vast number of resources can be utilised
3123)user characteristics
INPUT AND STORAGE program will take all the input from the user and will save it in its
database for all the future computation
26
CREATING RANDOM SOLUTIONS using the above input programby using the appro-
priate algorithm will generate some random solutions
CALCULATING FITTNESS FUNCTION by using the already decided penality program
will calculate the fitness functions of the solutions and will sort them in increasing
APPLYING GENETIC ALGORITHM THROGH MUTATION them by using fitness score
program will apply genetic algorithm or its improved version to create best possible solution
in minimum possible time
SECURITY program will delete all the information of the organisation after creating time-
table and will never upload it publically
EFFICIENCY Program will try to take minimum time and resources
USER-FRIENDLY INTERFACE no knowledge about the software will be required to use
it very straight design
MULTIPLE SOLUTIONS More than 1 acceptable solution will be providedso that organ-
isation can choose out of many solution which one suits them best
Operating environment
27
3124) Designimplementation constraints
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
28
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
Immune Network (GAIN) and compare the result with that obtained from GA Results show that
GAIN is able to reach the optimal feasible solution fasterthan that of GA
In this paper we discussed in detail the educational time tabling problem which is basically a
scheduling problem The problem is known to be NP hard and is of very high importance to
educational institutes We discussed in brief the various methods used in solving the time tabling
problem A detailed overview has been provided for previous works for solving this problem with
links to such works with more emphasis on solving the problem using evolutionary algorithms
Then the problem is structured and a chromosomenetwork cell design with genetic operators used
is provided for solving it Finally we solved the problem using Genetic Algorithm and a hybrid
memetic algorithm GAIN and the results are compared Results showed that the memetic
algorithm GAIN greatly coutperforms GA and hence proved to be a very promising algorithm for
solving the time tabling problem
6)
Algorithms of Time table Problem Application and
Performance Evaluation in Course Scheduling
System
Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1
Shandong Polytechnic University Jinan China
E-mail dyfspueducn qbspueducn gwsspueducn
wqzspueducn
Lan Wang Center Hospital Shandong Luneng Group Co Ltd Jinan China
E-mail qiufengdong163com
IEEE-2011
Summary
Tabu search algorithm can accept inferior solutions in the search process the new solution is not
randomly generated in the current field but selected the best solution which the best solution of
probability is more than other solutions Then the search can escape from local optimal solution
and turn to other areas increasing the probability of global optimum solution for local search We
use tabu search to replace the mutation operator The tabu search can get better
individual solutions and be out of local optimum The tabu search is applied to the local search it
can greatly avoid the phenomenon of over-mature for genetic algorithms but it is also unwise to use
tabu search frequently it waste running time In fact we can call the tabu search to replace the
mutation operation in appropriate time So basically all the steps are same but instead of
mutation sometimes tabu search is performed Genetic search algorithm has been validated in the 19
test and achieved good results Genetic search algorithm is a more practical method convergence is
fast and time distributes uniform But in practice conditions may not be terminated the purpose is
to provide different possible solutions in order for users to choose However if the constraint
conditions are too harsh there may be no feasible solution in such case human intervention is
necessary Course scheduling problem is a multidisciplinary hard problems this article attempt
genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and
parameter settings needed to be improved and explored the effect on the algorithm need be
improved in further
7)
An Algorithm to Automatically Generate Schedule for
School Lectures Using a Heuristic Approach
Anirudha Nanda Manisha P Pai and Abhijeet Gole
SUMMARY
In this paper authors have tried to avoid random selection by there point of view
It decreases an overhead of computation when we apply all the proper condition while mapping
teachers with time-room
And if they see any clash the lecture already mapped with that time slot is sent to clash data if that
lecture is not present in output data slot that is if the teacher of that lecture is no available ata that
time
The intention of the algorithm to generate a time-table schedule automatically is satisfied The
algorithm incorporates a number of techniques aimed to improve the efficiency of the search
operation It also addresses the important hard constraint of clashes between the availability of
teachers The non-rigid soft constraints ie optimization objectives for the search operation are also
effectively handled Given the generality of the algorithm operation it can further be adapted to
more specific scenarios eg University examination scheduling and further be enhanced to create
railway time tables Thus through the process of automation of the time-table problem many an-
hours of creating an effective timetable have been reduced eventually The most interesting future
direction in the development of the algorithm lies in its extension to constraint propagation When
there is a value assigned to a variable such assignment can be propagated to unassigned variables to
prohibit all values which come into conflict with the current assignments The information about
such prohibited value
20
8) A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHMSANDEEP SINGH RAWAT and LAKSHMI RAJAMANIYear-2010Journal of Theoretical and Applied Information Technology
SUMMARYThis paper deals with the implementation of a computer program which employs Genetic Algorithms (GAs) in the quest for an optimal class timetable generator The program is written in Java and incorporates a repair strategy for faster evolution This paper also explains an example usage of Genetic Algorithms (GAs) for finding optimal solutions to the problem of Class Timetable It is seen that the GA could be improved by the further incorporation of repair strategies and is readily scalable to the complete timetabling problem The system at present does not take care of other constraints like unavailability of lecturers small size of rooms and time required by the lecturer to move from one class timetable is used at the dept
WHATrsquoS NEWBreeding TimetablesTimetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables A child timetable is bred by performing unity order based crossover on the parents This means that each parent has an equal chance of providing each gene
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
Bharkha Narang Ambika and Rashmi Bansal
Year-2013International Conference on Emerging Trends in Engineering and Management
SUMMARY
This document proposes an optimized technique to automate time table generation system Time table generation system involves various challenging constraints of resources including faculties rooms time slots etc The roposed technique filters out the best of active rules andGenetic algorithm to generate the optimized solution Genetic Algorithm and Active Rules together form a complete sphere for developing a system which needs to satisfy various constraints Active Rules provide ldquoevent-condition-actionrdquo model for the implementation of any rule based system In genetic algorithm every individual are characterized by a fitnessfunction After analysis if there is higher fitness then it means better solution and then after based on their fitness parents are selected to reproduce offspring for a new generation where fitter individuals have more chance to reproduce The objective of the work is to create a model used to generate the acceptable schedule using probabilistic operators
21
10) Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Year -2009
DrGRADHAMANI NIJUPJOSEPH
International Journal of Recent Trends in Engineering
SUMMARYMulti Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set A set of techniques discussed here can be used to enhance searching and retrieving information from an existing fuzzy Knowledge Base (KB) The proposed genetic algorithm tries to be capable of generating solutions from both crisp and fuzzy valued data The search algorithm transforms vague and uncertain data represented as fuzzy sets for accurate solution generation Procedures are proposed which learns from the different available knowledge base for its application on uncertain data In this paper a repeat crossover Genetic Algorithm is formulated for its usage on uncertain data represented as fuzzy sets and it can be implemented for many real world applications
31 Overall description of the project
311 INTRODUCTION
3111)PURPOSE
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only
required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
22
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is
done manually so to help big organisation for there such important task it is important to design a
proper algorithm so that a lot of time can be saved
512) DEFINATION
Timetable Scheduling Problems are particularly challenging for Artificial Intelligence and
Operations Research techniques They are problems of time-based planning and combinatorial
optimization that tend to be solved with a cooperation of search and heuristics which usually lead
to satisfactory but sub-optimal solutions There are many kinds of timetable scheduling problems in
the daily life such as examination lecture transportation timetables In general there are several
common difficulties in these kinds of problems
There exists no deterministic polynomial time algorithm they are computationally NP com-
plete problems
It is very difficult to design effective heuristics Advanced search techniques using various
heuristics to prune the search space will not be guaranteed to find an optimal solution
A general algorithmic approach to a problem may turn out to be inapplicable certain spe-
cial constraints are often required in a particular instance of that problem
Real world timetable scheduling problems often involve constraints that cannot be pre-
cisely represented or even stated
In a timetable-scheduling problem events for example exam subjects must be slotted to certain
times which satisfy several of constraints
Knowledge-based and OR-based approaches to solving such problems are hard to develop are often
slow and can be inflexible because the architecture itself was based on specific assumptions about
23
the nature of the problem Constraint satisfaction techniques have been used to solve hard
constraints however it is more difficult to handle soft constraints such as preferences Most often
people still resort to handcrafted solutions starting from an easier solution and making a sequence of
modifications to cater for changed requirements This typically leads to suboptimal solutions that
bring significant organizational or financial penalties [ 13 developed a Genetic Algorithm (GA)
based timetable system
which has been successfully used by a university
3113) SCOPE
modification of the genetic algorithm by
modified genetic algorithm
coperative genetic algorithm
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
24
3114) OVERVIEW
In the last few years colleges and universities around the world are expanding enrollment in order
to develop more high-quality personnel various countries educational reform is also thorough
unceasingly The essence of course scheduling question is the curriculum the teacher and the
student should be assigned in the appropriate time section to the appropriate classroom It is a multi-
objective scheduling problem which involve more factors and known as the Time table Problem in
operations research (Time table Problem1063384 called TTP) Automated Course Scheduling algorithm
TTP was proved to be NP-complete problem as early as in the 70s The computing time is
exponential increase and integration time and space as dual constraints From classroom (space)
point of view it is similar to the binpacking problem But increased many restraints in the time So it
is a more complex problem than the bin-packing problem We can establish theoretical profundity
from this thesis At present in mathematics did not have an general algorithm to be able to solve the
NP complete problem well Solving the NP complete problem only to be able to depend on the
approximate method many scholars have conducted the research regarding this
3115 Contact informationSRS team members
Vibhanshu wadhwa ( enrol 10503854)
Mrsaurabh k raina (mentor)
312Overall Description
3121) Product perspective
Provide a good algorithm to our audience so that they can generate a helpful time table with
least wastage of their time and recourses
To generate a time table scheduler we have to use heuristic search
Till date most helpful heuristic search has been ldquogenetic algorithmrdquo
We will first define the problem
25
All their constrains soft as well as hard
Our aim is to find a solution which satisfy all the hard constrains for sure and as many soft
constrain as it can in accepatable time and space
Appling heuristic search like genetic algorithm or improved algorihms over genetic al-
gorithm as we have seen earliar
Compare the algorithms
Since it is an NPhard problem and no fully efficient algorithm can be found
As we have learned from the research papers that by using best combination of algorithm
like genetic algorithm(crossover and mutation)
tabu search particle swarm etc
3222 Product functions
Product have many functionalities and wide area for use
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
Efficiently generates timetables so vast number of resources can be utilised
3123)user characteristics
INPUT AND STORAGE program will take all the input from the user and will save it in its
database for all the future computation
26
CREATING RANDOM SOLUTIONS using the above input programby using the appro-
priate algorithm will generate some random solutions
CALCULATING FITTNESS FUNCTION by using the already decided penality program
will calculate the fitness functions of the solutions and will sort them in increasing
APPLYING GENETIC ALGORITHM THROGH MUTATION them by using fitness score
program will apply genetic algorithm or its improved version to create best possible solution
in minimum possible time
SECURITY program will delete all the information of the organisation after creating time-
table and will never upload it publically
EFFICIENCY Program will try to take minimum time and resources
USER-FRIENDLY INTERFACE no knowledge about the software will be required to use
it very straight design
MULTIPLE SOLUTIONS More than 1 acceptable solution will be providedso that organ-
isation can choose out of many solution which one suits them best
Operating environment
27
3124) Designimplementation constraints
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
28
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
test and achieved good results Genetic search algorithm is a more practical method convergence is
fast and time distributes uniform But in practice conditions may not be terminated the purpose is
to provide different possible solutions in order for users to choose However if the constraint
conditions are too harsh there may be no feasible solution in such case human intervention is
necessary Course scheduling problem is a multidisciplinary hard problems this article attempt
genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and
parameter settings needed to be improved and explored the effect on the algorithm need be
improved in further
7)
An Algorithm to Automatically Generate Schedule for
School Lectures Using a Heuristic Approach
Anirudha Nanda Manisha P Pai and Abhijeet Gole
SUMMARY
In this paper authors have tried to avoid random selection by there point of view
It decreases an overhead of computation when we apply all the proper condition while mapping
teachers with time-room
And if they see any clash the lecture already mapped with that time slot is sent to clash data if that
lecture is not present in output data slot that is if the teacher of that lecture is no available ata that
time
The intention of the algorithm to generate a time-table schedule automatically is satisfied The
algorithm incorporates a number of techniques aimed to improve the efficiency of the search
operation It also addresses the important hard constraint of clashes between the availability of
teachers The non-rigid soft constraints ie optimization objectives for the search operation are also
effectively handled Given the generality of the algorithm operation it can further be adapted to
more specific scenarios eg University examination scheduling and further be enhanced to create
railway time tables Thus through the process of automation of the time-table problem many an-
hours of creating an effective timetable have been reduced eventually The most interesting future
direction in the development of the algorithm lies in its extension to constraint propagation When
there is a value assigned to a variable such assignment can be propagated to unassigned variables to
prohibit all values which come into conflict with the current assignments The information about
such prohibited value
20
8) A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHMSANDEEP SINGH RAWAT and LAKSHMI RAJAMANIYear-2010Journal of Theoretical and Applied Information Technology
SUMMARYThis paper deals with the implementation of a computer program which employs Genetic Algorithms (GAs) in the quest for an optimal class timetable generator The program is written in Java and incorporates a repair strategy for faster evolution This paper also explains an example usage of Genetic Algorithms (GAs) for finding optimal solutions to the problem of Class Timetable It is seen that the GA could be improved by the further incorporation of repair strategies and is readily scalable to the complete timetabling problem The system at present does not take care of other constraints like unavailability of lecturers small size of rooms and time required by the lecturer to move from one class timetable is used at the dept
WHATrsquoS NEWBreeding TimetablesTimetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables A child timetable is bred by performing unity order based crossover on the parents This means that each parent has an equal chance of providing each gene
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
Bharkha Narang Ambika and Rashmi Bansal
Year-2013International Conference on Emerging Trends in Engineering and Management
SUMMARY
This document proposes an optimized technique to automate time table generation system Time table generation system involves various challenging constraints of resources including faculties rooms time slots etc The roposed technique filters out the best of active rules andGenetic algorithm to generate the optimized solution Genetic Algorithm and Active Rules together form a complete sphere for developing a system which needs to satisfy various constraints Active Rules provide ldquoevent-condition-actionrdquo model for the implementation of any rule based system In genetic algorithm every individual are characterized by a fitnessfunction After analysis if there is higher fitness then it means better solution and then after based on their fitness parents are selected to reproduce offspring for a new generation where fitter individuals have more chance to reproduce The objective of the work is to create a model used to generate the acceptable schedule using probabilistic operators
21
10) Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Year -2009
DrGRADHAMANI NIJUPJOSEPH
International Journal of Recent Trends in Engineering
SUMMARYMulti Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set A set of techniques discussed here can be used to enhance searching and retrieving information from an existing fuzzy Knowledge Base (KB) The proposed genetic algorithm tries to be capable of generating solutions from both crisp and fuzzy valued data The search algorithm transforms vague and uncertain data represented as fuzzy sets for accurate solution generation Procedures are proposed which learns from the different available knowledge base for its application on uncertain data In this paper a repeat crossover Genetic Algorithm is formulated for its usage on uncertain data represented as fuzzy sets and it can be implemented for many real world applications
31 Overall description of the project
311 INTRODUCTION
3111)PURPOSE
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only
required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
22
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is
done manually so to help big organisation for there such important task it is important to design a
proper algorithm so that a lot of time can be saved
512) DEFINATION
Timetable Scheduling Problems are particularly challenging for Artificial Intelligence and
Operations Research techniques They are problems of time-based planning and combinatorial
optimization that tend to be solved with a cooperation of search and heuristics which usually lead
to satisfactory but sub-optimal solutions There are many kinds of timetable scheduling problems in
the daily life such as examination lecture transportation timetables In general there are several
common difficulties in these kinds of problems
There exists no deterministic polynomial time algorithm they are computationally NP com-
plete problems
It is very difficult to design effective heuristics Advanced search techniques using various
heuristics to prune the search space will not be guaranteed to find an optimal solution
A general algorithmic approach to a problem may turn out to be inapplicable certain spe-
cial constraints are often required in a particular instance of that problem
Real world timetable scheduling problems often involve constraints that cannot be pre-
cisely represented or even stated
In a timetable-scheduling problem events for example exam subjects must be slotted to certain
times which satisfy several of constraints
Knowledge-based and OR-based approaches to solving such problems are hard to develop are often
slow and can be inflexible because the architecture itself was based on specific assumptions about
23
the nature of the problem Constraint satisfaction techniques have been used to solve hard
constraints however it is more difficult to handle soft constraints such as preferences Most often
people still resort to handcrafted solutions starting from an easier solution and making a sequence of
modifications to cater for changed requirements This typically leads to suboptimal solutions that
bring significant organizational or financial penalties [ 13 developed a Genetic Algorithm (GA)
based timetable system
which has been successfully used by a university
3113) SCOPE
modification of the genetic algorithm by
modified genetic algorithm
coperative genetic algorithm
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
24
3114) OVERVIEW
In the last few years colleges and universities around the world are expanding enrollment in order
to develop more high-quality personnel various countries educational reform is also thorough
unceasingly The essence of course scheduling question is the curriculum the teacher and the
student should be assigned in the appropriate time section to the appropriate classroom It is a multi-
objective scheduling problem which involve more factors and known as the Time table Problem in
operations research (Time table Problem1063384 called TTP) Automated Course Scheduling algorithm
TTP was proved to be NP-complete problem as early as in the 70s The computing time is
exponential increase and integration time and space as dual constraints From classroom (space)
point of view it is similar to the binpacking problem But increased many restraints in the time So it
is a more complex problem than the bin-packing problem We can establish theoretical profundity
from this thesis At present in mathematics did not have an general algorithm to be able to solve the
NP complete problem well Solving the NP complete problem only to be able to depend on the
approximate method many scholars have conducted the research regarding this
3115 Contact informationSRS team members
Vibhanshu wadhwa ( enrol 10503854)
Mrsaurabh k raina (mentor)
312Overall Description
3121) Product perspective
Provide a good algorithm to our audience so that they can generate a helpful time table with
least wastage of their time and recourses
To generate a time table scheduler we have to use heuristic search
Till date most helpful heuristic search has been ldquogenetic algorithmrdquo
We will first define the problem
25
All their constrains soft as well as hard
Our aim is to find a solution which satisfy all the hard constrains for sure and as many soft
constrain as it can in accepatable time and space
Appling heuristic search like genetic algorithm or improved algorihms over genetic al-
gorithm as we have seen earliar
Compare the algorithms
Since it is an NPhard problem and no fully efficient algorithm can be found
As we have learned from the research papers that by using best combination of algorithm
like genetic algorithm(crossover and mutation)
tabu search particle swarm etc
3222 Product functions
Product have many functionalities and wide area for use
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
Efficiently generates timetables so vast number of resources can be utilised
3123)user characteristics
INPUT AND STORAGE program will take all the input from the user and will save it in its
database for all the future computation
26
CREATING RANDOM SOLUTIONS using the above input programby using the appro-
priate algorithm will generate some random solutions
CALCULATING FITTNESS FUNCTION by using the already decided penality program
will calculate the fitness functions of the solutions and will sort them in increasing
APPLYING GENETIC ALGORITHM THROGH MUTATION them by using fitness score
program will apply genetic algorithm or its improved version to create best possible solution
in minimum possible time
SECURITY program will delete all the information of the organisation after creating time-
table and will never upload it publically
EFFICIENCY Program will try to take minimum time and resources
USER-FRIENDLY INTERFACE no knowledge about the software will be required to use
it very straight design
MULTIPLE SOLUTIONS More than 1 acceptable solution will be providedso that organ-
isation can choose out of many solution which one suits them best
Operating environment
27
3124) Designimplementation constraints
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
28
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
8) A TIMETABLE PREDICTION FOR TECHNICALEDUCATIONAL SYSTEM USING GENETIC ALGORITHMSANDEEP SINGH RAWAT and LAKSHMI RAJAMANIYear-2010Journal of Theoretical and Applied Information Technology
SUMMARYThis paper deals with the implementation of a computer program which employs Genetic Algorithms (GAs) in the quest for an optimal class timetable generator The program is written in Java and incorporates a repair strategy for faster evolution This paper also explains an example usage of Genetic Algorithms (GAs) for finding optimal solutions to the problem of Class Timetable It is seen that the GA could be improved by the further incorporation of repair strategies and is readily scalable to the complete timetabling problem The system at present does not take care of other constraints like unavailability of lecturers small size of rooms and time required by the lecturer to move from one class timetable is used at the dept
WHATrsquoS NEWBreeding TimetablesTimetables are randomly selected from the population and used for breeding No favouritism is given to fitter timetables A child timetable is bred by performing unity order based crossover on the parents This means that each parent has an equal chance of providing each gene
9) Use of Active Rules and Genetic Algorithm to Generate the automatic Time-Table
Bharkha Narang Ambika and Rashmi Bansal
Year-2013International Conference on Emerging Trends in Engineering and Management
SUMMARY
This document proposes an optimized technique to automate time table generation system Time table generation system involves various challenging constraints of resources including faculties rooms time slots etc The roposed technique filters out the best of active rules andGenetic algorithm to generate the optimized solution Genetic Algorithm and Active Rules together form a complete sphere for developing a system which needs to satisfy various constraints Active Rules provide ldquoevent-condition-actionrdquo model for the implementation of any rule based system In genetic algorithm every individual are characterized by a fitnessfunction After analysis if there is higher fitness then it means better solution and then after based on their fitness parents are selected to reproduce offspring for a new generation where fitter individuals have more chance to reproduce The objective of the work is to create a model used to generate the acceptable schedule using probabilistic operators
21
10) Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Year -2009
DrGRADHAMANI NIJUPJOSEPH
International Journal of Recent Trends in Engineering
SUMMARYMulti Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set A set of techniques discussed here can be used to enhance searching and retrieving information from an existing fuzzy Knowledge Base (KB) The proposed genetic algorithm tries to be capable of generating solutions from both crisp and fuzzy valued data The search algorithm transforms vague and uncertain data represented as fuzzy sets for accurate solution generation Procedures are proposed which learns from the different available knowledge base for its application on uncertain data In this paper a repeat crossover Genetic Algorithm is formulated for its usage on uncertain data represented as fuzzy sets and it can be implemented for many real world applications
31 Overall description of the project
311 INTRODUCTION
3111)PURPOSE
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only
required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
22
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is
done manually so to help big organisation for there such important task it is important to design a
proper algorithm so that a lot of time can be saved
512) DEFINATION
Timetable Scheduling Problems are particularly challenging for Artificial Intelligence and
Operations Research techniques They are problems of time-based planning and combinatorial
optimization that tend to be solved with a cooperation of search and heuristics which usually lead
to satisfactory but sub-optimal solutions There are many kinds of timetable scheduling problems in
the daily life such as examination lecture transportation timetables In general there are several
common difficulties in these kinds of problems
There exists no deterministic polynomial time algorithm they are computationally NP com-
plete problems
It is very difficult to design effective heuristics Advanced search techniques using various
heuristics to prune the search space will not be guaranteed to find an optimal solution
A general algorithmic approach to a problem may turn out to be inapplicable certain spe-
cial constraints are often required in a particular instance of that problem
Real world timetable scheduling problems often involve constraints that cannot be pre-
cisely represented or even stated
In a timetable-scheduling problem events for example exam subjects must be slotted to certain
times which satisfy several of constraints
Knowledge-based and OR-based approaches to solving such problems are hard to develop are often
slow and can be inflexible because the architecture itself was based on specific assumptions about
23
the nature of the problem Constraint satisfaction techniques have been used to solve hard
constraints however it is more difficult to handle soft constraints such as preferences Most often
people still resort to handcrafted solutions starting from an easier solution and making a sequence of
modifications to cater for changed requirements This typically leads to suboptimal solutions that
bring significant organizational or financial penalties [ 13 developed a Genetic Algorithm (GA)
based timetable system
which has been successfully used by a university
3113) SCOPE
modification of the genetic algorithm by
modified genetic algorithm
coperative genetic algorithm
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
24
3114) OVERVIEW
In the last few years colleges and universities around the world are expanding enrollment in order
to develop more high-quality personnel various countries educational reform is also thorough
unceasingly The essence of course scheduling question is the curriculum the teacher and the
student should be assigned in the appropriate time section to the appropriate classroom It is a multi-
objective scheduling problem which involve more factors and known as the Time table Problem in
operations research (Time table Problem1063384 called TTP) Automated Course Scheduling algorithm
TTP was proved to be NP-complete problem as early as in the 70s The computing time is
exponential increase and integration time and space as dual constraints From classroom (space)
point of view it is similar to the binpacking problem But increased many restraints in the time So it
is a more complex problem than the bin-packing problem We can establish theoretical profundity
from this thesis At present in mathematics did not have an general algorithm to be able to solve the
NP complete problem well Solving the NP complete problem only to be able to depend on the
approximate method many scholars have conducted the research regarding this
3115 Contact informationSRS team members
Vibhanshu wadhwa ( enrol 10503854)
Mrsaurabh k raina (mentor)
312Overall Description
3121) Product perspective
Provide a good algorithm to our audience so that they can generate a helpful time table with
least wastage of their time and recourses
To generate a time table scheduler we have to use heuristic search
Till date most helpful heuristic search has been ldquogenetic algorithmrdquo
We will first define the problem
25
All their constrains soft as well as hard
Our aim is to find a solution which satisfy all the hard constrains for sure and as many soft
constrain as it can in accepatable time and space
Appling heuristic search like genetic algorithm or improved algorihms over genetic al-
gorithm as we have seen earliar
Compare the algorithms
Since it is an NPhard problem and no fully efficient algorithm can be found
As we have learned from the research papers that by using best combination of algorithm
like genetic algorithm(crossover and mutation)
tabu search particle swarm etc
3222 Product functions
Product have many functionalities and wide area for use
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
Efficiently generates timetables so vast number of resources can be utilised
3123)user characteristics
INPUT AND STORAGE program will take all the input from the user and will save it in its
database for all the future computation
26
CREATING RANDOM SOLUTIONS using the above input programby using the appro-
priate algorithm will generate some random solutions
CALCULATING FITTNESS FUNCTION by using the already decided penality program
will calculate the fitness functions of the solutions and will sort them in increasing
APPLYING GENETIC ALGORITHM THROGH MUTATION them by using fitness score
program will apply genetic algorithm or its improved version to create best possible solution
in minimum possible time
SECURITY program will delete all the information of the organisation after creating time-
table and will never upload it publically
EFFICIENCY Program will try to take minimum time and resources
USER-FRIENDLY INTERFACE no knowledge about the software will be required to use
it very straight design
MULTIPLE SOLUTIONS More than 1 acceptable solution will be providedso that organ-
isation can choose out of many solution which one suits them best
Operating environment
27
3124) Designimplementation constraints
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
28
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
10) Managing Uncertain Data using Multi Criteria Repeat Crossover Genetic Algorithm
Year -2009
DrGRADHAMANI NIJUPJOSEPH
International Journal of Recent Trends in Engineering
SUMMARYMulti Criteria Genetic algorithms can produce good balance between their precision and their complexity Systems use genetic algorithms for providing learning and adaptation capabilities from uncertain data set A set of techniques discussed here can be used to enhance searching and retrieving information from an existing fuzzy Knowledge Base (KB) The proposed genetic algorithm tries to be capable of generating solutions from both crisp and fuzzy valued data The search algorithm transforms vague and uncertain data represented as fuzzy sets for accurate solution generation Procedures are proposed which learns from the different available knowledge base for its application on uncertain data In this paper a repeat crossover Genetic Algorithm is formulated for its usage on uncertain data represented as fuzzy sets and it can be implemented for many real world applications
31 Overall description of the project
311 INTRODUCTION
3111)PURPOSE
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only
required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
22
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is
done manually so to help big organisation for there such important task it is important to design a
proper algorithm so that a lot of time can be saved
512) DEFINATION
Timetable Scheduling Problems are particularly challenging for Artificial Intelligence and
Operations Research techniques They are problems of time-based planning and combinatorial
optimization that tend to be solved with a cooperation of search and heuristics which usually lead
to satisfactory but sub-optimal solutions There are many kinds of timetable scheduling problems in
the daily life such as examination lecture transportation timetables In general there are several
common difficulties in these kinds of problems
There exists no deterministic polynomial time algorithm they are computationally NP com-
plete problems
It is very difficult to design effective heuristics Advanced search techniques using various
heuristics to prune the search space will not be guaranteed to find an optimal solution
A general algorithmic approach to a problem may turn out to be inapplicable certain spe-
cial constraints are often required in a particular instance of that problem
Real world timetable scheduling problems often involve constraints that cannot be pre-
cisely represented or even stated
In a timetable-scheduling problem events for example exam subjects must be slotted to certain
times which satisfy several of constraints
Knowledge-based and OR-based approaches to solving such problems are hard to develop are often
slow and can be inflexible because the architecture itself was based on specific assumptions about
23
the nature of the problem Constraint satisfaction techniques have been used to solve hard
constraints however it is more difficult to handle soft constraints such as preferences Most often
people still resort to handcrafted solutions starting from an easier solution and making a sequence of
modifications to cater for changed requirements This typically leads to suboptimal solutions that
bring significant organizational or financial penalties [ 13 developed a Genetic Algorithm (GA)
based timetable system
which has been successfully used by a university
3113) SCOPE
modification of the genetic algorithm by
modified genetic algorithm
coperative genetic algorithm
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
24
3114) OVERVIEW
In the last few years colleges and universities around the world are expanding enrollment in order
to develop more high-quality personnel various countries educational reform is also thorough
unceasingly The essence of course scheduling question is the curriculum the teacher and the
student should be assigned in the appropriate time section to the appropriate classroom It is a multi-
objective scheduling problem which involve more factors and known as the Time table Problem in
operations research (Time table Problem1063384 called TTP) Automated Course Scheduling algorithm
TTP was proved to be NP-complete problem as early as in the 70s The computing time is
exponential increase and integration time and space as dual constraints From classroom (space)
point of view it is similar to the binpacking problem But increased many restraints in the time So it
is a more complex problem than the bin-packing problem We can establish theoretical profundity
from this thesis At present in mathematics did not have an general algorithm to be able to solve the
NP complete problem well Solving the NP complete problem only to be able to depend on the
approximate method many scholars have conducted the research regarding this
3115 Contact informationSRS team members
Vibhanshu wadhwa ( enrol 10503854)
Mrsaurabh k raina (mentor)
312Overall Description
3121) Product perspective
Provide a good algorithm to our audience so that they can generate a helpful time table with
least wastage of their time and recourses
To generate a time table scheduler we have to use heuristic search
Till date most helpful heuristic search has been ldquogenetic algorithmrdquo
We will first define the problem
25
All their constrains soft as well as hard
Our aim is to find a solution which satisfy all the hard constrains for sure and as many soft
constrain as it can in accepatable time and space
Appling heuristic search like genetic algorithm or improved algorihms over genetic al-
gorithm as we have seen earliar
Compare the algorithms
Since it is an NPhard problem and no fully efficient algorithm can be found
As we have learned from the research papers that by using best combination of algorithm
like genetic algorithm(crossover and mutation)
tabu search particle swarm etc
3222 Product functions
Product have many functionalities and wide area for use
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
Efficiently generates timetables so vast number of resources can be utilised
3123)user characteristics
INPUT AND STORAGE program will take all the input from the user and will save it in its
database for all the future computation
26
CREATING RANDOM SOLUTIONS using the above input programby using the appro-
priate algorithm will generate some random solutions
CALCULATING FITTNESS FUNCTION by using the already decided penality program
will calculate the fitness functions of the solutions and will sort them in increasing
APPLYING GENETIC ALGORITHM THROGH MUTATION them by using fitness score
program will apply genetic algorithm or its improved version to create best possible solution
in minimum possible time
SECURITY program will delete all the information of the organisation after creating time-
table and will never upload it publically
EFFICIENCY Program will try to take minimum time and resources
USER-FRIENDLY INTERFACE no knowledge about the software will be required to use
it very straight design
MULTIPLE SOLUTIONS More than 1 acceptable solution will be providedso that organ-
isation can choose out of many solution which one suits them best
Operating environment
27
3124) Designimplementation constraints
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
28
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
even after being such an important area mostly because of complexity of the problem scheduling is
done manually so to help big organisation for there such important task it is important to design a
proper algorithm so that a lot of time can be saved
512) DEFINATION
Timetable Scheduling Problems are particularly challenging for Artificial Intelligence and
Operations Research techniques They are problems of time-based planning and combinatorial
optimization that tend to be solved with a cooperation of search and heuristics which usually lead
to satisfactory but sub-optimal solutions There are many kinds of timetable scheduling problems in
the daily life such as examination lecture transportation timetables In general there are several
common difficulties in these kinds of problems
There exists no deterministic polynomial time algorithm they are computationally NP com-
plete problems
It is very difficult to design effective heuristics Advanced search techniques using various
heuristics to prune the search space will not be guaranteed to find an optimal solution
A general algorithmic approach to a problem may turn out to be inapplicable certain spe-
cial constraints are often required in a particular instance of that problem
Real world timetable scheduling problems often involve constraints that cannot be pre-
cisely represented or even stated
In a timetable-scheduling problem events for example exam subjects must be slotted to certain
times which satisfy several of constraints
Knowledge-based and OR-based approaches to solving such problems are hard to develop are often
slow and can be inflexible because the architecture itself was based on specific assumptions about
23
the nature of the problem Constraint satisfaction techniques have been used to solve hard
constraints however it is more difficult to handle soft constraints such as preferences Most often
people still resort to handcrafted solutions starting from an easier solution and making a sequence of
modifications to cater for changed requirements This typically leads to suboptimal solutions that
bring significant organizational or financial penalties [ 13 developed a Genetic Algorithm (GA)
based timetable system
which has been successfully used by a university
3113) SCOPE
modification of the genetic algorithm by
modified genetic algorithm
coperative genetic algorithm
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
24
3114) OVERVIEW
In the last few years colleges and universities around the world are expanding enrollment in order
to develop more high-quality personnel various countries educational reform is also thorough
unceasingly The essence of course scheduling question is the curriculum the teacher and the
student should be assigned in the appropriate time section to the appropriate classroom It is a multi-
objective scheduling problem which involve more factors and known as the Time table Problem in
operations research (Time table Problem1063384 called TTP) Automated Course Scheduling algorithm
TTP was proved to be NP-complete problem as early as in the 70s The computing time is
exponential increase and integration time and space as dual constraints From classroom (space)
point of view it is similar to the binpacking problem But increased many restraints in the time So it
is a more complex problem than the bin-packing problem We can establish theoretical profundity
from this thesis At present in mathematics did not have an general algorithm to be able to solve the
NP complete problem well Solving the NP complete problem only to be able to depend on the
approximate method many scholars have conducted the research regarding this
3115 Contact informationSRS team members
Vibhanshu wadhwa ( enrol 10503854)
Mrsaurabh k raina (mentor)
312Overall Description
3121) Product perspective
Provide a good algorithm to our audience so that they can generate a helpful time table with
least wastage of their time and recourses
To generate a time table scheduler we have to use heuristic search
Till date most helpful heuristic search has been ldquogenetic algorithmrdquo
We will first define the problem
25
All their constrains soft as well as hard
Our aim is to find a solution which satisfy all the hard constrains for sure and as many soft
constrain as it can in accepatable time and space
Appling heuristic search like genetic algorithm or improved algorihms over genetic al-
gorithm as we have seen earliar
Compare the algorithms
Since it is an NPhard problem and no fully efficient algorithm can be found
As we have learned from the research papers that by using best combination of algorithm
like genetic algorithm(crossover and mutation)
tabu search particle swarm etc
3222 Product functions
Product have many functionalities and wide area for use
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
Efficiently generates timetables so vast number of resources can be utilised
3123)user characteristics
INPUT AND STORAGE program will take all the input from the user and will save it in its
database for all the future computation
26
CREATING RANDOM SOLUTIONS using the above input programby using the appro-
priate algorithm will generate some random solutions
CALCULATING FITTNESS FUNCTION by using the already decided penality program
will calculate the fitness functions of the solutions and will sort them in increasing
APPLYING GENETIC ALGORITHM THROGH MUTATION them by using fitness score
program will apply genetic algorithm or its improved version to create best possible solution
in minimum possible time
SECURITY program will delete all the information of the organisation after creating time-
table and will never upload it publically
EFFICIENCY Program will try to take minimum time and resources
USER-FRIENDLY INTERFACE no knowledge about the software will be required to use
it very straight design
MULTIPLE SOLUTIONS More than 1 acceptable solution will be providedso that organ-
isation can choose out of many solution which one suits them best
Operating environment
27
3124) Designimplementation constraints
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
28
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
the nature of the problem Constraint satisfaction techniques have been used to solve hard
constraints however it is more difficult to handle soft constraints such as preferences Most often
people still resort to handcrafted solutions starting from an easier solution and making a sequence of
modifications to cater for changed requirements This typically leads to suboptimal solutions that
bring significant organizational or financial penalties [ 13 developed a Genetic Algorithm (GA)
based timetable system
which has been successfully used by a university
3113) SCOPE
modification of the genetic algorithm by
modified genetic algorithm
coperative genetic algorithm
Genetic Artificial Immune Network
Combining it with tabu search
Combination of mutation and crossover
Since it is an NPhard problem no best solution can exist there is always scope for more
Create a whole new algorithm for this pupose
Find a new combing algorithm that is we can try to find an alrithm which we can combine
with GA for better result
Try to combine GA with non-informed search like backtracking
Combination of more than two algorithm
Application of mutithreading since there are so many computation are going on there is a
lot of scope for multi-threading
Increasing efficiency by making multi-threading algorithm more efficient
Project can be extend for the use of air-port management team for scheduling flights
Useful for railway management team for scheduling trains
Gives very deep knowledge about how to tackle np-hard problem
24
3114) OVERVIEW
In the last few years colleges and universities around the world are expanding enrollment in order
to develop more high-quality personnel various countries educational reform is also thorough
unceasingly The essence of course scheduling question is the curriculum the teacher and the
student should be assigned in the appropriate time section to the appropriate classroom It is a multi-
objective scheduling problem which involve more factors and known as the Time table Problem in
operations research (Time table Problem1063384 called TTP) Automated Course Scheduling algorithm
TTP was proved to be NP-complete problem as early as in the 70s The computing time is
exponential increase and integration time and space as dual constraints From classroom (space)
point of view it is similar to the binpacking problem But increased many restraints in the time So it
is a more complex problem than the bin-packing problem We can establish theoretical profundity
from this thesis At present in mathematics did not have an general algorithm to be able to solve the
NP complete problem well Solving the NP complete problem only to be able to depend on the
approximate method many scholars have conducted the research regarding this
3115 Contact informationSRS team members
Vibhanshu wadhwa ( enrol 10503854)
Mrsaurabh k raina (mentor)
312Overall Description
3121) Product perspective
Provide a good algorithm to our audience so that they can generate a helpful time table with
least wastage of their time and recourses
To generate a time table scheduler we have to use heuristic search
Till date most helpful heuristic search has been ldquogenetic algorithmrdquo
We will first define the problem
25
All their constrains soft as well as hard
Our aim is to find a solution which satisfy all the hard constrains for sure and as many soft
constrain as it can in accepatable time and space
Appling heuristic search like genetic algorithm or improved algorihms over genetic al-
gorithm as we have seen earliar
Compare the algorithms
Since it is an NPhard problem and no fully efficient algorithm can be found
As we have learned from the research papers that by using best combination of algorithm
like genetic algorithm(crossover and mutation)
tabu search particle swarm etc
3222 Product functions
Product have many functionalities and wide area for use
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
Efficiently generates timetables so vast number of resources can be utilised
3123)user characteristics
INPUT AND STORAGE program will take all the input from the user and will save it in its
database for all the future computation
26
CREATING RANDOM SOLUTIONS using the above input programby using the appro-
priate algorithm will generate some random solutions
CALCULATING FITTNESS FUNCTION by using the already decided penality program
will calculate the fitness functions of the solutions and will sort them in increasing
APPLYING GENETIC ALGORITHM THROGH MUTATION them by using fitness score
program will apply genetic algorithm or its improved version to create best possible solution
in minimum possible time
SECURITY program will delete all the information of the organisation after creating time-
table and will never upload it publically
EFFICIENCY Program will try to take minimum time and resources
USER-FRIENDLY INTERFACE no knowledge about the software will be required to use
it very straight design
MULTIPLE SOLUTIONS More than 1 acceptable solution will be providedso that organ-
isation can choose out of many solution which one suits them best
Operating environment
27
3124) Designimplementation constraints
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
28
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
3114) OVERVIEW
In the last few years colleges and universities around the world are expanding enrollment in order
to develop more high-quality personnel various countries educational reform is also thorough
unceasingly The essence of course scheduling question is the curriculum the teacher and the
student should be assigned in the appropriate time section to the appropriate classroom It is a multi-
objective scheduling problem which involve more factors and known as the Time table Problem in
operations research (Time table Problem1063384 called TTP) Automated Course Scheduling algorithm
TTP was proved to be NP-complete problem as early as in the 70s The computing time is
exponential increase and integration time and space as dual constraints From classroom (space)
point of view it is similar to the binpacking problem But increased many restraints in the time So it
is a more complex problem than the bin-packing problem We can establish theoretical profundity
from this thesis At present in mathematics did not have an general algorithm to be able to solve the
NP complete problem well Solving the NP complete problem only to be able to depend on the
approximate method many scholars have conducted the research regarding this
3115 Contact informationSRS team members
Vibhanshu wadhwa ( enrol 10503854)
Mrsaurabh k raina (mentor)
312Overall Description
3121) Product perspective
Provide a good algorithm to our audience so that they can generate a helpful time table with
least wastage of their time and recourses
To generate a time table scheduler we have to use heuristic search
Till date most helpful heuristic search has been ldquogenetic algorithmrdquo
We will first define the problem
25
All their constrains soft as well as hard
Our aim is to find a solution which satisfy all the hard constrains for sure and as many soft
constrain as it can in accepatable time and space
Appling heuristic search like genetic algorithm or improved algorihms over genetic al-
gorithm as we have seen earliar
Compare the algorithms
Since it is an NPhard problem and no fully efficient algorithm can be found
As we have learned from the research papers that by using best combination of algorithm
like genetic algorithm(crossover and mutation)
tabu search particle swarm etc
3222 Product functions
Product have many functionalities and wide area for use
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
Efficiently generates timetables so vast number of resources can be utilised
3123)user characteristics
INPUT AND STORAGE program will take all the input from the user and will save it in its
database for all the future computation
26
CREATING RANDOM SOLUTIONS using the above input programby using the appro-
priate algorithm will generate some random solutions
CALCULATING FITTNESS FUNCTION by using the already decided penality program
will calculate the fitness functions of the solutions and will sort them in increasing
APPLYING GENETIC ALGORITHM THROGH MUTATION them by using fitness score
program will apply genetic algorithm or its improved version to create best possible solution
in minimum possible time
SECURITY program will delete all the information of the organisation after creating time-
table and will never upload it publically
EFFICIENCY Program will try to take minimum time and resources
USER-FRIENDLY INTERFACE no knowledge about the software will be required to use
it very straight design
MULTIPLE SOLUTIONS More than 1 acceptable solution will be providedso that organ-
isation can choose out of many solution which one suits them best
Operating environment
27
3124) Designimplementation constraints
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
28
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
All their constrains soft as well as hard
Our aim is to find a solution which satisfy all the hard constrains for sure and as many soft
constrain as it can in accepatable time and space
Appling heuristic search like genetic algorithm or improved algorihms over genetic al-
gorithm as we have seen earliar
Compare the algorithms
Since it is an NPhard problem and no fully efficient algorithm can be found
As we have learned from the research papers that by using best combination of algorithm
like genetic algorithm(crossover and mutation)
tabu search particle swarm etc
3222 Product functions
Product have many functionalities and wide area for use
All the universities and schools
for scheduling classes
scheduling exams
scheduling events during the festival
all the airports for scheduling flights
railway stations for scheduling trains
programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
Efficiently generates timetables so vast number of resources can be utilised
3123)user characteristics
INPUT AND STORAGE program will take all the input from the user and will save it in its
database for all the future computation
26
CREATING RANDOM SOLUTIONS using the above input programby using the appro-
priate algorithm will generate some random solutions
CALCULATING FITTNESS FUNCTION by using the already decided penality program
will calculate the fitness functions of the solutions and will sort them in increasing
APPLYING GENETIC ALGORITHM THROGH MUTATION them by using fitness score
program will apply genetic algorithm or its improved version to create best possible solution
in minimum possible time
SECURITY program will delete all the information of the organisation after creating time-
table and will never upload it publically
EFFICIENCY Program will try to take minimum time and resources
USER-FRIENDLY INTERFACE no knowledge about the software will be required to use
it very straight design
MULTIPLE SOLUTIONS More than 1 acceptable solution will be providedso that organ-
isation can choose out of many solution which one suits them best
Operating environment
27
3124) Designimplementation constraints
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
28
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
CREATING RANDOM SOLUTIONS using the above input programby using the appro-
priate algorithm will generate some random solutions
CALCULATING FITTNESS FUNCTION by using the already decided penality program
will calculate the fitness functions of the solutions and will sort them in increasing
APPLYING GENETIC ALGORITHM THROGH MUTATION them by using fitness score
program will apply genetic algorithm or its improved version to create best possible solution
in minimum possible time
SECURITY program will delete all the information of the organisation after creating time-
table and will never upload it publically
EFFICIENCY Program will try to take minimum time and resources
USER-FRIENDLY INTERFACE no knowledge about the software will be required to use
it very straight design
MULTIPLE SOLUTIONS More than 1 acceptable solution will be providedso that organ-
isation can choose out of many solution which one suits them best
Operating environment
27
3124) Designimplementation constraints
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
28
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
3124) Designimplementation constraints
HARD CONSTRAINS
These are the constrains that must be followed during the coding and without satisfying these
constrains solution is not valid They are listed as follows
One teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
Two classes cannot be held in one room at the same time
28
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
A teacher cannot teach on more than maximum allotted hours
There cannot be any classes on holyday
Maximum no of hours allotted for a day cannot be exeeded
SOFT CONSTRAINS
These are the constrains that are not compulsory for a solution to follow but quality of the time
table is decided by accomplishment of these constrains
These are listed as follow
In time table of teacher more 1 hours breaks are preffered then 2or 3 or more hours break
In students time table we have to try to reduce the no of breaks during a dayso that they
have more time for self study at home
Even if there are breaks in students time table we must ensure there are more 1 hour break
rather than 2 or 3 hours break
We must ensure that a group of student donrsquot have to attend collage for only to attend 1 or
two classthere has to be minimum 3 classes in a day so that it will be worth it to come to
collage on a particular day
We must avoid back to back classes for teachers
3125) Assumptions and dependencies
At max 4 variables for which computation is reqired
Number of lectures for batches are not greater than available time for the week
Enough memory is available in the machine for the to do all the required computation
Number of rooms provided are sufficient enough to hold the classes
No ambiguity in the information provided that is repetition wont be handled by the software
Input is done correctly bug due to spelling mistake wont be handledthat is for example
At one place its physics and at another is phisics so these two will be taken as two subject
even might user intended to write the same thing
One teacher only teaches 1 class
29
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
If a batch have a class of particular subject in their curriculum they will be studying it for 1
hour a week
No preferences are allowed for any teacher
32 Functional requirements
Page should be available on the internet for the user
Page should query about if user want to make the time-table
Option about exiting should always be there
Program should be able to take input about teacher and store it
Program should be able to check if no of teachers doesnrsquot over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
Program should be able to take input about batch and store it
Program should be able to check if no of batch doesnrsquot over flow and give error message
accordingly
Then it should be able to provide options about reducing batches or increasing the teachers
Program should be able to check if no of teachers are sufficient for amount of batches by
using information about maximum working hours of the teacher
Program should be able to take input about rooms and store it
Program should be able to check if no of rooms will be sufficient for given batches and dis-
play the error message
Then program should be able to give option about adding new rooms or reducing batches
Program should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
33 Non Functional requirements
30
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
331) Performance requirements
high Number of acceptable solution should be available so that user can choose from differ-
ent solution which ever suits them best
solutions should be created at fast speed so that user do not have to wait for a long time
size of the page on the website should be low so that time take to load our website is low
site should be really easy to use so that user donrsquot have to waste their time in understanding
ldquohow to use itrdquo
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
332)Operating constraints
user should provide all the information
user should no close the window while computation is going on
user should be connect through internet throughout the process
user should have software in which time-table is available for download
333) Platform constraints
user should have a browser in its machine
Ms word or pdf should be download on the userrsquos machine
Server should have operating system that support c++ and html
C++ should be available at the server
334) Accuracy and Precision
User should enter all the data correctly that is no spelling mistake especially when information
31
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
about subject is added
No repletion of data as program will not be prepared to tackle repetition
Software wont be able to provide most efficient result as heuristic search is used
335) portability
As basic software are used like c++ and html software will be portable
35 Design Diagrams
351Use Case diagrams
32
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
332 Class diagrams Control Flow Diagrams
33
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
34
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
35
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
36
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
37
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
38
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
39
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
40
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
4) Implementation details and issues (Focus on Novelty Functionality Complexity and
Quality)
41) Implementation details and issues
Input and storage
The following will be the input which will be taken by the user
name of the teachers in the university
All the subjects they are going to teach
Maximum number of hours allocated to teacher
Name of the different batches
Subject that those different batches will be taught
Name of all the rooms available
Number of days in a week classes are going to be held
These values are stored in text files for faster computation
Storing data into the data structure from text file
Data is read from the text file and stored in the arrays
Following is the list of arrays (only important ones)
Teacher - contains name of the teachers
Batch - contains name of the batch
Subject - contains list of subject
Teach_sub - list of teachers and the subject they teach
Batch _sub - list of batches and subjects they are being taught
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Here we will try to make valid teacher ndashsubject-batch pairs Following are the constrains which
must be followed
Maximum number of teaching hours of teachers must not be exceeded
Teacher should get the classes only for the subjects it teaches
Batch-subject-teacher must be unique
Batch-subject pair within Batch-subject-teacher must be unique
Few other things to take care of
No teacher exist to teach particular subject
Possibility that no teacher left for teaching a particular subject since all existing teachers
have been allocated a class
There are teachers in the university which have no classes to teach
Scope for remove few teachers as even without them all the classes can be allocated easily
Input of the values of ldquoarray finalrdquo into the 3-D array
Here now we will allocate the SNo of the ldquo final rdquo table into this integer 3-D array
42
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
First Index = number of days
Second index =number of time slots in a day
Third Index = number of rooms
In this case
Number of days =5
Number of time slots in a day =8
number of rooms =6
So this array have 586 slotswhich is equals to 240 elementsas shown below
So if there are n values in array ldquofinalrdquo we have to allocate n value to these 240 slots
Nlt=240
There are two methods to do this
1) Random allocation
In this method we chose a random values of
Day
Time
Room
For n times for n combinations of Batch-subject-teacher
And allocate each combination to the index chosen
For example for index 1we get value
Day =4
Tme =7
Room =3
Now if name of the 3-d array is TT
43
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
This impies TT[4][7][3]=1
2) Arrow method
In this method we choose random values of
Day
Time
And NOT room
In this way we have chosen an 1-D array of length 1room
After we choose a random arrow we try to fill all the slot of the arrow by finding valid
values in the ldquofinalrdquo array
As there are daystime number of arrows
We take all the arrows until we allocate all the combinations
We might have to traverse the array ldquofinalrdquo (daytime) times
44
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
Improvement of the basic solution
After the two algorithms used to generate the random solutions we used two methods namely
crossover and mutation to improve the solution
MUTATION
CROSSOVER
45
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
Fitness Function
This is the function that will decide the quality of the time table that are created by putting penality
on each soft constrains accordingly lesser the penalty better is the quality of the time table
Fitness = 1Penalty
Penalty for each soft constrains is as follows
1) For teacherrsquos time table 1 hour break is preferred over 2 or 3 hour breaks so penality for
each break for n hours will be (n-1)^2 ie (n-1)(n-1)
This implies
3 hours ndash penalty of 9
2hours - penalty of 4
2) For each break of n hours of student penalty is (n+1)^3
This implies
2 hour break ndash penalty of 8
3 hours break ndashpenalty of 27
3) If for a batch there is only one class in that day penalty is 5046
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
4) For each back to back classes of teacher penalty of 5
5) If there are any Batch-subject-teacher combination could not be allocated to the 3-d array
then penalty is 500
For example if given below is the time table of the batch b1
DayTime T1 T2 T3 T4 T5 T6 T7 T8
Mon Class1 Class2 Class3
Tue Class4
Wed Class5 Class6 Class7
Thur Class8 Class9
Fri Class10 Class11 Class12
Sat Class13
Calculating Penalty
Using the above instructions we will calculate the penalty
for Monday there are 11hour break and 13hours break
Penalty = ( 1+1)^3+ (3+1)^3
= 2^3+4^3
= 72
penalty on Tuesday
Penalty=50
As there is only one class on that day
412 Algorithms (Module wise- with respect to design)
Novice algorithm
take the ldquodatardquo array start traversing from 1 to n Chose random day and time Es=Empty_space()
47
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
If(es==1) Br = Breaker() If (br==0) Bu= Backup() If (bu==0) store it in unallocated array
Empty_space() For k= 0 to roommax If(there is any unallocated space) Return 1 Breaker() For (k=0 to roomax) Check if that teacher and batch already have any class on arr[day][time][k] If (yes) Return 0 Else Return 1
Backup() Traverse the whole tt serially given daytime be the starting point Es=Empty_space() If(es==1) Br = Breaker() If(br==0) Return 0 Else if(br==1) Return 1 Arrow algorithm
Out of daytime arrow choose them randomly until data is finised or no arrow left
For (k=0 to roommax)
For(i=0 to n) n is maximum value of data needed to be allocated
Check if the data can be allotted
If(yes)
Break
If(no allocation when loop is over)
48
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
Call it unallocated
Mutation
take the best solution
for (i=0 to n) n being predicted value for mutation
choose any two pair if day-time and room
interchange there content
calculate fitness of new solution
if (better)
replace it with earliar solution
Crossover
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
For (i=0 to c)
Element in solution 1 be same
Element in solution 2 be same
For(i=c to n)
Element in solution 1 be from the solution2
Element in solution 2 be from solution 1
42 Risk Analysis and Mitigation
49
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
1 2 3 4 5 6 7 8 9RiskId
Descriptionof Risk
Risk Area( IdentifyRiskAreas foryourproject)
Probability(P)
Impact (I)
RE (PI)
RiskSelectedforMitigation (YN)
Mitigation Planif 8 is lsquoYrsquo
Contingencyplan ifany
1 While creating random solution possibility is large diversity of solution are not selected
Algorithmic H H 5 Y Crossover between different solution is used along with mutation to increase the diversity
2 Instead of going toward maxima due to crossover and mutation which are random quality of the solution decrease
Algorithmic H H 5 Y Uniform crossover can be used which doesnrsquot change the columns which are same for both the parents so that no new conflict is added
3 Even though algorithm converges towards maxima but its local maxima and not global maxima
Algorithmic H H 5 Y Use tabu search to increase the diversity that is tabu search can expand ability of solution to reach global maxima
4 Algorithm is convergin
Algorithmic M H 5 Y During the process best solution is
50
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
g toward global maxima but during mutation or crossover it somehow change the best solution for less better solution
kept safe that is many copies of best solution are made so that even when few copies are used for mutation and crossover we still have best solution for future comparison
5 Program is running for a very long time if solution doesnrsquot converges which might result in memory overflow
algorithmic L H 5 Y Multiple termination conditions are applied based on time as well no of iteration whichever is received first
6 User might make mistake during input of the datathat is for example user might write ldquophysicsrdquo as ldquophisicsrdquo then these will be taken as two different subject
User-input M M 3 N
51
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
even when user didnrsquot intend that
7 User might add repeated data that is user might add name of one reacher twice and during the computation more that maximum number of classes will be added for that teaher
User-input M M 3 N
8 Storage overflow as a large amount of storage is required for computation if software is being run on old machine it might not allow to declare data structure of that high storage capacity
hardware L L 1 N
52
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
9 Even when termination is defined properlyif sorware tried to run on machine with low computation power it will take a lot of time to execute and might even hang the system
hardware L L 1 N
5) Testing (Focus on Quality of Robustness and Testing)
51 Testing Plan
Type of Test Will Test Be
Performed
CommentsExplanations Software Component
53
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
Requirements Testing
YES Requirement Testing is performed to determine that the program modules perform as per the design
specifications provided by end user It will involve testing of all the requirements of the project depending upon various factors like resources budget and time
Requirement testing is testing the requirements whether they are feasible or not Because a project depends on a number of factors like time resources budget etc Before start working on a project its important to test these requirements
Manual work need to plan out all the software requirements time needed to develop technology to be used etc
Unit Testing YES Unit testing will test individual unitscode modules of our Project
Testing by which individual units of source code are tested to determine if they are fit for use
Unit testing will be performed on individual blocks of code like the classes functions user controls etc It will be performed on every small block of code
List of component
input teacher
input batches
time table allotment
mutation application
Integration Testing
YES Integration Testing will be useful for testing the project as a whole The integrated project involves the combination of various unit modules
Integrating the various modules such as inputanalyzing and storing inputgeneration of the time table etc
54
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
Performance Testing
YES Performance testing helps in finding the server response time server response time performance specifications of the system when multiple users are using the system It will help in determining that whether the system meets the performance criteria or not in such a situation
In our project performance will be analyzed on performance of query and concurrency that is thread waiting for other threads completion
Performance of Concerted is taken for multivariate queries and compared
Stress Testing YES Stress testing is normally used to understand the upper limits of capacity within the application landscape It helps in determining the applications robustness in terms of extreme load
Concerted is tested with high volume of data and high number of concurrent threads on various data structures Locking manager and Transaction manager are similarily tested
Wiil be applied on
Noof timetable can be generated and stored
mutation applied
data about teachers batches and subjectonce we define the value of roomday and time
Compliance Testing
NO Compliance testing is the process of verifying whether a product meets the standard product specifications it was designed to meet It determines whether a product or system meets some specified standard that has been developed for efficiency or
Not performing
55
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
interoperability
We do not require this testing as there are no fixed standards in our project work area we basically strive for user satisfaction
Consistency Testing
YES
Consistency testing is where we test the consistency of the data present in our storage structures and before and after transactions on the data
program behaves as the programmer is expecting
Another purpose is to check the robustness of the program
Performing
Load Testing YES
Load testing is performed to determine a systemrsquos behavior under both normal and anticipated peak load conditions
Load testing is normally done by subjecting a computer peripheral server and net application to a work level approaching the limits of its specification to measure its capability
We need to perform load testing before running to ensure scalability of application according to the load
Needs to be performed on whole application
Volume Testing
YES Volume testing refers to testing a software application with a certain amount of data which can be the database size or the interface file
Will set input data to max
56
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
52 Component decomposition and type of testing requiredS
NoList of Various Components that
require testingType of Testing Required
Technique for writing test cases
1 Input of the data Unit Black Box Testing2 Reading values from files and storing them
in data structureUnit Black Box Testing
3 How much input data can be handled Volume Black Box Testing4 No of time tables can be generated and
storedStress black Box Testing
5 No of mutation can be perfromed Stress Black Box Testing6 Generating time tabletrying to allocate
most of the dataUnit White box testing
7 Running code many time by changing data and some times with wrong data
Consistency Black Box Testing
53 List all test cases in prescribedTest Case id Input expected Output Status
PassFail1 Values entered about
teacher and subjectsSaved in the expected format
pass
2 Input values in the data base
Stored correctly in the data structure
pass
3 Values equivalent to the slots in time table
Every slot should be filled
Fail
4 10 Stored correctly in the data structures
Fail
5 Extended upto 900000 Increased performance of the huiristic pass
57
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
6 High no values Allocation with least huiristic
Subjective
7Data setsome times incorrect
Correct outputrobustness
pass
54)Error and Exception Handling
Test case id Test case for components Debugging Technique3 How much input data can be
handled volume Black Box Testing
Print debugging
4 No of time tables can be generated and storedstress black box
Post-mortem debugging
55)Limitations of the solution
Not useful if lectures are of multiple duration There may be an existing solution but might not be able to find it Running time is not polynomial May not give you the most optimal solution May stuck into local optima
Findings amp Conclusion61 FindingsThe initial scheduling problem with large number of binary variables has been reduced tothe acceptable size by eliminating certain dimensions of the problem and encorporating those dimensions into constraints The grouping of several binary variables into one gene valuesignificantly reduced the individual size Now it is possible to try to solve the full size problem (problem of the whole FER schedule) with genetic algorithm approach Such arepresentation of the scheduling problem achieves the acceptable algorithm speed sosmall size problems are solved in tens of seconds Significant improvements have been achieved by using intelligent operators The intelligent algorithm converges much faster thenthe basic algorithm and represents a good starting point for complete solving of the fullscale problem Genetic algorithm with basic operators used random genes for itrsquos operations and was not directed to a solution Adding intelligence to the operators by finding geneswith less conflicts improved algorithmrsquos behavior and overall solution of the problemTo completely solve the full scale problem further algorithms improvements will have to bemade When generating the constraints it could be useful to sign each one so no constraint will be set (and checked) twice Individuals should be generated in such way that classes which are more difficult to schedule occupy the front genes of an individual while classes easier to schedule should occupy the back genes This would be useful for intelligent crossover operator which sets and checks the conflicts from front to back of the individual Also a parallel computing approach should be tried so checking space of the problem could be widened Each thread could start with different initial population and the quality of solution is expected to be better
58
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
Need of new algorithm and its comparison with the old one Old algorithm due to its allotment of classes in random slots results in diversity Which results in incomplete allotment of the of the classes Even though there exists a solution old algorithm was not able find that Its advantage was fast execution Now new algorithm(arrow system) take comparatively more time But its most robust Provide complete solution even for the big data set Complexity is greater
Below are the few comparison of the algorithmData set=67Operating system Ubuntu 1404Application g++ compilerProcessor inter core i5 23 ghzRam 4gbAlgorithm 1is new algorithm (arrow algorithm)Algorithm 2 is pure genetic algorithmy-axis is heuristic valuex-axis is no of mutation
Following is the comparison of the two algorithm
59
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
Below is the time taken by algorithm of different number of mutationy-axis is the time takenx-axis is the number of mutation
Below is the variation of heuristic value with the number of mutation
60
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
The combination of the algorithm proved out to be better instead of using only 1 algorithm when we used combinations of 2 or more algorithm results gets betterAs it is shown below instead of using mutation of tabu search alone combing them in equal proportion gave better fitness value
This is 10-mutation amp 10-tabu vs 20 tabu computations
61
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
This is vs 20 mutation computations vs 10-mutation amp 10-tabu
Tabu vs mutation
62 Conclusion
Genetic search algorithm has been validated in the test and achieved good results Genetic search algorithm is a more practical method convergence is fast and time distributes uniform But in practice conditions may not be terminated the purpose is to provide different possible solutions in order for users to choose However if the constraint conditions are too harsh there may be no feasible solution in such case human intervention is necessary Course scheduling problem is a multidisciplinary hard problems this article attempt genetic algorithm only on the field of course scheduling the encoding of genetic algorithms and parameter settings needed to be improved and explored the effect on the algorithm need be improved in further
63 Future Work
62
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problems
IT IS REQURED IN
All the universities and schools for scheduling classes scheduling exams scheduling events during the festival
all the airports for scheduling flights railway stations for scheduling trains programme management it is the process of managing several related projects often with
the intention of improving an organizations performance
CHALLENGES
It is area of great interest for algorithmist to tackle time-table scheduling problems as not only required by vast organisations but also give them opportunity to tackle NPhard problemsEven if time-table scheduling have vast number of uses around the worldstill in most of the cases it is done manually and softwares are not being used Following are the reasons
NPhard problem and completely efficient solutions are impossible to find Classical algorithm like backtracking just doesnrsquot work may even result in spacetime over
flow Scheduling through heuristic searches also takes a lot of time and spacebut still there is
some hope Algorithms are really complex and are really hard to impement Even then no guarantee of efficient solutions exists Till date at least 10 -15 IEEE paper has been published for scheduling problems but no spe-
cific algorithm have been chosen world-wide by every community Different algorithmist uses different set of combination to satisfy there and their organisa-
tions need It is an on-going and hot topic for present day community to find an standard approach for
time table scheduling
63
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
References
[1]Algorithms of Time table Problem Application and Performance Evaluation in Course
Scheduling System Yunfeng Dong1 Bei Qi2 Wushi Gao1 Qingzhu Wang1Shandong Polytechnic
University Jinan ChinaIEEE-2011
[2]Genetic Algorithms vs Tabu Search in Timetable Scheduling S C ChuB
National Kaohsiung Institute of Technology Taiwan ROC University of South Australia
H L Fang AI Application GroupE amp C Dept China Steel Corp Taiwan ROC
1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing
Systems 31 Aug-I Sept 1999 Adelaide Australia
[3]Solving Timetable Scheduling Problem Using Genetic Algorithms Branimir Sigl Marin Golub
Vedran MornarFaculty of Electrical Engineering and Computing University of Zagreb Unska 3
I0000 Zagreb Croatia 25th Int Conf Information Technology Interfaces IT1 2003 June 16-
1 9 2003 Cavtat Croatia
[4]Timetable Scheduling Using Particle Swarm OptimizationShu-Chuan Chu Yi-Tin ChenDepartment of Information ManagementCheng-Shiu University Jiun-Huei Ho Department of Electronic Engineering Cheng-Shiu University Proceedings of the
First International Conference on Innovative Computing Information and Control
(ICICIC06)
[5]University Time Table Scheduling using Genetic Artificial Immune NetworkAntariksha
Bhaduri 2009 International Conference on Advances in Recent Technologies in
64
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
Communication and Computing[6]USING A GENETIC ALGORITHM OPTIMIZER TOOL TO SOLVEUNIVERSITY
TIMETABLE SCHEDULING PROBLEMSehraneh Ghaemi Mohammad Taghi Vakili Ali
Aghagolzadeh Ghaemi Mvakil Aghagol tabrizuacirFaculty of Electrical amp Computer
EngineeringUniversity Of TabrizIEEE -2006
Vibhanshu Email id vibhanshuwadhwagmailcom
Ph 9013373373 (M)
OBJECTIVE
Aspiring to work in a good development environment that put my abilities to challenge and create value for the organization while contributing to my personal and professional growth
EDUCATIONAL QUALIFICATIONS
Bachelor of Engineering in Computer Science ( 2010-2013) with 69 (till 3rd year) from Jaypee Institute of Information Technology Noida UP
XIIth with 786ASN Senior Secondary School (CBSE)
Xth with 766Kendriya Vidyalaya Noida (CBSE)
TECHNICAL SKILLS
Knowledge of C language Python PHP Worked on various project based on above languages Web Technologies HTMLCSS Basic Hardware Knowledge
65
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief
Vib -hanshu
66
INTRODUCTION
11 General Introduction
Initialization of genetic algorithm
Genetic operators
Termination
2) Background Study
21) Literature Survey
Vibhanshu
PERSONAL SKILLS
Excellent Team worker and team facilitator Highly optimistic ability to work efficiently even under pressure Having a peaceful mind while working Self Confidence Positive attitude and punctual
EXTRA CURRICULAR ACTIVITIES
Participated in skating and table-tennis competition Was part of scout and guide team Active participation in many dramatics music and other cultural events at school Participated in Inter School Science Quiz Contest at School Level
HOBBIES
Listening Music Interacting with people Playing table-tennis Volleyball and many outdoor sports
PERSONAL DETAILS
Fatherrsquos Name Mr Naresh Kumar Date of Birth July 27 1992 Sex Male Marital Status Single Nationality Indian Languages Know English amp Hindi
DECLARATION
I hereby declare that the information given above are true and to the best of my knowledge and belief