Title: Scheduling: The State of the Art
1Scheduling The State of the Art
2Planning vs. Scheduling
A Continuum
Causal Reasoning
Resource Reasoning
--Research into planning and scheduling methods
has largely been de-coupled
3Why separate scheduling from planning?
- Clearly, Scheduling can be seen as a sub-problem
of temporal planning (unlike scheduling, planning
also contains action selection). So, why separate
it? - Reasons from automated planning point of view
- If multiple agents make their plans and execute
them on central resources, separating resource
scheduling from individual agent planning makes
sense - Even if a single agent is doing planning, it may
be worth separating causal reasoning and resource
reasoning - Such de-coupling improves efficiency, but at
the expense of global optimality guarantees - Reasons from real world practice point of view
- Historically, in many domains, action selection
and automated causal reasoning was out of
question (either because it couldnt be modeled
and solved or because the humans didnt want to
delegate it to automated methods - So, the only computer support for planning
activity was given for resource scheduling
(humans make plans, and schedulers do resource
allocation)
4Simple job-shop 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
- Sequencing constraints
- Release times, deadlines, durations
- EST, LFT, Duration
- Contention/capacity 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
- Contention-based
- Slack-based
- MaxCSP BB searches
st1
LFT
P1,P2
T2
EST
st2
M
5Connections
- Scheduling seems to be bounded length planning
where actions are already given to you! - The CSP encoding for scheduling will be a special
case of the CSP encoding for bounded length
planning! - The main difference is that in planning steps
can correspond to one of many different actions,
while in scheduling each step corresponds to a
single action - disjunctive scheduling allows disjunction of
jobs - Schedule optimality criteria are similar to
temporal plan optimality criteria (makespan,
tardiness, slack etc based) - The action cost doesnt enter the picture since
we dont have any action choice.. - Scheduling (at least in the unary capacity
resource case) is equivalent to solving
disjunctive temporal networks!
611/3
- Scheduling continued
- Incompleteness and uncertainty (start)
7Minimizing Schedule Makespan
- Approach
- Establish lower and upper bounds on overall
schedule end. - Repeatedly apply PCP to find the best solution
within these bounds. - Details
- Generate schedule ignoring resource constraints
to provide determine lower bound. - Apply one or more dispatch scheduling procedures
to provide upper bound. - Apply PCP k times with common deadlines evenly
distributed between these bounds.
8Job Shop Scheduling as a CSP
Disjunction typically comes through capacity
constraints
Start Point Representation
Variables Start time stil Domain
estil.lstil Precedence constraints
stil pil ? stjl Release
times/deadlines R ? sti1 sti1 pi1 ?
D Capacity Constraints stil pil ? stjl ?
stjl pjl ? stil
Capacity Constraints
Precedence Constraints
Making the problem harder --Multi-capacity
resources gtgt a machine that can
handle 4 jobs at a time --Disjunctive
activities gtgtschedule at least one of
the following tasks --Setup constraints
gtgtif you schedule task1, you need
to schedule 3 and 4
PCP Representation
Variables Ordering(i,j) for each task i and
j Domain i-before-j, j-before-I, means
dont care Dependent Var Sti Constraints Sequenc
ing constraints O(i,j)i-bef-j Capacity
constraints O(i,j)i-bef-j OR
O(I,j,R)j-bef-I
So, is not a
possibility Release times, deadlines R ? sti1
sti1 dui1 ? D Inter-variable constraints
O(i,j)i-bef-j gt sti pi lt stj
9The Choice Spectrum
planning
job-shop scheduling
10The Choice Spectrum
planning
job-shop scheduling
R3
R7
R1
Job1 task1 lt task2 lt task3 lt Job2 Job3
Ordering choices only
11The Choice Spectrum
cascading levels of choice
12The Choice Spectrum
resource choices (RCSP)
job-shop scheduling
planning
5
11
umfagoggin clavitracle
fernambulator
8,17
Task4
Task7
Task2
Task5
Task1
Task8
Ordering choices Resource choices
Task3
Task6
13The Choice Spectrum
process8
Ordering choices Resource choices Process choices
14The Choice Spectrum
ambitious spacecraft
alternative processes
planning
job-shop scheduling
resource choices (RCSP)
- Observation choices
- Instrument choices
- Calibration target choices
- Ordering choices
- Communication choices
- Instrument status choices
15The Choice Spectrum
alternative processes
planning
job-shop scheduling
resource choices (RCSP)
Subset Selection ambitious spacecraft observation
scheduling process planning
16Start point vs. PCP(not all that unlike
State-space vs. PO)
- Solution to the Start point encoding is a single
feasible schedule - Handling of multi-capacity resources easy..
- Solution to the PCP encoding is a simple temporal
network, all of whose dispatches are feasible
schedules - Sort of like PO planningwhich gives a PO plan,
all of whose linearizations are valid plans - Conventional wisdom is that PCP does not scale
well to multi-capacity resource scenarios
17Contention-based Ordering Heuristics
Sadeh, 1991
demand
Individual Demand of O1 for Rj
demand
Aggregate Demand (of all O) for Rj
0
time
6
3
demand
Individual Demand of O2 for Rj
3
6
9
0
time
Most critical region
time
0
3
6
9
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
probability
Operation O1 Start Time Distribution
0
3
6
Start time
18Other Constraint Propagation Ideas
Arc-Bounds
Arc-bounds is related to 2-consistency While
edge-finding is related to k-consistency
Edge-Finding
Many other ideas --Energy-based propagation
--Time-table propagation etc. See
Laborie, AIJ 2002
Through Resource constraints
19Constraint Propagation
PCP SCHEDULING
- Pick ordering decision with the overall minimum
slack - minslack(u-gtv ) slack(v-gtu)
- Most constrained variable
- 2. Assign that ordering decision the value for
which the slack - is higher.
- Least constraining value
- ?B-slack slack/sqrt(S)
- S is the ratio of min and max slacks of a
given ordering. - to normalize for the variation 20 , 3
vs. 4, 3
20Current 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,
multi-product hoist scheduling application (PCB
electroplating). - Better in most large-scale problems than IP
formulations
21Slides beyond thiswere not covered
22Need 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
23Why 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
24Approaches 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)
25Approaches
- Decoupled
- Existing approaches
- Monolithic
- Extend Planners to handle time and resources
- Extend Schedulers to handle choice
- Loosely Coupled
- Making planners and schedulers interact
26Decoupled approaches(which is how Project Mgmt
Done now)
Management
Technology Development
MS Project
Mid-lower manager
(scheduling)
(task planning)
Implementers
27Extending 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
28Actions 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
29What 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
30Extending Scheduling
process8
Ordering choices Resource choices Process choices
31Monolithic 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)
32Loosely 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.
33Making 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
34RealPlan--Master/Slave
Srivastava Kambhampati ECP,99 AAAI, 2000
Planner does causal reasoning. Scheduler
attempts resource allocation If scheduler
fails, planner has to restart
35(No Transcript)
36Performance of Master-Slave Coupling
When scheduler fails, no specific guidance is
given to the planner
37RealPlan 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
38Inter-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
39Subset 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
40(No Transcript)
41Executor
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
42Summary 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