Happy Spring Break Scheduling The State of the
Happy Spring Break!
Scheduling: The State of the Art Integrating Planning & Scheduling Subbarao Kambhampati
Planning vs. Scheduling A Continuum Scheduling – Set of jobs (may have of tasks in some (partial) order) – Temporal constraints on jobs Planning – Initial state & a set of Goals, – A library of actions » Preconditions/effects » EST, LFT, Duration l – 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) Discrete/Continuous » Resource requirements Synthesize a sequence of actions capable of satisfying goals Causal Reasoning Resource Reasoning **Important: ACTION prec/Effect models not needed I = initial state [I] Oi G = goal state Oj Ok --Research into planning and scheduling methods has largely been de-coupled Integrating Planning & Scheduling (prec) Oi (effects) Om [ G ] Subbarao Kambhampati
Why separate scheduling from planning? G 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 l 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) Integrating Planning & Scheduling Subbarao Kambhampati
Simple job-shop Scheduling: Brief Overview CSP Models Jobshop scheduling – Set of jobs » Each job consists of tasks in some (partial) order – Temporal constraints on jobs » Sequencing constraints » Release times, deadlines, durations l EST, LFT, Duration – Contention/capacity constraints » Each task can be done on a subset of machines – 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 st 1 P 1, P 2 EST st 2 Integrating Planning & Scheduling LFT T 2 M – Customized variable/value ordering heuristics » Contention-based » Slack-based – Max. CSP; B&B searches Subbarao Kambhampati
Connections… G 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 l “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. . G Scheduling (at least in the unary capacity resource case) is equivalent to solving disjunctive temporal networks! Integrating Planning & Scheduling Subbarao Kambhampati
The Choice Spectrum job-shop scheduling Integrating Planning & Scheduling planning Subbarao Kambhampati
The Choice Spectrum planning job-shop scheduling R 3 R 7 R 1 Job 1 task 1 < task 2 < task 3 < … Job 2 Job 3 … Integrating Planning & Scheduling Ordering choices only Subbarao Kambhampati
The Choice Spectrum planning job-shop scheduling cascading levels of choice …… … … Integrating Planning & Scheduling Subbarao Kambhampati
The Choice Spectrum job-shop scheduling 5 resource choices (RCSP) planning 11 umfagoggin clavitracle fernambulator Task 4 [8, 17] Task 7 Task 2 Task 5 Task 1 Task 8 Task 3 Task 6 Integrating Planning & Scheduling Ordering choices Resource choices Subbarao Kambhampati
The Choice Spectrum resource choices job-shop scheduling (RCSP) process 8 alternative processes process 3 planning process 7 Task 4 Task 7 Task 2 Task 5 Task 1 Task 8 Task 3 Task 6 Integrating Planning & Scheduling Ordering choices Resource choices Process choices Subbarao Kambhampati
The Choice Spectrum job-shop scheduling alternative processes resource choices (RCSP) ambitious spacecraft planning Observation choices Instrument choices Calibration target choices Ordering choices Communication choices Instrument status choices Integrating Planning & Scheduling Subbarao Kambhampati
The Choice Spectrum job-shop scheduling resource choices (RCSP) Integrating Planning & Scheduling alternative processes planning Subset Selection ambitious spacecraft observation scheduling process planning Subbarao Kambhampati
Scheduling vs. HTN Planning G G 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 G Disjunctive scheduling relaxes “Unique” reduction— a task may have multiple reductions (all of which still leading directly to primitive tasks) Integrating Planning & Scheduling Subbarao Kambhampati
Scheduling vs. Bounded Length Planning G The way planning graphs are converted into CSP encodings have Integrating Planning & Scheduling Subbarao Kambhampati
Job 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 sti 1 ; sti 1 + pi 1 D Capacity Constraints: stil + pil stjl + pjl stil PCP Representation Variables: Ordering(i, j) for each task i and j Domain: {i-before-j, j-before-I, *} * means don’t care Dependent Var: Sti Solution of PCP scheduling is an STP Constraints: 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 sti 1 ; sti 1 +dui 1 D Inter-variable constraints: O(i, j)=i-bef-j => sti +pi <= stj Integrating Planning & Scheduling Precedence Constraints Capacity Constraints 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 task 1, you need to schedule 3 and 4 Subbarao Kambhampati
Start point vs. PCP (not all that unlike State-space vs. PO) G G Solution to the Start point encoding is a single feasible schedule Handling of multi-capacity resources easy. . G 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 G Integrating Planning & Scheduling Conventional wisdom is that PCP does not scale well to multi-capacity resource scenarios Subbarao Kambhampati
Contention-based Ordering Heuristics 91] 9 1 , h e ad [S demand Individual Demand of O 1 for Rj demand Aggregate Demand (of all O) for Rj 0 demand 3 6 time Individual Demand of O 2 for Rj 0 3 6 9 time Most critical region 0 probability 0 6 3 9 time Operation O 1 Start Time Distribution 3 Integrating Planning & Scheduling 6 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 Start time Subbarao Kambhampati
Other 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 Integrating Planning & Scheduling Through Resource constraints Subbarao Kambhampati
Constraint Propagation PCP SCHEDULING 1. Pick ordering decision with the overall minimum slack min{slack[(u->v ); slack(v->u)] {Most constrained variable} 2. Assign that ordering decision the value for which the slack is higher. {Least constraining value} Integrating Planning & Scheduling 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, Subbarao 3] Kambhampati
Minimizing Schedule “Makespan” G Approach: – Establish lower and upper bounds on overall schedule end. – Repeatedly apply PCP to find the best solution within these bounds. G 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. Integrating Planning & Scheduling Subbarao Kambhampati
Current State of Scheduling as CSP G G Constraint-based scheduling techniques are an integral part of the scheduling suites by ILOG/I 2 – Optimization results comparable to best approximation algorithms currently known on standard benchmark problems. – Best known solutions to more idiosyncratic, “multiproduct hoist scheduling” application (PCB electroplating). Better in most large-scale problems than IP formulations Integrating Planning & Scheduling Subbarao Kambhampati
- Slides: 22