Job Shop Reformulation of Vehicle Routing Evgeny Selensky University of Glasgow
Details of the Talk PRAS project Problems addressed Two-level Reformulation TSP graph transformations Experiments and results
PRAS project Problem Reformulation and Search Principal Investigator: Patrick Prosser Web site: Industrial collaborator:, France
Why bother? Try to understand problem structure Improve performance of solution techniques
Joint work with Patrick Prosser (University of Glasgow), John Christopher Beck (still ILOG, France but soon Cork Constraint Computation Center, Ireland) –submitted a paper to SARA 2002
Vehicle Routing Problem N identical vehicles of capacity C M customers with demands D i >0 Each vehicle serves subset of customers Side constraints may be present (e.g., time windows, precedence constraints) Find tours for subset of vehicles such that: all customers served, each once one tour per vehicle total distance minimal
Job Shop Scheduling Problem time Earliest start time Latest end time M machines, i = 1..M, M 2 N jobs each of S operations, j = 1..S, of duration d ij j : O ij < O ij+1 (chain-type precedence constraints) j : O ij requires specific resource No preemption Minimise makespan = LatestEnd - EasliestStart Open shop relaxation j : start(O ij ) start(O ij+1 ) Multipurpose machines j : O ij requires alternative resource
Similarities Execution of tasks Tasks use resource(s) and have durations Resources constrained by capacity Sets of alternative resources may exist Setups, temporal constraints on tasks present Solution is an assignment of tasks to resources, start times to tasks Similar minimisation criteria may be specified
Reformulation Machine Vehicle Operation Visit Operation duration Service time Transition time Distance
Previous Studies Scheduling and local search Davenport & Beck alternative resources (up to 8 alternatives) Focacci et al, alternative resources (up to 3 alternatives) and setups Selensky extreme cases of performance of the routing and scheduling techniques (25 alternatives, large setups)
Previous Studies. Outcome Local Search in general is better for routing problems Systematic search in general is better for scheduling problems
Why so huge a difference? Routing Scheduling many alternative resources few (or no) alternative resources large setups, small durations small (or no) setups, large durations few (or no) temporal relationships among activities many temporal relationships among activities (precedence constraints)
This work is the first step towards understanding why this happens
TSP graph transformations Purpose : build part of transition times into operation durations to improve performance of temporal reasoning Based on preservation of cost
Example. Order independent transformation* * Due to J.C.Beck
It preserves cost! Proof. 1. Assume
Possible 4-node cycles: , , , , , Consider : 2. Now let
We can always split any cycle into a set of pairs of 3-node cycles with a common edge and starting node as before Therefore for any n 3. Finally,
Example. Order dependent transformation* Lexicographic ordering of nodes: A,B,C,D * Due to P. Prosser
A Few More Remarks Both transformations change time bounds on operations We don’t know yet how order independent transformation changes time bounds Order dependent transformation makes a symmetric change: –earliest start –latest start
Experiments. Test bed Based on M.Solomon’s suite of 56 VRPTW benchmarks: classes C1, R1, RC1 – small capacities, short TWs classes C2, R2, RC2 – large capacities, wide TWs C1 (9 instances), C2 (8 instances) – clustered distribution of customers R1 (12 instances), R2 (11 instances) – random distribution of customers RC1 (8 instances), RC2 (8 instances) – random- clustered distribution of customers within a class, customer coordinates and demands are identical
Experiments. Tools (i) Scheduler 5.1 Scheduling Technology, core - global constraint propagation: –slack-based heuristics –edge finder –timetable constraints
Experiments. Tools (ii) Dispatcher 3.1 Routing Technology, core - local search –different first solution generation heuristics –plain local search, guided local search, tabu search –path constraints
Experiments. Layout (i) Windows NT, Intel Pentium III 933 MHz, 1Gb RAM Scheduler 5.1 Search for solutions: –Discrepancy Bounded Depth First Search –slack-based heuristics –Max cpu time of 600s Run each instance 4 times using: –No transformation –Lex ordering –MaxMin ordering –MinMin ordering
Experiments. Layout (ii) Windows NT, Intel Pentium III 933 MHz, 1Gb RAM Dispatcher 3.1 Search for solutions: –First solution generation using savings heuristic –Guided Local Search –Max cpu time of 600s Run each instance 4 times using: –No transformation –Lex ordering –MaxMin ordering –MinMin ordering
Scheduler Results Scheduler solutions to Solomon’s benchmarks. Average differences, % of the non-transformed costs. Black - lex, grey - maxmin, white - minmin ordering
Dispatcher Results Dispatcher solutions to Solomon’s benchmarks. Average differences, % of the non-transformed cost. Black - lex, grey - maxmin, white - minmin ordering
Analysis of Results For clustered problems Dispatcher’s performance degrades, Scheduler’s improves as expected Hard to draw any conclusions on the rest problems. We don’t have full control over instance structure. The test bed proved a bit peculiar for these experiments
Future Work Create our own problem generator with the purpose of being able to move from VRP to JSSP smoothly, varying: –width of time windows –customer locations –capacities –vehicle specialisation –precedence constraints on visits –rejection/acceptance of visits on a vehicle
Acknowledgements Thanks to Vincent Furnon ( ) and Barbara Smith (Huddersfield)
Thanks a lot! Any questions?