Collaborative Logistics Martin Savelsbergh Ozlem Ergun Gultekin Kuyzu The Logistics Institute Georgia Institute of Technology 35th Annual Conference of the Italian Operations Research Society Lecce, September 7-10, 2004
Outline Motivation Lane Covering Problem Variants of the Lane Covering Problem Gain Sharing
Why Collaborate? Increasing pressure on companies to operate more efficiently Increasing pressure from customers for better service Realization that suppliers, consumers, and even competitors, can be potential collaborative partners in logistics Connectivity provided by the Internet
Trucking Industry Highly fragmented: 100,000+ shipper & 250,000+ Carriers Each shipper plans each shipment with only a handful of carriers Each carrier works with only a handful of shippers U.S. truckload capacity moves empty nearly 20% of the time ($165 billion inefficiency yearly)
Shipper Collaboration Asset repositioning The cost of asset repositioning is included in the price charged by carriers Shipper collaboration By providing continuous moves shippers can negotiate better rates from carriers Increase the opportunities for continuous moves by collaborating
Shipper Collaboration Strategic level Identify regularly scheduled repeatable tours Operational level Identify continuous moves in near real time Focus: Strategic Shipper Collaboration Truckload Shipments
Collaborative Tour Example Chicago Kent Chicago: Land O Lakes packaging vendor Kent: Land O Lakes plant New Jersey: Land O Lakes distribution center New Jersey Nistevo identified another member company with New Jersey Chicago traffic 2.5 % savings of Land O Lakes $40 - $50 million finished goods freight bill Carrier avoids empty movements and uses 1 truck instead of 2
Collaborative Tour Example Green Bay Bangor Buffalo Wells Cedar Rapids Chicago Mechanicsburg Company 1 Company 2 Stand Alone Together Savings $3,821K $3,090K $ 731K 19% Savings Collaborative Results Efficiency gain 19% Driver turnover under 10% Service reliability over 99%
Collaborative Tours Optimization Problem Given a set of lanes, find a minimum cost set of routes covering all lanes Traversing a lane Repositioning
Lane Covering Problem (LCP) Given A complete bidirected graph D=(N,A) A nonnegative cost c ij for each arc (i,j) A subset of arcs L (lane set) Find A set of simple directed cycles (not necessarily disjoint) of minimum total cost covering all arcs in L
Lane Covering Problem LCP can be solved in polynomial time: Solve min-cost network flow problem Decompose the solution into simple cycles
Variants Cardinality constrained lane covering problem Find a set of simple directed cycles containing no more than k arcs covering all arcs in L of minimum total cost Length constrained lane covering problem Find a set of simple directed cycles of length B covering all arcs in L of minimum total cost (where in addition to a cost c ij for each arc we are also given a length l ij for each arc) Both variants are NP-hard
Lane Covering Problems Greedy algorithm: At each iteration choose a feasible cycle C such that (cost of lanes covered in C) / (cost of C) is maximized (Greedy solution of set covering formulation) Greedy algorithm has an approximation ratio of at most 2 The algorithm can always choose a trivial 2- cycle
Lane Covering Problems Bad instance (ratio: 3/2) Greedy Optimal
Dual-Fitting Primal problem Dual problem
Dual-Fitting Dual problem Modified dual problem
Dual-Fitting Greedy algorithm: Initialize Increase all at the same rate When for a cycle we have Freeze and remove the lanes in the cycle from L
Dual-Fitting The cost of the primal solution is equal to the cost of the dual solution The dual solution is not necessarily feasible Find λ such that when we divide all α a s by λ, the dual solution becomes feasible, i.e. Shows λ-approximation
Factor Revealing Program
Factor Revealing Program WLOG Metric inequality: Cycle inequality: 2-Cycle inequality: Increase α at same rate:
Factor Revealing Program Optimization program: Approximation factor:
Constrained Lane Covering Problem Greedy algorithm has an approximation ratio of at most Greedy algorithm with k = 3 has an approximation ratio of at most
Tight Example 0 c a Cost optimal cycle cover: abc + abc b d Cost greedy cycle cover: aa + bbd + cc + cc
Greedy Heuristic Implementation Heap Challenge: Huge number of feasible cycles (deadheading) Ratio Cycle
Cycle Generation Observation: A single cycle in the underlying digraph gives rise to many different cycles for the greedy heuristic because arcs may be used to cover a lane or as a deadhead
Cycle Generation Pragmatic Approach Distinguish between short deadheads and long deadheads Generate all cycles with at most one long deadhead Employ local search to merge cycles and create cycles with more than one long deadhead
Cycle Generation Short deadhead: length R Long deadhead: length > R Generate cycles with at most one long deadhead R R Search for origins of next lanes within a circle of radius R from the destination of the last lane (k-d trees) Base arc long deadhead R
Cycle Generation deadhead Forward Search base path base arc Backward Search
Local Improvement A cycle with two long deadheads
Local Improvement Find all combinations of cycles that can feasibly be merged and compute the improvement Solve a bipartite matching problem to find the optimal set of merges
Computational Results npts nlns nclst nclpts Tgen Theur Ratio Generated Selected Tlocal Ratio npairs nmerges 300 1500 0 0 0.34 0.15 0.7287 81,712 748 0.15 0.8271 11640 239 300 1500 3 30 5.26 2.99 0.7439 1,094,411 726 2.99 0.8355 10087 227 300 1500 7 75 43.69 28.25 0.7532 7,844,702 704 28.25 0.8301 8378 200 500 2500 0 0 0.93 0.39 0.7347 198,175 1251 0.39 0.8428 29753 404 500 2500 5 50 10.24 5.38 0.7418 1,900,624 1188 5.38 0.8456 28747 375
Variant Given A digraph D=(N,A) Travel times t (v,w) for each arc (v,w) A Lane set L A Dispatch time window [e v,f v ] for each arc (v,w) L Find A set of simple directed cycles covering all arcs in L of minimum total duration Duration= time of return to origin of first lane - dispatch time at origin of first lane Effectiveness of a cycle C =
Cycle Generation Goal: Generate feasible cycles with minimum duration (minimum waiting time) Feasibility: A cycle must be completed within the planning period, say a week, and must satisfy dispatch time window constraints Allow wrap-around cycles, e.g. Thursday Tuesday If a cycle (l 1,l 2,,l k ) starting from lane l 1 is feasible then it is also feasible starting from any lane l 2 to l k. Optimality: The minimum amount of waiting time along a feasible cycle given a starting point is achieved when departing as late as possible.
Constructing Feasible Cycles time period 1 arrival < departure 5 4 3 2 1 Earliest departure time Earliest departure time with minimum waiting Key: keep track of the earliest departure time resulting in minimum waiting time along the path
Origin of cycle Observations: The duration of a cycle depends on the lane that is executed first duration duration
Origin of Cycle 1 5 Maximum waiting time if lane 1 is the first on the cycle 4 3 2 1
Origin of Cycle 1 5 4 3 2 E Maximum waiting time if lane 5 is the first on the cycle 1 E Find earliest departure time E of path from 1 to 5 with minimum waiting time Find latest departure time of path from 1 to 5 arriving at 1 at or before E
Local Improvement Earliest and latest departure with minimum waiting along the path Earliest and latest departure with minimum waiting along the path Key: We can view each path as a single lane with dispatch window defined by the earliest and latest departure time with minimum waiting along the path
Computational Results Consortium of tire companies Inbound + outbound truckload transportation Estimated annual savings: $ 500,000
Stable Cost Allocation Does there exist a cost allocation α such that: The total payment collected from the shippers is equal to the total cost of covering all the lanes No group of shippers would be better off if they decided to opt out and collaborate only among themselves cost recovery competitiveness
Stable Cost Allocation A Cost of each lane = 1 Total cost without collaboration = 6 Total cost with collaboration = 4 If blue + green collaborate, their total cost = 2 If blue + green collaborate, their total cost = 2 B Is an allocation of 4/3 per lane stable? Payment(blue + green) = 8/3 > 2 Payment(red + green) = 8/3 > 2 NO
Stable Cost Allocation? Primal problem Dual problem
Cost Allocation From Dual Payment that is allocated for covering lane (i,j) L Then Budget: Stable:
Cost Allocation From Dual Given any S L, let (l S,y S ) be the optimal dual solution for the associated linear program LP(S) Note that the optimal solution (l,y) to the original dual when restricted to S is feasible for LP(S)
Fair Cost Allocation Is this solution fair? By complementary slackness: If a lane is traversed more than once the cost allocated to that lane is 0
Stable Cost Allocation A Cost of each lane = 1 Total cost w/o collaboration = 6 Total cost with collaboration = 4 The only stable cost allocation: Green lane pays 0 Blue and red lanes pay 2 B Is this a fair cost allocation?
Cross Monotonic Allocations No shipper will be worse off if the size of the collaborative network is increased The dual-based cost allocation is not cross monotonic There does not exist a cross monotonic A allocation in the core A B Payment(green) = 1 Payment(blue) = 1 B Payment(green) = 0 Payment(blue) = 2 Payment(red) = 2
Cross Monotonic Allocations There does not exist a cross monotonic allocation which recovers more than ½ of the total cost Add more lanes from A to B Cost of each edge goes to 2 Can allocate at most 1 to each edge ½ is a tight bound since allocating the one way cost of each lane to that lane covers ½ of the total cost.
Buyer Collaborations 3 Warehouses A, B, C A 3 Retailers 1, 2, 3 1 2 2 Replenishment cost equal to distance traveled Trucks stationed at warehouses can visit at most two retailers on a trip B 3 C
Buyer Collaborations Assume: Collaborators share cost reduction equally A Retailer 1 & 2 collaborate: 3,3 Retailer 3 by itself: 4 1 2 2 Total cost retailer 2 & 3: 7 If retailer 2 & 3 collaborate: 6 B 3 C Retailer 2 & 3 collaborate: 2.5,3.5 Retailer 1 by itself: 4 Total cost retailer 1 & 3: 7.5 If retailer 1 & 3 collaborate: 6
Buyer Collaborations Cost allocations & Collaborator gains Stage R1 R2 R3 Gain 1 3 3 4 2 4 2.5 3.5 1 3 3.25 4 2.75 1.5 4 2.625 3.375 4 1.25 5 4 2.6875 3.3125 1.375
Buyer Collaborations A No stable cost allocation recovering all the costs exists 1 2 2 Minimum & maximum values of gains over time? B 3 C Contract design: exit penalties
Buyer Collaborations Cost allocations 4 3.8 3.6 3.4 3.2 Retailer 1 Retailer 2 Retailer 3 3 2.8 2.6 2.4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Buyer Collaborations Sorted cost allocations 4 3.8 3.6 3.4 3.2 Smallest allocation Middle allocation Largest allocation 3 2.8 2.6 2.4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Buyer Collaborations Gains 1.6 1.5 1.4 1.3 Gains 1.2 1.1 1 0.9 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Buyer Collaborations The observed continually changing collaborations relies on the ability of participants to obtain knowledge about the costs experienced by other participants The ability to compute the value of a collaboration In practice changing collaborations can be costly Requires sharing of information Requires secure mechanisms of data exchange Requires implementation of gain sharing mechanisms
Approximate Competitiveness Can one find a cost allocation such that the incentive for participants to break away is not too large? The ε-core Does such an ε always exist? Is it possible to compute the minimum ε efficiently?
Approximate Competitiveness Can one find a cost allocation such that the incentive for small groups of participants to break away is not too large? Does such a k exists? Is it possible to compute the maximum k efficiently?
Approximate Cost Recovery Can one find a cost allocation that recovers the largest fraction of the total cost? What is the complexity of finding such a cost allocation?
Shipper-Carrier Collaborations B 1 D 3 C 3 Carrier 2 4 Current solution: AB: 8 (C1) CD: 5.12 (C2) E DE: 5.12 (C2) A Carrier 1 Improved solution: AB: 5.38 (C1) CD: 6 (C2) DE: 4.03 (C1)
Shipper-Carrier Collaborations Is it possible to reduce system cost by collaborating? What is the potential value of collaborating? Potential value of collaborating is
Shipper-Carrier Collaborations Can the potential value of collaborating be realized? Who should collaborate? Will such collaborations happen naturally? How should the gains be shared? The system optimal solution will not make Carrier 2 and Shipper 2 happy
Shipper-Carrier Collaborations If it is impossible to realize all of the potential benefits, how much of the benefits can be realized? What information do shippers and carriers need to have access to in order to be able to determine if collaborating can reduce system costs?