Time Table Scheduling Using Genetic Algorithm

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 68

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. ut 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. hey do not use any information about where they are trying to get to unless they
happen to stumble on a goal. !ne 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. he function h(n) is an
underestimate if h(n) is less than or e#ual 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
option for a variety of complex optimization problems that need to be routinely solved in real-
world applications.
he trade"off criteria for deciding whether to use a heuristic for solving a given problem include the
following$
!ptimality$ %hen several solutions e&ist for a given problem, does the heuristic guarantee
that the best solution will be found' (o we actually need the best one'
!
)ompleteness$ %hen several solutions e&ist for a given problem, can the heuristic find them
all' (o we actually need all solutions' *any heuristics are only meant to find one solution.
Accuracy and precision$ )an the heuristic provide a confidence interval for the purported
solution' +s the error bar on the solution unreasonably large'
,&ecution time$ +s this the best known heuristic for solving this type of problem' -ome
heuristics converge faster than others. -ome heuristics are only marginally #uicker than
classic methods.
HER!"#!$ "E%R$H %&'(R!#H) *" $&%""!$%& )E#H(+
./esults about 01"hardness in theoretical computer science make heuristics the only viable option
for a variety of comple& optimization problems that need to be routinely solved in real"world
applications.2
Hence we can see that classical method just cant help to solve 01 hard problems and since time"
table scheduling is an 01 hard problem ,we have to opt for heuristic search algorithm
A(3A0A4, !3,/ )5A--+)A5 -,A/)H
Heuristic evaluations are easy to use, fast and as cheap as you want it . 1lus, since each observed
usability problem is e&plained with reference to an established usability principle, it is fairly easy to
generate fi&es. +t 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. his
makes them considerably easier and cheaper to fi& then than if the problems were to be discovered
in later phases of the design or not at all. herefore, heuristic evaluations stand a better chance of
actually being used in practical design situations.
+t re#uires a certain level of knowledge and e&perience to apply the heuristics effectively hese
usability e&perts are sometimes hard and e&pensive to come by, especially if they need to have
domain e&pertise. +f 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 (ifferences 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
therefore run the risk of finding one"time, low"priority problems. hese problems may not be
"
important to correct. 6inally, heuristic evaluations does not allow a way to assess the #uality of
redesigns .
7acktracking is one of methods for the problem which has a combination of solutions of a large but
still limited number. +ts important feature is solution space generated in the search while
implementing. +ts shortcoming is the bigger
time comple&ity. herefore we should use it with caution8 +t is best used in combination with other
algorithms.
#xecution time$execution time of heuristic search is very less then blind or classical searches
+!,,EREN# #-PE" (, HER!"#!$ "E%R$HE"
./
'ENE#!$ %&'(R!#H)
In the computer science field of artificial intelligence, a genetic algorithm %&'( 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.
)!*
&enetic
algorithms belong to the larger class of evolutionary algorithms %#'(, which generate solutions to
optimization problems using techniques inspired by natural evolution, such as inheritance, mutation,
selection, and crossover.
Initialization of genetic algorithm
population. he population size depends on the nature of the problem, but typically contains several
hundreds or thousands of possible solutions. raditionally, the population is generated randomly,
allowing the entire range +nitially many individual solutions are (usually) randomly generated to
form an initial of possible solutions (the search space). !ccasionally, the solutions may be 9seeded9
in areas where optimal solutions are likely to be found.
+election
(uring each successive generation, a proportion of the e&isting population is selected to breed a
new generation. +ndividual solutions are selected through a fitness"based process, where fitter
solutions (as measured by a fitness function) are typically more likely to be selected. )ertain
selection methods rate the fitness of each solution and preferentially select the best solutions. !ther
methods rate only a random sample of the population, as the former process may be very time"
consuming.
,
#he fitness function is defined over the genetic representation and measures the #uality of the
represented solution. he fitness function is always problem dependent. 6or instance, in the
knapsack problem one wants to ma&imize the total value of objects that can be put in a knapsack of
some fi&ed 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 (: or ;) represents whether or not the object is
in the knapsack. 0ot every such representation is valid, as the size of objects may e&ceed the
capacity of the knapsack. he fitness of the solution is the sum of values of all objects in the
knapsack if the representation is valid, or : otherwise.
+n some problems, it is hard or even impossible to define the fitness e&pression8 in these cases, a
simulation may be used to determine the fitness function value of a phenotype (e.g. 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
he ne&t step is to generate a second generation population of solutions from those selected through
genetic operators$ crossover (also called recombination), and<or mutation.
6or each new solution to be produced, a pair of 9parent9 solutions is selected for breeding from the
pool selected previously. 7y producing a 9child9 solution using the above methods of crossover and
mutation, a new solution is created which typically shares many of the characteristics of its
9parents9. 0ew 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 9biology inspired9, some research

suggests that more than
two 9parents9 generate higher #uality chromosomes.
hese processes ultimately result in the ne&t generation population of chromosomes that is different
from the initial generation. 4enerally 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. hese less fit solutions ensure genetic diversity
within the genetic pool of the parents and therefore ensure the genetic diversity of the subse#uent
generation of children.
!pinion is divided over the importance of crossover versus mutation. here are many references in
6ogel (=::>) 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"e&tinction, or migration in genetic algorithms.
?@A
+t 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
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. here are theoretical but not yet practical
upper and lower bounds for these parameters that can help guide selection through e&periments (see
utorials).
Mutation is a genetic operator used to maintain genetic diversity from one generation of a
population of genetic algorithm chromosomes to the ne&t. +t is analogous to biological mutation.
*utation alters one or more gene values in a chromosome from its initial state. +n mutation, the
solution may change entirely from the previous solution. Hence 4A can come to better solution by
using mutation. *utation occurs during evolution according to a user"definable mutation
probability. his probability should be set low. +f it is set too high, the search will turn into a
primitive random search.
he classic e&ample of a mutation operator involves a probability that an arbitrary bit in a genetic
se#uence 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 se#uence. his random variable
tells whether or not a particular bit will be modified. his mutation procedure, based on the
biological point mutation, is called single point mutation. !ther types are inversion and floating
point mutation. %hen the gene encoding is restrictive as in permutation problems, mutations are
swaps, inversions and scrambles.
he purpose of mutation in 4As is preserving and introducing diversity. *utation 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. his reasoning also e&plains the fact
that most 4A systems avoid only taking the fittest of the population in generating the ne&t but rather
a random (or semi"random) selection with a weighting toward those that are fitter.
?;A
6or different genome types, different mutation types are suitable$
7it string mutation
he mutation of bit strings ensue through bit flips at random positions.
.
,&ample$
; : ; : : ; :
; : ; : ; ; :
)/!--!3,/
+n genetic algorithms, crossover is a genetic operator used to vary the programming of a
chromosome or chromosomes from one generation to the ne&t. +t is analogous to reproduction and
biological crossover, upon which genetic algorithms are based. )ross over is a process of taking
more than one parent solutions and producing a child solution from them. here are methods for
selection of the chromosomes. hose are also given below.
Termination
his generational process is repeated until a termination condition has been reached. )ommon
terminating conditions are$
A solution is found that satisfies minimum criteria
6i&ed number of generations reached
Allocated budget (computation time<money) reached
he highest ranking solutionBs fitness is reaching or has reached a plateau such that
successive iterations no longer produce better results
*anual inspection
)ombinations of the above
0/
#%1 "E%R$H
/
abu search, created by 6red %. 4lover in ;CD>

and formalized in ;CDC, is a metaheuristic search
method employing local search methods used for mathematical optimization.
5ocal (neighborhood) searches take a potential solution to a problem and check its immediate
neighbors (that is, solutions that are similar e&cept for one or two minor details) in the hope of
finding an improved solution. 5ocal search methods have a tendency to become stuck in suboptimal
regions or on plateaus where many solutions are e#ually fit.
abu search enhances the performance of these techni#ues by using memory structures that describe
the visited solutions or user"provided sets of rules.
?=A
+f a potential solution has been previously
visited within a certain short"term period or if it has violated a rule, it is marked as 9tabu9
(forbidden) so that the algorithm does not consider that possibility repeatedly.
abu search (-) is a metaheuristic algorithm that can be used for solving combinatorial
optimization problems (problems where an optimal ordering and selection of options is desired).
he memory structures used in tabu search can roughly be divided into three categories$
?@A
E -hort"term$ he list of solutions recently considered. +f a potential solution appears on the tabu
list, it cannot be revisited until it reaches an e&piration point.
E +ntermediate"term$ +ntensification rules intended to bias the search towards promising areas of the
search space.
E 5ong"term$ (iversification rules that drive the search into new regions (i.e. regarding resets when
the search becomes stuck in a plateau or a suboptimal dead"end).
-hort"term, intermediate"term and long"term memories can overlap in practice. %ithin these
categories, memory can further be differentiated by measures such as fre#uency and impact of
changes made. !ne e&ample of an intermediate"term memory structure is one that prohibits or
encourages solutions that contain certain attributes (e.g., solutions which include undesirable or
desirable values for certain variables) or a memory structure that prevents or induces certain moves
(e.g. based on fre#uency memory applied to solutions sharing features in common with unattractive
or attractive solutions found in the past). +n short"term memory, selected attributes in solutions
recently visited are labeled 9tabu"active.9 -olutions that contain tabu"active elements are banned.
Aspiration criteria are employed that override a solutionBs tabu state, thereby including the
otherwise"e&cluded solution in the allowed set (provided the solution is .good enough2 according to
a measure of #uality or diversity). A simple and commonly used aspiration criterion is to allow
0
solutions which are better than the currently"known best solution.
-hort"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
for solving harder problems.
?>A
abu search is often benchmarked against other metaheuristic
methods " such as -imulated annealing, genetic algorithms, Ant colony optimization algorithms,
/eactive search optimization, 4uided 5ocal -earch, or greedy randomized adaptive search. +n
addition, tabu search is sometimes combined with other metaheuristics to create hybrid methods.
he most common tabu search hybrid arises by joining - with -catter -earch,
?FA?DA
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.
abu list$ solution that have been visited recently and cannot be visited in near future until
e&piration
Aspiration list$
)onditions at which tabu list members will be considered .usually ie
+f penalty of tabued solution is less than current best
)andidate list$
All the top #uality solutions are kept here and the best is chosen as current best
+f solution in candidate list is chosen as current, that entry is tabued so in ne&t few steps it wonGt be
considered
0!, $ we have to choose from candidate list even if it is worse than current solution
!." 1roblem +tatement
%e are going to use genetic algorithm to solve university time table scheduling problem. imetable
scheduling is an 01 hard problem. *any different ways and algorithm were used like backtracking,
dynamic programing, brute force etc. but all these methods were really inefficient as well as #uality
of the solution was mediocre. hrough already published research papers we can conclude heuristic
search algorithms are way more time efficient and give better #uality of the solution. there are many
heuristic algorithms like simulated annealing , tabu search ,genetic algorithm which can be useful to
achieve a good #uality solution .but using a combination of these algorithm was apparently more
useful.
Here our approach is focused on 4enetic Algorithm but use of other algorithms (heuristic or non"
heuristic ) is there wherever its proved to be better.
2
6ollowing is the problem statement for creating a Hniversity timetable
he 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.
*a&imum number of hours allocated to teacher
0ame of the different batches
-ubject that those different batches will be taught
0ame of all the rooms available
0umber of days in a week classes are going to be held
0ow we have three variables namely$
-tudents (batches)
eachers
-ubjects
6ollowing are the assumptions before we make 7atch"-ubject"eacher combinations
!ne teacher only teaches ; class
+f a batch have a class of particular subject in their curriculum, they will be studying it for ;
hour a week
0o preferences are allowed for any teacher
Here we will try to make valid teacher Isubject"batch pairs, 6ollowing are the constrains which
must be followed
*a&imum number of teaching hours of teachers must not be e&ceeded
eacher should get the classes only for the subjects it teaches
7atch"subject"teacher must be uni#ue
7atch"subject pair within 7atch"subject"teacher must be uni#ue
his is the main array (char final)
-0! 7atch eacher subject
; 7; ; -=
= 7= = -=
J 7K J -;
.
.
LLLL..
LLLL.
LLLL..
LLLL.
LLLL..
LLLL.
3
.
=@
.
.
.
F@
.
.
LLLL..
LLLL..
LLLL..
LLLL..
LLLL..
LLLL..
6ollowing are the errors and scope for further analysis of the allocation
0o teacher e&ist to teach particular subject
1ossibility that no teacher left for teaching a particular subject, since all e&isting teachers
have been allocated a class
here are teachers in the university which have no classes to teach
-cope for remove few teachers ,as even without them all the classes can be allocated easily
0ow we have allocated a uni#ue integer to every batch Isubject Iteacher combination and we will
try to allocate those integers to an J"( array
!4
6irst +nde& M number of days
-econd inde& Mnumber of time slots in a day
hird +nde& M number of rooms
%e will try to allocate each integer to ; of the slots here
HARD CONSTRAINS
hese are the constrains that must be folloe! during the coding. and without satisfying these
constrains solution is not valid. hey are listed as follows$
!ne teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
wo classes cannot be held in one room at the same time
A teacher cannot teach on more than ma&imum allotted hours
here cannot be any classes on holyday
*a&imum no. of hours allotted for a day cannot be e&ceeded
SO"T CONSTRAINS
hese are the constrains that are not compulsory for a solution to follow , but #uality of the time
table is decided by accomplishment of these constrains
hese are listed as follow.
+n 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.
%e must ensure that a group of student donGt have to attend collage for only to attend ; class
not more than timema&<= class for teacher and student
less breaks for teachers
"ITNESS "UNCTION
!!
his is the function that will decide the #uality of the time table that are created by putting penality
on each soft constrains accordingly .lesser the penalty better is the #uality of the time table.
6itness M ;<1enalty
1enalty for each soft constrains is as follows
;) 6or teacherGs time table ; hour break is preferred over = or J hour breaks .so penality for
each break for n hours will be (n";)N= i.e. (n";)O(n";)
=) his implies
J hours I penalty of C
=hours " penalty of K
6or each break of n hours of student penalty is (n)NJ
his implies
= hour break I penalty of D
J hours break Ipenalty of =F
J) +f for a batch there is only one class in that day penalty is J:
K) 6or each back to back classes of teacher penalty of @
@) +f there are any 7atch"subject"teacher combination could not be allocated to the J"d array
then penalty is @::
AIM
!ur aim is to find the best time tables having the following #ualities
6ollow all the hard constrain
*aking optimal use of the resources
7est fitness function
1.4) Approach to problem in terms of technology /platform to be used
's we are using genetic algorithm to generate time5table, which consist of three methods namely
crossover, mutation and calculating fitness functions , &enetic algorithm instead of focusing on one
most optimal solution ,it focus on many different sub5optimal solution ,that results in high need of
computation and memory.
+o for this project due to high computation needs we are using 677 , since it is most optimum in
terms of computation.
INPUT AN !T"#A$%
!"
0ame of the teachers, subjects and batches is taken as input
All these values will be stored in different te&t files. %e chose to store it in te&t file instead of
database because of the computational advantage. And no sensitive data is needed to be stored.
Storing !ata into the !ata structure from te#t file
(ata is read from the te&t file and stored in the arrays
6rom that2 array final2 is created
In$ut of the %alues of &arra' final( into the )*D arra'
wo different algorithms are used one is the the basic random algorithm
!ther one is the new algorithm called (.arrow system2)
hese two different algorithms are compared and analysed.
Im$ro%ement of the basic solution
wo different ways are there to do that
)rossover
*utation
Deci!ing the best solution to a$$l' the crosso%er an! mutation
/oulette %heel -election
/ank -election
ournament selection
"itness "unction
+t is the measure .How good the solution is 2
ime"table of every teacher and batch is stored in different arrays
6itness function defined above is applied
1.&)!upport for No'elty/ significance of problem
+t is area of great interest for algorithmist to tackle time"table scheduling problems as not only
re#uired by vast organisations but also give them opportunity to tackle 01hard problems
IT IS RE+URED IN ,
All the universities and schools
for scheduling classes
scheduling e&ams
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 organization8s performance
even after being such an important area ,mostly because of comple&ity 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 algorithm
4enetic Artificial +mmune 0etwork
)ombining it with tabu search
)ombination of mutation and crossover
-imulated annealing
-ince it is an 01hard problem, no best solution can e&ist ,there is always scope for more
)reate a whole new algorithm for this pupose
6ind a new combing algorithm, that is we can try to find an alrithm which we can combine
with 4A for better result
ry to combine 4A with non"informed search like backtracking
)ombination 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
+ncreasing efficiency by making multi"threading algorithm more efficient
1roject can be e&tend for the use of air"port management team, for scheduling flights
Hseful for railway management team for scheduling trains
4ives very deep knowledge about , how to tackle np"hard problem.
+ntented audience
Airport management staff
/ailway management staff
Hniversities
-chools
!rganisation working on time based projects
!-
1.( $i'e tabular comparison of other e)isting approaches/ solution to the problem framed
;)
4enetic Algorithms vs. abu
-earch in imetable -cheduling
.4A provide diverse values of solution
. tabu search is faster
.4A reaches to global ma&ima
abu reaches to local na&ima
=)
-olving imetable -cheduling 1roblem
Hsing 4enetic Algorithms
.4A provide diverse values of solution
.4A reaches to global ma&ima
.mutation increases the diversity
-aving the best solution is helpful
J)
imetable -cheduling Hsing 1article -warm
!ptimization
.1roved to be better then traditional 4A
.)onverges faster
. not compared with improved genetic algorithm
K)
H-+04 A 4,0,+) A54!/+H*
!1+*+P,/ !!5 ! -!53,
H0+3,/-+Q +*,A75, -)H,(H5+04
1/!75,*
Mo!ifie! genetic algorithm-mga.
two sets of chromosomes are
made(solutions)
J chromosomes from set; are taken
hey are allowed crossover with all the
chromosomes os set=
his reduce the candidate solution
Hence decresce the calculations
Coo$erati%e genetic algorithm
wo spicies of chromosomes ( solutions)
are made
hree solutions are chosen from each
spicies
hey are allowed to crossover
)alculation decrese 7ut diversity also
decreases
@)
Hniversity ime able -cheduling using
4enetic Artificial +mmune 0etwork
.memetic algorithm, 4A+0 greatly coutperforms
4A
.very promising algorithm for solving the time
tabling problem.
.)onverges faster
.reaches global ma&ima
!.
>)
Algorithms of ime table 1roblem
Application and
1erformance ,valuation in )ourse
-cheduling
-ystem
.4A provide diverse values of solution
.4A reaches to global ma&ima
.mutation increases the diversity
.-aving the best solution is helpful
. all the steps are same but instead of mutation
,sometimes tabu search is performed.
F)An Algorithm to Automatically 4enerate
-chedule for
-chool 5ectures Hsing a Heuristic Approach
. e&tension to constraint propagation
.some pre constrains can save a lot of
computation
.fitness fuction is improved
D)A +*,A75, 1/,(+)+!0 6!/
,)H0+)A5
,(H)A+!0A5 -Q-,* H-+04
4,0,+) A54!/+H*
imetables are randomly selected from the
population and used for breeding. 0o
favouritism is given to fitter timetables.
C) Hse of Active /ules and 4enetic Algorithm
to 4enerate the automatic ime"able
. he objective of the work is to create a model
used to generate the acceptable schedule using
probabilistic operators.
;:)*anaging Hncertain (ata using *ulti
)riteria /epeat )rossover 4enetic Algorithm
*ulti )riteria 4enetic algorithms can produce
good balance between their precision and their
comple&ity. -ystems use genetic algorithms for
providing learning and adaptation capabilities
from uncertain data set
=) 7ackground -tudy
2.1) Literature Survey
;)
4enetic Algorithms vs. abu
-earch in imetable -cheduling
-. ). )huO7
0ational Raohsiung +nstitute of echnology, aiwan, /.!.)., OHniversity of -outh Australia,
H. 5. 6ang , A+ Application 4roup
,. S ). (ept, )hina -teel )orp, aiwan, /!)
+,,,,;CCC
!/
to find the optimum solution throught genetic algorithm through genetic algorithm and tabu
search,both of them can beat searching like back tracking hands down.in this research paper tabu
search performed better than genetic algorithm. -till since this was the first paper to tackle
scheduling problem through heuristic search so this have great importance in this major project.
=)
-olving imetable -cheduling 1roblem
Hsing 4enetic Algorithms
7ranimir -igl, *arin 4olub, 3edran *ornar
6aculty of ,lectrical ,ngineering and )omputing, Hniversity of Pagreb
Hnska J, +:::: Pagreb, )roatia
+,,,"=::J
his paper uses genetic algorithm to solve the time table scheduling problem using J"d array of
day ,tim and classes,and uses crossover and mutation process to optimise.this paper also make huge
improvement over genetic algorithm as shown above.main difference between this and the above
research paper is the improvement that they did on genetic algorithm,stating
he first step of the improved crossover operator simply copies e#ual genes from parents to the
child individual. 0o additional conflicts can be added through copying those e#ual values. (ifferent
parentGs genes are specially marked and delegated for further processing. +n the second step, the
crossover operator checks the list of e#uations for each marked gene in child individual and counts
the number of potential conflicts generated for both parentGs choices. he 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.
J)
Timetable Sche!uling Using /article Sarm O$timization
-hu")huan )hu, Qi"in )hen
(epartment of +nformation *anagement
)heng"-hiu Hniversity
Tiun"Huei Ho, (epartment of ,lectronic ,ngineering, )heng"-hiu Hniversity
Here this algorithm chooses ;: "=: random solutions and call them lolal ma&imaGs.and out of those
!0
=: solutions whichever is the best is called global ma&ima .each of those =: solutions are changed
by changing ="J of their positions that are chosen randomly .to find better solutions .out of those =:
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 ma&imaGs
as compare to genetic algorithm(traditional)algorithm performed better ,but in this paper it is not
compared with improved genetic algorithm.
K)
USIN0 A 0ENETIC A10ORITHM O/TIMI2ER TOO1 TO SO13E
UNI3ERSIT4 TIMETA51E SCHEDU1IN0 /RO51EM
-ehraneh 4haemi *ohammad aghi 3akili Ali Aghagolzadeh
U4haemi, *vakil, AghagolV Wtabrizu.ac.ir
6aculty of ,lectrical S )omputer ,ngineering
Hniversity !f abriz
+,,,"=::F
Mo!ifie! genetic algorithm-mga.
two sets of chromosomes are made(solutions)
J chromosomes from set; are taken
hey are allowed crossover with all the chromosomes os set=
his reduce the candidate solution
Hence decresce the calculations
Coo$erati%e genetic algorithm
wo spicies of chromosomes ( solutions) are made
hree solutions are chosen from each spicies
hey are allowed to crossover
)alculation decrese
7ut diversity also decreases
his type of chromosome representation needs less number of bits for each gene. herefore
algorithm needs shorter time for running. he obtained results show that -X operator in upper
mutation rates and HX and *HX operator in lower mutation rates perform well and *HX operator
is better than others. 7y varying mutation rate during algorithm running better results are achieved.
!2
Also ournament selection operates better than /ank %eighting selection. he *4A and )4A
methods with population size less than 4A yield better results and accelerate the algorithm. 0ote
that the unsatisfied constraints number with )4A method is less than *4A method
@)
Uni%ersit' Time Table Sche!uling using 0enetic Artificial Immune Netor6
Antariksha 7haduri
+,,,"=::C
-cheduling is one of the important tasks encountered in real life situations. 3arious scheduling
problems are present, like personnel scheduling, production
scheduling, education time table scheduling etc. ,ducational time table scheduling is a difficult task
because of the many constraints that are needed to be satisfied in order to get aY feasible solution.
,ducation time table scheduling problem is known to be 01 Hard. Hence, evolutionary techni#ues
have been used to solve the time table scheduling problem. *ethodologies like 4enetic Algorithms
(4As), ,volutionary Algorithms (,As) etc have been used with mi&ed success. +n this paper, we
have reviewed the problem of educational time table scheduling and solving it with 4enetic
Algorithm. %e have further solved the problem with a memetic hybrid algorithm, 4enetic Artificial
+mmune 0etwork (4A+0) and compare the result with that obtained from 4A. /esults show that
4A+0 is able to reach the optimal feasible solution faster.than that of 4A.
+n this paper, we discussed in detail the educational time tabling problem, which is basically a
scheduling problem. he problem is known to be 01 hard, and is of very high importance to
educational institutes. %e 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.
hen, the problem is structured and a chromosome<network cell design with genetic operators used
is provided for solving it. 6inally, we solved the problem using 4enetic Algorithm and a hybrid
memetic algorithm, 4A+0 and the results are compared. /esults showed that the memetic
algorithm, 4A+0 greatly coutperforms 4A and hence proved to be a very promising algorithm for
solving the time tabling problem.
>)
Algorithms of Time table Problem Application and
Performance Evaluation in Course Scheduling
System
Qunfeng (ong;, 7ei Zi=, %ushi 4ao;, Zingzhu %ang;
!3
-handong 1olytechnic Hniversity, Tinan, )hina
,"mail$ dyfWspu.edu.cn, #bWspu.edu.cn, gwsWspu.edu.cn,
w#zWspu.edu.cn
5an %ang, )enter Hospital, -handong 5uneng 4roup )o. 5td Tinan, )hina
,"mail$ #iufengdongW;>J.com
+,,,"=:;;
Summar'
abu search algorithm can accept inferior solutions in the search process8 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. hen the search can escape from local optimal solution,
and turn to other areas, increasing the probability of global optimum solution for local search. %e
use tabu search to replace the mutation operator. he tabu search can get better
individual solutions, and be out of local optimum he 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 fre#uently, it waste running time. +n fact, we can call the tabu search to replace the
mutation operation in appropriate time. -o basically all the steps are same but instead of mutation
,sometimes tabu search is performed. 4enetic search algorithm has been validated in the test and
achieved good results. 4enetic search algorithm is a more practical method, convergence is fast,
and time distributes uniform. 7ut 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. )ourse 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 e&plored, the effect on the algorithm need be
improved in further.
7.
An Algorithm to Automaticall' 0enerate Sche!ule for
School 1ectures Using a Heuristic A$$roach
Anirudha 0anda, *anisha 1. 1ai, and Abhijeet 4ole
SUMMAR4
+n this paper authors have tried to avoid random selection, by there point of view
+t decreases an overhead of computation when we apply all the proper condition while mapping
teachers with time"room
"4
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
he intention of the algorithm to generate a time"table schedule automatically is satisfied. he
algorithm incorporates a number of techni#ues, aimed to improve the efficiency of the search
operation. +t also, addresses the important hard constraint of clashes between the availability of
teachers. he non"rigid soft constraints i.e. optimization objectives for the search operation are also
effectively handled. 4iven the generality of the algorithm operation, it can further be adapted to
more specific scenarios, e.g. Hniversity, e&amination scheduling and further be enhanced to create
railway time tables. hus, through the process of automation of the time"table problem, many an"
hours of creating an effective timetable have been reduced eventually. he most interesting future
direction in the development of the algorithm lies in its e&tension to constraint propagation. %hen
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. he information about
such prohibited value.
D) A +*,A75, 1/,(+)+!0 6!/ ,)H0+)A5
,(H)A+!0A5 -Q-,* H-+04 4,0,+) A54!/+H*
SANDEE/ SIN0H RA8AT an! 1A9SHMI RA:AMANI
Qear"=:;:
Journal of Theoretical and Applied Information Technology
SUMMAR4
his paper deals with the implementation of a computer program, which employs 4enetic
Algorithms (4As) in the #uest for an optimal class timetable generator. he program is written in
Tava and incorporates a repair strategy for faster evolution. his paper also e&plains an e&ample
usage of 4enetic Algorithms (4As) for finding optimal solutions to the problem of )lass imetable.
+t is seen that the 4A could be improved by the further incorporation of repair strategies, and is
readily scalable to the complete timetabling problem. he system at present does not take care of
other constraints like unavailability of lecturers, small size of rooms and time re#uired by the
lecturer to move from one class timetable is used at the dept.
8HAT;S NE8
5ree!ing Timetables
imetables are randomly selected from the population and used for breeding. 0o favouritism is
given to fitter timetables. A child timetable is bred by performing unity order based crossover on the
parents. his means that each parent has an e#ual chance of providing each gene.
"!
<. Use of Acti%e Rules an! 0enetic Algorithm to 0enerate the automatic Time*Table
7harkha 0arang Ambika and /ashmi 7ansal
Qear"=:;J
International Conference on Emerging Tren!s in Engineering an! Management
SUMMAR4
his document proposes an optimized techni#ue to automate time table generation system. ime
table generation system involves various challenging constraints of resources including faculties,
rooms, time slots etc. he roposed techni#ue filters out the best of active rules and
4enetic algorithm to generate the optimized solution. 4enetic Algorithm and Active /ules together
form a complete sphere for developing a system, which needs to satisfy various constraints. Active
/ules provide .event"condition"action2 model for the implementation of any rule based system. +n
genetic algorithm every individual are characterized by a fitness
function. 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. he objective of the work is to create a model used to
generate the acceptable schedule using probabilistic operators.
;:) *anaging Hncertain (ata using *ulti )riteria
/epeat )rossover 4enetic Algorithm
Qear "=::C
(r.4./A(HA*A0+ 0+TH.1.T!-,1H
+nternational Tournal of /ecent rends in ,ngineering
SUMMAR4
*ulti )riteria 4enetic algorithms can produce good balance between their precision and their
comple&ity. -ystems use genetic algorithms for providing learning and adaptation capabilities
from uncertain data set. A set of techni#ues discussed here, can be used to enhance searching and
retrieving information from an e&isting fuzzy Rnowledge 7ase (R7). he proposed genetic
algorithm tries to be capable of generating solutions from both crisp and fuzzy valued data. he
search algorithm transforms vague and uncertain data represented as fuzzy sets for accurate
solution generation. 1rocedures are proposed which learns from the different available knowledge
base for its application on uncertain data. +n this paper, a repeat crossover 4enetic Algorithm is
formulated for its usage on uncertain data represented as fuzzy sets and it can be implemented for
many real world applications.
*.1 "'erall description of the pro+ect
""
)=>=> INTRODUCTION
)=>=>=>./UR/OSE
+t is area of great interest for algorithmist to tackle time"table scheduling problems as not only
re#uired by vast organisations but also give them opportunity to tackle 01hard problems
IT IS RE+URED IN ,
All the universities and schools
for scheduling classes
scheduling e&ams
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 organization8s performance
even after being such an important area ,mostly because of comple&ity 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 .
?=>=@. DE"INATION
imetable -cheduling 1roblems are particularly challenging for Artificial +ntelligence and
!perations /esearch techni#ues. hey 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. here are many kinds of timetable scheduling problems in
the daily life, such as e&amination, lecture, transportation timetables. +n general, there are several
common difficulties in these kinds of problems$
",
here e&ists no deterministic polynomial time algorithm8 they are computationally NP
complete problems.
+t is very difficult to design effective heuristics8 Advanced search techni#ues 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 inapplicable8 certain
special constraints are often re#uired in a particular instance of that problem.
Real world timetable scheduling problems often involve constraints that cannot be
precisely represented or even stated.
+n a timetable"scheduling problem, events, for e&ample e&am subjects, must be slotted to certain
times which satisfy several of constraints.
Rnowledge"based and !/"based approaches to solving such problems are hard to develop, are often
slow and can be infle&ible because the architecture itself was based on specific assumptions about
the nature of the problem. )onstraint satisfaction techni#ues have been used to solve hard
constraints8 however, it is more difficult to handle soft constraints such as preferences. *ost often
people still resort to handcrafted solutions starting from an easier solution and making a se#uence of
modifications to cater for changed re#uirements. his typically leads to suboptimal solutions that
bring significant organizational or financial penalties. ? ;J developed a 4enetic Algorithm (4A)
based timetable system
which has been successfully used by a university.
)=>=>=). SCO/E
modification of the genetic algorithm by
modified genetic algorithm
coperative genetic algorithm
4enetic Artificial +mmune 0etwork
)ombining it with tabu search
"-
)ombination of mutation and crossover
-ince it is an 01hard problem, no best solution can e&ist ,there is always scope for more
)reate a whole new algorithm for this pupose
6ind a new combing algorithm, that is we can try to find an alrithm which we can combine
with 4A for better result
ry to combine 4A with non"informed search like backtracking
)ombination 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
+ncreasing efficiency by making multi"threading algorithm more efficient
1roject can be e&tend for the use of air"port management team, for scheduling flights
Hseful for railway management team for scheduling trains
4ives very deep knowledge about , how to tackle np"hard problem.
*.1.1.4) ",%#,I%-
+n the last few years, colleges and universities around the world are e&panding enrollment in order
to develop more high"#uality personnel, various countriesB educational reform is also thorough
unceasingly. he essence of course scheduling #uestion is the curriculum, the teacher and the
student should be assigned in the appropriate time section to the appropriate classroom. +t is a multi"
objective scheduling problem which involve more factors, and known as the ime table 1roblem in
operations research (ime table 1roblem[ called 1). Automated )ourse -cheduling algorithm,
1, was proved to be 01"complete problem as early as in the F:s. he computing time is
e&ponential increase, and integration time and space as dual constraints. 6rom classroom (space)
point of view it is similar to the binpacking problem. 7ut increased many restraints in the time. -o it
".
is a more comple& problem than the bin"packing problem. %e can establish theoretical profundity
from this thesis. At present, in mathematics did not have an general algorithm to be able to solve the
01 complete problem well. -olving the 01 complete problem only to be able to depend on the
appro&imate method, many scholars have conducted the research regarding this.
*.1.1.& .ontact information/!#! team members
3ibhanshu wadhwa ( enrol ;:@:JD@K)
*r.saurabh k. raina (mentor)
*.1./"'erall escription
*.1./.1) Product perspecti'e
1rovide 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 9genetic algorithm:
;e will first define the problem
'll their constrains ,soft as well as hard
!ur 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
algorithm as we have seen earliar
)ompare the algorithms
-ince it is an 01hard 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.
3.2.2.2 Product functions
1roduct have many functionalities and wide area for use
All the universities and schools
for scheduling classes
scheduling e&ams
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 organization8s performance
#fficiently generates timetables ,so vast number of resources can be utilised
*.1./.*)user characteristics
+01H A0( -!/A4,$ program will take all the input from the user and will save it in its
database for all the future computation
)/,A+04 /A0(!* -!5H+!0-$ using the above input program,by using the
appropriate algorithm will generate some random solutions

)A5)H5A+04 6+0,-- 6H0)+!0$ by using the already decided penality ,program
will calculate the fitness functions of the solutions and will sort them in increasing
"0
A115Q+04 4,0,+) A54!/+H* H/!4H *HA+!0$ them by using fitness score
program will apply genetic algorithm or its improved version to create best possible solution
in minimum possible time
-,)H/+Q$ program will delete all the information of the organisation after creating time"
table and will never upload it publically
,66+)+,0)Q$ 1rogram will try to take minimum time and resources
H-,/"6/+,0(5Q +0,/6A),$ no knowledge about the software will be re#uired to use
it ,very straight design
*H5+15, -!5H+!0- $ *ore than ; acceptable solution will be provided,so that
organisation can choose out of many solution ,which one suits them best.
"perating en'ironment
"2
*.1./.4) esign/implementation constraints
HARD CONSTRAINS
hese are the constrains that must be folloe! during the coding. and without satisfying these
constrains solution is not valid. hey are listed as follows$
!ne teacher cannot teach two classes at the same time
A group of student cannot attend two classes at one time
wo classes cannot be held in one room at the same time
"3
A teacher cannot teach on more than ma&imum allotted hours
here cannot be any classes on holyday
*a&imum no. of hours allotted for a day cannot be e&eeded
SO"T CONSTRAINS
hese are the constrains that are not compulsory for a solution to follow ,but #uality of the time
table is decided by accomplishment of these constrains
hese are listed as follow.
+n time table of teacher more ; hours breaks are preffered then =or J or more hours break
+n students time table we have to try to reduce the no. of breaks during a day,so that they
have more time for self study at home.
,ven if there are breaks in students time table we must ensure there are more ; hour break
rather than = or J hours break
%e must ensure that a group of student donGt have to attend collage for only to attend ; or
two class,there has to be minimum J classes in a day so that it will be worth it to come to
collage on a particular day
%e must avoid back to back classes for teachers
*.1./.&) Assumptions and dependencies
't max - variables for which computation is reqired
<umber of lectures for batches are not greater than available time for the week
#nough memory is available in the machine for the to do all the required computation
<umber of rooms provided are sufficient enough to hold the classes
<o 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 handled,that is for example
,4
't 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
!ne teacher only teaches ; class
+f a batch have a class of particular subject in their curriculum, they will be studying it for ;
hour a week
0o preferences are allowed for any teacher
*./ 0unctional re1uirements
1age should be available on the internet for the user
1age should query about if user want to make the time5table
=ption about exiting should always be there
1rogram should be able to take input about teacher and store it
1rogram should be able to check if no. of teachers doesn>t over flow and if they do then it
should show error message accordingly
then option should be provided for editing teacher information
1rogram should be able to take input about batch and store it
1rogram should be able to check if no. of batch doesn>t over flow and give error message
accordingly.
Then it should be able to provide options about reducing batches or increasing the teachers
1rogram 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
1rogram should be able to take input about rooms and store it
1rogram should be able to check if no. of rooms will be sufficient for given batches and
display the error message
Then program should be able to give option about adding new rooms or reducing batches
,!
1rogram should be able to compute the time table by appling appropriate algorithm
Then time table should be uploaded so that user can download it
*.* Non 0unctional re1uirements
*.*.1) /erformance reAuirements
high <umber of acceptable solution should be available ,so that user can choose from
different 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 don>t have to waste their time in understanding
9how to use it:
computation of time table should be fast
resources used for computation should be least as possible
algorithm should be efficient
*.*./)"perating 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 time5table is available for download
,"
J.J.J) /latform constraints
user should have a browser in its machine
*s word or pdf should be download on the userGs machine
-erver should have operating system that support c\\ and html
)\\ should be available at the server
)=)=B. Accurac' an! /recision
Hser should enter all the data correctly that is no spelling mistake ,especially when information
about subject is added
0o repletion of data ,as program will not be prepared to tackle repetition
-oftware wont be able to provide most efficient result as heuristic search is used
)=)=?. $ortabilit'
's basic software are used like c77 and html software will be portable
*.& esign iagrams
*.&.1Use .ase diagrams
,,
*.*./ .lass diagrams / .ontrol 0lo2 iagrams
,-
,.
,/
,0
,2
,3
-4
-!
4) Implementation details and issues 30ocus on No'elty4 0unctionality4 .omple)ity and
5uality)
-.!( Implementation details and issues
Input and storage
he 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.
*a&imum number of hours allocated to teacher
0ame of the different batches
-ubject that those different batches will be taught
0ame of all the rooms available
0umber of days in a week classes are going to be held
These values are stored in text files, for faster computation
Storing !ata into the !ata structure from te#t file
(ata is read from the te&t file and stored in the arrays
6ollowing is the list of arrays (only important ones)
eacher " contains name of the teachers
7atch " contains name of the batch
-ubject " contains list of subject
each]sub " list of teachers and the subject they teach
7atch ]sub " list of batches and subjects they are being taught
6inal " uni#ue pair of 7atch"subject"eachers
his is the array .final2
his is the most important array .
-0! 7atch eacher subject
; 7; ; -=
= 7= = -=
J 7K J -;
.
.
.
LLLL..
LLLL.
LLLL..
LLLL..
LLLL.
LLLL..
LLLL..
LLLL.
LLLL..
-"
=@
.
.
F@
.
LLLL.. LLLL.. LLLL..
Here we will try to make valid teacher Isubject"batch pairs, 6ollowing are the constrains which
must be followed
*a&imum number of teaching hours of teachers must not be e&ceeded
eacher should get the classes only for the subjects it teaches
7atch"subject"teacher must be uni#ue
7atch"subject pair within 7atch"subject"teacher must be uni#ue
6ew other things to take care of$
0o teacher e&ist to teach particular subject
1ossibility that no teacher left for teaching a particular subject, since all e&isting teachers
have been allocated a class
here are teachers in the university which have no classes to teach
-cope for remove few teachers ,as even without them all the classes can be allocated easily
In$ut of the %alues of &arra' final( into the )*D arra'
Here now we will allocate the -0o of the . final 2 table into this integer J"( array
-,
6irst +nde& M number of days
-econd inde& Mnumber of time slots in a day
hird +nde& M number of rooms
+n this case$
0umber of days M@
0umber of time slots in a day MD
number of rooms M>
-o this array have @ODO> slots,which is e#uals to =K: elements,as shown below
-o if there are n values in array .final2, we have to allocate n value to these =K: slots
0^M=K:
here are two methods to do this
;) /andom allocation
--
+n this method we chose a random values of
(ay
ime
/oom
6or n times, for n combinations of 7atch"subject"teacher
And allocate each combination to the inde& chosen
6or e&ample for inde& ;,we get value
(ay MK
me MF
/oom MJ
0ow if name of the J"d array is
his impies ?KA?FA?JAM;
=) Arrow method
+n this method we choose random values of
(ay
ime
And NOT room
+n this way we have chosen an ;"( array of length ;Oroom
-.
After we choose a random arrow, we try to fill all the slot of the arrow, by finding valid
values in the .final2 array
As there are daysOtime number of arrows
%e take all the arrows until we allocate all the combinations
%e might have to traverse the array .final2 ,(dayOtime) times
Im$ro%ement 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
-/
CROSSO3ER
-0
"itness "unction
his is the function that will decide the #uality of the time table that are created by putting penality
on each soft constrains accordingly .lesser the penalty better is the #uality of the time table.
6itness M ;<1enalty
1enalty for each soft constrains is as follows
;) 6or teacherGs time table ; hour break is preferred over = or J hour breaks .so penality for
each break for n hours will be (n";)N= i.e. (n";)O(n";)
his implies
J hours I penalty of C
=hours " penalty of K
=) 6or each break of n hours of student penalty is (n\;)NJ
his implies
= hour break I penalty of D
J hours break Ipenalty of =F
J) +f for a batch there is only one class in that day penalty is @:
K) 6or each back to back classes of teacher penalty of @
-2
@) +f there are any 7atch"subject"teacher combination could not be allocated to the J"d array
then penalty is @::
6or e&ample if given below is the time table of the batch b;
?ay@Time T! T" T, T- T. T/ T0 T2
Aon 6lass! 6lass" 6lass,
Tue 6lass-
;ed 6lass. 6lass/ 6lass0
Thur 6lass2 6lass3
Bri 6lass!4 6lass!! 6lass!"
+at 6lass!,
.alculating Penalty
Csing the above instructions we will calculate the penalty
for Aonday there are !D!hour break and !D,hours break
1enalty E % !7!(F,7 %,7!(F,
E "F,7-F,
E 0"
penalty on Tuesday
1enaltyE.4
's there is only one class on that day
4.1./ Algorithms 36odule 2ise7 2ith respect to design)
No'ice algorithm
take the 9data: array ,start traversing from ! to n
G
6hose random day and time
#sE#mptyHspace%(
If%esEE!(
r E reaker%(
If %brEE4(
uE ackup%(
If %buEE4(
-3
store it in unallocated array
I
#mptyHspace%(
G
Bor kE 4 to roommax
If%there is any unallocated space(
Jeturn !
I

reaker%(
G
Bor %kE4 to roomax(
6heck if that teacher and batch already have any class on arr)day*)time*)k*
If %yes(
Jeturn 4
#lse
Jeturn !
I
ackup%(
G
Traverse the whole tt serially ,given dayDtime be the starting point
#sE#mptyHspace%(
If%esEE!(
r E reaker%(
If%brEE4(
Jeturn 4
#lse if%brEE!(
Jeturn !

I
Arro2 algorithm
=ut of dayDtime arrow choose them randomly until data is finised or no arrow left
Bor %kE4 to roommax(
Bor%iE4 to n( @@ n is maximum value of data needed to be allocated
6heck if the data can be allotted
If%yes(
reakK
If%no allocation when loop is over(
6all it unallocated
.4

6utation
take the best solution
for %iE4 to n( @@n being predicted value for mutation
choose any two pair if day5time and room
interchange there content
calculate fitness of new solution
if %better(
replace it with earliar solution
.rosso'er
Take the two best solution
Let there be predecided crossover point let it be c
Let n be the max no of solution
Bor %iE4 to c(
#lement in solution ! be same
#lement in solution " be same
Bor%iEc to n(
#lement in solution ! be from the solution"
#lement in solution " be from solution !
4./ #is8 Analysis and 6itigation
1 / * 4 & ( 9 : ;
.!
Ris6
I!
Descri$tio
n
of Ris6
Ris6 Area
- I!entif'
Ris6
Areas for
'our
$roCect.
/ro
bab
ilit'
-/.
Im$ac
t -I.
RE
-/D
I.
Ris6
Selecte
!
for
Mitigat
i
on
-4EN.
Mitigati
on /lan
if F is G4;
Conti
nge
nc'
$lan H
if
an'
1 ;hile
creating
random
solution
possibility
is large
diversity
of solution
are not
selected
Algorithmic M M . N 6rossover
between
different
solution is
used along
with mutation
to increase
the diversity
/ Instead of
going
toward
maxima
due to
crossover
and
mutation
which are
random
,quality of
the
solution
decrease
'lgorithmic M M . N Cniform
crossover can
be used
,which doent
change the
couloms
which are
same for both
the parents
,so that no
new conflict
is added
* #ven
though
algorithm
converges
towards
maxima
,but its
local
maxima
and not
global
maxima
'lgorithmic M M . N Cse tabu
search to
increase the
diversity that
is tabu search
can expand
ability of
solution to
reach global
maxima
4 'lgorithm
is
convergin
g toward
global
'lgorithmic A M . N ?uring the
process best
solution is
kept safe that
is many
."
maxima
but during
mutation
or
crossover,
it
somehow
change the
best
solution
for less
better
solution
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
& 1rogram is
running
for a very
long time
if solution
doesn>t
converges
,which
might
result in
memory
overflow
algorithmic L M . N Aultiple
termination
conditions
are applied
,based on
time as well
no. of
iteration
whichever is
received first
( Cser
might
make
mistake
during
input of
the
data,that is
for
example
user might
write
9physics:
as
9phisics: .
then these
will be
taken as
two
different
subject
even when
user didn>t
Cser5input A A , <
.,
intend that
9 Cser
might add
repeated
data ,that
is user
might add
name of
one
reacher
twice and
during the
computati
on more
that
maximum
number of
classes
will be
added for
that teaher
Cser5input A A , <
: +torage
overflow,
as a large
amount of
storage is
required
for
computati
on ,if
software is
being run
on old
machine
,it might
not allow
to declare
data
structure
of that
high
storage
capacity
hardware L L ! <
; #ven
when
hardware L L ! <
.-
terminatio
n is
defined
properly,if
sorware
tried to
run on
machine
with low
computati
on power ,
it will take
a lot of
time to
execute
and might
even hang
the system
&) Testing 30ocus on 5uality of #obustness and Testing)
&.1 Testing Plan
T'$e of Test 8ill Test 5e
/erforme!I
CommentsEE#$lanations Softare Com$onent
..
ReAuirements
Testing
Q,- /e#uirement esting is performed to
determine that the program modules
perform as per the design
specifications provided by end user. +t
will involve testing of all the
re#uirements of the project depending
upon various factors like resources,
budget and time.
/e#uirement testing is testing the
re#uirements whether they are
feasible or not. 7ecause a project
depends on a number of factors like
time, resources, budget etc. 7efore
start working on a project its
important to test these re#uirements
*anual work, need to
plan out all the software
re#uirements, time needed
to develop, technology to
be used etc.
Unit Testing Q,- Hnit testing will test individual
units<code modules of our 1roject.
esting by which individual units of
source code are tested to determine if
they are fit for use.
Hnit testing will be
performed on individual
blocks of code like the
classes, functions, user
controls etc. +t will be
performed on every small
block of code.
5ist of component
. input teacher
.input batches
.time table allotment
.mutation application
Integration
Testing
Q,- +ntegration esting will be useful for
testing the project as a whole. he
integrated project involves the
combination of various unit modules.
+ntegrating the various
modules such as
input,analyzing and
storing input.generation
of the time table etc.
./
/erformance
Testing
Q,- 1erformance testing helps in finding
the server response time, server
response time, performance
specifications of the system when
multiple users are using the system. +t
will help in determining that whether
the system meets the performance
criteria or not in such a situation.
+n our project performance will be
analyzed on performance of #uery and
concurrency that is thread waiting for
other threads completion.
1erformance of )oncerted
is taken for multivariate
#ueries and compared.
Stress Testing Q,- -tress testing is normally used to
understand the upper limits of
capacity within the application
landscape. +t helps in determining the
applicationBs robustness in terms of
e&treme load.
)oncerted is tested with
high volume of data and
high number of
concurrent threads on
various data structures.
5ocking manager and
ransaction manager are
similarily tested
%iil be applied on$
.0o.of timetable can be
generated and stored
.mutation applied
.data about teachers
,batches and subject,once
we define the value of
room,day and time
Com$liance
Testing
0! )ompliance testing is the process of
verifying whether a product meets the
standard product specifications it was
designed to meet. +t determines
whether a product or system meets
some specified standard that has been
developed for efficiency or
0ot performing.
.0
interoperability.
%e do not re#uire this testing as there
are no fi&ed standards in our project
work area we basically strive for user
satisfaction.
Consistenc'
Testing
Q,-
)onsistency 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.
'nother purpose is to check the
robustness of the program
1erforming
1oa! Testing Q,-
Load testing is performed to
determine a system>s behavior under
both normal and anticipated peak load
conditions.
5oad 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.
%e need to perform load testing
before running to ensure scalability of
application according to the load.
0eeds to be performed on
whole application.
3olume
Testing
Q,- 3olume testing refers to testing a
software application with a certain
amount of data which can be the
database size or the interface file.
%ill set input data to ma&
.2
@.= )omponent decomposition and type of testing re#uired$
S=
No=
1ist of 3arious Com$onents that
reAuire testing
T'$e of
Testing
ReAuire!
TechniAue for riting test
cases
> +nput of the data Hnit 7lack 7o& esting
@ /eading values from files and storing them
in data structure
Hnit 7lack 7o& esting
) How much input data can be handled 3olume 7lack 7o& esting
B 0o. of time tables can be generated and
stored
-tress black 7o& esting
? 0o. of mutation can be perfromed -tress 7lack 7o& esting
J 4enerating time table,trying to allocate
most of the data
Hnit %hite bo& testing
7 /unning code many time ,by changing data
and some times with wrong data
)onsistency 7lack 7o& esting
.., List all test cases in prescribed
Test Case i! In$ut e#$ecte! Out$ut Status
/assE"ail
1 Oalues entered about
teacher and subjects
+aved in the expected
format
pass
/ Input values in the data
base
+tored correctly in the
data structure
pass
* Oalues equivalent to
the slots in time table
#very slot should be
filled
Bail
4 !4 +tored correctly in the
data structures
Bail
& #xtended upto 344444 Increased performance
of the huiristic pass
.3
( Migh no. values 'llocation with least
huiristic
+ubjective
9
?ata set,some times
incorrect
6orrect
output,robustness
pass
..-(
#rror and #xception Mandling
Test case i! Test case for com$onents Debugging TechniAue
* How much input data can be
handled, volume, 7lack 7o&
esting
Print debugging
4 0o. of time tables can be
generated and stored,stress
,black bo&
Post7mortem debugging
...(
Limitations of the solution
<ot useful if lectures are of multiple duration
There may be an existing solution ,but might not be able to find it
Junning time is not polynomial
Aay not give you the most optimal solution
Aay stuck into local optima
0indings < .onclusion
/.! Bindings
he initial scheduling problem with large number of binary variables has been reduced to
the acceptable size by eliminating certain dimensions of the problem and encorporating those
dimensions into constraints. he grouping of several binary variables into one gene value
significantly reduced the individual size. 0ow it is possible to try to solve the full size problem
(problem of the whole 6,/ schedule) with genetic algorithm approach. -uch a
representation of the scheduling problem achieves the acceptable algorithm speed, so
small size problems are solved in tens of seconds. -ignificant improvements have been achieved by
using intelligent operators. he intelligent algorithm converges much faster then
the basic algorithm and represents a good starting point for complete solving of the full
scale problem. 4enetic algorithm with basic operators used random genes for itGs operations and
was not directed to a solution. Adding intelligence to the operators by finding genes
with less conflicts improved algorithmGs behavior and overall solution of the problem.
o completely solve the full scale problem, further algorithms improvements will have to be
made. %hen generating the constraints, it could be useful to sign each one, so no constraint will be
set (and checked) twice. +ndividuals 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. his 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. ,ach thread could start with
different initial population and the #uality of solution is e&pected to be better.
/4
<eed of new algorithm and its comparison with the old one
=ld algorithm due to its allotment of classes in random slots results in diversity
;hich results in incomplete allotment of the of the classes
#ven though there exists a solution ,old algorithm was not able find that
Its advantage was fast execution
<ow new algorithm%arrow system( take comparatively more time
ut its most robust
1rovide complete solution ,even for the big data set
6omplexity is greater
=elo2 are the fe2 comparison of the algorithm
?ata setE/0
=perating system $ Cbuntu !-.4-
'pplication$ g77 compiler
1rocessor$ inter core i. "., ghz
Jam$ -gb
'lgorithm !is new algorithm %arrow algorithm(
'lgorithm " is pure genetic algorithm
y5axis is heuristic value
x5axis is no. of mutation

Bollowing is the comparison of the two algorithm
/!
elow is the time taken by algorithm of different number of mutation
y5axis is the time taken
x5axis is the number of mutation
elow is the variation of heuristic value with the number of mutation
/"
he combination of the algorithm proved out to be better instead of using only ; algorithm, when
we used combinations of = or more algorithm ,results gets better.
As it is shown below instead of using mutation of tabu search alone ,combing them in e#ual
proportion gave better fitness value
This is !45mutation P !45tabu vs "4 tabu computations
/,
This is vs "4 mutation computations vs !45mutation P !45tabu
Tabu vs mutation
/." 6onclusion
4enetic search algorithm has been validated in the test and achieved good results. 4enetic search
algorithm is a more practical method, convergence is fast, and time distributes uniform. 7ut 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. )ourse 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
e&plored, the effect on the algorithm need be improved in further.
/., Buture ;ork
/-
+t is area of great interest for algorithmist to tackle time"table scheduling problems as not only
re#uired by vast organisations but also give them opportunity to tackle 01hard problems
IT IS RE+URED IN ,
All the universities and schools
for scheduling classes
scheduling e&ams
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 organization8s performance
CHA11EN0ES
+t is area of great interest for algorithmist to tackle time"table scheduling problems as not only
re#uired by vast organisations but also give them opportunity to tackle 01hard problems
,ven if time"table scheduling have vast number of uses around the world,still in most of the cases it
is done manually and softwares are not being used. 6ollowing are the reasons$
01hard problem ,and completely efficient solutions are impossible to find.
)lassical algorithm like backtracking just doesnGt work ,may even result in space<time over
flow
-cheduling through heuristic searches also takes a lot of time and space,but still there is
some hope
Algorithms are really comple& and are really hard to impement
,ven then no guarantee of efficient solutions e&ists
ill date at least ;: ";@ +,,, paper has been published for scheduling problems but no
specific algorithm have been chosen world"wide by every community
(ifferent algorithmist uses different set of combination to satisfy there and their
organisations need.
+t is an on"going and hot topic for present day community to find an standard approach for
time table scheduling
/.
#eferences
?;AAlgorithms of ime table 1roblem Application and 1erformance ,valuation in )ourse
-cheduling -ystem, Qunfeng (ong;, 7ei Zi=, %ushi 4ao;, Zingzhu %ang;,-handong 1olytechnic
Hniversity, Tinan, )hina,+,,,"=:;;
?=A4enetic Algorithms vs. abu -earch in imetable -cheduling, -. ). )huO7
0ational Raohsiung +nstitute of echnology, aiwan, /.!.)., OHniversity of -outh Australia,
H. 5. 6ang , A+ Application 4roup,,. S ). (ept, )hina -teel )orp, aiwan, /!),
;CCC hird +nternational )onference on Rnowledge"7ased +ntelligent +nformation ,ngineeing
-ystems, 31" Aug"+9 -ept ;CCC, Adelaide, Australia
?JA-olving imetable -cheduling 1roblem Hsing 4enetic Algorithms , 7ranimir -igl, *arin 4olub,
3edran *ornar,6aculty of ,lectrical ,ngineering and )omputing, Hniversity of Pagreb Hnska J,
+:::: Pagreb, )roatia, 25th Int. Conf. 'Information Technology Interfaces IT1 2003, June 16
1 !, 2003, Ca"tat, Croatia
?KAimetable -cheduling Hsing 1article -warm !ptimization,-hu")huan )hu, Qi"in )hen
(epartment of +nformation *anagement,)heng"-hiu Hniversity, Tiun"Huei Ho, (epartment of
,lectronic ,ngineering, )heng"-hiu Hniversity, Proceedings of the First International
Conference on Innovative Computing, Information and Control (ICICIC'06)
?@AHniversity ime able -cheduling using 4enetic Artificial +mmune 0etwork,Antariksha
7haduri, =::C +nternational )onference on Advances in /ecent echnologies in )ommunication
and )omputing
?>AH-+04 A 4,0,+) A54!/+H* !1+*+P,/ !!5 ! -!53,H0+3,/-+Q
//
+*,A75, -)H,(H5+04 1/!75,*,-ehraneh 4haemi *ohammad aghi 3akili Ali
Aghagolzadeh U4haemi, *vakil, AghagolV Wtabrizu.ac.ir,6aculty of ,lectrical S )omputer
,ngineering,Hniversity !f abriz,+,,, "=::>
,ibhanshu
%mail id> vibhanshu.wadhwaQgmail.com
Ph> 34!,,0,,0, %A(
"=?%.TI,%>
'spiring 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.
%U.ATI"NA@ [email protected]"N!>
achelor of #ngineering in 6omputer +cience % "4!45"4!,( with /3A 3till *
rd
year) from Raypee Institute of
Information Technology, <oida , C.1
SIIth with 02./T
'+< +enior +econdary +chool %6+#(
Sth with 0/./T
Uendriya Oidyalaya <oida %6+#(
T%.BNI.A@ !CI@@!>
Unowledge of 6 language, 1ython , 1M1
;orked on various project based on above languages
;eb Technologies $ MTAL,6++
asic Mardware Unowledge
P%#!"NA@ !CI@@!>
/0
#xcellent Team worker and team facilitator.
Mighly optimistic, ability to work efficiently even under pressure.
Maving a peaceful mind while working.
+elf 6onfidence.
1ositive attitude and punctual.
%DT#A .U##I.U@A# A.TI,ITI%!>
1articipated in skating and table5tennis competition.
;as part of scout and guide team
'ctive participation in many dramatics, music and other cultural events at school.
1articipated in Inter +chool +cience Vuiz 6ontest at +chool Level.
B"==I%!>
Listening Ausic.
Interacting with people.
1laying table5tennis, Oolleyball and many outdoor sports.
P%#!"NA@ %TAI@!>
0atherEs Name > Ar. <aresh Uumar
ate of =irth > Ruly "0, !33"
!e) > Aale
6arital !tatus > +ingle
Nationality > Indian
@anguages Cno2 > #nglish P Mindi
%.@A#ATI"N>
I hereby declare that the information given above are true and to the best of my knowledge and belief.

,ibhanshu
/2

You might also like