Download presentation
Presentation is loading. Please wait.
1
Integrating Planning & Scheduling Subbarao Kambhampati Integrating Planning & Scheduling Agenda: Questions on Scheduling? Discussion on Smith’s paper? Next topic: Nondeterministic Planning
2
Integrating Planning & Scheduling Subbarao Kambhampati Dana Nau’s visit.. G Talk on 3/31 afternoon (Monday) –Planning for Interactions among Autonomous Agents G May come to the class on 4/1 (Tuesday) –Can pick his brains…
3
Integrating Planning & Scheduling Subbarao Kambhampati Temporal Planning & Scheduling G What we did: G Action representations G Search models –Completeness considerations G Temporal networks G Scheduling G Some outstanding issues G Integrating planning & scheduling G Heuristics for temporal planning
4
Integrating Planning & Scheduling Subbarao Kambhampati Need for Integration G Most existing planners concentrate on action selection, ignoring resource allocation –Plan-based interfaces –Interactive decision support G Most existing schedulers concentrate only on resource allocation, ignoring action selection –E.g. HSTS operation scheduling G 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
5
Integrating Planning & Scheduling Subbarao Kambhampati Why now? G 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 G 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
6
Integrating Planning & Scheduling Subbarao Kambhampati Approaches for Integration G Extend schedulers to handle action and resource choices G Extend planners to deal with resources, durative actions and continuous quantities G Coupled Architectures –De-coupled –Loosely Coupled (RealPlan System)
7
Integrating Planning & Scheduling Subbarao Kambhampati Approaches G Decoupled –Existing approaches G Monolithic –Extend Planners to handle time and resources –Extend Schedulers to handle choice G Loosely Coupled –Making planners and schedulers interact
8
Integrating Planning & Scheduling Subbarao Kambhampati Decoupled approaches (which is how Project Mgmt Done now) Management Technology Development Mid-lower manager Implementers MS Project (task planning) (scheduling)
9
Integrating Planning & Scheduling Subbarao Kambhampati Extending Planners G ZENO [Penberthy & Weld], IxTET [Ghallab & Laborie], HSTS/RAX [Muscettola] extend a conjunctive plan-space planner with temporal and numeric constraint reasoners G LPSAT [Wolfman & Weld] integrates a disjunctive state- space planner with an LP solver to support numeric quantities G IPPlan [Kautz & Walser; 99] constructs ILP encodings with numeric constraints G TGP [Smith & Weld; 99] supports actions with durations in Graphplan
10
Integrating Planning & Scheduling Subbarao Kambhampati Actions with Resources and Duration Load(P:package, R:rocket, L:location) Resources: ?h : robot hand Preconditions: Position(?h,L) [?s, ?e] Free(?h) ?s Charge(?h) > 5 ?s Effects: holding(?h, P) [?s, ?t1] depositing(?h,P,R) [?t2, ?e] Busy(?h) [?s, ?e] Free(?h) ?e Charge - =.03*(?e - ?s) ?e Constraints: ?t1 < ?t2 ?e - ?s in [1.0, 2.0] Capacity(robot) = 3 ?s?e Pos(?h,L) Hold(?h,P) dep(?h,P) [1,2] Free(?h) Busy(?h)
11
Integrating Planning & Scheduling Subbarao Kambhampati What planners are good for handling resources and time? G State-space approaches have an edge in terms of ease of monitoring resource usage –Time-point based representations are known to be better for multi-capacity resource constraints in scheduling G 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
12
Integrating Planning & Scheduling Subbarao Kambhampati Smith’s Table
13
Integrating Planning & Scheduling Subbarao Kambhampati Extending Scheduling job-shop scheduling planning resource choices (RCSP) alternative processes process3process7 process8 Task1 Task2 Task3 Task4 Task5 Task6 Task8 Task7 Ordering choices Resource choices Process choices
14
Integrating Planning & Scheduling Subbarao Kambhampati Monolithic Architectures Scale Poorly G Extended planning systems are hard to control –RAX uses a very error-prone hand-coded search control strategy G Extended scheduling systems tend to lose effectiveness due to increased disjunction G Monolithic systems can sometimes show counter- intuitive behavior (by multiplying search failures)
15
Integrating Planning & Scheduling Subbarao Kambhampati Loosely Coupled Architectures 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 PLANNER SCHEDULER Causal Plan Schdule Need better coupling to avoid inter-module thrashing….
16
Integrating Planning & Scheduling Subbarao Kambhampati Making Loose Coupling Work G How can the Planner keep track of consistency? –Low level constraint propagation »Loose path consistency on TCSPs »Bounds on resource consumption, » LP relaxations of metric constraints –Pre-emptive conflict resolution The more aggressive you do this, the less need for a scheduler.. G How do the modules interact? –Failure explanations; Partial results
17
Integrating Planning & Scheduling Subbarao Kambhampati RealPlan--Master/Slave Planner does causal reasoning. Scheduler attempts resource allocation If scheduler fails, planner has to restart [Srivastava & Kambhampati ECP,99; AAAI, 2000]
18
Integrating Planning & Scheduling Subbarao Kambhampati
19
Integrating Planning & Scheduling Subbarao Kambhampati Performance of Master-Slave Coupling When scheduler fails, no specific guidance is given to the planner
20
Integrating Planning & Scheduling Subbarao Kambhampati RealPlan: Peer-to-Peer Explanation-directed backtracking between Planner and Scheduler Planner’s CSP: Variables: “goals” Values: “actions” Scheduler’s CSP: Variables: “Actions” Values: “Resources” Set of actions that cannot be scheduled Resource constraints activated by the selected actons
21
Integrating Planning & Scheduling Subbarao Kambhampati Inter-module Dependency Directed Backtracking Explanation Generation Explanation Translation Generation of Alternative Plan Scheduler’s Task Interface’s Task 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. Planner’s CSP: Variables: “goals” Values: “actions” Scheduler’s CSP: Variables: “Actions” Values: “Resources” Set of actions that cannot be scheduled Resource constraints activated by the selected actons
22
Integrating Planning & Scheduling Subbarao Kambhampati Resource Domains: A 1, A 2, A 3 : {R 1, R 2 } A 4, A 5 : {S 1, S 2, S 3 } Resource Constraints: A 1 A 2 ; A 2 A 3 ; A 1 A 3 ; A 4 A 5 ; N 1 : {A 1 = R 1 } N 1 : {A 1 = R 1, A 2 = R 2 } N 1 : {A 1 = R 1, A 2 = R 2, A 4 = S 1 } N 1 : {A 1 = R 1, A 2 = R 2, A 4 = S 1, A 3 = R 1 }N 1 : {A 1 = R 1, A 2 = R 2, A 4 = S 1, A 3 = R 2 } A 1 = R 1 A 2 = R 2 A 4 = S 1 A 3 = R 1 A 3 = R 2 Subset of variables that can not be assigned values (reason of failure): (A 1, A 2, A 3 )
23
Integrating Planning & Scheduling Subbarao Kambhampati
24
Integrating Planning & Scheduling Subbarao Kambhampati A temporal planner supporting causal plan synthesis CSP-based Finite capacity resource scheduler Mixed Integer/Linear programming module for metric constraints Mission Profile Executor interface Plans with annotated waypoints Execution status Replanning requests Mission modifications Plan criticism Evolving specs Next-Generation Realplan
25
Integrating Planning & Scheduling Subbarao Kambhampati Summary & Conclusion G Motivated the need for integrating Planning and Scheduling G Discussed the state of the art in Planning and Scheduling G Discussed approaches for Integrating them –Loosely coupled architectures are a promising approach
26
26 Multi-objective search Multi-dimensional nature of plan quality in metric temporal planning: Temporal quality (e.g. makespan, slack—the time when a goal is needed – time when it is achieved.) Plan cost (e.g. cumulative action cost, resource consumption) Necessitates multi-objective optimization: Modeling objective functions Tracking different quality metrics and heuristic estimation Challenge: There may be inter-dependent relations between different quality metric
27
27 Example Option 1: Tempe Phoenix (Bus) Los Angeles (Airplane) Less time: 3 hours; More expensive: $200 Option 2: Tempe Los Angeles (Car) More time: 12 hours; Less expensive: $50 Given a deadline constraint (6 hours) Only option 1 is viable Given a money constraint ($100) Only option 2 is viable Tempe Phoenix Los Angeles
28
28 Solution Quality in the presence of multiple objectives When we have multiple objectives, it is not clear how to define global optimum E.g. How does plan compare to ? Problem: We don’t know what the user’s utility metric is as a function of cost and makespan.
29
29 Solution 1: Pareto Sets Present pareto sets/curves to the user A pareto set is a set of non-dominated solutions A solution S1 is dominated by another S2, if S1 is worse than S2 in at least one objective and equal in all or worse in all other objectives. E.g. dominated by A travel agent shouldn’t bother asking whether I would like a flight that starts at 6pm and reaches at 9pm, and cost 100$ or another ones which also leaves at 6 and reaches at 9, but costs 200$. A pareto set is exhaustive if it contains all non-dominated solutions Presenting the pareto set allows the users to state their preferences implicitly by choosing what they like rather than by stating them explicitly. Problem: Exhaustive Pareto sets can be large (exponentially large in many cases). In practice, travel agents give you non-exhaustive pareto sets, just so you have the illusion of choice Optimizing with pareto sets changes the nature of the problem—you are looking for multiple rather than a single solution.
30
30 Solution 2: Aggregate Utility Metrics Combine the various objectives into a single utility measure Eg: w1*cost+w2*make-span Could model grad students’ preferences; with w1=infinity, w2=0 Log(cost)+ 5*(Make-span) 25 Could model Bill Gates’ preferences. How do we assess the form of the utility measure (linear? Nonlinear?) and how will we get the weights? Utility elicitation process Learning problem: Ask tons of questions to the users and learn their utility function to fit their preferences Can be cast as a sort of learning task (e.g. learn a neual net that is consistent with the examples) Of course, if you want to learn a true nonlinear preference function, you will need many many more examples, and the training takes much longer. With aggregate utility metrics, the multi-obj optimization is, in theory, reduces to a single objective optimization problem *However* if you are trying to good heuristics to direct the search, then since estimators are likely to be available for naturally occurring factors of the solution quality, rather than random combinations there-of, we still have to follow a two step process 1.Find estimators for each of the factors 2.Combine the estimates using the utility measure THIS IS WHAT IS DONE IN SAPA
31
31 Sketch of how to get cost and time estimates Planning graph provides “level” estimates Generalizing planning graph to “temporal planning graph” will allow us to get “time” estimates For relaxed PG, the generalization is quite simple—just use bi-level representation of the PG, and index each action and literal by the first time point (not level) at which they can be first introduced into the PG Generalizing planning graph to “cost planning graph” (i.e. propagate cost information over PG) will get us cost estimates We discussed how to do cost propagation over classical PGs. Costs of literals can be represented as monotonically reducing step functions w.r.t. levels. To estimate cost and time together we need to generalize classical PG into Temporal and Cost- sensitive PG Now, the costs of literals will be monotonically reducing step functions w.r.t. time points (rather than level indices) This is what SAPA does
32
32 SAPA approach Using the Temporal Planning Graph (Smith & Weld) structure to track the time-sensitive cost function: Estimation of the earliest time (makespan) to achieve all goals. Estimation of the lowest cost to achieve goals Estimation of the cost to achieve goals given the specific makespan value. Using this information to calculate the heuristic value for the objective function involving both time and cost Involves propagating cost over planning graphs..
33
33 Heuristics in Sapa are derived from the Graphplan-style bi-level relaxed temporal planning graph (RTPG) Progression; so constructed anew for each state..
34
34 Relaxed Temporal Planning Graph Relaxed Action: No delete effects May be okay given progression planning No resource consumption Will adjust later Person Airplane Person AB Load(P,A) Fly(A,B)Fly(B,A) Unload(P,A) Unload(P,B) Init Goal Deadline t=0tgtg while(true) forall A advance-time applicable in S S = Apply(A,S) Involves changing P, ,Q,t {Update Q only with positive effects; and only when there is no other earlier event giving that effect} if S G then Terminate{solution} S’ = Apply(advance-time,S) if (p i,t i ) G such that t i < Time(S’) and p i S then Terminate{non-solution} else S = S’ end while; Deadline goals RTPG is modeled as a time-stamped plan! (but Q only has +ve events) Note: Bi-level rep; we don’t actually stack actions multiple times in PG—we just keep track the first time the action entered
35
35 Details on RTPG Construction All our heuristics are based on the relaxed temporal planning graph structure (RTPG). This is a Graphplanstyle[ 2] bi-level planning graph generalized to temporal domains. Given a state S = ( P;M; ¦ ; Q; t ), the RTPG is built from S using the set of relaxed actions, which are generated from original actions by eliminating all effects which (1) delete some fact (predicate) or (2) reduce the level of some resource. Since delete effects are ignored, RTPG will not contain any mutex relations, which considerably reduces the cost of constructing RTPG. The algorithm to build the RTPG structure is summarized in Figure 4. To build RTPG, we need three main datastructures: a fact level, an action level, and an unexecuted event queue Each fact f or action A is marked in, and appears in the RTPG’s fact/action level at time instant tf / tA if it can be achieved/executed at tf / tA. In the beginning, only facts which appear in P are marked in at t, the action level is empty, and the event queue holds all the unexecuted events in Q that add new predicates. Action A will be marked in if (1) A is not already marked in and (2) all of A ’s preconditions are marked in. When action A is in, then all of A ’s unmarked instant add effects will also be marked in at t. Any delayed effect e of A that adds fact f is put into the event queue Q if (1) f is not marked in and (2) there is no event e0 in Q that is scheduled to happen before e and which also adds f. Moreover, when an event e is added to Q, we will take out from Q any event e0 which is scheduled to occur after e and also adds f. When there are no more unmarked applicable actions in S, we will stop and return no-solution if either (1) Q is empty or (2) there exists some unmarked goal with a deadline that is smaller than the time of the earliest event in Q. If none of the situations above occurs, then we will apply advance-time action to S and activate all events at time point te0 of the earliest event e’ in Q. The process above will be repeated until all the goals are marked in or one of the conditions indicating non- solution occurs. [From Do & Kambhampati; ECP 01]
36
36 Heuristics directly from RTPG For Makespan: Distance from a state S to the goals is equal to the duration between time(S) and the time the last goal appears in the RTPG. For Min/Max/Sum Slack: Distance from a state to the goals is equal to the minimum, maximum, or summation of slack estimates for all individual goals using the RTPG. Slack estimate is the difference between the deadline of the goal, and the expected time of achievement of that goal. Proof: All goals appear in the RTPG at times smaller or equal to their achievable times. A D M I S S I B L E
37
37 Heuristics from Relaxed Plan Extracted from RTPG RTPG can be used to find a relaxed solution which is then used to estimate distance from a given state to the goals Sum actions: Distance from a state S to the goals equals the number of actions in the relaxed plan. Sum durations: Distance from a state S to the goals equals the summation of action durations in the relaxed plan. Person Airplane Person AB Load(P,A) Fly(A,B)Fly(B,A) Unload(P,A) Unload(P,B) Init Goal Deadline t=0tgtg
38
38 Resource-based Adjustments to Heuristics Resource related information, ignored originally, can be used to improve the heuristic values Adjusted Sum-Action: h = h + R (Con(R) – (Init(R)+Pro(R)))/ R Adjusted Sum-Duration: h = h + R [(Con(R) – (Init(R)+Pro(R)))/ R ].Dur(A R ) Will not preserve admissibility
39
39 The (Relaxed) Temporal PG Tempe Phoenix Los Angeles Drive-car(Tempe,LA) Heli(T,P) Shuttle(T,P) Airplane(P,LA) t = 0t = 0.5t = 1t = 1.5 t = 10
40
40 Time-sensitive Cost Function Standard (Temporal) planning graph (TPG) shows the time-related estimates e.g. earliest time to achieve fact, or to execute action TPG does not show the cost estimates to achieve facts or execute actions Tempe Phoenix L.A Shuttle(Tempe,Phx): Cost: $20; Time: 1.0 hour Helicopter(Tempe,Phx): Cost: $100; Time: 0.5 hour Car(Tempe,LA): Cost: $100; Time: 10 hour Airplane(Phx,LA): Cost: $200; Time: 1.0 hour cost time 0 1.5210 $300 $220 $100 Drive-car(Tempe,LA) Heli(T,P) Shuttle(T,P) Airplane(P,LA) t = 0t = 0.5t = 1t = 1.5 t = 10
41
41 Estimating the Cost Function Tempe Phoenix L.A time 01.5210 $300 $220 $100 t = 1.5 t = 10 Shuttle(Tempe,Phx): Cost: $20; Time: 1.0 hour Helicopter(Tempe,Phx): Cost: $100; Time: 0.5 hour Car(Tempe,LA): Cost: $100; Time: 10 hour Airplane(Phx,LA): Cost: $200; Time: 1.0 hour 1 Drive-car(Tempe,LA) Hel(T,P) Shuttle(T,P) t = 0 Airplane(P,LA) t = 0.5 0.5 t = 1 Cost(At(LA))Cost(At(Phx)) = Cost(Flight(Phx,LA)) Airplane(P,LA) t = 2.0 $20
42
42 Observations about cost functions Because cost-functions decrease monotonically, we know that the cheapest cost is always at t_infinity (don’t need to look at other times) Cost functions will be monotonically decreasing as long as there are no exogenous events Actions with time-sensitive preconditions are in essence dependent on exogenous events (which is why PDDL 2.1 doesn’t allow you to say that the precondition must be true at an absolute time point—only a time point relative to the beginning of the action If you have to model an action such as “Take Flight” such that it can only be done with valid flights that are pre-scheduled (e.g. 9:40AM, 11:30AM, 3:15PM etc), we can model it by having a precondition “Have-flight” which is asserted at 9:40AM, 11:30AM and 3:15PM using timed initial literals) Becase cost-functions are step funtions, we need to evaluate the utility function U(makespan,cost) only at a finite number of time points (no matter how complex the U(.) function is. Cost functions will be step functions as long as the actions do not model continuous change (which will come in at PDDL 2.1 Level 4). If you have continuous change, then the cost functions may change continuously too ADDED
43
Not covered beyond this point..
44
44 Cost Propagation Issues: At a given time point, each fact is supported by multiple actions Each action has more than one precondition Propagation rules: Cost(f,t) = min {Cost(A,t) : f Effect(A)} Cost(A,t) = Aggregate(Cost(f,t): f Pre(A)) Sum-propagation: Cost(f,t) The plans for individual preconds may be interacting Max-propagation: Max {Cost(f,t)} Combination: 0.5 Cost(f,t) + 0.5 Max {Cost(f,t)} Probably other better ideas could be tried Can’t use something like set-level idea here because That will entail tracking the costs of subsets of literals
45
45 Termination Criteria Deadline Termination: Terminate at time point t if: goal G: Dealine(G) t goal G: (Dealine(G) < t) (Cost(G,t) = Fix-point Termination: Terminate at time point t where we can not improve the cost of any proposition. K-lookahead approximation: At t where Cost(g,t) < , repeat the process of applying (set) of actions that can improve the cost functions k times. cost time 0 1.5210 $300 $220 $100 Drive-car(Tempe,LA) H(T,P) Shuttle(T,P) Plane(P,LA) t = 0 0.5 1 1.5 t = 10 Earliest time point Cheapest cost
46
46 Heuristic estimation using the cost functions If the objective function is to minimize time: h = t 0 If the objective function is to minimize cost: h = CostAggregate(G, t ) If the objective function is the function of both time and cost O = f(time,cost) then: h = min f(t,Cost(G,t)) s.t. t 0 t t Eg: f(time,cost) = 100.makespan + Cost then h = 100x2 + 220 at t 0 t = 2 t time cost 0 t 0 =1.52t = 10 $300 $220 $100 Cost(At(LA)) Earliest achieve time: t 0 = 1.5 Lowest cost time: t = 10 The cost functions have information to track both temporal and cost metric of the plan, and their inter-dependent relations !!!
47
47 Heuristic estimation by extracting the relaxed plan Relaxed plan satisfies all the goals ignoring the negative interaction: Take into account positive interaction Base set of actions for possible adjustment according to neglected (relaxed) information (e.g. negative interaction, resource usage etc.) Need to find a good relaxed plan (among multiple ones) according to the objective function
48
48 Heuristic estimation by extracting the relaxed plan Initially supported facts: SF = Init state Initial goals: G = Init goals \ SF Traverse backward searching for actions supporting all the goals. When A is added to the relaxed plan RP, then: SF = SF Effects(A) G = (G Precond(A)) \ Effects If the objective function is f(time,cost), then A is selected such that: f(t(RP+A),C(RP+A)) + f(t(G new ),C(G new )) is minimal (G new = (G Precond(A)) \ Effects) When A is added, using mutex to set orders between A and actions in RP so that less number of causal constraints are violated time cost 0 t 0 =1.52t = 10 $300 $220 $100 Tempe Phoenix L.A f(t,c) = 100.makespan + Cost
49
49 Heuristic estimation by extracting the relaxed plan General Alg.: Traverse backward searching for actions supporting all the goals. When A is added to the relaxed plan RP, then: Supported Fact = SF Effects(A) Goals = SF \ (G Precond(A)) Temporal Planning with Cost: If the objective function is f(time,cost), then A is selected such that: f(t(RP+A),C(RP+A)) + f(t(G new ),C(G new )) is minimal (G new = (G Precond(A)) \ Effects) Finally, using mutex to set orders between A and actions in RP so that less number of causal constraints are violated time cost 0 t 0 =1.52t = 10 $300 $220 $100 Tempe Phoenix L.A f(t,c) = 100.makespan + Cost
50
50 Adjusting the Heuristic Values Ignored resource related information can be used to improve the heuristic values (such like +ve and –ve interactions in classical planning) Adjusted Cost: C = C + R (Con(R) – (Init(R)+Pro(R)))/ R * C(A R ) Cannot be applied to admissible heuristics
51
51 Partialization Example A1A2A3 A1(10) gives g1 but deletes p A3(8) gives g2 but requires p at start A2(4) gives p at end We want g1,g2 A position-constrained plan with makespan 22 A1 A2 A3 G p g1 g2 [et(A1) = st(A3)] [et(A2) <= st(A3) …. Order Constrained plan The best makespan dispatch of the order-constrained plan A1 A2A3 14+ There could be multiple O.C. plans because of multiple possible causal sources. Optimization will involve Going through them all.
52
52 Problem Definitions Position constrained (p.c) plan: The execution time of each action is fixed to a specific time point Can be generated more efficiently by state-space planners Order constrained (o.c) plan: Only the relative orderings between actions are specified More flexible solutions, causal relations between actions Partialization: Constructing a o.c plan from a p.c plan Q R R G Q RR {Q} {G} t1t1 t2t2 t3t3 p.c plano.c plan Q R R G Q RR {Q} {G}
53
53 Validity Requirements for a partialization An o.c plan P oc is a valid partialization of a valid p.c plan P pc, if: P oc contains the same actions as P pc P oc is executable P oc satisfies all the top level goals (Optional) P pc is a legal dispatch (execution) of P oc (Optional) Contains no redundant ordering relations P Q P Q X redundant
54
54 Greedy Approximations Solving the optimization problem for makespan and number of orderings is NP-hard (Backstrom,1998) Greedy approaches have been considered in classical planning (e.g. [Kambhampati & Kedar, 1993], [Veloso et. al.,1990]): Find a causal explanation of correctness for the p.c plan Introduce just the orderings needed for the explanation to hold
55
55 Partialization: A simple example Pickup(A)Stack(A,B)Pickup(C)Stack(C,D) Pickup(A) Stack(A,B) Pickup(C) Stack(C,D) On(A,B) On(C,D) Holding(B) Holding(C) Hand-empty
56
56 Modeling greedy approaches as value ordering strategies Variation of [Kambhampati & Kedar,1993] greedy algorithm for temporal planning as value ordering: Supporting variables: S p A = A’ such that: et p A’ < st p A in the p.c plan P pc B s.t.: et p A’ < et p B < st p A C s.t.: et p C < et p A’ and satisfy two above conditions Ordering and interference variables: p AB = if st p B > st p A r AA’ = if st r A > et r A’ in P pc ; r AA’ = other wise. Key insight: We can capture many of the greedy approaches as specific value ordering strategies on the CSOP encoding
57
57 CSOP Variables and values Continuous variables: Temporal: st A ; D(st A ) = {0, + }, D(st init ) = {0}, D(st Goals ) = {Dl(G)}. Resource level: V r A Discrete variables: Resource ordering: r AA’ ; Dom( r AA’ ) = { } or Dom( r AA’ ) = {, } Causal effect: S p A ; Dom(S p A ) = {B 1, B 2,…B n }, p E(B i ) Mutex: p AA’ ; Dom( p AA’ ) = { }; p E(A), p E(A’) U P(A’) Q R R G Q RR {Q} {G} A1A1 A2A2 A3A3 Exp: Dom(S Q A2 ) = {A ibit, A 1 } Dom(S R A3 ) = {A 2 }, Dom(S G Ag ) = {A 3 } R A1A2, R A1A3
58
58 Constraints Causal-link protection: S p A = B A’, p E(A’): ( p A’B = ) Ordering and temporal variables: S p A = B et p B < st p A p A’B = et p A > st p A’ r AA’ = st r A > et r A’ Optional temporal constraints: Goal deadline: st Ag t g ; Time constraints on individual actions: L st A U Resource precondition constraints: For each precondition V r A K, = {>,<, , ,=} set up one constraint involving all r AA’ such as: Exp: Init r + A’ K if = >
59
59 Modeling Different Objective Functions Temporal quality: Minimum Makespan: Minimize Max A (st A + dur A ) Maximize summation of slacks: Maximize (st g Ag - et g A ); S g Ag = A Maximize average flexibility: Maximize Avg(Dom(st A )) Fewest orderings: Minimize #(st A < st A’ )
60
60 Empirical evaluation Objective: Demonstrate that metric temporal planner armed with our approach is able to produce plans that satisfy a variety of cost/makespan tradeoff. Testing problems: Randomly generated logistics problems from TP4 (Hasslum&Geffner) Load/unload(package,location): Cost = 1; Duration = 1; Drive-inter-city(location1,location2): Cost = 4.0; Duration = 12.0; Flight(airport1,airport2): Cost = 15.0; Duration = 3.0; Drive-intra-city(location1,location2,city): Cost = 2.0; Duration = 2.0;
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.