1 / 36

Train Scheduling

Train Scheduling. Using Hardware Scheduling Methods. Peter Lieber ECEn 625 2 December 2009. I like trains, trains are cool…. They go fast They follow a predetermined route They can haul an enormous amount of cargo They sound cool I can play with them until I die They just look cool.

thanos
Télécharger la présentation

Train Scheduling

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Train Scheduling Using Hardware Scheduling Methods Peter Lieber ECEn 625 2 December 2009

  2. I like trains, trains are cool… • They go fast • They follow a predetermined route • They can haul an enormous amount of cargo • They sound cool • I can play with them until I die • They just look cool

  3. Public Transit • Schedules: The difference between success and failure • Good Schedule == economical and enjoyable • Bad Schedule == low use and waste of time • Infrastructure: Dictates much of the cost of a system • Analogues to Binding and Area usage in hardware • Better infrastructure can encourage ridership

  4. Public Transit Good Bad

  5. Freight • Schedules: The difference between success and failure • Good Schedule == economical and speed • Bad Schedule == low use and hard to manage • Infrastructure: Dictates much of the cost of a system • Analogues to Binding and Area usage in hardware • Better infrastructure can get trucks off the road

  6. Model Trains • Schedules: The difference between bored kids and fun • Good Schedule == lots to see • Bad Schedule == long waits and short thrills • Infrastructure: Cost? We don’t care, we like trains • Analogues to Binding and Area usage in hardware • Better infrastructure can seem more realistic

  7. Model Trains Good Bad

  8. Goal • Apply what we have learned about hardware scheduling and binding to the train scheduling problem • Use what I learn to enable good scheduling of model trains with the goal of : • As much movement as possible!

  9. Model • Not the trains, the circles and lines • The common way railroad infrastructure is modeled in the literature • Vertices: Railroad stations or important network points • Edges: Tracks connecting these points

  10. Traditional Approach • Develop a model • Determine objective(s) and constraints • Map model into mathematical formulation • Map objectives and constraints into equations • Throw it at an ILP solver • Sound simple?

  11. Traditional Approach - Example • Their parameters:

  12. Traditional Approach - Example • Their parameters:

  13. Traditional Approach - Example • Their parameters:

  14. Traditional Approach - Example • Their parameters:

  15. Traditional Approach - Example • Their decision variables:

  16. Traditional Approach - Example • Their decision variables:

  17. Traditional Approach - Example • Their Objective Equations: • Fuel Consumption Cost

  18. Traditional Approach - Example • Their Objective Equations: • Travel Time Cost

  19. Traditional Approach - Example • Their Constraint Equations

  20. Traditional Approach - Example • Their Constraint Equations

  21. My Approach • Use hardware scheduling concepts to schedule trains • Algorithmic approach rather than ILP • Can we use IMS? • Start with a simple, greedy approach • Move to better algorithms and heuristics

  22. Model • Layout – track configuration • Route – path a train takes on the layout 2 f a b c d e g

  23. Model Route 1: A B C D E D C B Route 2: A B F C G B Route 3: E D C F B G C D Route 4: B F C G B F C G 2 f a b c d e g

  24. Naïve Greedy Algorithm foreach route { t = 0 while route is not done { if step s of route at time t is not occupied schedule the route's next step at time t t++ else wait at time t (stall) t++ } }

  25. Naïve Greedy – Results 2 f a b c d e g

  26. Greedy Algorithm t = 0 while any route's schedule is not done { foreach route that is not done { if the route's next segment is no occupied schedule the route's next step at time t else schedule the route's current step again (stall) } t++ } Problem: we can get into deadlock

  27. Backtracking Greedy Algorithm t = 0 while any route’s schedule is not done { … if all routes stalled { unschedule stalled steps force the first route to schedule next step foreach other route { if the route's next segment is no occupied schedule the route's next step at time t else if the route's current segment is overfull increase capacity of the next segment schedule the route's next step at time t else schedule the route's current step again (stall) } } … }

  28. Backtracking Greedy Algorithm 2 f 2 2 a b c d e g

  29. Restarting BT Greedy Alg t = 0 While any route's schedule is not done { foreach route that is not done { … } if all routes stalled { … foreach other route { if the route's next segment is no occupied schedule the route's next step at time t else if the route's current segment is overfull increase capacity of the next segment restart scheduling with new capacities else schedule the route's current step again (stall) } } t++ }

  30. Restarting BT Greedy Alg 2 f 2 2 a b c d e g

  31. Improvement Attempts • So far, the order of iterating through the routes is not known • Can we order them in such a way to minimize route duration? • Can we order them to maximize movement?

  32. Ordered BT Greedy Algorithm t = 0 while any route's schedule is not done { foreach route that is not done ordered by number of steps left { if the route's next segment is no occupied schedule the route's next step at time t else schedule the route's current step again (stall) } if all routes stalled { … } t++ }

  33. Restarting Ord BT Greedy Alg t = 0 While any route's schedule is not done { foreach route that is not done orderd by number of steps left { … } if all routes stalled { … foreach other route { if the route's next segment is no occupied schedule the route's next step at time t else if the route's current segment is overfull increase capacity of the next segment restart scheduling with new capacities else schedule the route's current step again (stall) } } t++ }

  34. Challenges • Find the right heuristic for route order • Next step is to be less greedy • Big difference from what we are used to: • while an operation of a DG cannot be executed, we usually dont think of it as taking any resources. Under this model, however, the train actually is still using the previous resource. • A TRAIN CANNOT BE NOWHERE!!!

  35. Mapping to IMS • Not only are we resource-constrained, the DGs (routes) are bound already. • The DG is ALL routes combined into one, unconnected, graph • Each station in the layout is a resource type • After running IMS, the required number of each resource is the minimum capacity for that station

  36. Mapping to IMS a b c d e d c b a b f c g b e d c f b g c d b f c g b f c g

More Related