Vehicle Routing for Food Rescue Programs: A comparison of different approaches

Similar documents
Constraint-based solution methods for vehicle routing problems

Column Generation Method for an Agent Scheduling Problem

Connections in Networks: A Hybrid Approach

Outline. Optimales Recycling - Tourenplanung in der Altglasentsorgung

A Steady-State Genetic Algorithm for Traveling Salesman Problem with Pickup and Delivery

Large Neighborhood Search For Dial-a-Ride Problems

Vehicle Routing Heuristic Methods

Recursive column generation for the Tactical Berth Allocation Problem

Multiple Depot Vehicle Routing Problems on Clustering Algorithms

56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998

Connections in Networks: A Hybrid Approach

Two models of the capacitated vehicle routing problem

Building Ride-sharing and Routing Engine for Autonomous Vehicles: A State-space-time Network Modeling Approach

Multiple-Depot Integrated Vehicle and Crew Scheduling

Improving the Held and Karp Approach with Constraint Programming

Using Column Generation for the Pickup and Delivery Problem with Disturbances

Column Generation Based Primal Heuristics

Computational Complexity CSC Professor: Tom Altman. Capacitated Problem

3 INTEGER LINEAR PROGRAMMING

Graph Coloring via Constraint Programming-based Column Generation

A SIMULATED ANNEALING ALGORITHM FOR SOME CLASS OF DISCRETE-CONTINUOUS SCHEDULING PROBLEMS. Joanna Józefowska, Marek Mika and Jan Węglarz

AN EXACT ALGORITHM FOR A LOCATION-ROUTING PROBLEM. Martine Labbé 1, Inmaculada Rodríguez Martín 2, Juan José Salazar González 2

Lagrangian Relaxation in CP

A Row-and-Column Generation Method to a Batch Machine Scheduling Problem

The Vehicle Routing Problem with Time Windows

The Augmented Regret Heuristic for Staff Scheduling

LEAST COST ROUTING ALGORITHM WITH THE STATE SPACE RELAXATION IN A CENTRALIZED NETWORK

An Efficient Heuristic for the Multi-Vehicle One-to-One Pickup and Delivery Problem with Split Loads

Manpower Planning: Task Scheduling. Anders Høeg Dohn

Modeling and Solving Location Routing and Scheduling Problems

A simulated annealing algorithm for the vehicle routing problem with time windows and synchronization constraints

Part 4. Decomposition Algorithms Dantzig-Wolf Decomposition Algorithm

Optimal Crane Scheduling

Unit.9 Integer Programming

Algorithms for Integer Programming

Branch-price-and-cut for vehicle routing. Guy Desaulniers

Branch-Cut-and-Price solver for Vehicle Routing Problems

Agenda. Understanding advanced modeling techniques takes some time and experience No exercises today Ask questions!

Decision Diagrams for Solving Traveling Salesman Problems with Pickup and Delivery in Real Time

Solving Large Aircraft Landing Problems on Multiple Runways by Applying a Constraint Programming Approach

The Split Delivery Vehicle Routing Problem with Time Windows and Customer Inconvenience Constraints

Methods and Models for Combinatorial Optimization Modeling by Linear Programming

PICKUP AND DELIVERY WITH TIME WINDOWS: ALGORITHMS AND TEST CASE GENERATION. School of Computing, National University of Singapore, Singapore

A Case Study on Earliness/Tardiness Scheduling by Constraint Programming

A Generic Separation Algorithm and Its Application to the Vehicle Routing Problem

A Branch-and-Cut Algorithm for the Non-Preemptive Capacitated Swapping Problem

Fundamentals of Integer Programming

Crew Scheduling Problem: A Column Generation Approach Improved by a Genetic Algorithm. Santos and Mateus (2007)

In the classical vehicle-routing problem (VRP) the objective is to service some geographically scattered customers

A Computational Study of Bi-directional Dynamic Programming for the Traveling Salesman Problem with Time Windows

Assignment 3b: The traveling salesman problem

A Column Generation Framework for Berth Scheduling at Port Terminals

A Course on Meta-Heuristic Search Methods for Combinatorial Optimization Problems

Efficient Synthesis of Production Schedules by Optimization of Timed Automata

Simulation. Lecture O1 Optimization: Linear Programming. Saeed Bastani April 2016

A Branch-and-Cut Algorithm for the Non-Preemptive Capacitated Swapping Problem

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Large-Scale Optimization and Logical Inference

Incremental Management of Oversubscribed Vehicle Schedules in Dynamic Dial-A-Ride Problems

The Pickup and Delivery Traveling Salesman Problem with First-In-First-Out Loading

Theorem 2.9: nearest addition algorithm

Developing Constraint Programming Applications with AIMMS

An Exact Algorithm for the Inventory Routing Problem with Logistic Ratio

Solution Methods for the Multi-trip Elementary Shortest Path Problem with Resource Constraints

Index. optimal package assignments, 143 optimal package assignments, symmetrybreaking,

Variable Neighborhood Search for the Dial-a-Ride Problem

Dynamic programming for the orienteering problem with time windows

Linear and Integer Programming :Algorithms in the Real World. Related Optimization Problems. How important is optimization?

Outline. No Free Lunch Theorems SMTWTP. Outline DM812 METAHEURISTICS

A Comparison of Mixed-Integer Programming Models for Non-Convex Piecewise Linear Cost Minimization Problems

Lagrangean relaxation - exercises

Heuristics in MILP. Group 1 D. Assouline, N. Molyneaux, B. Morén. Supervisors: Michel Bierlaire, Andrea Lodi. Zinal 2017 Winter School

TMA946/MAN280 APPLIED OPTIMIZATION. Exam instructions

56:272 Integer Programming & Network Flows Final Exam -- December 16, 1997

On the selection of Benders cuts

TIM 206 Lecture Notes Integer Programming

Principles of Optimization Techniques to Combinatorial Optimization Problems and Decomposition [1]

Algorithms for Network Design and Routing Problems

An Efficient MILP Model for the Short-Term. Scheduling of Single Stage Batch Plants

15.082J and 6.855J. Lagrangian Relaxation 2 Algorithms Application to LPs

7KH9HKLFOH5RXWLQJSUREOHP

A Parallel Architecture for the Generalized Traveling Salesman Problem

The goal of this paper is to develop models and methods that use complementary

Course Summary! What have we learned and what are we expected to know?

Routing by Mixed Set Programming

A Note on the Separation of Subtour Elimination Constraints in Asymmetric Routing Problems

2 The Service Provision Problem The formulation given here can also be found in Tomasgard et al. [6]. That paper also details the background of the mo

A NEW HEURISTIC ALGORITHM FOR MULTIPLE TRAVELING SALESMAN PROBLEM

A Meta-heuristic Applied for a Topologic Pickup and Delivery Problem with Time Windows Constraints

Algorithms and Experimental Study for the Traveling Salesman Problem of Second Order. Gerold Jäger

A Branch-and-Cut Algorithm for the Non-Preemptive Swapping Problem

Modelling of LP-problems (2WO09)

Adjusted Clustering Clarke-Wright Saving Algorithm for Two Depots-N Vehicles

15-780: Problem Set #2

Improved Filtering for Weighted Circuit Constraints

A Lagrangian heuristic for a real-life integrated planning problem of railway transportation resources

Integer Programming. Xi Chen. Department of Management Science and Engineering International Business School Beijing Foreign Studies University

A mixed integer program for cyclic scheduling of flexible flow lines

SOLVING VEHICLE ROUTING PROBLEM WITH SIMULTANEOUS PICKUP AND DELIVERY WITH THE APPLICATION OF GENETIC ALGORITHM

Variants of the Adaptive Large Neighborhood Search for the Inventory Slack Routing Problem

Transcription:

Vehicle Routing for Food Rescue Programs: A comparison of different approaches Canan Gunes, Willem-Jan van Hoeve, and Sridhar Tayur Tepper School of Business, Carnegie Mellon University 1 Introduction The 1-Commodity Pickup and Delivery Vehicle Routing Problem (1-PDVRP) asks to deliver a single commodity from a set of supply nodes to a set of demand nodes, which are unpaired. That is, a demand node can be served by any supply node. In this paper, we further assume that the supply and demand is unsplittable, which implies that we can visit each node only once. The 1-PDVRP arises in several practical contexts, ranging from bike-sharing programs in which bikes at each station need to be redistributed at various points in time, to food rescue programs in which excess food is collected from, e.g., restaurants and schools, and redistributed through agencies to people in need. The latter application is the main motivation of our study. Pickup and delivery vehicle routing problems have been studied extensively; see, e.g., Berbeglia et al. [1] for a recent survey. However, the 1-commodity pickup and delivery vehicle routing problem (1-PDVRP) has received limited attention. When only one vehicle is considered, the problem can be regarded as a traveling salesman problem, or 1-PDTSP. For the 1-PDTSP, different solution methods have been proposed, including [3, 4]. On the other hand, the only paper that addresses the 1-PDVRP is by Dror, Fortin, and Roucairol [2], to the best of our knowledge. Dror et al. [2] present different approaches, including MIP, CP and Local Search, which are applied to instances involving up to nine locations. The main goal of this work is to compare off-the-shelf solution methods for the 1-PDVRP, using state-of-the-art solvers. In particular, how many vehicles, and how many locations, can still be handled (optimally) by these methods? The secondary goal of this work is to evaluate the potential (cost) savings in the context of food rescue programs. We note that the approaches we consider (MIP, CP, CBLS) are similar in spirit to those of Dror et al. [2]. Our MIP model is quite different, however. Further, although the CP and CBLS models are based on the same modeling concepts, the underlying solver technology has been greatly improved over the years. 2 Different Approaches to the 1-PDVRP 2.1 Input Data and Parameters Let the set V denote the set of locations, and let O V denote the origin (or depot) from which the vehicles depart and return. With each location i in V we

associate a number q i R representing the quantity to be picked up (q i > 0) or delivered (q i < 0) at i. The distance between two locations i and j in V will be denoted by d ij. Distance can be represented by length or time units. Let T denote the set of vehicles (or trucks). For simplicity, we assume that all vehicles have an equal volume capacity Q of the same unit as the quantities q to be picked up (e.g., pounds). In addition, all vehicles are assumed to have an equal horizon capacity H of the same unit as the distances d. 2.2 Mixed Integer Programming Our MIP model is based on column generation. The master problem of our column generation procedure consists of a set of columns S representing feasible routes. The routes are encoded as binary vectors on the index set V of locations; that is, the actual order of the route is implictly encoded. The columns are assumed to be grouped together in a matrix A of size V by S. The length of the routes is represented by a cost vector c R S. We let z {0, 1} S be a vector of binary variables representing the selected routes. The master problem can then be encoded as the following set covering model: min c T z s.t. Az = 1 (1) For our column generation procedure, we will actually solve the continous relaxation of (1), which allows us to use the shadow prices corresponding to the constraints. We let λ j denote the shadow price of constraint j in (1), where j V. The subproblem for generating new feasible routes uses a model that employs a flow-based representation on a layered graph, where each layer consists of nodes representing all locations. The new route comprises M steps, where each step represents the next location to be visited. We can safely assume that M is the minimum of V + 1 and (an estimate on) the maximum number of locations that fit in the horizon H for each vehicle. We let x ijk be a binary variable that represents whether we travel from location i to location j in step k. We further let y j be a binary variable representing whether we visit location j at any time step. The vector of variables y will represent the column to be generated. Further, variable I k represents the inventory of the vehicle, while variable D k represents the total distance traveled up to step k, where k = 0,..., M. We let D 0 = 0, while 0 I 0 Q. The problem of finding an improving route can then be modeled as presented in Figure 1. In this model, the first four sets of constraints ensure that we leave from and finish at the origin. The fifth set of constraints enforce that we can enter the origin at any time, but not leave it again. The sixth set of constraints model the flow conservation at each node, while the seventh set of constraints (the first set in the right column) prevent the route from visiting a location more than once. The following four sets of constraints represent the capacity constraints of the vehicle in terms of quantities picked up and delivered, and in terms of

min M d ij x ijk λ j y j k=1 s.t. x O,j,1 = 1 x i,j,1 = 0 i V \ {O} x i,o,m = 1 x i,j,m = 0 j V \ {O} x O,j,k = 0 j V \ {O}, k [1..M] x ijk = x j,l,k+1 j V, k [1..M 1] l V M x ijk 1 j V \ {O} \{O} k=1 I k = I k 1 + q i x ijk k [1..M] 0 I k Q k [0..M] D k = D k 1 + d ij x ijk k [1..M] 0 D k H k [0..M] M x ijk = y j j V k=1 Fig. 1. MIP model for finding an improving route. distance. The last set of constraints link together the flow variables x with the new column represented by the variables y. As noted above, throughout the iterative process, we apply a continuous relaxation of the master problem (1). When this process terminates (it reaches a fixed point, or it meets a stopping criterion), we run the master problem as an integer program. Therefore, our procedure may not provably find the optimal solution, but it does provide a guaranteed optimality gap. As a final remark, when only one vehicle is involved, the MIP model amounts to solving only the subproblem, to which the constraints are added that we must visit all locations. 2.3 Constraint Programming Our CP model is based on a well-known interpretation of the VRP as a multimachine job scheduling problem with sequence-dependent setup times. In the CP literature, this is usually modeled using alternative resources (the machines) and activities (the jobs). That is, each visit to a location corresponds to an activity, and each vehicle corresponds to two (linked) resources: one unary resource modeling the distance constraint, and one reservoir modeling the inventory of the vehicle. With each activity we associate variables representing its start time and end time, as well as a fixed duration (this can be 0 if we assume that the (un-)loading time is negligible). Further, each activity either depletes or replenishes the inventory reservoir of a vehicle. The distance between two locations is modeled as the transition time between the corresponding activities. We minimize the sum of the completion times of all vehicles. All these concepts are readily available in most industrial CP solvers. We have implemented the model in ILOG Solver 6.6 (which includes ILOG Scheduler). A snapshot of the ILOG model for a single vehicle is provided in Figure 2. It shows that the concepts presented above can almost literally be encoded as a CP model.

IloReservoir truckreservoir(reservoircapacity, 0); truckreservoir.setlevelmax(0, TimeHorizon, ReservoirCapacity); IloUnaryResource trucktime(); IloTransitionTime T(truckTime, Distances); vector<iloactivity> visit; visit = vector<iloactivity>(n); for (int i=0; i<n; i++) { visit[i].requires(trucktime); if (supply[i] > 0) visit[i].produces(truckreservoir, supply[i]); else visit[i].consumes(truckreservoir, -1*supply[i]); } class RoutingModel {... IloDimension2 _time; IloDimension2 _distance; IloDimension1 _weight;... } IloNode node( <read coordinates from file> ); IloVisit visit(node); visit.gettransitvar(_weight) == Supply); mintime <= visit.getcumulvar(_time) <= maxtime; visit.getcumulvar(_weight) >= 0); IloVehicle vehicle(firstnode, lastnode); vehicle.setcapacity(_weight, Capacity); vehicle.setcost(_distance); Fig. 2. Snapshots of the ILOG Scheduler model (left) and ILOG Dispatcher model (right), for a single vehicle. 2.4 Constraint-Based Local Search Our final approach uses Constraint-Based Local Search (CBLS). With CBLS we can express the problem similar to a CP model, which will then be used to automatically derive the neighborhoods and penalty function needed to define a local search procedure. Our CBLS is based on the semantics offered by ILOG Dispatcher (included in ILOG Solver 6.6). These semantics are specifically designed to model routing problems. ILOG Dispatcher uses the concepts nodes, vehicles, and visits. The nodes are defined by the coordinates of the locations, and contain as an attribute the amount to be picked up or delivered. The vehicles contain several attributes, including time, distance, and weight (load). Vehicles also contain, by default, a unary resource constraint with respect to time, and a capacity constraint with respect to the load, similar to the resources in ILOG Scheduler. The attributes of visits include the location, the quantity to be picked up (positive) or delivered (negative), a time window, and possibly other problem-specific constraints. In a first phase, we create a feasible solution. ILOG Dispatcher uses various heuristics for this, including a nearest-neighbour heuristic that we applied in our experiments. Where applicable, we started from the current schedule that we extracted from the data. The second phase improves upon the starting solution using various local search methods. We applied successively the methods IloTwoOpt, IloOrOpt, IloRelocate, IloCross and IloExchange. Within each method, we take the first legal cost-decreasing move encountered. 3 Evaluation Our experimental results are performed on data provided by the Pittsburgh Food Bank. Their food rescue program visits 130 locations per week. The provided data allowed us to extract a fairly accurate estimate on the expected pickup amount for the donor locations. The precise delivery amounts were unknown, and we therefore approximate the demand based on the population served by each

location (which is known accurately), scaled by the total supply. We allow the total demand to be slightly smaller than the total supply, to avoid pathological behavior of the algorithm. We note however, that although this additional slack influences the results, the qualitative behavior of the different techniques remains the same. The MIP model is solved using ILOG CPLE 11.2, while the CP and CBLS model are solved using ILOG Solver 6.6, all on a 2.33GHz Intel eon machine. The first set of instances are for individual vehicles, on routes serving 13 to 18 locations (corresponding to a daily schedule). The second set of instances group together schedules over multiple days, ranging from 30 to 130 locations. The results are presented in Figure 3. We report for each instance the cost savings (in terms of total distance traveled) with respect to the current operational schedule. Here, V and T denote the number of locations and vehicles, respectively. The optimal solutions found with MIP and CP took several (2 3) minutes to compute, while the solutions found with CBLS took several seconds or less. The time limit was set to 30 minutes. Our experimental results indicate that on this problem domain, our MIP model is outperformed by our CP model to find an optimal solution (we note that a specialized 1-PDTSP MIP approach such as [4] might perform better than our generic MIP model on the single-vehicle instances). Further, the CP model is able to find optimal solutions for up to 18 locations and one vehicle; for a higher number of locations or vehicles, the CP model is unable to find even a single solution. Lastly, the CBLS approach is able to handle large-scale instances, up to 130 locations and 9 vehicles. The expected savings are substantial, being at least 10% on the largest instance. V T MIP CP CBLS 13 1 12% 12% 12% 14 1 15% 15% 14% 15 1-7% 6% 16 1-5% 3% 18 1-16% 15% 30 2 - - 4% 60 4 - - 8% 130 9 - - 10% Fig. 3. Savings obtained with different approaches. Bibliography [1] G. Berbeglia, J.F. Cordeau, I. Gribkovskaia, and G. Laporte. Static pickup and delivery problems: A classification scheme and survey. TOP, 15(1):1 31, 2007. [2] M. Dror, D. Fortin, and C. Roucairol. Redistribution of self-service electric cars: A case of pickup and delivery. Technical Report W.P. 3543, INRIA- Rocquencourt, 1998. [3] H. Hernández-Pérez and J.J. Salazar-González. A branch-and-cut algorithm for a traveling salesman problem with pickup and delivery. Discrete Applied Mathematics, 145:126 139, 2004. [4] H. Hernández-Pérez and J.J. Salazar-González. The one-commodity pickupand-delivery traveling salesman problem: Inequalities and algorithms. Networks, 50:258 272, 2007.