170 likes | 562 Views
Automated Scheduling Systems. by Jawad Khan. Definition of Scheduling. Scheduling is the process of assigning tasks to a set of resources based on a set of constraints Tasks: Jobs to be performed Resources: Tools needed to accomplish the task
E N D
Automated Scheduling Systems by Jawad Khan
Definition of Scheduling Scheduling is the process of assigning tasks to a set of resources based on a set of constraints Tasks: Jobs to be performed Resources: Tools needed to accomplish the task Constraints: Prescribed bounds within which a task needs to be accomplished
Implications of Automating the Scheduling Process • Automation overhauls the manual scheduling process • Automation minimizes time and affects cost • Changes made in scheduling methodology and sometimes IT infrastructure could increase cost
Justifying the need for Automated Scheduling Systems • Cost benefit analysis • System prototyping to show how the automation would work • Early releases to demonstrate progress and getting user involved with development
Requirements for Automated Scheduling Systems • System requirements • Functionality requirements • Scheduling algorithm requirement
System Requirements • Interfaces to data sources and data sinks • User interface functionality
Functionality Requirements • When to run automated scheduler • Dynamic Rescheduling • Length of time system takes to create schedules • How to involve human user
Scheduling Algorithms Requirement • Quality of schedules • Amount of computation time taken to compute the schedule
Scheduling Algorithms • Mathematical algorithms • Linear programming • optimized solutions to variables based on a set of constraints on those variables. • Logical programming • set of attributes that a solution should have are specified rather than set of steps to obtain such a solution • Constraint programming • set of constraints that a solution must meet are specified rather than set of steps to obtain such a solution. • Genetic/Evolutionary algorithms
Genetic Algorithms Highly Effective Optimization Method • Easy to apply to almost any optimization problem • Fast at finding good solutions, particularly as the problem size increases • Allows an explicit trade off between search time and quality of solution
Genetic Algorithms • An alternative method to the solutions for NP-Complete problems • Uses mechanisms inspired by Darwins theory of biological evolution: • Natural selection • Crossover (or Recombination) • Mutation
Biological Background • Living organisms consists of cells • Cells are made up of chromosomes • Chromosomes consists of genes • Gene encodes a trait • Reproduction performs crossover of genes from parents, selected through natural selection • Random mutation changes elements of DNA • The result is a new set of chromosomes (offspring)
Outline of theBasic Genetic Algorithm [Start] Generate random population of n chromosomes (suitable solutions for the problem) [Fitness] Evaluate the fitness f(x) of each chromosome x in the population [New population] Create a new population by repeating following steps until the new population is complete [Selection] Select two parent chromosomes from a population according to their fitness (the better fitness, the bigger chance to be selected) [Crossover] With a crossover probability, cross over the parents to form new offspring (children). If no crossover was performed, offspring is the exact copy of parents. [Mutation] With a mutation probability, mutate new offspring at each position in chromosome. [Accepting] Place new offspring in the new population [Replace] Use new generated population for a further run of the algorithm [Test] If the end condition is satisfied, stop, and return the best solution in current population [Loop] Go to step 2
Determining Automation Requirements • Most scheduling problems are unique • Logic and business rules are complex and usually not well documented • Step through entire scheduling process to get the right information • Use variety of hypothetical situation to capture concept of schedule quality
Conclusion • Use of Evolutionary algorithms in real world scheduling applications are common place • On going research • Evolutionary algorithms to extend it’s applicability to all Scheduling problems • Minimizing the cost and deployment of developing scheduling systems • Interaction of multiple scheduling systems to let two different companies coordinate their schedules
References • D. Montana, "How to Make Scheduling Research Relevant", GECCO-2002 Workshop: Scheduling: Bringing Together Theory and Practice, 2002. • D. Montana, "So You Want to Build an Automated Scheduling System", Proceedings of the GECCO-2002 Industrial Track, 2002. • M. Brinn, G. Bidwell, D.Montana and S. Moore, "Genetic Algorithms for Complex, Real-Time Scheduling", IEEE Conference on Systems, Man, and Cybernetics, 1998. • Ata Kaban, “Introduction to Evolutionary Computation”, University of Brimingham. www.cs.bham.ac.uk/~axk/EC_tut_1.pps • Marek Obitko, “Introductoin to Genetic Algorithms”, http://cs.felk.cvut.cz/~xobitko/ga/, 1998