91
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

Timetable scheduling using Genetic algorithm

Embed Size (px)

Citation preview

Page 1: Timetable scheduling using Genetic algorithm

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

2)Solving Timetable Scheduling ProblemUsing Genetic Algorithms

GA provide diverse values of solution

GA reaches to global maxima

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 2: Timetable scheduling using Genetic algorithm

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

2)Solving Timetable Scheduling ProblemUsing Genetic Algorithms

GA provide diverse values of solution

GA reaches to global maxima

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 3: Timetable scheduling using Genetic algorithm

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

2)Solving Timetable Scheduling ProblemUsing Genetic Algorithms

GA provide diverse values of solution

GA reaches to global maxima

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 4: Timetable scheduling using Genetic algorithm

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

2)Solving Timetable Scheduling ProblemUsing Genetic Algorithms

GA provide diverse values of solution

GA reaches to global maxima

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 5: Timetable scheduling using Genetic algorithm

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

2)Solving Timetable Scheduling ProblemUsing Genetic Algorithms

GA provide diverse values of solution

GA reaches to global maxima

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 6: Timetable scheduling using Genetic algorithm

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

2)Solving Timetable Scheduling ProblemUsing Genetic Algorithms

GA provide diverse values of solution

GA reaches to global maxima

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 7: Timetable scheduling using Genetic algorithm

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

2)Solving Timetable Scheduling ProblemUsing Genetic Algorithms

GA provide diverse values of solution

GA reaches to global maxima

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 8: Timetable scheduling using Genetic algorithm

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

2)Solving Timetable Scheduling ProblemUsing Genetic Algorithms

GA provide diverse values of solution

GA reaches to global maxima

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 9: Timetable scheduling using Genetic algorithm

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

2)Solving Timetable Scheduling ProblemUsing Genetic Algorithms

GA provide diverse values of solution

GA reaches to global maxima

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 10: Timetable scheduling using Genetic algorithm

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

2)Solving Timetable Scheduling ProblemUsing Genetic Algorithms

GA provide diverse values of solution

GA reaches to global maxima

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 11: Timetable scheduling using Genetic algorithm

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

2)Solving Timetable Scheduling ProblemUsing Genetic Algorithms

GA provide diverse values of solution

GA reaches to global maxima

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 12: Timetable scheduling using Genetic algorithm

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

2)Solving Timetable Scheduling ProblemUsing Genetic Algorithms

GA provide diverse values of solution

GA reaches to global maxima

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 13: Timetable scheduling using Genetic algorithm

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

2)Solving Timetable Scheduling ProblemUsing Genetic Algorithms

GA provide diverse values of solution

GA reaches to global maxima

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 14: Timetable scheduling using Genetic algorithm

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

2)Solving Timetable Scheduling ProblemUsing Genetic Algorithms

GA provide diverse values of solution

GA reaches to global maxima

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 15: Timetable scheduling using Genetic algorithm

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 16: Timetable scheduling using Genetic algorithm

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 17: Timetable scheduling using Genetic algorithm

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 18: Timetable scheduling using Genetic algorithm

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 19: Timetable scheduling using Genetic algorithm

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 20: Timetable scheduling using Genetic algorithm

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 21: Timetable scheduling using Genetic algorithm

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 22: Timetable scheduling using Genetic algorithm

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 23: Timetable scheduling using Genetic algorithm

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 24: Timetable scheduling using Genetic algorithm

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 25: Timetable scheduling using Genetic algorithm

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 26: Timetable scheduling using Genetic algorithm

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 27: Timetable scheduling using Genetic algorithm

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 28: Timetable scheduling using Genetic algorithm

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 29: Timetable scheduling using Genetic algorithm

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 30: Timetable scheduling using Genetic algorithm

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 31: Timetable scheduling using Genetic algorithm

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 32: Timetable scheduling using Genetic algorithm

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 33: Timetable scheduling using Genetic algorithm

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 34: Timetable scheduling using Genetic algorithm

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 35: Timetable scheduling using Genetic algorithm

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 36: Timetable scheduling using Genetic algorithm

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 37: Timetable scheduling using Genetic algorithm

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 38: Timetable scheduling using Genetic algorithm

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 39: Timetable scheduling using Genetic algorithm

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 40: Timetable scheduling using Genetic algorithm

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 41: Timetable scheduling using Genetic algorithm

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

Final - unique pair of Batch-subject-Teachers

This is the array ldquofinalrdquo

This is the most important array

SNO Batch Teacher subject

1 B1 T1 S2

2 B2 T2 S2

3 B4 T3 S1

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

helliphelliphelliphellip

41

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 42: Timetable scheduling using Genetic algorithm

25

75

helliphelliphelliphellip helliphelliphelliphellip helliphelliphelliphellip

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
Page 43: Timetable scheduling using Genetic algorithm

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
Page 44: Timetable scheduling using Genetic algorithm

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
Page 45: Timetable scheduling using Genetic algorithm

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
Page 46: Timetable scheduling using Genetic algorithm

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
Page 47: Timetable scheduling using Genetic algorithm

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
Page 48: Timetable scheduling using Genetic algorithm

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
Page 49: Timetable scheduling using Genetic algorithm

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
Page 50: Timetable scheduling using Genetic algorithm

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
Page 51: Timetable scheduling using Genetic algorithm

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
Page 52: Timetable scheduling using Genetic algorithm

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
Page 53: Timetable scheduling using Genetic algorithm

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
Page 54: Timetable scheduling using Genetic algorithm

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
Page 55: Timetable scheduling using Genetic algorithm

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
Page 56: Timetable scheduling using Genetic algorithm

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
Page 57: Timetable scheduling using Genetic algorithm

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
Page 58: Timetable scheduling using Genetic algorithm

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
Page 59: Timetable scheduling using Genetic algorithm

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
Page 60: Timetable scheduling using Genetic algorithm

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
Page 61: Timetable scheduling using Genetic algorithm

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
Page 62: Timetable scheduling using Genetic algorithm

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
Page 63: Timetable scheduling using Genetic algorithm

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
Page 64: Timetable scheduling using Genetic algorithm

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
Page 65: Timetable scheduling using Genetic algorithm

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
Page 66: Timetable scheduling using Genetic algorithm

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