Title: Integrating Planning
1Integrating Planning Scheduling
- Agenda
- ?Questions on Scheduling?
- ?Discussion on Smiths paper?
Next topic Nondeterministic Planning
2Dana Naus visit..
- Talk on 3/31 afternoon (Monday)
- Planning for Interactions among Autonomous Agents
- May come to the class on 4/1 (Tuesday)
- Can pick his brains
3Temporal Planning Scheduling
- What we did
- Action representations
- Search models
- Completeness considerations
- Temporal networks
- Scheduling
- Some outstanding issues
- Integrating planning scheduling
- Heuristics for temporal planning
4Need for Integration
- Most existing planners concentrate on action
selection, ignoring resource allocation - Plan-based interfaces
- Interactive decision support
- Most existing schedulers concentrate only on
resource allocation, ignoring action selection - E.g. HSTS operation scheduling
- 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
5Why 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
6Approaches for Integration
- Extend schedulers to handle action and resource
choices
- Extend planners to deal with resources, durative
actions and continuous quantities
- Coupled Architectures
- De-coupled
- Loosely Coupled (RealPlan System)
7Approaches
- Decoupled
- Existing approaches
- Monolithic
- Extend Planners to handle time and resources
- Extend Schedulers to handle choice
- Loosely Coupled
- Making planners and schedulers interact
8Decoupled approaches(which is how Project Mgmt
Done now)
Management
Technology Development
MS Project
Mid-lower manager
(scheduling)
(task planning)
Implementers
9Extending 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
state-space 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
10Actions with Resources and Duration
Load(Ppackage, Rrocket, Llocation)
Resources ?h robot hand Preconditions
Position(?h,L) ?s, ?e
Free(?h) ?s
Charge(?h) gt 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 lt ?t2 ?e -
?s in 1.0, 2.0
?s
?e
1,2
Pos(?h,L)
Hold(?h,P)
dep(?h,P)
Free(?h)
Free(?h)
Busy(?h)
Capacity(robot) 3
11What 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 multi-capacity 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
12Smiths Table
13Extending Scheduling
process8
Ordering choices Resource choices Process choices
14Monolithic 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
counter-intuitive behavior (by multiplying search
failures)
15Loosely Coupled Architectures
Causal Plan
PLANNER
SCHEDULER
Schdule
- Schedulers already routinely handle resources
and metric/temporal constraints. - Let the plannerconcentrate on causal reasoning
- Let the scheduler concentrate on resource
allocation, sequencing and numeric constraints
for the generated causal plan
Need better coupling to avoid inter-module
thrashing.
16Making Loose Coupling Work
- 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.. - How do the modules interact?
- Failure explanations Partial results
17RealPlan--Master/Slave
Srivastava Kambhampati ECP,99 AAAI, 2000
Planner does causal reasoning. Scheduler
attempts resource allocation If scheduler
fails, planner has to restart
18(No Transcript)
19Performance of Master-Slave Coupling
When scheduler fails, no specific guidance is
given to the planner
20RealPlan Peer-to-Peer
Explanation-directed backtracking between
Planner and Scheduler
Set of actions that
cannot be scheduled
Planners CSP
Schedulers CSP
Variables goals
Variables Actions
Values actions
Values Resources
Resource constraints
actons
activated by the
selected
21Inter-module Dependency Directed Backtracking
Set of actions that
cannot be scheduled
Planners CSP
Schedulers CSP
Variables goals
Variables Actions
Values actions
Values Resources
Resource constraints
actons
activated by the
selected
Generate compact explanation of the Schedulers
failure in allocating resources
Schedulers Task
Explanation Generation
Explanation Translation
Interfaces Task
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
Planners Task
22Subset of variables that can not be assigned
values (reason of failure)
Resource Domains A1, A2 , A3 R1 , R2 A4, A5
S1 , S2 , S3 Resource Constraints A1 ? A2
A2 ? A3 A1 ? A3 A4 ? A5
A1 R1
(A1 , A2 , A3)
N1 A1 R1
A2 R2
N1 A1 R1, A2 R2
A4 S1
N1 A1 R1, A2 R2 , A4 S1
A3 R1
A3 R2
N1 A1 R1, A2 R2 , A4 S1 , A3 R1
N1 A1 R1, A2 R2 , A4 S1 , A3 R2
23(No Transcript)
24Executor
Next-Generation Realplan
Mission Profile
Execution status Replanning requests
Plans with annotated waypoints
Evolving specs
CSP-based Finite capacity resource scheduler
A temporal planner supporting causal plan
synthesis
Mission modifications Plan criticism
Mixed Integer/Linear programming module for
metric constraints
25Summary 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
26Multi-objective search
- Multi-dimensional nature of plan quality in
metric temporal planning - Temporal quality (e.g. makespan, slackthe 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
27Example
- 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
28Solution 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 ltcost5,Makespan7gt plan compare
to ltcost4,Makespan9gt? - Problem We dont know what the users utility
metric is as a function of cost and makespan.
29Solution 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. ltC4,M9gt dominated by ltC5M9gt - A travel agent shouldnt 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 problemyou are looking for multiple rather
than a single solution.
30Solution 2 Aggregate Utility Metrics
- Combine the various objectives into a single
utility measure - Eg w1costw2make-span
- Could model grad students preferences with
w1infinity, w20 - 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 - Find estimators for each of the factors
- Combine the estimates using the utility measure
- THIS IS WHAT IS DONE IN SAPA
31Sketch 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
simplejust 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
32SAPA 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..
33Heuristics in Sapa are derived from the
Graphplan-style bi-level relaxed temporal
planning graph (RTPG)
Progression so constructed anew for each
state..
34Relaxed Temporal Planning Graph
Note Bi-level rep we dont actually stack
actions multiple times in PGwe just
keep track the first time the action entered
RTPG is modeled as a time-stamped plan! (but Q
only has ve events)
- Relaxed Action
- No delete effects
- May be okay given progression planning
- No resource consumption
- Will adjust later
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 Terminatesolution
S Apply(advance-time,S) if ?(pi,ti) ?G
such that ti lt Time(S) and pi?S
then
Terminatenon-solution else S S end
while
Deadline goals
35Details 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 (PM ? 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 RTPGs 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 As
preconditions are marked in. - When action A is in, then all of As 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
36Heuristics directly from RTPG
A D M I S S I B L E
- 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.
37Heuristics 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.
38Resource-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(AR)
? Will not preserve admissibility
39The (Relaxed) Temporal PG
40Time-sensitive Cost Function
cost
?
300
220
100
0
time
1.5
2
10
Drive-car(Tempe,LA)
Airplane(P,LA)
Heli(T,P)
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
Shuttle(T,P)
t 10
t 0
t 0.5
t 1
t 1.5
- 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
41Estimating the Cost Function
?
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
300
220
100
20
time
0
1.5
2
10
1
Cost(At(LA))
Cost(At(Phx)) Cost(Flight(Phx,LA))
42Observations about cost functions
ADDED
- Because cost-functions decrease monotonically, we
know that the cheapest cost is always at
t_infinity (dont 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 doesnt allow you to say that the
precondition must be true at an absolute time
pointonly 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. 940AM,
1130AM, 315PM etc), we can model it by having a
precondition Have-flight which is asserted at
940AM, 1130AM and 315PM 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
43Not covered beyond this point..
44Cost 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)
Cant use something like set-level idea here
because That will entail tracking the costs of
subsets of literals
Probably other better ideas could be tried
45Termination Criteria
cost
- Deadline Termination Terminate at time point t
if - ? goal G Dealine(G) ? t
- ? goal G (Dealine(G) lt 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) lt
?, repeat the process of applying (set) of
actions that can improve the cost functions k
times.
?
300
220
100
0
time
1.5
2
10
Earliest time point
Cheapest cost
Drive-car(Tempe,LA)
Plane(P,LA)
H(T,P)
Shuttle(T,P)
t 0
0.5
1.5
1
t 10
46Heuristic estimation using the cost functions
The cost functions have information to track both
temporal and cost metric of the plan, and their
inter-dependent relations !!!
- If the objective function is to minimize time h
t0 - 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. t0 ? t ? t?
- Eg f(time,cost) 100.makespan Cost then
- h 100x2 220 at t0 ? t 2 ? t?
cost
?
300
220
100
0
t01.5
2
t? 10
time
Cost(At(LA))
Earliest achieve time t0 1.5 Lowest cost time
t? 10
47Heuristic 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
48Heuristic estimation by extracting the relaxed
plan
cost
- 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(RPA),C(RPA)) f(t(Gnew),C(Gnew))
- is minimal (Gnew (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
?
300
220
100
0
t01.5
2
t? 10
time
Tempe
L.A
Phoenix
f(t,c) 100.makespan Cost
49Heuristic estimation by extracting the relaxed
plan
cost
- 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(RPA),C(RPA)) f(t(Gnew),C(Gnew))
- is minimal (Gnew (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
?
300
220
100
0
t01.5
2
t? 10
time
Tempe
L.A
Phoenix
f(t,c) 100.makespan Cost
50Adjusting 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(AR)
? Cannot be applied to admissible heuristics
51Partialization Example
A position-constrained plan with makespan 22
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
A1
A2
A3
p
Order Constrained plan
The best makespan dispatch of the
order-constrained plan
A2
g2
A3
G
A2
A3
14e
A1
A1
g1
There could be multiple O.C. plans because of
multiple possible causal sources. Optimization
will involve Going through them all.
et(A1) lt et(A2) or st(A1) gt st(A3) et(A2)
lt st(A3) .
52Problem 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
t1
t2
t3
Q
R
Q
R
R
R
G
G
?R
?R
Q
Q
Q
G
Q
G
p.c plan
o.c plan
53Validity Requirements for a partialization
- An o.c plan Poc is a valid partialization of a
valid p.c plan Ppc, if - Poc contains the same actions as Ppc
- Poc is executable
- Poc satisfies all the top level goals
- (Optional) Ppc is a legal dispatch (execution) of
Poc - (Optional) Contains no redundant ordering
relations
redundant
X
P
P
Q
Q
54Greedy 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
55Partialization A simple example
Pickup(A)
Stack(A,B)
Pickup(C)
Stack(C,D)
On(A,B)
Stack(A,B)
Holding(C)
Pickup(A)
Stack(C,D)
On(C,D)
Hand-empty
Pickup(C)
Holding(B)
Hand-empty
56Modeling greedy approaches as value ordering
strategies
Key insight We can capture many of the greedy
approaches as specific value ordering strategies
on the CSOP encoding
- Variation of Kambhampati Kedar,1993 greedy
algorithm for temporal planning as value
ordering - Supporting variables SpA A such that
- etpA lt stpA in the p.c plan Ppc
- ? B s.t. etpA lt et?pB lt stpA
- ? C s.t. etpC lt etpA and satisfy two above
conditions - Ordering and interference variables
- ?pAB lt if et?pB lt stpA ?pAB gt if st?pB gt
stpA - ?rAA lt if etrA lt strA in Ppc ?rAA gt if strA
gt etrA in Ppc ?rAA ? other wise.
57CSOP Variables and values
- Continuous variables
- Temporal stA D(stA) 0, ?, D(stinit) 0,
D(stGoals) Dl(G). - Resource level VrA
- Discrete variables
- Resource ordering ?rAA Dom(?rAA) lt,gt or
Dom(?rAA) lt,gt,? - Causal effect SpA Dom(SpA) B1, B2,Bn, p?
E(Bi) - Mutex ?pAA Dom(?pAA) lt,gt p ?
E(A),?p?E(A) U P(A)
A2
A3
Exp Dom(SQA2) Aibit, A1 Dom(SRA3) A2,
Dom(SGAg) A3 ?RA1A2, ?RA1A3
Q
R
R
G
?R
Q
A1
G
Q
58Constraints
- Causal-link protection
- SpA B ? ?A, ?p?E(A) (?pAB lt) ? (?pAA gt)
- Ordering and temporal variables
- SpA B ? etpB lt stpA
- ?pAB lt ? et?pA lt stpA ?pAB gt ? et?pA gt
stpA - ?rAA lt ? etrA lt strA ?rAA gt ? strA gt etrA
- Optional temporal constraints
- Goal deadline stAg ? tg
- Time constraints on individual actions L ? stA
? U - Resource precondition constraints
- For each precondition VrA ? K, ? gt,lt,?,?,
set up one constraint involving all ?rAA such
as - Exp Initr ?AltAUrA ?A?A,Ult0 UrA gt K if ? gt
59Modeling Different Objective Functions
- Temporal quality
- Minimum Makespan Minimize MaxA (stA durA)
- Maximize summation of slacks
- Maximize ?(stgAg - etgA) SgAg A
- Maximize average flexibility
- Maximize Avg(Dom(stA))
- Fewest orderings
- Minimize (stA lt stA)
60Empirical 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
(HasslumGeffner)
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(loc
ation1,location2,city) Cost 2.0 Duration
2.0