applying geometric thick paths to compute the number of
play

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


  1. • 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: � 3 17.06.2019 RailNorrköping 2019

  2. • 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) � 3 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 � 3 17.06.2019 RailNorrköping 2019

  4. • 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 � 3 17.06.2019 RailNorrköping 2019

  5. Existing trains Additional trains: need to keep temporal distance � 4 17.06.2019 RailNorrköping 2019

  6. Existing trains Additional trains: need to keep temporal distance ➡ Thick paths instead of lines � 4 17.06.2019 RailNorrköping 2019

  7. Existing trains Additional trains: need to keep temporal distance ➡ Thick paths instead of lines � 4 17.06.2019 RailNorrköping 2019

  8. � 5 17.06.2019 RailNorrköping 2019

  9. • We consider the time-space diagram—the geometric representation � 5 17.06.2019 RailNorrköping 2019

  10. • We consider the time-space diagram—the geometric representation • Inserting a new train: Route path from start to end station � 5 17.06.2019 RailNorrköping 2019

  11. • 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) � 5 17.06.2019 RailNorrköping 2019

  12. • 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 � 5 17.06.2019 RailNorrköping 2019

  13. • 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) � 5 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 � 5 17.06.2019 RailNorrköping 2019

  15. • 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 � 5 17.06.2019 RailNorrköping 2019

  16. • 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 � 5 17.06.2019 RailNorrköping 2019

  17. • 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: � 5 17.06.2019 RailNorrköping 2019

  18. • 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) � 5 17.06.2019 RailNorrköping 2019

  19. • 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 � 5 17.06.2019 RailNorrköping 2019

  20. • 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 � 5 17.06.2019 RailNorrköping 2019

  21. Routing a Maximum Number of Thick Paths through a Polygonal Domain � 6 17.06.2019 RailNorrköping 2019

  22. � 7 17.06.2019 RailNorrköping 2019

  23. Simple polygon P � 7 17.06.2019 RailNorrköping 2019

  24. Simple polygon P Holes � 7 17.06.2019 RailNorrköping 2019

  25. Simple polygon P Polygonal domain Holes � 7 17.06.2019 RailNorrköping 2019

  26. Simple polygon P Polygonal domain Holes Source 𝚫 s � 7 17.06.2019 RailNorrköping 2019

  27. Simple polygon P Polygonal domain Holes Sink 𝚫 t Source 𝚫 s � 7 17.06.2019 RailNorrköping 2019

  28. Simple polygon P Polygonal domain Holes Sink 𝚫 t Source 𝚫 s Bottom � 7 17.06.2019 RailNorrköping 2019

  29. Top Simple polygon P Polygonal domain Holes Sink 𝚫 t Source 𝚫 s Bottom � 7 17.06.2019 RailNorrköping 2019

  30. Top Simple polygon P Polygonal domain Holes Sink 𝚫 t Source 𝚫 s Bottom Route thick paths from the source to the sink, avoiding all holes (=obstacles) � 7 17.06.2019 RailNorrköping 2019

  31. � 8 17.06.2019 RailNorrköping 2019

  32. Thin path π : simple curve � 8 17.06.2019 RailNorrköping 2019

  33. Thin path π : simple curve Let C r denote the open desk of radius r centered at the origin � 8 17.06.2019 RailNorrköping 2019

  34. Thin path π : simple curve Let C r denote the open desk of radius r centered at the origin For S ⊂ R 2 : (S) r =S ⊕ C r = {x+y| x ∈ S, y ∈ C r } - Minkowski sum � 8 17.06.2019 RailNorrköping 2019

  35. Thin path π : simple curve Let C r denote the open desk of radius r centered at the origin For S ⊂ R 2 : (S) r =S ⊕ C r = {x+y| x ∈ S, y ∈ C r } - Minkowski sum Thick path 𝚸 : Minkowski sum of a thin path and a unit disk 𝚸 =( π ) 1 � 8 17.06.2019 RailNorrköping 2019

  36. We want: � 9 17.06.2019 RailNorrköping 2019

  37. We want: • Maximum number of non crossing thick paths from source to sink � 9 17.06.2019 RailNorrköping 2019

  38. We want: • Maximum number of non crossing thick paths from source to sink • Paths should avoid all obstacles � 9 17.06.2019 RailNorrköping 2019

  39. 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 � 9 17.06.2019 RailNorrköping 2019

  40. 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) � 9 17.06.2019 RailNorrköping 2019

  41. 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 Ω , …) � 9 17.06.2019 RailNorrköping 2019

  42. � 10 17.06.2019 RailNorrköping 2019

  43. Algorithm by Arkin et al. (2010) to compute maximum number of thick paths: � 10 17.06.2019 RailNorrköping 2019

  44. Algorithm by Arkin et al. (2010) to compute maximum number of thick paths: • Grass-fire analogy � 10 17.06.2019 RailNorrköping 2019

  45. 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 � 10 17.06.2019 RailNorrköping 2019

  46. 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 � 10 17.06.2019 RailNorrköping 2019

  47. 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. � 10 17.06.2019 RailNorrköping 2019

  48. 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 𝛖 � 10 17.06.2019 RailNorrköping 2019

  49. 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 � 10 17.06.2019 RailNorrköping 2019

  50. 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 � 10 17.06.2019 RailNorrköping 2019

  51. 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 � 10 17.06.2019 RailNorrköping 2019

  52. � 11 17.06.2019 RailNorrköping 2019

  53. Polishchuk (2007) extended this to x-monotone paths: � 11 17.06.2019 RailNorrköping 2019

  54. Polishchuk (2007) extended this to x-monotone paths: • Need a monotone boundary, if not, add “waterfalls” � 11 17.06.2019 RailNorrköping 2019

  55. Polishchuk (2007) extended this to x-monotone paths: • Need a monotone boundary, if not, add “waterfalls” • Again, let fire burn � 11 17.06.2019 RailNorrköping 2019

  56. 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 � 11 17.06.2019 RailNorrköping 2019

  57. 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 � 11 17.06.2019 RailNorrköping 2019

  58. 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 � 11 17.06.2019 RailNorrköping 2019

  59. 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 � 11 17.06.2019 RailNorrköping 2019

  60. Thick Paths with Limited Slope � 12 17.06.2019 RailNorrköping 2019

  61. We want: � 13 17.06.2019 RailNorrköping 2019

  62. We want: • Maximum number of non crossing thick paths from source to sink � 13 17.06.2019 RailNorrköping 2019

  63. We want: • Maximum number of non crossing thick paths from source to sink • Slope should be within a given cone C � 13 17.06.2019 RailNorrköping 2019

  64. We want: • Maximum number of non crossing thick paths from source to sink • Slope should be within a given cone C - X-monotone � 13 17.06.2019 RailNorrköping 2019

  65. 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 � 13 17.06.2019 RailNorrköping 2019

  66. 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) � 13 17.06.2019 RailNorrköping 2019

  67. 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) � 13 17.06.2019 RailNorrköping 2019

  68. 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) � 13 17.06.2019 RailNorrköping 2019

  69. 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) � 13 17.06.2019 RailNorrköping 2019

  70. 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) � 13 17.06.2019 RailNorrköping 2019

  71. 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) � 13 17.06.2019 RailNorrköping 2019

  72. 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) � 13 17.06.2019 RailNorrköping 2019

  73. 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. � 13 17.06.2019 RailNorrköping 2019

  74. • 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 � 14 17.06.2019 RailNorrköping 2019

  75. • 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 � 14 17.06.2019 RailNorrköping 2019

  76. • 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 Still left to do � 14 17.06.2019 RailNorrköping 2019

  77. Construction of Polygonal Domain from the Timetable � 15 17.06.2019 RailNorrköping 2019

  78. � 16 17.06.2019 RailNorrköping 2019

  79. If we would define the time windows as source and sink � 16 17.06.2019 RailNorrköping 2019

  80. If we would define the time windows as source and sink � 16 17.06.2019 RailNorrköping 2019

  81. If we would define the time windows as source and sink � 16 17.06.2019 RailNorrköping 2019

  82. If we would define the time windows as source and sink ⇨ Possible thick paths would correspond to train paths in a smaller time interval � 16 17.06.2019 RailNorrköping 2019

Recommend


More recommend