Upload
easss-2012
View
232
Download
1
Tags:
Embed Size (px)
DESCRIPTION
14th European Agent Systems Summer School
Citation preview
EASSS Valencia May 2012
Temporal ConstraintsTechniques
for Autonomous Scheduling
a play in 4 parts
Cees Witteveen,
Algorithmics group,
Delft University of Technology, The Netherlands
Agent Coordination in
Planning and Scheduling
Cees Witteveen
Algorithmics group,
Delft University, The Netherlands
1
Bob Huisman
Algorithmics group & NedTrain
Delft University / NedTrain Company, The Netherlands
EASSS Valencia May 2012
a play in 2 parts
2
Agent Coordination in
Planning and Scheduling
EASSS Valencia May 2012
Our problemGiven
• set of agents each capable of performing some specific tasks;
• set of interdependent and constrained tasks to be accomplished;
• tasks are distributed over the agents
Question how to specify the constraints such that
• each agent is able to make an individual plan/schedule for its set of tasks independently,
• individual plans can always be joinedto a feasible total plan for the original set of tasks.
3
plan coordination problem for
autonomous agents
EASSS Valencia May 2012
• Building a houseSeveral agents each doing a part of the total set of tasks. Tasks are dependent upon each other.
• Organizing intermodal transportation Goods have to be transported by several companiesusing different transport modalities.
• Airport planning A set of airports handling incoming and outgoing flightseach airport wants to make its own plans for arrival, gate-assignment and departure planning.
• Coordinating service providers at airportsA set of service providers each providing a different service to a set of airplanes. There are time constraints between services.
4
Plan coordination examples
EASSS Valencia May 2012
Part 1: coordination of plans with temporal constraints- introduction to autonomous scheduling
- Simple Temporal Plans
- Temporal decoupling
- Application in ground handling at airports
Part 2 : coordination of plans with temporal and resource constraints
- Plans with resource constraints
- Constraint posting
- Extensions
5
Cees Witteveen
Bob Huisman
Plan of the course
EASSS Valencia May 2012
Contents Part 1
1. Introduction: Agent Coordination in Scheduling - basics of scheduling - introduction to autonomous scheduling.
2. Theory: temporal schedules in Simple Temporal Plans - simple temporal plans (STPs); - determining consistency of an STP; - finding solutions for an STP; - temporal decoupling in STPs.
3. Application: coordination of schedules at airports - temporal decoupling applied to the turnaround process at airports.
6
EASSS Valencia May 2012
Given
• a set of activities (events) whose durations and resource requirements are known
• a set of temporal constraints between the activities• a set of computational resources (machines,vehicles)
needed to perform activities
• and a given cost function
QuestionFind an assignment of time points to activities satisfying the constraints and an assignment of resources to activities meeting the requirements such that the cost is minimized
Scheduling: basics
what
whenwho
7
how much
scheduling is about deciding when who performs what in a cost optimal way.
EASSS Valencia May 2012
project planning & scheduling planning of activities to be executed in software projects
machine scheduling allocation of jobs to processors
transportation scheduling arrival & departure scheduling of flights
employee scheduling crew rostering on flights
educational timetabling timetables at schools and universities
assembly system scheduling production planning for cars
Scheduling: examples
8
EASSS Valencia May 2012
Scheduling: examplesproject planning & scheduling planning of activities to be executed in software projects
machine scheduling allocation of jobs to processors
transportation scheduling arrival & departure scheduling of flights
employee scheduling crew rostering on flights
educational timetabling timetables at schools and universities
assembly system scheduling production planning for cars
9 EASSS Valencia May 2012
Scheduling: examplesproject planning & scheduling planning of activities to be executed in software projects
machine scheduling allocation of jobs to processors
transportation scheduling arrival & departure scheduling of flights
employee scheduling crew rostering on flights
educational timetabling timetables at schools and universities
assembly system scheduling production planning for cars
10
EASSS Valencia May 2012
Scheduling: examplesproject planning & scheduling planning of activities to be executed in software projects
machine scheduling allocation of jobs to processors
transportation scheduling arrival & departure scheduling of flights
employee scheduling crew rostering on flights
educational timetabling timetables at schools and universities
assembly system scheduling production planning for cars
11 EASSS Valencia May 2012
Scheduling: examplesproject planning & scheduling planning of activities to be executed in software projects
machine scheduling allocation of jobs to processors
transportation scheduling arrival & departure scheduling of flights
employee scheduling crew rostering on flights
educational timetabling timetables at schools and universities
assembly system scheduling production planning for cars
12
EASSS Valencia May 2012
Scheduling: examplesproject planning & scheduling planning of activities to be executed in software projects
machine scheduling allocation of jobs to processors
transportation scheduling arrival & departure scheduling of flights
employee scheduling crew rostering on flights
educational timetabling timetables at schools and universities
assembly system scheduling production planning for cars
13 EASSS Valencia May 2012
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+.
Scheduling: more details
14
Example Suppose that r(a) = 5, d(a) = 9 and l(a) = 2. Then
• we have to start a after t=5• we have to start a before t=7
EASSS Valencia May 2012 15
Example if t < t’ , in every valid schedule t has to finish before t’ can be started.
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+.
2. there is a partial precedence order < defined on Ac.
Scheduling: more details
EASSS Valencia May 2012 16
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+.
2. there is a partial precedence order < defined on A.
3. there is a set R of (renewable) resources. - for each r∈R its finite capacity cap(r) is known. - for each task a and each resource r, req(a,r) 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.
Scheduling: more details
EASSS Valencia May 2012 17
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+.
2. there is a partial precedence order < defined on A.
3. there is a set R of (renewable) resources. - for each r∈R its finite capacity cap(r) is known. - for each task a and each resource r, req(a,r) specifies the amount of r that a needs.
4. we have to find a schedule, that is an assignment of start times to tasks such that every constraint is satisfied (and often some optimization objective is optimized)
⎫|⎬|⎭
time constraints
⎫|⎬|⎭
resource constraints
This problem is known as the Resource Constrained Project Scheduling Problem (RCPSP)
Scheduling: more details
EASSS Valencia May 2012 18
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+.
2. there is a partial precedence order < defined on A.
3. there is a set R of (renewable) resources. - for each r∈R its finite capacity cap(r) is known. - for each task a and each resource r, req(a,r) specifies the amount of r that a needs.
4. we have to find a schedule, that is an assignment of start times to tasks such that every constraint is satisfied (and often some optimization objective is optimized)
⎫|⎬|⎭
time constraints
⎫|⎬|⎭
resource constraints
This problem is known as the Time Constrained Project Scheduling Problem (TCPSP)
Scheduling: more details
EASSS Valencia May 2012
a3
a2 a4
a5
( 6, 7, 14 )( 0, 6, 12 )
( 0, 4, 5 )
( 1, 10, 20 )
( 0, 10, ∞ )
TCPSP: Simple example
19
a1
precedence relation
5 10 15 200
given: set Ac of activities ai with release times, durations, deadlines & precedences
asked for: schedule for activities, respecting all constraints
( r(a), l(a), d(a) )
EASSS Valencia May 2012
a3
a2 a4
a5
( 6, 7, 14 )( 0, 6, 12 )
( 0, 4, 5 )
( 1, 10, 20 )
( 0, 7, ∞ )
20
a1
precedence relation
5 10 15 200
( r(a), l(a), d(a) )
given: set Ac of activities ai with release times, durations, deadlines & precedences
asked for: schedule for activities, respecting all constraints
0 6
TCPSP: Simple example
EASSS Valencia May 2012
a3
a2 a4
a5
( 6, 7, 14 )( 0, 6, 12 )
( 0, 4, 5 )
( 1, 10, 20 )
( 0, 7, ∞ )
21
a1
precedence relation
5 10 15 200
( r(a), l(a), d(a) )
given: set Ac of activities ai with release times, durations, deadlines & precedences
asked for: schedule for activities, respecting all constraints
0 6 13
TCPSP: Simple example
EASSS Valencia May 2012
a3
a2
a4
a5
( 6, 7, 14 )( 0, 6, 12 )
( 0, 4, 5 )( 1, 10, 20 )
( 0, 7, ∞ )
22
a1
precedence relation
5 10 15 200
given: set Ac of activities ai with release times, durations, deadlines & precedences
asked for: schedule for activities, respecting all constraints
0 6 13
0 4
TCPSP: Simple example
EASSS Valencia May 2012
a3
a2
a4
a5
( 6, 7, 14 )( 0, 6, 12 )
( 0, 4, 5 )( 1, 10, 20 )
( 0, 7, ∞ )
23
a1
precedence relation
5 10 15 200
given: set Ac of activities ai with release times, durations, deadlines & precedences
asked for: schedule for activities, respecting all constraints
0 6 13
0 4
TCPSP: Simple example
EASSS Valencia May 2012
a3
a2
a4
a5
( 6, 7, 14 )( 0, 6, 12 )
( 0, 4, 5 ) ( 1, 10, 20 )
( 0, 7, ∞ )
24
a1
precedence relation
5 10 15 200
given: set Ac of activities ai with release times, durations, deadlines & precedences
asked for: schedule for activities, respecting all constraints
0 6 13
0 4 14
TCPSP: Simple example
EASSS Valencia May 2012
a3
a2 a4a5
( 6, 7, 14 )( 0, 6, 12 )
( 0, 4, 5 ) ( 1, 10, 20 ) ( 0, 7, ∞ )
25
a1
5 10 15 200
21
given: set Ac of activities ai with release times, durations, deadlines & precedences
asked for: schedule for activities, respecting all constraints
0 6 13
0 4 14
TCPSP: Simple example
EASSS Valencia May 2012
TCPSP: multi-agent variant
26
Given
• a set of activities Ac with release, duration and deadline constraints• 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.
QuestionFind a schedule for the set of activities Aci to be performed by agent Ai such that all constraints are satisfied.
EASSS Valencia May 2012
TCPSP: multi-agent variant
27
Given
• a set of activities Ac with release, duration and deadline constraints;• 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.
QuestionFind a schedule for the set of activities Aci to be performed by agent Ai such that all constraints are satisfied.
Solution- Create a schedule for the set of activities Aci of the underlying TCPSP;- distribute the schedule found over the agents Ai.
EASSS Valencia May 2012
a3
a2 a4
a5
( 6, 7, 14 )( 0, 6, 12 )
( 0, 4, 5 )
( 1, 10, 20 )
( 0, 10, ∞ )
MA-TCPSP: example
28
a1
precedence relation
5 10 15 200
given: set Ac of activities ai with release times, durations, deadlines & precedences
asked for: schedule for activities, respecting all constraints
a3
a2 a4a5
( 6, 7, 14 )( 0, 6, 12 )
( 0, 4, 5 ) ( 1, 10, 20 ) ( 0, 7, ∞ )
a1
5 10 15 200
21
0 6 13
0 4 14
assigned to agent A1
assigned to agent A2
EASSS Valencia May 2012
a3
a2 a4
a5
( 6, 7, 14 )( 0, 6, 12 )
( 0, 4, 5 )
( 1, 10, 20 )
( 0, 10, ∞ )
MA-TCPSP: example
29
a1
precedence relation
5 10 15 200
given: set Ac of activities ai with release times, durations, deadlines & precedences
asked for: schedule for activities, respecting all constraints
a3
a2 a4a5
( 6, 7, 14 )( 0, 6, 12 )
( 0, 4, 5 ) ( 1, 10, 20 ) ( 0, 7, ∞ )
a1
5 10 15 200
21
0 6 13
0 4 14
assigned to agent A1
assigned to agent A2
EASSS Valencia May 2012
a3
a2 a4
a5
( 6, 7, 14 )( 0, 6, 12 )
( 0, 4, 5 )
( 1, 10, 20 )
( 0, 10, ∞ )
MA-TCPSP: example
30
a1
precedence relation
5 10 15 200
given: set Ac of activities ai with release times, durations, deadlines & precedences
asked for: schedule for activities, respecting all constraints
a3
a2
a4
a5
( 6, 7, 14 )
( 0, 6, 12 )
( 0, 4, 5 ) ( 1, 10, 20 )
( 0, 7, ∞ )a1
5 10 15 200
210 6
13
0 4 14
assigned to agent A1
assigned to agent A2
A1
A2
14
EASSS Valencia May 2012
a3
a2 a4
a5
( 6, 7, 14 )( 0, 6, 12 )
( 0, 4, 5 )
( 1, 10, 20 )
( 0, 10, ∞ )
MA-TCPSP: example
31
a1
precedence relation
5 10 15 200
given: set Ac of activities ai with release times, durations, deadlines & precedences
asked for: schedule for activities, respecting all constraints
a3
a2
a4
a5
( 6, 7, 14 )
( 0, 6, 12 )
( 0, 4, 5 ) ( 1, 10, 20 )
( 0, 7, ∞ )a1
5 10 15 200
210 6
13
0 4 14
assigned to agent A1
assigned to agent A2
A1
A2
14
EASSS Valencia May 2012
Multi-agent scheduling (i)
32
NoteThe solution proposed is a centralized & dictatorial view on MAS:
- each agent receives a fixed schedule, - none of the agents is free to determine its own preferred schedule
Given
• a set of activities Ac with release, duration and deadline constraints• 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.
QuestionFind a schedule for the set of activities Aci to be performed by agent Ai such that all constraints are satisfied.
EASSS Valencia May 2012
Multi-agent scheduling (ii)
33
Our problem (agent coordination)
find a coordination mechanism ensuring that - each agent is able to determine its own local schedule; - a simple merge of all these local schedules constitutes always a global schedule satisfying all the constraints.
Given
• a set of activities Ac with release, duration and deadline constraints• 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.
QuestionFind a schedule for the set of activities Aci to be performed by agent Ai such that all constraints are satisfied.
EASSS Valencia May 2012
Contents Part 11. Introduction: Agent Coordination in Scheduling
basic scheduling concepts; introduction to autonomous scheduling.
2. Theory: temporal schedules in Simple Temporal Plans simple temporal plans (STPs); determining consistency of an STP; finding solutions for an STP; temporal decoupling in STPs.
3. Application: coordination of schedules at airports temporal decoupling applied to the turnaround process at airports.
34
EASSS Valencia May 2012
Simple Temporal PlansWe discuss TCPSPs using a special constraint representation that allows for efficient solution finding.
This constraint system allows onlybinary constraints of the form t’ - t ≤ d between time points t associated with activities a.
Constraint systems containing
- a set of time points - and a set of such binary difference constraints
are known as
Simple Temporal Plans
35 EASSS Valencia May 2012
From TCPSP to STP
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)
36
1. there is a set of activities Ac and for every activity a∈Ac there is a release time r(a), a deadline d(a) and a length l(a).
2. there is a partial precedence order < defined on Ac
1. for every activity a∈Ac there are two time variables ta and t’a and the following constraints: - ta ≤ r(a) ta - t’a ≤ -l(a) t’a - ta ≤ l(a) t’a ≤ d(a) 2. for every pair ai < aj, there exists a constraint t’ai - taj ≤ 0
Remark 1
TCPSP STP
EASSS Valencia May 2012
From TCPSP to STP
37
1. there is a set of activities Ac and for every activity a∈Ac there is a release time r(a), a deadline d(a) and a length l(a).
2. there is a partial precedence order < defined on Ac
1. for every activity a∈Ac there are two time variables ta and t’a and the following constraints: - ta ≤ r(a) ta - t’a ≤ -l(a) t’a - ta ≤ l(a) t’a ≤ d(a) 2. for every pair ai < aj, there exists a constraint t’ai - taj ≤ 0
TCPSP STP
Sometimes the length l(a) of activity a is a variable constrained by l1 ≤ l(a) ≤ l2Such a constraint can be translated to the following pair of STN constraints:ta - t’a ≤ -l1 and t’a - ta ≤ l2
Remark 2
EASSS Valencia May 2012
Small example
B
A
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?
38
EASSS Valencia May 2012
Small exampleTwo 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?
time points
tA, tB : arrival of A, B
t’A, t’B : departure of A, B
z0 : time reference
0 ≤ t’A - tA ≤ 5 2 ≤ t’B - tB ≤ 7
tB - tA ≥ 2
0 ≤ tA - z0 ≤ 0
z0 = 0
t’B - t’A ≤ 3
constraintstransforming constraintsto standard form tj - ti ≤ aij
39 EASSS Valencia May 2012
Small example
t’A - tA ≤ 5
t’B - tB ≤ 7
tA - tB ≤ -2
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?
tA - z0 ≤ 0
z0 = 0 t’B - t’A ≤ 3
time points
t’A, t’B : departure of A, B
z0 : time reference
constraints
tB - t’B ≤ -2
This is the standard representation inSimpleTemporalPlanstA - t’A ≤ 0
40
z0 - tA ≤ 0
tA, tB : arrival of A, B
ST
P
EASSS Valencia May 2012
Simple Temporal Plans
S = ( T, C )
T = {z0, tA, tB, t’A, t’B }
C = {
A Simple Temporal Plan (STP) is a tuple S = ( T, C )where - T is a set of time-points and - C is a set of binary constraints of the form t’ - t ≤ δ, δ being an arbitrary constant
41
t’A - tA ≤ 5
t’B - tB ≤ 7
tA - tB ≤ -2
tA - z0 ≤ 0
z0 = 0 t’B - t’A ≤ 3
tB - t’B ≤ -2
tA - t’A ≤ 0
z0 - tA ≤ 0
Simple Temporal Plan
}
EASSS Valencia May 2012
An STN S =(T,C) can also be represented by a labeled directed graph GS = ( T, E, l )called a (STN)Nodes are time points, labeled edges are derived from constraints:
Simple Temporal Plans
t’ - t ≤ δ ↔ t t’δSimple Temporal Network
constraint
labeled edge
42
S = ( T, C )
T = {z0, tA, tB, t’A, t’B }
C = { t’A - tA ≤ 5
t’B - tB ≤ 7
tA - tB ≤ -2
tA - z0 ≤ 0
z0 = 0 t’B - t’A ≤ 3
tB - t’B ≤ -2
tA - t’A ≤ 0
z0 - tA ≤ 0
Simple Temporal Plan
EASSS Valencia May 2012
An STN S =(T,C) can also be represented by a labeled directed graph GS = ( T, E, l )called a (STN) orNodes are time points, labeled edges are derived from constraints:
Simple Temporal Network
Simple Temporal Plan
t’ - t ≤ δ ↔ t t’δSimple Temporal Network Distance Graph
S = ( T, C )
T = {z0, tA, tB, t’A, t’B }
C = { t’A - tA ≤ 5
t’B - tB ≤ 7
tA - tB ≤ -2
tA - z0 ≤ 0
z0 = 0 t’B - t’A ≤ 3
tB - t’B ≤ -2
tA - t’A ≤ 0
z0 - tA ≤ 0
tA t’A
tB t’B
5
73-2
z0 = 0
-2
00
Simple Temporal Network
0
EASSS Valencia May 2012
STP: solution & consistency
tA t’A
tB t’B
5
73-2
z0
-2
00
Solution 1:
z0 = 0tA = 0t’A = 1tB = 2t’B = 4
= 4
= 0
= 0 = 1
= 42 =
0
A solution to an STP S = (T, C) is an assignment { ti = vi : ti ∈ T }�of values to variables that satisfies all constraints.
• the set of solutions of S is denoted as Sol(S)• S is consistent iff Sol(S) ≠ ∅ • S equivalent to S’ iff Sol(S) = Sol(S’)
44
Note that a solution in fact is a schedule if we use an STP to specify a scheduling problem
EASSS Valencia May 2012
STP: solution & consistencyA solution to an STP S = (T, C) is an assignment { ti = vi : ti ∈ T }�of values to variables that satisfies all constraints.
• the set of solutions of S is denoted as Sol(S)• S is consistent iff Sol(S) ≠ ∅ • S equivalent to S’ iff Sol(S) = Sol(S’)
tA t’A
tB t’B73-2
z0
-2
00
Solution 1:
z0 = 0tA = 0t’A = 1tB = 2t’B = 4
Solution 2:
z0 = 0tA = 0t’A = 5tB = 6t’B = 8
= 4
= 0
= 0 = 5
= 86 =
50
45 EASSS Valencia May 2012
STP: solution to example
tA t’A
tB t’B73-2
z0
-2
00
Solution 1:
z0 = 0tA = 0t’A = 1tB = 2t’B = 4
Solution 2:
z0 = 0tA = 0t’A = 5tB = 6t’B = 8
= 4
50
46
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?
A leaves at 12.01, B arrives at 12:02, B leaves at 12:04
A leaves at 12.05, B arrives at 12:06, B leaves at 12:08
EASSS Valencia May 2012
STP: solution to example
tA t’A
tB t’B73-2
z0
-2
00
Solution 1:
z0 = 0tA = 0t’A = 1tB = 2t’B = 4
Solution 2:
z0 = 0tA = 0t’A = 5tB = 6t’B = 8
50
47
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?
A leaves at 12.01, B arrives at 12:02, B leaves at 12:04
A leaves at 12.05, B arrives at 12:06, B leaves at 12:08
Two important questions to be answered
• how to determine consistency…
• how to find solutions…
EASSS Valencia May 2012
Checking consistency in STP
48
EASSS Valencia May 2012
implied constraintsexplicit constraints can be combined to implyother constraints: tA t’A
tB t’B
5
73-2
z0
-2
00
t’A - tA ≤ 5
t’B - tB ≤ 7
tA - tB ≤ -2
t’B - t’A ≤ 3
tB - t’B ≤ -2
t’B - tB = (t’B - t’A )+ (t’A - tA )+ (tA - tB ) ≤ 3 + 5 + -2 = 6
constraints some implied constraints
6
Look at the labels of the edges as distances between the corresponding nodes.
Finding a tighter constraint comes down to finding a shorter path!
0
49
Note that the implied constraintis stronger, replacingthe original constraint
EASSS Valencia May 2012
tA t’A
tB t’B
5
73-2
z0
-2
00
t’A - tA ≤ 5
t’B - tB ≤ 7
tA - tB ≤ -2
t’B - t’A ≤ 3
tB - t’B ≤ -2
t’A - t’B = (t’A - tA )+ (tA - tB )+ (tB - t’B ) ≤ 5 + -2 + -2 = 1
t’B - tB = (t’B - t’A )+ (t’A - tA )+ (tA - tB ) ≤ 3 + 5 + -2 = 6
constraints some implied constraints
61
0
50
implied constraints
shortest paths can be computed between any pair of nodes in the STN
strongest constraints in STPcorrespond to shortest paths in STN
explicit constraints can be combined to implyother constraints:
EASSS Valencia May 2012
0 0 5 6 8
0 0 5 6 8
-1 -1 0 1 3
-2 -2 3 0 6
-4 -4 1 -2 0
z0
tA
tB
t’A
t’B
z0 tA tBt’A t’B
tA t’A
tB t’B
5
73-2
z0
-2
00
t’A - tA ≤ 5
t’B - tB ≤ 7
tA - tB ≤ -2
t’B - t’A ≤ 3
tB - t’B ≤ -2
t’A - t’B = (t’A - tA )+ (tA - tB )+ (tB - t’B ) ≤ 5 + -2 + -2 = 1
t’B - tB = (t’B - t’A )+ (t’A - tA )+ (tA - tB ) ≤ 3 + 5 + -2 = 6
constraints some implied constraints
61
strongest constraints in STPcorrespond to shortest paths in STN
table of all shortest paths between nodes
0
51
implied constraintsexplicit constraints can be combined to implyother constraints:
EASSS Valencia May 2012
Distance Matrix
0 0 5 6 8
0 0 5 6 8
-1 -1 0 1 3
-2 -2 3 0 6
-4 -4 1 -2 0
z0
tA
tB
t’A
t’B
z0 tA tBt’A t’B
tA t’A
tB t’B
5
73-2
z0
-2
00
Strongest constraints in STPcorrespond to shortest paths in STN.
The distance matrix DS for an STNS = (T, C) is defined as:
D(ti, tj) = length of shortest path from ti to tj in the distance graph of S or ∞ if no such path exists
D :
GS :
Given the distance graph GS there are well-known efficient algorithms to compute the distance matrix D.
Example: all-pairs shortest path algorithmFloyd-Warshall: O(n3)
52
EASSS Valencia May 2012
tA t’A
tB t’B
5
73-2
z0
-2
00
0 0 5 6 8
0 0 5 6 8
-1 -1 0 1 3
-2 -2 3 0 6
-4 -4 1 -2 0
z0
tA
tB
t’A
t’B
z0 tA tBt’A t’B
all-pairs shortestpath computation
D: distance matrix
tA t’A
tB t’B
5
63-2
z0
-2
00
-265
-1 -4
8
6 1
minimal STN S’
-1
STN S
0 0 5 ∞ ∞
0 0 5 6 8
∞ ∞ 0 ∞ 3
∞ -2 ∞ 0 7
∞ ∞ ∞ -2 0
z0
tA
tB
t’A
t’B
z0 tA tBt’A t’Bconstraint matrix
53
equivalentsystems
Sol(S) = Sol(S’)
EASSS Valencia May 2012
0 0 5 6 8
0 0 5 6 8
-1 -1 0 1 3
-2 -2 3 0 6
-4 -4 1 -2 0
z0
tA
tB
t’A
t’B
z0 tA tBt’A t’B
all-pairs shortestpath computationO(n3)
distance matrix D = [d(t,t’)]
0 0 5 ∞ ∞
0 0 5 6 8
∞ ∞ 0 ∞ 3
∞ -2 ∞ 0 7
∞ ∞ ∞ -2 0
z0
tA
tB
t’A
t’B
z0 tA tBt’A t’Boriginal constraint matrix
checking consistencyGiven an STP S with its graph GS and distance graph DS, the following statements are equivalent:- S is consistent- DS has no negative entries on its diagnonal- GS has no negative cycles
this property can be checked in O(n3)
S is consistent
54
EASSS Valencia May 2012
Finding solutions in STP
55 EASSS Valencia May 2012
0 0 5 6 8
0 0 5 6 8
-1 -1 0 1 3
-2 -2 3 0 6
-4 -4 1 -2 0
z0
tA
tB
t’A
t’B
z0 tA tBt’A t’B
0 0 5 ∞ ∞
0 0 5 6 8
∞ ∞ 0 ∞ 3
∞ -2 ∞ 0 7
∞ ∞ ∞ -2 0
z0
tA
tB
t’A
t’B
z0 tA tBt’A t’B
all-pairs shortestpath computationO(n3)
distance matrix D = [d(t,t’)]original constraint matrix
finding solutionsGiven 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
two solutions
Why
56
EASSS Valencia May 2012
0 0 5 6 8
0 0 5 6 8
-1 -1 0 1 3
-2 -2 3 0 6
-4 -4 1 -2 0
z0
tA
tB
t’A
t’B
z0 tA tBt’A t’B
distance matrix D = [d(t,t’)]
finding solutionsGiven an STN S with its distance graph D, if D does not contain negative diagonal elements, - 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 a solution
Why
Take an arbitrary constraint t’ - t ≤ δ.We have D(z0,t’) ≤ D(z0,t) + D(t,t’) ≤ D(z0,t) + δHence, D(z0,t’) - D(z0,t) ≤ δ.So the first set of solutions satisfies every constraint. Likewise,D(t,z0) ≤ D(t,t’) + D(t’,z0) ≤ δ+ D(t’,z0)Hence, -D(t’,z0) + -D(t,z0) ≤ δSo the second set of solutions satisfies every constraint.
57 EASSS Valencia May 2012
general recipe for solutions
0 0 5 6 8
0 0 5 6 8
-1 -1 0 1 3
-2 -2 3 0 6
-4 -4 1 -2 0
z0
tA
tB
t’A
t’B
z0 tA tBt’A t’Bdistance matrix D = [D(t,t’)]
sol := ∅ while T ≠ ∅ select some t and v ∈ [-D(t,z0), D(z0,t)] add constraint {t = v} to STN and update the distance matrix D; remove row and column t from D; sol := sol ∪ {t=v}
start with tA ∈ [ 0,0] ; add tA = 0
58
EASSS Valencia May 2012
general recipe for solutions
0 5 6 8
-1 0 1 3
-2 3 0 6
-4 1 -2 0
z0
tA
tB
t’A
t’B
z0 tA tBt’A t’Bdistance matrix D = [D(t,t’)]
sol := ∅ while T ≠ ∅ select some t and v ∈ [-D(t,z0), D(z0,t)] add constraint {t = v} to STN and update the distance matrix D; remove row and column t from D; sol := sol ∪ {t=v}
start with tA ∈ [ 0,0] ; add tA = 0
59
take tB ∈ [ 2, 6 ] ; add tB = 4; update
EASSS Valencia May 2012
0 5 6 8
-1 0 1 3
-2 3 0 6
-4 1 -2 0
z0
tA
tB
t’A
t’B
z0 tA tBt’A t’Bdistance matrix D = [D(t,t’)]
sol := ∅ while T ≠ ∅ select some t and v ∈ [-D(t,z0), D(z0,t)] add constraint {t = v} to STN and update the distance matrix D; remove row and column t from D; sol := sol ∪ {t=v}
start with tA ∈ [ 0,0] ; add tA = 0take tB ∈ [ 2, 6 ] ; add tB = 4; update
4
-4
60
general recipe for solutions
EASSS Valencia May 2012
0 5 8
-3 0 3
-6 -1 0
z0
tA
tB
t’A
t’B
z0 tA tBt’A t’Bdistance matrix D = [D(t,t’)]
sol := ∅ while T ≠ ∅ select some t and v ∈ [-D(t,z0), D(z0,t)] add constraint {t = v} to STN and update the distance matrix D; remove row and column t from D; sol := sol ∪ {t=v}
start with tA ∈ [ 0,0] ; add tA = 0take tB ∈ [ 2, 6 ] ; add tB = 4; update
61
general recipe for solutions
EASSS Valencia May 2012
0 5 8
-3 0 3
-6 -1 0
z0
tA
tB
t’A
t’B
z0 tA tBt’A t’Bdistance matrix D = [D(t,t’)]
sol := ∅ while T ≠ ∅ select some t and v ∈ [-D(t,z0), D(z0,t)] add constraint {t = v} to STN and update the distance matrix D; remove row and column t from D; sol := sol ∪ {t=v}
62
general recipe for solutions
take t’A ∈ [ 3, 5 ] ; add t’A = 3; update
start with tA ∈ [ 0,0] ; add tA = 0take tB ∈ [ 2, 6 ] ; add tB = 4; update
EASSS Valencia May 2012
0 5 8
-3 0 3
-6 -1 0
z0
tA
tB
t’A
t’B
z0 tA tBt’A t’Bdistance matrix D = [D(t,t’)]
sol := ∅ while T ≠ ∅ select some t and v ∈ [-D(t,z0), D(z0,t)] add constraint {t = v} to STN and update the distance matrix D; remove row and column t from D; sol := sol ∪ {t=v}
3
63
general recipe for solutions
take t’A ∈ [ 3, 5 ] ; add t’A = 3; update
start with tA ∈ [ 0,0] ; add tA = 0take tB ∈ [ 2, 6 ] ; add tB = 4; update
EASSS Valencia May 2012
0 6
-6 0
z0
tA
tB
t’A
t’B
z0 tA tBt’A t’Bdistance matrix D = [D(t,t’)]
sol := ∅ while T ≠ ∅ select some t and v ∈ [-D(t,z0), D(z0,t)] add constraint {t = v} to STN and update the distance matrix D; remove row and column t from D; sol := sol ∪ {t=v}
take t’B ∈ [ 6, 6 ] ; add t’B = 6
64
general recipe for solutions
take t’A ∈ [ 3, 5 ] ; add t’A = 3; update
start with tA ∈ [ 0,0] ; add tA = 0take tB ∈ [ 2, 6 ] ; add tB = 4; update
solution s
EASSS Valencia May 2012
adding constraints to S
0 0 5 6 8
0 0 5 6 8
-1 -1 0 1 3
-2 -2 3 0 6
-4 -4 1 -2 0
z0
tA
tB
t’A
t’B
z0 tA tBt’A t’B
add t’A - tA ≤ 0
D
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)• S’ is inconsistent if δ < -D[t’,t]
S’ is inconsistent:0 ≤ -D[t’A,tA ] = 1
65 EASSS Valencia May 2012
adding constraints to S
0 0 5 6 8
0 0 5 6 8
-1 -1 0 1 3
-2 -2 3 0 6
-4 -4 1 -2 0
z0
tA
tB
t’A
t’B
z0 tA tBt’A t’B
add t’A - tA ≤ 0
D
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’) ]• S’ is inconsistent if δ < -D[t’,t]
-∞ -∞ -∞ -∞ -∞
-∞ -∞ -∞ -∞ -∞
-∞ -∞ -∞ -∞ -∞
-∞ -∞ -∞ -∞ -∞
-∞ -∞ -∞ -∞ -∞
z0
tA
tB
t’A
t’B
z0 tA tBt’A t’B
S’ is inconsistent:0 ≤ -D[t’A,tA ] = 1
D’
66
EASSS Valencia May 2012
adding constraints to S
0 0 5 6 8
0 0 5 6 8
-1 -1 0 1 3
-2 -2 3 0 6
-4 -4 1 -2 0
z0
tA
tB
t’A
t’B
z0 tA tBt’A t’B
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’) ]• S’ is inconsistent if δ < -D[t’,t]
0 0 2 3 5
0 0 2 3 5
-1 -1 0 1 3
-2 -2 0 0 3
-4 -4 -2 -2 0
z0
tA
tB
t’A
t’B
z0 tA tBt’A t’BD’
67
D
add t’A - tA ≤ 0
S’ is inconsistent:0 ≤ -D[t’A,tA ] = 1
EASSS Valencia May 2012
Temporal DecouplingSolving the autonomous scheduling problem in STP’s
68
EASSS Valencia May 2012
Temporal decouplingIn finding solutions, until now we assumed that one agent controls the assignment of values to all the variables.
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,
This is the autonomous scheduling problem for STN’s.
69
We discuss an efficientsolution to this problem:
Temporal Decoupling
EASSS Valencia May 2012
Temporal decoupling: example
tA t’A
tB t’B
5
63-2z0
-2
0
0
Consider the train example discussed before. Train A and Train B would like to determine their scheduleindependently from each other.
70
for simplicity we take only a part of the minimal STN
EASSS Valencia May 2012
Temporal decoupling: example
tA t’A
tB t’B
5
63-2z0
-2
0
0
Consider the train example discussed before. Train A and Train B would like to determine their scheduleindependently from each other.
controlled by A
controlled by B
71 EASSS Valencia May 2012
tA t’A
tB t’B
5
63-2z0
-2
0
0
Consider the train example discussed before. Train A and Train B would like to determine their scheduleindependently 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
controlled by B
72
Temporal decoupling: example
EASSS Valencia May 2012
tA t’A
tB t’B
5
63-2z0
-2
0
0
controlled by A
= 0 = 2
= 3 = 6
controlled by B
Consider the train example discussed before. Train A and Train B would like to determine their scheduleindependently from each other.
Both solutions satisfy the localconstraints
Suppose:A chooses Sol(SA) ∋ { tA = 0, t’A = 2 }B chooses Sol(SB) ∋ { tB = 3, t’B = 6 }
73
Temporal decoupling: example
EASSS Valencia May 2012
tA t’A
tB t’B
5
63-2z0
-2
0
0
controlled by A
= 0 = 2
= 3 = 6
controlled by B
Consider the train example discussed before. Train A and Train B would like to determine their scheduleindependently from each other.
Both solutions satisfy the localconstraints
Suppose:A chooses Sol(SA) ∋ { tA = 0, t’A = 2 }B chooses Sol(SB) ∋ { tB = 3, t’B = 6 }
But Sol(SA)�Sol(SB) ={ tA = 0, t’A = 2 , tB = 3, t’B = 6 }is not a solution of S !
74
Temporal decoupling: example
EASSS Valencia May 2012
tA t’A
tB t’B
5
63-2z0
-2
0
0
controlled by A
= 0 = 2
= 3 = 6
controlled by B
Consider the train example discussed before. Train A and Train B would like to determine their scheduleindependently from each other.
Suppose:A chooses Sol(SA) ∋ { tA = 0, t’A = 2 }B chooses Sol(SB) ∋ { tB = 3, t’B = 6 }
intuitive reason for failure: inter-agent constraints are not implied by local constraints !
Both solutions satisfy the localconstraints
But Sol(SA)�Sol(SB) ={ tA = 0, t’A = 2 , tB = 3, t’B = 6 }is not a solution of S !
75
Temporal decoupling: example
EASSS Valencia May 2012
Temporal Decoupling:
the method
76
EASSS Valencia May 2012
Temporal decoupling: method
t’
t
z0D(t,t’)
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).
77 EASSS Valencia May 2012
t’
t
D(z0,t’)
z0D(t,t’)
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).
D(t,z0)
78
Temporal decoupling: method
EASSS Valencia May 2012
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).
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)
t’
t
D(z0,t’)
z0D(t,t’)
D(t,z0)
79
Temporal decoupling: method
EASSS Valencia May 2012
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).
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)
t’
t
D(z0,t’)
z0D(t,t’)
D(t,z0)
We can ensure implication of t’- t ≤ D(t,t’) by intra-agent constraints by tightening t’- z0 ≤ D(z0,t’) and z0 - t ≤ D(t,z0)
80
Temporal decoupling: method
EASSS Valencia May 2012
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).
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)
t’
t
D(z0,t’)
z0D(t,t’)
D(t,z0)
We can ensure implication of t’- t ≤ D(t,t’) by intra-agent constraints by tightening t’- z0 ≤ D(z0,t’) and z0 - t ≤ D(t,z0)
Method: Choose δt and δt’ such that 1. -D(z0,t) ≤ δt < D(t,z0) 2. -D(t,z0) ≤ δt’ < D(z0,t’) 3. δt + δt’ ≤ D(t,t’)Add constraints t’- z0 ≤ δt’ and z0 - t ≤ δt to Sand compute new distance matrix.
81
Temporal decoupling: method
EASSS Valencia May 2012
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).
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)
t’
t
z0D(t,t’)
We can ensure implication of t’- t ≤ D(t,t’) by intra-agent constraints by tightening t’- z0 ≤ D(z0,t’) and z0 - t ≤ D(t,z0)
Method: Choose δt and δt’ such that 1. -D(z0,t) ≤ δt < D(t,z0) 2. -D(t,z0) ≤ δt’ < D(z0,t’) 3. δt + δt’ ≤ D(t,t’)Add constraints t’- z0 ≤ δt’ and z0 - t ≤ δt to Sand compute new distance matrix.
δt
δt’
t’- t ≤ D(t,t’) implied by t’- z0 ≤ δt’ and z0 - t ≤ δt
82
Temporal decoupling: method
EASSS Valencia May 2012
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).
t’
t
z0D(t,t’)
δt
δt’ If t’- t ≤ D(t,t’) is implied by t’- z0 ≤ δt’ and z0 - t ≤ δt, it can be removed from S without any consequence.
This procedure can be repeated for every inter agent constraint not implied by intra-agent constraints.
The resulting system is a decoupled STN
83
Temporal decoupling: method
EASSS Valencia May 2012
Temporal Decoupling in action
tA t’A
tB t’B
5
63-2
z0
-2
00
-265
-1
6 1-1
-48
controlled by agent 1 controlled by agent 2
Step 1: ensure that tA - tB ≤ -2
84
EASSS Valencia May 2012
Temporal Decoupling in action
tA t’A
tB t’B
5
63
z0
-2
00
-265
-1
6 1-1
Step 1: ensure that tA - tB ≤ -2.This constraint is implied by(tA - z0) + (z0 - tB) ≤ 0 + (-2) = -2remove it.
-48
Step 1: ensure that tA - tB ≤ -2
85 EASSS Valencia May 2012
Temporal Decoupling in action
tA t’A
tB t’B
5
63
z0
-2
00
-265
-1
6 1-1
Step 1: take tA - tB ≤ -2.This constraint is implied.remove it.
Step 2: take tB - tA ≤ 6.This constraint is implied.remove it.
-48
86
EASSS Valencia May 2012
Temporal Decoupling in action
tA t’A
tB t’B
5
63
z0
-2
00
-265
-1-4
8
1-1
Step 1: take tA - tB ≤ -2.This constraint is implied.remove it.
Step 3: take t’B - t’A ≤ 3.This constraint is not implied.
Take z0 - t’A ≤ -3 and t’B - z0 ≤ 6.Then t’B - t’A ≤ 3 is implied.Update D.
Step 2: take tB - tA ≤ 6.This constraint is implied.remove it.
87 EASSS Valencia May 2012
Temporal Decoupling in action
tA t’A
tB t’B
5
63
z0
-2
00
-265
-3-4
6
1-1
Step 1: take tA - tB ≤ -2.This constraint is implied.remove it.
Step 3: take t’B - t’A ≤ 3.Now the constraint is implied.remove it.
Step 2: take tB - tA ≤ 6.This constraint is implied.remove it.
88
EASSS Valencia May 2012
Temporal Decoupling in action
tA t’A
tB t’B
5
6
z0
-2
00
-265
-3-4
6
1-1
Step 4: take t’A - tB ≤ 1.This constraint is implied.remove it.
Step 1: take tA - tB ≤ -2.This constraint is implied.remove it.
Step 3: take t’B - t’A ≤ 3.Now the constraint is implied.remove it.
Step 2: take tB - tA ≤ 6.This constraint is implied.remove it.
89 EASSS Valencia May 2012
Temporal Decoupling in action
tA t’A
tB t’B
5
6
z0
-2
00
-265
-3-4
6
-1
The constraints between tA and t’B and t’A and tB are treated analogously
Step 4: take t’A - tB ≤ 1.This constraint is implied.remove it.
Step 1: take tA - tB ≤ -2.This constraint is implied.remove it.
Step 3: take t’B - t’A ≤ 3.Now the constraint is implied.remove it.
Step 2: take tB - tA ≤ 6.This constraint is implied.remove it.
90
EASSS Valencia May 2012
Temporal Decoupling in action
tA t’A
tB t’B
5
6
z0
-2
00
-265
-3-4
6
-1
For decoupled systems, localsolutions always imply a global solution: every combination of local solutions is a global solution.
(every inter-agent constraint is satisfied by any combination of local solutions)
Example: {tA = 0, t’A = 4} and {tB = 3, t’B= 5} satisfy all constraints.
91 EASSS Valencia May 2012
Contents1. Scheduling: an introduction
basic concepts and introduction to the problem of autonomous scheduling
2. Autonomous scheduling in Simple Temporal Networks an efficient decomposition technique for special constraint systems
3. Application: autonomous scheduling at airports temporal decoupling applied to the turnaround process at airports
92
EASSS Valencia May 2012
T h e Tu r n a r o u n d P r o c e s sAt airports, planes have to be serviced at the gates.
Typically, multiple services have to be applied( baggage handling, container loading, catering, fueling, lavatory services, cleaning ) by different independent service providers.
For each aircraft unique durations and dependencies of these services are known.
There is a daily specification of the schedule for this turnaround process, on a mid-size to large airport requiring to service a few hundred to a few thousand planes.
The turnaround process specification prevents the service providers to make their schedules independently from each other.We want to help them.
93 EASSS Valencia May 2012
Turnaround servicing arrangement
AERO QUARTERLY QTR_04 | 0822
Fueling2
Bulk cargo loader
Bulk cargotrain
Vacuumlavatoryservice
Cabin cleaningtruck
Electricpower
1
Galley service truck(1st position)
Potablewater truck
Galley service truck(2nd position)
Bulk cargoloader
Bulkcargotrain
Passengerbridge
1Air-conditioning
Starting airsequenced
1
P
TE
AS
F
AC
!"#$-!%&' (!")* +#,-'((
A turn-time study typically includes a review of the following areas, with the airline determining which activities may require special attention:
Coordination and scheduling of labor. Line maintenance. Organizational structure. Outstation (as required). Quality assurance and control. Ramp safety. Ramp/terminal operations. Technical policies and procedures. Training. GSE. Ramp policies and procedures. Sequence of events.
A study begins with a visit by a Boeing team to an airline site and outstation to analyze detailed records on all aspects of the ramp operations
(see fig. 1). Using analytical methods and stan dards, the team then identifies inefficiencies and oppor tu-nities for improvement in the following areas:
Cabin grooming. Cargo loading and unloading. Fueling. Galley servicing. Meal and beverage provisioning. Passenger boarding and deplaning. Potable water replenishment. Preflight check.
The team also conducts detailed interviews with all levels of management and other ramp and terminal operations personnel. Topics addressed include organization and job descriptions; employed policies and procedures; maintenance and over haul capabilities; and GSE, safety, and performance measurement methods.
The Boeing team uses a variety of criteria during the study, including the International Air
Transpor ta tion Association’s Airport Handling Manual, actual airline observations, Boeing-recommended practices and procedures, accepted industry stan-dards, and knowledge of ramp handling operations and GSE requirements.
At the conclusion of a ramp/terminal operation analysis, the Boeing team verbally debriefs the airline’s management on the significant findings. The airline also receives a written report approxi-mately 30 days after the on-site evaluation. Reports typically range from 50 to 80 pages and provide detailed findings, observed and proposed time lines, and recommendations (see fig. 2). Airline findings are strictly treated as proprietary infor mation and not shared with other airlines.
.'$'/%!( ,/ !"#$-!%&' (!")%'(
Turn-time studies provide operators with detailed recommendations on how individual tasks can be
TYPICAL NEXT-GENERATION 737 TURN-TIME SERVICING ARRANGEMENTFigure 1
A Boeing team analyzes an operator’s ramp operations to help reduce average turn-times and increase airplane utilization.
1 Not required if auxiliary power unit is in use 2 Sequence fueling with cargo loading
E Electrical AC Air-conditioning AS Air start F Fuel T Toilet service P Potable water
94
EASSS Valencia May 2012
Turnaround timeline (Boeing 737)
WWW.BOEING.COM/COMMERCIAL/AEROMAGAZINE23
improved and how multiple tasks can be coordi-nated to permit optimum ramp/terminal operations and improve airplane utilization. These studies enable airlines to compare their methods and performance to that of other operators, obtain an independent review of operations and processes, and identify problems and prioritize solutions. Airlines can realize a number of benefits from turn-time studies, including:
Efficient, repeatable, and safe turnaround oper a-tion on the ramp and inside the airport terminal.
Possibility of additional revenue and additional flights per day.
Reduced “ramp rash” through safety aware-ness and recurrent training.
Safer ramp/terminal infrastructure, equipment, and operations.
Fuel savings through reduced auxiliary power unit usage.
Reduced airplane scheduling conflicts on the ground and at the gates.
Reduced gate time for airplanes during turnaround operations.
Maximized gate usage during peak opera-tional times.
Improved passenger satisfaction. Proper use and availability of GSE. Better utilization of ramp personnel. Increased management awareness of ramp
and terminal operations.
As outlined in the preceding article, “Economic Impact of Airplane Turn-Times,” airplane turn-time studies can also help an airline keep airplanes earning revenue during a greater portion of their duty cycle. The time recovered may even allow an additional flight at the end of the day. In one actual case, Boeing helped an airline increase its number of quick turns (a turn accomplished in 30 minutes or less in most stations) by 33 percent.
!"##$%&
A Boeing team is available on-site to assist oper-ators in optimizing their airplane turn-times by using analytical methods and standards to improve individual tasks and coordinate multiple events on the ramp. Boeing can perform this fee-based turn-time analysis for all models of Boeing airplanes. These studies incorporate airline maintenance, airline policy, government regulatory requirements, and GSE availability. At the conclusion, Boeing will provide the operator with a detailed written report documenting the findings and recommendations as well as an implementa tion plan to reduce over-all turn-times.
For more information, please contact Troy Barnett at [email protected] or view his Web site at http://www.boeing.com/commercial/ams/mss/brochures/turntime.html.
TYPICAL NEXT-GENERATION 737 TIMELINE
Engine Shutdown / Chocks On 0.3
PAS
SE
NG
ER
S
ER
VIC
ES
Position Passenger Bridge / Open Door 0.2Deplane Passengers 3.7Service Cabin 9.6Service Forward Galley 6.7Service Aft Galley 1.3Board Passengers 9.8Remove Passenger Bridge / Close Door 0.5
CA
RG
O B
AG
GA
GE
HA
ND
LIN
G
Unload Forward Compartment 2.2Unload Mid Compartment 11.4Unload Aft Compartment 5.5Load Forward Compartment 7.1Load Mid Compartment 7.3Load Aft Compartment 13.8
AIR
PLA
NE
S
ER
VIC
ING Fuel Airplane 9.9
Service Lavatories 2.0Service Potable Water 2.0
Chocks Off / Pushback 1.0
0 5 10 15 20 25 30MINUTES
DETAILED RECOMMENDATIONS TO IMPROVE TURN-TIME EFFICIENCYFigure 2
Each turn-time study includes a detailed written report with specific recommendations, such as this flow chart, on how an airline can improve turn-times.
= Position Equipment = Critical Path PARAMETERS
142 passengers off, 121 passengers on 2 doors used to deplane and enplane 1 galley service truck 1 lavatory service truck 1 potable water service truck
NOTE
Belt loader used at cargo hold Aft galley, potable water, and lavatory service
complete before passenger boarding
1 Not required if auxiliary power unit is in use 2 Sequence fueling with cargo loading
E Electrical AC Air-conditioning AS Air start F Fuel T Toilet service P Potable water
95 EASSS Valencia May 2012
The turnaround problem Given a daily turnaround plan and a set of autonomous service providers
How to obtain for each ground handling agent a temporal plan such that
• the agent is able to schedule its activities independently of the others,
• whilst the feasibility of the overall solution is ensured.
496
EASSS Valencia May 2012
Turnaround Decoupling in 4 stepsconstruct STNusing airport planning domain, construct overall problem representation using Simple Temporal Networks
decoupledecouple this STN into the relevant local (service-provider)domains, adding additional constraints where needed.
local solvingdecoupled STN’s are solved locally by each service provider, applying its own preferences, tools and methods
merginglocal solutions (schedules) are merged into a total airport turnaround schedule which is guaranteed to be conflict-free
97 EASSS Valencia May 2012
Modeling the turnaround processturnaround constraints
on-block+start deboarding:
at 14.00 o’clock
deboarding: 5-10 min
fuelling: 10-20 min
fuelling after deboarding
turnaround: 60 min
off-block ≥30 after fuelling
98
EASSS Valencia May 2012
"X0
"X1
[120,&120]
Start"deboarding"
12:00
turnaround constraints
on-block+start deboarding
at 14.00 o’clock
120 ≤ X1 – X0 ≤ 120 deboarding: 5-10 min
fuelling: 10-20 min
fuelling after deboarding
turnaround: 60 min
off-block ≥30 after fuelling
99
Modeling the turnaround process
EASSS Valencia May 2012
on-block+start deboarding
at 14.00 o’clock
120 ≤ X1 – X0 ≤ 120 deboarding: 5-10 min
5 ≤ X1 – X2 ≤ 10
fuelling: 10-20 min
fuelling after deboarding
turnaround: 60 min
off-block ≥30 after fuelling
"X0
"X1
[120,&120]
Start"deboarding"
12:00
"X2[5,&10]
"End"deboarding
turnaround constraints
100
Modeling the turnaround process
EASSS Valencia May 2012
on-block+start deboarding
at 14.00 o’clock
120 ≤ X1 – X0 ≤ 120 deboarding: 5-10 min
5 ≤ X1 – X2 ≤ 10
fuelling: 10-20 min
10 ≤ X4 – X3 ≤ 20
fuelling after deboarding
turnaround: 60 min
off-block ≥30 after fuelling
"X0
"X1
[120,&120]
Start"deboarding"
12:00
"X2
"End"deboarding
"X3 "X4[10,&20]
End"Fuelling
"Start"Fuelling
turnaround constraints
[5,&10]
101
Modeling the turnaround process
EASSS Valencia May 2012
on-block+start deboarding
at 14.00 o’clock
120 ≤ X1 – X0 ≤ 120 deboarding: 5-10 min
5 ≤ X1 – X2 ≤ 10
fuelling: 10-20 min
10 ≤ X4 – X3 ≤ 20
fuelling after deboarding
0 ≤ X3 – X2 ≤ ∞
turnaround: 60 min
off-block ≥30 after fuelling
"X0
"X1
[120,&120]
Start"deboarding"
12:00
"X2
"End"deboarding
"X3 "X4
End"Fuelling
"Start"Fuelling
[0,&∞]
turnaround constraints
[5,&10]
[10,&20]
102
Modeling the turnaround process
EASSS Valencia May 2012
on-block+start deboarding
at 14.00 o’clock
120 ≤ X1 – X0 ≤ 120 deboarding: 5-10 min
5 ≤ X1 – X2 ≤ 10
fuelling: 10-20 min
10 ≤ X4 – X3 ≤ 20
fuelling after deboarding
0 ≤ X3 – X2 ≤ ∞
turnaround: 60 min60 ≤ X5 – X1 ≤ 60
off-block ≥30 after fuelling
"X0
"X1
[120,&120]
Start"deboarding"
12:00
"X2
"End"deboarding
"X3 X4
End"Fuelling[0,&∞]
"X5
Off;block
[60,&60]
turnaround constraints
[5,&10]
[10,&20]
"Start"Fuelling
103
Modeling the turnaround process
EASSS Valencia May 2012
"X0
"X1
[120,&120]
Start"deboarding"
12:00
"X2
"End"deboarding
"X3 "X4
End"Fuelling
"Start"Fuelling
[0,&∞]
"X5[60,&60]
[30,&∞]
on-block+start deboarding
at 14.00 o’clock
120 ≤ X1 – X0 ≤ 120 deboarding: 5-10 min
5 ≤ X1 – X2 ≤ 10
fuelling: 10-20 min
10 ≤ X4 – X3 ≤ 20
fuelling after deboarding
0 ≤ X3 – X2 ≤ ∞
turnaround: 60 min60 ≤ X5 – X1 ≤ 60
off-block ≥30 after fuelling
turnaround constraints
30 ≤ X5 – X4 ≤ ∞
[5,&10]
[10,&20]
Off;block
104
Modeling the turnaround process
EASSS Valencia May 2012
Earliest time schedule
"X0
"X1
[120,&120]
Start"deboarding"
12:00
"X2
"End"deboarding
"X3 "X4
End"Fuelling
"Start"Fuelling
[0,&∞]
"X5[60,&60]
[30,&∞]
!X5!=!15:00
!X4!=!14:15
!X3!=!14:05
!X2!=!14:05!X1!=!14:00
!X0!=!12:00
earliest possible dispatching
on-block+start deboarding
at 14.00 o’clock
120 ≤ X1 – X0 ≤ 120 deboarding: 5-10 min
5 ≤ X1 – X2 ≤ 10
fuelling: 10-20 min
10 ≤ X4 – X3 ≤ 20
fuelling after deboarding
0 ≤ X3 – X2 ≤ ∞
turnaround: 60 min60 ≤ X5 – X1 ≤ 60
off-block ≥30 after fuelling
turnaround constraints
30 ≤ X5 – X4 ≤ ∞
[5,&10]
[10,&20]
Off;block
105 EASSS Valencia May 2012
on-block+start deboarding
at 14.00 o’clock
120 ≤ X1 – X0 ≤ 120 deboarding: 5-10 min
5 ≤ X1 – X2 ≤ 10
fuelling: 10-20 min
10 ≤ X4 – X3 ≤ 20
fuelling after deboarding
0 ≤ X3 – X2 ≤ ∞
turnaround: 60 min60 ≤ X5 – X1 ≤ 60
off-block ≥30 after fuelling
turnaround constraints
30 ≤ X5 – X4 ≤ ∞
"X0
"X1
[120,&120]
Start"deboarding"
12:00
"X2[5,&10]
"End"deboarding
"X3 "X4[10,&20]
End"Fuelling
"Start"Fuelling
[0,&∞]
"X5[60,&60]
[30,&∞]
!X5!=!15:00
!X4&=&14:30
!X3&=&14:20
&X2&=&14:10!X1!=!14:00
!X0!=!12:00
latest possible dispatching
Latest time schedule
Off;block
106
EASSS Valencia May 2012
Minimizing STN
"X0
"X1
[120,&120]
Start"deboarding"
12:00
"X2[5,&10]
"End"deboarding
"X3 "X4[10,&20]
End"Fuelling[0,&15]
"X5[60,&60]
[30,&45]
Off;block
107
"Start"Fuelling[180,&180]
EASSS Valencia May 2012
Decoupling
"X0
"X1
[120,&120]
Start"deboarding"
12:00
"X2[5,&10]
"End"deboarding
"X3 "X4[10,&20]
End"Fuelling
"Start"Fuelling "X5
Two parties involved
deboarding agent
fuelling agent
Each party controls a sub STN
CONFLICTING SOLUTIONS POSSIBLEOff;block
108
[0,&15]
[30,&45]
[60,&60]
[180,&180]
EASSS Valencia May 2012
"X0
"X1
[120,&120]
Start"deboarding"
12:00
"X2[5,&10]
"End"deboarding
"X3 "X4[10,&20]
End"Fuelling
"Start"Fuelling "X5
Two parties involved
deboarding
fuelling
Each party controls a sub STN
CONFLICTING SOLUTIONS
&X2&=&14:10&X1&=&14:00
!X0&=&12:00
&X5&=&15:00
!X4&=&14:15
!X3&=&13:55
Temporal Decoupling: Example
Decoupling
Off;block
109
[0,&15]
[30,&45]
[60,&60]
[180,&180]
EASSS Valencia May 2012
"X0
"X1
[120,&120]
Start"deboarding"
12:00
"X2
"End"deboarding
"X3 "X4
End"Fuelling
"X5
!X0&=&12:00
Temporal Decoupling IdeaTighten some intra-agent constraints such that all inter-agent constraints are satisfied.
Resulttwo decoupled subsystems,independently solvable.
Temporal Decoupling: Example
Decoupling
Off;block
110
[5,&10]
[10,&20]
"Start"Fuelling
[30,&45]
[0,&15]
[60,&60]
[180,&180]
EASSS Valencia May 2012
"X0
"X1
[120,&120]
Start"deboarding"
"X2[5,&10]
"End"deboarding
"X3 "X4[10,&20]
End"Fuelling
"X5
!X0&=&12:00[130,&145]
Temporal Decoupling: Example
Decoupling Process
tighten temporal constraintfor (X0,X3):
125 ≤ X3 – X0 ≤ 145
to the constraint
130 ≤ X3 - X0 ≤ 145
this ensures that theconstraint 0 ≤ X3-X2 ≤ 15
is implied
Decoupling
Off;block
111
"Start"Fuelling
12:00
[30,&45]
[0,&15]
[60,&60]
[180,&180]
No more conflicting solutions
EASSS Valencia May 2012
"X0
"X1
[120,&120]
Start"deboarding"
12:00
"X2[5,&10]
"End"deboarding
"X3 "X4[10,&20]
End"Fuelling
"X5
!X0&=&12:00
Temporal Decoupling: Example
Decoupling
Off;block
112
[30,&45]
"Start"Fuelling[60,&60]
[180,&180]
Both inter-agent constraints can be removed.
The system now consists of two independently solvable sub STNs[130,&145]
EASSS Valencia May 2012
Summary turnaround problemQuestionHow to obtain for each ground handling agent a temporal plan such that it can schedule its activities independently of the others, whilst the feasibility of the overall solution is ensured.
ResultAfter decoupling, each agent can decide upon its own schedule. All individual schedules are mergeable into a conflict-free schedule for the overall schedule.
ConclusionTemporal decoupling solves the autonomous scheduling problem for the turnaround process at airports.(Btw: Flexibility loss is acceptable and can be minimized)
113 EASSS Valencia May 2012
Summary turnaround problemQuestionHow to obtain for each ground handling agent a temporal plan such that it can schedule its activities independently of the others, whilst the feasibility of the overall solution is ensured.
ResultAfter decoupling, each agent can decide upon its own schedule. All individual schedules are mergeable into a conflict-free schedule for the overall schedule.
ConclusionTemporal decoupling solves the autonomous scheduling problem for the turnaround process at airports.(Btw: Flexibility loss is acceptable and can be minimized)
114
SOLVED
EASSS Valencia May 2012
Tool Implementation • Rather fast algorithm presented to determine resource needs:
O(n3)
• Execution time for a problem instance of 207 flights:
- Minimum required capacity calculated in 23 sec.
- Maximum required capacity in 17 sec.
- Entire planning tool (both temporal planning and decoupling and determining resource needs):
- Less than 3 minutes.
• Realistic application:
- Execution time for a full-day scenario calculated in less than 20 minutes.
115 EASSS Valencia May 201221
Summary • We introduced the autonomous scheduling problem
aiming at finding additional constraints to a scheduling problem such that multiple autonomous agents can solve their part of the scheduling problem without conflicts.
• we used a Simple Temporal Plan to model the turnaround process at airports
• discussed Temporal Decoupling to obtain independent scheduling problems for each agent
• applied temporal decoupling to the turnaround process at airports
116
EASSS Valencia May 201221
What else• relating the autonomous scheduling problem to
the consistency problem in distributed databasesand 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)
• distributed decoupling techniques(Boerkoel, Durfee, 2011)
• dynamic decoupling techniques.work in progress
117 EASSS Valencia May 2012
Thanks for listening
118
1Challenge the future
Content Part 2Resource Constrained Scheduling Problem
• Introduction• Activities using common resources
• Theory• Basics of heuristic some procedures
• Calculate critical path
• Shifting Bottleneck Heuristic
• Application example
2Challenge the future
Activities using common resourcesResource Constrained Scheduling Problem
j=1
j=2
→tResource r
, . .
: ∈ , ,
Resource feasible: ∈ |
∈
Resource peak(resource conflict)
3Challenge the future
Activities using common resourcesResource Constrained Scheduling Problem
j=1
j=2
→tResource r
, . .
: ∈ , ,
Resource feasible: ∈ |
∈
Constraint Satisfaction Problemw.r.t. start time assignment : For example and
4Challenge the future
Activities using common resourcesResource Constrained Scheduling Problem
j=1
j=2
→tResource r
, . .
: ∈ , ,
Resource feasible: ∈ |
∈
Constraint Satisfaction Problemw.r.t. start time assignment : For example and
5Challenge the future
Activities using common resourcesResource Constrained Scheduling Problem
j=1
j=2
→tResource r
, . .
: ∈ , ,
Resource feasible: ∈ |
∈
Constraint Satisfaction Problemw.r.t. start time assignment : For example and
6Challenge the future
Activities using common resourcesResource Constrained Scheduling Problem
j=1
j=2
→tResource r
, . .
: ∈ , ,
: → , . .
Resourcefeasible: ∈ |
∈
Constraint Satisfaction Problemw.r.t. start time by precedence constraint posting:For example 1→2
7Challenge the future
Activities using common resourcesResource Constrained Scheduling Problem
j=1
j=2
→tResource r
Resourcefeasible: ∈ |
∈
Constraint Satisfaction Problemw.r.t. start time by precedence constraint posting:For example 2→1
, . .
: ∈ , ,
: → , . .
8Challenge the future
Activities using common resourcesResource Constrained Scheduling Problem
j=1
j=2
→tResource r
Resourcefeasible: ∈ |
∈
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
Results in plan flexibility and leaves room for autonomy!
, . .
: ∈ , ,
: → , . .
9Challenge the future
Activities using common resourcesResource Constrained Scheduling Problemusing Simple Temporal Networks
j=1
j=2
→tResource r
, . .
: ∈ , ,
: → , . .
∈ | ; . .
∈
10Challenge the future
Activities using common resourcesResource Constrained Scheduling Problemusing Simple Temporal Networks
j=1
j=2
→tResource r
, . .
: ∈ , ,
: → , . .
∈ | ; . .
∈
0
Constraint posting:Add a temporal constraint between activities
11Challenge the future
Activities using common resourcesResource Constrained Scheduling Problemusing Simple Temporal Networks
j=1
j=2
→tResource r
, . .
: ∈ , ,
: → , . .
∈ | ; . .
∈
0
12Challenge the future
Activities using common resourcesResource Constrained Scheduling Problemusing Simple Temporal Networks
j=1
j=2
→tResource r
, . .
: ∈ , ,
: → , . .
∈ | ; . .
∈
0
13Challenge the future
Activities using common resourcesResource Constrained Scheduling Problemusing Simple Temporal Networks
j=1
j=2
→tResource r
, . .
: ∈ , ,
: → , . .
∈ | ; . .
∈
0
STN is consistent iff:
0
0
14Challenge the future
Activities using common resourcesResource Constrained Scheduling Problemusing Simple Temporal Networks
j=1
j=2
→tResource r
, . .
: ∈ , ,
: → , . .
∈ | ; . .
∈
0
STN is consistent iff:
Fails!
0
0
15Challenge the future
Activities using common resourcesIdentify options to resolve conflict
→tResource r
j=1
j=2
: activities may scheduled into any sequence
16Challenge the future
Activities using common resourcesIdentify options to resolve conflict
→tResource r
j=1
j=2
: only one activity sequence allowed
17Challenge the future
Activities using common resourcesIdentify options to resolve conflict
→tResource r
j=1
j=2
: no feasible activity sequence possible
18Challenge the future
Basics of someHeuristic 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
19Challenge the future
Activities using common resourcesApply heuristic procedure
1 2
3 4 5
7 8
6
10 80
21 15 5 20
16 23
Project Make Span 100
=10
=21
=16
Common resource 1
What do in this case?
=10
=39
=61
Resource conflict when earliest start timeis assigned to activities 1,3, and 7!
20Challenge the future
Activities using common resourcesApply heuristic procedure
1 2
3 4 5
7 8
6
10 80
21 15 5 20
16 23
Project Make Span 100
=10
=21
=16
=10
=39
=61
1. Identify options to sequence two activities and calculate remaining slack1→3 is feasible3→1 is not feasible
21Challenge the future
Activities using common resourcesApply heuristic procedure
1 2
3 4 5
7 8
6
10 80
21 15 5 20
16 23
Project Make Span 100
=10
=21
=16
=10
=39
=61
=10: Slack = 39 – 10 = 29
1. Identify options to sequence two activities and calculate remaining slack1→3 results in slack = 29
22Challenge the future
Activities using common resourcesApply heuristic procedure
1 2
3 4 5
7 8
6
10 80
21 15 5 20
16 23
Project Make Span 100
=10
=21
=16
=10
=39
=61
1. Identify options to sequence two activities and calculate remaining slack1→7 is feasible7→1 is not feasible
23Challenge the future
Activities using common resourcesApply heuristic procedure
1 2
3 4 5
7 8
6
10 80
21 15 5 20
16 23
Project Make Span 100
=10
=21
=16
=10
=39
=61=10: Slack = 61 – 10 = 51
1. Identify options to sequence two activities and calculate remaining slack1→7 results in slack = 51
24Challenge the future
Activities using common resourcesApply heuristic procedure
1 2
3 4 5
7 8
6
10 80
21 15 5 20
16 23
Project Make Span 100
=10
=21
=16
=10
=39
=61
1. Identify options to sequence two activities and calculate remaining slack3→7 is feasible7→3 is feasible
25Challenge the future
Activities using common resourcesApply heuristic procedure
1 2
3 4 5
7 8
6
10 80
21 15 5 20
16 23
Project Make Span 100
=10
=21
=16
=10
=39
=61
=16: Slack = 39 – 16 = 23
=21: Slack = 61 – 21 = 40
1. Identify options to sequence two activities and calculate remaining slack3→7 results in slack = 407→3 results in slack = 23Total slack = 63
26Challenge the future
Activities using common resourcesApply heuristic procedure
1 2
3 4 5
7 8
6
10 80
21 15 5 20
16 23
Project Make Span 100
=10
=31
=16
=10
=39
=61
1. Identify options to sequence two activities and calculate remaining slack2. Choose most constrained sequence, post constraint, and update distance matrix
1→3
27Challenge the future
Activities using common resourcesApply heuristic procedure
1 2
3 4 5
7 8
6
10 80
21 15 5 20
16 23
Project Make Span 100
=10
=31
=16
=10
=39
=61
1. Identify options to sequence two activities and calculate remaining slack2. Choose most constrained sequence, post constraint, and update distance matrix3. Repeat until resource conflict is resolved
28Challenge the future
Activities using common resourcesApply heuristic procedure
1 2
3 4 5
7 8
6
10 80
21 15 5 20
16 23
Project Make Span 100
=10
=31
=47
=10
=39
=61
1. Identify options to sequence two activities and calculate remaining slack2. Choose most constrained sequence, post constraint, and update distance matrix3. Repeat until resource conflict is resolved
29Challenge the future
Activities using common resourcesDecouple activity sets
1 2
3 4 5
7 8
6
10 80
21 15 5 20
16 23
=10
=30
=61
=0;
=20;
=51;
See procedure described earlier
Agent 1
Agent 2
Agent 3
30Challenge the future
Activities using common resourcesFind critical path
Distance matrix
e1
e3
4
3
e2 5
Project Make Span
Add and calculate distance matrix
0 ∞ ∞ ∞ ∞ ∞ ∞ ∞
0 0 4 ∞ ∞ ∞ ∞ ∞
-4 -4 0 ∞ ∞ ∞ ∞ ∞
-4 -4 0 0 5 ∞ ∞ ∞
-9 -9 -5 -5 0 ∞ ∞ ∞
0 ∞ ∞ ∞ ∞ 0 3 ∞
-3 ∞ ∞ ∞ ∞ -3 0 ∞
-9 9 5 5 0 3 0 0
31Challenge the future
Activities using common resourcesFind critical path
e1
e3
4
3
e2 5
0 ∞ ∞ ∞ ∞ ∞ ∞ ∞
0 0 4 ∞ ∞ ∞ ∞ ∞
-4 -4 0 ∞ ∞ ∞ ∞ ∞
-4 -4 0 0 5 ∞ ∞ ∞
-9 -9 -5 -5 0 ∞ ∞ ∞
0 ∞ ∞ ∞ ∞ 0 3 ∞
-3 ∞ ∞ ∞ ∞ -3 0 ∞
-9 9 5 5 0 3 0 0
Distance matrix
Project Make Span 9
∞
Determine minimal make span
32Challenge the future
Activities using common resourcesFind critical path
e1
e3
4
3
e2 5
Distance matrix
Add constraint → , set its value equal to minimal make span, and update distance matrix
0 0 0 4 4 6 9
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
0 0 4 4 9 0 3 9
-3 3 1 1 6 -3 0 6
-9 9 5 5 0 3 0 0
Project Make Span 9
33Challenge the future
Activities using common resourcesFind critical path
e1
e3
4
3
e2 5
Distance matrix
Identify critical path(s) and its set of activities
0 0 0 4 4 6 9
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
0 0 4 4 9 0 3 9
-3 3 1 1 6 -3 0 6
-9 9 5 5 0 3 0 0
Project Make Span 9
34Challenge the future
Activities using common resourcesShifting Bottleneck Heuristic
e1 e2
e3 e4 e5
e7 e8
e6 61
10 15
21 15 5 20
16 23 Common resource
Critical path
1. Identify the project make span
35Challenge the future
Activities using common resourcesShifting Bottleneck Heuristic
e1 e2
e3 e4 e5
e7 e8
e6
10 15
21 15 5 20
16 23
Project Make Span 61
=46
=21
=38
1. Identify the project make span2. Add make span constraint and update distance matrix
Common resource
Critical path
36Challenge the future
Activities using common resourcesShifting Bottleneck Heuristic
e1 e2
e3 e4 e5
e7 e8
e6
10 15
21 15 5 20
16 23
Project Make Span 71
10 46 36
31 21
47 38 9
1. Identify the project make span2. Add make span constraint and update distance matrix3. Sequence competing activities and calculate smallest maximum lateness on each unscheduled resource
e1→e3→e7 gives lateness 10 for activity e3
37Challenge the future
Activities using common resourcesShifting Bottleneck Heuristic
e1 e2
e3 e4 e5
e7 e8
e6
10 15
21 15 5 20
16 23
Project Make Span 70
31 46 15
21 21 0
47 38
1. Identify the project make span2. Add make span constraint and update distance matrix3. Sequence competing activities and calculate smallest maximum lateness on each unscheduled resource
e3→e1→e7 gives lateness 9 for activity e7
38Challenge the future
Activities using common resourcesShifting Bottleneck Heuristic
e1 e2
e3 e4 e5
e7 e8
e6
10 15
21 15 5 20
16 23
Project Make Span 62
47 46
21 21 0
37 38 1
1. Identify the project make span2. Add make span constraint and update distance matrix3. 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
39Challenge the future
Activities using common resourcesShifting Bottleneck Heuristic
e1 e2
e3 e4 e5
e7 e8
e6
21 15 5 20
16 23
Project Make Span 62
1. Identify the project make span2. Add make span constraint and update distance matrix3. 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 resource4. Choose resource with largest lateness, add related constraints, and update distance matrix
10 15
40Challenge the future
Activities using common resourcesShifting Bottleneck Heuristic
e1 e2
e3 e4 e5
e7 e8
e6
21 15 5 20
16 23
Project Make Span 62
1. Identify the project make span2. Add make span constraint and update distance matrix3. 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 resource4. Choose resource with largest lateness, add related constraints, and update distance matrix5. Repeat until all resources are scheduled
10 15
41Challenge the future
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
42Challenge the future
Classification of DDM Systems
ConstructionalDDM Systems
OrganizationalDDM Systems
AntagonisticHierarchical
DDM Systems
PrincipalAgent
DDM Systems
Negotiations(Compromise)
Negotiations(Conflict
resolution)
FurtherGame theoretic
settings
Conflict freeEnforced
Team
OneCoordinating
Decision
SeveralCoordinating
Decisions
Team Non-Team
OneDMU
SeveralDMUs
Decision TimeHierarchy
LeadershipHierarchy
Symmetric information
Asymmetric information
Single DMU
Multiple DMU (Christoph Schneeweiss, 2003)
43Challenge the future
ExampleTrain Maintenance Scheduling
44Challenge the future
System Architecture:Anticipating Autonomy & Change
ConfigurationData
MaintenanceManagement
System
Maintenance Engineering
Data
ConditionMonitoring
System
Train Agents System
ConfigurationData
MaintenanceManagement
System
Maintenance Engineering
Data
ConditionMonitoring
System
Depot Agents System
ConfigurationData
TrafficManagement
System
TimeSchedule
Data
TrafficData
Routing Agent System
Routing opportunities
Coordinatingmessages
Routing Commitments
Arrival and Job Commitments
Sensor Data andObservations
DepotPlanner
TrafficController
Coordination is managing dependencies between activities.(Malone and Crowston, 1994)
Multi-Agent Environment: Agents support staff in their decision making.
45Challenge the future
System Architecture:Anticipating Autonomy & Change
ConfigurationData
MaintenanceManagement
System
Maintenance Engineering
Data
ConditionMonitoring
System
Train Agents System
ConfigurationData
MaintenanceManagement
System
Maintenance Engineering
Data
ConditionMonitoring
System
Depot Agents System
ConfigurationData
TrafficManagement
System
TimeSchedule
Data
TrafficData
Routing Agent System
Routing opportunities
Coordinatingmessages
Routing Commitments
Arrival and Job Commitments
Sensor Data andObservations
DepotPlanner
TrafficController
Resource Problem Routing Problem
Job Scheduling Problem
Coordination of connected decisions
Optimization ProblemFeasibility Problem
46Challenge the future
Hierarchical Multi-level Coordination Problem
Routing Agent
Train Agent
Depot Agent
Train Agent Train AgentTrain AgentTrain Agent
Depot Agent
NetworkAgent
47Challenge the future
Routing Agent Problem
24:0023:0022:0021:0020:0019:00 01:00 02:00 03:00
(cf. Maróti and Kroon, 2005)
Example: Train agent will arrive at depot at 01:00 by path (slot) .
48Challenge the future
Train Agent Decision Problem
:
Due date job 2
Resource need job 3
Time slots available for the train to visit depot
49Challenge the future
Train Agent Decision
:
,, , ,, , = 1
= 1
50Challenge the future
Depot Agent Decision Problem
:
1
2
3
4
5
Routing violation!
Resource constraint violation!
51Challenge the future
Thank you for your attention!
EASSS Valencia May 2012
ReferencesAlwan, A.; Ibrahim, H.; and Udzir, N. I. 2009. Improved integrity constraints checking in distributed databases by exploiting local checking. Journal of Computer Science and Technology 24(4):665–674.
Buzing, P.C. and A.W. ter Mors and J.M. Valk and C. Witteveen (2006). Coordinating Self-Interested Planning Agents. Autonomous Agents and Multi-Agent Systems 12(2):199--218.
Brambilla, A., M Lavagna, A coordination mechanism to solve common resource contention in multi agent space systems, International Symposium on Artificial Intelligence, Robotics and Automation in Space-iSAIRAS pp. 26–29, 2008.
Brodsky, A.; Kerschberg, L.; and Varas, S. Opti- mal constraint decomposition for distributed databases. In Maher, M. J., ed., Advances in Computer Science - ASIAN 2004, volume 3321 of Lecture Notes in Computer Science, 301–319. Springer, 2004.
Cesta, A, A Oddi, SF Smith, Profile based algorithms to solve multiple capacitated metric scheduling problems, Proceedings of ICAPS-98, 214–223
A Cesta, A Oddi, SF Smith, A constraint-based method for project scheduling with time windows, Journal of Heuristics 8 (1), 109-136.
Dechter, R. 2003. Constraint Processing. Morgan Kauf- mann Publishers.
L. Hunsberger, Distributing the control of a temporal network among multiple agents, Proceedings of the AAMAS, pp 899-906, 2003
L. Hunsberger, Algorithms for a temporal decoupling problem in multi-agent planning, Proceedings of the AAAI, 2002.
L. Hunsberger. 2008. A Practical Temporal Constraint Management System for Real-Time Applications. In Proceedings of European Conference on Artificial Intelligence (ECAI-2008).
P. van Leeuwen, C. Witteveen, Temporal Decoupling and Determining Resource Needs of Autonomous Agents in the Airport Turnaround Process, IAT2009,pp. 185-192, 2009.
Michael Pinedo, Scheduling, Theory, Algorithms, and Systems, Springer Verlag, 4th Edition, 2012
.
1
EASSS Valencia May 2012
ReferencesLeon Planken, Mathijs de Weerdt, Cees Witteveen (2010). Optimal Temporal Decoupling in Multiagent Systems. In Van der Hoek and Kaminka and Lesperance and Luck and Sen (Eds.). Proceedings of the Ninth International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS-10), pp. 789-796, Toronto.
Smith, S.F., "Is Scheduling a Solved Problem?", Proceedings First Multi-Disciplinary International Conference on Scheduling: Theory and Applications (MISTA 03), Nottingham, UK, 2003
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.
2
W. van der Hoek, C. Witteveen, and M. Wooldridge. Decomposing Constraint Systems. In Proceedings of the Tenth International Conference on Autonomous Agents and Multi-Agent Systems (AAMAS-2011). Taipei, Taiwan, May 2011.
Witteveen, C., W. van der Hoek and N. Roos (2009). Concurrently Decomposable Constraint Systems. In L.Braubach et al. (Eds.). Multiagent System Technologies, 7th German Conference, MATES Multiagent System Technologies MATES 2009, pp. 153-164.