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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend