Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Optimization Algorithms for Meal Delivery Operations

4,862 views

Published on

How should online meal delivery services assign meal orders to delivery drivers? Let's explore some ideas.

Published in: Engineering
  • I have barely snored at all! My girlfriend was starting to put pressure on me to have an operation to stop my snoring, but to be totally honest I was scared stiff. I've heard some horror stories and there was no way I wanted to take on that risk. Then I found your website and since putting your techniques into practice I have barely snored at all. My girlfriend can't believe how effective this has been. ➤➤ http://ishbv.com/snoringno/pdf
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • ➤➤ How Long Does She Want You to Last? Here's the link to the FREE report ◆◆◆ https://tinyurl.com/rockhardxx
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • ♣♣ 10 Easy Ways to Improve Your Performance in Bed...  https://tinyurl.com/rockhardxxx
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Optimization Algorithms for Meal Delivery Operations

  1. 1. Optimization Algorithms for Meal Delivery Operations Damian Reyes, Martin Savelsbergh, Alan Erera School of Industrial and Systems Engineering, Georgia Tech TSL Conference 2017 – Chicago, July 2017
  2. 2. What to remember 1. Dynamic order-to-driver assignment and sequencing for meal delivery with contractor drivers effectively managed with repeated assignment model approach 2. Smart driver capacity management using LP-based shift scheduling model creates substantial benefit 3. Strategies still needed for unassigned contractor driver movement management to mitigate impacts of driver drainage
  3. 3. Dynamic meal delivery operations • Restaurant aggregators provide order management, payment, and delivery services • Single delivery fleet • Customers order online, then receive delivery of prepared meals to home, business locations • Lunch, dinner • Demand highly dynamic and stochastic, with high service expectations • Very few advance orders • Some predictable variation by time-of-day, day-of-week • Some less predictable variation with events, weather • Fastest ``click-to-door” service requirement in last-mile logistics systems
  4. 4. Research partner: Daily Order Volumes: Market A: 1,300 – 3,200 Market B: 500 – 1,200
  5. 5. What to remember 1. Dynamic order-to-driver assignment and sequencing for meal delivery with contractor drivers effectively managed with repeated assignment model approach 2. Smart driver capacity management using LP-based shift scheduling model creates substantial benefit 3. Strategies still needed for unassigned contractor driver movement management to mitigate impacts of driver drainage
  6. 6. Dynamic order-to-driver assignment and sequencing problem • Orders • Origin restaurant • Placement time (“click” time) • Planned (actual) meal ready time • Size, items, cost, customer ID, etc. • Drivers • Shift start time • Shift end time • Start location • Objective metrics, while delivering all orders: • Manage click-to-door time (total wait) • Manage ready-to-door time (meal freshness) • Manage driver compensation/utilization
  7. 7. Primary service metrics • Click-to-door vs. target • total wait time • Ready-to-door vs. target • meal freshness order placement target delivery time actual delivery time order ready time target delivery time actual delivery time earliest possible delivery time • function of ready time? • function of earliest possible delivery time? • function of placement time? • function of placement time and restaurant? • function of placement time and restaurant and time of day?
  8. 8. Order-to-driver assignment and sequencing problem • Challenges • Order placements and placement times unknown in advance • Order ready times predictable, but uncertain • Bundled deliveries necessary and cost-efficient when order traffic grows • Unassigned driver locations not static and hard to control (including clock-in location) • Driver compensation scheme allows order assignments to be rejected (with limits)
  9. 9. Repeated assignment for meal-to-driver assignment and sequencing problem today’s orders begin time today’s orders end Every few minutes: • Solve assignment model with known, unassigned orders and all drivers • Commit to some assignments, and notify drivers current time unassigned order
  10. 10. Base maxweight assignment model • Every minutes solve assignment: • Resources: one for each driver, including those currently assigned to other work • Tasks: orders projected to become ready within a time horizon, sometimes bundled into multi-order trips • Assignment values: weighted sum • Penalty for pickup lateness • Number (or business value) of orders delivered per occupied driver time All drivers Upcoming orders partitioned value of driver – order assignment ⌧
  11. 11. Assignment values: tradeoff • Customer service versus driver utilization arrival time at restaurant driver Driver 1: Long travel time & wait at restaurant Driver 2: Short travel time & longer click- and ready-to-door order ready time driver
  12. 12. Commitment strategies • Full commitment • If assigned driver can arrive to restaurant and all assigned orders ready before next optimization run • Partial commitment • If driver is ready now but not all orders ready, move driver to restaurant • Lazy: reassign orders (add/drop) after arrival to restaurant • Additive: only add orders • No commitment • If driver not ready to move before next optimization run arrival time at restaurant time t + τtime t driver order ready times o1 o2 o3
  13. 13. Building order bundles: tradeoffs • Customer service versus driver utilization order ready times • Order bundles increase driver utilization, and reduce driver compensation costs • Order bundles increase click-to-door, ready-to-door times restaurant o2 o3 driver route • Bundled order delivery sequences that maximize driver utilization may disproportionately affect service to some orders o1 o1 o2 o3
  14. 14. Dynamic batch size targets 𝑍" = # 𝑜𝑟𝑑𝑒𝑟𝑠 𝑟𝑒𝑎𝑑𝑦 𝑖𝑛 Δ0 𝑚𝑖𝑛𝑢𝑡𝑒𝑠 # 𝑑𝑟𝑖𝑣𝑒𝑟𝑠 𝑎𝑣𝑎𝑖𝑙𝑎𝑏𝑙𝑒 𝑖𝑛 Δ7 𝑚𝑖𝑛𝑢𝑡𝑒𝑠
  15. 15. Bundle generation heuristic • Initialize target number of empty bundles • Add orders to bundles using parallel insertion to minimize weighted sum: • Bundle route travel time • Order delays given target click- to-door times • Improvement via REINSERT neighborhood search
  16. 16. Sample results illustrating performance • Simulation environment • Full-day instances from a Grubhub market (e.g. Chicago) • Order dynamics • Order becomes known at placement (click) time, with forecasted ready time • Ready time becomes known only at actual order ready time • Simplified estimates of travel times, parking times, deliver times, etc. • Results • Tuned automated algorithms provide good order assignment results • Primary service metrics similar to historical results given newest Grubhub production dispatching algorithm w/ manual overrides
  17. 17. Sample results illustrating performance Count % minutes vs default algorithm Settings Undelivered orders Click-to-Door Ready-to-Door Ready-to-Pickup Default 2.52 1.00 1.00 1.00 Fixed bundle target size 1 23.68 1.05 1.07 1.36 Single-stage commitment 35.15 1.20 1.31 1.96 Two-stage lazy non-additive commitment 2.71 1.00 1.00 1.02 No priority groups 1.55 0.97 0.96 0.92
  18. 18. Finding better solutions? • Multiple-restaurant bundles, with pickups at two (or more) restaurants before delivery • Useful for restaurant “neighbors” • Packing formulation with each order appearing in potentially many bundles • Building relatively small number of bundles that “pack well”: partitions of larger bundles • Follow-on bundles, with drivers assigned to sequential P-D tasks • Attempt to avoid assigning extra unnecessary drivers into a restaurant “area” when fewer drivers would suffice
  19. 19. What to remember 1. Dynamic order-to-driver assignment and sequencing for meal delivery with contractor drivers effectively managed with repeated assignment model approach 2. Smart driver capacity management using LP-based shift scheduling model creates substantial benefit 3. Strategies still needed for unassigned contractor driver movement management to mitigate impacts of driver drainage
  20. 20. Driver shift scheduling problem • How many drivers to have on duty in market/zone at a given time? • Activity Profile • At any time during a day, how many drivers were busy with active work, including: • Driving to a restaurant for a pickup • Waiting at a restaurant for assigned orders to become ready • Making deliveries of assigned orders • Waiting for next assignment
  21. 21. Generating scaled activity profiles • Scaled Activity Profile • An estimate of the number of drivers who should be on duty at a given time to effectively serve demand • A posteriori optimization generation from order day instances • Select a set of full-day scenarios, all orders known in advance • Solve a pickup-and-delivery problem with time windows • Blend and scale resultant activity profiles
  22. 22. Generating scaled activity profiles • PDPTW approach • Time window for each order: [ready, max(ready+30, travel+15)] • Large driver fleet at dummy depot • Minimize total vehicles dispatched and travel cost • Solve with Pisinger-Ropke [07] ALNS • Determine activity profile for each solution • Blend, then scale up • Average, %-ile, max Thursday, April 9 2015 Thursday, April 16 2015
  23. 23. Driver shift covering problem • Given: • Activity profile • Valid shift start times (e.g. every 30 min) and durations (e.g. 4 or 5.5 hours) • Find: • A shift schedule such that at any time there are enough drivers working to cover the scaled activity level • Objective: • Minimize total costs (e.g. number of shifts, total shift-hours)
  24. 24. Driver shift covering: an IP with integral extreme points • Shift k cost: duration: drivers required: • Decision: shifts of type k to begin at time t • Constraint matrix is interval matrix => TUM => integer extreme points • Solve with LP min X k,t ckxt k X k X ⌧i `kt<⌧i xt k a(⌧i 1) 8 i = 1, ..., n ck `k a(⌧) xt k
  25. 25. Example driver scheduling approach • “Perfect hindsight” approach • Choose a full-day instance from Grubhub • Find activity profile using ALNS for PDPTW • Find driver schedule by iteratively scaling activity profile and solving the shift covering LP, until roughly the same number of driver hours result • Start times possible every 15 mins; durations 90, 120, 180, 240 • Given final shifts, simulate performance by re-running order assignment for the instance
  26. 26. Example driver scheduling results Count % minutes vs default algorithm Settings Undelivered orders Click-to-Door Ready-to-Door Ready-to-Pickup Default algorithm with historical shifts 2.52 1.00 1.00 1.00 Flexible shifts (with perfect hindsight) 0.29 0.93 0.89 0.80 • Driver shifts are quite important for performance • Role of unscheduled drivers…
  27. 27. What to remember 1. Dynamic order-to-driver assignment and sequencing for meal delivery with contractor drivers effectively managed with repeated assignment model approach 2. Smart driver capacity management using LP-based shift scheduling model creates substantial benefit 3. Strategies still needed for unassigned contractor driver movement management to mitigate impacts of driver drainage
  28. 28. Managing delivery drivers in practice • Two types in practice • Scheduled: should come on-duty roughly when scheduled, and in somewhat predictable locations • Unscheduled: less predictable appearance, turn on/off availability frequently during day • Drivers need not accept all orders offered to them • Driver movements between assigned trips difficult to control
  29. 29. Driver drainage: cluster into high demand areas area with high order placement rate area with low order placement rate Once a driver is assigned a delivery in the area with high order placement rate, the driver is likely to no longer to accept a delivery in the area with low order placement rate
  30. 30. Driver drainage: cluster into high demand areas area with high order placement rate area with low order placement rate Once a driver is assigned a delivery in the area with high order placement rate, the driver is likely to no longer to accept a delivery in the area with low order placement rate Possible solution: Introduce regions and restrict drivers to operating in a pre-assigned region
  31. 31. Driver drainage: cluster into high demand areas Possible solution: Introduce regions and restrict drivers to operating in a pre-assigned region • How many regions should there be? • Should regions overlap? How to handle orders placed at restaurants in multiple regions? • What is the ideal size/shape of a region?
  32. 32. What to remember 1. Dynamic order-to-driver assignment and sequencing for meal delivery with contractor drivers effectively managed with repeated assignment model approach 2. Smart driver capacity management using LP-based shift scheduling model creates substantial benefit 3. Strategies still needed for unassigned contractor driver movement management to mitigate impacts of driver drainage

×