Applying Geometric Thick Paths to Compute the Number of Additional - - PowerPoint PPT Presentation

applying geometric thick paths to compute the number of
SMART_READER_LITE
LIVE PREVIEW

Applying Geometric Thick Paths to Compute the Number of Additional - - PowerPoint PPT Presentation

Applying Geometric Thick Paths to Compute the Number of Additional Train Paths in a Railway Timetable Anders Peterson Valentin Polishchuk Christiane Schmidt Introduction Routing a Maximum Number of Thick Paths through a


slide-1
SLIDE 1

Applying Geometric Thick Paths to Compute the Number of Additional Train Paths in a Railway Timetable

Anders Peterson Valentin Polishchuk Christiane Schmidt

slide-2
SLIDE 2

17.06.2019 RailNorrköping 2019 2

Introduction Routing a Maximum Number of Thick Paths through a Polygonal Domain Thick Paths with Limited Slope Construction of Polygonal Domain from the Timetable Example Conclusion and Outlook

slide-3
SLIDE 3

17.06.2019 RailNorrköping 2019 3

slide-4
SLIDE 4

17.06.2019 RailNorrköping 2019 3

  • Marshalling yards: completed trains occupy highly demanded space until departure
slide-5
SLIDE 5

17.06.2019 RailNorrköping 2019 3

  • Marshalling yards: completed trains occupy highly demanded space until departure

➡ Depart ahead of schedule?

slide-6
SLIDE 6

17.06.2019 RailNorrköping 2019 3

  • Marshalling yards: completed trains occupy highly demanded space until departure

➡ Depart ahead of schedule? ➡ Should not contribute to congestion—ensure train path to the destination available

slide-7
SLIDE 7

17.06.2019 RailNorrköping 2019 3

  • Marshalling yards: completed trains occupy highly demanded space until departure

➡ Depart ahead of schedule? ➡ Should not contribute to congestion—ensure train path to the destination available ➡ Here: what if we want to add several additional trains?

slide-8
SLIDE 8

17.06.2019 RailNorrköping 2019 3

  • Marshalling yards: completed trains occupy highly demanded space until departure

➡ Depart ahead of schedule? ➡ Should not contribute to congestion—ensure train path to the destination available ➡ Here: what if we want to add several additional trains? ➡ Leave existing (passenger) traffic unaffected

slide-9
SLIDE 9

17.06.2019 RailNorrköping 2019 3

  • Marshalling yards: completed trains occupy highly demanded space until departure

➡ Depart ahead of schedule? ➡ Should not contribute to congestion—ensure train path to the destination available ➡ Here: what if we want to add several additional trains? ➡ Leave existing (passenger) traffic unaffected ➡ Q: How many can we add?

slide-10
SLIDE 10

17.06.2019 RailNorrköping 2019 3

  • Marshalling yards: completed trains occupy highly demanded space until departure

➡ Depart ahead of schedule? ➡ Should not contribute to congestion—ensure train path to the destination available ➡ Here: what if we want to add several additional trains? ➡ Leave existing (passenger) traffic unaffected ➡ Q: How many can we add? ➡ Residual capacity for additional train paths in a given time window

slide-11
SLIDE 11

17.06.2019 RailNorrköping 2019 3

  • Marshalling yards: completed trains occupy highly demanded space until departure

➡ Depart ahead of schedule? ➡ Should not contribute to congestion—ensure train path to the destination available ➡ Here: what if we want to add several additional trains? ➡ Leave existing (passenger) traffic unaffected ➡ Q: How many can we add? ➡ Residual capacity for additional train paths in a given time window

  • UIC compression technique for computing capacity utilization:
slide-12
SLIDE 12

17.06.2019 RailNorrköping 2019 3

  • Marshalling yards: completed trains occupy highly demanded space until departure

➡ Depart ahead of schedule? ➡ Should not contribute to congestion—ensure train path to the destination available ➡ Here: what if we want to add several additional trains? ➡ Leave existing (passenger) traffic unaffected ➡ Q: How many can we add? ➡ Residual capacity for additional train paths in a given time window

  • UIC compression technique for computing capacity utilization:
  • Compresses the timetable: existing train paths on the considered line section are

shifted as close together as possible

slide-13
SLIDE 13

17.06.2019 RailNorrköping 2019 3

  • Marshalling yards: completed trains occupy highly demanded space until departure

➡ Depart ahead of schedule? ➡ Should not contribute to congestion—ensure train path to the destination available ➡ Here: what if we want to add several additional trains? ➡ Leave existing (passenger) traffic unaffected ➡ Q: How many can we add? ➡ Residual capacity for additional train paths in a given time window

  • UIC compression technique for computing capacity utilization:
  • Compresses the timetable: existing train paths on the considered line section are

shifted as close together as possible ➡ Trains no longer considered at the time at which they actually run

slide-14
SLIDE 14

17.06.2019 RailNorrköping 2019 3

  • Marshalling yards: completed trains occupy highly demanded space until departure

➡ Depart ahead of schedule? ➡ Should not contribute to congestion—ensure train path to the destination available ➡ Here: what if we want to add several additional trains? ➡ Leave existing (passenger) traffic unaffected ➡ Q: How many can we add? ➡ Residual capacity for additional train paths in a given time window

  • UIC compression technique for computing capacity utilization:
  • Compresses the timetable: existing train paths on the considered line section are

shifted as close together as possible ➡ Trains no longer considered at the time at which they actually run

  • Saturation problem:
slide-15
SLIDE 15

17.06.2019 RailNorrköping 2019 3

  • Marshalling yards: completed trains occupy highly demanded space until departure

➡ Depart ahead of schedule? ➡ Should not contribute to congestion—ensure train path to the destination available ➡ Here: what if we want to add several additional trains? ➡ Leave existing (passenger) traffic unaffected ➡ Q: How many can we add? ➡ Residual capacity for additional train paths in a given time window

  • UIC compression technique for computing capacity utilization:
  • Compresses the timetable: existing train paths on the considered line section are

shifted as close together as possible ➡ Trains no longer considered at the time at which they actually run

  • Saturation problem:

Given: Existing (possibly empty) timetable, a set of saturation trains

slide-16
SLIDE 16

17.06.2019 RailNorrköping 2019 3

  • Marshalling yards: completed trains occupy highly demanded space until departure

➡ Depart ahead of schedule? ➡ Should not contribute to congestion—ensure train path to the destination available ➡ Here: what if we want to add several additional trains? ➡ Leave existing (passenger) traffic unaffected ➡ Q: How many can we add? ➡ Residual capacity for additional train paths in a given time window

  • UIC compression technique for computing capacity utilization:
  • Compresses the timetable: existing train paths on the considered line section are

shifted as close together as possible ➡ Trains no longer considered at the time at which they actually run

  • Saturation problem:

Given: Existing (possibly empty) timetable, a set of saturation trains Goal: Add as many trains as possible

slide-17
SLIDE 17

17.06.2019 RailNorrköping 2019 3

  • Marshalling yards: completed trains occupy highly demanded space until departure

➡ Depart ahead of schedule? ➡ Should not contribute to congestion—ensure train path to the destination available ➡ Here: what if we want to add several additional trains? ➡ Leave existing (passenger) traffic unaffected ➡ Q: How many can we add? ➡ Residual capacity for additional train paths in a given time window

  • UIC compression technique for computing capacity utilization:
  • Compresses the timetable: existing train paths on the considered line section are

shifted as close together as possible ➡ Trains no longer considered at the time at which they actually run

  • Saturation problem:

Given: Existing (possibly empty) timetable, a set of saturation trains Goal: Add as many trains as possible

  • Various train types considered
slide-18
SLIDE 18

17.06.2019 RailNorrköping 2019 3

  • Marshalling yards: completed trains occupy highly demanded space until departure

➡ Depart ahead of schedule? ➡ Should not contribute to congestion—ensure train path to the destination available ➡ Here: what if we want to add several additional trains? ➡ Leave existing (passenger) traffic unaffected ➡ Q: How many can we add? ➡ Residual capacity for additional train paths in a given time window

  • UIC compression technique for computing capacity utilization:
  • Compresses the timetable: existing train paths on the considered line section are

shifted as close together as possible ➡ Trains no longer considered at the time at which they actually run

  • Saturation problem:

Given: Existing (possibly empty) timetable, a set of saturation trains Goal: Add as many trains as possible

  • Various train types considered
  • Solved with heuristics (CAPRES) or MILP (Pellegrini et al., 2017)
slide-19
SLIDE 19

17.06.2019 RailNorrköping 2019 3

  • Marshalling yards: completed trains occupy highly demanded space until departure

➡ Depart ahead of schedule? ➡ Should not contribute to congestion—ensure train path to the destination available ➡ Here: what if we want to add several additional trains? ➡ Leave existing (passenger) traffic unaffected ➡ Q: How many can we add? ➡ Residual capacity for additional train paths in a given time window

  • UIC compression technique for computing capacity utilization:
  • Compresses the timetable: existing train paths on the considered line section are

shifted as close together as possible ➡ Trains no longer considered at the time at which they actually run

  • Saturation problem:

Given: Existing (possibly empty) timetable, a set of saturation trains Goal: Add as many trains as possible

  • Various train types considered
  • Solved with heuristics (CAPRES) or MILP (Pellegrini et al., 2017)
  • We:
slide-20
SLIDE 20

17.06.2019 RailNorrköping 2019 3

  • Marshalling yards: completed trains occupy highly demanded space until departure

➡ Depart ahead of schedule? ➡ Should not contribute to congestion—ensure train path to the destination available ➡ Here: what if we want to add several additional trains? ➡ Leave existing (passenger) traffic unaffected ➡ Q: How many can we add? ➡ Residual capacity for additional train paths in a given time window

  • UIC compression technique for computing capacity utilization:
  • Compresses the timetable: existing train paths on the considered line section are

shifted as close together as possible ➡ Trains no longer considered at the time at which they actually run

  • Saturation problem:

Given: Existing (possibly empty) timetable, a set of saturation trains Goal: Add as many trains as possible

  • Various train types considered
  • Solved with heuristics (CAPRES) or MILP (Pellegrini et al., 2017)
  • We:
  • Consider a single type (outlook on several types given)
slide-21
SLIDE 21

17.06.2019 RailNorrköping 2019 3

  • Marshalling yards: completed trains occupy highly demanded space until departure

➡ Depart ahead of schedule? ➡ Should not contribute to congestion—ensure train path to the destination available ➡ Here: what if we want to add several additional trains? ➡ Leave existing (passenger) traffic unaffected ➡ Q: How many can we add? ➡ Residual capacity for additional train paths in a given time window

  • UIC compression technique for computing capacity utilization:
  • Compresses the timetable: existing train paths on the considered line section are

shifted as close together as possible ➡ Trains no longer considered at the time at which they actually run

  • Saturation problem:

Given: Existing (possibly empty) timetable, a set of saturation trains Goal: Add as many trains as possible

  • Various train types considered
  • Solved with heuristics (CAPRES) or MILP (Pellegrini et al., 2017)
  • We:
  • Consider a single type (outlook on several types given)
  • Aim to disturb passenger traffic as little as possible—trade-off with temporal distance

to other trains

slide-22
SLIDE 22

17.06.2019 RailNorrköping 2019 3

  • Marshalling yards: completed trains occupy highly demanded space until departure

➡ Depart ahead of schedule? ➡ Should not contribute to congestion—ensure train path to the destination available ➡ Here: what if we want to add several additional trains? ➡ Leave existing (passenger) traffic unaffected ➡ Q: How many can we add? ➡ Residual capacity for additional train paths in a given time window

  • UIC compression technique for computing capacity utilization:
  • Compresses the timetable: existing train paths on the considered line section are

shifted as close together as possible ➡ Trains no longer considered at the time at which they actually run

  • Saturation problem:

Given: Existing (possibly empty) timetable, a set of saturation trains Goal: Add as many trains as possible

  • Various train types considered
  • Solved with heuristics (CAPRES) or MILP (Pellegrini et al., 2017)
  • We:
  • Consider a single type (outlook on several types given)
  • Aim to disturb passenger traffic as little as possible—trade-off with temporal distance

to other trains

  • We present optimal solution
slide-23
SLIDE 23

17.06.2019 RailNorrköping 2019 4

Existing trains Additional trains: need to keep temporal distance

slide-24
SLIDE 24

17.06.2019 RailNorrköping 2019 4

Existing trains Additional trains: need to keep temporal distance ➡ Thick paths instead of lines

slide-25
SLIDE 25

17.06.2019 RailNorrköping 2019 4

Existing trains Additional trains: need to keep temporal distance ➡ Thick paths instead of lines

slide-26
SLIDE 26

17.06.2019 RailNorrköping 2019 5

slide-27
SLIDE 27

17.06.2019 RailNorrköping 2019 5

  • We consider the time-space diagram—the geometric representation
slide-28
SLIDE 28

17.06.2019 RailNorrköping 2019 5

  • We consider the time-space diagram—the geometric representation
  • Inserting a new train: Route path from start to end station
slide-29
SLIDE 29

17.06.2019 RailNorrköping 2019 5

  • We consider the time-space diagram—the geometric representation
  • Inserting a new train: Route path from start to end station
  • Paths not arbitrarily close ⇨ temporal distance (different to trains running in same or opposite

direction)

slide-30
SLIDE 30

17.06.2019 RailNorrköping 2019 5

  • We consider the time-space diagram—the geometric representation
  • Inserting a new train: Route path from start to end station
  • Paths not arbitrarily close ⇨ temporal distance (different to trains running in same or opposite

direction)

  • We think of train paths as “blown-up” line segments = thick paths
slide-31
SLIDE 31

17.06.2019 RailNorrköping 2019 5

  • We consider the time-space diagram—the geometric representation
  • Inserting a new train: Route path from start to end station
  • Paths not arbitrarily close ⇨ temporal distance (different to trains running in same or opposite

direction)

  • We think of train paths as “blown-up” line segments = thick paths
  • Blown up by temporal distance (can be minimum, or more)
slide-32
SLIDE 32

17.06.2019 RailNorrköping 2019 5

  • We consider the time-space diagram—the geometric representation
  • Inserting a new train: Route path from start to end station
  • Paths not arbitrarily close ⇨ temporal distance (different to trains running in same or opposite

direction)

  • We think of train paths as “blown-up” line segments = thick paths
  • Blown up by temporal distance (can be minimum, or more)
  • How to route those thick paths? Concepts from Computational Geometry
slide-33
SLIDE 33

17.06.2019 RailNorrköping 2019 5

  • We consider the time-space diagram—the geometric representation
  • Inserting a new train: Route path from start to end station
  • Paths not arbitrarily close ⇨ temporal distance (different to trains running in same or opposite

direction)

  • We think of train paths as “blown-up” line segments = thick paths
  • Blown up by temporal distance (can be minimum, or more)
  • How to route those thick paths? Concepts from Computational Geometry
  • Need to make some adaptations, for example, if stations are lines, no path could cross these
slide-34
SLIDE 34

17.06.2019 RailNorrköping 2019 5

  • We consider the time-space diagram—the geometric representation
  • Inserting a new train: Route path from start to end station
  • Paths not arbitrarily close ⇨ temporal distance (different to trains running in same or opposite

direction)

  • We think of train paths as “blown-up” line segments = thick paths
  • Blown up by temporal distance (can be minimum, or more)
  • How to route those thick paths? Concepts from Computational Geometry
  • Need to make some adaptations, for example, if stations are lines, no path could cross these

➡ 1. Show how to construct the appropriate polygonal domain

slide-35
SLIDE 35

17.06.2019 RailNorrköping 2019 5

  • We consider the time-space diagram—the geometric representation
  • Inserting a new train: Route path from start to end station
  • Paths not arbitrarily close ⇨ temporal distance (different to trains running in same or opposite

direction)

  • We think of train paths as “blown-up” line segments = thick paths
  • Blown up by temporal distance (can be minimum, or more)
  • How to route those thick paths? Concepts from Computational Geometry
  • Need to make some adaptations, for example, if stations are lines, no path could cross these

➡ 1. Show how to construct the appropriate polygonal domain ➡ 2. Show how to route the maximum number of thick non-crossing paths in that domain:

slide-36
SLIDE 36

17.06.2019 RailNorrköping 2019 5

  • We consider the time-space diagram—the geometric representation
  • Inserting a new train: Route path from start to end station
  • Paths not arbitrarily close ⇨ temporal distance (different to trains running in same or opposite

direction)

  • We think of train paths as “blown-up” line segments = thick paths
  • Blown up by temporal distance (can be minimum, or more)
  • How to route those thick paths? Concepts from Computational Geometry
  • Need to make some adaptations, for example, if stations are lines, no path could cross these

➡ 1. Show how to construct the appropriate polygonal domain ➡ 2. Show how to route the maximum number of thick non-crossing paths in that domain:

  • Paths should be x-monotone (we cannot go back in time)
slide-37
SLIDE 37

17.06.2019 RailNorrköping 2019 5

  • We consider the time-space diagram—the geometric representation
  • Inserting a new train: Route path from start to end station
  • Paths not arbitrarily close ⇨ temporal distance (different to trains running in same or opposite

direction)

  • We think of train paths as “blown-up” line segments = thick paths
  • Blown up by temporal distance (can be minimum, or more)
  • How to route those thick paths? Concepts from Computational Geometry
  • Need to make some adaptations, for example, if stations are lines, no path could cross these

➡ 1. Show how to construct the appropriate polygonal domain ➡ 2. Show how to route the maximum number of thick non-crossing paths in that domain:

  • Paths should be x-monotone (we cannot go back in time)
  • Trains have a maximum speed ⇨ paths have a limited slope
slide-38
SLIDE 38

17.06.2019 RailNorrköping 2019 5

  • We consider the time-space diagram—the geometric representation
  • Inserting a new train: Route path from start to end station
  • Paths not arbitrarily close ⇨ temporal distance (different to trains running in same or opposite

direction)

  • We think of train paths as “blown-up” line segments = thick paths
  • Blown up by temporal distance (can be minimum, or more)
  • How to route those thick paths? Concepts from Computational Geometry
  • Need to make some adaptations, for example, if stations are lines, no path could cross these

➡ 1. Show how to construct the appropriate polygonal domain ➡ 2. Show how to route the maximum number of thick non-crossing paths in that domain:

  • Paths should be x-monotone (we cannot go back in time)
  • Trains have a maximum speed ⇨ paths have a limited slope

We start with 2

slide-39
SLIDE 39

17.06.2019 RailNorrköping 2019 6

Routing a Maximum Number of Thick Paths through a Polygonal Domain

slide-40
SLIDE 40

17.06.2019 RailNorrköping 2019 7

slide-41
SLIDE 41

17.06.2019 RailNorrköping 2019 7

Simple polygon P

slide-42
SLIDE 42

17.06.2019 RailNorrköping 2019 7

Simple polygon P Holes

slide-43
SLIDE 43

17.06.2019 RailNorrköping 2019 7

Simple polygon P Holes

Polygonal domain

slide-44
SLIDE 44

17.06.2019 RailNorrköping 2019 7

Simple polygon P Holes

Polygonal domain

Source 𝚫s

slide-45
SLIDE 45

17.06.2019 RailNorrköping 2019 7

Simple polygon P Holes

Polygonal domain

Source 𝚫s Sink 𝚫t

slide-46
SLIDE 46

17.06.2019 RailNorrköping 2019 7

Simple polygon P Holes

Polygonal domain

Source 𝚫s Sink 𝚫t Bottom

slide-47
SLIDE 47

17.06.2019 RailNorrköping 2019 7

Simple polygon P Holes

Polygonal domain

Source 𝚫s Sink 𝚫t Bottom Top

slide-48
SLIDE 48

17.06.2019 RailNorrköping 2019 7

Simple polygon P Holes

Polygonal domain

Source 𝚫s Sink 𝚫t Bottom Top

Route thick paths from the source to the sink, avoiding all holes (=obstacles)

slide-49
SLIDE 49

17.06.2019 RailNorrköping 2019 8

slide-50
SLIDE 50

17.06.2019 RailNorrköping 2019 8

Thin path π: simple curve

slide-51
SLIDE 51

17.06.2019 RailNorrköping 2019 8

Thin path π: simple curve Let Cr denote the open desk of radius r centered at the origin

slide-52
SLIDE 52

17.06.2019 RailNorrköping 2019 8

Thin path π: simple curve Let Cr denote the open desk of radius r centered at the origin For S⊂R2: (S)r=S⊕Cr = {x+y| x∈S, y∈Cr} - Minkowski sum

slide-53
SLIDE 53

17.06.2019 RailNorrköping 2019 8

Thin path π: simple curve Let Cr denote the open desk of radius r centered at the origin For S⊂R2: (S)r=S⊕Cr = {x+y| x∈S, y∈Cr} - Minkowski sum Thick path 𝚸: Minkowski sum of a thin path and a unit disk 𝚸=(π)1

slide-54
SLIDE 54

17.06.2019 RailNorrköping 2019 9

We want:

slide-55
SLIDE 55

17.06.2019 RailNorrköping 2019 9

We want:

  • Maximum number of non crossing thick paths from source to sink
slide-56
SLIDE 56

17.06.2019 RailNorrköping 2019 9

We want:

  • Maximum number of non crossing thick paths from source to sink
  • Paths should avoid all obstacles
slide-57
SLIDE 57

17.06.2019 RailNorrköping 2019 9

We want:

  • Maximum number of non crossing thick paths from source to sink
  • Paths should avoid all obstacles
  • No path runs outside of polygonal domain
slide-58
SLIDE 58

17.06.2019 RailNorrköping 2019 9

We want:

  • Maximum number of non crossing thick paths from source to sink
  • Paths should avoid all obstacles
  • No path runs outside of polygonal domain
  • non-crossing: 𝚸i⋂𝚸j=∅ (interiors disjoint, may share boundary)
slide-59
SLIDE 59

17.06.2019 RailNorrköping 2019 9

We want:

  • Maximum number of non crossing thick paths from source to sink
  • Paths should avoid all obstacles
  • No path runs outside of polygonal domain
  • non-crossing: 𝚸i⋂𝚸j=∅ (interiors disjoint, may share boundary)
  • Need some more concepts (Ω perforated at the source and sinks and Riemann

flaps glued to Ω, …)

slide-60
SLIDE 60

17.06.2019 RailNorrköping 2019 10

slide-61
SLIDE 61

17.06.2019 RailNorrköping 2019 10

Algorithm by Arkin et al. (2010) to compute maximum number of thick paths:

slide-62
SLIDE 62

17.06.2019 RailNorrköping 2019 10

Algorithm by Arkin et al. (2010) to compute maximum number of thick paths:

  • Grass-fire analogy
slide-63
SLIDE 63

17.06.2019 RailNorrköping 2019 10

Algorithm by Arkin et al. (2010) to compute maximum number of thick paths:

  • Grass-fire analogy
  • Free space is grass over which fire travels with speed 1
slide-64
SLIDE 64

17.06.2019 RailNorrköping 2019 10

Algorithm by Arkin et al. (2010) to compute maximum number of thick paths:

  • Grass-fire analogy
  • Free space is grass over which fire travels with speed 1
  • Holes are highly flammable: once ignited, fire moves through them with infinite

speed

slide-65
SLIDE 65

17.06.2019 RailNorrköping 2019 10

Algorithm by Arkin et al. (2010) to compute maximum number of thick paths:

  • Grass-fire analogy
  • Free space is grass over which fire travels with speed 1
  • Holes are highly flammable: once ignited, fire moves through them with infinite

speed

  • We start setting the bottom on fire.
slide-66
SLIDE 66

17.06.2019 RailNorrköping 2019 10

Algorithm by Arkin et al. (2010) to compute maximum number of thick paths:

  • Grass-fire analogy
  • Free space is grass over which fire travels with speed 1
  • Holes are highly flammable: once ignited, fire moves through them with infinite

speed

  • We start setting the bottom on fire.
  • Wavefront at time 𝛖: boundary of burnt grass by time 𝛖
slide-67
SLIDE 67

17.06.2019 RailNorrköping 2019 10

Algorithm by Arkin et al. (2010) to compute maximum number of thick paths:

  • Grass-fire analogy
  • Free space is grass over which fire travels with speed 1
  • Holes are highly flammable: once ignited, fire moves through them with infinite

speed

  • We start setting the bottom on fire.
  • Wavefront at time 𝛖: boundary of burnt grass by time 𝛖
  • Whenever fire burns 2 time units w/o hitting hole —> we can route a thick path

through the burnt grass

slide-68
SLIDE 68

17.06.2019 RailNorrköping 2019 10

Algorithm by Arkin et al. (2010) to compute maximum number of thick paths:

  • Grass-fire analogy
  • Free space is grass over which fire travels with speed 1
  • Holes are highly flammable: once ignited, fire moves through them with infinite

speed

  • We start setting the bottom on fire.
  • Wavefront at time 𝛖: boundary of burnt grass by time 𝛖
  • Whenever fire burns 2 time units w/o hitting hole —> we can route a thick path

through the burnt grass

  • Once path has been routed: wavefront is new bottom, and we start over
slide-69
SLIDE 69

17.06.2019 RailNorrköping 2019 10

Algorithm by Arkin et al. (2010) to compute maximum number of thick paths:

  • Grass-fire analogy
  • Free space is grass over which fire travels with speed 1
  • Holes are highly flammable: once ignited, fire moves through them with infinite

speed

  • We start setting the bottom on fire.
  • Wavefront at time 𝛖: boundary of burnt grass by time 𝛖
  • Whenever fire burns 2 time units w/o hitting hole —> we can route a thick path

through the burnt grass

  • Once path has been routed: wavefront is new bottom, and we start over
  • Some additional tweaks when we hit a hole after 𝛖<2
slide-70
SLIDE 70

17.06.2019 RailNorrköping 2019 11

slide-71
SLIDE 71

17.06.2019 RailNorrköping 2019 11

Polishchuk (2007) extended this to x-monotone paths:

slide-72
SLIDE 72

17.06.2019 RailNorrköping 2019 11

Polishchuk (2007) extended this to x-monotone paths:

  • Need a monotone boundary, if not, add “waterfalls”
slide-73
SLIDE 73

17.06.2019 RailNorrköping 2019 11

Polishchuk (2007) extended this to x-monotone paths:

  • Need a monotone boundary, if not, add “waterfalls”
  • Again, let fire burn
slide-74
SLIDE 74

17.06.2019 RailNorrköping 2019 11

Polishchuk (2007) extended this to x-monotone paths:

  • Need a monotone boundary, if not, add “waterfalls”
  • Again, let fire burn
  • If we hit a hole in the process, outer-monotonize holes using waterfalls
slide-75
SLIDE 75

17.06.2019 RailNorrköping 2019 11

Polishchuk (2007) extended this to x-monotone paths:

  • Need a monotone boundary, if not, add “waterfalls”
  • Again, let fire burn
  • If we hit a hole in the process, outer-monotonize holes using waterfalls
slide-76
SLIDE 76

17.06.2019 RailNorrköping 2019 11

Polishchuk (2007) extended this to x-monotone paths:

  • Need a monotone boundary, if not, add “waterfalls”
  • Again, let fire burn
  • If we hit a hole in the process, outer-monotonize holes using waterfalls
slide-77
SLIDE 77

17.06.2019 RailNorrköping 2019 11

Polishchuk (2007) extended this to x-monotone paths:

  • Need a monotone boundary, if not, add “waterfalls”
  • Again, let fire burn
  • If we hit a hole in the process, outer-monotonize holes using waterfalls
slide-78
SLIDE 78

17.06.2019 RailNorrköping 2019 12

Thick Paths with Limited Slope

slide-79
SLIDE 79

17.06.2019 RailNorrköping 2019 13

We want:

slide-80
SLIDE 80

17.06.2019 RailNorrköping 2019 13

We want:

  • Maximum number of non crossing thick paths from source to sink
slide-81
SLIDE 81

17.06.2019 RailNorrköping 2019 13

We want:

  • Maximum number of non crossing thick paths from source to sink
  • Slope should be within a given cone C
slide-82
SLIDE 82

17.06.2019 RailNorrköping 2019 13

We want:

  • Maximum number of non crossing thick paths from source to sink
  • Slope should be within a given cone C
  • X-monotone
slide-83
SLIDE 83

17.06.2019 RailNorrköping 2019 13

We want:

  • Maximum number of non crossing thick paths from source to sink
  • Slope should be within a given cone C
  • X-monotone
  • Limited speed ⇨ Limited slope
slide-84
SLIDE 84

17.06.2019 RailNorrköping 2019 13

We want:

  • Maximum number of non crossing thick paths from source to sink
  • Slope should be within a given cone C
  • X-monotone
  • Limited speed ⇨ Limited slope
  • We showed how to adapt the waterfall construction to compute the maximum

number of thick non-crossing paths with a given slope range (≙C-respecting)

slide-85
SLIDE 85

17.06.2019 RailNorrköping 2019 13

We want:

  • Maximum number of non crossing thick paths from source to sink
  • Slope should be within a given cone C
  • X-monotone
  • Limited speed ⇨ Limited slope
  • We showed how to adapt the waterfall construction to compute the maximum

number of thick non-crossing paths with a given slope range (≙C-respecting)

slide-86
SLIDE 86

17.06.2019 RailNorrköping 2019 13

We want:

  • Maximum number of non crossing thick paths from source to sink
  • Slope should be within a given cone C
  • X-monotone
  • Limited speed ⇨ Limited slope
  • We showed how to adapt the waterfall construction to compute the maximum

number of thick non-crossing paths with a given slope range (≙C-respecting)

slide-87
SLIDE 87

17.06.2019 RailNorrköping 2019 13

We want:

  • Maximum number of non crossing thick paths from source to sink
  • Slope should be within a given cone C
  • X-monotone
  • Limited speed ⇨ Limited slope
  • We showed how to adapt the waterfall construction to compute the maximum

number of thick non-crossing paths with a given slope range (≙C-respecting)

slide-88
SLIDE 88

17.06.2019 RailNorrköping 2019 13

We want:

  • Maximum number of non crossing thick paths from source to sink
  • Slope should be within a given cone C
  • X-monotone
  • Limited speed ⇨ Limited slope
  • We showed how to adapt the waterfall construction to compute the maximum

number of thick non-crossing paths with a given slope range (≙C-respecting)

slide-89
SLIDE 89

17.06.2019 RailNorrköping 2019 13

We want:

  • Maximum number of non crossing thick paths from source to sink
  • Slope should be within a given cone C
  • X-monotone
  • Limited speed ⇨ Limited slope
  • We showed how to adapt the waterfall construction to compute the maximum

number of thick non-crossing paths with a given slope range (≙C-respecting)

slide-90
SLIDE 90

17.06.2019 RailNorrköping 2019 13

We want:

  • Maximum number of non crossing thick paths from source to sink
  • Slope should be within a given cone C
  • X-monotone
  • Limited speed ⇨ Limited slope
  • We showed how to adapt the waterfall construction to compute the maximum

number of thick non-crossing paths with a given slope range (≙C-respecting)

slide-91
SLIDE 91

17.06.2019 RailNorrköping 2019 13

We want:

  • Maximum number of non crossing thick paths from source to sink
  • Slope should be within a given cone C
  • X-monotone
  • Limited speed ⇨ Limited slope
  • We showed how to adapt the waterfall construction to compute the maximum

number of thick non-crossing paths with a given slope range (≙C-respecting) Theorem: A representation of the maximum number of C-respecting thick-non- crossing paths can be found in O(nh+nlogn) time.

slide-92
SLIDE 92

17.06.2019 RailNorrköping 2019 14

  • We consider the time-space diagram—the geometric representation
  • Inserting a new train: Route path from start to end station
  • Paths not arbitrarily close ⇨ temporal distance (different to trains running in same or opposite

direction)

  • We think of train paths as “blown-up” line segments = thick paths
  • Blown up by temporal distance (can be minimum, or more)
  • How to route those thick paths? Concepts from Computational Geometry
  • Need to make some adaptations, for example, if stations are lines, no path could cross these

➡ 1. Show how to construct the appropriate polygonal domain ➡ 2. Show how to route the maximum number of thick non-crossing paths in that domain:

  • Paths should be x-monotone (we cannot go back in time)
  • Trains have a maximum speed ⇨ paths have a limited slope
slide-93
SLIDE 93

17.06.2019 RailNorrköping 2019 14

  • We consider the time-space diagram—the geometric representation
  • Inserting a new train: Route path from start to end station
  • Paths not arbitrarily close ⇨ temporal distance (different to trains running in same or opposite

direction)

  • We think of train paths as “blown-up” line segments = thick paths
  • Blown up by temporal distance (can be minimum, or more)
  • How to route those thick paths? Concepts from Computational Geometry
  • Need to make some adaptations, for example, if stations are lines, no path could cross these

➡ 1. Show how to construct the appropriate polygonal domain ➡ 2. Show how to route the maximum number of thick non-crossing paths in that domain:

  • Paths should be x-monotone (we cannot go back in time)
  • Trains have a maximum speed ⇨ paths have a limited slope

slide-94
SLIDE 94

17.06.2019 RailNorrköping 2019 14

Still left to do

  • We consider the time-space diagram—the geometric representation
  • Inserting a new train: Route path from start to end station
  • Paths not arbitrarily close ⇨ temporal distance (different to trains running in same or opposite

direction)

  • We think of train paths as “blown-up” line segments = thick paths
  • Blown up by temporal distance (can be minimum, or more)
  • How to route those thick paths? Concepts from Computational Geometry
  • Need to make some adaptations, for example, if stations are lines, no path could cross these

➡ 1. Show how to construct the appropriate polygonal domain ➡ 2. Show how to route the maximum number of thick non-crossing paths in that domain:

  • Paths should be x-monotone (we cannot go back in time)
  • Trains have a maximum speed ⇨ paths have a limited slope

slide-95
SLIDE 95

17.06.2019 RailNorrköping 2019 15

Construction of Polygonal Domain from the Timetable

slide-96
SLIDE 96

17.06.2019 RailNorrköping 2019 16

slide-97
SLIDE 97

17.06.2019 RailNorrköping 2019 16

If we would define the time windows as source and sink

slide-98
SLIDE 98

17.06.2019 RailNorrköping 2019 16

If we would define the time windows as source and sink

slide-99
SLIDE 99

17.06.2019 RailNorrköping 2019 16

If we would define the time windows as source and sink

slide-100
SLIDE 100

17.06.2019 RailNorrköping 2019 16

If we would define the time windows as source and sink ⇨ Possible thick paths would correspond to train paths in a smaller time interval

slide-101
SLIDE 101

17.06.2019 RailNorrköping 2019 16

If we would define the time windows as source and sink ⇨ Possible thick paths would correspond to train paths in a smaller time interval ⇨ Extend the time windows by d/2 to both sides to create 𝚫s and 𝚫t (𝚫s=[p1,p2], 𝚫t=[p3,p4])

slide-102
SLIDE 102

17.06.2019 RailNorrköping 2019 16

If we would define the time windows as source and sink ⇨ Possible thick paths would correspond to train paths in a smaller time interval ⇨ Extend the time windows by d/2 to both sides to create 𝚫s and 𝚫t (𝚫s=[p1,p2], 𝚫t=[p3,p4])

slide-103
SLIDE 103

17.06.2019 RailNorrköping 2019 17

slide-104
SLIDE 104

17.06.2019 RailNorrköping 2019 17

Vertical lines at stations are obstacles

slide-105
SLIDE 105

17.06.2019 RailNorrköping 2019 17

Vertical lines at stations are obstacles ⇨ We need to delete them

slide-106
SLIDE 106

17.06.2019 RailNorrköping 2019 17

Vertical lines at stations are obstacles ⇨ We need to delete them We need to be able to spend some time at a station

slide-107
SLIDE 107

17.06.2019 RailNorrköping 2019 17

Vertical lines at stations are obstacles ⇨ We need to delete them We need to be able to spend some time at a station ⇨ “Cut” each station open and blow up by vertical distance:

slide-108
SLIDE 108

17.06.2019 RailNorrköping 2019 17

Vertical lines at stations are obstacles ⇨ We need to delete them We need to be able to spend some time at a station ⇨ “Cut” each station open and blow up by vertical distance:

  • If the station s has exactly k sidetracks,

we insert a vertical distance of k*d

slide-109
SLIDE 109

17.06.2019 RailNorrköping 2019 17

Vertical lines at stations are obstacles ⇨ We need to delete them We need to be able to spend some time at a station ⇨ “Cut” each station open and blow up by vertical distance:

  • If the station s has exactly k sidetracks,

we insert a vertical distance of k*d

  • If no such limit exists, we can insert a

vertical distance of min{|𝚫s|+d, |𝚫t|+d}

slide-110
SLIDE 110

17.06.2019 RailNorrköping 2019 17

Vertical lines at stations are obstacles ⇨ We need to delete them We need to be able to spend some time at a station ⇨ “Cut” each station open and blow up by vertical distance:

  • If the station s has exactly k sidetracks,

we insert a vertical distance of k*d

  • If no such limit exists, we can insert a

vertical distance of min{|𝚫s|+d, |𝚫t|+d} But now the time of departure cannot be reached by our paths with limited slope

slide-111
SLIDE 111

17.06.2019 RailNorrköping 2019 17

Vertical lines at stations are obstacles ⇨ We need to delete them We need to be able to spend some time at a station ⇨ “Cut” each station open and blow up by vertical distance:

  • If the station s has exactly k sidetracks,

we insert a vertical distance of k*d

  • If no such limit exists, we can insert a

vertical distance of min{|𝚫s|+d, |𝚫t|+d} But now the time of departure cannot be reached by our paths with limited slope ⇨We need to shift the consecutive stations to the right, such that this path can be reached with limited slope

slide-112
SLIDE 112

17.06.2019 RailNorrköping 2019 18

slide-113
SLIDE 113

17.06.2019 RailNorrköping 2019 19

slide-114
SLIDE 114

17.06.2019 RailNorrköping 2019 19

We need to keep a temporal distance to the existing trains in the timetable

slide-115
SLIDE 115

17.06.2019 RailNorrköping 2019 19

We need to keep a temporal distance to the existing trains in the timetable ⇨ “Blow them up” as polygonal obstacles:

slide-116
SLIDE 116

17.06.2019 RailNorrköping 2019 19

We need to keep a temporal distance to the existing trains in the timetable ⇨ “Blow them up” as polygonal obstacles: Insert the security distance (ds, do)

slide-117
SLIDE 117

17.06.2019 RailNorrköping 2019 19

We need to keep a temporal distance to the existing trains in the timetable ⇨ “Blow them up” as polygonal obstacles: Insert the security distance (ds, do) In the example we used ds=d, d0=d/2

slide-118
SLIDE 118

17.06.2019 RailNorrköping 2019 20

slide-119
SLIDE 119

17.06.2019 RailNorrköping 2019 20

We need to limit our outer polygon:

slide-120
SLIDE 120

17.06.2019 RailNorrköping 2019 20

We need to limit our outer polygon:

  • No train can run earlier than departing

earliest with highest speed

slide-121
SLIDE 121

17.06.2019 RailNorrköping 2019 20

We need to limit our outer polygon:

  • No train can run earlier than departing

earliest with highest speed ⇨ l2

slide-122
SLIDE 122

17.06.2019 RailNorrköping 2019 20

We need to limit our outer polygon:

  • No train can run earlier than departing

earliest with highest speed ⇨ l2

  • No train can run later than arriving latest

with highest speed

slide-123
SLIDE 123

17.06.2019 RailNorrköping 2019 20

We need to limit our outer polygon:

  • No train can run earlier than departing

earliest with highest speed ⇨ l2

  • No train can run later than arriving latest

with highest speed ⇨ l1

slide-124
SLIDE 124

17.06.2019 RailNorrköping 2019 20

We need to limit our outer polygon:

  • No train can run earlier than departing

earliest with highest speed ⇨ l2

  • No train can run later than arriving latest

with highest speed ⇨ l1

  • Some further boundary parts
slide-125
SLIDE 125

17.06.2019 RailNorrköping 2019 20

We need to limit our outer polygon:

  • No train can run earlier than departing

earliest with highest speed ⇨ l2

  • No train can run later than arriving latest

with highest speed ⇨ l1

  • Some further boundary parts
  • Intersect holes with boundary

cone: thick path:

slide-126
SLIDE 126

17.06.2019 RailNorrköping 2019 21

Example

slide-127
SLIDE 127

17.06.2019 RailNorrköping 2019 22

cone: thick path:

slide-128
SLIDE 128

17.06.2019 RailNorrköping 2019 22

cone: thick path:

slide-129
SLIDE 129

17.06.2019 RailNorrköping 2019 22

cone: thick path:

slide-130
SLIDE 130

17.06.2019 RailNorrköping 2019 22

cone: thick path:

slide-131
SLIDE 131

17.06.2019 RailNorrköping 2019 22

slide-132
SLIDE 132

17.06.2019 RailNorrköping 2019 23

cone: thick path:

slide-133
SLIDE 133

17.06.2019 RailNorrköping 2019 24

Conclusion and Outlook

slide-134
SLIDE 134

17.06.2019 RailNorrköping 2019 25

slide-135
SLIDE 135

17.06.2019 RailNorrköping 2019 25

  • Paths of Different Thickness (different temporal buffers required):
slide-136
SLIDE 136

17.06.2019 RailNorrköping 2019 25

  • Paths of Different Thickness (different temporal buffers required):
  • NP-hard in general
slide-137
SLIDE 137

17.06.2019 RailNorrköping 2019 25

  • Paths of Different Thickness (different temporal buffers required):
  • NP-hard in general
  • Same algorithm if the order of paths, that is, the order of trains is given
slide-138
SLIDE 138

17.06.2019 RailNorrköping 2019 25

  • Paths of Different Thickness (different temporal buffers required):
  • NP-hard in general
  • Same algorithm if the order of paths, that is, the order of trains is given
  • Paths with Different Cones (different train types)
slide-139
SLIDE 139

17.06.2019 RailNorrköping 2019 25

  • Paths of Different Thickness (different temporal buffers required):
  • NP-hard in general
  • Same algorithm if the order of paths, that is, the order of trains is given
  • Paths with Different Cones (different train types)
  • Again possible with the algorithm if the order of paths/order of trains is

given: We simply make the new bottom respecting each consecutive cone

slide-140
SLIDE 140

17.06.2019 RailNorrköping 2019 25

  • Paths of Different Thickness (different temporal buffers required):
  • NP-hard in general
  • Same algorithm if the order of paths, that is, the order of trains is given
  • Paths with Different Cones (different train types)
  • Again possible with the algorithm if the order of paths/order of trains is

given: We simply make the new bottom respecting each consecutive cone

Outlook

slide-141
SLIDE 141

17.06.2019 RailNorrköping 2019 25

  • Paths of Different Thickness (different temporal buffers required):
  • NP-hard in general
  • Same algorithm if the order of paths, that is, the order of trains is given
  • Paths with Different Cones (different train types)
  • Again possible with the algorithm if the order of paths/order of trains is

given: We simply make the new bottom respecting each consecutive cone

Outlook

  • Application to real-world example
slide-142
SLIDE 142

17.06.2019 RailNorrköping 2019 25

  • Paths of Different Thickness (different temporal buffers required):
  • NP-hard in general
  • Same algorithm if the order of paths, that is, the order of trains is given
  • Paths with Different Cones (different train types)
  • Again possible with the algorithm if the order of paths/order of trains is

given: We simply make the new bottom respecting each consecutive cone

Outlook

  • Application to real-world example
  • What other geometric concepts can be used?
slide-143
SLIDE 143

17.06.2019 RailNorrköping 2019 26

cone: thick path:

THANKS.