Scheduling Planning with Actions that Require Resources.

Slides:



Advertisements
Similar presentations
You have been given a mission and a code. Use the code to complete the mission and you will save the world from obliteration…
Advertisements

1 Concurrency: Deadlock and Starvation Chapter 6.
Constraint Satisfaction Problems
Advanced Piloting Cruise Plot.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (Parallel Algorithms) Robin Pomplun.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Chapter 1 The Study of Body Function Image PowerPoint
Cognitive Radio Communications and Networks: Principles and Practice By A. M. Wyglinski, M. Nekovee, Y. T. Hou (Elsevier, December 2009) 1 Chapter 12 Cross-Layer.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 1 Embedded Computing.
Copyright © 2011, Elsevier Inc. All rights reserved. Chapter 6 Author: Julia Richards and R. Scott Hawley.
Author: Julia Richards and R. Scott Hawley
1 Copyright © 2013 Elsevier Inc. All rights reserved. Appendix 01.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 3 CPUs.
1 Copyright © 2010, Elsevier Inc. All rights Reserved Fig 2.1 Chapter 2.
Properties Use, share, or modify this drill on mathematic properties. There is too much material for a single class, so you’ll have to select for your.
Summary of Convergence Tests for Series and Solved Problems
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Title Subtitle.
Properties of Real Numbers CommutativeAssociativeDistributive Identity + × Inverse + ×
Exit a Customer Chapter 8. Exit a Customer 8-2 Objectives Perform exit summary process consisting of the following steps: Review service records Close.
My Alphabet Book abcdefghijklm nopqrstuvwxyz.
Multiplying binomials You will have 20 seconds to answer each of the following multiplication problems. If you get hung up, go to the next problem when.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
FACTORING ax2 + bx + c Think “unfoil” Work down, Show all steps.
Addition Facts
Year 6 mental test 5 second questions
Year 6 mental test 10 second questions
1 Discreteness and the Welfare Cost of Labour Supply Tax Distortions Keshab Bhattarai University of Hull and John Whalley Universities of Warwick and Western.
ZMQS ZMQS
REVIEW: Arthropod ID. 1. Name the subphylum. 2. Name the subphylum. 3. Name the order.
Artificiel Bee Colony (ABC) Algorithme Isfahan University of Technology Fall Elham Seifossadat Faegheh Javadi.
Randomized Algorithms Randomized Algorithms CS648 1.
1-1 Constraint-based Scheduling Claude Le Pape. 1-2 Outline Introduction Scheduling constraints Non-preemptive scheduling –Temporal constraints –Resource.
ABC Technology Project
1 Undirected Breadth First Search F A BCG DE H 2 F A BCG DE H Queue: A get Undiscovered Fringe Finished Active 0 distance from A visit(A)
Green Eggs and Ham.
VOORBLAD.
Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.
1 Breadth First Search s s Undiscovered Discovered Finished Queue: s Top of queue 2 1 Shortest path from s.
Factor P 16 8(8-5ab) 4(d² + 4) 3rs(2r – s) 15cd(1 + 2cd) 8(4a² + 3b²)
Basel-ICU-Journal Challenge18/20/ Basel-ICU-Journal Challenge8/20/2014.
1..
© 2012 National Heart Foundation of Australia. Slide 2.
Lets play bingo!!. Calculate: MEAN Calculate: MEDIAN
Understanding Generalist Practice, 5e, Kirst-Ashman/Hull
Chapter 5 Test Review Sections 5-1 through 5-4.
GG Consulting, LLC I-SUITE. Source: TEA SHARS Frequently asked questions 2.
Addition 1’s to 20.
25 seconds left…...
Januar MDMDFSSMDMDFSSS
Week 1.
Analyzing Genes and Genomes
1. 2 No lecture on Wed February 8th Thursday 9 th Feb Friday 27 th Jan Friday 10 th Feb Thursday 14: :00 Friday 16:00 – 19:00 HS N.
We will resume in: 25 Minutes.
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
Dantzig-Wolfe Decomposition
Local Search Jim Little UBC CS 322 – CSP October 3, 2014 Textbook §4.8
CPSC 322, Lecture 14Slide 1 Local Search Computer Science cpsc322, Lecture 14 (Textbook Chpt 4.8) Oct, 5, 2012.
Intracellular Compartments and Transport
PSSA Preparation.
Essential Cell Biology
1 Chapter 13 Nuclear Magnetic Resonance Spectroscopy.
Energy Generation in Mitochondria and Chlorplasts
13-Optimization Assoc.Prof.Dr. Ahmet Zafer Şenalp Mechanical Engineering Department Gebze Technical.
Presentation transcript:

Scheduling Planning with Actions that Require Resources

Scheduling 2 Literature Malik Ghallab, Dana Nau, and Paolo Traverso. Automated Planning – Theory and Practice, chapter 15. Elsevier/Morgan Kaufmann, Michael Pinedo. Scheduling: Theory, Algorithms and Systems, Prentice Hall, Peter Brucker. Scheduling Algorithms, Springer Verlag, 2004.

Scheduling 3 Planning and Scheduling solution to planning problem: plan: partially ordered set of actions actions: fully instantiated operators require resources resources: can be modelled as parameters of an action problem: planning algorithms tries out all possibilities (inefficient) alternative approach: allow unbound resource variables in plan (planning) find assignment of resources to actions (scheduling)

Scheduling 4 Overview Scheduling Problems and Schedules Searching for Schedules

Scheduling 5 Actions and Resources resources: an entity needed to perform an action state variables: modified by actions in absolute ways example: move(r,l.l’): location changes from l to l’ resource variables: modified by actions in relative ways example: move(r,l.l’): fuel level changes from f to f-f’

Scheduling 6 Actions with Time Constraints Let a be an action in a planning domain: attached time constraints: earliest start time: s min (a) – actual start time: s(a) latest end time: s max (a) – actual end time: e(a) duration: d(a) action types: preemptive actions: cannot be interrupted d(a) = e(a) - s(a) non-preemptive actions: can be interrupted resources available to other actions during interruption

Scheduling 7 Actions with Resource Constraints Let a be an action in a planning domain: attached resource constraints: required resource: r quantity of resource required: q reusable: resource will be available to other actions after this action is completed consumable: resource will be consumed when action is complete

Scheduling 8 Reusable Resources resource availability: total capacity: Q r current level at time t: z r (t) resource requirements: require(a,r,q): action a requires q units of resource r while it is active resource profile: a 1 : require(a 1,r,q 1 ) a 2 : require(a 2,r,q 2 ) zrzr QrQr q1q1 q2q2

Scheduling 9 Consumable Resources resource availability: total reservoir at t 0 : Q r current level at time t: z r (t) resource consumption/production: consume(a,r,q): action a requires q units of resource r produce(a,r,q): action a produces q units of resource r resource profile: a 1 : consume(a 1,r,q 1 ) a 2 : consume(a 2,r,q 2 ) zrzr QrQr q1q1 q2q2 a 3 : produce(a 3,r,q 3 ) q3q3

Scheduling 10 Other Resource Features discrete vs. continuous countable number of units: cranes, bolts real-valued amount: bandwidth, electricity unary Q r =1; exactly one resource of this type available sharable can be used by several actions at the same time resources with states actions may require resources in specific state

Scheduling 11 Combining Resource Constraints conjunction: action uses multiple resources while being performed disjunction: action requires resources as alternatives cost/time may depend on resource used resource types: resource-class(s) = {r 1,…,r m }: require(a,s,q) equivalent to disjunction over identical resources

Scheduling 12 Cost Functions and Optimization Criteria cost function parameters quantity of resource required duration of requirement optimization criteria: total schedule cost makespan (end time of last action) weighted completion time (weighted) number of late actions (weighted) maximum tardiness resource usage

Scheduling 13 Machine Scheduling machine: resource of unit capacity either available or not available at time t cannot process two actions at the same time job j: partially ordered set of actions a j1,…,a jk action a ji requires one resource type for a number of time units actions in same job must be processed sequentially actions in different jobs are independent (not ordered) machine scheduling problem: given: n jobs and m machines schedule: mapping from actions to machines + start times

Scheduling 14 Example: Scheduling Problem machines: m 1 of resource type r 1 m 2, m 3 of resource type r 2 jobs: j 1 : 〈 r 1 (3), r 2 (3), r 1 (3) 〉 three actions, totally ordered a 11 requires 3 units of resource type 1, etc. j 2 : 〈 r 2 (3), r 1 (5) 〉 j 3 : 〈 r 1 (3), r 1 (2), r 2 (3), r 1 (5) 〉

Scheduling 15 Example: Schedules by Job machines: m 1 of type r 1 m 2 of type r 2 jobs: j 1 : 〈 r 1 (1), r 2 (2) 〉 j 2 : 〈 r 1 (3), r 2 (1) 〉 j1j1 j2j2 m1m1 m2m2 m2m2 m1m1 j1j1 j2j2 m1m1 m2m2 m2m2 m1m1

Scheduling 16 Example: Schedules by Machine machines: m 1 of type r 1 m 2 of type r 2 jobs: j 1 : 〈 r 1 (1), r 2 (2) 〉 j 2 : 〈 r 1 (3), r 2 (1) 〉 m1m1 m2m2 a 11 a 21 a 22 a 12 m1m1 m2m2 a 11 a 21 a 22 a 12

Scheduling 17 Overview Scheduling Problems and Schedules Searching for Schedules

Scheduling 18 Assignable Actions Let P be a machine scheduling problem. Let S be a partially defined schedule. An action a ji of some job j l in P is unassigned if it does not appear in S. An action a ji of some job j l in P is assignable if it has no unassigned predecessors in S.

Scheduling 19 Example: Assignable Actions problem P: machines: m 1 of type r 1 m 2 of type r 2 jobs: j 1 : 〈 r 1 (1), r 2 (2) 〉 j 2 : 〈 r 1 (3), r 2 (1) 〉 j 2 : 〈 r 1 (3), r 2 (1), r 1 (3) 〉 unassigned: a 22, a 31, a 32, a 33 assignable: a 22, a 31 m1m1 m2m2 a 11 a 21 a 12 partial schedule S:

Scheduling 20 Earliest Assignable Time Let a ji be an assignable action in S. The earliest assignable time for a ji on machine m in S is: the end of the last action currently scheduled on m in S, or the end of the last predecessor (a j0 … a ji-1 ) in S, whichever comes later.

Scheduling 21 Example: Earliest Assignable Time problem P: machines: m 1 of type r 1 m 2 of type r 2 jobs: j 1 : 〈 r 1 (1), r 2 (2) 〉 j 2 : 〈 r 1 (3), r 2 (1) 〉 j 2 : 〈 r 1 (3), r 2 (1), r 1 (3) 〉 earliest assignable time for a 22 on m 2 : 4 earliest assignable time for a 31 on m 1 :4 m1m1 m2m2 a 11 a 21 a 12 partial schedule S: 0 246

Scheduling 22 Heuristic Search heuristicScheduler(P,S) assignables  P.getAssignables(S) if assignables.isEmpty() then return S action  assignables.selectOne() machines  P.getMachines(action) machine  machines.selectOne() time  S.getEarliestAssignableTime(action, machine) S  S + assign(action, machine, time) return heuristicScheduler(P,S)

Scheduling 23 Using Local Search issues: representing schedules generating a random initial schedule generating neighbours evaluating neighbours (schedules)

Scheduling 24 Schedule Representation representation: totally ordered list of all actions with assigned machines example: 〈( a 11,m 1 ), ( a 21,m 1 ), ( a 12,m 2 ), ( a 22,m 2 ) 〉 schedule: assign actions in sequence to given machines at earliest assignable times example: m1m1 m2m2 a 11 a 21 a 22 a 12

Scheduling 25 Initial Schedule and Evaluation generating random schedules: randomly choose an assignable action randomly choose a machine of the right resource type for that action append the action-machine pair to the list of assignments do this until all actions are assigned evaluating schedules: generate schedule from list apply optimization criterion

Scheduling 26 Generating Neighbours machine neighbours: change the machine assigned to an action to any other machine position neighbours: change the position of an action a in the list: a min :the latest predecessor of a in the current list a max :the earliest successor of a in the current list move a anywhere between a min and a max

Scheduling 27 LocalSearchScheduler: Pseudo Code function LocalSearchScheduler(P) best  randomSchedule(P) loop MAXLOOP times S  randomSchedule(P) do succs  S.getBestNeighbours(P) next  succs.selectOne() if S.evaluate() < next.evaluate() then S  next while S = next if S.evaluate() > best.evaluate() then best  S return best

Scheduling 28 Overview Scheduling Problems and Schedules Searching for Schedules