1 / 16

Automated Scheduling Systems

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

washi
Télécharger la présentation

Automated Scheduling Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Automated Scheduling Systems by Jawad Khan

  2. 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

  3. 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

  4. 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

  5. Requirements for Automated Scheduling Systems • System requirements • Functionality requirements • Scheduling algorithm requirement

  6. System Requirements • Interfaces to data sources and data sinks • User interface functionality

  7. Functionality Requirements • When to run automated scheduler • Dynamic Rescheduling • Length of time system takes to create schedules • How to involve human user

  8. Scheduling Algorithms Requirement • Quality of schedules • Amount of computation time taken to compute the schedule

  9. 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

  10. 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

  11. 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

  12. 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)

  13. 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

  14. 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

  15. 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

  16. 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

More Related