Top Banner
Integrating Planning & Scheduling Subbarao Kambhampati Scheduling: The State of the Art Integrating P lanning & Scheduling Subbarao K ambhampati Overview W hy integrate planning and scheduling? P lanning:The state ofthe art S cheduling:The state ofthe art Integrating P lanning and Scheduling
19

Integrating Planning & Scheduling Subbarao Kambhampati Scheduling: The State of the Art.

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Integrating Planning & Scheduling Subbarao Kambhampati Scheduling: The State of the Art.

Integrating Planning & Scheduling Subbarao Kambhampati

Scheduling: The State of the Art

Integrating Planning & Scheduling Subbarao Kambhampati

Overview

Why integrate planning and scheduling?

Planning: The state of the art

Scheduling: The state of the art

Integrating Planning and Scheduling

Page 2: Integrating Planning & Scheduling Subbarao Kambhampati Scheduling: The State of the Art.

Integrating Planning & Scheduling Subbarao Kambhampati

Planning

– Initial state & a set of Goals,

– A library of actions

» Preconditions/effects Discrete/Continuous

» Resource requirementsSynthesize a sequence of actions capable

of satisfying goals

I = initial state G = goal state Oi(prec) (effects)

[ I ] Oi Oj Ok Om [ G ]

Planning vs. Scheduling

Scheduling

– Set of jobs (may have 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

Find start times for jobs that are optimal (wrt make-spans, resource consumption etc)

T2

T1

EST

LFTDur

A Continuum

--Research into planning and scheduling methods has largely been de-coupled

Resource Reasoning

Causal Reasoning

Page 3: Integrating Planning & Scheduling Subbarao Kambhampati Scheduling: The State of the Art.

Integrating Planning & Scheduling Subbarao Kambhampati

Why 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 couldn’t be modeled and solved or because the humans didn’t 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)

Page 4: Integrating Planning & Scheduling Subbarao Kambhampati Scheduling: The State of the Art.

Integrating Planning & Scheduling Subbarao Kambhampati

Simple job-shop Scheduling: Brief Overview

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 Models– Time point model

» Tasks as variables, Time points as values

» EST, LFT, Machine contention as constraints

– Inter-task precedences as variables (PCP model)

CSP Techniques– Customized consistency

enforcement techniques» ARC-B consistency» Edge-finding

– Customized variable/value ordering heuristics

» Contention-based» Slack-based

– MaxCSP; B&B searches

T2

M

EST

LFTP1,P2

st2

st1

Page 5: Integrating Planning & Scheduling Subbarao Kambhampati Scheduling: The State of the Art.

Integrating Planning & Scheduling Subbarao Kambhampati

Connections…

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 doesn’t enter the picture since we don’t have any action choice..

Scheduling (at least in the unary capacity resource case) is equivalent to solving disjunctive temporal networks!

Page 6: Integrating Planning & Scheduling Subbarao Kambhampati Scheduling: The State of the Art.

Integrating Planning & Scheduling Subbarao Kambhampati

11/3:

Scheduling continued

Incompleteness and uncertainty (start)

Page 7: Integrating Planning & Scheduling Subbarao Kambhampati Scheduling: The State of the Art.

Integrating Planning & Scheduling Subbarao Kambhampati

Minimizing 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.

Page 8: Integrating Planning & Scheduling Subbarao Kambhampati Scheduling: The State of the Art.

Integrating Planning & Scheduling Subbarao Kambhampati

Job Shop Scheduling as a CSP

PrecedenceConstraints

CapacityConstraints

Variables: Start time stil

Domain: [estil….lsti

l] Precedence constraints: sti

l + pil stj

l

Release times/deadlines: R sti

1 ; sti1 + pi

1 D

Capacity Constraints:sti

l + pil stj

l stjl + pj

l stil

Start Point Representation

PCP RepresentationVariables: Ordering(i,j) for each task i and jDomain: {i-before-j, j-before-I,*} * means don’t careDependent Var: StiConstraints:Sequencing 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 DInter-variable constraints: O(i,j)=i-bef-j => sti +pi <= stj

Disjunction typically comes through capacity constraints

O12R1 O2

2R2

O13R3 O2

3R1 O33R2

O11R1 O2

1R2 O31R3O1

1R1 O21R2 O3

1R3

Jobs

J1

J2

J3

Making the problem harder: --Multi-capacity resources >> a machine that can handle 4 jobs at a time --Disjunctive activities >>schedule at least one of the following tasks --Setup constraints >>if you schedule task1, you need to schedule 3 and 4

Page 9: Integrating Planning & Scheduling Subbarao Kambhampati Scheduling: The State of the Art.

Integrating Planning & Scheduling Subbarao Kambhampati

The Choice Spectrum

planningjob-shopscheduling

Page 10: Integrating Planning & Scheduling Subbarao Kambhampati Scheduling: The State of the Art.

Integrating Planning & Scheduling Subbarao Kambhampati

The Choice Spectrum

planningjob-shopscheduling

Job1task1 < task2 < task3 < …

Job2

Job3…

R3 R7 R1

Ordering choices only

Page 11: Integrating Planning & Scheduling Subbarao Kambhampati Scheduling: The State of the Art.

Integrating Planning & Scheduling Subbarao Kambhampati

The Choice Spectrum

cascading levels of choice

planningjob-shopscheduling

…… … …

… …

Page 12: Integrating Planning & Scheduling Subbarao Kambhampati Scheduling: The State of the Art.

Integrating Planning & Scheduling Subbarao Kambhampati

The Choice Spectrum

job-shopscheduling

planningresourcechoices(RCSP)

umfagogginclavitracle

fernambulator5 11

Task1

Task2

Task3

Task4

Task5

Task6

Task8

Task7

[8,17]

Ordering choicesResource choices

Page 13: Integrating Planning & Scheduling Subbarao Kambhampati Scheduling: The State of the Art.

Integrating Planning & Scheduling Subbarao Kambhampati

The Choice Spectrum

job-shopscheduling

planning

resourcechoices(RCSP)

alternativeprocesses

process3 process7process8

Task1

Task2

Task3

Task4

Task5

Task6

Task8

Task7

Ordering choicesResource choicesProcess choices

Page 14: Integrating Planning & Scheduling Subbarao Kambhampati Scheduling: The State of the Art.

Integrating Planning & Scheduling Subbarao Kambhampati

The Choice Spectrum

planningambitious spacecraftjob-shop

scheduling

resourcechoices(RCSP)

alternativeprocesses

Observation choices

Instrument choices

Calibration target choices

Ordering choices

Communication choices

Instrument status choices

Page 15: Integrating Planning & Scheduling Subbarao Kambhampati Scheduling: The State of the Art.

Integrating Planning & Scheduling Subbarao Kambhampati

The Choice Spectrum

planning

Subset Selectionambitious spacecraftobservation schedulingprocess planning

job-shopscheduling

resourcechoices(RCSP)

alternativeprocesses

Page 16: Integrating Planning & Scheduling Subbarao Kambhampati Scheduling: The State of the Art.

Integrating Planning & Scheduling Subbarao Kambhampati

Start 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 planning—

which 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

Page 17: Integrating Planning & Scheduling Subbarao Kambhampati Scheduling: The State of the Art.

Integrating Planning & Scheduling Subbarao Kambhampati

Contention-based Ordering Heuristics

time

demandIndividual Demand of O1 for Rj

time

demandAggregate Demand (of all O) for Rj

time

Individual Demand of O2 for Rjdemand

3 6 90

0 3 6

630

9

Most critical region

Operation O1 Start Time Distributionprobability

Start time0 3 6

Contention: Aggregated curves found for each resource Critical Region: Where a resource is contended the mostMost Critical Unassigned Operation: Contributes the largest area in critical regionVariable Ordering Heuristic:Choose the most critical unassigned operation

[Sadeh, 1991]

Page 18: Integrating Planning & Scheduling Subbarao Kambhampati Scheduling: The State of the Art.

Integrating Planning & Scheduling Subbarao Kambhampati

Other Constraint Propagation Ideas

Through Precedence Relations:

O11R1 O2

1R2 O31R3

[0,12] [0,12] [0,12]

O11R1 O2

1R2 O31R3

[0,6] [3,9] [6,12]

Forward Propagation

Backward Propagation

- 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) EST(S) + Dur(S)

O1

O2

O3

10 20

S = {O2,O3}; O = O1 Start Time O1 = 25

Through Resource constraints

Arc-Bounds

Edge-Finding

Many other ideas: --Energy-based propagation --Time-table propagation etc. See Laborie, AIJ 2002

Arc-bounds is related to 2-consistencyWhile edge-finding is related to k-consistency

Page 19: Integrating Planning & Scheduling Subbarao Kambhampati Scheduling: The State of the Art.

Integrating Planning & Scheduling Subbarao Kambhampati

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, “multi-product hoist scheduling” application (PCB electroplating).

Better in most large-scale problems than IP formulations