Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:

Slides:



Advertisements
Similar presentations
On the Complexity of Scheduling
Advertisements

Scheduling Planning with Actions that Require Resources.
ECE 667 Synthesis and Verification of Digital Circuits
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
MBD and CSP Meir Kalech Partially based on slides of Jia You and Brian Williams.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Situation Calculus for Action Descriptions We talked about STRIPS representations for actions. Another common representation is called the Situation Calculus.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
1 Inventory Control for Systems with Multiple Echelons.
Techniques for Dealing with Hard Problems Backtrack: –Systematically enumerates all potential solutions by continually trying to extend a partial solution.
Optimal Rectangle Packing: A Meta-CSP Approach Chris Reeson Advanced Constraint Processing Fall 2009 By Michael D. Moffitt and Martha E. Pollack, AAAI.
Lecture 10: Integer Programming & Branch-and-Bound
5-1 Chapter 5 Tree Searching Strategies. 5-2 Satisfiability problem Tree representation of 8 assignments. If there are n variables x 1, x 2, …,x n, then.
Scheduling with Outliers Ravishankar Krishnaswamy (Carnegie Mellon University) Joint work with Anupam Gupta, Amit Kumar and Danny Segev.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Best-First Search: Agendas
CPSC 322, Lecture 9Slide 1 Search: Advanced Topics Computer Science cpsc322, Lecture 9 (Textbook Chpt 3.6) January, 23, 2009.
Hardness Results for Problems P: Class of “easy to solve” problems Absolute hardness results Relative hardness results –Reduction technique.
1 Set # 4 Dr. LEE Heung Wing Joseph Phone: Office : HJ639.
Job Scheduling Lecture 19: March 19. Job Scheduling: Unrelated Multiple Machines There are n jobs, each job has: a processing time p(i,j) (the time to.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
8-1 Problem-Solving Examples (Preemptive Case). 8-2 Outline Preemptive job-shop scheduling problem (P-JSSP) –Problem definition –Basic search procedure.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
5-1 Chapter 5 Tree Searching Strategies. 5-2 Breadth-first search (BFS) 8-puzzle problem The breadth-first search uses a queue to hold all expanded nodes.
1 IOE/MFG 543 Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)
1 1 Slide © 2009 South-Western, a part of Cengage Learning Slides by John Loucks St. Edward’s University.
1 Constraint Programming: An Introduction Adapted by Cristian OLIVA from Peter Stuckey (1998) Ho Chi Minh City.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
1 1 Slide © 2005 Thomson/South-Western Slides Prepared by JOHN S. LOUCKS ST. EDWARD’S UNIVERSITY.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
1 1 Slide Linear Programming (LP) Problem n A mathematical programming problem is one that seeks to maximize an objective function subject to constraints.
Foundations of Software Testing Chapter 5: Test Selection, Minimization, and Prioritization for Regression Testing Last update: September 3, 2007 These.
Great Theoretical Ideas in Computer Science.
Chapter 7 Introduction to Linear Programming
BackTracking CS335. N-Queens The object is to place queens on a chess board in such as way as no queen can capture another one in a single move –Recall.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
CP Summer School Modelling for Constraint Programming Barbara Smith 2. Implied Constraints, Optimization, Dominance Rules.
Chapter 1. Formulations 1. Integer Programming  Mixed Integer Optimization Problem (or (Linear) Mixed Integer Program, MIP) min c’x + d’y Ax +
1 Short Term Scheduling. 2  Planning horizon is short  Multiple unique jobs (tasks) with varying processing times and due dates  Multiple unique jobs.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Outline Introduction Minimizing the makespan Minimizing total flowtime
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Chapter 2) CSP solving-An overview Overview of CSP solving techniques: problem reduction, search and solution synthesis Analyses of the characteristics.
Operational Research & ManagementOperations Scheduling Economic Lot Scheduling 1.Summary Machine Scheduling 2.ELSP (one item, multiple items) 3.Arbitrary.
Problem Reduction So far we have considered search strategies for OR graph. In OR graph, several arcs indicate a variety of ways in which the original.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
1 Optimization Techniques Constrained Optimization by Linear Programming updated NTU SY-521-N SMU EMIS 5300/7300 Systems Analysis Methods Dr.
Chapter 13 Backtracking Introduction The 3-coloring problem
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Problems in Combinatorial Optimization. Linear Programming.
CS 361 – Chapter 10 “Greedy algorithms” It’s a strategy of solving some problems –Need to make a series of choices –Each choice is made to maximize current.
Optimization Problems The previous examples simply find a single solution What if we have a cost associated with each solution and we want to find the.
1 1 Slide © 2008 Thomson South-Western. All Rights Reserved Slides by JOHN LOUCKS St. Edward’s University.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
1 Chapter 5 Branch-and-bound Framework and Its Applications.
1 Job Shop Scheduling. 2 Job shop environment: m machines, n jobs objective function Each job follows a predetermined route Routes are not necessarily.
Linear program Separation Oracle. Rounding We consider a single-machine scheduling problem, and see another way of rounding fractional solutions to integer.
Scheduling with Constraint Programming
BackTracking CS255.
Design and Analysis of Algorithm
CMSC 722, AI Planning Planning and Scheduling
Heuristics Definition – a heuristic is an inexact algorithm that is based on intuitive and plausible arguments which are “likely” to lead to reasonable.
Instructor: Shengyu Zhang
Integer Programming (정수계획법)
Dana S. Nau University of Maryland 9:01 AM December 6, 2018
Chapter 1. Formulations (BW)
Integer Programming (정수계획법)
Chapter 1. Formulations.
Presentation transcript:

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 1 CMSC 722, AI Planning Planning and Scheduling Dana S. Nau University of Maryland 8:38 AM December 23, 2015

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 2 Scheduling Given:  actions to perform  set of resources to use  time constraints »e.g., the ones computed by the algorithms in Chapter 14 Objective:  allocate times and resources to the actions What is a resource?  Something needed to carry out the action  Usually represented as a numeric quantity  Actions modify it in a relative way  Several concurrent actions may use the same resource

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 3 Planning and Scheduling Scheduling has usually been addressed separately from planning  E.g., the temporal planning in Chapter 14 didn’t include scheduling Thus, will give an overview of scheduling algorithms In some cases, cannot decompose planning and scheduling so cleanly  Thus, will discuss how to integrate them

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 4 Scheduling Problem Scheduling problem  set of resources and their future availability  actions and their resource requirements  constraints  cost function Schedule  allocations of resources and start times to actions »must meet the constraints and resource requirements

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 5 Actions Action a  resource requirements »which resources, what quantities  usually, upper and lower bounds on start and end times »Start time s(a)  [s min (a),s max (a)] »End time e(a)  [e min (a),e max (a)] Non-preemptive action: cannot be interrupted  Duration d(a) = e(a) – s(a) Preemptive action: can interrupt and resume  Duration d(a) =  i  I d i (a) ≤ e(a) – s(a)  can have constraints on the intervals

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 6 Reusable Resources A reusable resource is “borrowed” by an action, and released afterward  e.g., use a tool, return it when done Total capacity Q i for r i may be either discrete or continuous  Current level z i (t)  [0,Q i ] is »z i (t) = how much of r i is currently available If action requires quantity q of resource r i,  Then decrease z i by q at time s(a) and increase z i by q at time e(a) Example: five cranes at location l i :  We might represent this as Q i = 5  Two of them in use at time t: z i (t) = 5 – 2 = 3

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 7 Consumable Resources A consumable resource is used up (or in some cases produced) by an action  e.g., fuel Like before, we have total capacity Q i and current level z i (t) If action requires quantity q of r i  Decrease z i by q at time s(a)  Don’t increase z i at time e(a)

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 8 An action’s resource requirement is a conjunct of assertions  consume(a,r j,q j ) & … or a disjunct if there are alternatives  consume(a,r j,q j ) v … z i is called the “resource profile” for r i

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 9 Time constraints Bounds on start and end points of an action  absolute times »e.g., a deadline: e(a) ≤ u »release date: s(a) ≥ v  relative times »latency: u ≤ s(b)–e(a) ≤ v »total extent: u ≤ e(a)–s(a) ≤ v Constraints on availability of a resource  e.g., can only communicate with a satellite at certain times

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 10 Costs may be fixed may be a function of quantity and duration  e.g., a set-up cost to begin some activity, plus a run-time cost that’s proportional to the amount of time e.g., suppose a follows b  cost c r (a,b) for a  duration d r (a,b), i.e., s(b) ≥ e(a) + d r (a,b)

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 11 Objective: minimize some function of the various costs and/or end-times

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 12 Types of Scheduling Problems Machine scheduling  machine i: unit capacity (in use or not in use)  job j: partially ordered set of actions a j1, …, a jk  schedule: »a machine i for each action a jk »a time interval during which i processes a jk »no two actions can use the same machine at once  actions in different jobs are completely independent  actions in the same job cannot overlap »e.g., actions to be performed on the same physical object

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 13 Single-Stage Machine Scheduling Single-stage machine scheduling  each job is a single action, and can be processed on any machine  identical parallel machines »processing time p j is the same regardless of which machine »thus we can model all m machines as a single resource of capacity m  uniform parallel machines »machine i has speed(i); time for j is p j /speed(i)  unrelated parallel machines »different time for each combination of job and machine

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 14 Multiple-Stage Scheduling Multiple-stage scheduling problems  job contains several actions  each requires a particular machine  flow-shop problems: »each job j consists of exactly m actions {a j1, a j2, …, a jm } »each a ji needs to be done on machine i »actions must be done in order a j1, a j2, …, a jm  open-shop problems »like flow-shop, but the actions can be done in any order  job-shop problems (general case) »constraints on the order of actions, and which machine for each action

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 15 Example Job shop: machines m 1, m 2, m 3 and jobs j 1, …, j 5 j 1 :  m 2 (3), m 1 (3), m 3 (6)   i.e., m 2 for 3 time units then m 1 for 3 time units then m 3 for 6 time units j 2 :  m 2 (2), m 1 (5), m 2 (2), m 3 (7)  j 3 :  m 3 (5), m 1 (7), m 2 (3)  j 4 :  m 2 (4), m 3 (6), m 2 (4), m 1 (7)  j 5 :  m 3 (2), m 2 (6) 

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 16 Notation Standard notation for designating machine scheduling problems:  |  |   = type of problem: P (identical), U (uniform), R (unrelated) parallel machines F (flow shop), O (open shop), J (job shop)  = job characteristics (deadlines, setup times, precedence constraints), empty if there are no constraints  = the objective function Examples:  Pm |  j |  j w j e j »m identical parallel machines, deadlines on jobs, minimize weighted completion time  J | prec | makespan »job shop with arbitrary number of machines, precedence constrants between jobs, minimize the makespan

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 17 Complexity Most machine scheduling problems are NP-hard Many polynomial-time reductions Problem types (  in the  |  |  notation): P - identical parallel machines U - uniform parallel machines R - unrelated parallel machines F - flow shop O - open shop J - job shop Reductions for  = type of problemReductions for  = the objective function

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 18 Solving Machine Scheduling Problems Integer Programming (IP) formulations  n-dimensional space  Set of constraints C, all are linear inequalities  Linear objective function f  Find a point p=(x 1,…, x n ) such that »p satisfies C »p is integer-valued, i.e., every x i is an integer »no other integer-valued point p' satisfies C and has f(p') < f(p) A huge number of problems can be translated into this format An entire subfield of Operations Research is devoted to IP  Several commercial IP solvers

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 19 IP Solvers Most IP solvers use depth-first branch-and-bound  Want a solution u that optimizes an objective function f(u)  Node selection is guided by a lower bound function L(u) »For every node u, L(u) ≤ {f(v) : v is a solution in the subtree below u} »Backtrack if L(u) ≥ f(u*), where u* = the best solution seen so far procedure DFBB global u*  fail; f*  ∞ call search(r), where r is the initial node return (u*,f*) procedure search(u) if u is a solution and f(u) < f* then u*  u; f*  f(u) else if u has no unvisited children or L(u) ≥ f* then do nothing else call search(v), where v = argmin{L(v) : v is a not-yet-visited child of u} L(u) very similar to A*’s heuristic function f(u) = g(u) + h(u) Main difference: L isn’t broken into f ’s two components g and h A* can be expressed as a best-first branch-and- bound procedure

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 20 Planning as Scheduling Some planning problems can be modeled as machine-scheduling problems Example: modified version of DWR  m identical robots, several distinct locations  job: container-transportation(c,l,l') »go to l, load c, go to l', unload c All four tasks to be done by the same robot (which can be any robot)  release dates, deadlines, durations  setup time t ijk if robot i does job j after performing job k  minimize weighted completion time Can generalize the example to allow cranes for loading/unloading, and arrangement of containers into piles Problem: the machine-scheduling model can’t handle the part I said to ignore  Can specify a specific robot r i for each job j i, but can’t leave it unspecified Let’s ignore this for a moment

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 21 Limitations Some other characteristics of AI planning problems that don’t fit machine scheduling  Precedence constraints on ends of jobs »Beyond the standard classes »Hard in practice for scheduling problems How to control the end times of actions? »Could avoid this if we allow containers to be in any order within a pile  We have ignored some of the resource constraints »E.g., one robot in a location at a time

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 22 Discussion Overall, machine scheduling is too restricted to handle all the needs of planning But it is very well studied  Heuristics and techniques that can be useful for planning with resources

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 23 Integrating Planning and Scheduling Extend the chronicle representation to include resources  finite set Z={z 1,…,z m } of resource variables »z i is the resource profile for resource i Like we did with other state variables, will use function-and-arguments notation to represent resource profiles  cranes(l) = number of cranes available at location l Will focus on reusable resources  resources are borrowed but not consumed

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 24 Temporal Assertions Resource variable z whose total capacity is Q A temporal assertion on z is one of the following:  Decrease z by amount q at time t: : –q  Increase z by amount q at time t: : +q  Use amount q of z during [t,t'): : q »Equivalent to : –q  : +q Consuming a resource is like using it ad infinitum:  : –q is equivalent to  ) : q Producing a resource is like having a higher initial capacity Q' = Q + q at time 0, and using q of it during [0, t):  : +q is equivalent to : +q & : q

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 25 Resource Capacity Also need to specify total capacity of each resource  E.g., suppose we modify DWR so that locations can hold multiple robots  Need to specify how many robots each location can hold One way: fixed total capacity Q: maximum number of spots at each location  E.g., Q = 12 means each location has at most 12 spots  If location loc1 has only 4 spots, then we’ve specified 8 more spots than it actually has  To make the 8 nonexistent spots unavailable, assert that they’re in use »The initial chronicle will contain space( loc1  ):8 Another way: make Q depend on the location  Q( loc1 ) = 4, Q( loc2 ) = 12, …

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 26 Example DWR domain, but locations may hold more than one robot  Resource variable space (l) = number of available spots at location l  Each robot requires one spot move (t s, t e, t 1, t 2, r, l, l' )

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 27 Possibly Intersecting Assertions Assume distinct resources are completely independent  Using a resource z does not affect another resource z'  Every assertion about a resource concerns just one resource Don’t need consistency requirements for assertions about different resource variables, just need them for assertions about the same variable Let  = (F,C) be a chronicle  Suppose i,t i ' ):q i and j,t j ' ):q j be two temporal assertions in F »both are for the same resource z i,t i ' ):q i and j,t j ' ):q j are possibly intersecting  iff [t i,t i ' ) and [t i,t i ' ) are possibly intersecting  iff C does not make them disjoint »i.e., C does not entail t i ' ≤ t j nor t j ' ≤ t i Similar if there are than two assertions about z

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 28 Conflict and Consistency Intuitively, R z is conflicting if it is possible for R z to use more than z’s total capacity Q. To see if R z possibly intersects, it’s sufficient to see if each pair of assertions in R z possibly intersects: A chronicle is consistent if  Temporal assertions on state variables are consistent, in the sense specified in Chapter 14  No conflicts among temporal assertions

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 29 Planning Problems Suppose we’re only trying to find a feasible plan, not an optimal one  Then except for the resources, our definitions of planning domain, planning problem, etc. are basically the same as in Chapter 14 Recall that in Chapter 14 we had two kinds of flaws  Open goals  Threats We now have a third kind of flaw  A resource conflict flaw for a resource variable z in a chronicle  is a set of conflicting temporal assertions for z in  Given a resource conflict flaw, what are all the possible ways to resolve it?

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 30 Let R z = 1,t 1 '):q 1, …, n,t n '):q n } be all temporal assertions about z in a chronicle (F,C) The Possibly Intersecting Assertions (PIA) graph is H z = (V,E), where:  V contains a vertex v i for each assertion i,t i '):q i  E contains an edge (v i,v j ) for each pair of intervals [t i,t i '), [t j,t j ') that possibly intersect Example:   C contains t i < t i ' for all i, and also contains t 1 ' < t 2, t 1 ' < t 6, t 2 ' < t 3, t 2 ' < t 4, t 5 ' < t 6, t 5 ' < t 7, t 7 < t 6 ', t 7 ' < t 4 ' PIA Graphs

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 31 Minimal Critical Sets Minimal Critical Set (MCS): a subset U of V such that  U is an over-consuming clique  No proper subset of U is over-consuming Example, continued:   Suppose z’s capacity is Q=100 {v 1, v 5 } is a clique, but is not over-consuming {v 3, v 4, v 6, v 7 } is an over-consuming clique, but is not minimal {v 6, v 7 }, {v 4, v 6 }, and {v 3, v 4, v 7 } are minimal critical sets (MCSs) for z

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 32 Finding Every Minimax Critical Set Assume the set of vertices is V = {v 1, …, v n } Depth-first search; each node p is a pair (clique(p), pending(p))  clique(p) is the current clique  pending(p) is the set of candidate vertices to add to clique(p) Initially, p = ( , V) Two kinds of leaf nodes:  clique(p) is not over-consuming but pending(p) is empty => dead end  clique(p) is over-consuming => found an MCS

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 33 MCS = {{v 2,v 5 }, {v 3,v 4,v 5 }, {v 2,v 6 }, {v 4,v 6 }, {v 3,v 4,v 7 }, {v 6,v 7 }} vertices “below” v i that are adjacent to v i Initial clique(p) and pending(p)

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 34 Resolving Resource-Conflict Flaws Suppose U = i,t i '):q i : i in I} is a minimal critical set for z in a chronicle  =(F,C)  For every pair of assertions r i = i,t i '):q i and r j = j,t j '):q j in I, let c ij be the constraint t i ' ≤ t j (i.e., c ij makes r i precede r j ) Each c ij is a possible resolver of the resource conflict  If we add c ij to C it will make [t i,t i ') and [t j,t j ') disjoint => U won’t be a clique any more  Various subsets of U may be cliques »But none of them is overconsuming, since U is a minimal critical set If U is the only MCS in R z, then adding c ij makes R z non-conflicting If R z contains several MCSs, add one constraint to C for each MCS in R z

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 35 Continuing the Previous Example … Recall that  Capacity is Q = 100  Each v i starts at t i and ends at t i '  The MCSs are {{v 2,v 5 }, {v 3,v 4,v 5 }, {v 2,v 6 }, {v 4,v 6 }, {v 3,v 4,v 7 }, {v 6,v 7 }} For the MCS U = {v 3, v 4, v 7 }, there are six possible resolvers: t 3 ' ≤ t 4, t 4 ' ≤ t 3, t 3 ' ≤ t 7, t 7 ' ≤ t 3, t 4 ' ≤ t 7, t 7 ' ≤ t 4  t 4 ' ≤ t 7 is inconsistent with C because C contains t 7 ' < t 4 '  t 4 ' ≤ t 3 is over-constraining because it implies t 7 ' ≤ t 3 Thus the only resolvers for U that we need to consider are  {t 3 ' ≤ t 4, t 3 ' ≤ t 7, t 7 ' ≤ t 3, t 7 ' ≤ t 4 } C contains t 1 ' <t 2, t 1 ' <t 6, t 2 ' <t 3, t 2 ' <t 4, t 5 ' <t 6, t 5 ' <t 7, t 7 <t 6 ', t 7 ' <t 4 ’, and t i < t i ' for all i

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 36 More about Over-Constraining Resolvers In general, a set of resolvers r' is equivalent to r if both  r' U C entails r  r U C entails r' There is a unique minimal set of resolvers r' that is equivalent to r  Desirable because it produces a smaller branching factor in the search space  Can be found in time O(|U| 3 ) by removing over-constraining resolvers

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 37 Three main steps: solve open-goal flaws solve threat flaws solve resource-conflict flaws { },