1 / 25

Vehicle Routing and Job Shop Scheduling: What’s the difference?

Vehicle Routing and Job Shop Scheduling: What’s the difference?. J. Christopher Beck, Patrick Prosser, Evgeny Selensky. What this talk is about. VRP & JSSP are essentially the same (NPC) There are specialised toolkits for VRP and for JSSP e.g. Dispatcher & Scheduler

tareq
Download Presentation

Vehicle Routing and Job Shop Scheduling: What’s the difference?

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. Vehicle Routing and Job Shop Scheduling: What’s the difference? J. Christopher Beck, Patrick Prosser, Evgeny Selensky

  2. What this talk is about • VRP & JSSP are essentially the same (NPC) • There are specialised toolkits for VRP and for JSSP • e.g. Dispatcher & Scheduler • As VRP becomes less pure it looks more like JSSP • As JSSP becomes less pure it looks more like VRP • When should we treat a VRP as if it were a JSSP? • When should we treat a JSSP as if it were a VRP

  3. VRP Objective minimise travel minimise vehicles used Like a TSP but with many salesmen

  4. VRP • Can be richer • time windows on visits • capacity of vehicles • type of vehicle • type of visit • sequencing between visits • minimise time of last visit Like a TSP but with many salesmen

  5. VRP Specialised Tool Kit ILOG Dispatcher Local Search GLS & TS Construction Techniques Savings etc Weak propagation Typically Like a TSP but with many salesmen

  6. JSSP

  7. We have • a set of resources • a set of jobs • a job is a sequence of operations/activities • sequence the activities on the resources

  8. job1 Op1.1 Op1.1 Op1.2 Op1.3 Op1.4 job2 Op2.1 Op2.2 Op2.3 Op2.4 job3 Op3.1 Op3.3 Op3.4 Op3.2 An example: 3 x 4 • We have 4 resources: green, yellow, red and blue • a job is a sequence of operations • each operation is executed on a resource • each resource can do one operation at a time • the duration of an operation is the length of its box

  9. Op1.1 Op1.1 Op1.2 Op1.3 Op1.4 Op2.1 Op2.2 Op2.3 Op2.4 Op3.1 Op3.3 Op3.4 Op3.2 An example: 3 x 4 Op1.2 Op2.1 Op3.4 Op1.1 Op2.3 Op3.1 Op1.3 Op2.2 Op3.3 Op1.4 Op2.4 Op3.2 And so on

  10. Why bother? • Minimise makespan • Maximise start • JIT, minimise inventory levels • minimise idle time on resources • maximise ROI • ...

  11. Variants of jsp • openness: • variety of resources can perform an operation • processing time dependant on resource used • set up costs, between jobs (transition cost) • consumable resources • such as gas, oil, etc • pre-emption • can stop and restart an operation • resource can perform multiple operations simultaneously • batch processing • secondary resources • people, tools, cranes, etc • etc

  12. JSSP Specialised toolkit ILOG Scheduler Depth 1st search or LDS powerful propagation texture based heuristics

  13. JSSP <-> VRP • We can model a jssp as a vrp • resources are vehicles • activities are visits • set up costs between activities are travel between visits • sequence within a job is sequence between visits • but these visits are on different vehicles • minimise completion of latest visit • … and then solve with Dispatcher • NOTE: pure jssp is a weird vrp • We can model a vrp as a jssp • vehicles are resources • visits are activities • distances are set up costs • a job has a single activity/visit • minimise transition times (set ups) • … then solve with Scheduler • NOTE: pure vrp is weird jssp

  14. JSSP <-> VRP VRP JSSP Scheduler Dispatcher ? There is a spectrum of problems As we vary characteristics of problems do we move across the spectrum and make better use other toolkits?

  15. Features we can change for VRP & JSSP • alternative resources • VRP, specialised fleet • JSSP, openness • temporal constraints • VRP, add sequencing constraints between visits • JSSP, remove sequencing constraints between activities • duration to transition time • VRP, increase time at visit and decrease travel between visits • optimisation criterion • VRP, minimise makespan (normally minimise travel & vehicles used) • JSSP, minimise transition times (normally minimise tardiness) • temporal slack • how will this affect technology used? • resource capacity • the number of activities/visits a resource/vehicle can do/make in a solution How do these 6 parameters affect solution technology?

  16. 25 vehicles, 100 visits • VRP -> JSSP • Generate a vrp • solve using Dispatcher, 10 minutes cpu, solution cost Y • solve using Scheduler, 10 minutes cpu, solution cost X • result is X/Y Mutate using one of 6 parameters • JSSP -> VRP • Generate a jssp • solve using Dispatcher, 10 minutes cpu, solution cost Y • solve using Scheduler, 10 minutes cpu, solution cost X • result is X/Y 10 by 10 Mutate using one of 6 parameters The experiments

  17. Pure vrp & pure jssp • VRP • Dispatcher is far better at pure vrp than Scheduler • JSSP • Scheduler is far better at pure jssp than Dispatcher

  18. Alternative resources • VRP • with high vehicle specialisation Dispatcher fails to find solutions • we suspect culprit is the savings heuristic • find first solution with Scheduler then improve with Dispatcher • JSSP • Scheduler dominates Dispatcher • Dispatcher has to start from a Scheduler solution • precedence constraints cripple Dispatcher • as alternative resources increase neighbourhood increases • more failures due to precedence constraints

  19. Resource Capacity • VRP • Dispatcher dominates Scheduler • as we increase vehicle capacity Dispatcher improves (relatively) • a loosening of resource constraints weakens Scheduler’s propagation • ¬JSSP • allow activities to be performed on any machine, i.e. not a JSSP! • vary number of activities a machine can perform (from 100 down to 13) • Scheduler dominates Dispatcher • as capacity increases Scheduler gets even better than Dispatcher • probably because neighbourhood increases • many rejected Dispatcher moves due to precedence constraints

  20. Precedence Constraints • VRP • Dispatcher dominates Scheduler • … but we need to start from a Scheduler solution • Dispatcher degrades relatively as we add precedence constraints • JSSP • When no precedence constraints, we are in P and both find optimal solutions • As we add precedence constraints Dispatcher needs a Scheduler 1st solution • Dispatcher is then gradually dominated by Scheduler

  21. Activity Duration v Transition Time • VRP • Dispatcher dominates Scheduler • varying duration and transition times has little effect • JSSP • Dispatcher dominates as we increase transition times • … but we need to start with Scheduler solution

  22. Optimisation Criterion • VRP minimise makespan • Dispatcher and Scheduler compete • possibly due to propagation through cost function • JSSP minimise transition times • Dispatcher competes with Scheduler • … but we need to start with Scheduler solution

  23. Slack • VRP • Dispatcher dominates Scheduler • As slack decreases Scheduler improves relative to Dispatcher • JSSP • Scheduler dominates • As slack decreases Scheduler finds best solution earlier • of course

  24. Conclusions • Scheduling technology is robust • frequently comes to the rescue in VRP • VRP technology is crippled by precedence constraints • result of initial construction with Savings • Good option is frequently to • initial solution from Scheduler • improve with Dispatcher • Optimisation criteria has profound effect • we guess this is because of how it affect propagation • VRP still looks like a VRP when travel is compressed • good news for urban problems

  25. Know your problem, and understand your technology

More Related