47
EASSS Valencia May 2012 Temporal ConstraintsTechniques for Autonomous Scheduling a play in 4 parts Cees Witteveen, Algorithmics group, Delft University of Technology, The Netherlands [email protected] Agent Coordination in Planning and Scheduling Cees Witteveen Algorithmics group, Delft University, The Netherlands [email protected] 1 Bob Huisman Algorithmics group & NedTrain Delft University / NedTrain Company, The Netherlands [email protected] EASSS Valencia May 2012 a play in 2 parts 2 Agent Coordination in Planning and Scheduling EASSS Valencia May 2012 Our problem Given 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 joined to a feasible total plan for the original set of tasks. 3 plan coordination problem for autonomous agents EASSS Valencia May 2012 Building a house Several 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 companies using different transport modalities. Airport planning A set of airports handling incoming and outgoing flights each airport wants to make its own plans for arrival, gate-assignment and departure planning. Coordinating service providers at airports A 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

T13Agent coordination in planning and scheduling

Embed Size (px)

DESCRIPTION

14th European Agent Systems Summer School

Citation preview

Page 1: T13Agent coordination in planning and scheduling

EASSS Valencia May 2012

Temporal ConstraintsTechniques

for Autonomous Scheduling

a play in 4 parts

Cees Witteveen,

Algorithmics group,

Delft University of Technology, The Netherlands

[email protected]

Agent Coordination in

Planning and Scheduling

Cees Witteveen

Algorithmics group,

Delft University, The Netherlands

[email protected]

1

Bob Huisman

Algorithmics group & NedTrain

Delft University / NedTrain Company, The Netherlands

[email protected]

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

Page 2: T13Agent coordination in planning and scheduling

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

Page 3: T13Agent coordination in planning and scheduling

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

Page 4: T13Agent coordination in planning and scheduling

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

Page 5: T13Agent coordination in planning and scheduling

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

Page 6: T13Agent coordination in planning and scheduling

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

Page 7: T13Agent coordination in planning and scheduling

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

Page 8: T13Agent coordination in planning and scheduling

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

Page 9: T13Agent coordination in planning and scheduling

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

Page 10: T13Agent coordination in planning and scheduling

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

Page 11: T13Agent coordination in planning and scheduling

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

Page 12: T13Agent coordination in planning and scheduling

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

Page 13: T13Agent coordination in planning and scheduling

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

Page 14: T13Agent coordination in planning and scheduling

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

Page 15: T13Agent coordination in planning and scheduling

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

Page 16: T13Agent coordination in planning and scheduling

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

Page 17: T13Agent coordination in planning and scheduling

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

Page 18: T13Agent coordination in planning and scheduling

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]

Page 19: T13Agent coordination in planning and scheduling

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

Page 20: T13Agent coordination in planning and scheduling

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

Page 21: T13Agent coordination in planning and scheduling

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)

Page 22: T13Agent coordination in planning and scheduling

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

Page 23: T13Agent coordination in planning and scheduling

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

Page 24: T13Agent coordination in planning and scheduling

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!

, . .

: ∈ , ,

: → , . .

Page 25: T13Agent coordination in planning and scheduling

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

Page 26: T13Agent coordination in planning and scheduling

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

Page 27: T13Agent coordination in planning and scheduling

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

Page 28: T13Agent coordination in planning and scheduling

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

Page 29: T13Agent coordination in planning and scheduling

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

Page 30: T13Agent coordination in planning and scheduling

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

Page 31: T13Agent coordination in planning and scheduling

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

Page 32: T13Agent coordination in planning and scheduling

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

Page 33: T13Agent coordination in planning and scheduling

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

Page 34: T13Agent coordination in planning and scheduling

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

Page 35: T13Agent coordination in planning and scheduling

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

Page 36: T13Agent coordination in planning and scheduling

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

Page 37: T13Agent coordination in planning and scheduling

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

Page 38: T13Agent coordination in planning and scheduling

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

Page 39: T13Agent coordination in planning and scheduling

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

Page 40: T13Agent coordination in planning and scheduling

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

Page 41: T13Agent coordination in planning and scheduling

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)

Page 42: T13Agent coordination in planning and scheduling

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.

Page 43: T13Agent coordination in planning and scheduling

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

Page 44: T13Agent coordination in planning and scheduling

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

Page 45: T13Agent coordination in planning and scheduling

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!

Page 46: T13Agent coordination in planning and scheduling

51Challenge the future

Thank you for your attention!

Page 47: T13Agent coordination in planning and scheduling

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.