Integrating Planning and Scheduling: Status and Prospects Subbarao Kambhampati Arizona State University rakaposhi.eas.asu.edu/yochan.html ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Planning vs. Scheduling $&RQWLQXXP Scheduling – Set of jobs (may have of tasks in some (partial) order) – Temporal constraints on jobs Planning – Initial state & a set of Goals, – A library of actions » Preconditions/effects » EST, LFT, Duration – O Discrete/Continuous Contention constraints » Each task can be done on a subset of machines » Resource requirements Synthesize a sequence of actions capable of satisfying goals Find start times for jobs that are optimal (wrt make-spans, resource consumption etc) &D &DX XVD O 5H 5HD DVR QLQ LQJ J 5HVR 5HVRX XUFH 5HDV 5HDVR RQLQ LQJ J I = initial state 7 ,QWH ,QWHJJUDWLQJ 3ODQQLQJ (prec) Oi (effects) /)7 'XU (6 7 G = goal state 7 [I] Oi Oj Ok 5HVHDUFKLQWRSODQQLQJDQGVFKHGXOLQJPHWKRGV KDVODUJHO\EHHQGHFRXSOHG 6FKHGX 6FKHGXOLOLQQJ Om [ G ] 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Need for Integration * Most existing schedulers concentrate only on resource allocation, ignoring action selection – E.g. HSTS operation scheduling * Most existing planners concentrate on action selection, ignoring resource allocation – Plan-based interfaces – Interactive decision support * Many real-world problems require both capabilities – Supply Chain Management problems » I2, ILOG, Manugistics – Planning in domains with durative actions, continuous change » NASA RAX experiment ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Why now? * Significant scale-up in plan synthesis in last 4-5 years – 5/6 action plans in minutes to 100 action plans in minutes – Breakthroughs in search space representation, heuristic and domain-specific * Significant strides in our understanding of connections between planning and scheduling – Rich connections between planning and CSP/SAT/ILP » Vanishing separation between planning techniques and scheduling techniques ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Approaches for Integration * Extend schedulers to * Extend planners to deal with handle action and resource choices resources, durative actions and continuous quantities resource alternative job-shop choices processes scheduling (RCSP) process8 process3 planning process7 …… … Task4 Task7 Task2 …… … … Task5 Task1 Task8 Task3 ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 1( 5 XO H $1 3/ KG – De-coupled – Loosely Coupled (RealPlan System) 6F * Coupled Architectures &D XVD O3 ODQ Task6 +( 6& /( '8 5 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Overview :K\LQWHJUDWHSODQQLQJDQG VFKHGXOLQJ" · 3ODQQLQJ7KHVWDWHRIWKHDUW * 6FKHGXOLQJ7KHVWDWHRIWKHDUW * ,QWHJUDWLQJ3ODQQLQJDQG6FKHGXOLQJ ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL 3ODQQLQJ 7KH6WDWHRIWKH$UW Overview * * * * Why integrate planning and scheduling? Planning: The state of the art Scheduling: The state of the art Integrating Planning and Scheduling ,Q W HJ UDUDWW LQJ 33OOD Q L ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6X EE EEDD UDR.DPE KD PSD WL 6 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL (Deterministic) Planning: The problem At(A,M),At(B,M) ¬In(A), ¬In(B) Appolo 13 *States are modeled in terms of (binary) state-variables (factored rep.) -- Complete initial state, partial goal state *Actions are modeled as state transformation functions -- Syntax: ADL language (Pednault) Earth Earth *Plans are sequences of actions At(A,E), At(B,E),At(R,E) Effects In(o1) Preconditions Load(o1) At(o1,l1), At(R,l1) ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ At(R,M), ¬At(R,E) In ( x ) ⇒ At ( x, M) ∀x & ¬At(x, E) Unload(o1) Fly() ¬In(o1) In(o1) At(R,E) 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL The (too) many brands of classical planners J Q L \ UN I L R Q 8 PHZ D U ) Planning as Theorem Proving (Green’s planner) Planning as Model Checking Planning as Search Search in the space of States (progression, regression, MEA) (STRIPS, PRODIGY, TOPI, HSP, HSP-R, UNPOP, FF) Search in the space of Plans (total order, partial order, protections, MTC) (Interplan,SNLP,TOCL, UCPOP,TWEAK) Search in the space of Task networks (reduction of non-primitive tasks) (NOAH, NONLIN, O-Plan, SIPE) Planning as CSP/ILP/SAT/BDD (Graphplan, IPP, STAN, SATPLAN, BLackBOX,GP-CSP,BDDPlan) ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Refinement Planning: The idea All action sequences P Refine All Sol P’ P’ P All Seq. Refinements All Solutions Partial plans Narrowing sets of action sequences to progress towards sets of solutions Remove non-solutions ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ [AIMAG-97] 6XEE 6XEED .DPEKDDPS DUDR .DPEK PSDDWL Plan Representation Steps, Orderings, Aux. Constraints Partial plan = 0 P: 1: Load(A) 4:Unload(A) ∞ 2:Fly() In(A)@2 At(R,E) 3: Load(B) Semantics in terms of Candidate sets --Candidate is an action sequence that satisfies all the plan constraints (but can have additional actions) Refinements split and prune candidate sets ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL At(A,E) At(B,E) At(R,E) progression 1: Unload(A) ∞ 0 2: Load(B) 1: Unload(A) ∞ 0 2: Fly() 1: Unload(A) ∞ State-Space Ext end Suf fix 0 0 1: Fly() Regression ∞ At(A,M) At(B,M) ¬In(A) ¬In(B) 0 1: Fly() 2: Unload(A) ∞ 0 1: Fly() 2: Unload(B) ∞ ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 1:Unload(A) ∞ At(A,M)@ • PSR At(A,M)@• At(A,M) Ad 2: Load(A) 0 Plan-Space mid dle ∞ 1: Unload(A) the 0 d in Ext end Pre fix (The) Three Refinement Strategies ¬At(A,M) 0 2:Fly() 3:Unload(A) ∞ In(A)@2 /H /HD D VW & &R RPPLWPHQ LWPHQWW 5H JUHV JUHVV VLRQ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Tradeoffs among Refinements FSR and BSR must commit to both position and relevance of actions + Give state information (Easier plan validation) - Too many states when actions have durations 0 Plan-space refinement (PSR) avoids constraining position + Reduces commitment (large candidate set /branch) - Increases plan-validation costs - Leads to premature commitment Pf W HD V JU V DU H Z W \ DV RO 7 K KH QJ 7 OOL )L V V /H + Easily extendible to actions with duration ∞ 1: Fly() Pp Pb 0 1: Fly() 0 ∞ 1: Fly() ∞ ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL A flexible Split & Prune search for Refinement Planning Null Plan set Null Plan set R1 R2 Refineplan( P : Plan) Rk P1 P2 Pk R1 R2 Rk P1 P2 Pk 0*. If «P » is empty, Fail. 1. If a minimal candidate of P is a solution, terminate. 2. Select a refinement strategy R . Appply R to P to get a new plan set P’ 3. Split P’ into k plansets 4. Non-deterministically select one of the plansets P’ i Call Refine(P’ i) ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Broad Themes in the Planning Renaissance * Disjunctive Representations * Reachability/Relevance Analysis * Connections to combinatorial substrates * Sophisticated domain pre-processing Techniques optimistic projection of achievability level 0 level 1 level 0 level 2 level 1 level 3 level 2 … … … 'L 'LV VM XQF QFWWLYH 3O D QQ LQJ 3ODQ 3ODQQ QL QJ D V LLWWH UD UDWWLYH + HXUL HXULV VW LFV %RX %RXQ QGHG HQJWK GHGO HQJ WK &RPEL &RPELQ QDWRULDO 3UREO 3UREOH H P 6R 6ROO Y LQ J 7X WR ULDO R Q 5H FH QW $GYDQ $GYDQF FH V LQ $, 3ODQQ 3ODQQLLQJ ,- &$ &$,, $$$, $, KWWS SOODQ HDVD VXH GX UDNDSR KWWSUDNDS GXS RVK LHDV DQQ QLQJ LQJWX WR ULDO ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Init: Ontable(A),Ontable(B), Clear(A), Clear(B), hand-empty holding(A) ~Clear(A) Ontable(A) Pickup(A) Ontable(B), ~Ontable(A) Clear(B) Clear(B) ~handempty hand-empty Goal: ~clear(B), hand-empty Ontable(B), Clear(A) holding(B) ~Clear(B) Pickup(B) ~Ontable(B) Ontable(A), $ % Clear(A) 3U 3UR RJUHV JUHVV VLRQ 6HDUFK ~handempty 5HJU 5HJUH HVVLRQ 6H DUFK ~clear(B) holding(A) ""+R ""+RZ Z SURPL SURPLV VLQ LQJ J D UH WKH LQ LQWWH UPHGLDWH 6WD WH V 3ODQV" ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ Putdown(A) ~clear(B) hand-empty Stack(A,B) holding(A) clear(B) Putdown(B)?? 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL h-A Pick-A Pick-B Init: Ontable(A),Ontable(B), Clear(A), Clear(B), hand-empty h-B Goal: ~clear(B), hand-empty ~cl-A ~cl-B ~he onT-A onT-A onT-B onT-B cl-A cl-A cl-B cl-B he he n io t ec ty j ro ili P b ic cha t is ea m ti f R p O o ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL h-A Pick-A Pick-B on-A-B on-B-A St-A-B h-B h-A h-B ~cl-A ~cl-A ~cl-B ~cl-B St-B-A ~he onT-A onT-A Ptdn-A V WLRQ '/ OVDF 2 D LWHU KH3* 6L]H D[ O IPtdn-B R W 0 ' HQJWK // onT-B onT-B cl-A cl-A cl-B cl-B he he Pick-A ~he onT-A onT-B cl-A cl-B Pick-B ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ he 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Heuristics based on the Planning Graph * lev(S): index of the first level where all props in S appear nonmutexed. – If there is no such level, then If the graph is grown to level off, then ∞ Else k+1 (k is the current length of the graph) Set-Level heuristic: h(S) = lev(S) Admissible but not very informed DO N 7 nV Sum heuristic: h(S) = ∑p∈ ∈S lev({p}) Inadmissible D\ P UG WH V H \ VW 6 Assumes that sub-goals are independent <H OW OW$ $ Adjusted Sum heuristic: [Sanchez et. al., 2000] HAdjSum2M(S) = length(RelaxedPlan(S)) + max p,q∈S δ(p,q) Inadmissible where δ(p,q) = lev({p,q}) - max{lev(p), lev(q)} ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Planning as Plangraph Solution Extraction h-A If there exists a k-length plan, it will be a subgraph of the k-length planning graph. Pick-A Pick-B St-A-B h-A h-B ~cl-A ~cl-A ~cl-B Planning is thus searching for a “valid” subgraph of the planning graph. St-B-A ~cl-B ~he onT-A ~he onT-A Ptdn-A onT-B Combinatorial search. Can be cast into any combinatorial substrate (e.g. CSP, SAT, ILP…) on-A-B on-B-A h-B onT-B onT-A onT-B Ptdn-B cl-A cl-A cl-B cl-B he he Pick-A cl-A cl-B Pick-B ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ he 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL (very) Quick overview of CSP/SAT concepts x,y,u,v: {A,B,C,D,E} w: {D,E} l : {A,B} x=A ⇒ w≠E y=B ⇒ u≠D u=C ⇒ l≠A v=D ⇒ l≠B * Constraint Satisfaction Problem (CSP) – Given » A set of discrete variables » Legal domains for each of the variables » A set of constraints on values groups of variables can take – Find an assignment of values to all the variables so that none of the constraints are violated A solution: x=B, y=C, u=D, v=E, w=D, l=B x←A N1: {x=A} ←B y← * SAT Problem = CSP with boolean N2: {x= A & y = B } ←D v← variables N : {x= A & y = B & v = D } ←C u← * TCSP = CSP where variables are time N : {x= A & y = B & v = D & u = C } points and constraints describe ←E w← ←D w← N : {x= A & y = B & v = D & u = C & w= E } allowed distances 3 4 5 N6: {x= A & y = B & v = D & u = C & w= D } ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Important ideas in solving CSPs Variable order heuristics: Pick the most constrained variable --Smallest domain, connected to most other variables, causes most unit propagation, causes most resource contention, has the most distance etc… x ←A N1: {x=A} y← B N2: {x= A & y = B } v← D N3: {x= A & y = B & v = D } u← C N4: {x= A & y = B & v = D & u = C } Value ordering heuristics Pick the least constraining value w← E N5: {x= A & y = B & v = D & u = C & w= E } w← D N6: {x= A & y = B & v = D & u = C & w= D } Consistency enforcement k-consistency; adaptive consistency. (pre-processing) Forward Checking, unit propagation during search (dynamic) x,y,u,v: {A,B,C,D,E} w: {D,E} l : {A,B} x=A wzE y=B uzD u=C lzA v=D lzB Search/Backtracking DDB/EBL: Remember and use interior node failure explanations Randomized search ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Posing Plangraph Solution Extraction as a CSP/SAT Variables: literals in proposition lists Values: actions supporting them Constraints: Mutex and Activation constraints h-A Pick-A Pick-B St-A-B on-A-B h-A h-B ~cl-A ~cl-A ~cl-B St-B-A ~cl-B ~he onT-A onT-A onT-B onT-B ~he Ptdn-A cl-A cl-B cl-B onT-B he he Pick-A ~cl-B-2: { #, St-A-B-2, Pick-B-2} he-2: {#, St-A-B-2, St-B-A-2, Ptdn-A-2,Ptdn-B-2} h-A-1: {#, Pick-A-1} h-B-1: {#,Pick-B-1 } …. onT-A Ptdn-B cl-A Variables: Domains on-B-A h-B cl-A cl-B Pick-B he Constraints: he-2 = St-A-B-2 => h-A-1 !=# {activation} On-A-B-2 = St-A-B-2 => On-B-A-2 != St-B-A-2 {mutex constraints} Goals: ~cl-B-2 != # he-2 !=# ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Compilation to Integer Linear Programming ,/ ,/3 3 * LYHQ D V VH HW R I UHDO YD YDO OX HG YDULD YDULDE EOHV D OLQHDU REMHFWLY REMHFWLYH H I XQFWLRQ RQ W WK KH YD YDU ULD LDE EOHV OHV D VHW R I O OL RI LQ HDU LQHTXDOLWLHV R Q WKH YDULDE I LQWHJ LQWHJU UDO DOL LW \ U HVW ULFWLRQV RQ W YDULDEO OHV DQ G D VHW R WK KH YD YDU ULDEO DEOH HV )LQG WK H YDOXHV R I W WK KH I HD HDV VLE LEO OH YD YDU ULDEO DEOH HV I IR RU Z ZK K LF K W WKH KH REMH REMHF FW LYH I IX X Q FW L R Q DWWDLQV WKH PD[L D[LP PXP YDOXH LQWHJ LQWHJH HU SU SUR RJUDP JUDPP PLQJ FR UU HVS RQG RQGV V FORVHO\ W R 6$7 SU REOH REOHP P * Motivations – Ability to handle numeric quantities, and do optimization – Heuristic value of the LP relaxation of ILP problems * Conversion – Convert a SAT/CSP encoding to ILP inequalities » E.g. X v ~Y v Z => x + (1 - y) + z >= 1 – Explicitly set up tighter ILP inequalities » If X,Y,Z are pairwise mutex, we can write x+y+z <= 1 DXW] (instead of x+y <=1 ; y+z <=1 ; z +x <= 1) UH . ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ RORX O V > :DVO VHQ HW D 'LPRS 9R FNPD\U %R V@ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Relative Tradeoffs Offered by the various compilation substrates * CSP encodings support implicit representations * * * – More compact encodings [Do & Kambhampati, 2000] – Easier integration with Scheduling techniques ILP encodings support numeric quantities – Seamless integration of numeric resource constraints [Walser & Kautz, 1999] – Not competitive with CSP/SAT for problems without numeric constraints SAT encodings support axioms in propositional logic form – May be more natural to add (for whom ;-) BDDs are very popular in CAD community – Commercial interest may spur effective algorithms (which we can use) ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Disjunctive Planning * Idea: Consider Partial plans with disjunctive step, ordering, and auxiliary constraints * Motivation: Provides a lifted search space, avoids re* generating the same failures multiple times (also, rich connections to combinatorial problems) Issues: – Refining disjunctive plans » Graphplan (Blum & Furst, 95) Q – Solution extraction in disjunctive plans FWLR [WUD ULDO ( Q W LR DWR » Direct combinatorial search 6RO X RPELQ F D P H O LV » Compilation to CSP/SAT/ILP 3UR E Refining disjunctive plans 0 1: Load(A) or 2 : Load(B) or 3 : Fly(R) • 0 1: Load(A) or 2 : Load(B) or 3 : Fly(R) 1: Load(A) or 2 : Load(B) or 3 : Fly(R) or • 4 : Unload(A,E) or 5 : Unload(B,E) ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Planning: Current Status System R FF 1000 * Disjunctive planners as well Seconds 38 39 40 41 34 35 36 37 32 33 31 30 29 27 28 26 25 23 24 22 21 19 20 GRT 17 18 – Plans with upto 100 actions synthesized in minutes – Impressive performances in AIPS-1998 and AIPS2000 Competions STAN 10 16 as heuristic state-search planners scale well HSP2 Mips 0.1 100 ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 0.01 90 95 70 65 55 40 50 35 28 25 18 19 15 16 13 11 12 10 9 8 7 6 1 5 [Long & Kambhampati, IJCAI-2001 (may be)] 4 comparable performance are still to be developed Seconds * Plan-space planners with 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL 6FKHGXOLQJ 7KH6WDWHRIWKH$UW Overview * * * * ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ Why integrate planning and scheduling? Planning: The state of the art Scheduling: The state of the art Integrating Planning and Scheduling ,Q W HJ UDUDWW LQJ 33OOD Q L 6 6X EE EEDD UDR.DPE KD PSD WL 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Scheduling: Brief Overview CSP Models – Time point model » Tasks as variables, Time points as values » EST, LFT, Machine contention as constraints – Inter-task precedences as variables (PCP model) Jobshop scheduling – Set of jobs » Each job consists of tasks in some (partial) order – Temporal constraints on jobs » EST, LFT, Duration – Contention constraints » Each task can be done on a subset of machines CSP Techniques – Customized consistency enforcement techniques » ARC-B consistency » Edge-finding – Customized variable/value ordering heuristics /)7 'XU 7 (67 » Contention-based » Slack-based 0 – MaxCSP; B&B searches 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ Job Shop Scheduling as a CSP Jobs J1 O1 1 R 1 J2 O1 2 R 1 J3 O1 3 R 3 O2 1 R 2 Capacity Constraints O2 2 R 2 O2 3 R 1 Start Point Representation Variables: Start time stil Domain: [estil….lstil] Precedence constraints: stil + duil ≤ stjl Capacity Constraints: stil + duil ≤ stjl ∨ stjl + dujl ≤ stil ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ Precedence Constraints O3 1 R 3 6LPSO PSOH H 6H DUFK O3 3 R 2 RPHV LFDOO\ F VWUDLQWV S \ W Q WLR RQ 'LVMXQFK FDSDFLW\ F J X R WKU PCP Representation Variables: Ordering(i,j,R) for task i and j contending for resource R. Domain: {i-before-j, j-before-i} Constraints: Posting and propagation in the underlying temporal constraint network (time points and intervals) 0RU 0RUH H )O H [ L E O H 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Constraint Propagation $UF%RXQ $UF%RXQG GV Through Precedence Relations: O11R1 O21R2 O31R3 [0,12] [0,12] Forward Propagation [0,12] O11R1 O21R2 O31R3 [3,9] [0,6] [6,12] Backward Propagation (G JH) JH)LLQGL QGLQ QJ - S is a set of operations competing for resource R. - O is an operation not in S also requiring R. ((LFT(S) - EST(S) < Dur(O) + Dur(S))) (LFT(S) – EST()) < Dur(O) + EST(O)) EST(O) t EST(S) + Dur(S) O1 O2 7K UR URX XJK 5HVRX 5HVRXUUFH FR QVWUDLQ VWUDLQWWV O3 10 ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ @ >6DGHK demand 20 S = {O2,O3}; O = O1 Æ Start Time O1 = 25 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Contention-based Ordering Heuristic Individual Demand of O1 for Rj demand Aggregate Demand (of all O) for Rj 0 demand 3 6 time Individual Demand of O2 for Rj 0 3 6 9 time Most critical region 0 probability 0 6 3 9 time Operation O1 Start Time Distribution 3 ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6 Start time Contention: Aggregated curves found for each resource Critical Region: Where a resource is contended the most Most Critical Unassigned Operation: Contributes the largest area in critical region Variable Ordering Heuristic: Choose the most critical unassigned operation 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL PLWK >&KHQJ 6 @ Slack-based Ordering Heuristic (Precedence constraint-posting slack) (VW (VWLL * For two unordered operations I and J – Slack(I – Bslack(I /IWL GL (VWM GM /IW /IWMM J) = Lftj – Esti – (Duri + Durj) J) = Slack (I J) / f(S), (f(S) is similarity measure) * Min-Slack Selection (Variable Ordering) – Choose opeations pairs with minimum value of Min (Bslack(I J), Bslack(J I) ) * Max-Slack Posting (Value Ordering) – Select the precedent constraint that leaves maximum remaining slack Max(Bslack(I J), Bslack(J I) ) * This slack-based heuristic performs competitively with contention-based heuristic * Significantly improved by combining with consistency enforcement methods (Baptiste, Le Pape, Nuijten, 1995) ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Current State of Scheduling as CSP * Constraint-based scheduling techniques are an integral part of the scheduling suites by ILOG/I2 – Optimization results comparable to best approximation algorithms currently known on standard benchmark problems. – Best known solutions to more idiosyncratic, “multiproduct hoist scheduling” application (PCB electroplating). * Better in most large-scale problems than IP formulations ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Integrating Planning & Scheduling Overview * * * * Why integrate planning and scheduling? Planning: The state of the art Scheduling: The state of the art Integrating Planning and Scheduling ,Q W HJ UDUDWW LQJ 33OOD Q L ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6 6X EE EEDD UDR.DPE KD PSD WL 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Approaches * Decoupled – Existing approaches * Monolithic – Extend Planners to handle time and resources – Extend Schedulers to handle choice * Loosely Coupled – Making planners and schedulers interact ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Decoupled approaches (which is how Project Mgmt Done now) 0DQDJHPHQW 7HFKQRORJ\ 'HYHORSPHQW 0LGORZHU PDQDJHU WDVN SODQQLQJ 06 3URMHFW VFKHGXOLQJ ,PSOHPHQWHUV ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Extending Planners * ZENO [Penberthy & Weld], IxTET [Ghallab & Laborie], HSTS/RAX [Muscettola] extend a conjunctive plan-space planner with temporal and numeric constraint reasoners * LPSAT [Wolfman & Weld] integrates a disjunctive statespace planner with an LP solver to support numeric quantities * IPPlan [Kautz & Walser; 99] constructs ILP encodings with numeric constraints * TGP [Smith & Weld; 99] supports actions with durations in Graphplan Engine Search engine Domain Knowledge Search Control Planning Experts Model (DDL) Goals Initial state from EXEC ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ HSTS Plan Database Plan to EXEC 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Actions with Resources and Duration Load(P:package, R:rocket, L:location) Resources: ?h : robot hand Preconditions: Position(?h,L) Free(?h) Charge(?h) > 5 Effects: Constraints: [?s, ?e] ?s ?s holding(?h, P) [?s, ?t1] depositing(?h,P,R) [?t2, ?e] Busy(?h) [?s, ?e] Free(?h) ?e Charge - = .03*(?e - ?s) ?e ?t1 < ?t2 ?e - ?s in [1.0, 2.0] &DSDFLW\ URERW ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ "H "V > >@ 3RV "K/ +R OG " "K K 3 )UH )UHH H "K %XV\ "K G H S " K 3 )UH )UHH H "K 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL What planners are good for handling resources and time? * State-space approaches have an edge in terms of ease of monitoring * resource usage – Time-point based representations are known to be better for multicapacity resource constraints in scheduling Plan-space approaches have an edge in terms of durative actions and continuous change – Notion of state not well defined in such cases (Too many states) – PCP representations are known to be better for scheduling with single-capacity resources ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Extending Scheduling resource choices job-shop scheduling (RCSP) process8 alternative processes process3 planning process7 Task4 Task7 Task2 Task5 Task1 Task8 Task3 ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ Ordering choices Resource choices Process choices Task6 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Monolithic Architectures Scale Poorly ) ( ' * Extended planning systems & are hard to control – RAX uses a very error-prone hand-coded search control strategy * Extended scheduling systems * tend to lose effectiveness due to increased disjunction Monolithic systems can sometimes show counterintuitive behavior (by multiplying search failures) ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 7RWDO % $ 3HUIRUPDQFH ZRUVHQV ZLWK LQFUHDVHG UHVRXUFHV 6HDUFK ' $ *UDSK ( % ) & 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL 6F KG XO H (5 1 1 3/ $ &D XVD O3 O DQ Loosely Coupled Architectures +( 6& / '8 (5 Schedulers already routinely handle resources and metric/temporal constraints. – Let the “planner”concentrate on causal reasoning – Let the “scheduler” concentrate on resource allocation, sequencing and numeric constraints for the generated causal plan 1HHGEHWWHUFRXSOLQJWRDYRLGLQWHUPRGXOHWKUDVKLQJe ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Making Loose Coupling Work &D XVD O3 6F KG XOH – Low level constraint propagation » Loose path consistency on TCSPs (5 » Bounds on resource consumption, 11 $ 3/ » LP relaxations of metric constraints – Pre-emptive conflict resolution The more aggressive you do this, the less need for a scheduler.. * How do the modules interact? ODQ * How can the Planner keep track of consistency? ( 8/ ' +( 5 6& – Failure explanations; Partial results ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL RealPlan--Master/Slave 0DVWHU6ODYH 3ODQQHUGRHVFDXVDOUHDVRQLQJ 6FKHGXOHUDWWHPSWVUHVRXUFH DOORFDWLRQ ,IVFKHGXOHUIDLOVSODQQHUKDVWR UHVWDUW 6 9DULDEOHV $FWLRQV 9DOXHV 5HVRXUFHV Planner’s CSP: Variables: “goals” Values: “actions” Scheduler’s CSP: Variables: “Actions” Values: “Resources” Re ac sou tiv rc se at e c lec ed o ted by nst ac the rain ton ts s 3 5HDO3ODQ06 YD W L DVWD KDPSD Y L U >6 DPE @ . & 3 ( $ $, $ ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Performance of Master-Slave Coupling QR L O V L Y HQ D I J U XOH FHLV G H V F K X LG D Q Q U H J :K FLILF ODQQH VSH WKHS WR ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL RealPlan: Peer-to-Peer F W HG HQ H U L H G WLRQ EHWZ XOHU D Q J D G O Q ([S WUDFNL G6FKH N EDF QHUDQ 3ODQ 9DULDEOHV )DFWV 9DOXHV $FWLRQV 7 9DULDEOHV $FWLRQV 9DOXHV 5HVRXUFHV 6 Se ca t of nn ac ot tio be ns sc tha he t du led 3 5HDO3ODQ33 3HHU3HHU Planner’s CSP: Variables: “goals” Values: “actions” Re ac sou t se ivat rce c lec ed o ted by nst ac the rain ton ts s Scheduler’s CSP: Variables: “Actions” Values: “Resources” ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Se ca t of nn ac ot tio be ns sc tha he t du led Inter-module Dependency Directed Backtracking Planner’s CSP: Variables: “goals” Values: “actions” Re a c so u t r se ivat ce c lec ed on ted by st ac the rain ts ton s Scheduler’s CSP: Variables: “Actions” Values: “Resources” Scheduler’s Task Explanation Generation Interface’s Task Explanation Translation Planner’s Task Generate compact explanation of the Scheduler’s failure in allocating resources Translate the explanation into the form that make sense to the planner. Use the translated explanation to generate plan that avoid this failure. Generation of Alternative Plan ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Resource Domains: A1, A2 , A3: {R1 , R2} A4, A5: {S1 , S2 , S3} Subset of variables that can not be assigned values (reason of failure): A1 = R1 Resource Constraints: A1 ≠ A2 ; A2 ≠ A3 ; A1 ≠ A3 ; A4 ≠ A5 ; (A1 , A2 , A3) N1: {A1 = R1} A2 = R2 N1: {A1 = R1, A2 = R2} A4 = S1 N1: {A1 = R1, A2 = R2 , A4 = S1} A3 = R1 N1: {A1 = R1, A2 = R2 , A4 = S1 , A3 = R1} ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ A3 = R2 N1: {A1 = R1, A2 = R2 , A4 = S1 , A3 = R2} 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Shuffle 8 Blocks 100000 Time (sec) 10000 1000 Realplan-PP Realplan-MS 100 10 1 2 3 4 5 Robot hand Problem Shuf_b8r4 Shuf_b8r4 RealPlan-PP Class Time INFRES FIX #bk BTPWF Time RealPlan-MS Class Time Speedup (x) BTPWF RealP lanMS 2.52 4 >3 hr SAMELEN 9373 >4170 3619 8.74 1 >3 hr SAMELEN 9373 >1236 1072 Huge_r6 INFRES 4.53 4 976 INCRLEN 11056 215 2441 Huge_r6 FIX 17.48 3 991 INCRLEN 11056 56.7 632 Huge_r6 SAMELEN 20.59 2 983 INCRLEN 11056 47.7 537 ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Executor Mission Profile Execution status Replanning requests 1H[W*HQHUDWLRQ5HDOSODQ 1$6$6SRQVRUHG Plans with annotated waypoints Evolving specs CSP-based Finite capacity resource scheduler interface A temporal planner supporting causal plan synthesis int Mission modifications Plan criticism a erf int erf a ce ce Mixed Integer/Linear programming module for metric constraints ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL Summary & Conclusion * Motivated the need for integrating Planning and Scheduling * Discussed the state of the art in Planning and Scheduling * Discussed approaches for Integrating them – Loosely coupled architectures are a promising approach ,QWH ,QWHJJUDWLQJ 3ODQQLQJ 6FKHGX 6FKHGXOLOLQQJ 6XEE 6XEEDDUDR .DPEK .DPEKDDPS PSDDWL