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
Embed
Integrating Planning & Scheduling Subbarao Kambhampati Scheduling: The State of the Art.
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.
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)
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!
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
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
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