T13	Agent coordination in planning and scheduling
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
308
On Slideshare
308
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
4
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Agent Coordination Agent Coordination Temporal ConstraintsTechniques in in for Autonomous Scheduling Planning and Scheduling Planning and Scheduling a play in 4 parts a play in 2 parts Cees Witteveen, Cees Witteveen Algorithmics group, Bob Huisman Algorithmics group, Algorithmics group & NedTrain Delft University of Technology, The Netherlands Delft University, The Netherlands C.Witteveen@tudelft.nl / NedTrain Company, The Netherlands Delft University C.Witteveen@tudelft.nl B.Huisman@tudelft.nlEASSS Valencia May 2012 1 EASSS Valencia May 2012 2 Our problem Plan coordination examples Given • Building a house Several agents each doing a part of the total set of tasks. • set of agents each capable Tasks are dependent upon each other. of performing some specific tasks; • set of interdependent and constrained tasks to be accomplished; • Organizing intermodal transportation Goods have to be transported by several companies • tasks are distributed over the agents plan coordination problem using different transport modalities. for Question autonomous agents • Airport planning how to specify the constraints such that A set of airports handling incoming and outgoing flights each airport wants to make its own plans for arrival, • each agent is able to make an gate-assignment and departure planning. individual plan/schedule for its set of tasks independently, • Coordinating service providers at airports • individual plans can always be joined A set of service providers each providing a different service to a feasible total plan for the original to a set of airplanes. There are time constraints between services. set of tasks.EASSS Valencia May 2012 3 EASSS Valencia May 2012 4 Plan of the course Contents Part 1 Part 1: coordination of plans with temporal constraints 1. Introduction: Agent Coordination in Scheduling - introduction to autonomous scheduling - basics of scheduling - introduction to autonomous scheduling. - Simple Temporal Plans Cees Witteveen - Temporal decoupling 2. Theory: temporal schedules in Simple Temporal Plans - Application in ground handling at airports - simple temporal plans (STPs); - determining consistency of an STP; Part 2 : coordination of plans with temporal and - finding solutions for an STP; resource constraints - temporal decoupling in STPs. - Plans with resource constraints Bob Huisman 3. Application: coordination of schedules at airports - Constraint posting - temporal decoupling applied to the turnaround process at airports. - Extensions EASSS Valencia May 2012 5 EASSS Valencia May 2012 6
  • 2. Scheduling: basics Scheduling: examples Given project planning & scheduling • a set of activities (events) whose durations and what planning of activities to be executed resource requirements are known in software projects • a set of temporal constraints between the activities when machine scheduling • a set of computational resources (machines,vehicles) who allocation of jobs to processors needed to perform activities transportation scheduling • and a given cost function how much arrival & departure scheduling of flights Question employee scheduling crew rostering on flights Find an assignment of time points to activities satisfying the constraints and an assignment of resources to activities meeting the educational timetabling requirements such that the cost is minimized timetables at schools and universities scheduling is about deciding assembly system scheduling when who performs what in a cost optimal way. production planning for carsEASSS Valencia May 2012 7 EASSS Valencia May 2012 8 Scheduling: examples Scheduling: examples project planning & scheduling project planning & scheduling planning of activities to be executed planning of activities to be executed in software projects in software projects machine scheduling machine scheduling allocation of jobs to processors allocation of jobs to processors transportation scheduling transportation scheduling arrival & departure scheduling of flights arrival & departure scheduling of flights employee scheduling employee scheduling crew rostering on flights crew rostering on flights educational timetabling educational timetabling timetables at schools and universities timetables at schools and universities assembly system scheduling assembly system scheduling production planning for cars production planning for carsEASSS Valencia May 2012 9 EASSS Valencia May 2012 10 Scheduling: examples Scheduling: examples project planning & scheduling project planning & scheduling planning of activities to be executed planning of activities to be executed in software projects in software projects machine scheduling machine scheduling allocation of jobs to processors allocation of jobs to processors transportation scheduling transportation scheduling arrival & departure scheduling of flights arrival & departure scheduling of flights employee scheduling employee scheduling crew rostering on flights crew rostering on flights educational timetabling educational timetabling timetables at schools and universities timetables at schools and universities assembly system scheduling assembly system scheduling production planning for cars production planning for carsEASSS Valencia May 2012 11 EASSS Valencia May 2012 12
  • 3. Scheduling: examples Scheduling: more details project planning & scheduling planning of activities to be executed in software projects 1. there is a set of activities Ac and for every task a∈Ac there is a release time r(a)∈Z+, a deadline d(a)∈Z+ and a length l(a)∈Z+. machine scheduling allocation of jobs to processors Example transportation scheduling Suppose that r(a) = 5, d(a) = 9 and l(a) = 2. Then arrival & departure scheduling of flights • we have to start a after t=5 • we have to start a before t=7 employee scheduling crew rostering on flights educational timetabling timetables at schools and universities assembly system scheduling production planning for carsEASSS Valencia May 2012 13 EASSS Valencia May 2012 14 Scheduling: more details Scheduling: more details 1. there is a set of activities Ac and for every task a∈Ac there is 1. there is a set of activities Ac and for every task a∈Ac there is a release time r(a)∈Z+, a deadline d(a)∈Z+ and a length l(a)∈Z+. a release time r(a)∈Z+, a deadline d(a)∈Z+ and a length l(a)∈Z+. 2. there is a partial precedence order < defined on Ac. 2. there is a partial precedence order < defined on A. 3. there is a set R of (renewable) resources. Example - for each r∈R its finite capacity cap(r) is known. if t < t’ , in every valid schedule t has to finish before t’ - for each task a and each resource r, req(a,r) can be started. specifies the amount of r that a needs. Example if cap(r) = 3 and req(a,r) = req(a’,r) = 2, then a and a’ cannot be scheduled concurrently.EASSS Valencia May 2012 15 EASSS Valencia May 2012 16 Scheduling: more details Scheduling: more details 1. there is a set of activities Ac and for every task a∈Ac there is 1. there is a set of activities Ac and for every task a∈Ac there is a release time r(a)∈Z+, a deadline d(a)∈Z+ and a length l(a)∈Z+. time a release time r(a)∈Z+, a deadline d(a)∈Z+ and a length l(a)∈Z+. time constraints constraints 2. there is a partial precedence order < defined on A. 2. there is a partial precedence order < defined on A. 3. there is a set R of (renewable) resources. 3. there is a set R of (renewable) resources. - for each r∈R its finite capacity cap(r) is known. resource - for each r∈R its finite capacity cap(r) is known. resource - for each task a and each resource r, req(a,r) constraints - for each task a and each resource r, req(a,r) constraints specifies the amount of r that a needs. specifies the amount of r that a needs. 4. we have to find a schedule, that is an assignment of 4. we have to find a schedule, that is an assignment of start times to tasks such that every constraint is satisfied start times to tasks such that every constraint is satisfied (and often some optimization objective is optimized) (and often some optimization objective is optimized) This problem is known as the Resource Constrained Project Scheduling Problem (RCPSP) This problem is known as the Time Constrained Project Scheduling Problem (TCPSP)EASSS Valencia May 2012 17 EASSS Valencia May 2012 18
  • 4. TCPSP: Simple example TCPSP: Simple example given: set Ac of activities ai with asked for: schedule for activities, given: set Ac of activities ai with asked for: schedule for activities, release times, durations, deadlines & respecting all constraints release times, durations, deadlines & respecting all constraints precedences precedences ( 0, 6, 12 ) ( 6, 7, 14 ) ( 6, 7, 14 ) a1 a3 a3 ( 0, 6, 12 ) a1 ( 0, 4, 5 ) ( 0, 10, ∞ ) ( 0, 4, 5 ) ( 0, 7, ∞ ) 0 6 a2 a4 a2 a4 ( 1, 10, 20 ) precedence relation ( 1, 10, 20 ) precedence relation a5 a5 0 5 10 15 20 0 5 10 15 20 ( r(a), l(a), d(a) ) ( r(a), l(a), d(a) )EASSS Valencia May 2012 19 EASSS Valencia May 2012 20 TCPSP: Simple example TCPSP: Simple example given: set Ac of activities ai with asked for: schedule for activities, given: set Ac of activities ai with asked for: schedule for activities, release times, durations, deadlines & respecting all constraints release times, durations, deadlines & respecting all constraints precedences precedences ( 0, 6, 12 ) ( 6, 7, 14 ) ( 0, 6, 12 ) ( 6, 7, 14 ) a1 a3 a1 a3 ( 0, 4, 5 ) ( 0, 7, ∞ ) ( 0, 7, ∞ ) 0 6 13 0 6 13 a2 a4 a4 ( 0, 4, 5 ) ( 1, 10, 20 ) precedence relation ( 1, 10, 20 ) precedence relation a2 a5 a5 0 4 0 5 10 15 20 0 5 10 15 20 ( r(a), l(a), d(a) )EASSS Valencia May 2012 21 EASSS Valencia May 2012 22 TCPSP: Simple example TCPSP: Simple example given: set Ac of activities ai with asked for: schedule for activities, given: set Ac of activities ai with asked for: schedule for activities, release times, durations, deadlines & respecting all constraints release times, durations, deadlines & respecting all constraints precedences precedences ( 0, 6, 12 ) ( 6, 7, 14 ) ( 0, 6, 12 ) ( 6, 7, 14 ) a1 a3 a1 a3 ( 0, 7, ∞ ) ( 0, 7, ∞ ) 0 6 13 0 6 13 a4 a4 ( 0, 4, 5 ) ( 0, 4, 5 ) ( 1, 10, 20 ) ( 1, 10, 20 ) precedence relation a2 precedence relation a2 a5 a5 0 4 0 4 14 0 5 10 15 20 0 5 10 15 20EASSS Valencia May 2012 23 EASSS Valencia May 2012 24
  • 5. TCPSP: Simple example TCPSP: multi-agent variant given: set Ac of activities ai with asked for: schedule for activities, Given release times, durations, deadlines & respecting all constraints • a set of activities Ac with release, duration and deadline constraints precedences • a precedence ordering < defined on Ac • a set of agents A to execute the activities • for each agent Ai a disjoint subset Aci of activities assigned to it. ( 0, 6, 12 ) ( 6, 7, 14 ) a1 a3 Question 0 6 13 Find a schedule for the set of activities Aci to be performed by agent Ai ( 0, 4, 5 ) ( 1, 10, 20 ) ( 0, 7, ∞ ) such that all constraints are satisfied. a2 a5 a4 0 4 14 21 0 5 10 15 20EASSS Valencia May 2012 25 EASSS Valencia May 2012 26 TCPSP: multi-agent variant MA-TCPSP: example Given given: set Ac of activities ai with asked for: schedule for activities, • a set of activities Ac with release, duration and deadline constraints; release times, durations, deadlines & respecting all constraints • a precedence ordering < defined on Ac; precedences • a set of agents A to execute the activities; • for each agent Ai a disjoint subset Aci of activities assigned to it. ( 0, 6, 12 ) ( 6, 7, 14 ) a1 a3 ( 0, 6, 12 ) ( 6, 7, 14 ) Question a1 a3 ( 0, 4, 5 ) ( 0, 10, ∞ ) Find a schedule for the set of activities Aci to be performed by agent Ai 0 6 13 a2 a4 such that all constraints are satisfied. ( 0, 4, 5 ) ( 1, 10, 20 ) ( 0, 7, ∞ ) ( 1, 10, 20 ) precedence relation a2 a5 a4 Solution a5 0 4 14 21 - Create a schedule for the set of activities Aci of the underlying TCPSP; 0 5 10 15 20 - distribute the schedule found over the agents Ai. assigned to agent A1 assigned to agent A2EASSS Valencia May 2012 27 EASSS Valencia May 2012 28 MA-TCPSP: example MA-TCPSP: example given: set Ac of activities ai with asked for: schedule for activities, given: set Ac of activities ai with asked for: schedule for activities, release times, durations, deadlines & respecting all constraints release times, durations, deadlines & respecting all constraints precedences precedences ( 0, 6, 12 ) ( 0, 7, ∞ ) ( 0, 6, 12 ) ( 6, 7, 14 ) ( 0, 6, 12 ) ( 6, 7, 14 ) A1 a1 a4 a1 a3 ( 0, 6, 12 ) ( 6, 7, 14 ) a1 a3 0 6 14 21 a1 a3 ( 0, 4, 5 ) ( 0, 10, ∞ ) ( 0, 4, 5 ) ( 0, 10, ∞ ) ( 6, 7, 14 ) 0 6 13 a3 a2 a4 a2 a4 ( 0, 4, 5 ) ( 1, 10, 20 ) ( 0, 7, ∞ ) 13 ( 0, 4, 5 ) ( 1, 10, 20 ) ( 1, 10, 20 ) precedence relation a2 a5 a4 ( 1, 10, 20 ) precedence relation A2 a2 a5 a5 0 4 14 21 a5 0 4 14 0 5 10 15 20 0 5 10 15 20 assigned to agent A1 assigned to agent A1 assigned to agent A2 assigned to agent A2EASSS Valencia May 2012 29 EASSS Valencia May 2012 30
  • 6. MA-TCPSP: example Multi-agent scheduling (i) given: set Ac of activities ai with asked for: schedule for activities, Given release times, durations, deadlines & respecting all constraints • a set of activities Ac with release, duration and deadline constraints precedences • a precedence ordering < defined on Ac ( 0, 6, 12 ) ( 0, 7, ∞ ) • a set of agents A to execute the activities ( 0, 6, 12 ) ( 6, 7, 14 ) • for each agent Ai a disjoint subset Aci of activities assigned to it. A1 a1 a4 a1 a3 0 6 14 21 ( 6, 7, 14 ) Question ( 0, 4, 5 ) ( 0, 10, ∞ ) a4 a3 Find a schedule for the set of activities Aci to be performed by agent Ai a2 13 such that all constraints are satisfied. ( 0, 4, 5 ) ( 1, 10, 20 ) ( 1, 10, 20 ) precedence relation A2 a2 a5 Note a5 0 4 14 The solution proposed is a centralized & dictatorial view on 0 5 10 15 20 MAS: assigned to agent A1 - each agent receives a fixed schedule, assigned to agent A2 - none of the agents is free to determine its own preferred scheduleEASSS Valencia May 2012 31 EASSS Valencia May 2012 32 Multi-agent scheduling (ii) Contents Part 1 Given • a set of activities Ac with release, duration and deadline constraints 1. Introduction: Agent Coordination in Scheduling • a precedence ordering < defined on Ac basic scheduling concepts; • a set of agents A to execute the activities introduction to autonomous scheduling. • for each agent Ai a disjoint subset Aci of activities assigned to it. Question 2. Theory: temporal schedules in Simple Temporal Plans simple temporal plans (STPs); Find a schedule for the set of activities Aci to be performed by agent Ai such that all constraints are satisfied. determining consistency of an STP; finding solutions for an STP; Our problem (agent coordination) temporal decoupling in STPs. find a coordination mechanism ensuring that 3. Application: coordination of schedules at airports - each agent is able to determine its own local schedule; temporal decoupling applied to - a simple merge of all these local schedules constitutes always the turnaround process at airports. a global schedule satisfying all the constraints.EASSS Valencia May 2012 33 EASSS Valencia May 2012 34 Simple Temporal Plans From TCPSP to STP TCPSP STP We discuss TCPSPs using a special constraint representation that allows for efficient solution finding. 1. there is a set of activities Ac and for 1. for every activity a∈Ac there are every activity a∈Ac there is a release two time variables ta and t’a This constraint system allows only time r(a), a deadline d(a) and the following constraints: binary constraints of the form t’ - t ≤ d and a length l(a). - ta ≤ r(a) between time points t associated with activities a. ta - t’a ≤ -l(a) t’a - ta ≤ l(a) Constraint systems containing t’a ≤ d(a) - a set of time points 2. there is a partial precedence order 2. for every pair ai < aj, there exists - and a set of such binary difference constraints < defined on Ac a constraint t’ai - taj ≤ 0 are known as Remark 1 Simple Temporal Plans Usually there is a fixed time reference point z = 0. Then every constraint can be written as a binary constraint: - ta ≤ r(a) => z - ta ≤ r(a); t’a ≤ d(a) => t’a - z ≤ d(a)EASSS Valencia May 2012 35 EASSS Valencia May 2012 36
  • 7. From TCPSP to STP Small example Two trains A and B meet each other at a platform. TCPSP STP Train A arrives at 12.00 hrs and stops at most 5 minutes. Train B must arrive at least 2 minutes later than A, and 1. there is a set of activities Ac and for 1. for every activity a∈Ac there are must leave within 3 minutes after A leaves. every activity a∈Ac there is a release two time variables ta and t’a and the following constraints: B stays at most 7 minutes and at least 2 minutes. time r(a), a deadline d(a) When does A leave, B arrive and B leave? and a length l(a). - ta ≤ r(a) ta - t’a ≤ -l(a) t’a - ta ≤ l(a) B t’a ≤ d(a) 2. there is a partial precedence order 2. for every pair ai < aj, there exists < defined on Ac a constraint t’ai - taj ≤ 0 A Remark 2 Sometimes the length l(a) of activity a is a variable constrained by l1 ≤ l(a) ≤ l2 Such a constraint can be translated to the following pair of STN constraints: ta - t’a ≤ -l1 and t’a - ta ≤ l2EASSS Valencia May 2012 37 EASSS Valencia May 2012 38 Small example Small example Two trains A and B meet each other at a platform. Two trains A and B meet each other at a platform. Train A arrives at 12.00 hrs and stops at most 5 minutes. Train A arrives at 12.00 hrs and stops at most 5 minutes. Train B must arrive at least 2 minutes later than A, and Train B must arrive at least 2 minutes later than A, and must leave within 3 minutes after A leaves. must leave within 3 minutes after A leaves. B stays at most 7 minutes and at least 2 minutes. B stays at most 7 minutes and at least 2 minutes. When does A leave, B arrive and B leave? When does A leave, B arrive and B leave? time points time points tA, tB : arrival of A, B z0 : time reference tA, tB : arrival of A, B z0 : time reference STP t’A, t’B : departure of A, B t’A, t’B : departure of A, B This is the standard representation in constraints constraints Simple z0 = 0 tB - tA ≥ 2 transforming constraints z0 = 0 t’A - tA ≤ 5 t’B - t’A ≤ 3 to standard form Temporal 0 ≤ tA - z0 ≤ 0 t’B - t’A ≤ 3 tj - ti ≤ aij tA - z0 ≤ 0 tA - t’A ≤ 0 t’B - tB ≤ 7 Plans 0 ≤ t’A - tA ≤ 5 2 ≤ t’B - tB ≤ 7 z0 - tA ≤ 0 tA - tB ≤ -2 tB - t’B ≤ -2EASSS Valencia May 2012 39 EASSS Valencia May 2012 40 Simple Temporal Plans Simple Temporal Plans A Simple Temporal Plan (STP) is a tuple S = ( T, C ) An STN S =(T,C) can also be represented by a labeled directed graph where GS = ( T, E, l ) labeled edge - T is a set of time-points and called a Simple Temporal Network (STN) δ - C is a set of binary constraints of the form t’ - t ≤ δ, δ being an arbitrary constant Nodes are time points, labeled edges are derived from constraints: t’ - t ≤ δ t t’ constraint Simple Temporal Plan Simple Temporal Plan S = ( T, C ) S = ( T, C ) T = {z0, tA, tB, t’A, t’B } T = {z0, tA, tB, t’A, t’B } C = { z0 = 0 t’A - tA ≤ 5 t’B - t’A ≤ 3 C = { z0 = 0 t’A - tA ≤ 5 t’B - t’A ≤ 3 tA - z0 ≤ 0 tA - t’A ≤ 0 t’B - tB ≤ 7 tA - z0 ≤ 0 tA - t’A ≤ 0 t’B - tB ≤ 7 z0 - tA ≤ 0 tA - tB ≤ -2 tB - t’B ≤ -2 } z0 - tA ≤ 0 tA - tB ≤ -2 tB - t’B ≤ -2EASSS Valencia May 2012 41 EASSS Valencia May 2012 42
  • 8. Simple Temporal Network STP: solution & consistency An STN S =(T,C) can also be represented by a labeled directed graph A solution to an STP S = (T, C) is an assignment { ti = vi : ti ∈ T } GS = ( T, E, l ) of values to variables that satisfies all constraints. called a Simple Temporal Network (STN) or Distance Graph Nodes are time points, labeled edges are derived from constraints: t’ - t ≤ δ t δ t’ • the set of solutions of S is denoted as Sol(S) Note that a solution in fact is a • S is consistent iff Sol(S) ≠ ∅ schedule if we use an STP to specify a scheduling problem Simple Temporal Plan Simple Temporal Network • S equivalent to S’ iff Sol(S) = Sol(S’) z0 = 0 z0 = 0 S = ( T, C ) Solution 1: 0 0 T = {z0, tA, tB, t’A, t’B } 0 0 z0 = 0 tA 5 t’A t’A = 1 tA = 0 C = { z0 = 0 tA = 0 5 t’A - tA ≤ 5 t’B - t’A ≤ 3 t’A = 1 0 0 tA - z0 ≤ 0 tA - t’A ≤ 0 t’B - tB ≤ 7 tB = 2 -2 3 -2 3 t’B = 4 z0 - tA ≤ 0 tA - tB ≤ -2 tB - t’B ≤ -2 7 tB t’B 7 2 = tB t’B = 4 -2 -2EASSS Valencia May 2012 EASSS Valencia May 2012 44 =4 STP: solution & consistency STP: solution to example Two trains A and B meet each other at a platform. A solution to an STP S = (T, C) is an assignment { ti = vi : ti ∈ T } Train A arrives at 12.00 hrs and stops at most 5 minutes. of values to variables that satisfies all constraints. Train B must arrive at least 2 minutes later than A, and • the set of solutions of S is denoted as Sol(S) must leave within 3 minutes after A leaves. • S is consistent iff Sol(S) ≠ ∅ B stays at most 7 minutes and at least 2 minutes. • S equivalent to S’ iff Sol(S) = Sol(S’) When does A leave, B arrive and B leave? z0 = 0 z0 Solution 1: Solution 2: Solution 1: Solution 2: 0 0 z0 = 0 z0 = 0 0 0 z0 = 0 z0 = 0 tA = 0 tA = 0 tA = 0 tA = 0 tA = 0 5 t’A = 5 tA 5 t’A t’A = 1 t’A = 5 t’A = 1 t’A = 5 0 tB = 2 tB = 6 0 tB = 2 tB = 6 -2 3 t’B = 4 t’B = 8 -2 3 t’B = 4 t’B = 8 7 7 A leaves at 12.01, A leaves at 12.05, 6 = tB t’B = 8 tB t’B B arrives at 12:02, B arrives at 12:06, -2 -2 B leaves at 12:04 B leaves at 12:08EASSS Valencia May 2012 45 EASSS Valencia May 2012 46 =4 =4 STP: solution to example Two trains A and B meet each other at a platform. Train A arrives at 12.00 hrs and stops at most 5 minutes. Train B must arrive at least 2 minutes later than A, and must leave within 3 minutes after A leaves. B stays at most 7 minutes and at least 2 minutes. When does A leave, B arrive and B leave? Two important questions to be answered z0 • how to determine consistency… Solution 2: Solution 1: Checking consistency in STP 0 0 • how to find solutions…= 0 z0 z0 = 0 t’A tA = 0 tA = 0 tA 5 t’A = 1 t’A = 5 0 tB = 2 tB = 6 -2 3 t’B = 4 t’B = 8 7 A leaves at 12.01, A leaves at 12.05, tB t’B B arrives at 12:02, B arrives at 12:06, -2 B leaves at 12:04 B leaves at 12:08EASSS Valencia May 2012 47 EASSS Valencia May 2012 48
  • 9. z0 z0 implied constraints 0 0 implied constraints 0 0 explicit constraints can be combined to imply explicit constraints can be combined to imply other constraints: tA t’A other constraints: tA t’A 5 5 0 0 constraints some implied constraints constraints some implied constraints -2 3 -2 3 1 t’A - tA ≤ 5 t’B - tB = (t’B - t’A )+ (t’A - tA )+ (tA - tB ) 6 7 t’A - tA ≤ 5 t’B - tB = (t’B - t’A )+ (t’A - tA )+ (tA - tB ) 6 7 tB t’B tB t’B tA - tB ≤ -2 ≤ 3 + 5 + -2 tA - tB ≤ -2 ≤ 3 + 5 + -2 -2 -2 = 6 = 6 tB - t’B ≤ -2 Note that the tB - t’B ≤ -2 implied constraint Look at the labels of the t’B - t’A ≤ 3 t’B - t’A ≤ 3 t’A - t’B = (t’A - tA )+ (tA - tB )+ (tB - t’B ) is stronger, replacing edges as distances between shortest paths can be ≤ 5 + -2 + -2 t’B - tB ≤ 7 the original constraint the corresponding nodes. t’B - tB ≤ 7 computed between any = 1 pair of nodes in the STN Finding a tighter constraint comes down to finding a strongest constraints in STP shorter path! correspond to shortest paths in STNEASSS Valencia May 2012 49 EASSS Valencia May 2012 50 z0 z0 implied constraints 0 0 Distance Matrix 0 0 explicit constraints can be combined to imply other constraints: tA t’A Strongest constraints in STP tA t’A 5 5 correspond to shortest paths in STN. 0 constraints some implied constraints -2 3 1 GS : -2 3 The distance matrix DS for an STN t’A - tA ≤ 5 t’B - tB = (t’B - t’A )+ (t’A - tA )+ (tA - tB ) 6 7 S = (T, C) is defined as: 7 tB t’B tB t’B tA - tB ≤ -2 ≤ 3 + 5 + -2 -2 -2 = 6 D(ti, tj) = length of shortest path from tB - t’B ≤ -2 z0 tA t’A tB t’B ti to tj in the distance graph of S z0 tA t’A tB t’B or t’B - t’A ≤ 3 t’A - t’B = (t’A - tA )+ (tA - tB )+ (tB - t’B ) z0 0 0 5 6 8 z0 0 0 5 6 8 ∞ if no such path exists ≤ 5 + -2 + -2 t’B - tB ≤ 7 = 1 tA 0 0 5 6 8 Given the distance graph GS there tA 0 0 5 6 8 are well-known efficient algorithms t’A -1 -1 0 1 3 t’A -1 -1 0 1 3 strongest constraints in STP to compute the distance matrix D. D: correspond to shortest paths in STN tB -2 -2 3 0 6 tB -2 -2 3 0 6 Example: all-pairs shortest path algorithm table of all shortest paths between nodes t’B -4 -4 1 -2 0 Floyd-Warshall: O(n3) t’B -4 -4 1 -2 0EASSS Valencia May 2012 51 EASSS Valencia May 2012 52 checking consistency STN S minimal STN S’ z0 z0 8 0 0 equivalent systems -1 -4 0 0 Given an STP S with its graph GS and distance graph DS, the following statements are tA t’A 5 equivalent: 5 6 tA t’A -2 5 - S is consistent -2 3 - DS has no negative entries on its diagnonal this property can be Sol(S) = Sol(S’) -2 6 -1 3 checked in O(n3) 7 1 - GS has no negative cycles tB t’B 6 -2 tB t’B -2 constraint matrix distance matrix original constraint matrix distance matrix D = [d(t,t’)] z0 tA t’A tB t’B D: z0 tA t’A tB t’B z0 tA t’A tB t’B z0 tA t’A tB t’B S is consistent z0 0 0 5 ∞ ∞ z0 0 0 5 6 8 z0 0 0 5 ∞ ∞ z0 0 0 5 6 8 tA 0 0 5 6 8 tA 0 0 5 6 8 tA 0 0 5 6 8 tA 0 0 5 6 8 t’A ∞ ∞ 0 ∞ 3 t’A -1 -1 0 1 3 t’A ∞ ∞ 0 ∞ 3 t’A -1 -1 0 1 3 all-pairs shortest tB all-pairs shortest tB tB ∞ -2 ∞ 0 7 -2 -2 3 0 6 tB ∞ -2 ∞ 0 7 -2 -2 3 0 6 path computation path computation t’B ∞ ∞ ∞ -2 0 t’B -4 -4 1 -2 0 t’B ∞ ∞ ∞ -2 0 O(n3) t’B -4 -4 1 -2 0EASSS Valencia May 2012 53 EASSS Valencia May 2012 54
  • 10. finding solutions Given an STN S with its distance graph DS, if DS does not contain negative diagonal elements, then - the set { ti = D(z0, ti) : i=1,2, … n} ∪ {z0 = 0} is a solution - the set { ti = -D(ti, z0) : i=1,2, … n} ∪ {z0 = 0} is also a solution Why Finding solutions in STP original constraint matrix distance matrix D = [d(t,t’)] z0 tA t’A tB t’B z0 tA t’A tB t’B two solutions z0 0 0 5 ∞ ∞ z0 0 0 5 6 8 tA 0 0 5 6 8 tA 0 0 5 6 8 t’A ∞ ∞ 0 ∞ 3 t’A -1 -1 0 1 3 tB ∞ -2 ∞ 0 7 all-pairs shortest tB -2 -2 3 0 6 path computation t’B ∞ ∞ ∞ -2 0 O(n3) t’B -4 -4 1 -2 0EASSS Valencia May 2012 55 EASSS Valencia May 2012 56 finding solutions general recipe for solutions Given an STN S with its distance graph D, if D does not contain negative diagonal sol := ∅ elements, while T ≠ ∅ - the set { ti = D(z0, ti) : i=1,2, … n} ∪ {z0 = 0} is a solution select some t and v ∈ [-D(t,z0), D(z0,t)] add constraint {t = v} to STN and update the distance matrix D; - the set { ti = -D(ti, z0) : i=1,2, … n} ∪ {z0 = 0} is a solution remove row and column t from D; sol := sol ∪ {t=v} Why Take an arbitrary constraint t’ - t ≤ δ. distance matrix D = [d(t,t’)] distance matrix D = [D(t,t’)] We have D(z0,t’) ≤ D(z0,t) + D(t,t’) ≤ D(z0,t) + δ z0 tA t’A tB t’B z0 tA t’A tB t’B Hence, D(z0,t’) - D(z0,t) ≤ δ. start with tA ∈ [ 0,0] ; add tA = 0 z0 0 0 5 6 8 z0 0 0 5 6 8 So the first set of solutions satisfies every constraint. Likewise, tA 0 0 5 6 8 tA 0 0 5 6 8 D(t,z0) ≤ D(t,t’) + D(t’,z0) ≤ δ+ D(t’,z0) t’A -1 -1 0 1 3 t’A -1 -1 0 1 3 Hence, -D(t’,z0) + -D(t,z0) ≤ δ tB tB -2 -2 3 0 6 -2 -2 3 0 6 So the second set of solutions satisfies every constraint. t’B -4 -4 1 -2 0 t’B -4 -4 1 -2 0EASSS Valencia May 2012 57 EASSS Valencia May 2012 58 general recipe for solutions general recipe for solutions sol := ∅ sol := ∅ while T ≠ ∅ while T ≠ ∅ select some t and v ∈ [-D(t,z0), D(z0,t)] select some t and v ∈ [-D(t,z0), D(z0,t)] add constraint {t = v} to STN and update the distance matrix D; add constraint {t = v} to STN and update the distance matrix D; remove row and column t from D; remove row and column t from D; sol := sol ∪ {t=v} sol := sol ∪ {t=v} distance matrix D = [D(t,t’)] distance matrix D = [D(t,t’)] z0 tA t’A tB t’B z0 tA t’A tB t’B start with tA ∈ [ 0,0] ; add tA = 0 start with tA ∈ [ 0,0] ; add tA = 0 z0 0 5 6 8 z0 0 5 4 6 8 take tB ∈ [ 2, 6 ] ; add tB = 4; update take tB ∈ [ 2, 6 ] ; add tB = 4; update tA tA t’A -1 0 1 3 t’A -1 0 1 3 tB -2 3 0 6 tB -4 -2 3 0 6 t’B -4 1 -2 0 t’B -4 1 -2 0EASSS Valencia May 2012 59 EASSS Valencia May 2012 60
  • 11. general recipe for solutions general recipe for solutions sol := ∅ sol := ∅ while T ≠ ∅ while T ≠ ∅ select some t and v ∈ [-D(t,z0), D(z0,t)] select some t and v ∈ [-D(t,z0), D(z0,t)] add constraint {t = v} to STN and update the distance matrix D; add constraint {t = v} to STN and update the distance matrix D; remove row and column t from D; remove row and column t from D; sol := sol ∪ {t=v} sol := sol ∪ {t=v} distance matrix D = [D(t,t’)] distance matrix D = [D(t,t’)] z0 tA t’A tB t’B z0 tA t’A tB t’B start with tA ∈ [ 0,0] ; add tA = 0 start with tA ∈ [ 0,0] ; add tA = 0 z0 0 5 8 z0 0 5 8 take tB ∈ [ 2, 6 ] ; add tB = 4; update take tB ∈ [ 2, 6 ] ; add tB = 4; update tA tA take t’A ∈ [ 3, 5 ] ; add t’A = 3; update t’A -3 0 3 t’A -3 0 3 tB tB t’B -6 -1 0 t’B -6 -1 0EASSS Valencia May 2012 61 EASSS Valencia May 2012 62 general recipe for solutions general recipe for solutions sol := ∅ sol := ∅ while T ≠ ∅ while T ≠ ∅ select some t and v ∈ [-D(t,z0), D(z0,t)] select some t and v ∈ [-D(t,z0), D(z0,t)] add constraint {t = v} to STN and update the distance matrix D; add constraint {t = v} to STN and update the distance matrix D; remove row and column t from D; remove row and column t from D; sol := sol ∪ {t=v} sol := sol ∪ {t=v} distance matrix D = [D(t,t’)] distance matrix D = [D(t,t’)] z0 tA t’A tB t’B z0 tA t’A tB t’B start with tA ∈ [ 0,0] ; add tA = 0 start with tA ∈ [ 0,0] ; add tA = 0 z0 0 3 5 8 z0 0 6 take tB ∈ [ 2, 6 ] ; add tB = 4; update take tB ∈ [ 2, 6 ] ; add tB = 4; update tA tA take t’A ∈ [ 3, 5 ] ; add t’A = 3; update take t’A ∈ [ 3, 5 ] ; add t’A = 3; update t’A -3 0 3 t’A take t’B ∈ [ 6, 6 ] ; add t’B = 6 tB tB solution s t’B -6 -1 0 t’B -6 0EASSS Valencia May 2012 63 EASSS Valencia May 2012 64 adding constraints to S adding constraints to S Let D be a distance matrix of a consistent STN S = (T, C) Let D be a distance matrix of a consistent STN S = (T, C) Let c: t - t’ ≤ δ be a new constraint, C’ = C + {c} and S’= (T, C’). Let c: t - t’ ≤ δ be a new constraint, C’ = C + {c} and S’= (T, C’). Then Then • S’ is consistent if δ ≥ -D(t’,t) • S’ is consistent if δ ∈ [ -D(t’,t), D(t,t’) ] • S’ is inconsistent if δ < -D[t’,t] • S’ is inconsistent if δ < -D[t’,t] D D D’ z0 tA t’A tB t’B z0 tA t’A tB t’B z0 tA t’A tB t’B z0 0 0 5 6 8 add t’A - tA ≤ 0 z0 0 0 5 6 8 add t’A - tA ≤ 0 z0 -∞ -∞ -∞ -∞ -∞ tA 0 0 5 6 8 tA 0 0 5 6 8 tA -∞ -∞ -∞ -∞ -∞ t’A -1 -1 0 1 3 t’A -1 -1 0 1 3 t’A -∞ -∞ -∞ -∞ -∞ tB -2 -2 3 0 6 tB -2 -2 3 0 6 tB -∞ -∞ -∞ -∞ -∞ S’ is inconsistent: S’ is inconsistent: t’B -4 -4 1 -2 0 0 ≤ -D[t’A,tA ] = 1 t’B -4 -4 1 -2 0 0 ≤ -D[t’A,tA ] = 1 t’B -∞ -∞ -∞ -∞ -∞EASSS Valencia May 2012 65 EASSS Valencia May 2012 66
  • 12. adding constraints to S Let D be a distance matrix of a consistent STN S = (T, C) Let c: t - t’ ≤ δ be a new constraint, C’ = C + {c} and S’= (T, C’). Then • S’ is consistent if δ ∈ [ -D(t’,t), D(t,t’) ] Temporal Decoupling • S’ is inconsistent if δ < -D[t’,t] D D’ z0 tA t’A tB t’B z0 tA t’A tB t’B Solving the autonomous scheduling problem in STP’s z0 0 0 5 6 8 add t’A - tA ≤ 0 z0 0 0 2 3 5 tA 0 0 5 6 8 tA 0 0 2 3 5 t’A -1 -1 0 1 3 t’A -1 -1 0 1 3 tB -2 -2 3 0 6 tB -2 -2 0 0 3 S’ is inconsistent: t’B -4 -4 1 -2 0 0 ≤ -D[t’A,tA ] = 1 t’B -4 -4 -2 -2 0EASSS Valencia May 2012 67 EASSS Valencia May 2012 68 Temporal decoupling Temporal decoupling: example In finding solutions, until now we assumed that one agent controls Consider the train example discussed before. the assignment of values to all the variables. Train A and Train B would like to determine their schedule independently from each other. Suppose - more than one agent and - every agent Ai controls a disjoint subset Ti of time-point variables - each agent Ai wants to find a local solution to the sub-STN Si generated by its set of time points Ti, 0 t’A This is the autonomous scheduling problem for STN’s. tA 5 We discuss an efficient z0 -2 3 0 solution to this problem: 6 tB t’B Temporal Decoupling -2 for simplicity we take only a part of the minimal STNEASSS Valencia May 2012 69 EASSS Valencia May 2012 70 Temporal decoupling: example Temporal decoupling: example Consider the train example discussed before. Consider the train example discussed before. Train A and Train B would like to determine their schedule Train A and Train B would like to determine their schedule independently from each other. independently from each other. Suppose: A chooses Sol(SA) ∋ { tA = 0, t’A = 2 } controlled by A B chooses Sol(SB) ∋ { tB = 3, t’B = 6 } controlled by A 0 tA t’A 0 tA t’A 5 5 z0 -2 3 z0 -2 3 0 0 6 6 tB t’B tB t’B -2 -2 controlled by B controlled by BEASSS Valencia May 2012 71 EASSS Valencia May 2012 72
  • 13. Temporal decoupling: example Temporal decoupling: example Consider the train example discussed before. Consider the train example discussed before. Train A and Train B would like to determine their schedule Train A and Train B would like to determine their schedule independently from each other. independently from each other. Suppose: Suppose: A chooses Sol(SA) ∋ { tA = 0, t’A = 2 } A chooses Sol(SA) ∋ { tA = 0, t’A = 2 } B chooses Sol(SB) ∋ { tB = 3, t’B = 6 } controlled by A B chooses Sol(SB) ∋ { tB = 3, t’B = 6 } controlled by A Both solutions satisfy the local Both solutions satisfy the local constraints 0 tA = 0 t’A = 2 constraints 0 tA = 0 t’A = 2 5 5 But Sol(SA) Sol(SB) = z0 -2 3 { tA = 0, t’A = 2 , tB = 3, t’B = 6 } z0 -2 3 0 0 6 is not a solution of S ! 6 tB = 3 t’B = 6 tB = 3 t’B = 6 -2 -2 controlled by B controlled by BEASSS Valencia May 2012 73 EASSS Valencia May 2012 74 Temporal decoupling: example Consider the train example discussed before. Train A and Train B would like to determine their schedule independently from each other. Suppose: A chooses Sol(SA) ∋ { tA = 0, t’A = 2 } B chooses Sol(SB) ∋ { tB = 3, t’B = 6 } controlled by A Temporal Decoupling: Both solutions satisfy the local constraints 0 t’A = 2 the method tA = 0 5 But Sol(SA) Sol(SB) = { tA = 0, t’A = 2 , tB = 3, t’B = 6 } z0 -2 3 0 is not a solution of S ! 6 tB = 3 t’B = 6 intuitive reason for failure: -2 inter-agent constraints are not implied by local constraints ! controlled by BEASSS Valencia May 2012 75 EASSS Valencia May 2012 76 Temporal decoupling: method Temporal decoupling: method Take an arbitrary constraint t’- t ≤ D(t,t’) such that t and t’ belong to different blocks. Take an arbitrary constraint t’- t ≤ D(t,t’) such that t and t’ belong to different blocks. Consider the intra-agent constraints t’- z0 ≤ D(z0,t’), z0 - t ≤ D(t,z0). Consider the intra-agent constraints t’- z0 ≤ D(z0,t’), z0 - t ≤ D(t,z0). t’ D(z0,t’) t’ D(t,t’) D(t,t’) z0 z0 D(t,z0) t tEASSS Valencia May 2012 77 EASSS Valencia May 2012 78
  • 14. Temporal decoupling: method Temporal decoupling: method Take an arbitrary constraint t’- t ≤ D(t,t’) such that t and t’ belong to different blocks. Take an arbitrary constraint t’- t ≤ D(t,t’) such that t and t’ belong to different blocks. Consider the intra-agent constraints t’- z0 ≤ D(z0,t’), z0 - t ≤ D(t,z0). Consider the intra-agent constraints t’- z0 ≤ D(z0,t’), z0 - t ≤ D(t,z0). D(z0,t’) t’ If D(t,z0) + D(z0,t’) > D(t,t’) then t’- t ≤ D(t,t’) D(z0,t’) t’ If D(t,z0) + D(z0,t’) > D(t,t’) then t’- t ≤ D(t,t’) is not implied by t’- z0 ≤ D(z0,t’) , z0 - t ≤ D(t,z0) is not implied by t’- z0 ≤ D(z0,t’) , z0 - t ≤ D(t,z0) We can ensure implication of t’- t ≤ D(t,t’) by D(t,t’) D(t,t’) intra-agent constraints by tightening z0 z0 t’- z0 ≤ D(z0,t’) and z0 - t ≤ D(t,z0) D(t,z0) D(t,z0) t tEASSS Valencia May 2012 79 EASSS Valencia May 2012 80 Temporal decoupling: method Temporal decoupling: method Take an arbitrary constraint t’- t ≤ D(t,t’) such that t and t’ belong to different blocks. Take an arbitrary constraint t’- t ≤ D(t,t’) such that t and t’ belong to different blocks. Consider the intra-agent constraints t’- z0 ≤ D(z0,t’), z0 - t ≤ D(t,z0). Consider the intra-agent constraints t’- z0 ≤ D(z0,t’), z0 - t ≤ D(t,z0). D(z0,t’) t’ If D(t,z0) + D(z0,t’) > D(t,t’) then t’- t ≤ D(t,t’) δt’ t’ If D(t,z0) + D(z0,t’) > D(t,t’) then t’- t ≤ D(t,t’) is not implied by t’- z0 ≤ D(z0,t’) , z0 - t ≤ D(t,z0) is not implied by t’- z0 ≤ D(z0,t’) , z0 - t ≤ D(t,z0) We can ensure implication of t’- t ≤ D(t,t’) by We can ensure implication of t’- t ≤ D(t,t’) by D(t,t’) intra-agent constraints by tightening D(t,t’) intra-agent constraints by tightening z0 z0 t’- z0 ≤ D(z0,t’) and z0 - t ≤ D(t,z0) t’- z0 ≤ D(z0,t’) and z0 - t ≤ D(t,z0) D(t,z0) δt Method: Choose δt and δt’ such that Method: Choose δt and δt’ such that 1. -D(z0,t) ≤ δt < D(t,z0) 1. -D(z0,t) ≤ δt < D(t,z0) t 2. -D(t,z0) ≤ δt’ < D(z0,t’) t 2. -D(t,z0) ≤ δt’ < D(z0,t’) 3. δt + δt’ ≤ D(t,t’) 3. δt + δt’ ≤ D(t,t’) Add constraints t’- z0 ≤ δt’ and z0 - t ≤ δt to S Add constraints t’- z0 ≤ δt’ and z0 - t ≤ δt to S t’- t ≤ D(t,t’) implied by t’- z0 ≤ δt’ and z0 - t ≤ δt and compute new distance matrix. and compute new distance matrix.EASSS Valencia May 2012 81 EASSS Valencia May 2012 82 Temporal decoupling: method Temporal Decoupling in action Take an arbitrary constraint t’- t ≤ D(t,t’) such that t and t’ belong to different blocks. controlled by agent 1 controlled by agent 2 Consider the intra-agent constraints t’- z0 ≤ D(z0,t’), z0 - t ≤ D(t,z0). Step 1: ensure that tA - tB ≤ -2 δt’ t’ If t’- t ≤ D(t,t’) is implied by t’- z0 ≤ δt’ and z0 -4 z0 - t ≤ δt, it can be removed from S without 8 0 0 -1 any consequence. 5 6 -2 tA 5 t’A D(t,t’) z0 This procedure can be repeated for every -1 δt -2 6 1 3 inter agent constraint not implied by 6 intra-agent constraints. tB t’B t The resulting system is a decoupled STN -2EASSS Valencia May 2012 83 EASSS Valencia May 2012 84
  • 15. Temporal Decoupling in action Temporal Decoupling in action Step 1: ensure that tA - tB ≤ -2. -2 Step 1: take tA - tB ≤ -2. z0 z0 -4 This constraint is implied by -4 This constraint is implied. 8 (tA - z0) + (z0 - tB) ≤ 0 + (-2) = -2 8 remove it. 0 0 -1 0 0 -1 remove it. Step 2: take tB - tA ≤ 6. 5 5 t’A t’A This constraint is implied. 6 -2 tA 5 6 -2 tA 5 remove it. -1 -1 6 1 3 6 1 3 6 6 tB t’B tB t’B -2 -2EASSS Valencia May 2012 85 EASSS Valencia May 2012 86 Temporal Decoupling in action Temporal Decoupling in action Step 1: take tA - tB ≤ -2. Step 1: take tA - tB ≤ -2. z0 z0 -4 This constraint is implied. -4 This constraint is implied. 8 remove it. 6 remove it. 0 0 -1 0 0 -3 5 Step 2: take tB - tA ≤ 6. 5 Step 2: take tB - tA ≤ 6. t’A This constraint is implied. t’A This constraint is implied. 6 -2 tA 5 6 -2 tA 5 remove it. remove it. -1 Step 3: take t’B - t’A ≤ 3. -1 Step 3: take t’B - t’A ≤ 3. 1 3 1 3 This constraint is not implied. Now the constraint is implied. 6 6 tB t’B tB t’B remove it. Take z0 - t’A ≤ -3 and t’B - z0 ≤ 6. -2 Then t’B - t’A ≤ 3 is implied. -2 Update D.EASSS Valencia May 2012 87 EASSS Valencia May 2012 88 Temporal Decoupling in action Temporal Decoupling in action Step 1: take tA - tB ≤ -2. Step 1: take tA - tB ≤ -2. z0 z0 -4 This constraint is implied. -4 This constraint is implied. 6 remove it. 6 remove it. 0 0 -3 0 0 -3 5 Step 2: take tB - tA ≤ 6. 5 Step 2: take tB - tA ≤ 6. t’A This constraint is implied. t’A This constraint is implied. 6 -2 tA 5 6 -2 tA 5 remove it. remove it. -1 Step 3: take t’B - t’A ≤ 3. -1 Step 3: take t’B - t’A ≤ 3. 1 Now the constraint is implied. Now the constraint is implied. 6 6 tB t’B remove it. tB t’B remove it. -2 Step 4: take t’A - tB ≤ 1. -2 Step 4: take t’A - tB ≤ 1. This constraint is implied. This constraint is implied. remove it. The constraints between tA and t’B remove it. and t’A and tB are treated analogouslyEASSS Valencia May 2012 89 EASSS Valencia May 2012 90
  • 16. Temporal Decoupling in action Contents 1. Scheduling: an introduction For decoupled systems, local basic concepts and introduction to z0 solutions always imply a global the problem of autonomous scheduling -4 solution: every combination of local -3 6 solutions is a global solution. 0 0 2. Autonomous scheduling in Simple Temporal Networks 5 tA 5 t’A (every inter-agent constraint is an efficient decomposition technique 6 -2 satisfied by any combination of local for special constraint systems -1 solutions) 3. Application: autonomous scheduling at airports 6 tB t’B Example: temporal decoupling applied to -2 {tA = 0, t’A = 4} and {tB = 3, t’B= 5} the turnaround process at airports satisfy all constraints. EASSS Valencia May 2012 91 EASSS Valencia May 2012 92 T h e Tu r n a r o u n d P r o c e s s At airports, planes have to be serviced at the gates. Turnaround servicing arrangement Typically, multiple services have to be applied TYPICAL NEXT- GENERATION 737 Starting air sequenced TURN-TIME 1 SERVICING Fueling ( baggage handling, container loading, catering, ARRANGEMENT 2 Figure 1 fueling, lavatory services, cleaning ) by different A Boeing team analyzes an Bulk Bulk cargo Bulk cargo operator’s ramp operations cargo train loader to help reduce average train independent service providers. turn-times and increase Bulk cargo loader Galley service truck airplane utilization. (2nd position) For each aircraft unique durations and dependencies Galley service truck Potable water truck F (1st position) of these services are known. Electric power There is a daily specification of the schedule for 1 AS P E AC this turnaround process, on a mid-size to large T airport requiring to service a few hundred to a few thousand planes. Cabin cleaning Vacuum truck The turnaround process specification prevents the Passenger 1 lavatory service bridge Air-conditioning service providers to make their schedules 1 Not required if auxiliary power unit is in use 2 Sequence fueling with cargo loading independently from each other. E AC Electrical Air-conditioning AS Air start We want to help them. F T Fuel Toilet service P Potable water EASSS Valencia May 2012 93 EASSS Valencia May 2012 94 TURN-TIME STUDY PROCESS (see fig. 1). Using analytical methods and standards, Transportation Association’s Airport Handling Manual, the team then identifies inefficiencies and opportu- actual airline observations, Boeing-recommended A turn-time study typically includes a review of the nities for improvement in the following areas: practices and procedures, accepted industry stan- following areas, with the airline determining which dards, and knowledge of ramp handling operations Cabin grooming. activities may require special attention: and GSE requirements. Cargo loading and unloading. At the conclusion of a ramp/terminal operation Coordination and scheduling of labor. Fueling. analysis, the Boeing team verbally debriefs the Line maintenance. Galley servicing. airline’s management on the significant findings. Organizational structure. Meal and beverage provisioning. The airline also receives a written report approxi- Outstation (as required). Passenger boarding and deplaning. mately 30 days after the on-site evaluation. Reports Quality assurance and control. Potable water replenishment. typically range from 50 to 80 pages and provide Ramp safety. Preflight check. detailed findings, observed and proposed timelines, Ramp/terminal operations. The team also conducts detailed interviews and recommendations (see fig. 2). Airline findings Technical policies and procedures. with all levels of management and other ramp and are strictly treated as proprietary information and Training. terminal operations personnel. Topics addressed not shared with other airlines. GSE. include organization and job descriptions; employed Ramp policies and procedures. policies and procedures; maintenance and overhaul DETAILED RECOMMENDATIONS TO IMPROVE Sequence of events. BENEFITS OF TURN-TIME STUDIES capabilities; and GSE, safety, and performance TURN-TIME EFFICIENCY A study begins with a visit by a Boeing team measurement methods. Figure 2 Turn-time studies provide operators with detailed Turnaround timeline (Boeing 737) to an airline site and outstation to analyze detailed The Boeing team uses a variety of criteria recommendations on how individual tasks can be Each turn-time study includes a detailed written report records on all aspects of the ramp operations during the study, including the International Air The turnaround problem with specific recommendations, such as this flow chart, on how an airline can improve turn-times. 22 AERO QUARTERLY QTR_04 | 08 TYPICAL NEXT-GENERATION 737 TIMELINE Engine Shutdown / Chocks On 0.3 Position Passenger Bridge / Open Door 0.2 Deplane Passengers 3.7 Given a daily turnaround plan and a set of autonomous PASSENGER Service Cabin 9.6 SERVICES Service Forward Galley 6.7 service providers Service Aft Galley 1.3 Board Passengers 9.8 How to obtain for each ground handling agent Remove Passenger Bridge / Close Door 0.5 Unload Forward Compartment 2.2 a temporal plan such that CARGO BAGGAGE Unload Mid Compartment 11.4 • the agent is able to schedule its activities HANDLING Unload Aft Compartment 5.5 Load Forward Compartment 7.1 independently of the others, Load Mid Compartment 7.3 Load Aft Compartment 13.8 • whilst the feasibility of the overall solution SERVICING Fuel Airplane 9.9 is ensured. AIRPLANE Service Lavatories 2.0 Service Potable Water 2.0it is in use Chocks Off / Pushback 1.0ing 0 5 10 15 20 25 30 MINUTES PARAMETERS NOTE = Position Equipment = Critical Path 142 passengers off, 121 passengers on Belt loader used at cargo hold 2 doors used to deplane and enplane Aft galley, potable water, and lavatory service 1 galley service truck complete before passenger boarding 1 lavatory service truck 1 potable water service truck 4 EASSS Valencia May 2012 95 EASSS Valencia May 2012 96 improved and how multiple tasks can be coordi- Reduced gate time for airplanes during SUMMARY nated to permit optimum ramp/terminal operations turnaround operations. and improve airplane utilization. These studies Maximized gate usage during peak opera- A Boeing team is available on-site to assist oper- enable airlines to compare their methods and tional times. ators in optimizing their airplane turn-times by performance to that of other operators, obtain an Improved passenger satisfaction. using analytical methods and standards to improve independent review of operations and processes, Proper use and availability of GSE. individual tasks and coordinate multiple events on and identify problems and prioritize solutions. Better utilization of ramp personnel. the ramp. Boeing can perform this fee-based turn- Airlines can realize a number of benefits from Increased management awareness of ramp time analysis for all models of Boeing airplanes. turn-time studies, including: and terminal operations. These studies incorporate airline maintenance, airline policy, government regulatory requirements, Efficient, repeatable, and safe turnaround opera- As outlined in the preceding article, “Economic and GSE availability. At the conclusion, Boeing will tion on the ramp and inside the airport terminal. Impact of Airplane Turn-Times,” airplane turn-time provide the operator with a detailed written report Possibility of additional revenue and additional studies can also help an airline keep airplanes
  • 17. Turnaround Decoupling in 4 steps Modeling the turnaround process turnaround constraints construct STN on-block+start deboarding: using airport planning domain, construct overall problem at 14.00 o’clock representation using Simple Temporal Networks decouple deboarding: 5-10 min decouple this STN into the relevant local (service-provider) domains, adding additional constraints where needed. fuelling: 10-20 min local solving decoupled STN’s are solved locally by each service provider, applying fuelling after deboarding its own preferences, tools and methods merging turnaround: 60 min local solutions (schedules) are merged into a total airport turnaround schedule which is guaranteed to be conflict-free off-block ≥30 after fuellingEASSS Valencia May 2012 97 EASSS Valencia May 2012 98 Modeling the turnaround process Modeling the turnaround process turnaround constraints turnaround constraints Start"deboarding" on-block+start deboarding Start"deboarding" "End"deboarding on-block+start deboarding at 14.00 o’clock at 14.00 o’clock 120 ≤ X1 – X0 ≤ 120 [5,&10] 120 ≤ X1 – X0 ≤ 120 "X1 "X1 "X2 deboarding: 5-10 min deboarding: 5-10 min [120,&120] [120,&120] 5 ≤ X1 – X2 ≤ 10 fuelling: 10-20 min fuelling: 10-20 min"X0 12:00 "X0 12:00 fuelling after deboarding fuelling after deboarding turnaround: 60 min turnaround: 60 min off-block ≥30 after fuelling off-block ≥30 after fuellingEASSS Valencia May 2012 99 EASSS Valencia May 2012 100 Modeling the turnaround process Modeling the turnaround process turnaround constraints turnaround constraints Start"deboarding" "End"deboarding on-block+start deboarding Start"deboarding" "End"deboarding on-block+start deboarding at 14.00 o’clock at 14.00 o’clock [5,&10] 120 ≤ X1 – X0 ≤ 120 [5,&10] 120 ≤ X1 – X0 ≤ 120 "X1 "X2 "X1 "X2 deboarding: 5-10 min deboarding: 5-10 min [120,&120] End"Fuelling 5 ≤ X1 – X2 ≤ 10 [120,&120] [0,&∞] End"Fuelling 5 ≤ X1 – X2 ≤ 10 fuelling: 10-20 min fuelling: 10-20 min"X0 12:00 "X3 "X4 10 ≤ X4 – X3 ≤ 20 "X0 12:00 "X3 "X4 10 ≤ X4 – X3 ≤ 20 [10,&20] [10,&20] fuelling after deboarding fuelling after deboarding 0 ≤ X3 – X2 ≤ ∞ turnaround: 60 min turnaround: 60 min "Start"Fuelling "Start"Fuelling off-block ≥30 after fuelling off-block ≥30 after fuellingEASSS Valencia May 2012 101 EASSS Valencia May 2012 102
  • 18. Modeling the turnaround process Modeling the turnaround process turnaround constraints turnaround constraints Start"deboarding" "End"deboarding on-block+start deboarding Start"deboarding" "End"deboarding on-block+start deboarding at 14.00 o’clock at 14.00 o’clock [5,&10] 120 ≤ X1 – X0 ≤ 120 [5,&10] 120 ≤ X1 – X0 ≤ 120 "X1 "X2 "X1 "X2 deboarding: 5-10 min deboarding: 5-10 min [120,&120] [0,&∞] End"Fuelling 5 ≤ X1 – X2 ≤ 10 [120,&120] [0,&∞] End"Fuelling 5 ≤ X1 – X2 ≤ 10 fuelling: 10-20 min fuelling: 10-20 min "X0 12:00 "X3 X4 10 ≤ X4 – X3 ≤ 20 "X0 12:00 "X3 "X4 10 ≤ X4 – X3 ≤ 20 [10,&20] [10,&20] fuelling after deboarding fuelling after deboarding 0 ≤ X3 – X2 ≤ ∞ [30,&∞] 0 ≤ X3 – X2 ≤ ∞ [60,&60] turnaround: 60 min [60,&60] turnaround: 60 min "Start"Fuelling "Start"Fuelling "X5 60 ≤ X5 – X1 ≤ 60 "X5 60 ≤ X5 – X1 ≤ 60 Off;block off-block ≥30 after fuelling Off;block off-block ≥30 after fuelling 30 ≤ X5 – X4 ≤ ∞EASSS Valencia May 2012 103 EASSS Valencia May 2012 104 Earliest time schedule Latest time schedule turnaround constraints turnaround constraints Start"deboarding" "End"deboarding on-block+start deboarding Start"deboarding" "End"deboarding on-block+start deboarding at 14.00 o’clock at 14.00 o’clock [5,&10] 120 ≤ X1 – X0 ≤ 120 [5,&10] 120 ≤ X1 – X0 ≤ 120 "X1 "X2 !X2!=!14:05 "X1 "X2 &X2&=&14:10 !X1!=!14:00 deboarding: 5-10 min !X1!=!14:00 deboarding: 5-10 min [120,&120] [0,&∞] End"Fuelling 5 ≤ X1 – X2 ≤ 10 [120,&120] [0,&∞] End"Fuelling 5 ≤ X1 – X2 ≤ 10 fuelling: 10-20 min fuelling: 10-20 min "X0 12:00 "X3 "X4 !X4!=!14:15 10 ≤ X4 – X3 ≤ 20 "X0 12:00 "X3 "X4 !X4&=&14:30 10 ≤ X4 – X3 ≤ 20 [10,&20] [10,&20] !X0!=!12:00 !X3!=!14:05 fuelling after deboarding !X0!=!12:00 !X3&=&14:20 fuelling after deboarding [30,&∞] 0 ≤ X3 – X2 ≤ ∞ [30,&∞] 0 ≤ X3 – X2 ≤ ∞ [60,&60] turnaround: 60 min [60,&60] turnaround: 60 min "Start"Fuelling "Start"Fuelling "X5 60 ≤ X5 – X1 ≤ 60 "X5 60 ≤ X5 – X1 ≤ 60 Off;block !X5!=!15:00 off-block ≥30 after fuelling Off;block !X5!=!15:00 off-block ≥30 after fuellingearliest possible dispatching 30 ≤ X5 – X4 ≤ ∞ latest possible dispatching 30 ≤ X5 – X4 ≤ ∞EASSS Valencia May 2012 105 EASSS Valencia May 2012 106 Minimizing STN Decoupling Two parties involved Start"deboarding" "End"deboarding Start"deboarding" "End"deboarding [5,&10] [5,&10] deboarding agent "X1 "X2 "X1 "X2 [120,&120] [0,&15] End"Fuelling [120,&120] [0,&15] End"Fuelling fuelling agent "X0 12:00 "X3 "X4 "X0 12:00 "X3 "X4 [10,&20] [10,&20] [30,&45] [30,&45] Each party controls a [60,&60] [60,&60] sub STN "Start"Fuelling "Start"Fuelling "X5 "X5 [180,&180] [180,&180] CONFLICTING Off;block Off;block SOLUTIONS POSSIBLEEASSS Valencia May 2012 107 EASSS Valencia May 2012 108
  • 19. Temporal Decoupling: Example Temporal Decoupling: Example Decoupling Decoupling Temporal Decoupling Start"deboarding" "End"deboarding Start"deboarding" "End"deboarding Idea Two parties involved Tighten some intra-agent constraints such that all [5,&10] [5,&10] "X1 "X2 &X2&=&14:10 "X1 "X2 inter-agent constraints are &X1&=&14:00 deboarding satisfied. [120,&120] [0,&15] End"Fuelling [120,&120] [0,&15] End"Fuelling Result two decoupled"X0 12:00 "X3 "X4 !X4&=&14:15 "X0 12:00 "X3 "X4 subsystems, [10,&20] [10,&20] fuelling independently solvable. !X0&=&12:00 !X3&=&13:55 !X0&=&12:00 [30,&45] [30,&45] Each party controls a [60,&60] [60,&60] "Start"Fuelling sub STN "Start"Fuelling "X5 "X5 [180,&180] CONFLICTING [180,&180] Off;block &X5&=&15:00 Off;block SOLUTIONSEASSS Valencia May 2012 109 EASSS Valencia May 2012 110 Temporal Decoupling: Example Temporal Decoupling: Example Decoupling Decoupling Decoupling Process Start"deboarding" "End"deboarding tighten temporal constraint Start"deboarding" "End"deboarding for (X0,X3): [5,&10] 125 ≤ X3 – X0 ≤ 145 "X2 [5,&10] "X2 "X1 "X1 to the constraint Both inter-agent constraints [120,&120] End"Fuelling [120,&120] End"Fuelling can be removed. [0,&15] 130 ≤ X3 - X0 ≤ 145 this ensures that the The system now consists of"X0 12:00 "X3 "X4 constraint 0 ≤ X3-X2 ≤ 15 "X0 12:00 "X3 "X4 two independently solvable [10,&20] [130,&145] [130,&145] [10,&20] sub STNs !X0&=&12:00 is implied !X0&=&12:00 [30,&45] [30,&45] [60,&60] No more conflicting [60,&60] "Start"Fuelling solutions "Start"Fuelling "X5 "X5 [180,&180] [180,&180] Off;block Off;blockEASSS Valencia May 2012 111 EASSS Valencia May 2012 112 Summary turnaround problem Summary turnaround problem Question Question How to obtain for each ground handling agent a How to obtain for each ground handling agent a temporal plan such that it can schedule its activities temporal plan such that it can schedule its activities independently of the others, whilst the feasibility of independently of the others, whilst the feasibility of the overall solution is ensured. the overall solution is ensured. D E Result Result LV After decoupling, each agent can decide upon its After decoupling, each agent can decide upon its own schedule. All individual schedules are mergeable own schedule. All individual schedules are mergeable O into a conflict-free schedule for the overall schedule. into a conflict-free schedule for the overall schedule. S Conclusion Conclusion Temporal decoupling solves the autonomous scheduling Temporal decoupling solves the autonomous scheduling problem for the turnaround process at airports. problem for the turnaround process at airports. (Btw: Flexibility loss is acceptable and can be minimized) (Btw: Flexibility loss is acceptable and can be minimized)EASSS Valencia May 2012 113 EASSS Valencia May 2012 114
  • 20. Tool Implementation Summary • Rather fast algorithm presented to determine resource needs: O(n3) • We introduced the autonomous scheduling problem aiming at finding additional constraints to a scheduling • Execution time for a problem instance of 207 flights: problem such that multiple autonomous agents can - Minimum required capacity calculated in 23 sec. solve their part of the scheduling problem without conflicts. - Maximum required capacity in 17 sec. • we used a Simple Temporal Plan to model the turnaround process at airports - Entire planning tool (both temporal planning and decoupling and determining resource needs): • discussed Temporal Decoupling to obtain independent scheduling problems for each agent - Less than 3 minutes. • applied temporal decoupling to the turnaround • Realistic application: process at airports - Execution time for a full-day scenario calculated in less than 20 minutes. 21EASSS Valencia May 2012 115 EASSS Valencia May 2012 116 What else • relating the autonomous scheduling problem to the consistency problem in distributed databases and distributed violation detection in P2P systems (Van der Hoek, Witteveen, Wooldridge AAMAS 2011) • deciding when the temporal decoupling problem can be solved optimally (Planken, de Weerdt, Witteveen, 2010) Thanks for listening • distributed decoupling techniques (Boerkoel, Durfee, 2011) • dynamic decoupling techniques. work in progress 21EASSS Valencia May 2012 117 EASSS Valencia May 2012 118
  • 21. Content Part 2 Resource Constrained Scheduling Problem • Introduction • Activities using common resources • Theory • Basics of heuristic some procedures • Calculate critical path • Shifting Bottleneck Heuristic • Application example Challenge the future 1 Activities using common resources Resource Constrained Scheduling Problem              , . .            :  ∈  ,  ,                               Resource peak (resource conflict)  Resource r → t  Resource feasible:       ∈  |               j=1           ∈         j=2     Challenge the future 2
  • 22. Activities using common resources Resource Constrained Scheduling Problem              , . .            :  ∈  ,  ,                                Resource r → t  Resource feasible:       ∈  |               j=1           ∈      Constraint Satisfaction Problem w.r.t. start time assignment  : For example    and       j=2     Challenge the future 3 Activities using common resources Resource Constrained Scheduling Problem              , . .            :  ∈  ,  ,                                Resource r → t  Resource feasible:       ∈  |               j=1           ∈      Constraint Satisfaction Problem w.r.t. start time assignment  : For example    and       j=2     Challenge the future 4
  • 23. Activities using common resources Resource Constrained Scheduling Problem              , . .            :  ∈  ,  ,                                Resource r → t  Resource feasible:       ∈  |               j=1           ∈      Constraint Satisfaction Problem w.r.t. start time assignment  : For example    and       j=2     Challenge the future 5 Activities using common resources Resource Constrained Scheduling Problem              , . .            :  ∈  ,  ,                                        :  →      , . .         Resource r → t  Resource feasible:       ∈  |               j=1           ∈      Constraint Satisfaction Problem w.r.t. start time  by precedence constraint posting: For example 1→2    j=2     Challenge the future 6
  • 24. Activities using common resources Resource Constrained Scheduling Problem              , . .            :  ∈  ,  ,                                        :  →      , . .         Resource r → t  Resource feasible:       ∈  |               j=1           ∈      Constraint Satisfaction Problem w.r.t. start time  by precedence constraint posting: For example 2→1    j=2     Challenge the future 7 Activities using common resources Resource Constrained Scheduling Problem              , . .            :  ∈  ,  ,                                        :  →      , . .         Resource r → t  Resource feasible:       ∈  |               j=1           ∈      This assignment of  and  satisfies the precedence constraint 2→1 as well!    Conclusion: Posting precedence constraints enable you to solve resource conflicts, while it lets you postpone start time assignment decisions j=2     Results in plan flexibility and leaves room for autonomy! Challenge the future 8
  • 25. Activities using common resources Resource Constrained Scheduling Problem using Simple Temporal Networks              , . .            :  ∈  ,  ,                                        :  →      , . .             ∈  |            ; . .           ∈   Resource r → t      j=1               j=2            Challenge the future 9 Activities using common resources Resource Constrained Scheduling Problem using Simple Temporal Networks              , . .            :  ∈  ,  ,                                        :  →      , . .             ∈  |            ; . .           ∈   Resource r → t      j=1           0     Constraint posting: j=2 Add a temporal constraint between activities            Challenge the future 10
  • 26. Activities using common resources Resource Constrained Scheduling Problem using Simple Temporal Networks              , . .            :  ∈  ,  ,                                        :  →      , . .             ∈  |            ; . .           ∈   Resource r → t      j=1           0     j=2            Challenge the future 11 Activities using common resources Resource Constrained Scheduling Problem using Simple Temporal Networks              , . .            :  ∈  ,  ,                                        :  →      , . .             ∈  |            ; . .           ∈   Resource r → t       j=1           0     j=2             Challenge the future 12
  • 27. Activities using common resources Resource Constrained Scheduling Problem using Simple Temporal Networks              , . .            :  ∈  ,  ,                                        :  →      , . .             ∈  |            ; . .           ∈   Resource r → t       j=1       STN is consistent iff:             0 0        0            j=2                                 Challenge the future 13 Activities using common resources Resource Constrained Scheduling Problem using Simple Temporal Networks              , . .            :  ∈  ,  ,                                        :  →      , . .             ∈  |            ; . .           ∈   Resource r → t       j=1       STN is consistent iff:             0 0        0            j=2                         Fails!         Challenge the future 14
  • 28. Activities using common resources Identify options to resolve conflict        : activities may scheduled into any sequence  Resource r → t        j=1               j=2            Challenge the future 15 Activities using common resources Identify options to resolve conflict        : only one activity sequence allowed  Resource r → t        j=1               j=2            Challenge the future 16
  • 29. Activities using common resources Identify options to resolve conflict        : no feasible activity sequence possible  Resource r → t        j=1               j=2            Challenge the future 17 Basics of some Heuristic Procedures • Identify resource conflicts • e.g. calculate resource demand at earliest starting times of activities • Select resource for which activities should be scheduled first • e.g. find the most constrained one • Identify sequence options between competing activities • Calculate best activity sequence • e.g. priority to most constrained activity pairs • e.g. aim for earliest start time • e.g. minimizing make span extension • Add sequence constraints resulting from sequencing • Update distance matrix • Repeat until all resource conflicts are resolved Challenge the future 18
  • 30. Activities using common resources Apply heuristic procedure What do in this case?Resource conflict when earliest start time is assigned to activities 1,3, and 7! Project Make Span  100  =10  =10 1 2   10   80  =39  =21  3 4 5 6      21   15   5   20  =61  =16 7 8 Common resource   16   23   1  Challenge the future 19 Activities using common resources Apply heuristic procedure 1. Identify options to sequence two activities and calculate remaining slack 1→3 is feasible 3→1 is not feasible Project Make Span  100  =10  =10 1 2   10   80  =39  =21  3 4 5 6      21   15   5   20  =61  =16 7 8   16   23 Challenge the future 20
  • 31. Activities using common resources Apply heuristic procedure 1. Identify options to sequence two activities and calculate remaining slack 1→3 results in slack = 29 Project Make Span  100  =10  =10 1 2   10   80  =10: Slack = 39 – 10 = 29  =39  =21 3 4 5 6      21   15   5   20  =61  =16 7 8   16   23 Challenge the future 21 Activities using common resources Apply heuristic procedure 1. Identify options to sequence two activities and calculate remaining slack 1→7 is feasible 7→1 is not feasible Project Make Span  100  =10  =10 1 2   10   80  =39  =21 3 4 5 6      21   15   5   20  =61  =16 7 8   16   23 Challenge the future 22
  • 32. Activities using common resources Apply heuristic procedure 1. Identify options to sequence two activities and calculate remaining slack 1→7 results in slack = 51 Project Make Span  100  =10  =10 1 2   10   80  =39  =21 3 4 5 6      21   15   5   20  =10: Slack = 61 – 10 = 51  =61  =16 7 8   16   23 Challenge the future 23 Activities using common resources Apply heuristic procedure 1. Identify options to sequence two activities and calculate remaining slack 3→7 is feasible 7→3 is feasible Project Make Span  100  =10  =10 1 2   10   80  =39  =21 3 4 5 6      21   15   5   20  =61  =16 7 8   16   23 Challenge the future 24
  • 33. Activities using common resources Apply heuristic procedure 1. Identify options to sequence two activities and calculate remaining slack 3→7 results in slack = 40 7→3 results in slack = 23 Total slack = 63 Project Make Span  100  =10  =10 1 2   10   80  =16: Slack = 39 – 16 = 23  =39  =21 3 4 5 6      21   15   5   20  =21: Slack = 61 – 21 = 40  =61  =16 7 8   16   23 Challenge the future 25 Activities using common resources Apply heuristic procedure 1. Identify options to sequence two activities and calculate remaining slack 2. Choose most constrained sequence, post constraint, and update distance matrix 1→3 Project Make Span  100  =10  =10 1 2   10   80  =39  =31 3 4 5 6      21   15   5   20  =61  =16 7 8   16   23 Challenge the future 26
  • 34. Activities using common resources Apply heuristic procedure 1. Identify options to sequence two activities and calculate remaining slack 2. Choose most constrained sequence, post constraint, and update distance matrix 3. Repeat until resource conflict is resolved Project Make Span  100  =10  =10 1 2   10   80  =39  =31 3 4 5 6      21   15   5   20  =61  =16 7 8   16   23 Challenge the future 27 Activities using common resources Apply heuristic procedure 1. Identify options to sequence two activities and calculate remaining slack 2. Choose most constrained sequence, post constraint, and update distance matrix 3. Repeat until resource conflict is resolved Project Make Span  100  =10  =10 1 2   10   80  =39  =31 3 4 5 6      21   15   5   20  =61  =47 7 8   16   23 Challenge the future 28
  • 35. Activities using common resources Decouple activity sets See procedure described earlier  =0;  =10Agent 1 1 2   10   80  =20;  =30Agent 2  3 4 5 6      21   15   5   20  =51;  =61Agent 3 7 8   16   23 Challenge the future 29 Activities using common resources Find critical path Add  and calculate distance matrix Project Make Span Distance matrix                  e1 e2  0 ∞ ∞ ∞ ∞ ∞ ∞ ∞   4   5  0 0 4 ∞ ∞ ∞ ∞ ∞   -4 -4 0 ∞ ∞ ∞ ∞ ∞    -4 -4 0 0 5 ∞ ∞ ∞    -9 -9 -5 -5 0 ∞ ∞ ∞   e3  0 ∞ ∞ ∞ ∞ 0 3 ∞   3   -3 ∞ ∞ ∞ ∞ -3 0 ∞  -9 9 5 5 0 3 0 0 Challenge the future 30
  • 36. Activities using common resources Find critical path Determine minimal make span Project Make Span  9 Distance matrix                  e1 e2  0 ∞ ∞ ∞ ∞ ∞ ∞ ∞   4   5  0 0 4 ∞ ∞ ∞ ∞ ∞ ∞   -4 -4 0 ∞ ∞ ∞ ∞ ∞    -4 -4 0 0 5 ∞ ∞ ∞    -9 -9 -5 -5 0 ∞ ∞ ∞   e3  0 ∞ ∞ ∞ ∞ 0 3 ∞   3   -3 ∞ ∞ ∞ ∞ -3 0 ∞  -9 9 5 5 0 3 0 0 Challenge the future 31 Activities using common resources Find critical path Add constraint  →  , set its value equal to minimal make span, and update distance matrix Project Make Span  9 Distance matrix                  e1 e2  0 0 0 4 4 6 9    4   5  0 0 4 4 9 6 9 9    -4 -4 0 0 5 2 5 5    -4 -4 0 0 5 2 5 5    -9 -9 -5 -5 0 3 0 0   e3  0 0 4 4 9 0 3 9   3   -3 3 1 1 6 -3 0 6  -9 9 5 5 0 3 0 0 Challenge the future 32
  • 37. Activities using common resources Find critical path Identify critical path(s) and its set of activities Project Make Span  9 Distance matrix                  e1 e2  0 0 0 4 4 6 9    4   5  0 0 4 4 9 6 9 9    -4 -4 0 0 5 2 5 5    -4 -4 0 0 5 2 5 5    -9 -9 -5 -5 0 3 0 0   e3  0 0 4 4 9 0 3 9   3   -3 3 1 1 6 -3 0 6  -9 9 5 5 0 3 0 0 Challenge the future 33 Activities using common resources Shifting Bottleneck Heuristic 1. Identify the project make span e1 e2   10   15  e3 e4 e5 e6   61   21   15   5   20 e7 e8   16   23 Common resource Critical path Challenge the future 34
  • 38. Activities using common resources Shifting Bottleneck Heuristic 1. Identify the project make span 2. Add make span constraint and update distance matrix Project Make Span  61  =46 e1 e2   10   15  =21 e3 e4 e5 e6      21   15   5   20  =38 e7 e8   16   23 Common resource Critical path Challenge the future 35 Activities using common resources Shifting Bottleneck Heuristic 1. Identify the project make span 2. Add make span constraint and update distance matrix 3. Sequence competing activities and calculate smallest maximum lateness on each unscheduled resource e1→e3→e7 gives lateness 10 for activity e3 Project Make Span  71      10  46  36 e1 e2   10   15      31  21   e3 e4 e5 e6      21   15   5   20      47  38  9 e7 e8   16   23 Challenge the future 36
  • 39. Activities using common resources Shifting Bottleneck Heuristic 1. Identify the project make span 2. Add make span constraint and update distance matrix 3. Sequence competing activities and calculate smallest maximum lateness on each unscheduled resource e3→e1→e7 gives lateness 9 for activity e7 Project Make Span  70      31  46  15 e1 e2   10   15      21  21  0 e3 e4 e5 e6      21   15   5   20      47  38   e7 e8   16   23 Challenge the future 37 Activities using common resources Shifting Bottleneck Heuristic 1. Identify the project make span 2. Add make span constraint and update distance matrix 3. Sequence competing activities and calculate smallest maximum lateness on each unscheduled resource e3→e7→e1 gives lateness 1 for activity e1: best solution on that resource Project Make Span  62      47  46   e1 e2   10   15      21  21  0 e3 e4 e5 e6      21   15   5   20      37  38  1 e7 e8   16   23 Challenge the future 38
  • 40. Activities using common resources Shifting Bottleneck Heuristic 1. Identify the project make span 2. Add make span constraint and update distance matrix 3. Sequence competing activities and calculate smallest maximum lateness on each unscheduled resource e3→e7→e1 gives lateness 1 for activity e1: best solution on that resource 4. Choose resource with largest lateness, add related constraints, and update distance matrix Project Make Span  62 e1 e2   10   15 e3 e4 e5 e6      21   15   5   20 e7 e8   16   23 Challenge the future 39 Activities using common resources Shifting Bottleneck Heuristic 1. Identify the project make span 2. Add make span constraint and update distance matrix 3. Sequence competing activities and calculate smallest maximum lateness on each unscheduled resource e3→e7→e1 gives lateness 1 for activity e1: best solution on that resource 4. Choose resource with largest lateness, add related constraints, and update distance matrix 5. Repeat until all resources are scheduled Project Make Span  62 e1 e2   10   15 e3 e4 e5 e6      21   15   5   20 e7 e8   16   23 Challenge the future 40
  • 41. Distributed Decision Making• Distributed Decision Making (DDM) is the design and coordination of connected decisions• Classification by two dimensions • Conflict-free versus antagonistic behavior • Team or Enforced Team • Non-Team • Information symmetry versus asymmetry • Sharing the same information • Weak asymmetry due to consecutive decisions over time • Strict asymmetry due to deliberate non-disclosure Challenge the future 41Classification of DDM Systems One Several DMU DMUs Team Non-Team One Several Enforced Conflict free Coordinating Coordinating Team Decision Decisions Antagonistic Principal Negotiations Further Constructional Organizational Negotiations Hierarchical Agent (Conflict Game theoretic DDM Systems DDM Systems (Compromise) DDM Systems DDM Systems resolution) settings Decision Time Leadership Hierarchy Hierarchy Symmetric information Asymmetric information Single DMU Multiple DMU (Christoph Schneeweiss, 2003) Challenge the future 42
  • 42. Example Train Maintenance Scheduling Challenge the future 43 System Architecture: Anticipating Autonomy & Change Depot Depot Agents Routing Agent TrafficPlanner System Arrival and Job Routing System Controller Commitments Commitments      Coordinating Routing Condition Configuration Maintenance Maintenance messages opportunities Traffic Configuration Time Traffic Monitoring Data Engineering Management Data Data Schedule Management System Data System Data System Train Agents Multi-Agent Environment: Agents System support staff in their decision making. Coordination is managing dependencies    between activities.  (Malone and Crowston, 1994) Sensor Data and Observations Condition Configuration Maintenance Maintenance Monitoring Data Engineering Management System Data System Challenge the future 44
  • 43. System Architecture: Anticipating Autonomy & Change Depot Depot Agents Routing Agent TrafficPlanner System Arrival and Job Routing System Controller Commitments Commitments    Resource Problem Routing Problem   Coordination of connected decisions Coordinating Routing Condition Configuration Maintenance Maintenance messages opportunities Traffic Configuration Time Traffic Monitoring Data Engineering Management Data Data Schedule Management System Data System Data System Train Agents Job System Scheduling Problem Feasibility Problem    Optimization Problem  Sensor Data and Observations Condition Configuration Maintenance Maintenance Monitoring Data Engineering Management System Data System Challenge the future 45 Hierarchical Multi-level Coordination Problem Network Agent Depot Agent Depot Agent Train Agent Train Agent Train Agent Train Agent Train Agent Routing Agent Challenge the future 46
  • 44. Routing Agent Problem Example: Train agent  will arrive at depot  at 01:00 by path (slot)  .                                          19:00 20:00 21:00 22:00 23:00 24:00 01:00 02:00 03:00 (cf. Maróti and Kroon, 2005) Challenge the future 47 Train Agent Decision Problem Resource need job 3 Due date job 2 Time slots available for  the train to visit depot      :                    Challenge the future 48
  • 45. Train Agent Decision   =1 , , , , , , =1          :                    Challenge the future 49 Depot Agent Decision Problem Resource constraint violation! 5 4 3 2 Routing violation! 1 :                    Challenge the future 50
  • 46. Thank you for your attention! Challenge the future 51
  • 47. References Alwan, A.; Ibrahim, H.; and Udzir, N. I. 2009. Improved Dechter, R. 2003. Constraint Processing. Morgan Kauf- integrity constraints checking in distributed databases by mann Publishers. exploiting local checking. Journal of Computer Science and Technology 24(4):665–674. L. Hunsberger, Distributing the control of a temporal network among multiple agents, Proceedings of the Buzing, P.C. and A.W. ter Mors and J.M. Valk and C. Witteveen (2006). Coordinating Self-Interested Planning AAMAS, pp 899-906, 2003 Agents. Autonomous Agents and Multi-Agent Systems 12(2):199--218. L. Hunsberger, Algorithms for a temporal decoupling problem in multi-agent planning, Proceedings of the Brambilla, A., M Lavagna, A coordination mechanism to AAAI, 2002. solve common resource contention in multi agent space systems, International Symposium on Artificial L. Hunsberger. 2008. A Practical Temporal Constraint Intelligence, Robotics and Automation in Space-iSAIRAS pp. 26–29, 2008. Management System for Real-Time Applications. In Proceedings of European Conference on Artificial Brodsky, A.; Kerschberg, L.; and Varas, S. Opti- mal Intelligence (ECAI-2008). constraint decomposition for distributed databases. In Maher, M. J., ed., Advances in Computer Science - P. van Leeuwen, C. Witteveen, Temporal Decoupling and ASIAN 2004, volume 3321 of Lecture Notes in Computer Determining Resource Needs of Autonomous Agents in Science, 301–319. Springer, 2004. the Airport Turnaround Process, IAT2009, pp. 185-192, 2009. Cesta, A, A Oddi, SF Smith, Profile based algorithms to solve multiple capacitated metric scheduling Michael Pinedo, Scheduling, Theory, Algorithms, and problems, Proceedings of ICAPS-98, 214–223 Systems, Springer Verlag, 4th Edition, 2012 A Cesta, A Oddi, SF Smith, A constraint-based method for project scheduling with time windows, Journal of . Heuristics 8 (1), 109-136.EASSS Valencia May 2012 1 References Leon Planken, Mathijs de Weerdt, Cees Witteveen W. van der Hoek, C. Witteveen, and M. Wooldridge. (2010). Optimal Temporal Decoupling in Multiagent Decomposing Constraint Systems. In Proceedings of the Systems. In Van der Hoek and Kaminka and Lesperance Tenth International Conference on Autonomous Agents and Luck and Sen (Eds.). Proceedings of the Ninth and Multi-Agent Systems (AAMAS-2011). Taipei, Taiwan, International Joint Conference on Autonomous Agents May 2011. and Multiagent Systems (AAMAS-10), pp. 789-796, Toronto. Witteveen, C., W. van der Hoek and N. Roos (2009). Concurrently Decomposable Constraint Systems. In Smith, S.F., "Is Scheduling a Solved Problem?", L.Braubach et al. (Eds.). Multiagent System Proceedings First Multi-Disciplinary International Technologies, 7th German Conference, MATES Conference on Scheduling: Theory and Applications Multiagent System Technologies MATES 2009, pp. (MISTA 03), Nottingham, UK, 2003 153-164. Yadati, C. and Cees Witteveen and Yingqian Zhang and Mengxiao Wu and Han La Poutre (2008). Autonomous Scheduling with unbounded and bounded agents. In Ralph Bergmann and Gabriela Lindemann and Stefan Kirn and Michal Pechoucek (Eds.). Multiagent System Technologies. 6th German Conference, MATES 2008, pp. 195-206, Kaiserlautern, Germany. Lecture Notes In Computer Science Springer -Verlag.EASSS Valencia May 2012 2