Friday, 13 December 2013

GENETIC ALGORITHM IN SCHEDULING

Rumana
Anjum

Lecturer
in CS dept

Brindavan
PU and Degree College

Boopsandra,
Bangalore

Scheduling problems most
often use heuristic algorithms to search for the optimal solution. Heuristic
search methods suffer as the inputs become more complex and varied. This type
of problem is known in computer science as an NP-Hard problem. This means that there are no known
algorithms for finding an optimal solution in polynomial time.

Genetic algorithms are well suited to solving production
scheduling
problems, because unlike heuristic methods genetic algorithms operate on a
population of solutions rather than a single solution. To apply a genetic
algorithm to a scheduling problem we must first represent it as a genome. One
way to represent a scheduling genome is to define a sequence of tasks and the
start times of those tasks relative to one another. Each task and its
corresponding start time represent a gene.

With genetic algorithms we
then take this initial population and cross it, combining genomes along with a
small amount of randomness (mutation). The offspring of this combination is
selected based on a fitness function that includes one or many of our
constraints, such as minimizing time and minimizing defects. We let this
process continue either for a pre-allotted time or until we find a solution
that fits our minimum criteria. Overall each successive generation will have a
greater average fitness i.e. taking less time with higher quality than the
proceeding generations. In scheduling problems, as with other genetic algorithm
solutions, we must make sure that we do not select offspring that are
infeasible, such as offspring that violate our precedence constraint.