Title: Refinement Planning: Status and Prospectus
1Happy Spring Break!
2Scheduling The State of the Art
3Planning vs. Scheduling
A Continuum
Causal Reasoning
Resource Reasoning
Important ACTION prec/Effect models not needed
--Research into planning and scheduling methods
has largely been de-coupled
4Why 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 - Certain resource constraints may not be available
at planning time and so the planner has to
postpone them to a separate scheduling phase - 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)
5Simple 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
6Connections
- 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!
7The Choice Spectrum
planning
job-shop scheduling
8The Choice Spectrum
planning
job-shop scheduling
R3
R7
R1
Job1 task1 lt task2 lt task3 lt Job2 Job3
Ordering choices only
9The Choice Spectrum
cascading levels of choice
10The 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
11The Choice Spectrum
process8
Ordering choices Resource choices Process choices
12The 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
13The Choice Spectrum
alternative processes
planning
job-shop scheduling
resource choices (RCSP)
Subset Selection ambitious spacecraft observation
scheduling process planning
14Scheduling vs. HTN Planning
- You can think of each job as an HTN non-primitive
task, and the specific taks for doing that job as
it reduction - Simple scheduling assumes that
- Unique Reduction Each non-primitive task has a
single reduction schema - One-level Reduction Each reduction schema
contains only primitive tasks - Disjunctive scheduling relaxes Unique
reductiona task may have multiple reductions
(all of which still leading directly to primitive
tasks)
15Scheduling vs. Bounded Length Planning
- The way planning graphs are converted into CSP
encodings have
16Job 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
Solution of PCP scheduling is an STP
17Start 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
18Contention-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
19Other 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
20Constraint 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
21Minimizing 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.
22Current 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